84 lines
5.3 KiB
Markdown
84 lines
5.3 KiB
Markdown
# TODO
|
|
|
|
Persistent task list. Check off + note outcome; move done items to the bottom log with date.
|
|
State: `.opencode/state/status.md`. Design: `docs/architecture.md`.
|
|
|
|
## Phase 0 — analysis
|
|
|
|
- [x] Inspect repo, fastcrw reference, pocock-agents, upstream skills, OpenCode v2 plugin + agent docs
|
|
- [x] Architecture (docs/architecture.md §1)
|
|
- [x] Plugin API requirements (§3)
|
|
- [x] Agent architecture (§4)
|
|
- [x] Sync strategy (§5)
|
|
- [x] Gitea Actions design (§6)
|
|
- [x] Testing strategy (§7)
|
|
- [x] Phased plan (§9)
|
|
- [x] Skill inventory + classification matrix → docs/skill-mapping.md +
|
|
.opencode/state/classification.json (38 skills analyzed from SKILL.md sources)
|
|
- [x] Commit phase-0 docs
|
|
|
|
## Phase 1 — plugin package
|
|
|
|
- [x] 1.1 scaffold package (`@haylan/opencode-pocock` confirmed by owner 2026-10-14)
|
|
- [x] 1.2 scripts/sync-upstream.ts + vendor upstream/ @49dd158 + state update
|
|
- [x] 1.3 scripts/generate.ts: manifest.json + skills/ output + unit tests (parser, manifest)
|
|
- [x] 1.4 src/index.ts plugin: skill injection (frontmatter-stripped content), options validation,
|
|
agent-staleness warning + fake-ctx integration tests (Skill.Info verified: cast needed for
|
|
effect-branded fields; runtime PASS)
|
|
- [x] 1.5 bin init (copy agents, -g global, no silent overwrite, .pocock-version stamp) + tests
|
|
- [x] 1.6 agents/: pocock + pocock-worker + pocock-reviewer, V2-native frontmatter; drift tests
|
|
(upstream names, worker skill allow-list, reviewer read-only, no subagent recursion)
|
|
- [x] 1.7 scripts/release.ts + version.ts adapted from fastcrw + unit tests
|
|
- [x] 1.8 .gitea/workflows/: check.yml, nightly.yml, smoke.yml (dispatch); scripts/smoke.ts —
|
|
PASS on v2.0.29 (plugin active, 31 skills, 16 hidden, agents + permissions decoded)
|
|
- [x] 1.9 local runtime verification → docs/runtime-checks.md (findings folded into README/AGENTS)
|
|
- [x] 1.10 manual release 0.1.0 to Gitea registry (dispatch run 5684, tag v0.1.0, package linked);
|
|
install-from-registry verified in clean fixture (plugin active as package source, npx init
|
|
works, anonymous registry reads) → docs/runtime-checks.md
|
|
- [x] ask repo admin to add Gitea secret PACKAGE_TOKEN — done 2026-10-14; nightly dispatch run
|
|
5685 proved runner github.com access + no-change early exit
|
|
|
|
## Phase 2 — conversion
|
|
|
|
- [x] 2.1 deep per-skill analysis → .opencode/state/classification.json + docs/skill-mapping.md
|
|
(done in phase 0; generator must regenerate mapping doc from classification.json — keep in 1.3 scope)
|
|
- [x] 2.2 guardrails plugin hook (opt-in, tool.hook execute.before on shell) + tests — shipped in
|
|
Phase 1.4 (src/guardrails.ts); pattern list faithful to upstream block-dangerous-git.sh
|
|
- [x] 2.3 pocock-reviewer: CONFIRMED by analysis (D8) — implemented in 1.6 with read-only
|
|
permissions (edit/subagent/webfetch deny, git-read shell allow-list, skill allow code-review)
|
|
- [x] 2.4 orchestrator V2 flow wiring — done in 1.6: agent text covers background AND batch
|
|
dispatch; slash UX + /tmp default documented in README from runtime findings
|
|
- [x] 2.5 per-skill regression checks (drift suite exists; add manual token-spending orchestration
|
|
run: fixture spec + 3 tickets like pocock-agents smoke) + record in docs/runtime-checks.md
|
|
(DONE 2026-10-14: full PASS on omniroute/qwen3.8-27b, ~63 min, all 3 tickets + review + fixes,
|
|
no product bugs — see docs/runtime-checks.md § "2.5 orchestration run")
|
|
- [x] 2.6 README usage guide + finalize skill-mapping (matrix generated from classification.json)
|
|
- [ ] 2.7 one week of green nightlies -> declare stable (BLOCKED on PACKAGE_TOKEN secret)
|
|
|
|
## Open questions
|
|
|
|
- ~~Exact `Skill.Info`/editor.add field set~~ RESOLVED 2026-10-14 (`@opencode/plugin@2.0.29`):
|
|
`{id, name, description?, autoinvoke?, path, content}`; no `slash` in Info.
|
|
- V2 background subagents: still env-gated? Affects orchestrator dispatch loop wording only
|
|
(agent text covers both modes) — low priority, observe at 2.5.
|
|
- ~~Slash exposure for injected skills~~ RESOLVED: none (runtime check 2026-10-14); README
|
|
documents file-based alternatives.
|
|
- Package name/scope: CONFIRMED `@haylan/opencode-pocock` (owner, 2026-10-14).
|
|
- ~~Does nightly runner have network access to github.com for upstream fetch?~~ VERIFIED
|
|
2026-10-14: nightly dispatch run 5685 success (clone + no-change early exit).
|
|
- ~~Install-from-registry by package name~~ VERIFIED 2026-10-14 (see docs/runtime-checks.md).
|
|
|
|
## Done log
|
|
|
|
- 2026-10-14: phase-0 analysis docs written (AGENTS.md, state/, docs/architecture.md, TODO.md).
|
|
- 2026-10-14: Phase 1 complete — 0.1.0 published to Gitea registry, install-from-registry verified,
|
|
nightly dispatch proven (runs 5684/5685).
|
|
- 2026-10-14: 2.5 orchestration run PASS on local omniroute/qwen3.8-27b (~63 min, 3/3 tickets,
|
|
16/16 tests, worktree loop + resume-worker merge path + review exercised, zero permission
|
|
escapes, zero product bugs) — commit cc9a0dd; suggestions reviewed → D9.
|
|
- 2026-10-14: 2.5 manual orchestration run — `pocock` orchestrator drove a 3-ticket `greeting`
|
|
fixture (omniroute/qwen3.8-27b, ~63 min) end-to-end: parallel workers on isolated worktrees,
|
|
non-ff resume path exercised, two-axis code review, review-fix worker, all 16 tests green on
|
|
`main`, worktrees cleaned, tickets marked done, `EXIT_CODE=0`. **PASS, no product bugs.**
|
|
Recorded in docs/runtime-checks.md § "2.5 orchestration run".
|