Disinto is an autonomous code factory with nine agents that implement issues,
review PRs, plan from a vision, predict risks, groom the backlog, gate
actions, and assist the founder — all driven by cron and Claude.
| Variable | Purpose |
|---|---|
| ---------- | --------- |
FORGE_TOKEN | Forgejo/Gitea API token with repo scope |
FORGE_API | Base API URL, e.g. https://forge.example/api/v1/repos/owner/repo |
PROJECT_REPO_ROOT | Absolute path to the checked-out disinto repository |
Optional:
| Variable | Purpose |
|---|---|
| ---------- | --------- |
WOODPECKER_SERVER | Woodpecker CI base URL (for pipeline queries) |
WOODPECKER_TOKEN | Woodpecker API bearer token |
WOODPECKER_REPO_ID | Numeric repo ID in Woodpecker |
| Agent | Role | Runs via |
|---|---|---|
| ------- | ------ | ---------- |
| Dev | Picks backlog issues, implements in worktrees, opens PRs | dev/dev-poll.sh (cron) |
| Review | Reviews PRs against conventions, approves or requests changes | review/review-poll.sh (cron) |
| Gardener | Grooms backlog: dedup, quality gates, dust bundling, stale cleanup | gardener/gardener-run.sh (cron 0,6,12,18 UTC) |
| Planner | Tracks vision progress, maintains prerequisite tree, files constraint issues | planner/planner-run.sh (cron daily 07:00 UTC) |
| Predictor | Challenges claims, detects structural risks, files predictions | predictor/predictor-run.sh (cron daily 06:00 UTC) |
| Supervisor | Monitors health (RAM, disk, CI, agents), auto-fixes, escalates | supervisor/supervisor-run.sh (cron */20) |
| Action | Executes operational tasks dispatched by planner via formulas | action/action-poll.sh (cron) |
| Vault | Gates dangerous actions, manages resource procurement | vault/vault-poll.sh (cron) |
| Exec | Interactive executive assistant reachable via Matrix | exec/exec-session.sh |
Planner ──creates-issues──▶ Backlog ◀──grooms── Gardener
│ │
│ ▼
│ Dev (implements)
│ │
│ ▼
│ Review (approves/rejects)
│ │
│ ▼
▼ Merged
Predictor ──challenges──▶ Planner (triages predictions)
Supervisor ──monitors──▶ All agents (health, escalation)
Vault ──gates──▶ Action, Dev (dangerous operations)
Exec ──delegates──▶ Issues (never writes code directly)
backlog → in-progress → PR → CI → review → merge → closed.
Key labels: backlog, priority, in-progress, blocked, underspecified,
tech-debt, vision, action, prediction/unreviewed.
Issues declare dependencies in a ## Dependencies section listing #N
references. Dev-poll only picks issues whose dependencies are all closed.
scripts/factory-status.sh — Show agent status, open issues, and CI pipeline state. Pass --agents, --issues, or --ci for specific sections.
scripts/file-issue.sh — Create an issue on the forge with proper labels and formatting. Pass --title, --body, and optionally --labels.
scripts/read-journal.sh — Read agent journal entries. Pass agent name (planner, supervisor, exec) and optional --date YYYY-MM-DD.
bash scripts/factory-status.sh
This shows: which agents are active, recent open issues, and CI pipeline
status. Use --agents for just the agent status section.
bash scripts/read-journal.sh planner
Returns today's planner journal: predictions triaged, prerequisite tree
updates, top constraints, issues created, and observations.
bash scripts/file-issue.sh --title "fix: broken auth flow" \
--body "$(cat scripts/../templates/issue-template.md)" \
--labels backlog
Or generate the body inline — the template shows the expected format with
acceptance criteria and affected files sections.
python3 "${PROJECT_REPO_ROOT}/lib/build-graph.py" \
--project-root "${PROJECT_REPO_ROOT}" \
--output /tmp/graph-report.json
cat /tmp/graph-report.json | jq '.analyses'
The graph builder parses VISION.md, the prerequisite tree, formulas, and open
issues. It detects: orphan issues (not referenced), dependency cycles,
disconnected clusters, bottleneck nodes, and thin objectives.
bash scripts/factory-status.sh --ci
Or query Woodpecker directly:
curl -s -H "Authorization: Bearer ${WOODPECKER_TOKEN}" \
"${WOODPECKER_SERVER}/api/repos/${WOODPECKER_REPO_ID}/pipelines?per_page=5" \
| jq '.[] | {number, status, commit: .commit[:8], branch}'
Read VISION.md at the repo root for the full vision. Then cross-reference
with the prerequisite tree:
cat "${PROJECT_REPO_ROOT}/planner/prerequisite-tree.md"
The prerequisite tree maps vision objectives to concrete issues. Items marked
[x] are complete; items marked [ ] show what blocks progress. The planner
updates this daily.
time. Don't file issues expecting parallel work.
descriptions, or comments. Use $VAR_NAME references.
formulas/ are TOML issue templatesfor multi-step agent tasks. Skills teach assistants; formulas drive agents.
lives in prediction/unreviewed and prediction/actioned issues.
state/.{agent}-active files.These are presence files, not logs.
.sh files must pass ShellCheck. CI enforces this.共 1 个版本