Skip to content

test(status-guards): pin the recursive readiness and status guard - #94

Merged
49115566 merged 3 commits into
mainfrom
test/0015-recursive-workflow-guards+0002-recursive-readiness-status-guard
Oct 14, 2026
Merged

49115566 merged 3 commits into
mainfrom
test/0015-recursive-workflow-guards+0002-recursive-readiness-status-guard

Conversation

@49115566

Copy link
Copy Markdown
Owner

Summary

Adds tests/checks/89-recursive-status-guards.sh (suite token AC27) and the committed fixture root tests/fixtures/recursive-status/, pinning recursive readiness, derived-state precedence, and the /status render shape at depth >= 3. Work item: work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard.

Changes

  • tests/checks/89-recursive-status-guards.sh — new AC27 area: recursive readiness, nested readiness, dependency satisfaction (shipped / approved-unshipped / changes-requested / no review / recalled / ship-presence precedence), decomposing-target own-signal-only plus sibling-only resolution, cycle readiness, derived phase, overlay precedence, per-container summary, /status render pins, determinism, no-stored-readiness, and the structural fixture-existence / read-only-contract / no-duplication assertions.
  • tests/fixtures/recursive-status/items/ — new fixture tree, three levels deep, with a hybrid node, a .gitkeep-only leaf, a deliberate dependency cycle, and every dependency and derived-state case.
  • work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard/{tasks.md,verify.md,review.md} — the build, test, and review artifacts for the item.

Testing

  • bash tests/run.sh -> TOTAL: 617 passed, 0 failed, 0 skipped (exit 0); 66 of them the new AC27 area.
  • Acceptance criteria covered: AC1–AC15.

Conflict detection

  • No conflicts detected. Read-only pre-flight (default origin/main, ddda28c): merge base f657156; git merge-tree --write-tree reported no conflicting paths; no duplicate NNNN/MMMM prefix at any node; no manifest Depends on dangling/missing/unlisted/cyclic reference; no README inventory/count drift; no cross-branch sequence collision.

Reconcile

  • Result: reconciled (fast-forward f657156 -> ddda28c of origin/main)
  • Resolved paths:
    • none required — fast-forward, no conflict markers. Because the merge touched work/ paths (sibling 0003/0004 artifacts), the work/ artifact reconcile was re-run on the merged tree: no duplicate prefix, no graph fault, no renumber.
  • Re-verification: bash tests/run.sh -> 617 passed, 0 failed, 0 skipped; item checks (FRAMEWORK_TEST_AREAS=89-recursive-status-guards) -> 66 passed (see verify.md).

Risks

  • The full bash tests/mutation.sh pass is transiently red until 0005-guard-registration-sweep registers the new fixture root in the mutation runner staged-copy list — registration is owned downstream per the spec non-goals. bash tests/run.sh (the CI command) is unaffected, and tests/mutation.sh is not run in CI.
  • The spec Edge cases asks for a node deeper than three levels; the fixture deepest node is depth 3 (the AC1 bar). The recursive walk has no depth cap; recorded as residual risk in verify.md.

Artifacts

Workflow artifacts under work/ are committed working state, so these paths exist on the branch and resolve for a reviewer who does not share the working tree:

  • Spec: work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard/spec.md
  • Design: work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard/design.md
  • Verification: work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard/verify.md
  • Review: work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard/review.md

The recursive readiness algorithm, the derived-state precedence at a node, and the /status render shape were documented and swept but pinned by no committed fixture deeper than two levels: tests/checks/87-backtrack-guards.sh deliberately skips decomposing nodes and the cycle fixture is depth 2, so a regression that flattened the model, mis-derived a nested or hybrid node, or dropped the /status indentation would still pass the suite unnoticed.

Add the additive tests/fixtures/recursive-status/ tree, three levels deep with a hybrid node, a .gitkeep-only leaf, a deliberate dependency cycle, every dependency-satisfaction case, the decomposing-target cases, and the derived-state overlay cases, plus the new AC27 area tests/checks/89-recursive-status-guards.sh. The area computes each fixture node's readiness, derived phase, and per-container summary from the authority and compares them to reviewed literal expected blocks, pins the recursive /status render contract against docs/workflow.md and the status prompts, and asserts its own read-only and no-duplication contract. It adds no production checker and edits no non-test surface.

Refs: work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard
…-workflow-guards/0002-recursive-readiness-status-guard

Tick all eight build tasks and add verify.md (617 passed, 0 failed, 0 skipped on bash tests/run.sh; 66 of them the new AC27 area) and review.md (verdict approve, no surviving finding of any severity).

Refs: work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard
…-recursive-readiness-status-guard

Record the branch, commits, PR #94, and the fast-forward reconcile with origin/main in ship.md; its presence is the shipped signal.

Refs: work/0015-recursive-workflow-guards/0002-recursive-readiness-status-guard
@49115566
49115566 merged commit a6b0d43 into main Oct 14, 2026
2 checks passed
@49115566
49115566 deleted the test/0015-recursive-workflow-guards+0002-recursive-readiness-status-guard branch October 14, 2026 15:22
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