disinto/planner/prerequisite-tree.md
openhands f2064ba67c fix: Remove escalation — planner routes through vault instead (#721)
Remove ESCALATED signal and escalation handling from planner, supervisor,
and gardener. When blocked on external resources or human decisions, these
agents now file vault procurement items (vault/pending/*.md) instead of
escalating directly to the human.

Changes:
- Planner formula: ESCALATED signal replaced with HUMAN_BLOCKED; files
  vault items and marks prerequisites as blocked-on-vault
- Supervisor formula/prompt: escalation sections replaced with vault item
  filing; preflight now reports pending vault items instead of escalation
  replies
- Gardener formula: ESCALATE action replaced with VAULT action; files
  vault/pending/*.md for human decisions
- Groom-backlog formula: same ESCALATE→VAULT replacement
- Gardener shell: PHASE:escalate replaced with PHASE:failed for merge
  blocks and CI exhaustion; escalation reply consumption removed
- Supervisor shell: escalation reply consumption removed from both
  supervisor-run.sh and legacy supervisor-poll.sh
- Prerequisite tree: #466 updated from "escalated" to "blocked-on-vault"

The vault is the factory's only interface to the human for resources and
approvals. Dev/action agents retain PHASE:escalate for operational session
issues (CI timeouts, merge blocks) which are a different mechanism.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 09:09:58 +00:00

3.3 KiB

Prerequisite Tree

Objective: One-command bootstrap — disinto init (#393)

  • Core agent loop stable (Foundation)
  • Multi-project support (Foundation)
  • Guard allows formula agents in worktrees (#487)
  • Bundled dust cleanup — set-euo-pipefail (#516)
  • Agent-session.sh pre-register worktree trust (#514)
  • Bootstrap hardening — Forgejo INSTALL_LOCK (#634), su-exec (#635), admin user (#636), DNS (#637), crontab (#638), auth (#652), remote target (#653), token creation (#658)
  • Agents container reaches Forgejo — env.sh override (#660)
  • Woodpecker CI wiring during init (#661)
  • End-to-end init smoke test (#668) Status: DONE — all prerequisites resolved, init fully functional

Objective: Documentation site with quickstart (#394)

  • disinto init working (#393) Status: DONE — #394 closed

Objective: Metrics dashboard (#395)

  • disinto init working (#393)
  • Supervisor formula stable Status: DONE — #395 closed

Objective: Example project demonstrating full lifecycle (#466)

  • disinto init working (#393)
  • Human decision on implementation approach (external repo vs local demo) — blocked-on-vault Status: BLOCKED — bounced by dev-agent (too large), routed to vault for human decision

Objective: Landing page communicating value proposition (#534)

  • disinto init working (#393)
  • Documentation site live (#394)
  • Planner-created issues retain labels reliably (#535) Status: DONE — #534 closed

Objective: Autonomous PR merge pipeline (#568)

  • PreToolUse guard allows merge API calls from phase-handler (#568) Status: DONE — #568 closed

Objective: Unified escalation path (#510)

  • PHASE:escalate replaces PHASE:needs_human (supersedes #465) Status: DONE — #510 closed

Objective: Vault as procurement gate + RESOURCES.md inventory (#504)

  • RESOURCES.md exists
  • Vault poll scripts deployed (vault-poll.sh) Status: DONE — #504 closed

Objective: Factory operational reliability

  • check_active guard logs when skipping (#663)
  • Supervisor cleans stale PHASE:escalate files (#664) Status: DONE — both fixes merged

Objective: Exec agent — interactive executive assistant (#699)

  • Matrix bot infrastructure
  • CHARACTER.md personality definition
  • exec-session.sh implementation Status: DONE — #699 closed

Objective: Rent-a-human — formula-dispatchable human action drafts (#679)

  • Formula infrastructure (run-rent-a-human.toml)
  • Vault gating for human actions Status: DONE — #679 closed

Objective: Skill package distribution (#710 → #711 → #712)

  • Create disinto skill package — SKILL.md + helper scripts (#710) — in backlog, priority
  • Publish to ClawHub registry (#711) — in backlog, depends on #710
  • Submit to secondary registries (#712) — in backlog, depends on #711
  • Evaluate MCP server wrapper (#713) — in backlog, independent
  • Note: #714, #715 flagged as duplicates of #710, #711 — pending gardener cleanup Status: READY — no blocking prerequisites

Objective: Observable addressables — engagement measurement (#718)

  • Lightweight analytics on disinto.ai (#718) — in backlog
  • Deploy formula verifies measurement is live
  • Planner consumes engagement data Status: READY — Ship milestone, Fold 2 → Fold 3 bridge