diff --git a/CLAUDE.md b/CLAUDE.md index 2f68fde..70741a2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -334,19 +334,26 @@ A clear comment at the declaration site is mandatory. ## On every session start -Three active workstreams run in parallel — **IR** (the language compiler), -**FFI** (Obj-C / JNI ceremony reduction), and **MEM** (memory module -overhaul, mem.sx + protocol expansion). They touch mostly disjoint -files; any can be advanced independently. +Five active workstreams run in parallel — **IR** (the language compiler), +**FFI** (Obj-C / JNI ceremony reduction), **MEM** (memory module +overhaul, mem.sx + protocol expansion), **LANG** (user-facing language +features — diagnostics renderer, heterogeneous variadic packs), and +**ERR** (error handling: separate-channel `!` errors, `try` / `catch` / +`or` / `errdefer`, return traces). They touch mostly disjoint files; +any can be advanced independently. -1. Read all three checkpoints to see where each stream is paused: +1. Read all five checkpoints to see where each stream is paused: - `current/CHECKPOINT.md` — IR progress tracker. - `current/CHECKPOINT-FFI.md` — FFI progress tracker. - `current/CHECKPOINT-MEM.md` — MEM progress tracker + issues log. + - `current/CHECKPOINT-LANG.md` — LANG progress tracker. + - `current/CHECKPOINT-ERR.md` — ERR progress tracker. 2. Read the plan that corresponds to the stream the user wants to advance: - `current/PLAN.md` — IR implementation plan. - `current/PLAN-FFI.md` — FFI ceremony reduction plan. - `~/.claude/plans/tidy-doodling-cray.md` — MEM (mem.sx) implementation plan. + - `current/PLAN-LANG.md` — LANG implementation plan. + - `current/PLAN-ERR.md` — ERR implementation plan. 3. Read `specs.md` if you need to understand language behavior. 4. Pick up from the next incomplete step in the relevant `CHECKPOINT*.md`. If the user hasn't said which stream to work on, ask before picking. @@ -363,7 +370,9 @@ files; any can be advanced independently. probes/snippets there (e.g. `.sx-tmp/probe.sx`). - Work on **one step at a time**. Complete it fully before moving on. - After completing a step, immediately update the relevant checkpoint - (`current/CHECKPOINT.md` for IR, `current/CHECKPOINT-FFI.md` for FFI): + (`current/CHECKPOINT.md` for IR, `current/CHECKPOINT-FFI.md` for FFI, + `current/CHECKPOINT-MEM.md` for MEM, `current/CHECKPOINT-LANG.md` for + LANG, `current/CHECKPOINT-ERR.md` for ERR): - Update `## Last completed step` with the step you just finished. - Update `## Current state` with what exists now. - Update `## Next step` with what comes next. @@ -526,6 +535,10 @@ Wiring a new bundling step: | `current/CHECKPOINT.md` | **Active** IR progress tracker. Update after every step. | | `current/PLAN-FFI.md` | **Active** FFI ceremony reduction plan (Obj-C / JNI intrinsics, JNI DSL, Obj-C header import). | | `current/CHECKPOINT-FFI.md` | **Active** FFI progress tracker. Update after every step. | +| `current/PLAN-LANG.md` | **Active** LANG implementation plan (diagnostics renderer, heterogeneous variadic packs). | +| `current/CHECKPOINT-LANG.md` | **Active** LANG progress tracker. Update after every step. | +| `current/PLAN-ERR.md` | **Active** ERR implementation plan (`!` errors, `try` / `catch` / `or` / `errdefer`, return traces). | +| `current/CHECKPOINT-ERR.md` | **Active** ERR progress tracker. Update after every step. | | `implementation_plan.md` | Archive of completed work (closures, protocols, etc.). Do not pick up tasks from here. | | `readme.md` | Original syntax sketches. Do not modify. | | `CLAUDE.md` | This file. Session instructions. |