1- # Improvement 9: trace-id Pipeline + Sudoku Demo
1+ # Improvement 9: merge edge-type Pipeline
22
3- Status: ` todo.current ` (active — Sudoku Phase 1-3 complete, Phase 4 next )
4- Date: 2026-03-13
3+ Status: ` todo.current ` (active — focused on merge edge-type only )
4+ Date: 2026-03-24
55
66## Focus
77
8- Two lanes, both trace-id ecosystem:
8+ Single lane: teach ` merge --stdin ` to retain ` edge_type ` from trace-id JSON.
99
10- 1 . ** merge edge-type pipeline ** — ` trace-id --json | merge --stdin ` retains ` edge_type `
11- 2 . ** Sudoku demo** — full showcase of recur as discoverability engine
10+ The Sudoku demo (formerly Lane 2) is now its own standalone lane:
11+ ` docs/main. demo.sudoku.trace-id.todo.current.md `
1212
13- ## Progress (2026-03-13)
14-
15- ** Sudoku demo Phase 1+2+3 complete:** 644 tests green (32 + 20 + 46 + rest of suite).
16- - Phase 1: file protocol proof — plain .txt, default vocab, config isolation, edge_type
17- - Phase 2: Recur.jl wrapper + puzzle fixture — full Julia→subprocess→JSON loop
18- - Phase 3: Generator.jl — Sudoku geometry, flow file authoring, cascades.json generation
19- - Fixed: box.5 → box.2 (handwritten fixture had wrong box number, Generator computes correctly)
20- - Proven: 20 unique peers per cell, all subscribe lines reference identifier
21- - Artifacts: ` demos/sudoku/julia/ ` (Recur.jl, Generator.jl), ` julia-tests/runtests.demo.sudoku.phase3.jl `
22-
23- ** Phase 4 next:**
24- - Phase 1d config isolation (fragile repo config dependency)
25- - Dogfooding doc validation (speculative vocabulary)
26-
27- ** Lane 1 (merge edge-type) unchanged** — Phase 5 ` @test_broken ` still waiting.
28-
29- ## Lane 1: merge edge-type
30-
31- ### What's needed
13+ ## What's Needed
3214
3315` merge --stdin ` currently extracts file paths from JSON and builds a file-path tree.
3416It doesn't understand the trace-id JSON shape (` define ` /` produce ` /` consume ` /` trigger ` arrays)
@@ -40,7 +22,7 @@ To make `trace-id --json | merge --stdin --json` output include `edge_type`:
40222 . Track ` edge_type ` per path through merge
41233 . Include ` edge_type ` in merge JSON output
4224
43- ### Test
25+ ## Test Gate
4426
4527` julia-tests/runtests.trace-id.jl ` — Phase 5: "trace-id -> merge (full composition placeholder)"
4628
@@ -50,34 +32,25 @@ To make `trace-id --json | merge --stdin --json` output include `edge_type`:
5032
5133Flip to ` @test ` when implemented.
5234
35+ Also absorbs the trace-id test lane Phase 5 (cross-command JSON pipeline contracts).
36+ That lane's Phases 1-4 are complete and wired into the suite — see
37+ ` docs/main.command.trace-id.test.complete.md ` for the record.
38+
5339### Descoped
5440
5541` trace -> merge ` , ` callers -> merge ` , ` callees -> merge ` edge_type tests —
5642those commands don't produce ` edge_type ` . Marked ` @test_skip ` permanently.
5743
58- ## Lane 2: Sudoku Demo
59-
60- Full planning in ` docs/main.demo.sudoku.trace-id.todo.current.md ` .
61-
62- 7 phases:
63- 1 . File protocol spec + keyword vocabulary
64- 2 . Julia CLI prototype — hardcoded puzzle, call recur, verify cascade JSON
65- 3 . Julia puzzle package generator — produce all JSON artifacts for one puzzle
66- 4 . Julia CLI game loop — playable terminal game
67- 5 . HTML5 static game — load puzzle package, full browser game, no recur at runtime
68- 6 . Optional: Julia local server mode for live recur queries from HTML5
69- 7 . Demo script (` demos/sudoku/demo.ps1 ` )
70-
7144## Close-out Criteria
7245
73461 . Phase 5 trace-id → merge test flips from ` @test_broken ` → ` @test `
74- 2 . Sudoku demo Phase 1-5 complete (Phase 6-7 optional)
75- 3 . Create ` docs/main.improvement.9.trace-id.complete.md `
76- 4 . Delete this ` .current.md `
47+ 2 . Create ` docs/main.improvement.9.trace-id.complete.md `
48+ 3 . Delete this ` .current.md `
7749
7850## References
7951
80- - ` julia-tests/runtests.trace-id.jl ` — Phase 5 (Lane 1)
52+ - ` julia-tests/runtests.trace-id.jl ` — Phase 5 tests
8153- ` src/main_command_merge_impl.rs ` — merge stdin implementation
82- - ` docs/main.demo.sudoku.trace-id.todo.current.md ` — Sudoku demo (Lane 2)
54+ - ` docs/main.command.trace-id.test.complete.md ` — test lane record (Phases 1-4 done)
55+ - ` docs/main.demo.sudoku.trace-id.todo.current.md ` — Sudoku demo (standalone)
8356- ` docs/main.improvement.9.trace-id.todo.future-plan.md ` — original future-plan
0 commit comments