Files
mattpocock-skills-opencode/.opencode/state/status.md
T
2026-10-14 12:48:52 +02:00

63 lines
3.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.
# Project status
Updated: 2026-10-14 (Phase 1 COMPLETE — quality gate passed)
## Current phase
Phase 1 done: plugin installs, loads in OpenCode v2.0.29, skills inject, package builds,
`@haylan/opencode-pocock@0.1.0` published to the Gitea registry (release run 5684), install-from-
registry verified, nightly workflow proven (dispatch run 5685: github.com reachable, no-change
early exit). Remaining: Phase 2.5 (manual token-spending orchestration run) and 2.7 (observe a
week of nightlies).
## Done
- Phase 0 analysis complete: architecture, 38-skill classification matrix, decisions D1–D8,
verified V2 API surface (docs + `@opencode/plugin@2.0.29` typings + live runtime).
- Package scaffolded: `@haylan/opencode-pocock` (name confirmed by owner), TS ESM, prettier,
`node --test` on .ts, MIT + NOTICE attributions (Matt Pocock, Dex Horthy, mcdays94, fastcrw).
- `scripts/sync-upstream.ts`: pristine snapshot vendoring @49dd158 (v1.3.1, 38 skills), early exit
on no-change, needs-review classification entries for new skills, previous_commit/last_diff in
state for the changelog generator.
- `scripts/generate.ts`: skills/ tree (verbatim, minus agents/openai.yaml), manifest.json (31
skills, autoinvoke from upstream DMI), docs/skill-mapping.md matrix between markers.
- Plugin `src/index.ts` (id `haylan.pocock`): injects all manifest skills (frontmatter-stripped
content, absolute package paths), opt-in `guardrails` tool hook (upstream pattern list ported),
agent missing/stale warning via `.pocock-version` stamp. Fails loudly on bad options.
- `src/init.ts` bin: copies agents to project/global agents dir, never clobbers modified files
without --force, stamps version.
- Agents (V2-native frontmatter only): `pocock` (primary orchestrator, worktree dispatch loop),
`pocock-worker` (subagent, skill allow-list tdd/codebase-design/diagnosing-bugs, git/gh denies,
no subagents), `pocock-reviewer` (subagent, read-only code-review axis executor).
- Release pipeline: `scripts/version.ts` (changelog-driven minor bump, idempotent per upstream
SHA) + `scripts/release.ts` (Gitea npm registry publish via HTTP, tag, package link; adapted
from fastcrw) + CHANGELOG.md with 0.1.0 prepared.
- Workflows: check.yml (PR+push), nightly.yml (sync→generate→format/check/test/build→version→
commit-back→publish+tag+link, secrets-only), smoke.yml (dispatch-only, installs opencode).
- `scripts/smoke.ts` — PASS on opencode v2.0.29: plugin active, 31 skills registered (16 hidden),
agents decoded with full permission arrays. Findings: docs/runtime-checks.md.
- Test suite: 32 unit/integration tests green (parser, generator+real-snapshot regression, sync
diff, plugin fake-ctx, init, drift gates, release/version helpers).
## Known gaps / risks
- 2.5 not done: no token-spending end-to-end orchestration run yet (pocock building a fixture
spec with parallel workers). Drift/unit/smoke suites cover the deterministic surface.
- 2.7: nightlies need a week of green runs before "stable" is declared; first scheduled run
2026-10-15 03:30 UTC.
- Background subagents in V2 (env-gated in V1) not verified; orchestrator text works either way.
- Windows-only smoke quirk: fixture temp dir deletion can lag (EPERM warning, harmless); CI is
Linux.
- `request.body` overlays accepted but not sent by the V2 runner — agents avoid them.
- Skill id collisions with pre-existing file-based installs resolve to the file copy (silent).
## Next steps (exact)
1. 2.5: manual orchestration run — fixture project with spec + 3 tickets (2 independent, 1
blocked), run `opencode --agent pocock`, verify worktree loop/merges/review/permissions;
record in docs/runtime-checks.md.
2. Watch nightly runs for a week (2.7); on upstream release (17 pending changesets), verify the
full sync→generate→publish→commit-back cycle end-to-end.
3. Then declare stable and announce; keep classification.json current when upstream promotes
in-progress skills.