Skip to content

test-enforcer: fix local pnpm 11 drift, add agent-surfaces form-validation/surface-url coverage - #1077

Merged
selfcontained merged 1 commit into
mainfrom
agt_4f3eb1a8b3a1/job-test-enforcer-44fe3cd4
Sep 8, 2026
Merged

test-enforcer: fix local pnpm 11 drift, add agent-surfaces form-validation/surface-url coverage#1077
selfcontained merged 1 commit into
mainfrom
agt_4f3eb1a8b3a1/job-test-enforcer-44fe3cd4

Conversation

@selfcontained

Copy link
Copy Markdown
Owner

Summary

Routine test-enforcer maintenance run.

  • Fixed a local test-harness defect: local pnpm resolves to 11.13.0, which stopped reading .npmrc's shamefully-hoist and package.json's pnpm.onlyBuiltDependencies (both moved to pnpm-workspace.yaml for pnpm 10+). Without the new keys, pnpm install silently skips esbuild/sharp/workerd postinstall scripts and drops hoisting — breaking tsx/vitest binaries and apps/web's react-router resolution on a clean install. CI pins pnpm 9 (.github/workflows/ci.yml) and is unaffected; verified pnpm 9 silently ignores the new keys.
  • Added unit coverage for two previously-untested pure modules in apps/web/src/components/app/agent-surfaces/: form-validation.ts (defaultFormValues, mergeFormValues, validateFormValues) and surface-url.ts (isAllowedSurfaceUrl). Neither had a test sibling, and their only callers' tests (form-block, list-block, table-block) only exercised the happy path.

Testing

  • pnpm run check — pass
  • pnpm run format — pass
  • pnpm run test — server 186f/3279t, web 127f/1881t, ext 9f/60t — all pass
  • pnpm run test:e2e — 198 passed / 12 skipped
  • pnpm run test:e2e:live — 11 passed, no leaked tmux sessions
  • pnpm run finalize:web — build succeeded
  • Mutation battery on the two new test files: 22/22 mutants killed; 1 confirmed-unobservable redundant guard noted in code comments (the continue after a required-field error can't change behavior since every later branch is already gated on the field's own type)
  • One review pass (general-purpose agent) found 3 low-value/dead assertions; fixed by removing/reshaping them and re-confirming mutation kills

No product bugs found this run — pure coverage + harness fix.

🤖 Generated with Claude Code

Local pnpm resolves to 11.13.0 (CI pins 9 separately), which no longer
reads shamefully-hoist from .npmrc or pnpm.onlyBuiltDependencies from
package.json -- both moved to pnpm-workspace.yaml. Without this, a
fresh local install silently skips esbuild/sharp/workerd postinstall
scripts and drops hoisting, breaking tsx/vitest binaries and
apps/web's react-router resolution. Keep the old settings in place for
CI's pinned pnpm 9, which still reads them and ignores the new keys.

test(web): add unit coverage for agent-surfaces form-validation and
surface-url

Both were pure logic with no test sibling and no indirect coverage
from their callers (form-block/list-block/table-block tests only
exercised the happy path). Mutation-tested: 22/22 mutants killed
across the two files; one confirmed-unobservable redundant guard
noted (the `continue` after setting a required-field error can never
change behavior, since every later branch is already gated on the
field's own type).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@selfcontained
selfcontained merged commit 8e722ba into main Sep 8, 2026
1 check passed
@selfcontained
selfcontained deleted the agt_4f3eb1a8b3a1/job-test-enforcer-44fe3cd4 branch September 8, 2026 02:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant