Skip to content

Commit b64334c

Browse files
committed
docs: add optional-integration loader shim to roadmap
Record the zero-dependency loader package (@r3b1s/pi-repair-layer-loader) as an unscheduled item: it would own the dynamic import and absence discrimination so consumers stop hand-rolling (and drifting from) the recipe.
1 parent 80e7f57 commit b64334c

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

ROADMAP.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Roadmap
2+
3+
Longer-horizon items that are not yet scheduled into an OpenSpec change.
4+
5+
## Optional-integration loader shim package
6+
7+
Ship a tiny, zero-runtime-dependency loader package (working name
8+
`@r3b1s/pi-repair-layer-loader`) that consumers hard-depend on instead of
9+
hand-rolling the optional-integration recipe. The shim owns the dynamic
10+
`import("@r3b1s/pi-repair-layer/pi")` and the absence discrimination, so the
11+
fragile classification logic lives in one place we test and version, rather
12+
than being copy-pasted (and drifting) across every consumer.
13+
14+
- **Consumer surface:** `const adapt = await loadRepairAdapter()` — returns the
15+
adapter or `undefined` when the engine is absent.
16+
- **Why a separate package:** the absence detector can't ship from the main
17+
package (you'd have to import it from the thing that might be missing —
18+
bootstrap paradox). A zero-dependency shim can't itself be
19+
"present-but-broken," so it removes the last copy-paste hazard.
20+
- **Trade-off:** a second published package plus version coordination; converts
21+
"optional heavy dependency" into "required tiny shim + optional heavy
22+
engine." Justified once external adoption is broad enough that copy-paste
23+
drift becomes a real maintenance cost.
24+
- **Depends on:** the A+B work (zero-runtime-dep `/pi` entry + robust
25+
quoted-specifier matcher), which makes the shim's internal logic trivial and
26+
its detection unambiguous.

0 commit comments

Comments
 (0)