Skip to content

refactor(timeline): attachment prep — canonical identity + snapshot-equivalence/schema-policy extraction#6424

Merged
shipyard-local[bot] merged 8 commits into
mainfrom
feature/timeline-attachment-prep-p4
Jul 21, 2026
Merged

refactor(timeline): attachment prep — canonical identity + snapshot-equivalence/schema-policy extraction#6424
shipyard-local[bot] merged 8 commits into
mainfrom
feature/timeline-attachment-prep-p4

Conversation

@shipyard-local

@shipyard-local shipyard-local Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Architecture-prep slice for the Creative Timeline Engine Phase 2 attachment work. Eight focused commits, timeline-only surface.

What

  • Canonical immediate-parent identityItemLocation gains a parent_id; ownership is kind + immediate parent via has_same_owner, with a shared immediate_parent_id() derivation. Legacy snapshots without parent_id backfill deterministically on decode.
  • Hardened identity reactivation — reactivation refreshes ancestor-navigation caches from the requested location (not the stale tombstone) via a single reactivated_location predicate.
  • Snapshot-equivalence extraction — the journal's same_project walk moves into a shared snapshot_equivalence TU.
  • Track schema policy extraction — version-shape rules (oldest-readable / current / device-chain-introduced) centralize in track_schema_policy.hpp, consumed by encode/decode/preflight/registry/structural-validation, replacing scattered version == 1/2 literals with a requires_device_chain(version) predicate.
  • Source wiring — the new snapshot_equivalence.cpp lands in all four engine source lists (native, no-exceptions object lib, WAM, WebCLAP); web-plugins SKILL.md records the four-list closure obligation.

Validation (exact rebased head)

  • Full all-targets Release build green (the ItemLocation layout change compiles everywhere).
  • Focused timeline suites 132/132; model 10283 assertions, persistence 1216, journal 110.
  • Diff coverage 95% (threshold 75%).
  • Fast gates green (skill-sync, web-timeline-source-closure, dependency-floor, framework-neutrality).
  • Version assigned post-merge by version-at-land (no PR-side bump under the current model).

🤖 Generated with Claude Code


🔎 Provenance

Agent claude
Machine m3
Tab Timeline v3
Directory /Volumes/Workshop/Code/pulp-cte-p4-prep
Session c66f4a64-25ea-42e5-b184-d48611a066a2

Resume

claude --resume c66f4a64-25ea-42e5-b184-d48611a066a2

Jump to this tab

cmux surface focus C0B3DA54-39AF-4DAA-8089-AA08DAB71968

Relaunch (any agent)

cmux surface resume get --surface C0B3DA54-39AF-4DAA-8089-AA08DAB71968

Restore URLhttps://claude.ai/code/session_01TVQHcnbg3t6TvXsdv6gXhS

stamped 2026-07-21 05:31 UTC

Skill-Update: skip skill=web-plugins reason="identity ownership bookkeeping does not change browser plugin behavior"
Skill-Update: skip skill=timeline reason="internal schema policy extraction does not change timeline usage"
Skill-Update: skip skill=web-plugins reason="source closure is unchanged by internal extraction"
Skill-Update: skip skill=timeline reason="source manifest now owns the extracted implementation"
Skill-Update: skip skill=web-plugins reason="WAM and WebCLAP source closure stays behaviorally identical"
Skill-Update: skip skill=timeline reason="internal schema policy now consistently drives decode and preflight"
Skill-Update: skip skill=web-plugins reason="serialized Track compatibility is unchanged"
Name the four source lists a new engine translation unit belongs to, and note
that the closure check compares only the WAM and WebCLAP lanes, so a missing
no-exceptions entry fails at link time rather than in the check.

Record that extracting a helper out of an already-listed translation unit
produces a new unit with the same obligation, which reads as a pure refactor
because the origin unit stays listed everywhere.
@shipyard-local
shipyard-local Bot enabled auto-merge (squash) July 21, 2026 05:31
@shipyard-local
shipyard-local Bot merged commit dc19b40 into main Jul 21, 2026
25 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant