@@ -70,9 +70,11 @@ diagnostic.)
7070
7171## 2 · The transpiler (the superpower)
7272
73- The IR (` ruff_spo_triplet::ModelGraph ` ) is already bidirectional
74- (` expand ` ⇄ ` reassemble ` ), and ` ruff_cpp_codegen ` already proves
75- ` ModelGraph → Rust source ` . Generalize that one backend into an adapter family:
73+ The IR (` ruff_spo_triplet::ModelGraph ` ) is bidirectional * by intent* — ` expand `
74+ is general, but ** ` reassemble ` today recovers only the C++ projection** (a
75+ general reassembler is a prerequisite; see the ruff RFC) — and
76+ ` ruff_cpp_codegen ` already proves ` ModelGraph → Rust source ` . Generalize that
77+ one backend into an adapter family:
7678
7779```
7880SOURCE (py/cpp/cs) ─ruff_*_spo─▶ ModelGraph ─mint─▶ Facet (content address, dedup across langs)
@@ -114,9 +116,11 @@ transpilation (method bodies → executable logic) is a later arm via
114116 lever that scales it.
115117
116118## 4 · Status of the pieces (verified ` main ` )
117- Real: ` ModelGraph ` interlingua (bidirectional), ` ruff_cpp_spo ` / ` ruff_ruby_spo `
118- frontends, ` ruff_csharp_spo ` loader, the 16-byte mint (` ruff_spo_address ` ), one
119- backend (` ruff_cpp_codegen ` → Rust), ` bridge_codebook_convergence ` (identity).
119+ Real: ` ModelGraph ` interlingua (` expand ` general; ` reassemble ` C++-projection-
120+ only today), ` ruff_cpp_spo ` (` extract_dir ` /` extract_tree ` ; ` extract() ` is a
121+ ` todo!() ` ) / ` ruff_ruby_spo ` frontends, ` ruff_csharp_spo ` loader, the 16-byte
122+ mint (` ruff_spo_address ` ), one backend (` ruff_cpp_codegen ` → Rust),
123+ ` bridge_codebook_convergence ` (identity).
120124To build: Python→ModelGraph normalization, C# harvester generalization, the
121125` LangBackend ` trait + Python/C# backends, the dual-mode ` FacetMode ` , the
122126` tenant_schema ` , the round-trip + convergence CI, the ` OGAR-SOC ` lint.
0 commit comments