63 lines
3.9 KiB
Markdown
63 lines
3.9 KiB
Markdown
# 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.
|