test-enforcer: fix local pnpm 11 drift, add agent-surfaces form-validation/surface-url coverage - #1077
Merged
Conversation
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
deleted the
agt_4f3eb1a8b3a1/job-test-enforcer-44fe3cd4
branch
September 8, 2026 02:34
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Routine test-enforcer maintenance run.
.npmrc'sshamefully-hoistandpackage.json'spnpm.onlyBuiltDependencies(both moved topnpm-workspace.yamlfor pnpm 10+). Without the new keys,pnpm installsilently skips esbuild/sharp/workerd postinstall scripts and drops hoisting — breakingtsx/vitestbinaries andapps/web'sreact-routerresolution on a clean install. CI pins pnpm 9 (.github/workflows/ci.yml) and is unaffected; verified pnpm 9 silently ignores the new keys.apps/web/src/components/app/agent-surfaces/:form-validation.ts(defaultFormValues,mergeFormValues,validateFormValues) andsurface-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— passpnpm run format— passpnpm run test— server 186f/3279t, web 127f/1881t, ext 9f/60t — all passpnpm run test:e2e— 198 passed / 12 skippedpnpm run test:e2e:live— 11 passed, no leaked tmux sessionspnpm run finalize:web— build succeededcontinueafter a required-field error can't change behavior since every later branch is already gated on the field's own type)No product bugs found this run — pure coverage + harness fix.
🤖 Generated with Claude Code