fix(bg/notifier): strip YAML inline comments from depends_on values#3045
Merged
Conversation
`parseDependsOn` in `tools/bg/backlog-ready-notifier.ts` extracted the
raw line content after the `-` marker without stripping YAML inline
comments. Block-style entries like
depends_on:
- B-0395 # operational-resonance-conversation-interface (Clifford engine)
were parsed as the literal string `B-0395 # operational-resonance-...`
rather than `B-0395`, producing a false-positive dangling-dep warning
(the row exists; the comment was conflated with the ID).
Fix:
- New `stripInlineComment(value)` helper finds the first whitespace+`#`
and slices everything after it off. Backlog IDs never contain `#`, so
the simple split is safe and matches YAML's actual comment semantics
(`#` preceded by whitespace, outside quoted contexts).
- Apply to both inline-array (`[B-0440, B-0441]`) and block-style
(`- B-0440\n - B-0441`) parsing paths.
Tests:
- New `strips YAML inline comments from block-style depends_on` uses
the real B-0422 → B-0395 example that surfaced the bug.
- New `strips YAML inline comments from inline-array depends_on`
exercises the array path.
- Existing 33 tests unchanged; 35/35 pass.
Empirical effect on origin/main:
dangling dep ref(s): 9 → 8
(The remaining 8 are real lost-files cases — B-0257..B-0261, B-0289
addressed by PR #3044; B-0055.1, B-0054.1 are genuine missing sub-row
decompositions for a future tick.)
Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Fixes a false-positive dangling-dep warning in the backlog-ready-notifier caused by parseDependsOn retaining YAML inline comments as part of the dependency ID string.
Changes:
- New
stripInlineCommenthelper that trims everything after whitespace+#. - Applied to both inline-array and block-style
depends_onparsing paths. - Added two tests covering block-style (real B-0422 → B-0395 case) and inline-array comment stripping.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| tools/bg/backlog-ready-notifier.ts | Adds stripInlineComment and applies it in both parsing branches of parseDependsOn. |
| tools/bg/backlog-ready-notifier.test.ts | Adds two tests verifying inline comments are stripped from block-style and inline-array depends_on. |
3 tasks
AceHack
added a commit
that referenced
this pull request
May 13, 2026
Records: PRs #3043, #3044, #3045 all merged via auto-merge since previous tick (B-0444 worktree field; lost-row recovery; notifier YAML-comment fix). PR #3047 opened this tick to close the final 2 dangling-dep refs (B-0054.1 + B-0055.1 slice rows). Session-arc substrate-hygiene sweep: 9 → 2 dangling refs on main now, → 0 once #3047 merges. Co-Authored-By: Claude <noreply@anthropic.com>
2 tasks
AceHack
added a commit
that referenced
this pull request
May 13, 2026
* fix(backlog): restore missing slice rows B-0054.1 + B-0055.1 Two atomic decomposition slices (B-0054.1 — media-catalog schema foundation; B-0055.1 — edge-claims catalog) landed earlier as code without corresponding row files. Nine sibling rows reference these slice IDs via `depends_on`, and the backlog-ready-notifier surfaced them as dangling-dep warnings. Both rows added as `status: closed` (work landed) with bodies documenting: - the implementation file path (the canonical artifact) - retroactive acceptance criteria (all satisfied) - substrate-honest note that future slices should land row-first Backlog-notifier effect (against origin/main with PR #3045 merged): dangling dep refs: 8 → 6 (the remaining 6 clear once PR #3044 merges) ready-to-grind candidates: 211 → 217 (sibling rows unblocked) Completes the substrate-hygiene sweep: - PR #3044 recovers B-0257..B-0261 + B-0289 (file-restored from unmerged commit) - PR #3045 fixes notifier YAML inline-comment parsing - This PR formalizes the two slice IDs that never had row files Once all three land, dangling-dep count goes 9 → 0. Co-Authored-By: Claude <noreply@anthropic.com> * shard(tick): 2241Z — slice-row restoration + 3 PRs landed on main Records: PRs #3043, #3044, #3045 all merged via auto-merge since previous tick (B-0444 worktree field; lost-row recovery; notifier YAML-comment fix). PR #3047 opened this tick to close the final 2 dangling-dep refs (B-0054.1 + B-0055.1 slice rows). Session-arc substrate-hygiene sweep: 9 → 2 dangling refs on main now, → 0 once #3047 merges. Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
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.
Summary
parseDependsOnintools/bg/backlog-ready-notifier.tsextracted the raw line content after the-marker without stripping YAML inline comments. Block-style entries likewere parsed as the literal string
B-0395 # operational-resonance-...rather thanB-0395, producing a false-positive dangling-dep warning. The row B-0395 exists; the comment was conflated with the ID.Fix
stripInlineComment(value)helper finds the first whitespace+#and slices everything after it off.#, so the simple split matches YAML's actual comment semantics (#preceded by whitespace, outside quoted contexts).[B-0440, B-0441]) and block-style (- B-0440) parsing paths.Empirical effect
Measured against
origin/mainbefore vs after applying the fix:The remaining 8 are real lost-files cases:
B-0257..B-0261,B-0289— addressed by #3044B-0055.1,B-0054.1— genuine missing sub-row decompositions; out of scope for this PRTest plan
strips YAML inline comments from block-style depends_onuses the real B-0422 → B-0395 examplestrips YAML inline comments from inline-array depends_onbun test tools/bg/backlog-ready-notifier.test.ts→ 35/35 pass/tmp/zeta-notifier-fix) per the multi-Otto split-brain pattern from PR feat(bus): B-0444 — add worktree field to claim envelope #3043's tick shard🤖 Generated with Claude Code