Files
whetstone_RSA/HANDOFF-2026-04-12-rsa-extraction.md
2026-04-12 15:48:43 -06:00

112 lines
3.4 KiB
Markdown

# Handoff: RSA Extraction Bootstrap
Date: 2026-04-12
## Scope Completed
This pass stayed inside the `whetstone_RSA` semantic/bootstrap lane for
`whetstone_DSL` integration.
Completed artifacts:
- `semantic/rsa_gate_extraction_contracts_v0.json`
- `tools/extract_gate_rows.py`
- `docs/case_studies/whetstone_dsl_extraction_yield_snapshot.md`
- `semantic/extracted_gate_rows_sample.ndjson`
- `semantic/extracted_gate_rows_slice.ndjson`
- updates to `sprints/SPRINT-003-whetstone-dsl-gate-semantic-bootstrap.md`
Existing supporting docs from the same line of work that remain relevant:
- `docs/case_studies/whetstone_dsl_gate_inventory.md`
- `docs/case_studies/whetstone_dsl_semantic_mapping.md`
- `docs/case_studies/whetstone_dsl_training_data_strategy.md`
- `docs/case_studies/whetstone_dsl_run_artifact_audit.md`
- `docs/case_studies/whetstone_dsl_gate_extraction_specs_v0.md`
- `docs/case_studies/whetstone_dsl_execution_contract_shape_skeleton.md`
- `semantic/rsa_semantic_bootstrap_v0.json`
## Current State
The integration is still semantic-first, but it now has a parser-facing
artifact path instead of only prose docs.
What is now true:
- first-pass extraction contracts exist in machine-readable form
- a parser can read `whetstone_DSL/logs/taskitem_runs/*` and emit normalized
per-gate rows
- a 50-run slice has already been extracted and reviewed
Most important conclusion from the yield pass:
- `prereq_op_selector` is the first extraction-ready supervised gate candidate
Current caution:
- `target_file_selection`
- `acceptance_command_selection`
- `required_tool_selection`
are all explicitly present, but in the current slice they are strongly
sibling-uniform and look too template-driven for naive broad mining.
## Evidence
Key outputs:
- sample rows: `semantic/extracted_gate_rows_sample.ndjson`
- broader slice: `semantic/extracted_gate_rows_slice.ndjson`
- yield summary:
`docs/case_studies/whetstone_dsl_extraction_yield_snapshot.md`
Observed on the 50-run slice:
- runs processed: `50`
- tasks processed: `106`
- rows emitted: `424`
- rows with rejection flags: `330`
Rejected execution-contract child rows were dominated by:
- `sibling_uniform_target_files`
- `sibling_uniform_acceptance_commands`
- `sibling_uniform_required_tools`
The rejected `prereq_op_selector` rows were informative:
- some fallback runs polluted `prerequisiteOps` with tool ids such as
`whetstone_generate_taskitems`, `whetstone_queue_ready`, and
`whetstone_validate_taskitem`
- the current rejection logic is correctly catching that schema drift
Representative drift artifact:
- `CLionProjects/whetstone_DSL/logs/taskitem_runs/01a_fallback_intake_spec_20260226_170014/02_generate_taskitems.json`
## Next Step
The next active task is narrow and concrete:
Turn `prereq_op_selector` into the first accepted dataset slice, split into:
- accepted rows
- rejected rows
- explicit schema-drift examples
After that:
1. decide whether to hard-filter or separately model the schema-drift variants
2. only then broaden extraction to more runs
3. keep `target_file_selection`, `acceptance_command_selection`, and
`required_tool_selection` review-gated until a more variant-rich artifact
family is found
## Commit Scope
This commit should include only the RSA extraction-bootstrap work above.
There are unrelated untracked files in the repo, including business strategy and
smartwatch docs plus presentation material. Those should stay out of this
commit.