phase15: update CLAUDE.md with Phase 15 enhancements from AGENTS.md
- Add JIT Self-Host Quickstart section for Phase 15 - Include important flags reference (plugins, parsers, debugging) - Add Codex async workflow documentation for parallel tasks - Update test execution with Phase 15 smoke tests - Improve build time notes (JIT vs LLVM) - Align with current Phase 15 progress and tooling 🎉 Bootstrap (c0→c1→c1') test confirmed working\! Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -10,21 +10,25 @@ This roadmap is a living checklist to advance Phase 15 with small, safe boxes. U
|
||||
- [x] Docs path unify (phase-15 under roadmap tree)
|
||||
- [x] Direct bridge (design + skeleton; feature-gated)
|
||||
- [x] AOT P2 stubs (CraneliftAotBox/LinkerBox) + RUN smoke wiring
|
||||
- [x] JIT‑only baseline stabilized (core smokes green; plugins optional)
|
||||
- [x] Roundtrip (Case A/B) aligned; Case A re‑enabled via parser pipe
|
||||
- [x] using/namespace (gated) + nyash.link minimal resolver
|
||||
- [x] NyModules + ny_plugins regression suite (Windows path normalization/namespace derivation)
|
||||
- [x] Standard Ny scripts scaffolds added (string/array/map P0) + examples + jit_smoke
|
||||
|
||||
## Next (small boxes)
|
||||
|
||||
1) Ny config loader (Ny-only)
|
||||
- FileBox + TOMLBox to read `nyash.toml` → Map (env/tasks/plugins/box_types)
|
||||
- Deliver as `apps/std/ny-config.nyash` with simple API: `read_root()`, `load_toml()`, `get_env()/get_tasks()`
|
||||
2) Ny script plugins enumeration
|
||||
- Add `[ny_plugins]` to `nyash.toml` for pure Nyash plugins
|
||||
- Runner opt-in hook: `NYASH_LOAD_NY_PLUGINS=1`/`--load-ny-plugins` to include/register in order
|
||||
3) Direct bridge (v0) rollout
|
||||
- `--parser ny`/`NYASH_USE_NY_PARSER=1` routes to in-proc bridge (subset: return/int/+ - * /, parens)
|
||||
- Keep JSON as debug dump (`NYASH_DUMP_JSON_IR=1`)
|
||||
- Expand smokes + parity checks with rust path
|
||||
4) AOT P2 (stub→first run)
|
||||
- Emit `.obj/.o` → link → run; measure time/size; log instructions
|
||||
1) Standard Ny std impl (P0→実体化)
|
||||
- Implement P0 methods for string/array/map in Nyash (keep NyRT primitives minimal)
|
||||
- Enable via `nyash.toml` `[ny_plugins]` (opt‑in); extend `tools/jit_smoke.sh`
|
||||
2) Ny compiler MVP (Ny→MIR on JIT path)
|
||||
- Ny tokenizer + recursive‑descent parser (current subset) in Ny; drive existing MIR builder
|
||||
- Flag path: `NYASH_USE_NY_COMPILER=1` to switch rust→ny compiler; rust parser as fallback
|
||||
- Add apps/selfhost-compiler/ and minimal smokes
|
||||
3) Bootstrap loop (c0→c1→c1’)
|
||||
- Use existing trace/hash harness to compare parity; add optional CI gate
|
||||
4) Plugins CI split (継続)
|
||||
- Core always‑on (JIT, plugins disabled); Plugins as optional job (strict off by default)
|
||||
|
||||
## Later (incremental)
|
||||
|
||||
@ -33,6 +37,9 @@ This roadmap is a living checklist to advance Phase 15 with small, safe boxes. U
|
||||
- 12.7 sugars normalized patterns in bridge (?. / ?? / range)
|
||||
- E2E CI-lite matrix (no LLVM) for v0/v1/bridge roundtrip
|
||||
- Ny script plugin examples under `apps/plugins-scripts/`
|
||||
- Expand std Ny impl (String P1: trim/split/startsWith/endsWith; Array P1: map/each/filter; Map P1: values/entries/forEach)
|
||||
- using/nyash.link E2E samples under `apps/` (small project template)
|
||||
- Tighten Plugins job: migrate samples to Core‑13; re‑enable strict diagnostics
|
||||
|
||||
## Operational switches
|
||||
|
||||
@ -48,7 +55,7 @@ This roadmap is a living checklist to advance Phase 15 with small, safe boxes. U
|
||||
|
||||
## Stop criteria (Phase 15)
|
||||
|
||||
- v0 E2E green (parser pipe + direct bridge)
|
||||
- v0 E2E green (parser pipe + direct bridge) including Ny compiler MVP switch
|
||||
- v1 minimal samples pass via JSON bridge
|
||||
- AOT P2: emit→link→run stable for constant/arith
|
||||
- Docs/recipes usable on Windows/Unix
|
||||
|
||||
Reference in New Issue
Block a user