Skip to content

fix(store): name the nested Timelines/ layout on >= 8.7 storage (#95) - #96

Merged
renezander030 merged 1 commit into
masterfrom
fix/nested-timelines-modern-storage-note
Aug 23, 2026
Merged

fix(store): name the nested Timelines/ layout on >= 8.7 storage (#95)#96
renezander030 merged 1 commit into
masterfrom
fix/nested-timelines-modern-storage-note

Conversation

@renezander030

Copy link
Copy Markdown
Owner

Closes #95.

The split

nestedTimelines is populated on every store. The layout value is not — timelines-nested requires !modernStorage, so it stops at 8.7 by design, which is what keeps #50's 7.x claim off modern storage.

Four consumers, two keyed each way:

consumer keyed off fires on >= 8.7
cmdDiagnose nested_evidence nested_timelines.length yes
capcut fixture bundle nestedTimelines.length yes
diagnose next_action layout no
version support note layout no

So a >= 8.7 project with a nested Timelines/ directory produced a diagnose report carrying nested_timelines and a full redacted nested_evidence block, and not one line of prose in that report said what the structure was. fixture would bundle the exact layout #50 has been blocked on since 2026-08-01 without ever mentioning that the bundle is what's wanted.

The change

NESTED_TIMELINES_MODERN_ACTION, emitted from diagnoseDraftStore and the version command when nested documents exist but the layout is not timelines-nested.

It asserts nothing in either direction. #50 reports 7.x discarding root-mirror edits; #68 reports 8.5.0 regenerating the nested file from the root, byte-identical after a round trip. Both predate the 8.7 storage change and neither transfers across it, so the note names the structure, states that it is unevidenced above 8.7, and ends on the fixture CTA.

Deliberately unchanged

Tests

test/timelines-layout.test.mjs, new >= 8.7 storage is named, not asserted block: claim-free diagnose action, matching version note, evidence-and-prose agreement, no false positive without the directory, and exactly one nested note across 7.9.0 / 8.5.0 / 8.7.0 / 9.2.8.

The existing >= 8.7 ... stay silent case is retitled to write silently — it still asserts write-path silence, and its diagnose assertion is tightened from "no action containing discard" to "no action containing may discard those edits", since the new note mentions the word only to disclaim it.

812/812 green, lint clean.

diagnose already attached the redacted nested_evidence block and fixture
already bundled Timelines/, both keyed off nestedTimelines.length. The
next_action and the version support note were keyed off the layout value,
which stays content-/info-primary above 8.7 by design — so a modern store
got a report carrying nested evidence with no prose explaining why.

Adds NESTED_TIMELINES_MODERN_ACTION, emitted when nested documents exist
but the layout is not timelines-nested. It asserts nothing: #50's 7.x
discard risk and #68's 8.5.0 survival observation both predate the 8.7
storage change and neither transfers across it.

Write-time stays silent. CapCut creates Timelines/ routinely on modern
builds (#60), so a per-write warning would fire for the majority on a
hazard nobody has evidenced.
@renezander030
renezander030 merged commit c472c79 into master Aug 23, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

diagnose attaches nested-Timelines evidence on >= 8.7 stores but never says why — the action and version note are layout-gated

1 participant