Files
2026-10-14 12:34:57 +02:00

3.7 KiB
Raw Permalink Blame History

Project status

Updated: 2026-10-14 (phase 1 implementation, ~90% done)

Current phase

Phase 1 (plugin package) — implementation complete and runtime-verified locally. Remaining: first registry release (1.10) + Gitea secret provisioning, then Phase 2.

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

  • 1.10 not done: package never published to the Gitea registry yet; npm-name plugin entry (resolving through exports) unverified — local directory entry verified instead.
  • PACKAGE_TOKEN Gitea secret must be provisioned by the repo admin before nightly can publish or commit back.
  • Nightly runner network access to github.com unverified (fallback: Gitea mirror of upstream).
  • Windows-only smoke quirk: fixture temp dir deletion can lag (EPERM warning, harmless); CI is Linux.
  • Background subagents in V2 (env-gated in V1) not verified; orchestrator text works either way.
  • request.body overlays accepted but not sent by the V2 runner — agents avoid them.

Next steps (exact)

  1. Run npm run format, npm run check, npm test, npm run build; commit workflows/smoke/docs.
  2. Push to origin; ask owner to add PACKAGE_TOKEN secret (write:package + write:repository).
  3. 1.10: node scripts/release.ts with SERVER_URL/REPOSITORY/SHA/TOKEN env (or dispatch a manual release workflow) → verify plugins: ["@haylan/opencode-pocock"] installs from the registry in a clean fixture; record in docs/runtime-checks.md.
  4. Phase 2 per TODO.md (2.2 guardrails already implemented in 1.4 — verify mapping note; 2.4–2.7).