From Run Artifacts to Trained Specialist

Step 1
whetstone_DSL Run Corpus
Real pipeline runs stored as JSON log artifacts.
Each run records taskitem decisions, prerequisite ops, worker routing. 1000 runs extracted
Step 2
Gate Extraction
extract_gate_rows.py parses each run.
Isolates one gate's decision context and label per row.
Rejects rows with schema drift or sibling-uniform labels. 1297 accepted / 24 schema-drift rejected
Step 3
Gate Decomposition
Analysis revealed needs_validate_intake is always True — not a decision surface.
Gate reduces to two independent binary classifiers. 2 gates from 1
Step 4
TSV Generation
gen_prereq_op_rsa_data.py converts rows to Fabricate TSV format.
Format: label <TAB> 0 <TAB> text
Text composed from: title · reasons · acceptance criteria · constraints. 85% train / 15% eval split · seed=42
Step 5
Fabricate Training
Tiny transformer framework. GPU training on dedicated desktop.
~213K parameter model architecture.
Binary classification head per gate. 4000 steps per specialist
Step 6
Specialist Checkpoint
Serialized model: ~800KB on disk.
Loaded at runtime by the RSA gate layer.
Returns: label · confidence · abstain flag. ~800KB per specialist
Corpus caveat: The 1000-run dataset contains only ~17 unique text templates — the taskitem schema was designed to record outputs, not discriminative inputs. These baselines are intentionally weak. The pipeline is correct; the signal improves when the taskitem schema carries RSA-native fields.