Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
686 changes: 686 additions & 0 deletions tests/checks/89-recursive-status-guards.sh

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0001-hybrid/0002-approved-leaf
phase: design
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree/0001-hybrid
---

# Fixture design — 0002-approved-leaf

A depth-3 leaf whose `review.md` verdict is `approve`, so a dependent is
satisfied by the approval even though no `ship.md` exists.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
feature: 9200-tree/0001-hybrid/0002-approved-leaf
phase: review
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree/0001-hybrid
---

# Fixture review — 0002-approved-leaf

## Verdict

**approve** — an approved, unshipped dependency is satisfied at depth 3.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0001-hybrid/0002-approved-leaf
phase: spec
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree/0001-hybrid
---

# Fixture spec — 0002-approved-leaf

A depth-3 leaf whose `review.md` verdict is `approve`, so a dependent is
satisfied by the approval even though no `ship.md` exists.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0001-hybrid/0002-approved-leaf
phase: tasks
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree/0001-hybrid
---

# Fixture tasks — 0002-approved-leaf

- [x] **T1** — Fixture task. [AC1]
Verify: true.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0001-hybrid/0002-approved-leaf
phase: test
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree/0001-hybrid
---

# Fixture verification — 0002-approved-leaf

A depth-3 leaf whose `review.md` verdict is `approve`, so a dependent is
satisfied by the approval even though no `ship.md` exists.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
feature: 9200-tree/0001-hybrid
phase: design
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture design — 0001-hybrid

The hybrid node's own design. Because it carries its own phase artifacts, its
derived phase is `design`, not the container phase `manifest`, even though it
also decomposes into a depth-3 subtree.
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
feature: 9200-tree/0001-hybrid
phase: manifest
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Manifest — Fixture hybrid node

## Initiative

A hybrid fixture node: it both decomposes into children and carries its own phase
artifacts (`spec.md`, `design.md`), so its derived phase is its own (`design`)
rather than the container phase `manifest`. It is the depth-2 parent of the
depth-3 subtree, which includes a `.gitkeep`-only leaf, an approved leaf, and a
deliberate two-node dependency cycle. It is read-only fixture data and allocates
no real sequence number.

## Assumptions

- Fixture data only; readiness and phase are derived live and are never stored.

## Children

| Local id | Title | Scope | Depends on | conflicts-with | Canonical reference |
| -------- | ----- | ----- | ---------- | -------------- | ------------------- |
| 0001-empty-leaf | Empty leaf | A `.gitkeep`-only child that derives `not started`. | — | — | 9200-tree/0001-hybrid/0001-empty-leaf |
| 0002-approved-leaf | Approved leaf | A full child whose own review is `approve`. | — | — | 9200-tree/0001-hybrid/0002-approved-leaf |
| 0003-cyclic-a | Cycle member A | A `.gitkeep`-only member of a deliberate dependency cycle. | 0004-cyclic-b | — | 9200-tree/0001-hybrid/0003-cyclic-a |
| 0004-cyclic-b | Cycle member B | A `.gitkeep`-only member of a deliberate dependency cycle. | 0003-cyclic-a | — | 9200-tree/0001-hybrid/0004-cyclic-b |

## Sequencing

1. 0001-empty-leaf
2. 0002-approved-leaf
3. 0003-cyclic-a
4. 0004-cyclic-b

## Open issues

- **Deliberate cycle — `0003-cyclic-a` ↔ `0004-cyclic-b`.** The two rows depend
on each other, so the readiness analyzer's cycle reduction leaves both members
in the cycle and never reports either `ready`; cycle *detection* remains owned
by `tests/checks/80-cycle-fixture.sh`. Per `docs/artifact-conventions.md`, a
genuinely cyclic initiative records the cycle here and leaves the stored graph
acyclic; the fixture exists only to prove the readiness consequence at depth, so
it records the cycle instead.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
feature: 9200-tree/0001-hybrid
phase: spec
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture spec — 0001-hybrid

A hybrid node that both decomposes and carries its own phase artifacts. It has a
`spec.md` and a `design.md` but no `tasks.md`, so its own derived phase is
`design` and its own artifacts take precedence over the container `manifest`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
feature: 9200-tree/0002-shipped
phase: design
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture design — 0002-shipped

A shipped, non-recalled dependency target that satisfies the dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
feature: 9200-tree/0002-shipped
phase: review
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture review — 0002-shipped

## Verdict

**approve** — fixture item shipped, and its ship record is not recalled.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
feature: 9200-tree/0002-shipped
phase: ship
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Ship record — 0002-shipped

- Branch: `feat/0002-shipped`
- PR: https://example.invalid/pr/9200-2
- Commits: fixture
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
feature: 9200-tree/0002-shipped
phase: spec
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture spec — 0002-shipped

A shipped, non-recalled dependency target that satisfies the dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0002-shipped
phase: tasks
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture tasks — 0002-shipped

- [x] **T1** — Fixture task. [AC1]
Verify: true.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
feature: 9200-tree/0002-shipped
phase: test
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture verification — 0002-shipped

A shipped, non-recalled dependency target that satisfies the dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
feature: 9200-tree/0003-approved
phase: design
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture design — 0003-approved

An approved-but-unshipped dependency target that satisfies the dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
feature: 9200-tree/0003-approved
phase: review
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture review — 0003-approved

## Verdict

**approve** — an approved, unshipped dependency is satisfied.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
feature: 9200-tree/0003-approved
phase: spec
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture spec — 0003-approved

An approved-but-unshipped dependency target that satisfies the dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0003-approved
phase: tasks
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture tasks — 0003-approved

- [x] **T1** — Fixture task. [AC1]
Verify: true.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
feature: 9200-tree/0003-approved
phase: test
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture verification — 0003-approved

An approved-but-unshipped dependency target that satisfies the dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0004-rejected
phase: design
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture design — 0004-rejected

A changes-requested, unshipped dependency target that does not satisfy the
dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
feature: 9200-tree/0004-rejected
phase: review
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture review — 0004-rejected

## Verdict

**request-changes** — an unshipped changes-requested target is not satisfied.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0004-rejected
phase: spec
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture spec — 0004-rejected

A changes-requested, unshipped dependency target that does not satisfy the
dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0004-rejected
phase: tasks
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture tasks — 0004-rejected

- [x] **T1** — Fixture task. [AC1]
Verify: true.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0004-rejected
phase: test
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture verification — 0004-rejected

A changes-requested, unshipped dependency target that does not satisfy the
dependent row.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
feature: 9200-tree/0005-noreview
phase: design
status: final
created: 2026-10-14
updated: 2026-10-14
parent: 9200-tree
---

# Fixture design — 0005-noreview

An unshipped target with no review verdict, so the dependent row is not
satisfied.
Loading
Loading