chore: planner run 2026-04-14 #28
16 changed files with 128 additions and 31 deletions
5
RESOURCES.md
Normal file
5
RESOURCES.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# RESOURCES
|
||||
|
||||
## Overview
|
||||
|
||||
<!-- Add content here -->
|
||||
0
evidence/engagement/.gitkeep
Normal file
0
evidence/engagement/.gitkeep
Normal file
0
evidence/evolution/.gitkeep
Normal file
0
evidence/evolution/.gitkeep
Normal file
0
evidence/holdout/.gitkeep
Normal file
0
evidence/holdout/.gitkeep
Normal file
0
evidence/red-team/.gitkeep
Normal file
0
evidence/red-team/.gitkeep
Normal file
0
evidence/user-test/.gitkeep
Normal file
0
evidence/user-test/.gitkeep
Normal file
0
knowledge/.gitkeep
Normal file
0
knowledge/.gitkeep
Normal file
|
|
@ -1,28 +1,36 @@
|
|||
<!-- summarized-through-run: 2 -->
|
||||
<!-- summarized-through-run: 5 -->
|
||||
# Planner Memory
|
||||
Last updated: 2026-04-08
|
||||
Last updated: 2026-04-14
|
||||
|
||||
## Run history
|
||||
- Run 1 (2026-04-05): First planning run. Established prerequisite tree from VISION.md.
|
||||
- Run 2 (2026-04-08): Foundation milestone completed. All 5 blockers resolved. Triaged 4 predictor predictions (all actioned). Filed #425 (ops repo migration) and #426 (website observability). Focus shifted to Adoption milestone.
|
||||
- Run 2 (2026-04-08): Foundation milestone completed. Triaged 4 predictor predictions. Filed #425, #426.
|
||||
- Run 3 (2026-04-11): Infrastructure maturity work (#641-#652, #663, #669, #671, #682).
|
||||
- Run 4 (2026-04-11): Foundation+ DONE. Adoption architect DONE (#689, #690). Ops migration DONE (#688). Filed #697.
|
||||
- Run 5 (2026-04-12): Dev pipeline reliability DONE (#693, #702 closed). Chat 8/10 (#710, #713 closed). Found architect false-completion bug → filed #735. 0 predictions.
|
||||
- Run 6 (2026-04-12): #735 CLOSED (architect false-completion bug). #737 NEW tech-debt (close_vision_issue error handling). Relabeled #707, #712 blocked→backlog for ci_exhausted retry. Added priority+backlog to #737. 0 predictions. 0 new issues filed.
|
||||
- Run 7 (2026-04-14): #737 CLOSED, #741 CLOSED. Architect decomposed #426 into sprint (4 sub-issues #745-#748). Labeled all sub-issues backlog. Created vault pending item for SSH key. #749 new bug (dev-poll post-crash deadlock, in-progress). #742 CI exhaustion investigation in-progress. #707/#712 re-blocked pending #742. 0 predictions. 0 new issues filed.
|
||||
|
||||
## Current constraint focus
|
||||
1. **Ops repo migration** (#425) — existing deployments missing evidence/, sprints/, portfolio.md, RESOURCES.md, vault subdirs. Blocks evidence collection for all agents. Priority+backlog.
|
||||
2. **Website observability** (#426) — disinto.ai has no analytics/measurement. Blocks Adoption landing page and Ship engagement measurement. Vision-level (design decisions needed).
|
||||
3. **Example project** — none exists. Blocked on bootstrap verification after #425.
|
||||
4. **Deploy profiles** — not started. Vision-level design needed for per-artifact-type deployment.
|
||||
5. **Assumptions register** — not started. Ship (Fold 2) prerequisite.
|
||||
1. **Website observability sprint** (#426) — architect decomposed. #747 (evidence dir, priority) → #745 (formula) → #746 (format guard). #748 (SSH docs) parallel. SSH key blocked-on-vault. First factory observable in progress.
|
||||
2. **Dev-poll post-crash deadlock** (#749) — in-progress, dev-bot. Self-assigned issues not recovered after container crash. Same class as #741 (startup state vs Forgejo state).
|
||||
3. **CI exhaustion investigation** (#742) — in-progress, dev-qwen. Blocks #707/#712 (last 2 chat sub-issues for #623).
|
||||
4. **Example project** (#697) — vision, priority. Awaiting architect decomposition. Architect should pick up next run.
|
||||
5. **Deploy profiles** — not started. Vision-level. Blocks Ship milestone. Do not file until Adoption shows more progress.
|
||||
|
||||
## Patterns observed
|
||||
- Foundation milestone completed in ~10 days (2026-03-28 to 2026-04-08). High bug fix velocity once dev-agent pipeline was reliable.
|
||||
- Predictor-planner loop working: predictor filed 4 accurate predictions, planner actioned all 4. The adversarial feedback catches stale state and planner drift effectively.
|
||||
- Predictor correctly identified planner filing Fold 2/3 vision issues (#418, #419) while Foundation was incomplete — planner must verify milestone completion before advancing.
|
||||
- Ops repo structural debt: setup_ops_repo() creates dirs for new repos but doesn't migrate existing ones. Pattern will recur with future schema changes.
|
||||
- No observables exist — all 4 addressables (website, repo, skill, github org) lack measurement. This is the fundamental gap between Adoption and Ship.
|
||||
- Foundation completed in ~10 days, Foundation+ in ~3 days, dev pipeline reliability in ~1 day. Execution velocity increasing.
|
||||
- **Architect lifecycle fully operational**: decomposed #426 into clean sprint with 4 sub-issues. First successful end-to-end architect cycle since bug fixes (#716-#718, #735, #737).
|
||||
- Cold-boot resilience is a recurring theme: #741 (credential race), #749 (self-assigned deadlock). Both are startup-state-vs-Forgejo-state reconciliation bugs.
|
||||
- Chat assistant (#623) 8/10 done. Final 2 (#707, #712) blocked on CI investigation (#742). If #742 resolves, chat could complete quickly.
|
||||
- No predictor activity (0 predictions in runs 4-7). Stable system or quiet predictor.
|
||||
- Graph grew: 206→213 nodes, 271→289 edges. No cycles, no bottlenecks.
|
||||
- **First observable in progress** — #426 decomposition is the first concrete step toward measurement. Fundamental gap being addressed.
|
||||
|
||||
## Strategic direction
|
||||
- Foundation DONE. Adoption is now the active milestone.
|
||||
- #425 is the single blocking issue — once ops repo dirs exist, evidence collection unblocks and bootstrap is complete.
|
||||
- After #425: focus on example project (demonstrates full lifecycle) and website observability (#426).
|
||||
- Do NOT file Ship/Learn issues until Adoption objectives show progress. Predictor will check.
|
||||
- Graph report is healthy: 165 nodes, 137 edges, no cycles, no bottlenecks. 7 orphans are benign (closed issues, unused formulas/labels).
|
||||
- Adoption is the active milestone. 6 of 8 Adoption objectives DONE (Architect lifecycle now DONE with #737 closed).
|
||||
- **Critical path**: #747 → #745 → #746 (website observability chain) + vault SSH key provisioning. This is the path to the factory's first observable.
|
||||
- #697 needs architect decomposition — should happen on next architect run.
|
||||
- #749 and #742 are active reliability work — let them complete.
|
||||
- Do NOT file Ship/Learn issues until website observability is wired (#426 chain completes).
|
||||
- RESOURCES.md and portfolio.md remain empty — populate when first observable materializes.
|
||||
|
|
|
|||
5
portfolio.md
Normal file
5
portfolio.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Portfolio
|
||||
|
||||
## Overview
|
||||
|
||||
<!-- Add content here -->
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
# Prerequisite Tree
|
||||
<!-- Last updated: 2026-04-08 -->
|
||||
<!-- Last updated: 2026-04-14 -->
|
||||
|
||||
## Objective: Foundation — Core agent loop (dev → CI → review → merge)
|
||||
- [x] dev-agent picks up backlog issues (dev/dev-agent.sh exists)
|
||||
|
|
@ -18,7 +18,7 @@ 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 and maintaining prerequisite tree (run 1: 2026-04-05, run 2: 2026-04-08)
|
||||
- [x] Planning runs established (runs 1–7)
|
||||
Status: DONE
|
||||
|
||||
## Objective: Foundation — Multi-project support
|
||||
|
|
@ -29,24 +29,37 @@ 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 (165 nodes, 137 edges as of 2026-04-08)
|
||||
- [x] Graph report generating successfully (213 nodes, 289 edges as of 2026-04-14)
|
||||
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 (4 predictions triaged in run 2)
|
||||
- [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)
|
||||
- [x] Credential helper race on cold boot (#741 — 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)
|
||||
- [ ] Ops repo migration for existing deployments (#425 — backlog+priority)
|
||||
Status: BLOCKED — #425 ops repo missing dirs on existing deployments
|
||||
- [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
|
||||
|
|
@ -56,13 +69,49 @@ Status: DONE
|
|||
|
||||
## Objective: Adoption — Landing page communicating value proposition
|
||||
- [x] Website addressable exists (disinto.ai)
|
||||
- [ ] Website observability — no engagement measurement (#426 — vision)
|
||||
Status: BLOCKED — no evidence process connected to website
|
||||
- [ ] Website observability (#426 — vision, priority, architect-decomposed into sprint)
|
||||
- [x] Architect decomposition complete (sprint: website-observability-wire-up, ops PR #10)
|
||||
- [ ] Evidence/engagement directory setup + ops-setup wiring (#747 — backlog, priority)
|
||||
- [ ] Collect-engagement formula + container script (#745 — backlog, depends on #747)
|
||||
- [ ] Format-detection guard in collect-engagement.sh (#746 — backlog, depends on #745)
|
||||
- [ ] Rent-a-human SSH key setup docs (#748 — backlog)
|
||||
- [ ] SSH key provisioned on Caddy host — blocked-on-vault ($OPS_REPO_ROOT/vault/pending/disinto-caddy-ssh-key.md)
|
||||
Status: IN PROGRESS — architect decomposed, sub-issues labeled, SSH key needs human provisioning
|
||||
|
||||
## Objective: Adoption — Example project demonstrating full lifecycle
|
||||
- [ ] No example project exists
|
||||
- [ ] Requires verified bootstrap (#425)
|
||||
Status: BLOCKED — depends on bootstrap completion and ops repo migration
|
||||
- [x] Bootstrap path unblocked (#688 — closed)
|
||||
- [ ] Example project design and implementation (#697 — vision, priority, awaiting architect decomposition)
|
||||
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)
|
||||
- [ ] Dev-poll post-crash deadlock — self-assigned issue never recovered (#749 — in-progress, priority)
|
||||
Status: IN PROGRESS — #749 being worked by dev-bot
|
||||
|
||||
## 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 — blocked, pending #742 CI investigation)
|
||||
- [ ] Escalation tools (#712 — blocked, priority, pending #742 CI investigation)
|
||||
- [ ] CI exhaustion investigation (#742 — in-progress, priority, assigned to dev-qwen)
|
||||
Status: IN PROGRESS — 8/10 sub-issues closed, #742 investigating CI failures blocking #707/#712
|
||||
|
||||
## Objective: Ship (Fold 2) — Deploy profiles per artifact type
|
||||
- [ ] No deploy profiles defined
|
||||
|
|
@ -72,8 +121,9 @@ 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)
|
||||
- [ ] Vault directories complete in ops repo (#425 — approved/fired/rejected missing)
|
||||
Status: BLOCKED — #425 ops repo dirs needed for vault workflow
|
||||
- [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
|
||||
|
|
|
|||
0
sprints/.gitkeep
Normal file
0
sprints/.gitkeep
Normal file
0
vault/approved/.gitkeep
Normal file
0
vault/approved/.gitkeep
Normal file
0
vault/fired/.gitkeep
Normal file
0
vault/fired/.gitkeep
Normal file
0
vault/pending/.gitkeep
Normal file
0
vault/pending/.gitkeep
Normal file
29
vault/pending/disinto-caddy-ssh-key.md
Normal file
29
vault/pending/disinto-caddy-ssh-key.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Request: Caddy host SSH key for engagement data collection
|
||||
|
||||
## What
|
||||
Provision a dedicated SSH keypair with `command=` restriction on the Caddy host serving disinto.ai. This key allows the edge container to fetch access logs for engagement measurement.
|
||||
|
||||
## Why
|
||||
Blocks #745 (collect-engagement formula) and #426 (website observability).
|
||||
The factory cannot make disinto.ai an observable without reading access logs from the Caddy host.
|
||||
Waiting since 2026-04-14.
|
||||
|
||||
## Human action
|
||||
1. Generate keypair: `ssh-keygen -t ed25519 -f caddy-collect -N '' -C 'disinto-collect-engagement'`
|
||||
2. Install public key on Caddy host in `~/.ssh/authorized_keys` with restriction:
|
||||
```
|
||||
command="cat /var/log/caddy/access.log",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-ed25519 AAAA... disinto-collect-engagement
|
||||
```
|
||||
3. Ensure Caddy is configured for JSON structured access log format
|
||||
4. Add private key as `CADDY_SSH_KEY` to `.env.vault.enc`
|
||||
5. Add Caddy host address as `CADDY_HOST` to `.env.vault.enc`
|
||||
6. Test: `ssh -i caddy-collect user@caddy-host` should output the access log and disconnect
|
||||
|
||||
## Factory will then
|
||||
- Run `collect-engagement` formula daily via edge container cron
|
||||
- Commit evidence JSON to `evidence/engagement/YYYY-MM-DD.json` in ops repo
|
||||
- Planner uses evidence data to assess landing page effectiveness
|
||||
|
||||
## Unblocks
|
||||
- #745 — collect-engagement formula + container script
|
||||
- #426 — website observability (parent vision issue)
|
||||
0
vault/rejected/.gitkeep
Normal file
0
vault/rejected/.gitkeep
Normal file
Loading…
Add table
Add a link
Reference in a new issue