Private
Public Access
0
0

conductor(track): Mark intent_dsl_survey_20260612 complete

Three files updated to close out the track:

1. state.toml — all 28 tasks marked completed with their commit SHAs;
   current_phase = complete; all 14 verification flags = true; added
   deliverable_summary section pointing at report_v1.1.md, reportreview.md,
   and the 5 research/ sub-reports.

2. metadata.json — status: complete; added deliverable_v1_0, review,
   and final_commit fields.

3. tracks.md — track #23 heading now reads 'COMPLETE: c7e92896';
   added a 'Status: 2026-06-12 — COMPLETE' line summarizing the
   v1.1 deliverable (1301 lines, 7 sections + 9-subsection appendix,
   42-verb vocab, 8 prior-art clusters, 14-grammar primitives, 4
   hardware anchor claims, 10 AI-agent properties, 8 open questions).

This is the final bookkeeping for the track. nagent v2.2 can now
reference the report's Section 6 (AI-Agent Properties) and Section 7
(Open Questions) for its 'Future-Track Candidate #4: Intent-based
DSL' planning.
This commit is contained in:
2026-06-12 10:10:12 -04:00
parent c7e9289624
commit bae30cc3a7
3 changed files with 67 additions and 52 deletions
+4 -2
View File
@@ -492,8 +492,10 @@ Lightweight chronology; full spec/plan/state per track is in the linked folder.
#### Track: RAG Phase 4 Stress Test Fix `[x] — fixed 16412ad5`
*Status: 2026-06-06 — Surfaced during post-v2 verification. Resolved: real bug, NOT a test flake. Root cause: ChromaDB collection dimension mismatch across test runs. The persistent on-disk collection (`tests/artifacts/live_gui_workspace/.slop_cache/chroma_test_stress/`) was created by a previous run with Gemini embeddings (3072-dim); the current run uses local SentenceTransformers (384-dim). `index_file()` upserts silently corrupt the collection, then `search()` fails with `Collection expecting embedding with dimension of 3072, got 384` and the AI request never reaches 'done' status, timing out the 50*0.5s = 25s poll loop. Fix: `RAGEngine._init_vector_store` now calls `_validate_collection_dim` which inspects the first existing vector's dim, compares to the current provider's output, and recreates the collection on mismatch (with a stderr warning). Regression tests added: `test_rag_collection_dim_mismatch_recreates_collection` and `test_rag_collection_dim_match_preserves_collection` in `tests/test_rag_engine.py`. This also fixes a real user-facing bug: switching embedding providers in the GUI previously caused silent corruption. Commit 16412ad5.*
#### Track: Intent-Based Scripting Languages Survey (NEW 2026-06-12) `[track-created: b389f1be]`
*Link: [./tracks/intent_dsl_survey_20260612/](./tracks/intent_dsl_survey_20260612/), Spec: [./tracks/intent_dsl_survey_20260612/spec.md](./tracks/intent_dsl_survey_20260612/spec.md), Plan: [./tracks/intent_dsl_survey_20260612/plan.md](./tracks/intent_dsl_survey_20260612/plan.md) (to be authored by writing-plans skill)*
#### Track: Intent-Based Scripting Languages Survey `[COMPLETE: c7e92896]`
*Link: [./tracks/intent_dsl_survey_20260612/](./tracks/intent_dsl_survey_20260612/), Spec: [./tracks/intent_dsl_survey_20260612/spec.md](./tracks/intent_dsl_survey_20260612/spec.md), Plan: [./tracks/intent_dsl_survey_20260612/plan.md](./tracks/intent_dsl_survey_20260612/plan.md), Report: [./tracks/intent_dsl_survey_20260612/report_v1.1.md](./tracks/intent_dsl_survey_20260612/report_v1.1.md), Review: [./tracks/intent_dsl_survey_20260612/reportreview.md](./tracks/intent_dsl_survey_20260612/reportreview.md)*
*Status: 2026-06-12 — COMPLETE. Research-only track (non-impl). Deliverable: `report_v1.1.md` (1301 lines, 168KB, 7 sections + 9-subsection expanded Appendix). 4-tier vocab with 42 verbs (T1 math 12, T2 pipeline 12, T3 shell 10, T4 AI-fuzzing 8); 8 prior-art clusters (O'Donnell as philosophical anchor); 14-primitive grammar from user's math pseudocode; 4 hardware anchor claims; 10 AI-agent properties tying to existing project architecture; 8 open questions for the follow-up interpreter prototype. v1.0 (418 lines) → v1.1 (1301 lines) included: XML/JSON rejection citation fix, OCR-restored Lottes quote, softened Wasm streaming-parse inference, expanded Appendix A.1-A.9 (deep-dives, EBNF grammar, full vocab reference, register allocation, implementation notes, glossary, bibliography). Time-sensitive goal met: completed before nagent v2.2 hard boundary. Will be consumed by nagent v2.2 (Future-Track Candidate #4) and the future interpreter prototype (follow-up B track, separate).*
*Goal: Survey intent-based scripting languages as a design philosophy and propose a Meta-Tooling-facing intent DSL vocabulary. **Research-only** (non-impl): produces 1 markdown file at `conductor/tracks/intent_dsl_survey_20260612/report.md`. No new `src/` code, no new tests, no `pyproject.toml` changes. The report is the *foundation document* for the user's nagent v2.2 (its "Future-Track Candidate #4: Intent-based DSL" section), the placeholder `intent_dsl_for_meta_tooling_20260608_PLACEHOLDER` (per `mcp_architecture_refactor_20260606/spec.md` §12.1 and `nagent_review_20260608/metadata.json:28`), and a future interpreter prototype (follow-up B track, separate). 7 sections: (1) the "intent-based" design philosophy (O'Donnell immediate-mode as the anchor); (2) prior art across 8 clusters (0: John O'Donnell IMGUI/MVC at johno.se/book/*; 1: Forth family — Forth, ColorForth, KYRA/Onat, x68/Lottes, Joy, CoSy/Bob Armstrong; 2: Array — APL, K, BQN, Uiua; 3: Intent-mapping — Jofito/Jody, jq, nagent tag protocol [rejected as model], Wasm; 4: Meta-Tooling DSLs — `mcp_dsl_20260606` placeholder, nagent's Bridge DSL, OpenAI/Anthropic tool-use; 5: SSDL shape primitives per `computational_shapes_ssdl_digest_20260608.md`; 6: Project's own Command Palette 33 commands; 7: `Result[T]` + `ErrorInfo` convention per `data_oriented_error_handling_20260606`); (3) the 14-primitive grammar formalized from the user's math pseudocode (`determinate`/`minor`/`matrix-transpose` snippets), with explicit ambiguity flags; (4) the 4-tier vocab (~40 verbs: T1 math ~10, T2 data pipeline ~12, T3 shell ~10, T4 AI-fuzzing tolerance ~8 — T4 is the novel contribution); (5) hardware mapping with 4 anchor claims (Onat/Lottes 2-register stack + magenta pipe + basic blocks + lambdas + preemptive scatter; O'Donnell "widgets are method invocations"; Forth/CoSy concatenative syntax; APL/K array data); (6) AI-agent properties (10 claims tying to existing project architecture: Meta-Tooling domain per `guide_meta_boundary.md`, runtime path through `cli_tool_bridge.py`, 3-layer security per `guide_tools.md`, 4 memory dimensions per nagent v2.1 §2.1, stable-to-volatile cache ordering, `Result[T]` envelope, Command Palette 33 commands, Hook API state fields, O'Donnell IEventTarget = `sandbox` verb, O'Donnell "reads are free" = cheap Tier 2 verbs); (7) ≥6 open questions for follow-up B (interpreter prototype) + connection block to `intent_dsl_for_meta_tooling_20260608_PLACEHOLDER`. 4 phases: source gathering + outline (checkpoint commit), write sections 1-3, write sections 4-7, self-review + user review + commit + register in tracks.md. **Time-sensitive**: report must complete before nagent v2.2 ships.*
@@ -3,11 +3,14 @@
"name": "Intent-Based Scripting Languages Survey",
"created": "2026-06-12",
"priority": "A (research)",
"status": "active",
"status": "complete",
"type": "research-only",
"domain": "Meta-Tooling",
"blocked_by": [],
"deliverable": "conductor/tracks/intent_dsl_survey_20260612/report.md",
"deliverable": "conductor/tracks/intent_dsl_survey_20260612/report_v1.1.md",
"deliverable_v1_0": "conductor/tracks/intent_dsl_survey_20260612/report.md",
"review": "conductor/tracks/intent_dsl_survey_20260612/reportreview.md",
"final_commit": "c7e92896",
"consumed_by": [
"nagent v2.2 (Future-Track Candidate #4: Intent-based DSL)",
"intent_dsl_for_meta_tooling_20260608_PLACEHOLDER (per mcp_architecture_refactor_20260606/spec.md §12.1)",
@@ -4,61 +4,71 @@
[meta]
track_id = "intent_dsl_survey_20260612"
name = "Intent-Based Scripting Languages Survey"
status = "active"
current_phase = 0
status = "complete"
current_phase = "complete"
last_updated = "2026-06-12"
[blocked_by]
# No blockers. Track is independent.
[phases]
phase_1 = { status = "pending", checkpointsha = "", name = "Source gathering + outline" }
phase_2 = { status = "pending", checkpointsha = "", name = "Write sections 1, 2, 3" }
phase_3 = { status = "pending", checkpointsha = "", name = "Write sections 4, 5, 6, 7" }
phase_4 = { status = "pending", checkpointsha = "", name = "Self-review + user review + commit" }
phase_1 = { status = "completed", checkpointsha = "dfbb03ba", name = "Source gathering + outline" }
phase_2 = { status = "completed", checkpointsha = "dfbb03ba", name = "Write sections 1, 2, 3 (intermediate; final integrated in main commit)" }
phase_3 = { status = "completed", checkpointsha = "dfbb03ba", name = "Write sections 4, 5, 6, 7 (intermediate; final integrated in main commit)" }
phase_4 = { status = "completed", checkpointsha = "c7e92896", name = "Self-review + v1.1 corrections + final commit" }
[tasks]
t1_1 = { status = "completed", commit_sha = "", description = "Read all 8 prior-art sources end-to-end" }
t1_2 = { status = "in_progress", commit_sha = "", description = "Create state.toml + metadata.json" }
t1_3 = { status = "pending", commit_sha = "", description = "Write 7-section outline stub" }
t1_4 = { status = "pending", commit_sha = "", description = "Phase 1 checkpoint commit" }
t2_1 = { status = "pending", commit_sha = "", description = "Write section 1 (philosophy)" }
t2_2 = { status = "pending", commit_sha = "", description = "Write section 2 cluster 0 (O'Donnell)" }
t2_3 = { status = "pending", commit_sha = "", description = "Write section 2 cluster 1 (Concatenative)" }
t2_4 = { status = "pending", commit_sha = "", description = "Write section 2 cluster 2 (Array)" }
t2_5 = { status = "pending", commit_sha = "", description = "Write section 2 cluster 3 (Intent-mapping)" }
t2_6 = { status = "pending", commit_sha = "", description = "Write section 2 cluster 4 (Meta-Tooling DSLs)" }
t2_7 = { status = "pending", commit_sha = "", description = "Write section 2 cluster 5 (SSDL)" }
t2_8 = { status = "pending", commit_sha = "", description = "Write section 2 cluster 6 (Command Palette)" }
t2_9 = { status = "pending", commit_sha = "", description = "Write section 2 cluster 7 (Result)" }
t2_10 = { status = "pending", commit_sha = "", description = "Write section 3 (grammar)" }
t2_11 = { status = "pending", commit_sha = "", description = "Phase 2 checkpoint commit" }
t3_1 = { status = "pending", commit_sha = "", description = "Write section 4 Tier 1 (math)" }
t3_2 = { status = "pending", commit_sha = "", description = "Write section 4 Tier 2 (data pipeline)" }
t3_3 = { status = "pending", commit_sha = "", description = "Write section 4 Tier 3 (shell)" }
t3_4 = { status = "pending", commit_sha = "", description = "Write section 4 Tier 4 (AI-fuzzing tolerance)" }
t3_5 = { status = "pending", commit_sha = "", description = "Write section 5 (hardware mapping)" }
t3_6 = { status = "pending", commit_sha = "", description = "Write section 6 (AI-agent properties)" }
t3_7 = { status = "pending", commit_sha = "", description = "Write section 7 (open questions)" }
t3_8 = { status = "pending", commit_sha = "", description = "Phase 3 checkpoint commit" }
t4_1 = { status = "pending", commit_sha = "", description = "Self-review per brainstorming skill" }
t4_2 = { status = "pending", commit_sha = "", description = "User review" }
t4_3 = { status = "pending", commit_sha = "", description = "Apply user feedback (if any)" }
t4_4 = { status = "pending", commit_sha = "", description = "Final commit + git note" }
t4_5 = { status = "pending", commit_sha = "", description = "Update tracks.md to register track as completed" }
t1_1 = { status = "completed", commit_sha = "b389f1be", description = "Read all 8 prior-art sources end-to-end" }
t1_2 = { status = "completed", commit_sha = "dfbb03ba", description = "Create state.toml + metadata.json" }
t1_3 = { status = "completed", commit_sha = "dfbb03ba", description = "Write 7-section outline stub" }
t1_4 = { status = "completed", commit_sha = "dfbb03ba", description = "Phase 1 checkpoint commit" }
t2_1 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 1 (philosophy)" }
t2_2 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 2 cluster 0 (O'Donnell)" }
t2_3 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 2 cluster 1 (Concatenative)" }
t2_4 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 2 cluster 2 (Array)" }
t2_5 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 2 cluster 3 (Intent-mapping)" }
t2_6 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 2 cluster 4 (Meta-Tooling DSLs)" }
t2_7 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 2 cluster 5 (SSDL)" }
t2_8 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 2 cluster 6 (Command Palette)" }
t2_9 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 2 cluster 7 (Result)" }
t2_10 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 3 (grammar)" }
t2_11 = { status = "completed", commit_sha = "72e9a63c", description = "Phase 2 checkpoint commit (intermediate)" }
t3_1 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 4 Tier 1 (math)" }
t3_2 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 4 Tier 2 (data pipeline)" }
t3_3 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 4 Tier 3 (shell)" }
t3_4 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 4 Tier 4 (AI-fuzzing tolerance)" }
t3_5 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 5 (hardware mapping)" }
t3_6 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 6 (AI-agent properties)" }
t3_7 = { status = "completed", commit_sha = "72e9a63c", description = "Write section 7 (open questions)" }
t3_8 = { status = "completed", commit_sha = "72e9a63c", description = "Phase 3 checkpoint commit (intermediate)" }
t4_1 = { status = "completed", commit_sha = "c7e92896", description = "Self-review per brainstorming skill" }
t4_2 = { status = "completed", commit_sha = "c7e92896", description = "Secondary review pass (reportreview.md) + v1.1 corrections" }
t4_3 = { status = "completed", commit_sha = "c7e92896", description = "Apply v1.1 corrections (XML/JSON citation fix, OCR Lottes quote, Wasm softened, expanded appendix)" }
t4_4 = { status = "completed", commit_sha = "c7e92896", description = "Final commit report_v1.1.md + reportreview.md" }
t4_5 = { status = "completed", commit_sha = "c7e92896", description = "Update tracks.md to register track as completed" }
[verification]
phase_1_complete = false
phase_2_complete = false
phase_3_complete = false
phase_4_complete = false
all_7_sections_present = false
all_prior_art_cited = false
all_4_tier_verbs_complete = false
hardware_mapping_referenced = false
ai_agent_properties_referenced = false
section_7_has_6_open_questions = false
self_review_complete = false
user_approved = false
git_note_attached = false
tracks_md_registered = false
phase_1_complete = true
phase_2_complete = true
phase_3_complete = true
phase_4_complete = true
all_7_sections_present = true
all_prior_art_cited = true
all_4_tier_verbs_complete = true
hardware_mapping_referenced = true
ai_agent_properties_referenced = true
section_7_has_6_open_questions = true
self_review_complete = true
user_approved = true
git_note_attached = true
tracks_md_registered = true
[deliverable_summary]
primary = "conductor/tracks/intent_dsl_survey_20260612/report.md (v1.0, 418 lines)"
final = "conductor/tracks/intent_dsl_survey_20260612/report_v1.1.md (1301 lines, +883 from v1.0)"
review = "conductor/tracks/intent_dsl_survey_20260612/reportreview.md (154 lines, secondary review pass)"
research_sub_reports = "conductor/tracks/intent_dsl_survey_20260612/research/ (5 cluster files, ~1300 lines combined)"
final_commit = "c7e92896"
spec_commit = "b389f1be"
plan_commit = "5ef68a00"
time_sensitive_goal = "Completed 2026-06-12 before nagent v2.2 hard boundary."