bc-dgx7.103: B7e-manifest — A book's chapter and interlude manifest - #820
Open
mordam wants to merge 8 commits into
Open
bc-dgx7.103: B7e-manifest — A book's chapter and interlude manifest#820mordam wants to merge 8 commits into
mordam wants to merge 8 commits into
Conversation
…sequence checked Five deluvia sessions (dv-afr.6/7/8/9, dv-gr6.8) each hand-built the same table before any judgement about a book could start. b7e-manifest reads a book directory (or a bare book number, resolved under <repo root>/novel/Deluvia Book N), lists one row per chapter/interlude with its header fields and measured word counts, and derives day/BP-range overlaps and gaps plus interlude placement issues (inconsistent, out-of-range, non-monotone). Chapter/interlude counting reuses deluvia/scripts/build_series_log.py's own regex shapes (reimplemented in JS, verified by hand against the live deluvia repo: all six books' counts match exactly, including its CHAPTER_18A_THE_PARTING.summary.md blind spot). Header field parsing is best-effort across two thread-field names (Timeline vs Thread) and inconsistent field placement between books. Registered @grant read in the bin/ header per bc-wbrhi's derived-grants mechanism, plus the package.json/package-lock.json bin map entries. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WQ4zfRrq7i9H3nqeLtnNy6
The section insertion for b7e-manifest replaced the heading line instead of preserving it, breaking the in-page link at README.md:32310 (#notes-on-bd) — caught by test/anchors.mjs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WQ4zfRrq7i9H3nqeLtnNy6
Owner
Author
|
A beadcause worker opened this and does not merge its own work. It is on the merge queue as bc-mig9x. |
…-dgx7103 # Conflicts: # README.md
Owner
Author
|
The beadcause merge queue tried to merge this and could not: it has been tried 3 times and stopped at the same place each time. the branch still conflicts with |
…-dgx7103 # Conflicts: # README.md
…-dgx7103 # Conflicts: # README.md
…-dgx7103 # Conflicts: # README.md
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.
Adds
b7e-manifest: a book's chapter/interlude manifest with derived checks, replacingfive hand-built versions of the same table from five different deluvia sessions
(dv-afr.6/7/8/9, dv-gr6.8). Reads a book directory (or a bare book number, resolved under
<repo root>/novel/Deluvia Book Nvia git's own toplevel from cwd) and prints one row perchapter/interlude with its header fields and measured word counts, plus a derived block:
day/BP-range overlaps and gaps on the same thread, and interlude placement-key issues
(inconsistent, out-of-range, non-monotone).
Chapter/interlude counting reimplements
deluvia/scripts/build_series_log.py's own regexshapes in JS (this file has to run with no
deluviacheckout on disk — the suite provesit against a fabricated fixture tree) rather than importing them. Verified by hand against
the live
deluviarepo: all six books' counts matchSERIES_CHAPTER_LOG.md's committed,generated block exactly, including matching the Python's own blind spot on
CHAPTER_18A_THE_PARTING.summary.md(named as "not counted" rather than silentlyincluded or dropped). The bead's own acceptance criteria also ask for two specific
findings from the sessions that filed this: Book 3's Ch.18/Ch.19 day-range overlap still
reproduces against live data; Book 1's IL-05/06/12 placement issue no longer does — that
data has evidently been hand-fixed since the audit that found it, which is the finding
going stale, not the check being wrong. All four kinds of placement issue and both
overlap/gap detection are proven directly on fabricated fixtures in
test/manifest.mjsindependent of Book 1's current state.
Registered
@grant readin the bin file's own header perbc-wbrhi's derived-grantsmechanism (the bead's own "what shipping it takes" text describes the older
hand-edit-lib/toolbelt.js mechanism that bead predates and that landed already superseded
this).
One self-caught bug worth flagging: my first pass at the README section edit replaced the
## Notes on bdheading line instead of preserving it around the new content, whichtest/anchors.mjscaught immediately (a dangling in-page link). Fixed in a second commitbefore this delivery — worth knowing in case a similar large insertion-before-a-heading
edit gets reviewed elsewhere without that suite catching it.
Tests: node test/manifest.mjs (52 checks, new suite) plus test/lockfile.mjs, test/tooldecl.mjs, test/grants.mjs, test/allowlist.mjs, test/evidence.mjs, test/filter.mjs, test/b7ereadme.mjs, test/anchors.mjs, test/checks.mjs, test/documents.mjs, test/skills.mjs, test/usage.mjs, test/routes.mjs, test/policies.mjs, test/coverage.mjs, test/grepargs.mjs, test/authority.mjs, test/harness.mjs — all green. The local full 'npm test' gate was queued behind 4 other sessions' gates (oldest 40+ min in), so per this repo's own documented practice (a local full gate under this much contention is slower and noisier than CI's 4-shard run) I ran the suites b7e-affected named plus the ones a new bin/ registration always touches, and am leaving full-suite verification to CI.
Files changed — 6 files · +1211 −0 · against `main`
Opened by a beadcause worker session on bc-dgx7.103 — b7e-manifest — A book's chapter and interlude manifest, with the sequence checked. It merges itself once the checks report; merging is what closes the bead. If this is still open, something stopped that, and the reason is on bc-dgx7.103 and in Adam's inbox.
bead: bc-dgx7.103