Skip to content

refactor(prose): dump/read folds — subtree gets replace per-topic loops (D7, stage 5) - #509

Merged
leeovery merged 1 commit into
mainfrom
feat/batch-read-folds
Jul 23, 2026
Merged

refactor(prose): dump/read folds — subtree gets replace per-topic loops (D7, stage 5)#509
leeovery merged 1 commit into
mainfrom
feat/batch-read-folds

Conversation

@leeovery

@leeovery leeovery commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Stage 5 of the batching programme (design log: #504; base: #508). The dump/read-fold class — and like stage 3, C5 keeps it at zero engine code: manifest get <wu>.<phase> has always returned the whole subtree; the prose just never leaned on it.

What

  • sequence-discovery-map — the 2×N per-topic summary/description gets become one {wu}.discovery subtree read (the dump's rows deliberately stay lean — description_present only — so the subtree get is the right channel for the full text).
  • read-plans (review) — per-plan format/external_id gets become one {wu}.planning subtree read before the loop; the per-plan loop keeps only the judgment work.
  • brief-synthesis — both halves:
    • Lifecycle: split/merge/drop cleanup collects every orphaned brief, then two calls total — one rm -f naming all files, one apply deleting all brief_path pointers (the loud-on-absent guard preserved: only topics that carried the pointer enter the payload).
    • Propagation: reads research+discussion subtrees once (2 calls for any N), collects reconcile_needed flags, lands them in one apply.

Test plan

Prose-only: npm test 1556/1556, conventions lint 27/27, typecheck clean.

🤖 Generated with Claude Code

Stack

  1. feat(engine): discovery-map add-batch — the harvest persists in one call (D7) #505
  2. feat(engine): manifest apply — batched set/delete across one work unit (D7) #506
  3. refactor(prose): task-map family folds onto existing batch forms (D7, stage 3) #507
  4. feat(engine): manifest set — two grammars, never mixed #508
  5. refactor(prose): dump/read folds — subtree gets replace per-topic loops (D7, stage 5) #509 👈 current
  6. feat(engine): commit --plan — plan storage stages from recorded state (D7, stage 6) #510
  7. fix: batching-stack review round — re-resolve rewired, guards symmetric, hardening pinned #512
  8. fix: deep-dive round 2 — backbone rule flipped, pre-upgrade paths routed, flow bugs closed #513
  9. fix(review-r3): engine hardening + crash-resume seams #514
  10. feat(scoping): promotion routes through first-phase choice + bridge #515
  11. fix(spec): pin the bugfix source name to the topic #516
  12. fix(skills): gate-skip sentence accurate in gate-less phases #517
  13. fix(review-entry): name the real upstream — specification and plan #518
  14. fix(shared): strip triage-landing's unreachable superseded-research arm #519
  15. feat(engine): refuse work-unit-level fields that shadow the phases tree #520
  16. fix(discovery): first-written briefs join the full brief lifecycle #521
  17. test(sim): pipeline simulation — engine driven end-to-end as a black box #522
  18. fix(round-4): review findings — backfill keying, ratchet evasion, pull guard #523

@leeovery
leeovery force-pushed the feat/set-grammar-uniform branch from 014be35 to 49f3fb9 Compare July 23, 2026 11:04
@leeovery
leeovery force-pushed the feat/batch-read-folds branch from 37e7791 to 5f71091 Compare July 23, 2026 11:04
@leeovery
leeovery force-pushed the feat/set-grammar-uniform branch from 49f3fb9 to 5da39dc Compare July 23, 2026 12:29
@leeovery
leeovery force-pushed the feat/batch-read-folds branch from 5f71091 to 13aa798 Compare July 23, 2026 12:29
@leeovery
leeovery force-pushed the feat/set-grammar-uniform branch from 5da39dc to 1d3e4df Compare July 23, 2026 12:30
@leeovery
leeovery force-pushed the feat/batch-read-folds branch from 13aa798 to 286a34d Compare July 23, 2026 12:30
@leeovery
leeovery force-pushed the feat/set-grammar-uniform branch from 1d3e4df to 7d3919b Compare July 23, 2026 12:31
@leeovery
leeovery force-pushed the feat/batch-read-folds branch from 286a34d to c3b9771 Compare July 23, 2026 12:31
@leeovery
leeovery changed the base branch from feat/set-grammar-uniform to main July 23, 2026 12:31
…ps (D7, stage 5)

Zero engine code again — the whole-subtree get was always there.

- sequence-discovery-map: 2×N summary/description gets → one
  {wu}.discovery subtree read.
- read-plans: per-plan format/external_id gets (2×N) → one
  {wu}.planning subtree read; the per-plan loop keeps only judgment.
- brief-synthesis: lifecycle cleanup collects orphans across
  split/merge/drop into one rm -f + one apply (brief_path deletes);
  propagation reads research+discussion subtrees once (2 calls total,
  any N) and lands every reconcile_needed flag in one apply.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@leeovery
leeovery force-pushed the feat/batch-read-folds branch from c3b9771 to 413c3ae Compare July 23, 2026 12:32
@leeovery
leeovery merged commit 53cff0b into main Jul 23, 2026
@leeovery
leeovery deleted the feat/batch-read-folds branch July 23, 2026 12:43
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.

1 participant