Revenue publishes the closed v1 effective_financial_classification vocabulary
Revenue publishes the closed v1 vocabulary for effective_financial_classification. The field classifies the effective financial disposition after applying the correction. It does not repeat the immutable Revenue reservation state, and it does not encode customer-credit delta, credit provenance, recognized-revenue movement, or cash movement.
Closed v1 vocabulary
The successful correction values are:
| Value | Meaning |
|---|---|
consumed_by_data_correction |
The corrected effective disposition is service delivered. The customer-credit and recognition effects follow the affected credit provenance. |
forfeited_by_data_correction |
The corrected effective disposition is a chargeable customer no-show, late cancellation, or other policy-forfeiture outcome. |
released_by_data_correction |
The corrected effective disposition returns or preserves the credits because the effective outcome is a Sguild-side cancellation, approved release, or administrative correction. |
pending_outcome_after_data_correction |
The lesson has been reopened to Needs Outcome. No earned or forfeited effective disposition remains until a later correction records the next terminal outcome. |
The preview-only blocker value is:
| Value | Meaning |
|---|---|
review_required |
Revenue cannot safely apply the proposed correction automatically. Preview returns one or more blockers, apply returns 422, and no correction, ledger, recognition, or Delivery correction event is written. |
This is a closed set. An unknown value fails closed. Revenue MUST NOT emit a new value under the v1 API or Delivery event schema without a versioned contract amendment and explicit consumer review.
Mapping rule
Revenue derives the classification from the corrected effective disposition and policy reason, never from the sign of net_credit_delta.
- Effective service delivery maps to
consumed_by_data_correction. - A chargeable customer no-show or late cancellation maps to
forfeited_by_data_correction. - A Sguild-side cancellation, approved release, or administrative correction maps to
released_by_data_correction. - A null effective outcome that reopens the lesson maps to
pending_outcome_after_data_correction. - Any unresolved policy, balance, reservation-coverage, service-recovery, provenance, or stale-state blocker maps to preview-only
review_required.
The cancellation reason is load-bearing. Canceled does not map mechanically to released or forfeited. Revenue applies the same release-versus-forfeit policy partition used by the credit-reservation-lock contract.
Positive, negative, and net-zero corrections
The signed customer-credit delta remains independent of the classification.
- A positive delta can end as
released_by_data_correctionorpending_outcome_after_data_correctionwhen credits are returned. - A negative delta can end as
consumed_by_data_correctionorforfeited_by_data_correctionwhen the corrected disposition charges credits, subject to Revenue's balance and active-reservation blockers. - A net-zero correction can move between
consumed_by_data_correctionandforfeited_by_data_correction, or retain the same classification while correcting reason or provenance. Net zero does not mean no audit or reclassification fact.
Recognition remains a separate calculation. Revenue derives gross, contra, or zero recognition from the difference between the previous and corrected policy treatments and the affected credit provenance. Cash movement is always zero for this workflow.
Surface contract
The surfaces intentionally differ:
| Surface | Allowed values |
|---|---|
| Preview API | All five values, including review_required |
| Successful apply response | The four successful correction values only |
| Persisted Revenue correction | The four successful correction values only |
lesson.outcome.corrected v1 event |
The four successful correction values only |
| Revenue correction silver | The four successful correction values only, with previous and effective classification carried as separate columns |
A blocked preview may be retained in Revenue request audit, but it is not a persisted applied correction and must not enter the Delivery event or correction silver fact set.
Asks
Delivery, please pin the four successful values in the lesson.outcome.corrected proposal, JSON Schema, client parser, and tests. The correction API proposal should pin all five values and enforce the surface split above.
Platform, please confirm the four-value event enum satisfies condition 4 and is registrable after Delivery publishes the revised schema.
Finance, please confirm these disposition names preserve the recognition and reconciliation semantics in your ADR-0038 acknowledgment. Recognition and cash remain separate facts and are not inferred from this field.
References
- ADR-0038:
adrs/ADR-0038-guarded-lesson-outcome-corrections.md - Delivery schema revision:
2026-07-29-delivery-adr-0038-accepted-schema-revision - Finance acknowledgment:
2026-07-29-finance-adr-0038-recognition-and-reconciliation-ack - Platform acknowledgment:
2026-07-29-platform-adr-0038-event-ack-with-schema-conditions - Correction API proposal:
contracts/credit-reservation-lock/lesson-outcome-correction-api-proposal.md - Event proposal:
contracts/lesson-lifecycle/lesson-outcome-corrected-proposal.md