4 Commits
Author SHA1 Message Date
John Smith 8ee3efd9bc Wave 8: remediate all AUDIT_REPORT_FINDINGS (P0 guards/taint/symlink, P1 roles/SSRF/rollback/retry, P2/P3 deps/CI/receipts)
- OH-6.2: explicit evaluatePermission in every harness execute (index + host adapter)
- OH-6.5: canonicalized shell classifier (sudo/env/-u/-g, basenames, git globals, refspec force, .. fail-closed, write over unwrapped)
- OH-6.6: MCP server_tool taint ids, fork inheritance, broadened denylist
- OH-6.3: realpath containment on all writers (hashline, ast, rename, tx, checkpoints)
- OH-6.1: NFKC role normalization + unknown-role least privilege
- OH-7.4: SSRF default-deny + allowlist + redirect guard; OH-7.3 scoped-test containment
- OH-2.1: zod v4 native toJSONSchema, bridge removed; TS 7.0.2; @types/bun 1.4.3
- OH-3.4/4.6: sabotage-catching rollback + retry tests; OH-4.8 created-file receipts
- OH-1.4/1.5/4.3/8.1: run.sh, SHA-pinned CI + upstream verify, hunk error, optional browser peers
- 62 new tests (267 green), scripts/accept/wave-8.sh + docs/reports/wave-8.md
2026-10-17 02:32:00 -04:00
Claude 7e37432d4c Get the harness ready for a public npm release
- Drop the unused pi-hashline-readmap dependency, which pulled a whole
  separate coding agent and several LLM SDKs into every install
  (444 MB -> 38 MB of node_modules).
- Put the Muse 1.3 system prompt calibration behind a new
  `museCalibration` option, off by default, so the plugin no longer
  rewrites the system prompt for every model.
- Publish workflow: pin setup-bun and Bun, install with --ignore-scripts,
  refuse a tag that doesn't match package.json, and run make check,
  make accept and the real OpenCode host test before publishing.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01Qe5Gj5WofxvQkfnptRJ7ym
2026-10-16 22:14:27 +00:00
Claude de9ab5c5db fix: make the plugin work in the real OpenCode V2 host
- Pass tool inputs to the host as plain JSON Schema (toHostInputSchema via
  zod-to-json-schema). The host rejects zod v3 schemas, so every tool was
  silently dropped at registration.
- setup() now awaits every hook/transform registration and resolves to a
  cleanup function that disposes them; returning the doctor report made the
  host crash on unload. setupOpenCodeV2Harness() exposes the report.
- Read plugin options from ctx.options (where the host delivers them).
- MCP server seeding is opt-in (seedRecommendedMcp) and uses the
  Mcp.LocalConfig shape; it no longer runs bunx/npx --yes by default.
- Meta.txt calibration falls back to a one-line matcher if upstream rewords
  the subagent bullet; documented the event.system amendment in README/SPEC.
- Single version source (src/version.ts), bumped to 1.0.7.
- Tests: host contract, partial hashline anchor mismatch, calibration.
- make host-test / scripts/host-test: loads the plugin into anomalyco/opencode
  at a pinned commit via the upstream plugin fixture.
- CI workflow: check, accept, build, and the real-host test on every PR.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_012AuVk4nEvBXaTjs4G6wdW4
2026-10-16 14:58:42 +00:00
John Smith 18be48c21f chore: baseline scaffolding (Step 0) - AGENTS.md, SPEC.md, package.json, Makefile, tsconfig 2026-10-15 17:46:27 -04:00