disinto-ops/prerequisites.md
2026-04-15 02:41:51 +00:00

151 lines
6.9 KiB
Markdown
Raw 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-15 -->
## 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 18)
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 (206 nodes, 286 edges as of 2026-04-15)
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 (#426 — vision, priority, architect sprint 3/4 done)
- [x] Evidence/engagement directory setup (#747 — closed)
- [x] Format-detection guard in collect-engagement.sh (#746 — closed)
- [x] Rent-a-human instructions for Caddy host SSH key setup (#748 — closed)
- [ ] Collect-engagement formula + container script (#745 — backlog, priority)
Status: IN PROGRESS — 3/4 sub-issues closed, #745 is the last remaining piece
## Objective: Adoption — Example project demonstrating full lifecycle
- [x] Bootstrap path unblocked (#688 — closed)
- [ ] Example project design and implementation (#697 — vision, priority, awaiting architect decomposition)
Status: BLOCKED — #697 not yet decomposed by architect
## 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)
- [x] Dev-poll post-crash deadlock recovery (#749 — closed)
- [x] Credential helper race on cold boot (#741 — closed)
- [x] CI smoke test non-determinism fixed (#742 — closed, PR #754 merged)
- [x] Entrypoint wait deadlock fixed (#753 — closed, PR #755 merged)
Status: DONE
## 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 — backlog, priority, CI root cause #742 fixed, ready for retry)
- [ ] Escalation tools (#712 — backlog, priority, CI root cause #742 fixed, ready for retry)
Status: IN PROGRESS — 8/10 sub-issues closed, 2 unblocked for retry (stale assignments cleared)
## 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
- [ ] Website observability sprint in progress (#426)
- [ ] No other observables yet
Status: BLOCKED — depends on #426 completion + deploy profiles
## Objective: Ship (Fold 2) — Rent-a-human for gated channels
- [x] run-rent-a-human formula exists
- [x] First exercise: Caddy SSH key setup (#748 — closed, rent-a-human instructions written)
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