🔧 **Phase S (Immediate Stabilization) Implementation** - Create control flow utilities module (src/mir/utils/) - Refactor loop_builder.rs duplicated code to utilities - Fix PHI incoming predecessor capture per ChatGPT Pro analysis 📊 **AI Collaborative Analysis Complete** - Task agent: Root cause identification - Gemini: Strategic 3-phase approach - codex: Advanced type inference solution (archived) - ChatGPT Pro: Definitive staged treatment strategy 🗂️ **Documentation & Archive** - Strategy document: docs/development/strategies/break-control-flow-strategy.md - codex solutions: archive/codex-solutions/ (100+ lines changes) - Update CLAUDE.md with 2025-09-23 progress ⚡ **Expected Impact** - Resolve collect_prints null return issue - Eliminate code duplication (4 locations unified) - Foundation for Phase M (PHI unification) and Phase L (BuildOutcome) 🎯 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Self‑Hosting Apps (Ny‑only)
Purpose
- Keep self‑hosting Ny scripts isolated from general
apps/noise. - Enable fast inner loop without touching Rust unless necessary.
Conventions
- Entry scripts live under this folder; prefer minimal dependencies.
- Use
--using-path apps/selfhost:appswhen resolving modules. - Prefer VM (
--backend vm) for speed and stability.
Quickstart
- Run minimal sample:
make dev(usesapps/selfhost-minimal/main.nyash) - Watch changes:
make dev-watch - Run parser Ny project:
./tools/dev_selfhost_loop.sh --std -v --backend vm -- apps/selfhost/ny-parser-nyash/main.nyash
Guidelines
- Keep files small and composable; avoid cross‑project coupling.
- If moving an existing
apps/*item here, update docs/scripts accordingly. - For namespace usage, pass
--using-path apps/selfhost:apps.