Commit 3baf1ea
fix(spec): check:skill-examples refuses instead of degrading when a marked example does not parse (#12308)
* fix(spec): refuse instead of degrading when a marked example does not parse
check:skill-examples derives each block's build-file extension from its fence
language, so a marked block whose body is JSX under a ```ts / ```typescript
fence lands in a .ts file where JSX is a syntax error. TypeScript reports
syntactic diagnostics and then stops, so the semantic pass never runs -- for any
file in the program. The run did go red (measured), but in the vocabulary of a
semantic result, over a surface whose semantic pass had not run, and nothing in
the output said so.
Two guards separate those states. Marked blocks that do not parse now produce a
REFUSE verdict naming the surface and the number of blocks left unchecked, with
a tsx-retag prescription when the body really is JSX; the unmarked
JSX-under-a-ts-fence population is swept before anyone arms it. The green line
is printed only when every surface reached tsc, and says so.
Sweep repairs: five unmarked JSX blocks fenced ```typescript across
content/docs/** retagged ```tsx. skills/** carries none.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDGG54XF5gbTLdQzCtnaVV
* refactor(spec): give REFUSE its own verdict token, distinct from a failed check
`✗ ⛔ REFUSE` stacked two prefixes and read as one emphatic failure rather than
as a different KIND of failure. A refusal ("this gate produced no result") and a
failure ("this gate produced a result and it is bad") now print two tokens a
reader can tell apart and grep for. Same exit code: a refusal is still red.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDGG54XF5gbTLdQzCtnaVV
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent a6b6e54 commit 3baf1ea
4 files changed
Lines changed: 599 additions & 20 deletions
File tree
- content/docs
- api
- protocol/objectui
- packages/spec/scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
| 133 | + | |
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| |||
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
305 | | - | |
| 305 | + | |
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
345 | 345 | | |
346 | 346 | | |
347 | 347 | | |
348 | | - | |
| 348 | + | |
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
| |||
644 | 644 | | |
645 | 645 | | |
646 | 646 | | |
647 | | - | |
| 647 | + | |
648 | 648 | | |
649 | 649 | | |
650 | 650 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
315 | 315 | | |
316 | 316 | | |
317 | 317 | | |
318 | | - | |
| 318 | + | |
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
| |||
0 commit comments