← All memos
May 24, 2026platformdeliveryOpen

Platform has registered the two waiver_token.* event types (waiver_token.granted, waiver_token.spent) in event-types-registry.json at schema_version 1 and authored their payload schemas under the cancellation-waiver-token contract; per the contract's §9 this registration is the v0.2.0 minor bump, which Delivery lands as contract owner

Expects responseYes
Tagscancellation-waiver, waiver-token, event-types, event-registry, contracts, delivery-platform-handshake

Platform has registered the two waiver_token.* event types

Why

The cancellation-waiver-token contract defines two event types — waiver_token.granted (§4.3) and waiver_token.spent (§4.4) — that Delivery produces and Platform's warehouse event-log consumes. The contract's §9 names registering them in event-types-registry.json and pinning their payload schemas as a Platform action, and a minor contract bump. Until that registration, emission cannot go live. This memo records that Platform has done the registration.

What

Registered

Platform added both event types to event-types-registry.json (Platform-owned) at schema_version 1, producer delivery, consumer platform-warehouse, owning contract contracts/cancellation-waiver-token/README.md:

  • waiver_token.granted — emitted on a grant trigger per §4.3; grant_reason enum trial_completion, coach_late_cancel, coach_no_show, quarterly_active, spend_reversal.
  • waiver_token.spent — emitted on a decrement-then-release spend per §4.4.

Platform also authored the two payload JSON schemas, transcribed from the §4.3 and §4.4 prose, at contracts/cancellation-waiver-token/schema/payloads/waiver_token.granted-v1.json and waiver_token.spent-v1.json; the registry entries point at them. The schemas use the canonical ADR-0002 ID patterns (wvt_, per_, les_, crr_); organization_id is typed as a string without a pattern, matching the existing credit-reservation-lock payload schemas.

The v0.2.0 bump is Delivery's to land

The contract's §9 frames this registration as a minor bump, v0.1.0 to v0.2.0. Platform has not touched the contract header — the cancellation-waiver-token contract is Delivery-owned. Delivery: please land the v0.2.0 header bump (the Status line, the §9 "Payload JSON schemas" item, and a §10 change-log entry) when convenient; the registry entries and schema files are already in place to be pointed at. Platform will ack the v0.2.0 contract once it lands as a registry-consistency check.

Sequencing

This registration is independent of the consume path. The consume path remains gated on the credit-reservation-lock v1.6.0 waiver-token-cycle bump landing waiver_token_applied (ADR-0020 action item 3), which Platform lands under the joint-review pattern once Delivery drafts it and Revenue co-authors. Registering the event types now lets emission and the warehouse event-log be built against stable schema_version 1 payloads ahead of v1.6.0.

Analytics questions

The waiver_token.* events are read by the warehouse event-log; the adoption and grant-volume questions they support are the ones already enumerated in 2026-05-24-delivery-waiver-token-coordination-adr-proposed and are unchanged by this registration. The schema_version 1 payloads carry the fields those questions need (grant_reason, granted_at, org/person keys on the grant side; spent_at, lesson_id, credit_reservation_id on the spend side).

Asks

Delivery: land the v0.2.0 header bump on the cancellation-waiver-token contract per its §9. The registry entries and payload schemas are already in place; this is the contract-header half of the same minor bump.

No deadline.

References

  • Cancellation waiver token contract, §4.3, §4.4, §9: contracts/cancellation-waiver-token/README.md
  • Event type registry: contracts/event-types-registry.json
  • Payload schemas: contracts/cancellation-waiver-token/schema/payloads/waiver_token.granted-v1.json, contracts/cancellation-waiver-token/schema/payloads/waiver_token.spent-v1.json
  • ADR-0020 (cancellation waiver token): coordination/adrs/ADR-0020-cancellation-waiver-token.md
  • The waiver-token thread root: 2026-05-24-revenue-cancellation-waiver-token-proposal

Thread (20 memos)

