Propagate: reconcile obligations against tests after generation - #56
Merged
Conversation
Add an explicit reconciliation step to the propagate process: after generating tests, walk the full obligation list from `allium plan` and map each obligation to a covering test. Uncovered obligations are auto-covered in a guarded mini-loop (2 attempts per obligation plus a no-progress cap, mirroring the outer loop's convergence rules). Reconciliation is silent on the happy path — the user sees only a one-line summary and any obligations that could not be covered, each classified as an infrastructure gap or unmappable construct. Missing implementation is explicitly not a residue category: in spec-first flows a written-but-failing test covers its obligation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6FTVnDrei6nNse624pG3w
henrygarner
approved these changes
Jul 22, 2026
yavorpanayotov
added a commit
that referenced
this pull request
Jul 22, 2026
Minor bump for the obligation reconciliation step added to the propagate skill in #56: new backward-compatible behaviour, no breaking changes. Claude-Session: https://claude.ai/code/session_01D6FTVnDrei6nNse624pG3w Co-authored-by: Claude Fable 5 <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.
What
Adds an explicit obligation reconciliation step to the propagate skill: after generating tests, walk the full obligation list from
allium plan(or the manual derivation) and confirm every obligation maps to a covering test — generated this run or pre-existing.Why
The skill gathered obligation coverage information (discovery checklist) and gestured at completeness checking in "Reusing existing tests", but the process ended at "verify tests compile/run" — the reconciliation never actually happened. Tests passing says nothing about whether the test set is complete against the spec's obligations.
How
N obligations, M covered, K uncovered).driving-the-loop.md.Testing
node scripts/test-skills.mjs— 88 passed, 0 failed (same script CI runs).node hooks/allium-check.test.mjs— 95 passed, 0 failed.🤖 Generated with Claude Code
https://claude.ai/code/session_01D6FTVnDrei6nNse624pG3w