Add Sprints 46-59: governance, porting foundation, and language graduation prep (Steps 689-828)
Sprints 46-58 implement the cross-language porting foundation: language-to-IR adapters, equivalence checking, gate validation, legacy ingestion, managed/dynamic families, low-level/logic-actor semantics, debug workflow tooling, AST-native family tools, Rust/CPP raising tools, system-level orchestration, query family, and porting gates. Sprint 59 adds the governance layer (policy packs, review boards, waiver packets, ambiguity triage, decision ledger) with the whetstone_review_porting_decision MCP tool. Also includes: sprint plans 46-130, MCP taskitem pipeline scripts, CLAUDE.md, docs, and full test matrix (steps 689-828). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
19
docs/SPRINT46_FOUNDATION.md
Normal file
19
docs/SPRINT46_FOUNDATION.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Sprint 46 Foundation
|
||||
|
||||
This document captures the baseline artifacts introduced for Sprint 46.
|
||||
|
||||
## Components
|
||||
|
||||
- Semantic IR schema: `editor/src/SemanticCoreIR.h`
|
||||
- Support tiers and gate mapping: `editor/src/LanguageSupportTier.h`
|
||||
- Capability matrix model: `editor/src/LanguageCapabilityMatrix.h`
|
||||
- Migration contract checks: `editor/src/MigrationAcceptanceContract.h`
|
||||
|
||||
## Example Artifacts
|
||||
|
||||
- Semantic IR example: `docs/examples/sprint46_semantic_core_example.json`
|
||||
|
||||
## Notes
|
||||
|
||||
- All schema models are deterministic JSON serializable.
|
||||
- Unknown tags/fields are preserved where possible for forward compatibility.
|
||||
62
docs/SPRINT_TASKITEM_EXECUTION_POLICY.md
Normal file
62
docs/SPRINT_TASKITEM_EXECUTION_POLICY.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Sprint Taskitem Execution Policy
|
||||
|
||||
This policy defines how agents must execute sprint plans using MCP taskitem tools
|
||||
and how run data must be captured for later LoRA curation.
|
||||
|
||||
## Scope
|
||||
|
||||
- Applies to sprint plan execution (for example: `sprint46_plan.md` through `sprint100_plan.md`)
|
||||
- Applies to all future agents working in this repository
|
||||
|
||||
## Required MCP Pipeline
|
||||
|
||||
For each sprint plan, agents must run:
|
||||
|
||||
1. `whetstone_architect_intake`
|
||||
2. `whetstone_generate_taskitems`
|
||||
3. `whetstone_queue_ready`
|
||||
4. `whetstone_validate_taskitem`
|
||||
|
||||
Use:
|
||||
|
||||
`tools/mcp/run_sprint_taskitem_pipeline.sh <sprint_plan.md>`
|
||||
|
||||
## Required Data Capture
|
||||
|
||||
After each successful run, agents must export run artifacts to LoRA capture JSONL:
|
||||
|
||||
`tools/mcp/export_taskitem_run_for_lora.sh <run_output_dir>`
|
||||
|
||||
Use:
|
||||
|
||||
`training_data/lora/taskitem_pipeline_runs.jsonl`
|
||||
|
||||
Note: Raw logs are capture material, not training-ready data. Curation is required
|
||||
before any fine-tuning.
|
||||
|
||||
## Batch Execution
|
||||
|
||||
For multiple sprints, agents should use:
|
||||
|
||||
`tools/mcp/run_sprint_range_with_capture.sh <start_sprint> <end_sprint>`
|
||||
|
||||
Example:
|
||||
|
||||
`tools/mcp/run_sprint_range_with_capture.sh 46 100`
|
||||
|
||||
## Quality Requirements
|
||||
|
||||
- Keep `whetstone_mcp_stable` as execution binary during active development
|
||||
- Do not use unstable binaries for bulk taskitem generation
|
||||
- Preserve all run artifacts under `logs/taskitem_runs/`
|
||||
- Preserve JSONL append-only history under `training_data/lora/`
|
||||
|
||||
## Handoff Requirement
|
||||
|
||||
When finishing a batch, agents must report:
|
||||
|
||||
1. sprint range attempted
|
||||
2. successful runs count
|
||||
3. failed runs count
|
||||
4. batch summary file path
|
||||
5. LoRA JSONL append confirmation
|
||||
32
docs/examples/sprint46_semantic_core_example.json
Normal file
32
docs/examples/sprint46_semantic_core_example.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"moduleId": "example-mod",
|
||||
"moduleName": "Example",
|
||||
"nodes": [
|
||||
{
|
||||
"id": "m1",
|
||||
"kind": "module",
|
||||
"name": "Example",
|
||||
"language": "rust",
|
||||
"intentTags": ["stateful"],
|
||||
"annotations": {},
|
||||
"metadata": {}
|
||||
},
|
||||
{
|
||||
"id": "f1",
|
||||
"kind": "function",
|
||||
"name": "run",
|
||||
"language": "rust",
|
||||
"intentTags": ["algorithmic"],
|
||||
"annotations": {},
|
||||
"metadata": {}
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{"fromId": "m1", "toId": "f1", "relation": "contains"}
|
||||
],
|
||||
"contracts": {
|
||||
"preconditions": ["input_valid"],
|
||||
"postconditions": ["output_nonempty"]
|
||||
},
|
||||
"extras": {}
|
||||
}
|
||||
Reference in New Issue
Block a user