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

3.4 KiB

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.