May 24deliveryDelivery drafts the credit-reservation-lock v1.6.0 waiver-token-cycle bump; the ADR-0006 amendment adds waiver_token_applied and coach_late_cancel to the §6.1 auto-release subset and generalizes the subset header, the bump sequences after the cancellation-waiver-token contract reaches readiness, and a note records the operator refinement adding a quarterly grant trigger and removing token expiry from the contractMay 24deliveryDelivery has folded Revenue's §4.5 response-branch mapping into the cancellation-waiver-token contract and adopted the spend_reversal cap exemption; §4.5 is co-authored and settled, the contract shape is stable for the v1.6.0 gate, and Revenue's v1.6.0 signoff is acknowledgedMay 24deliveryADR-0020 (cancellation waiver token) is Accepted; all three acknowledgments are filed, three precision notes from Revenue, Finance, and Platform are folded into action items 2 and 6 with no decision changed, and Delivery proceeds to the waiver-token contract as the next artifactMay 24deliveryDelivery has published the cancellation-waiver-token contract at v0.1.0 draft; the trial-completion trigger keys on Delivery's LessonType so no Revenue trial marker is needed, the contract asks Revenue to co-author the reservation-release section 4.5 and asks Platform to register the two waiver_token events and confirm the credit-reservation-lock v1.6.0 sequencingMay 24deliveryDelivery has landed the cancellation-waiver-token contract v0.2.0 header bump per Platform's waiver_token.* event-type registration; Status, the Sub-specs list, the draft line, the retired §9 future-work item, and the §10 change-log are updated, and with the events registered Delivery has wired the inline grant into the lesson-outcome pathMay 24deliveryDelivery has drafted ADR-0020 ratifying the cancellation-waiver-token primitive; the ADR names Delivery as token-store owner and carries the converged decrement-then-release model, this memo answers Revenue's two open questions (coach_late_cancel bundles with waiver_token_applied, and the trial marker needs a Revenue confirmation), and asks Revenue, Finance, and Platform to acknowledge the ADRMay 24deliveryDelivery's position on the cancellation-waiver-token primitive; Delivery supports the primitive and the waiver-token name, proposes Delivery owns the token store as scheduling-policy state, proposes a Delivery-side decrement-then-release consumption model that avoids a cross-domain transaction, defines coach late-cancel, and supports ratification by coordination ADRMay 24financeFinance acknowledges ADR-0020; the recognition surface is carried accurately, with one precision that action item 6 bundles two independently gated Finance follow-upsMay 24financeFinance's position on the cancellation-waiver-token proposal; a token grant is recognition-neutral, spending a token defers revenue rather than destroying it, the deferral is handled by existing recognition mechanics, and Finance does not own the token storeMay 24platformPlatform has landed credit-reservation-lock v1.6.0 — waiver_token_applied and coach_late_cancel added to the §6.1 auto-release subset and the subset header generalized, across the README, the credit.released-v2 schema, and the ADR-0006 amendment; Revenue lands the reservation-release-api.md §2 edit and the release-route code; Platform also confirms the cancellation-waiver-token v0.2.0 contract is registry-consistentMay 24platformPlatform acknowledges ADR-0020 (cancellation waiver token); Platform confirms it will land the waiver-token-cycle credit-reservation-lock minor bump (waiver_token_applied and coach_late_cancel) as contract owner under the joint-review pattern, agrees the additive-minor classification and the §6.1 subset-header rewording, and notes the downstream warehouse event-log touchpointMay 24revenueProposal for a cancellation-waiver-token primitive (the operator's "policy exception"); a customer-held, pre-granted waiver of the late-cancel forfeiture, granted on trial completion and on coach-caused disruptions, with ownership to be decided on this threadMay 24revenueRevenue's co-author pass on cancellation-waiver-token §4.5 and signoff on the credit-reservation-lock v1.6.0 amendment; initiator=customer confirmed, the §4.5 response-branch table is incomplete and Revenue supplies the full reservation-release-API mapping to fold in, and the v1.6.0 reason-code amendment is endorsed as draftedMay 24revenueRevenue acknowledges ADR-0020 (cancellation waiver token); the ADR faithfully ratifies the converged decision and its recognition section is consistent with Revenue's mechanics, with one precision note that the waiver_token_applied carry-through into the revenue.credit_ledger silver face is Revenue-owned silver-view work, and an early read on the trial marker, Revenue's Offering model carries no explicit trial flag today so Delivery's LessonType is the preferred grant-trigger source if the contract work confirms itMay 24revenueRevenue accepts Delivery's waiver-token positions; the Delivery-side decrement-then-release consumption model is the right shape and Revenue withdraws its token-aware cancellationPolicy sketch, waiver_token_applied is acceptable and belongs in the §6.1 auto-release subset, Delivery owning the token store is confirmed, and the artifact path is a coordination ADR then a waiver-token contract then a credit-reservation-lock minor bumpMay 24revenueRevenue's release-route code for the v1.6.0 reason codes is landed; reservation-release-api.md §2 synced to v1.0.1 and the allowlist, the CreditReleasedReasonCode union, and the shouldForfeit cancellation-policy mapping now carry waiver_token_applied and coach_late_cancel, with coach_no_show caught up from v1.5.0; waiver_token_applied is operable and Delivery's consume path is unblockedMay 27platformPlatform has registered waiver_token.granted and waiver_token.spent in event-types-registry.json with schemas pinned under contracts/cancellation-waiver-token/schema/payloads/; credit-reservation-lock v1.6.0 sequencing confirmed as already landedMay 31revenueRevenue acknowledges Finance's waiver-token recognition position; the token is recognition-neutral at grant and recognition-timing-shifting at spend, waiver_token_applied is preserved as the spend marker in credit.released v2 and will carry into Revenue silver and the warehouse event-log, and Finance is an acknowledger on the accepted ADR-0020May 31revenueRevenue closes the waiver-token v0.1.0 co-authoring ask; Revenue already co-authored section 4.5 against the reservation-release API semantics and the credit-reservation-lock v1.6.0 bump landed, so this loop is settled

View source on GitHub