config: opt profile into spec_validation parse gates
Skills Issue #1 (compound-hallucination hardening) shipped a new optional profile slot, `spec_validation.parsers`, that maps markdown fence labels to validation commands. Three new gates consume it: brainstorm Step 7 parse-every-block, planner Step 5 parse-the-bytes-you-inline, and the grounding-check code-block parse pass. A profile written before the slot existed has all three running as silent no-ops — exactly the failure mode the raw-buf.2 spec slipped through. Register three fence labels: - `ail` → `ail check {file}` — Form-A surface modules. `check` is strictly broader than `parse` (catches the parser-novel head class AND the type-level rejects an MVP-only construct triggers, e.g. polymorphic fn-type without explicit forall), so it would have BLOCKED the storage-tag / RawBuf-shorthand / implicit-forall chain at Step 7 of brainstorm. - `ail-json` → `ail check {file}` — JSON AST form; `check` auto-detects extension. - `ll` → `llvm-as {file} -o /dev/null` — LLVM IR snippets in codegen specs. Verified `ail check` works on a standalone Form-A file (no workspace setup needed; the loader injects prelude + kernel).
This commit is contained in:
@@ -68,6 +68,18 @@ git:
|
||||
notifications:
|
||||
command: "~/.claude/notify.sh"
|
||||
|
||||
spec_validation:
|
||||
parsers:
|
||||
ail:
|
||||
ext: ".ail"
|
||||
cmd: "ail check {file}"
|
||||
ail-json:
|
||||
ext: ".ail.json"
|
||||
cmd: "ail check {file}"
|
||||
ll:
|
||||
ext: ".ll"
|
||||
cmd: "llvm-as {file} -o /dev/null"
|
||||
|
||||
pipeline:
|
||||
brainstorm: { gates: [planner] }
|
||||
planner: { gates: [implement] }
|
||||
|
||||
Reference in New Issue
Block a user