Skip to content

fix(discovery): first-written briefs join the full brief lifecycle#521

Merged
leeovery merged 1 commit into
mainfrom
fix/brief-first-write-propagation
Jul 23, 2026
Merged

fix(discovery): first-written briefs join the full brief lifecycle#521
leeovery merged 1 commit into
mainfrom
fix/brief-first-write-propagation

Conversation

@leeovery

@leeovery leeovery commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Pre-existing gap found while reviewing fix: deep-dive round 2 — backbone rule flipped, pre-upgrade paths routed, flow bugs closed #513's propagation skip: a brief first-written for an existing committed topic (materially deepened this session; topic originally added by research-analysis/gap-analysis/migration, before briefs existed) produced a file with no brief_path pointerconfirm-and-persist only sets pointers for new working-list topics. The brief was invisible to read-brief-context (silent fallback to the description seed) and exempt from reconcile flagging.
  • brief-synthesis B gains a pointer backfill: one set op per first-written existing topic, riding the same ops file as the restructure cleanup.
  • C widens from regenerated-only to every brief written in A: in-flight downstream work is flagged whether the brief changed under it or appeared after it started brief-less. The zero-briefs gate keeps the H4 conditional shape from fix: deep-dive round 2 — backbone rule flipped, pre-upgrade paths routed, flow bugs closed #513's review.
  • reconcile-advisory wording follows ("written or regenerated", "latest discovery brief").

Test plan

  • Conventions lint green (29 checks).

🤖 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
  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 👈 current
  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/wu-field-shadow-guard branch from 13cda6c to ae55a70 Compare July 23, 2026 12:29
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from d460090 to f671f53 Compare July 23, 2026 12:29
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from ae55a70 to 213feca Compare July 23, 2026 12:30
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from f671f53 to 4eecbc6 Compare July 23, 2026 12:30
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from 213feca to 7f90ec4 Compare July 23, 2026 12:31
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from 4eecbc6 to 92c68d0 Compare July 23, 2026 12:31
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from 7f90ec4 to 98df577 Compare July 23, 2026 12:32
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from 92c68d0 to 24fefee Compare July 23, 2026 12:32
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from 98df577 to 6e3eb31 Compare July 23, 2026 12:33
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from 24fefee to b3a6070 Compare July 23, 2026 12:33
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from 6e3eb31 to 638c7ca Compare July 23, 2026 12:33
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from b3a6070 to 9cac9c9 Compare July 23, 2026 12:33
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from 638c7ca to b869699 Compare July 23, 2026 12:34
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from 9cac9c9 to 748ccfb Compare July 23, 2026 12:34
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from b869699 to bcc92d9 Compare July 23, 2026 12:35
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from 748ccfb to 729ff6b Compare July 23, 2026 12:35
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from bcc92d9 to cff9f0f Compare July 23, 2026 12:35
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from 729ff6b to ce38d6d Compare July 23, 2026 12:35
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from cff9f0f to b1c6df6 Compare July 23, 2026 12:36
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from ce38d6d to 6e4ba62 Compare July 23, 2026 12:36
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from b1c6df6 to af74feb Compare July 23, 2026 12:36
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from 6e4ba62 to d6acf93 Compare July 23, 2026 12:36
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from af74feb to a7e576e Compare July 23, 2026 12:37
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from d6acf93 to 28a0598 Compare July 23, 2026 12:37
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from a7e576e to 4243045 Compare July 23, 2026 12:37
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from 28a0598 to f1ebd1b Compare July 23, 2026 12:37
@leeovery
leeovery force-pushed the feat/wu-field-shadow-guard branch from 4243045 to 651ee61 Compare July 23, 2026 12:38
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from f1ebd1b to e415cc4 Compare July 23, 2026 12:38
@leeovery
leeovery changed the base branch from feat/wu-field-shadow-guard to main July 23, 2026 12:38
A brief first-written for an existing committed topic (deepened this
session, added pre-brief by research-analysis/gap-analysis/migration)
got a file but no brief_path — invisible to read-brief-context, which
fell back to the description seed, and exempt from reconcile flagging.
B now backfills the pointer in the same ops file the cleanup uses, and
C flags every in-flight downstream item a fresh brief post-dates —
first-written over brief-less work as much as regenerated. The
advisory wording follows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@leeovery
leeovery force-pushed the fix/brief-first-write-propagation branch from e415cc4 to 590a04e Compare July 23, 2026 12:38
@leeovery
leeovery merged commit 1a28ccd into main Jul 23, 2026
@leeovery
leeovery deleted the fix/brief-first-write-propagation 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