githubnext/chopinPublic

Let's compose rich plans together

Fix harness contract boundary checks

Accept adapters with no built-ins and check filtering declarations and emitted tool names rather than scripted call IDs. Count only successful session destruction, with positive and negative fake variants for each boundary.

Assistant-model: GPT-6 Sol
Assistant-workflow: harness-stack (run f6f676b9-6506-489b-93e2-2616ea55c6a8)
Assistant-duration: 15m converged, estimated 20m
Assistant-verification: Bun contract unit passed: 6/6 across filtered and no-builtins fakes
Assistant-verification: Bun contract negative variants passed: approvals-only, leaky-builtin, invalid-output, ignored-abort, and destroy-throws each failed their targeted guarantee
Assistant-verification: Bun ci passed: mise exec -- bun run ci (dprint, oxlint, tokens)
Assistant-verification: Bun typecheck passed: mise exec -- bun run types (all workspaces and E2E)
Assistant-verification: Bun unit passed: mise exec -- bun test (1529 pass, 2 PostgreSQL skips)
Assistant-verification: Playwright E2E passed: mise exec -- bun run e2e --workers=1 (230/230, fresh build)
Assistant-verification: agent-browser Edge manual scenario unavailable: GitHub Next SSO authorization gate prevented new Planner turn; prior slice-1 reply screenshot remains
Assistant-verification: agent-browser recording passed: 85.3s webm captures OAuth SSO gate, not Planner reply
Assistant-verification: qlty metrics and smells passed: contract source analyzed with no smells
Co-authored-by: Alex Lavaee <lavaman131@github.com>
ALAlex Lavaee authored
8701a31Patch
Parent285f6b9
2 files changed+73-48
StackedSplit
apps/server/src/harness/contract.test.ts+42 −18
apps/server/src/harness/contract.ts+31 −30