Problem
The core revision contract in #6347 gives buyers immutable source identity, re-review safety, cross-seller correlation, and historical delivery attribution. It deliberately does not solve live hot-swap: a newly accepted revision follows the ordinary update lifecycle and does not keep a prior approved revision serving while review is in flight.
Some premium direct and managed-service workflows need to change legal copy or assets without either stopping delivery or minting a new creative_id that breaks the reporting join.
Proposed experimental scope
Define staged activation as a separate capability-gated extension after the core revision contract lands:
creative.supports_staged_updates implies creative.supports_revisions;
- at most one active revision and one staged revision per creative;
- the active approved revision remains the only servable revision while the staged revision is reviewed;
- approval promotes the staged revision atomically;
- rejection leaves the active revision unchanged;
- sync readback and status webhooks identify both the revision reviewed and whether it is staged;
- delivery attribution continues to report the revision that actually served.
The first release MUST be marked experimental. Revision identity remains independently implementable and does not imply staged serving orchestration.
WG decisions required
- Replacement/cancellation semantics when a second candidate arrives while one is staged.
- Promotion failure and retry behavior across review, trafficking, and serving systems.
- Observable status/webhook transitions and initiator/reason values.
- Active-package update deadlines, pause behavior, and buyer recovery actions.
- Whether promotion is immediate only or whether scheduled activation belongs in a later RFC.
Out of scope
- Multiple pending revisions
- General revision history or payload retention APIs
- Rollback APIs
- Scheduled activation
- Protocol-level content diffs
Dependency
Depends on the core immutable revision identity and re-review contract from #6347. This issue owns staged activation so that #6347 can land without committing all sellers to a serving-layer state machine.
Problem
The core revision contract in #6347 gives buyers immutable source identity, re-review safety, cross-seller correlation, and historical delivery attribution. It deliberately does not solve live hot-swap: a newly accepted revision follows the ordinary update lifecycle and does not keep a prior approved revision serving while review is in flight.
Some premium direct and managed-service workflows need to change legal copy or assets without either stopping delivery or minting a new
creative_idthat breaks the reporting join.Proposed experimental scope
Define staged activation as a separate capability-gated extension after the core revision contract lands:
creative.supports_staged_updatesimpliescreative.supports_revisions;The first release MUST be marked experimental. Revision identity remains independently implementable and does not imply staged serving orchestration.
WG decisions required
Out of scope
Dependency
Depends on the core immutable revision identity and re-review contract from #6347. This issue owns staged activation so that #6347 can land without committing all sellers to a serving-layer state machine.