11# Spectre Shell Execution Todo
22
33Tracks forward work from the v1.1.1 baseline. Phase 1 is complete. Phase 2
4- core (P0/P1/P2 ) is complete and queued for the next release. P3 Router Signal
5- Bridge is the current evaluation item. Phase 3 (broader adoption) is next .
4+ (P0–P2.5 ) is fully complete and queued for the next release. Phase 3
5+ (broader adoption) is now open .
66
77## Phase 1: Foundation — Complete
88
@@ -103,15 +103,27 @@ or deferred explicitly.
103103
104104---
105105
106- ## Phase 2: Ecosystem Integration — P2.4 closed; P2.5 is the remaining item
106+ ## Phase 2: Ecosystem Integration — Complete (P0– P2.5)
107107
108- Phase 2 is fully closed once P2.5 ships. Phase 3 opens after that.
108+ Phase 2 is fully closed. Phase 3 is now open.
109+
110+ ### P2.5: Programmatic Navigation — Done
111+
112+ ` bootstrapApp ` creates the ` Router ` internally and now returns it instead of
113+ ` void ` (Option A). Additive change; no existing callers break; gives consumers
114+ full router access.
115+
116+ - [x] Change ` bootstrapApp ` return type from ` void ` to ` Router `
117+ - Files: ` src/bootstrap.ts ` , ` src/index.ts ` , ` tests/bootstrap.test.ts ` , ` README.md `
118+ - Acceptance: ` bootstrapApp(options) ` returns the ` Router ` instance; existing call
119+ sites that ignore the return value continue to work; tests confirm the instance
120+ is the same Router used internally; CHANGELOG entry added under ` [Unreleased] `
109121
110122---
111123
112124## Phase 3: Broader Adoption
113125
114- Prerequisite: P2.5 implemented ( Phase 2 fully closed) .
126+ Prerequisite met : P2.5 implemented, Phase 2 fully closed.
115127
116128- [ ] Starter template or ` create-spectre-app ` scaffolding — depends on Phase 2 closed and stable
117129- [ ] Framework adapter evaluation — only if a downstream app requires it
@@ -122,24 +134,9 @@ Prerequisite: P2.5 implemented (Phase 2 fully closed).
122134
123135` @phcdevworks/spectre-init ` scaffolds templates against this package. These items
124136are needed for templates to work correctly and demonstrate the full API surface.
137+ P0 (programmatic navigation) is done; P1 items remain before spectre-init Phase 6 ships.
125138
126- ### P0: Programmatic Navigation — CURRENT PRIORITY — Blocking spectre-init Phase 6
127-
128- ` bootstrapApp ` creates the ` Router ` internally and returns ` void ` . Templates have
129- no way to call ` router.navigate() ` programmatically.
130-
131- ** Decision: Option A** — ` bootstrapApp ` returns the ` Router ` instance.
132- Additive change; no existing callers break; gives consumers full router access.
133-
134- - [ ] Change ` bootstrapApp ` return type from ` void ` to ` Router `
135- - Files: ` src/bootstrap.ts ` , ` src/index.ts ` , ` tests/bootstrap.test.ts ` , ` README.md `
136- - Acceptance: ` bootstrapApp(options) ` returns the ` Router ` instance; existing call
137- sites that ignore the return value continue to work; tests confirm the instance
138- is the same Router used internally; CHANGELOG entry added under ` [Unreleased] `
139-
140- Do not use ` history.pushState ` as a workaround — it bypasses the Router's race-condition guard.
141-
142- ### P1: Template Showcase Items — Needed before spectre-init Phase 6 ships
139+ ### P1: Template Showcase Items — Needed before spectre-init Phase 6 ships (P0 done)
143140
144141These APIs are shipped in v1.1.1 but not yet in scaffolded output. Confirm they
145142are stable and documented so spectre-init templates can reference them.
0 commit comments