30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# Phase‑20.29 — Execution Plan
|
||
|
||
Milestones
|
||
|
||
1) Rust layer freeze gates
|
||
- Document freeze scope and add guardrails in code comments (runner/handlers): glue only; no semantics.
|
||
- Optional TTL flag for exceptional debug prints (default OFF); removal noted in CURRENT_TASK.
|
||
|
||
2) Runner defaults to Gate‑C(Core) in dev/quick
|
||
- Dev profiles: prefer JSON→Core; keep wrapper/direct paths as opt‑in toggles.
|
||
- Unify child/env helpers for Gate‑C across file/pipe; normalize only when plugins=ON.
|
||
|
||
3) Self‑host minimal loop
|
||
- Ensure lang compiler emits JSON v0 deterministically for a tiny program.
|
||
- Gate‑C executes it (file/pipe) with rc/quiet symmetry.
|
||
- Add/keep canaries: bootstrap_min, nested_if (opt‑in), mutate→consume order (Builder).
|
||
|
||
4) SSOT from lang
|
||
- Generate extern/call mapping from lang sources/specs; Rust consumes the generated table.
|
||
- Keep single source of truth to prevent drift.
|
||
|
||
5) Test matrix & docs
|
||
- quick/integration‑core stay green; plugins ON/OFF × file/pipe parity for Core.
|
||
- Docs: freeze policy, defaults, toggles, and canary list.
|
||
|
||
Success criteria
|
||
- Dev default path uses Gate‑C(Core); self‑host loop repeats without manual steps.
|
||
- No new semantics added in Rust during this phase; changes limited to glue/bugfix.
|
||
|