docs(lab): HEADARC3 — logged-children ordering law (multi-day) + regression lock - #380
Merged
Merged
Conversation
…ession lock Multi-day probe that resolves the HEADARC2 same-day ambiguity in the logged region's sort. Fixture: heading Foo + children A,B,C,D,E in index order, completed B,C,A across three days then D,E same-day (index order) — so index order (A,B,C,D,E) differs from stopDate order (B,C,A,D,E) and the same-day pair separates stopDate-DESC from date-then-index from index-ASC. Verdict (all three contexts render E,D,A,C,B): the flat project logged toggle (heading open), the archived-heading group, and the global Logbook all order swept children by stopDate DESC — most-recently-completed first — with the within-day tiebreak the completion INSTANT, not child index (D-then-E -> E,D). Only the shape differs: the global Logbook adds day-section headers (Yesterday/month), the in-project toggle/group is a continuous per-row-dated list. In-project toggle labels the HEADING, Logbook labels the PROJECT (HEADARC2-B re-confirmed). Maintainer's literal B,C,A-over-3-days answer = A,C,B. Shipped rendering (project-view.ts logged / loggedHeadings stopDate DESC) CONFIRMED — no divergence. Law newly locked by two render.test.ts HEADARC3 regressions (index != stopDate fixture asserting E,D,A,C,B). Assumption register RD-7 + reference index row, Confirmed under 3.22.11. Probes-only + test-lock; no behavior/contract change. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RYbJensXxHpJK1v1VDXYUD
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
HEADARC3 — the logged-children ordering law, multi-day discrimination
HEADARC2's captures were all same-day, so its "most-recently-completed first" could not distinguish
stopDate DESCfromdate DESC then index ASCfromindex ASC. This probe builds a multi-day fixture with a same-day tiebreak pair that separates all three.Fixture (
lab/scripts/research-headarc3.sh, goldenthings-lab-golden-v1· Things 3.22.11 · guest clock advanced 2026-07-05 → 2026-07-09): projectHA3-Foo-P, headingFoo, childrenA,B,C,D,Ecreated in index order, completed B (day1), C (day2), A (day3), then D then E same day (day4). So index orderA<B<C<D<E≠ stopDate orderB<C<A<D<E, and the same-day D/E pair (completed in index order) rendersE,Dunder a stopDate-DESC law butD,Eunder an index law.Verdict — all three contexts render
E, D, A, C, B:stopDate DESC, within-day by completion instantFoogrouped section header + nested children, no per-child sublabelstopDate DESC, within-day by completion instantstopDate DESCThe same-day pair renders E before D (E's stopDate is 5.8 s later) → the within-day tiebreak is the completion instant, NOT child
index. The maintainer's literal B,C,A-over-three-days answer is A, C, B. HEADARC2-B's in-project-toggle-labels-HEADING vs Logbook-labels-PROJECT asymmetry re-confirmed.Shipped rendering CONFIRMED — no divergence.
src/read/project-view.tsalready sorts both the flat logged region and the archived-heading group children bystopDate DESC(full-timestamp, so same-day ties resolve by instant, matching the GUI), and the flat continuous shape matches our flatlogged[]/loggedHeadings[].items— no shape change. The contract'sstopDate DESC"Read views" claim is confirmed (accrues in the assumption register per the version-stamping doctrine, not a contract edit).Changes
docs/lab/headarc3-logged-ordering.md— campaign doc (byte evidence, HEADARC3-1/2/3 verdicts).lab/scripts/research-headarc3.sh— build driver (multi-day fixture + byte snapshots; GUI phase via guestscreencapture+ onevncdotooltoggle click).test/cli/render.test.ts— two HEADARC3 regressions locking the law (index≠stopDate fixture assertsE,D,A,C,Bfor both the flat region and the archived-heading group).docs/reference/assumption-register.md— RD-7 (logged-region ordering =stopDate DESC), Confirmed under 3.22.11.docs/reference/README.md— probe-id index row.No behavior/contract change; no CHANGELOG (not user-visible). VM
headarc3-labtorn down (only the golden remains).