Commit Graph
16 Commits
Author SHA1 Message Date
turtle1999 b75f962674 refactor(scripts): address snapshot layout review
Report a missing digest prefix explicitly, normalize line endings for change-record
snapshots, make the key-rename test deterministic, align the cookbook and zh wording
with the node-table layout, and record the layout decision in its Agent Note.
2026-10-19 19:33:43 +08:00
turtle1999 83d8119b3b refactor(scripts): avoid unknown cast when parsing snapshot text 2026-10-19 18:46:52 +08:00
turtle1999 1edcd49192 refactor(scripts): key persistence schema nodes by subgraph digest
Store one node table keyed by the 16-hex digest prefix of each node's
canonical subgraph instead of per-root graphs with numeric indices, so a
type change rewrites only the changed nodes and their ancestors.

Refs #6597
2026-10-19 18:37:48 +08:00
Yixiang Tu de4a771c72 Simplify same-version acknowledgements to explicit decisions 2026-10-08 20:26:57 +08:00
Yixiang Tu b2a93b6307 Accept todo identifiers in persistence review evidence 2026-10-08 20:26:57 +08:00
Yixiang Tu 5c5b51257a Allow reviewed same-version Session schema changes 2026-10-08 20:26:57 +08:00
yudshj cc3c631699 refactor: compact persistence schema type inventory 2026-09-25 00:32:15 +08:00
Dudu-0223 a978ad1994 fix(subagent): version unknown catalog payloads locally 2026-09-20 15:09:37 +08:00
Dudu-0223 f984683956 fix(subagent): store unknown mode in the existing catalog event 2026-09-20 14:46:54 +08:00
Tianyi Cui 0112eaf3a8 feat(session): finalize the accepted V4 compatibility baseline
The integrated V3-to-V4 records contain the header increase that authorizes
their breaking changes. Leaving those terminal records editable would let a
later change reuse that already accepted 3-to-4 increase, so version 4 would
not establish a stable compatibility baseline for persisted user data.

Capture the accepted root classifications and semantic record digests in a
separate finalization checkpoint. Validate that checkpoint before rendering
or writing acknowledgement artifacts, and preserve its accepted records even
after the current writer advances. Keep publication evidence independent:
the verified released version remains 3 until a release establishes otherwise.

Compare future writer-4 schemas with the accepted baseline using the existing
compatibility classifier. Compatible additions remain permitted through new
same-version acknowledgement records. Breaking changes require a higher
writer and their own header transition; comments, aliases and source-location
changes do not alter the accepted semantics. Later unaccepted compatible
records retain the existing update workflow.

Document the distinction between finalization, publication and compatible
evolution, with regression coverage for locked records, incomplete or
inconsistent checkpoints, additive changes and future-version transitions.
2026-09-18 23:40:56 +08:00
Tianyi Cui a6981c56f6 feat(persistence): add stable catalogs and policy-aware schema review
Traversal ordinals and first-owner paths gave shared persistence types
unstable display names. Keep authored names and source locations as metadata,
use structural digests for identity, and render complete kind/form groups
with bounded array labels. Preserve historical rendering and stored graphs.

Record supported source compatibility promises with their property binding,
policy version, discriminator, preservation rule, and qualified kind set.
The extractor and classifier require explicit opt-ins in both compared
schemas; ordinary or unsupported changes retain strict classification.
Policy-bearing graphs use the format-2 fingerprint domain while unannotated
graphs keep their format-1 fingerprints. Runtime owners activate bindings
only with the corresponding reader behavior; this tooling layer activates
none and changes no package source or Session generation.

Provide a read-only before/after review command that groups shared structural
evidence without replacing authoritative compatibility diagnostics. Match
changed alternatives only through unique literal discriminators and retain
ambiguous additions and removals as independent facts.

At the X baseline, all 61 roots and 472 schemas, digests, and source fields
are unchanged. The inventory remains format 1 and removes only 296 synthetic
names. Existing acknowledgement history still matches every root. All 195
focused tooling tests, Host build/full lint, and bilingual pairing pass.
2026-09-18 19:05:32 +08:00
Tianyi Cui 765c87fb87 fix(docs): address persistence format history review 2026-09-13 12:08:08 +08:00
Tianyi Cui aea077ac75 docs(session): backfill alpha and RC persistence history 2026-09-12 18:52:17 +08:00
Tianyi Cui 6e294b1c27 fix(session): infer persistence change decisions for agents 2026-09-11 23:56:06 +08:00
Tianyi Cui a0a7e2c11c fix(session): harden and automate persistence change review 2026-09-11 23:15:26 +08:00
Tianyi Cui 1e9b05d356 feat(session): verify persistence type history 2026-09-11 22:06:58 +08:00