BOHICA-LABS / BOHICA-LABS/vsdd-factory
process-gap(orchestrator): fix-phase order-of-operations — factory-artifacts commits must land BEFORE feature-branch impls
- Dominant language
- Rust
- Stars
- 2
- Forks
- 1
- Avg merge
- 6h 43m
- Merged PRs (30d)
- 29
Description
## Summary
When a fix phase touches BOTH factory-artifacts (spec/story/index bumps) AND feature branches (code/test edits), the orchestrator does not enforce commit ordering. If feature-branch impls land BEFORE factory-artifacts version bumps, the impl commits reference stale canonical versions → recursive-fix cascade on the next adversarial pass.
## Evidence from ftc-blue W3B2
Fix Phase 5g parallel execution:
- factory-artifacts: story-writer bumps STORY-5.05.001 v1.3→v1.4 (+ 3 sibling bumps) in commit `1665f27`
- feature/STORY-5.05.002: implementer sweeps test-file BC anchors in commit `b1631e7`
- feature/STORY-5.05.005: implementer sweeps project.godot BC anchor in commit `4013723`
Both impls landed BEFORE the story-writer's cross-story bump was in scope. Result: test files still cited STORY-5.05.001 v1.3 (pre-bump) when Pass 9 dispatched → F-P9-I01 finding → Fix Phase 5h (an entire extra fix phase).
## Requested fix
Orchestrator invariant to codify in per-story-delivery.md:
> When a fix phase touches BOTH factory-artifacts AND feature branches:
> 1. factory-artifacts commits MUST land FIRST
> 2. THEN feature-branch impl commits (can cite fresh canonical versions)
> 3. THEN sibling-anchor sweep pass on all touched feature branches for anchors bumped in step 1
> 4. THEN next adversarial pass may dispatch
Enforcement:
- State-manager gate: refuse to close fix phase if ordering violated (commit timestamps)
- Orchestrator dispatch sequence contract that serializes factory-artifacts vs feature-branch bursts
## Cross-refs
- L-W3B2-09 (fix-phase order-of-operations section) in ftc-blue `.factory/cycles/cycle-001/lessons.md`
Contributor guide
Assessment
This issue has not been assessed yet.