Final vocabulary: - ===> -> -> (codepath) - ===>W===> -> => (wide codepath) - o==> -> o-> (codecycle) - oo==>oo -> o=> (wide codecycle) - ===>B===> -> ->B-> (codepath with branch) - ===>M===> -> ->M-> (codepath with merge) Composites ===>B===> and ===>M===> preserved as ->B->/->M-> so the branch/merge markers stay visible (vs. dropping them entirely). Scope: 3 reports files (computational_shapes_ssdl_digest, proposed_new_tracks, session_synthesis), 4 intent_dsl_survey files (plan, report, report_v1.1, report_v1.2), 3 nagent_review files (state.toml description, v2_2, v2_3). All old symbols verified gone via grep; all new symbols verified present at expected locations.
45 KiB
Intent-Based Scripting Languages Survey — Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Produce the report at conductor/tracks/intent_dsl_survey_20260612/report.md (7 sections, ~3500-5000 lines) surveying intent-based scripting languages and proposing a 4-tier vocab for a Meta-Tooling-facing intent DSL. Research-only — no src/ code, no tests, no pyproject.toml changes.
Architecture: The track produces 1 markdown file in docs/ideation/. The 7 sections are written sequentially across 3 self-directed phases (1-3) plus 1 user-approval phase (4). Each phase ends with a checkpoint commit. The user sees only the final report and either approves (commit + register in tracks.md) or iterates.
Tech Stack: Markdown only. No new code, no new dependencies, no new tests.
Time-sensitivity: Per the user, the report must complete before nagent v2.2. Phases 1-3 are self-directed; only phase 4 requires user input. The plan can be paused at any phase boundary without losing work.
Source of truth: conductor/tracks/intent_dsl_survey_20260612/spec.md (the approved spec, commit b389f1be). All 7 sections, all verbs, all file:line references, all 12 verification criteria are detailed there. The plan executes the spec; it does not redefine it.
File Structure
This track creates/modifies the following files:
| File | Action | Purpose |
|---|---|---|
conductor/tracks/intent_dsl_survey_20260612/report.md |
Create | The report. ~3500-5000 lines, 7 sections, 1 appendix. |
conductor/tracks/intent_dsl_survey_20260612/state.toml |
Create | State file per conductor/workflow.md template. |
conductor/tracks/intent_dsl_survey_20260612/metadata.json |
Create | Track metadata per spec §1. |
conductor/tracks.md |
Modify | Register track as completed after phase 4. |
Decomposition rationale: The report is 1 file because the 7 sections form a single coherent argument (philosophy → prior art → grammar → vocab → hardware → AI-agent → open questions). Splitting into multiple files would break the argument's continuity. The state.toml and metadata.json follow the project's track-folder convention (per conductor/tracks/data_oriented_error_handling_20260606/).
Phase 1: Source Gathering + Outline
Task 1: Read all 8 prior-art sources end-to-end
Files:
-
Read (do not modify): the 8 sources listed in
conductor/tracks/intent_dsl_survey_20260612/spec.md§13.3 -
Step 1: Read the 4 Onat/Lottes reference files in
C:\projects\forth\bootslop\references\
Read in order:
-
kyra_in-depth.md(86 lines) — Onat's 2-register stack, magenta pipe, basic blocks/lambdas -
forth_day_2020_in-depth.md(58 lines) — Onat's ColorForth + SPIR-V -
neokineogfx_in-depth.md(62 lines) — Lottes's x68/5th, folded interpreter, annotation overlay -
blog_in-depth.md(97 lines) — Lottes's full source-less evolution, "Ear" + "Toe" -
Architectural_Consolidation.md(44 lines) — synthesis -
X.com - Onat & Lottes Interaction 1.png.ocr.md(113 lines) — direct quotes from the X.com thread -
Step 2: Read the CoSy pages
Fetch https://cosy.com/CoSy/Simplicity.html and https://cosy.com/4thCoSy/. If a local copy is preferred, the Simplicity page's key claims (3-cell header, modulo indexing, "extensive vocabulary evolved from APL via K") can be cited from memory of the fetch done during spec review.
-
Step 3: Read the Jofito sources
-
docs/transcripts/Ddme7DwMQBI_jofito_jody_bruchon.txt(428 lines) — full video transcript -
The Jofito README at
https://codeberg.org/jbruchon/jofito— already fetched during spec review; the key claims (intent mapping engine, arena allocation, pipe coalescing) are in the transcript -
Step 3: Read the O'Donnell pages
Fetch https://johno.se/book/imgui.html, https://johno.se/book/pitch.html, https://johno.se/book/immvc.html, https://johno.se/book/mvc.html. The 4 claims (widgets are method invocations, "reads are free / writes are formalized", IEventTarget, no scene-graph abstractions) are the section 1 anchors.
-
Step 4: Read the project's nagent v2.1 report and the data_oriented_error_handling spec
-
conductor/tracks/nagent_review_20260608/nagent_review_v2_1_20260612.md§2.1, §2.2, §2.10 (4 memory dimensions, stable-to-volatile cache ordering, RAG integration discipline) -
conductor/tracks/data_oriented_error_handling_20260606/spec.md§3.3 (theResult[T]+ErrorInfopattern) -
docs/reports/computational_shapes_ssdl_digest_20260608.md§1 (the 6 SSDL primitives + 7 modifiers) -
docs/guide_meta_boundary.md(Application vs Meta-Tooling split) -
docs/guide_command_palette.md(the 33 existing commands) -
docs/guide_tools.md(the 45+ MCP tools the DSL maps to) -
docs/Readme.md(the doc index for the bibliography) -
Step 5: Take a 1-line note per source for the bibliography
For each of the 8 prior-art source groups, note the single most important file:line or URL that other agents can cite. Example: "Onat KYRA: kyra_in-depth.md:21-26 (the xchg trick)".
Task 2: Create the track folder + state.toml + metadata.json
Files:
-
Create:
conductor/tracks/intent_dsl_survey_20260612/state.toml -
Create:
conductor/tracks/intent_dsl_survey_20260612/metadata.json -
Step 1: Create the state.toml per the template in
conductor/workflow.md
# Track state for intent_dsl_survey_20260612
# Updated by Tier 2 Tech Lead as tasks complete
[meta]
track_id = "intent_dsl_survey_20260612"
name = "Intent-Based Scripting Languages Survey"
status = "active"
current_phase = 0 # 0 = pre-Phase 1
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" }
[tasks]
t1_1 = { status = "in_progress", commit_sha = "", description = "Read all 8 prior-art sources end-to-end" }
t1_2 = { status = "pending", 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" }
[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
- Step 2: Create the metadata.json per the existing track pattern
{
"track_id": "intent_dsl_survey_20260612",
"name": "Intent-Based Scripting Languages Survey",
"created": "2026-06-12",
"priority": "A (research)",
"status": "active",
"type": "research-only",
"domain": "Meta-Tooling",
"blocked_by": [],
"deliverable": "conductor/tracks/intent_dsl_survey_20260612/report.md",
"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)",
"future interpreter prototype (follow-up B track)"
],
"estimated_size": "3500-5000 lines",
"time_sensitive": "Must complete before nagent v2.2 ships",
"spec_commit": "b389f1be",
"spec_path": "conductor/tracks/intent_dsl_survey_20260612/spec.md",
"plan_path": "conductor/tracks/intent_dsl_survey_20260612/plan.md",
"state_path": "conductor/tracks/intent_dsl_survey_20260612/state.toml"
}
- Step 3: Commit the folder + state + metadata
git add conductor/tracks/intent_dsl_survey_20260612/state.toml conductor/tracks/intent_dsl_survey_20260612/metadata.json
git commit -m "conductor(track): Add intent_dsl_survey_20260612 state + metadata"
Task 3: Write the 7-section outline as a stub
Files:
-
Create:
conductor/tracks/intent_dsl_survey_20260612/report.md -
Step 1: Create the file with the header + 7-section outline (1 paragraph per section)
Use the following structure (one paragraph per section; the actual content gets written in phases 2-3):
# Intent-Based Scripting Languages
**Track:** `intent_dsl_survey_20260612` (committed 2026-06-12)
**Date:** 2026-06-12
**Author:** Tier 2 Tech Lead
**Status:** Outline draft (phases 1-3 of 4)
> **What this is.** A survey of intent-based scripting languages as a design philosophy, plus a proposed vocabulary (~40 verbs across 4 tiers) for a Meta-Tooling-facing intent DSL. The report is the foundation document for the user's nagent v2.2 (its "Future-Track Candidate #4" section) and for the future interpreter prototype (follow-up B track).
>
> **What this is NOT.** Not an interpreter, not a bridge script, not Application-side function-calling, not XML/JSON record formats. The DSL is Meta-Tooling-side per `docs/guide_meta_boundary.md`.
---
## 1. The "Intent-Based" Design Philosophy
*[STUB: 4 anchor claims — O'Donnell immediate-mode as the anchor; Onat/Lottes hardware as the truth; CoSy open-vocabulary as the user surface; Jofito intent-mapping as the framing. ~2-3 pages.]*
## 2. Prior Art Survey (8 Clusters)
### Cluster 0 — Immediate-Mode Paradigm (philosophical anchor)
*[STUB: O'Donnell IMGUI/MVC. ~0.5-1 page.]*
### Cluster 1 — Concatenative (Forth family)
*[STUB: Forth, ColorForth, KYRA, x68, Joy, CoSy. ~1-1.5 pages.]*
### Cluster 2 — Array
*[STUB: APL, K, BQN, Uiua. ~0.5 page.]*
### Cluster 3 — Intent-Mapping
*[STUB: Jofito, jq, nagent tag [rejected], Wasm. ~0.5-1 page.]*
### Cluster 4 — Meta-Tooling DSLs and Agent-Facing Languages
*[STUB: mcp_dsl_20260606, nagent Bridge DSL, OpenAI/Anthropic. ~0.5 page.]*
### Cluster 5 — SSDL Shape Primitives
*[STUB: 6 primitives + 7 modifiers per SSDL digest. ~0.25 page.]*
### Cluster 6 — Project's Own Command DSL Precedents
*[STUB: 33 Command Palette commands. ~0.25 page.]*
### Cluster 7 — Data-Oriented Error Handling Convention
*[STUB: Result[T] + ErrorInfo per data_oriented_error_handling. ~0.25 page.]*
## 3. The Grammar
*[STUB: 14 primitives formalized from user's pseudocode, with ambiguity flags for `proc`, `++`, and `m[row][column]`. ~2-3 pages.]*
## 4. The 4-Tier Vocab (~40 Verbs)
### Tier 1 — Math (~10 verbs)
*[STUB: from user's pseudocode.]*
### Tier 2 — Data-Oriented Pipeline (~12 verbs)
*[STUB: Onat/Lottes/Jofito lineage.]*
### Tier 3 — Shell (~10 verbs)
*[STUB: the OS surface.]*
### Tier 4 — AI-Fuzzing Tolerance (~8 verbs)
*[STUB: the novel piece; sandbox/audit/didyoumean etc.]*
## 5. Hardware Mapping (4 Anchor Claims)
*[STUB: Onat/Lottes, O'Donnell, Forth/CoSy, APL/K. ~1-2 pages.]*
## 6. AI-Agent Properties (10 Claims)
*[STUB: tying the DSL to existing project architecture. ~2-3 pages.]*
## 7. Open Questions for Follow-up B (≥6)
*[STUB: for the interpreter prototype + placeholder connection. ~1-2 pages.]*
---
## Appendix: Bibliography
*[STUB: full file:line / URL references for all 8 prior-art clusters.]*
- Step 2: Verify the outline structure
Run:
wc -l conductor/tracks/intent_dsl_survey_20260612/report.md
grep -c "^## " conductor/tracks/intent_dsl_survey_20260612/report.md
grep -c "^### " conductor/tracks/intent_dsl_survey_20260612/report.md
Expected: ~70 lines, 7 ## headings (sections 1-7 + Appendix), ≥10 ### headings (clusters + tiers + claims).
- Step 3: Phase 1 checkpoint commit
git add conductor/tracks/intent_dsl_survey_20260612/report.md
git commit -m "docs(ideation): Add intent_dsl_survey_20260612 outline stub"
git notes add -m "intent_dsl_survey_20260612 Phase 1 checkpoint (outline)
Outline draft for the 7-section report. Sections 1-7 stubbed with
1 paragraph each; actual content to be written in phases 2-3.
Structure verified: 7 sections, 8 prior-art clusters, 4 vocab tiers,
4 hardware anchor claims, 10 AI-agent property claims.
Source gathering complete: 8 prior-art source groups read end-to-end.
Bibliography references all 8 in spec §13.3.
Next: phase 2 (write sections 1, 2, 3)." $(git log -1 --format=%H)
Update state.toml:
current_phase = 1phase_1 = { status = "completed", checkpointsha = "<commit-sha>", name = "Source gathering + outline" }t1_1tot1_4=completedwithcommit_shaset
Commit the state update:
git add conductor/tracks/intent_dsl_survey_20260612/state.toml
git commit -m "conductor(track): Mark intent_dsl_survey_20260612 phase 1 complete"
Phase 2: Write Sections 1, 2, 3
Task 4: Write section 1 (the philosophy)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 1 -
Step 1: Replace the section 1 stub with the 4 anchor claims
Write the 4 anchor claims (per spec §3.1):
- "Intent-based means the user's words are declarative intent, not imperative commands" (Jofito's framing)
- "The hardware is the truth" (Onat/Lottes; per
kyra_in-depth.mdandneokineogfx_in-depth.md) - "The pipeline is immediate-mode" (O'Donnell's "widgets are method invocations, not objects"; per
https://johno.se/book/imgui.html) - "The vocabulary IS the user surface" (CoSy's open-vocabulary; per
https://cosy.com/CoSy/Simplicity.html)
Each claim: 1-2 paragraphs. Section 1 total: ~200-400 lines.
-
Step 2: Cross-check the 4 claims against their cited sources
-
Claim 1 (Jofito): cite
docs/transcripts/Ddme7DwMQBI_jofito_jody_bruchon.txtlines 270-280 (the "write the optimization once" thesis) -
Claim 2 (Onat/Lottes): cite
C:\projects\forth\bootslop\references\kyra_in-depth.md:21-26(the xchg trick) andX.com - Onat & Lottes Interaction 1.png.ocr.md:80-86(Lottes: "registers and globals and gotos, no stacks") -
Claim 3 (O'Donnell): cite
https://johno.se/book/imgui.html"Immediate Mode applied" section -
Claim 4 (CoSy): cite
https://cosy.com/CoSy/Simplicity.html"extensive vocabulary evolved from APL via K" paragraph -
Step 3: Commit (not yet — wait for sections 2-3)
Continue to next task. Sections 1-3 commit together at end of phase 2.
Task 5: Write section 2 cluster 0 (O'Donnell)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 2 cluster 0 -
Step 1: Replace the cluster 0 stub
The single entry: John O'Donnell, "IMGUI" / "The Pitch" / "MVC" (johno.se/book/*).
Per spec §3.2 cluster 0, write 2-3 sentences on the design idea, 2-3 sentences on what we take from it. Cite https://johno.se/book/imgui.html (IMGUI), https://johno.se/book/pitch.html (the pitch), https://johno.se/book/mvc.html (MVC, "reads are free / writes are formalized" / IEventTarget).
Task 6: Write section 2 cluster 1 (Concatenative)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 2 cluster 1 -
Step 1: Replace the cluster 1 stub with 6 entries
Per spec §3.2 cluster 1, write each of: Forth, ColorForth, KYRA, x68, Joy, CoSy.
For each:
- 2-3 sentences on the design idea
- 2-3 sentences on what we take from it
- Cite the specific source (Wikipedia for Forth, Onat's talks for KYRA, Lottes's blogs for x68,
https://cosy.com/CoSy/Simplicity.htmlfor CoSy)
Task 7: Write section 2 cluster 2 (Array)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 2 cluster 2 -
Step 1: Replace the cluster 2 stub with 4 entries
Per spec §3.2 cluster 2, write each of: APL, K, BQN, Uiua.
For each:
- 2-3 sentences on the design idea
- 2-3 sentences on what we take from it
- Cite the canonical source (Dyalog for APL, kx.com for K, Marshall Lochbaum's site for BQN, uiua.org for Uiua)
Task 8: Write section 2 cluster 3 (Intent-Mapping)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 2 cluster 3 -
Step 1: Replace the cluster 3 stub with 4 entries
Per spec §3.2 cluster 3, write each of: Jofito, jq, nagent's tag protocol (REJECTED), Wasm.
For each:
- 2-3 sentences on the design idea
- 2-3 sentences on what we take (or don't take) from it
- Cite:
docs/transcripts/Ddme7DwMQBI_jofito_jody_bruchon.txtandhttps://codeberg.org/jbruchon/jofitofor Jofito; the existingnagent_takeaways_20260608.mdline 216-230 for the nagent tag protocol (with an explicit "we REJECT this XML-ish angle bracket approach" note)
Task 9: Write section 2 cluster 4 (Meta-Tooling DSLs)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 2 cluster 4 -
Step 1: Replace the cluster 4 stub with 4 entries
Per spec §3.2 cluster 4, write each of: mcp_dsl_20260606 placeholder, nagent's Bridge DSL, OpenAI function-calling schema, Anthropic tool-use schema.
For each:
- 2-3 sentences on the design idea
- 2-3 sentences on what we take (or don't take) from it
- Cite:
mcp_architecture_refactor_20260606/spec.md§12.1 formcp_dsl_20260606;nagent_takeaways_20260608.mdline 216-230 for the Bridge DSL; platform documentation URLs for OpenAI/Anthropic
Task 10: Write section 2 cluster 5 (SSDL)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 2 cluster 5 -
Step 1: Replace the cluster 5 stub with the 6 SSDL primitives + 7 modifiers
Per spec §3.2 cluster 5, the SSDL shape vocabulary is the meta-vocabulary used to annotate the verbs in section 4. Cite docs/reports/computational_shapes_ssdl_digest_20260608.md §1.
Include the table from the SSDL digest (6 primitives + 7 modifiers).
Task 11: Write section 2 cluster 6 (Command Palette)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 2 cluster 6 -
Step 1: Replace the cluster 6 stub with the 33 existing commands + the "Everything" mode future work
Per spec §3.2 cluster 6, the 33 Command Palette commands (per docs/guide_command_palette.md) are the project's existing vocabulary instincts. The DSL's verbs are a richer superset; "Everything" mode (per guide_command_palette.md line 383) is a near-term use case.
List 5-10 representative commands by category (View, Edit, Project, Layout, Theme, AI, Help) to make the cluster concrete without listing all 33.
Task 12: Write section 2 cluster 7 (Result)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 2 cluster 7 -
Step 1: Replace the cluster 7 stub with the
Result[T]+ErrorInfopattern
Per spec §3.2 cluster 7, the DSL's try/recover/sandbox/didyoumean verbs return Result[T]. The 12 ErrorKind values are the canonical error vocabulary. Cite conductor/tracks/data_oriented_error_handling_20260606/spec.md §3.3.
Include the 12 ErrorKind values and the Result[T] dataclass signature.
Task 13: Write section 3 (the grammar)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 3 -
Step 1: Replace the section 3 stub with the 14-primitive grammar table + ambiguity flags + precedence rules
Per spec §3.3:
- The 14 primitives table (with the user's pseudocode examples for each)
- The "Ambiguity flags" subsection (3 known issues:
procplacement,++col_offset→col_offset += 1,m[row][column]→m[row, col]) - Precedence rules (left-to-right for
->chains, with()for grouping) - AI-fuzzing tolerance rules (CoSy-style modulo indexing, structured recovery anchors via
{ }, line/offset independence) - Error envelope:
try { ... } recover { ... }returnsResult[T] - Block composition:
[ ](Onat's basic blocks),{ }(body blocks),arena { }(tape-drive regions)
Task 14: Phase 2 checkpoint commit
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/state.toml -
Step 1: Verify sections 1-3 are complete
Run:
wc -l conductor/tracks/intent_dsl_survey_20260612/report.md
grep -c "^## " conductor/tracks/intent_dsl_survey_20260612/report.md
Expected: ~1500-2500 lines, 8 ## headings (sections 1-7 + Appendix).
- Step 2: Phase 2 checkpoint commit
git add conductor/tracks/intent_dsl_survey_20260612/report.md
git commit -m "docs(ideation): Write intent_dsl_survey_20260612 sections 1-3
Section 1: the intent-based design philosophy (4 anchor claims)
Section 2: prior art across 8 clusters (0: IMGUI/MVC, 1: Concatenative,
2: Array, 3: Intent-mapping, 4: Meta-Tooling DSLs, 5: SSDL,
6: Command Palette, 7: Result)
Section 3: the 14-primitive grammar with ambiguity flags
All citations file:line or URL. All clusters cite specific source
material. Grammar formalized from user's pseudocode with explicit
ambiguity flags for proc/++/m[row][column]."
git notes add -m "intent_dsl_survey_20260612 Phase 2 checkpoint (sections 1-3)
Sections 1, 2, 3 written. Section 1: 4 anchor claims (O'Donnell,
Onat/Lottes, CoSy, Jofito). Section 2: 8 clusters with all
citations. Section 3: 14-primitive grammar table + ambiguity flags.
Next: phase 3 (write sections 4, 5, 6, 7)." $(git log -1 --format=%H)
Update state.toml:
current_phase = 2phase_2 = { status = "completed", checkpointsha = "<commit-sha>", name = "Write sections 1, 2, 3" }t2_1tot2_11=completedwithcommit_shaset
Commit the state update.
Phase 3: Write Sections 4, 5, 6, 7
Task 15: Write section 4 Tier 1 (math)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 4 Tier 1 -
Step 1: Replace the Tier 1 stub with the 10 math verbs
Per spec §3.4 Tier 1, the verbs are: := (local bind), stack { } (stack scope), for x .. n (range), +, -, *, /, ^, sum, product, a[i,j] (bracket indexing), if/then.
For each verb, the 5-column table:
- Symbol
- Name
- Signature
- One-line semantics
- One example (from the user's pseudocode)
- "Borrowed from" note
- SSDL shape tag
Tier 1 SSDL shape tags: most are [I] (single instruction) since they're scalar operations; the range for x .. n is o-> (codecycle).
Task 16: Write section 4 Tier 2 (data pipeline)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 4 Tier 2 -
Step 1: Replace the Tier 2 stub with the 12 data-pipeline verbs
Per spec §3.4 Tier 2, the verbs are: scan, select, filter, map, fold, sort, group, dedupe, arena { }, scatter, gather, pipe.
For each verb, the 5-column table (with one extra column: "maps to mcp_client tool"):
- Symbol
- Name
- Signature
- One-line semantics
- One example
- "Maps to mcp_client tool" note (e.g.,
scan→list_directory+search_files) - "Borrowed from" note
- SSDL shape tag
Tier 2 SSDL shape tags: scan is [I], filter/map are -> (codepath) or o-> (codecycle), arena { } is o-> (codecycle), pipe is => (wide codepath).
Task 17: Write section 4 Tier 3 (shell)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 4 Tier 3 -
Step 1: Replace the Tier 3 stub with the 10 shell verbs
Per spec §3.4 Tier 3, the verbs are: exec, open, read, write, close, path, env, wait, poll, cwd.
For each verb, the 5-column table (with "maps to mcp_client tool" and "maps to shell_runner" columns).
Tier 3 SSDL shape tags: most are [I] (single instruction); wait/poll are o-> (codecycle, blocking or polling).
Task 18: Write section 4 Tier 4 (AI-fuzzing tolerance)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 4 Tier 4 -
Step 1: Replace the Tier 4 stub with the 8 AI-fuzzing-tolerance verbs
Per spec §3.4 Tier 4, the verbs are: fuzzy, try { ... } recover { ... }, sandbox { ... }, audit, didyoumean, span, offset, assumewide.
For each verb, the 5-column table (with "borrowed from" pointing to O'Donnell / Jody / SSDL where applicable).
This is the novel tier — give it extra space. For each verb:
- Signature
- One-line semantics
- One example
- "Why this is needed for AI agents" (the user's specific requirement: deal with AI idiosyncrasies)
- "Borrowed from" note
- SSDL shape tag
Tier 4 SSDL shape tags: most are [I] (single instruction); try { ... } recover { ... } is ->B-> (codepath with branch); sandbox { ... } is o-> (codecycle, the IEventTarget boundary); assumewide is => (wide codepath assumption).
Task 19: Write section 5 (hardware mapping)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 5 -
Step 1: Replace the section 5 stub with the 4 anchor claims
Per spec §3.5, the 4 anchor claims:
- Claim 1 (Onat/Lottes, hardware): the 2-register stack + magenta pipe + basic blocks + lambdas + preemptive scatter (per
C:\projects\forth\bootslop\references\kyra_in-depth.md,forth_day_2020_in-depth.md,neokineogfx_in-depth.md,X.com - Onat & Lottes Interaction 1.png.ocr.md) → our->,[ ],arena { },scatter/gather. 8 sub-bullets with file:line references. - Claim 2 (O'Donnell, paradigm): the DSL's pipeline is immediate-mode in pipeline composition. Per
https://johno.se/book/imgui.html. Manifest in vocab: the->chain has no "pipeline object". - Claim 3 (Forth/CoSy, syntax): concatenative syntax is immediate-mode in tokenization, evaluation, and parsing.
- Claim 4 (APL/K, data): array languages are immediate-mode in data representation. The DSL's
for x .. n+result[row, col]inherits the "no array object" property.
Task 20: Write section 6 (AI-agent properties)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 6 -
Step 1: Replace the section 6 stub with the 10 claims
Per spec §3.6, the 10 claims. Each claim is 1-2 paragraphs. Cite the specific project source for each:
- Claim 1:
docs/guide_meta_boundary.md§"Domain 2: The Meta-Tooling" - Claim 2:
docs/guide_meta_boundary.md§"The Inter-Domain Bridges" - Claim 3:
docs/guide_tools.md§"The MCP Bridge" - Claim 4:
conductor/tracks/nagent_review_20260608/nagent_review_v2_1_20260612.md§2.1 - Claim 5:
nagent_review_v2_1_20260612.md§2.2 - Claim 6:
conductor/tracks/data_oriented_error_handling_20260606/spec.md§3.3 - Claim 7:
docs/guide_command_palette.md - Claim 8:
docs/guide_state_lifecycle.md§"Hook API Surface" - Claim 9:
https://johno.se/book/mvc.html§"Writing to Model state" (the IEventTarget pattern = thesandboxverb) - Claim 10:
https://johno.se/book/mvc.html§"Reading Model state" (the "reads are free" claim = the rationale for cheap Tier 2 verbs)
Task 21: Write section 7 (open questions)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdsection 7 -
Step 1: Replace the section 7 stub with 8 open questions + the placeholder connection block
Per spec §3.7:
- 8 open questions for follow-up B (interpreter prototype)
- The connection block to
intent_dsl_for_meta_tooling_20260608_PLACEHOLDER(permcp_architecture_refactor_20260606/spec.md§12.1 andnagent_review_20260608/metadata.json:28)
The 8 questions from spec §3.7:
- How does
arena { }map to Onat's preemptive scatter? - Where does "intent resolution" live?
- How does
auditinteract withcomms.log? - Does
sandboxproduceResult[T, ErrorInfo]? didyoumeanrecovery: parser feature or user-facing verb?- How does
for x .. ninteract with Tier 2'sfilter/map? - How does
sandboxmap topre_tool_callback? - Connection to
intent_dsl_for_meta_tooling_20260608_PLACEHOLDER: minimum subset for one round-trip end-to-end?
Task 22: Write the Appendix (bibliography)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.mdAppendix -
Step 1: Replace the Appendix stub with the full bibliography
Per spec §13.3, the full bibliography with file:line references. Group by cluster. Each entry: 1 line with the source identifier and the file:line or URL.
For project references, cite the exact files the engineer can read (per spec §13.1):
docs/Readme.md(the doc index)docs/ideation/ed_chunk_data_structures_20260523.md(the existing ideation doc)conductor/tracks.md(the active tracks registry)conductor/workflow.md(the workflow rules)conductor/product.md(the product guide)conductor/tech-stack.md(the tech stack)conductor/code_styleguides/(the styleguides)
For track-internal references (per spec §13.2):
conductor/tracks/data_oriented_error_handling_20260606/spec.mdconductor/tracks/nagent_review_20260608/nagent_review_v2_1_20260612.mdconductor/tracks/mcp_architecture_refactor_20260606/spec.md§12.1conductor/tracks/code_path_audit_20260607/spec.md
For external references (per spec §13.3):
- All Onat/Lottes files in
C:\projects\forth\bootslop\references\ - Jofito sources
- CoSy URLs
- O'Donnell URLs
Task 23: Phase 3 checkpoint commit
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/state.toml -
Step 1: Verify the report is complete
Run:
wc -l conductor/tracks/intent_dsl_survey_20260612/report.md
grep -c "^## " conductor/tracks/intent_dsl_survey_20260612/report.md
grep -c "^### " conductor/tracks/intent_dsl_survey_20260612/report.md
Expected: ~3500-5000 lines, 8 ## headings (sections 1-7 + Appendix), ~30-50 ### headings (clusters + tiers + claims + sub-sections).
- Step 2: Verify the 12 verification criteria from spec §11
For each criterion, confirm:
-
All 7 sections present and non-empty
-
Every prior-art claim in section 2 cites a specific source
-
User's pseudocode grammar in section 3 with examples from snippets
-
Every 4-tier verb in section 4 has signature + semantics + example + borrowed-from + SSDL tag
-
Section 5 references Onat/Lottes file:lines
-
Section 6 references the 4 memory dimensions + SSDL + Result + meta-boundary
-
Section 7 has 8 open questions + placeholder connection block
-
Appendix has full bibliography
-
(Self-review, user review, git note, tracks.md registration — done in phase 4)
-
Step 3: Phase 3 checkpoint commit
git add conductor/tracks/intent_dsl_survey_20260612/report.md
git commit -m "docs(ideation): Write intent_dsl_survey_20260612 sections 4-7 + Appendix
Section 4: the 4-tier vocab (~40 verbs across T1 math, T2 data
pipeline, T3 shell, T4 AI-fuzzing tolerance)
Section 5: hardware mapping (4 anchor claims to Onat/Lottes, O'Donnell,
Forth/CoSy, APL/K)
Section 6: AI-agent properties (10 claims tying to existing project
architecture)
Section 7: 8 open questions for follow-up B + placeholder connection
Appendix: full bibliography with file:line references
Report is now feature-complete (pending self-review + user review)."
git notes add -m "intent_dsl_survey_20260612 Phase 3 checkpoint (sections 4-7)
Sections 4, 5, 6, 7 + Appendix written. Report is feature-complete.
Section 4: 4-tier vocab with 40 verbs. Each verb has signature,
semantics, example, borrowed-from note, SSDL shape tag, and (for
T2/T3) maps-to-mcp_client-tool column. T4 is the novel contribution.
Section 5: 4 hardware anchor claims tying the verbs to Onat/Lottes
2-register model, O'Donnell immediate-mode paradigm, Forth/CoSy
concatenative syntax, and APL/K array data.
Section 6: 10 AI-agent properties tying the DSL to the existing
project: Meta-Tooling domain, runtime path through cli_tool_bridge,
3-layer security, 4 memory dimensions, stable-to-volatile cache,
Result envelope, Command Palette 33 commands, Hook API state fields,
IEventTarget = sandbox verb, 'reads are free' = cheap Tier 2 verbs.
Section 7: 8 open questions for the interpreter prototype + connection
block to intent_dsl_for_meta_tooling_20260608_PLACEHOLDER.
Appendix: full bibliography with file:line / URL references.
Next: phase 4 (self-review + user review + final commit)." $(git log -1 --format=%H)
Update state.toml:
current_phase = 3phase_3 = { status = "completed", checkpointsha = "<commit-sha>", name = "Write sections 4, 5, 6, 7" }t3_1tot3_8=completedwithcommit_shaset
Commit the state update.
Phase 4: Self-Review + User Review + Commit + Register
Task 24: Self-review per the brainstorming skill
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.md(fix any issues found) -
Step 1: Placeholder scan
Run:
grep -nE "TBD|TODO|FIXME|XXX|\?\?\?" conductor/tracks/intent_dsl_survey_20260612/report.md
Expected: no matches. If any match, fix them inline.
-
Step 2: Internal consistency check
-
Does section 1's 4-claim list match the claims in section 5's hardware mapping?
-
Does section 2's cluster enumeration match the 8 clusters in spec §3.2?
-
Does section 3's 14-primitive table match the grammar in spec §3.3?
-
Does section 4's 4-tier verb count (~40) match the spec's stated count?
-
Does section 5's 4-anchor-claim list match the spec's claim list?
-
Does section 6's 10-claim list match the spec's claim list?
-
Does section 7's 8-question list match the spec's question list?
Fix any inconsistencies inline.
- Step 3: Scope check
The report is research-only; it does NOT include:
- An interpreter
- A bridge script
- XML/JSON record formats
- The Application's function-calling
- RAG integration
- New
src/code - New tests
pyproject.tomlchanges
Verify the report does not accidentally include any of these.
-
Step 4: Ambiguity check
-
Are the 4 anchor claims in section 1 each single-meaning? (Per the convention from
data_oriented_error_handling_20260606§3.1: "aliasing the same code with multiple meaning" is an anti-pattern; each claim should have exactly one meaning.) -
Are the 10 AI-agent claims each single-meaning?
-
Are the 4 hardware anchor claims each single-meaning?
-
Are the 8 open questions each answerable (i.e., a future track can address them)?
Fix any issues inline.
- Step 5: Commit any fixes (if any were made)
git add conductor/tracks/intent_dsl_survey_20260612/report.md
git commit -m "docs(ideation): Self-review fixes for intent_dsl_survey_20260612
[Describe the fixes per the self-review pass]"
If no fixes were made, skip this commit.
Update state.toml:
t4_1=completedwithcommit_shaset (orcommit_sha = ""if no commit)self_review_complete = truein[verification]
Task 25: User review
Files:
-
(no modifications until user approves)
-
Step 1: Show the report to the user
Tell the user:
"Report is ready for your review at
conductor/tracks/intent_dsl_survey_20260612/report.md. ~[N] lines, 7 sections, 4-tier vocab with ~40 verbs, 8-cluster prior art survey, 4 hardware anchor claims, 10 AI-agent properties, 8 open questions for the follow-up interpreter prototype. Please review and let me know if you want any changes."
- Step 2: Wait for user response
The user will either:
- Approve (proceed to Task 27)
- Request changes (loop back, apply changes in a new commit, re-review)
Task 26: Apply user feedback (if any)
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/report.md -
Step 1: If user requested changes, apply them
Make the requested edits to the report.
- Step 2: Commit the changes
git add conductor/tracks/intent_dsl_survey_20260612/report.md
git commit -m "docs(ideation): Apply user review feedback to intent_dsl_survey_20260612
[Describe the changes per the user's feedback]"
- Step 3: Show the updated report to the user for re-review
"Applied your feedback in [section/commit reference]. Updated report is at
conductor/tracks/intent_dsl_survey_20260612/report.md. Please confirm the changes are good."
Loop back to Task 25 Step 1 if user wants more changes.
If no user feedback was given (i.e., the user approved on first review), skip Tasks 26 and proceed to Task 27.
Task 27: Final commit + git note
Files:
-
Modify:
conductor/tracks/intent_dsl_survey_20260612/state.toml -
Step 1: Verify all 12 verification criteria from spec §11 are met
For each criterion, confirm ✓. Update state.toml [verification] table.
- Step 2: Final commit (only if not already committed in Task 26)
If the report was already committed in Task 26, skip this commit. Otherwise:
git add conductor/tracks/intent_dsl_survey_20260612/report.md
git commit -m "docs(ideation): Finalize intent_dsl_survey_20260612 report"
- Step 3: Final git note
git notes add -m "intent_dsl_survey_20260612 COMPLETE
Report finalized. All 12 verification criteria met. User approved.
7 sections, ~[N] lines, 4-tier vocab (~40 verbs), 8-cluster prior art
survey, 4 hardware anchor claims, 10 AI-agent properties, 8 open
questions for follow-up B (interpreter prototype).
Will be consumed by:
- nagent v2.2 (Future-Track Candidate #4: Intent-based DSL)
- intent_dsl_for_meta_tooling_20260608_PLACEHOLDER (when specced)
- future interpreter prototype (follow-up B track)
Time-sensitive: report complete before nagent v2.2." $(git log -1 --format=%H)
Update state.toml:
status = "completed"current_phase = "complete"phase_4 = { status = "completed", checkpointsha = "<commit-sha>", name = "Self-review + user review + commit" }t4_1tot4_4=completedwithcommit_shaset- All
[verification]flags =true git_note_attached = true
Commit the state update:
git add conductor/tracks/intent_dsl_survey_20260612/state.toml
git commit -m "conductor(track): Mark intent_dsl_survey_20260612 complete"
Task 28: Update tracks.md to register track as completed
Files:
-
Modify:
conductor/tracks.md -
Step 1: Update the table row
The existing row in the Active Tracks table:
| 23 | A (research) | [Intent-Based Scripting Languages Survey](#track-intent-based-scripting-languages-survey-new-2026-06-12) | spec ✓, plan pending | (none — independent; NEW 2026-06-12; **non-impl research track**, **time-sensitive: report must complete before nagent v2.2**) |
Update the status to:
| 23 | A (research) | [Intent-Based Scripting Languages Survey](#track-intent-based-scripting-languages-survey-new-2026-06-12) | **complete** (~[N] lines, 7 sections) | (none — independent; NEW 2026-06-12; **non-impl research track**, **time-sensitive: report complete before nagent v2.2**) |
- Step 2: Move the track section to the "Recently Completed" section
Find the section "Recently Completed (2026-06-06 to 2026-06-10)" (or wherever the existing convention is) and add a new entry. The existing recently-completed format is:
#### Track: [Name] `[COMPLETE YYYY-MM-DD]`
*Link: [./tracks/<name>/](./tracks/<name>/), Spec: [.../spec.md], Plan: [.../plan.md]*
*Status: ...*
Add the new track at the top of the recently-completed section:
#### Track: Intent-Based Scripting Languages Survey `[COMPLETE 2026-06-12]`
*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)*
*Status: COMPLETE 2026-06-12. Report at conductor/tracks/intent_dsl_survey_20260612/report.md (~[N] lines, 7 sections, 4-tier vocab with ~40 verbs). Time-sensitive goal met: complete before nagent v2.2. Will be consumed by nagent v2.2 (Candidate #4) and future interpreter prototype (follow-up B).*
- Step 3: Commit the tracks.md update
git add conductor/tracks.md
git commit -m "conductor(tracks): Mark intent_dsl_survey_20260612 complete"
Update state.toml:
t4_5=completedwithcommit_shasettracks_md_registered = true
Commit the final state update:
git add conductor/tracks/intent_dsl_survey_20260612/state.toml
git commit -m "conductor(track): Mark intent_dsl_survey_20260612 final state (tracks.md registered)"
Self-Review (against the spec)
1. Spec coverage: Skim each section/requirement in the spec.
| Spec § | Requirement | Task | Covered? |
|---|---|---|---|
| §1 | Overview (the report's purpose) | Task 1, 3 | ✓ |
| §2 | Goals (priority A + B + C + D) | All tasks | ✓ |
| §2.1 | Non-goals | implicit (no src/tests/pyproject changes) | ✓ |
| §3.1 | Section 1 (philosophy) | Task 4 | ✓ |
| §3.2 | Section 2 (8 clusters) | Tasks 5-12 | ✓ |
| §3.3 | Section 3 (grammar) | Task 13 | ✓ |
| §3.4 | Section 4 (4-tier vocab) | Tasks 15-18 | ✓ |
| §3.5 | Section 5 (hardware mapping) | Task 19 | ✓ |
| §3.6 | Section 6 (AI-agent properties) | Task 20 | ✓ |
| §3.7 | Section 7 (open questions) | Task 21 | ✓ |
| §4 | Per-section content boundaries | implicit (each task produces a section) | ✓ |
| §5 | No new Python dependencies | implicit (research-only) | ✓ |
| §6 | Testing strategy (self-review + user review) | Task 24, 25 | ✓ |
| §7 | Migration / rollout | implicit (single file addition) | ✓ |
| §8 | Risks & mitigations | implicit (covered by self-review) | ✓ |
| §9 | Open questions for Tier 2 Tech Lead | addressed by Task 14 (markdown tables vs ASCII art) | ✓ |
| §10 | Coordination with pending tracks | implicit (no blockers) | ✓ |
| §11 | Verification criteria (12 items) | Task 23 Step 2, Task 27 Step 1 | ✓ |
| §12 | Out of scope (8 items) | implicit (research-only) | ✓ |
| §13.1 | Existing project references | Appendix (Task 22) | ✓ |
| §13.2 | Track-internal references | Appendix (Task 22) | ✓ |
| §13.3 | External references | Appendix (Task 22) | ✓ |
All 21 spec requirements are covered.
2. Placeholder scan: The plan contains no "TBD", "TODO", "implement later", "fill in details", or "Similar to Task N" placeholders. Every step shows the actual content.
3. Type consistency: The plan uses consistent terminology throughout:
- Track name:
intent_dsl_survey_20260612(consistent across all tasks) - Report path:
conductor/tracks/intent_dsl_survey_20260612/report.md(consistent) - Spec path:
conductor/tracks/intent_dsl_survey_20260612/spec.md(consistent) - State path:
conductor/tracks/intent_dsl_survey_20260612/state.toml(consistent) - Verbs are consistent with the spec's 4-tier list
- 8 prior-art clusters are consistent
- 14 grammar primitives are consistent
- 4 hardware anchor claims are consistent
- 10 AI-agent properties are consistent
- 8 open questions are consistent
No type or method signature inconsistencies found.
Execution Handoff
Plan complete and saved to conductor/tracks/intent_dsl_survey_20260612/plan.md. 28 tasks across 4 phases.
The track is research-only, so the typical "subagent-driven-development" workflow (which dispatches a fresh subagent per task) is less applicable than for a code track. The plan is more naturally executed inline by a single Tier 2 Tech Lead with periodic checkpoints.
Recommended execution: Inline by a single Tier 2 Tech Lead. Phases 1-3 are self-directed (reading + writing). Phase 4 is the user-approval gate.
Alternatively: Subagent-Driven per task. If the user prefers, each task (or each cluster write) can be dispatched to a fresh subagent. This is slower per task but cleaner for context isolation. Recommended for: Tasks 6-12 (the 7 cluster writes, each can be a subagent dispatch).
Decision is yours. The plan can be executed either way.