disinto-ops/prerequisites.md
2026-04-13 11:33:42 +00:00

145 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Prerequisite Tree
<!-- Last updated: 2026-04-13 -->
## Objective: Foundation — Core agent loop (dev → CI → review → merge)
- [x] dev-agent picks up backlog issues (dev/dev-agent.sh exists)
- [x] review-agent reviews PRs (review/review-pr.sh exists)
- [x] CI integration with Woodpecker (lib/ci-helpers.sh exists)
- [x] Stale in-progress recovery (#224 — closed)
- [x] Agent race condition fix (#160 — closed)
- [x] Dispatcher grep Alpine fix (#150 — closed)
Status: DONE
## Objective: Foundation — Supervisor health monitoring
- [x] supervisor-run.sh exists and runs via cron
- [x] preflight.sh collects health data
Status: DONE
## Objective: Foundation — Planner gap analysis against vision
- [x] Planner formula exists (run-planner.toml v4)
- [x] planner-run.sh cron wrapper exists
- [x] Planning runs established (runs 17)
Status: DONE
## Objective: Foundation — Multi-project support
- [x] Per-project TOML config (projects/*.toml)
- [x] load-project.sh helper
Status: DONE
## Objective: Foundation — Knowledge graph for structural defect detection
- [x] networkx package installed in agents container (#220 — closed)
- [x] build-graph.py exists in lib/
- [x] Graph report generating successfully (207 nodes, 272 edges as of 2026-04-13)
Status: DONE
## Objective: Foundation — Predictor-planner adversarial feedback loop
- [x] Predictor formula exists (run-predictor.toml)
- [x] Planner prediction triage step defined
- [x] Prediction workflow labels created on Forgejo (#225 — closed)
- [x] Predictor filing predictions (7 predictions triaged across runs 2-3)
Status: DONE
## --- FOUNDATION MILESTONE: DONE ---
## Objective: Foundation+ — Infrastructure maturity
- [x] CLAUDE_CONFIG_DIR rollout (#641-#646 — all closed)
- [x] Credential handling cleanup (#669, #671 — closed)
- [x] Agent profile/journal fixes (#651, #652, #663 — closed)
- [x] Cron intervals configured (#682 — closed)
- [x] Remove external flock (#647 — closed)
Status: DONE
## --- FOUNDATION+ MILESTONE: DONE ---
## Objective: Adoption — One-command bootstrap (disinto init → disinto up)
- [x] disinto init re-run stability (#158 — closed)
- [x] disinto init repo creation API endpoint (#164 — closed)
- [x] Prediction labels created during init (#225 — closed)
- [x] Ops repo migration code merged (#425 — closed)
- [x] Ops repo migration auto-triggers on agent startup (#688 — closed)
- [ ] End-to-end bootstrap verification with example project (#697 — vision, priority)
Status: READY — migration works, needs end-to-end verification
## Objective: Adoption — Built-in Forgejo + Woodpecker CI
- [x] Docker compose with Forgejo + Woodpecker
- [x] Woodpecker OAuth2 redirect URI fix (#172 — closed)
- [x] WOODPECKER_HOST override fix (#178 — closed)
Status: DONE
## Objective: Adoption — Landing page communicating value proposition
- [x] Website addressable exists (disinto.ai)
- [ ] Website observability — no engagement measurement (#426 — vision, priority)
Status: BLOCKED — no evidence process connected to website
## Objective: Adoption — Example project demonstrating full lifecycle
- [x] Bootstrap path unblocked (#688 — closed)
- [ ] Example project design and implementation (#697 — vision, priority)
Status: BLOCKED — #697 awaiting architect decomposition
## Objective: Adoption — Architect lifecycle completeness
- [x] Architect closes parent vision issues when sprint sub-issues complete (#689 — closed)
- [x] Architect-run.sh signature bug fixed (#690 — closed)
- [x] Architect review response handling fixed (#718 — closed)
- [x] Architect URL construction fixed (#717 — closed)
- [x] Architect pitch output fixed (#716 — closed)
- [x] Architect false-completion bug fixed (#735 — closed)
- [x] close_vision_issue error handling (#737 — closed)
Status: DONE
## Objective: Adoption — Dev agent pipeline reliability
- [x] Dev-poll deadlock in same-container case (#693 — closed)
- [x] Profile journal digestion hang (#702 — closed)
- [ ] Credential helper race on cold boot (#741 — bug-report, priority, backlog)
Status: IN PROGRESS — #741 blocks factory self-healing (3 incidents in 2 days)
## Objective: Adoption — Assistant (disinto-chat) (#623)
- [x] Caddy subpath routing skeleton (#704 — closed)
- [x] Chat container scaffold (#705 — closed)
- [x] Chat sandbox hardening (#706 — closed)
- [x] Forgejo OAuth gate (#708 — closed)
- [x] Caddy Remote-User forwarding + validation (#709 — closed)
- [x] Cost caps + rate limiting (#711 — closed)
- [x] Conversation history persistence (#710 — closed)
- [x] Per-project subdomain fallback (#713 — closed)
- [ ] Claude identity isolation (#707 — in-progress/stuck, ci_exhausted 3x)
- [ ] Escalation tools (#712 — blocked, ci_exhausted 3x, stale PR #733)
- [ ] CI reliability investigation for repeated chat CI failures (needed)
Status: STUCK — 8/10 closed, #707 and #712 both stuck on repeated CI exhaustion (3+ failures each)
## Objective: Ship (Fold 2) — Deploy profiles per artifact type
- [ ] No deploy profiles defined
- [x] CI pipeline working (Woodpecker OAuth fixed)
Status: BLOCKED — not started, needs design (vision-level)
## Objective: Ship (Fold 2) — Vault-gated fold transitions
- [x] Vault redesign complete (#73-#77 — all closed)
- [x] Vault PR workflow documented (docs/VAULT.md)
- [x] Vault directories complete in ops repo (#688 — closed)
- [ ] Fold transition logic not implemented
Status: BLOCKED — needs design for fold gate mechanics
## Objective: Ship (Fold 2) — Engagement measurement baked into deploy pipelines
- [ ] No engagement measurement exists
- [ ] No observables yet (AGENTS.md confirms)
Status: BLOCKED — depends on deploy profiles + website observability (#426)
## Objective: Ship (Fold 2) — Rent-a-human for gated channels
- [x] run-rent-a-human formula exists
- [ ] Not yet exercised in production
Status: READY
## Objective: Ship (Fold 2) — Assumptions register
- [ ] No assumptions register exists
Status: BLOCKED — not started
## Objective: Learn (Fold 3) — Observable-driven planning
- [ ] No observables exist yet
Status: BLOCKED — depends on Ship milestone (engagement measurement)
## Objective: Learn (Fold 3) — Predictor challenges assumptions against signals
- [ ] Requires observables + assumptions register
Status: BLOCKED — depends on Ship milestone
## Objective: Learn (Fold 3) — Audience variation + signal detection
- [ ] Requires observables
Status: BLOCKED — depends on Ship milestone