Skip to content

Commit 341d7c1

Browse files
committed
docs(architecture): preserve released outcome shape
1 parent e054066 commit 341d7c1

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

ARCHITECTURE.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,13 @@ Checkpointed result application is a package-owned domain service. Internally,
7676
its ubiquitous language is `transaction_cursor`, `checkpointed_record`,
7777
`record_effect`, `record_applied`, and `result_checkpoint`. The released
7878
`apply_checkpointed_result_in_transaction(cursor, checkpoint_store,
79-
consumer_name, item, apply_record)` signature and the historical outcome reads
80-
`.applied` / `.checkpoint` remain compatibility adapters only; they translate at
81-
the package boundary rather than defining internal domain vocabulary.
79+
consumer_name, item, apply_record)` keyword signature and the public
80+
`ResultApplicationOutcome(applied, checkpoint)` dataclass field/introspection
81+
shape remain compatibility adapters because renaming them would be a released
82+
source/serialization break. The adapter immediately translates to/from a
83+
private semantic outcome model. Additive `.record_applied` and
84+
`.result_checkpoint` properties expose the semantic vocabulary without changing
85+
historical `dataclasses.fields` or `dataclasses.asdict` output.
8286

8387
The service preserves the same transaction and replay invariants: the local
8488
record effect and checkpoint save occur under the caller-owned transaction,

0 commit comments

Comments
 (0)