@@ -85,13 +85,56 @@ and a high-performance native backend (Axiom's `ZigBackend` role).
8585
8686== Gates (build blocked until all clear)
8787
88- * **G1** `AcceleratorGate` registered in Julia General (#155654, ETA
89- ~2026-05-20) — needed to inspect its real API for Q1.
90- * **G2** `panel-clades/` template instantiated (rsr `{{tokens}}` resolved;
91- same corruption class found in `panel-clades/ffi/zig/` must be cleaned —
92- cf. the Axiom.jl bot-mess) .
88+ * **G1** Dissolved. `AcceleratorGate` need not be registered: Axiom.jl was
89+ decoupled by vendoring it (precedent set); `AcceleratorGate.jl` is cloned
90+ locally for Q1 analysis. Julia-registry timing is OFF this critical path.
91+ * **G2** `panel-clades/` template instantiation — *partially done*; see
92+ triage below .
9393* **G3** Q1–Q3 resolved by the owner.
9494
95+ == G2 status & remaining-placeholder triage (handoff — do not re-derive)
96+
97+ **Done (2026-05-18, on `feat/panel-clades-pivot`):** `panel-clades/ffi/zig/`
98+ fully instantiated + migrated to Zig 0.15 — `{{project}}` → `panel_clades`
99+ (matches `main.zig` exports + `Foreign.idr` `C:panel_clades_*,
100+ libpanel_clades`); `build.zig` ported (addLibrary/linkage, root_module,
101+ addInstallFileWithDir, `.link_libc`); `main.zig` opaque→struct,
102+ callconv(.C)→.c. `zig build test` → **6/6 green**.
103+
104+ **Remaining** = the ~50 non-FFI `{{TOKEN}}` placeholders across ~45 files.
105+ The template's intended instantiator is its own interactive `just init`
106+ (see `panel-clades/PLACEHOLDERS.md`). Hand-sed is hazardous: the literal
107+ `panel-clades` is overloaded across 3 roles (dir name, uppercase ident,
108+ one-line description) — blind replace = the Axiom corruption class.
109+ Triage of the remaining tokens:
110+
111+ [cols="1,3"]
112+ |===
113+ | Mechanically derivable (safe to auto-fill)
114+ | `{{AUTHOR}}`=Jonathan D.A. Jewell, `{{AUTHOR_EMAIL}}`=j.d.a.jewell@open.ac.uk,
115+ `{{OWNER}}`=hyperpolymath, `{{FORGE}}`=github.com, `{{REPO}}`=panll,
116+ `{{CURRENT_YEAR}}`=2026, `{{CURRENT_DATE}}`/`{{GENERATED_AT}}`=instantiation date,
117+ `{{VERSION}}`=0.1.0, `{{PASCAL_NAME}}`=PanelClades, `{{PROJECT}}`=PANEL_CLADES,
118+ `{{project}}`=panel_clades (FFI already done)
119+
120+ | Owner decisions (do NOT guess)
121+ | `{{LICENSE}}` (internal pkg — estate PMPL vs MPL-2.0), `{{PORT}}`,
122+ `{{PROTOCOL}}`, `{{PROJECT_KIND}}`, `{{DOMAIN}}`/`{{PROJECT_DOMAIN}}`/`{{WEBSITE}}`,
123+ `{{CLADE_ID}}`, `{{CLADE_NAME}}`, `{{SHORT}}`, `{{ICON}}`,
124+ `{{ONE_LINE_DESCRIPTION}}`/`{{PROJECT_DESCRIPTION}}`/`{{PROJECT_PURPOSE}}`,
125+ `{{REGISTRY}}`, `{{SECURITY_EMAIL}}`/`{{CONDUCT_EMAIL}}`/`{{CONDUCT_TEAM}}`,
126+ `{{RESPONSE_TIME}}`, `{{EXPIRES_AT}}`, `{{ON_INIT_HANDLER}}`/`{{ON_DISPOSE_HANDLER}}`
127+
128+ | Real cryptographic material (MUST come from estate key inventory — never fabricate)
129+ | `{{SPHINCS_PLUS_PUBLIC_KEY}}`, `{{PRIMARY_SIGNATURE}}`,
130+ `{{FALLBACK_SIGNATURE}}`, `{{PGP_KEY_URL}}`, `{{ZONEMD}}`,
131+ `{{TRUSTFILE_PATH}}`, `{{TRUSTFILE_VERSION}}`
132+ |===
133+
134+ Resume path: owner provides the decision values + points at real estate
135+ keys → run/emulate `just init` with that value-set (NOT blind sed). Paused
136+ pending the suite audit, which may reprioritise the whole estate first.
137+
95138== Anti-goals (per ADR-0001)
96139
97140Do not look at `oo7`/`jtv`. Trust only the Axiom general form. Do not
0 commit comments