Scope and evidence
Follow-up to #416/#838: the current20-workload matrix records140 admissions, but checkedJS/JSDoc is currently positive-only. The workload exercises Model/Box/Project typedefs, generic preservation, constructor annotations and callback reads. Timing a positive program alone cannot prove these types are checked rather than erased to any.
Work
Add logical first/middle/last negative mutations to the unchanged workload: annotated model property assignment, missing model member, callback return assignment, constructor-method callback argument, and nested generic value mismatch. Probe the byte-identical accepted Home and pinned TS6/nativeTS7/Rust/Bun under identical checking options, retain all raw diagnostics/exits and exact inputs. Do not weaken controls to accommodate an implementation. A failing checker cannot retain a timing row in a new fair matrix.
Acceptance
- Existing positive inputs/options remain byte-identical; negative projects are separate copies and never timed.
- Every compared compiler passes exact required diagnostic codes and normal error exit classes, with success-output policies preserved.
- Harness/schema/reporting/evidence tests ensure this new gate cannot be skipped or mistaken for an older admission protocol.
- Any Home failure is tracked as a compiler correctness gap, not hidden or converted to success.
- README/docs explicitly qualify historical positive-only checked-JS rows; publish new evidence and update the current matrix only when full revised admission passes.