Spaces:
Running on Zero
Running on Zero
docs(01-03): restore the crash-recovery position clobbered by begin-phase
Browse files`state begin-phase` rewrites Current Position generically and reset it to
"Plan: 1 of 10", dropping the record that 01-03 is mid-execution with
Tasks 1-2 already committed. An executor reading that would restart the
plan from Task 1 and rewrite files that are already correct.
- .planning/STATE.md +6 -12
.planning/STATE.md
CHANGED
|
@@ -3,8 +3,8 @@ gsd_state_version: 1.0
|
|
| 3 |
milestone: v1.0
|
| 4 |
milestone_name: milestone
|
| 5 |
status: executing
|
| 6 |
-
stopped_at:
|
| 7 |
-
last_updated: "2026-08-
|
| 8 |
progress:
|
| 9 |
total_phases: 6
|
| 10 |
completed_phases: 0
|
|
@@ -35,21 +35,15 @@ Plan: 4 of 10 (3 complete, 01-03 in flight at Task 3 of 4)
|
|
| 35 |
> | 3 | `avatar.js`, `avatar-iframe.js`, `stage.html`, `demo-konnichiwa.wav`, `avatar_component.py`, `app.py` | **Not started β none of these files exist** |
|
| 36 |
> | 4 | `tests/test_transport_seam.py`, `tests/e2e/test_stage_standalone.py`, `tests/e2e/test_facade_parity.py` | **Not started** |
|
| 37 |
>
|
| 38 |
-
> **Resume at Task 3.
|
| 39 |
>
|
| 40 |
> **Two corrections the Task 3/4 executor needs:**
|
| 41 |
> 1. **`avatar/vrm-stage.js:64` contains the word "Gradio" in a comment.** Task 4's `test_stage_core_is_gradio_free` greps the lowercase token `gradio`, so the capitalised word passes today β but it violates the rule's intent and breaks the moment that check is made case-insensitive. Reword it while writing Task 4.
|
| 42 |
-
> 2. **`boot()` has an emit-ordering problem the plan does not call out.** Task 3 step 2 calls `mountStage(canvas, props.vrmUrl, emit)`, but `emit` does not exist until `installFacade` returns it at step 5. The transport needs a deferred emit β a local function that buffers events (or forwards
|
| 43 |
>
|
| 44 |
> Also note Task 2's acceptance criterion `grep -ci "gradio\|element\|props\|THREE" avatar/facade.js avatar/turn-loop.js` returns 0 is **unsatisfiable as literally written**: `threeInstanceCount` is a mandated `__debug` key and contains the substring `three`. The actual enforced test (`test_shared_modules_are_gradio_free`) checks only `gradio`, `gradio_api`, `server.` and `trigger(`, all of which genuinely are absent. Trust the test, not the prose.
|
| 45 |
-
|
| 46 |
-
**
|
| 47 |
-
**Both Phase-1 human gates are cleared.** The Space is live at `WolfDavid/japanese-learning-avatar` on ZeroGPU (`requested: zero-a10g`, public, 48 h sleep); `SPACE_URL` is `https://wolfdavid-japanese-learning-avatar.hf.space` and is recorded in `docs/HOSTING.md`. `avatar/assets/tutor.vrm` is committed through LFS. Nothing is deployed to the Space yet β it serves 503 (`NO_APP_FILE`) until 01-05 pushes an app.
|
| 48 |
-
**Next actionable:** 01-03 (avatar transport seam), 01-05 (deploy β now fully unblocked: it has the hosting decision, the `space` remote, and `requirements.txt`), and 01-06 (viseme timeline) are all unblocked.
|
| 49 |
-
|
| 50 |
-
> **Plan 01-05 owns the Space `README.md` and must fix two front-matter values that Space creation auto-generated wrong:** `sdk_version: 6.26.0` β **6.22.0** (to match `requirements.txt`) and `python_version: '3.12'` β **3.12.12** (ZeroGPU provides only 3.10.13 and 3.12.12). Details in `docs/HOSTING.md` Β§ "Open handoff to plan 01-05".
|
| 51 |
-
|
| 52 |
-
> **Before writing `visemes.py` in 01-06, read `docs/VOICEVOX-SETUP.md` Β§ "Frame quantisation".** 01-RESEARCH.md's formula is wrong for `speedScale != 1.0`; the corrected form and its evidence are recorded there and in the Blockers/Concerns section below.
|
| 53 |
|
| 54 |
## Performance Metrics
|
| 55 |
|
|
|
|
| 3 |
milestone: v1.0
|
| 4 |
milestone_name: milestone
|
| 5 |
status: executing
|
| 6 |
+
stopped_at: 01-03 mid-execution. Tasks 1-2 complete and committed; Tasks 3-4 not started. See the table under "Current Position".
|
| 7 |
+
last_updated: "2026-08-27T11:44:52.247Z"
|
| 8 |
progress:
|
| 9 |
total_phases: 6
|
| 10 |
completed_phases: 0
|
|
|
|
| 35 |
> | 3 | `avatar.js`, `avatar-iframe.js`, `stage.html`, `demo-konnichiwa.wav`, `avatar_component.py`, `app.py` | **Not started β none of these files exist** |
|
| 36 |
> | 4 | `tests/test_transport_seam.py`, `tests/e2e/test_stage_standalone.py`, `tests/e2e/test_facade_parity.py` | **Not started** |
|
| 37 |
>
|
| 38 |
+
> **Resume at Task 3. Do NOT re-do Tasks 1-2** β their files exist and are committed. They were spot-checked against their acceptance criteria at resume and pass: the `?deps=three@0.185.1` pin appears exactly once, no import map exists anywhere in `avatar/`, `lipsync.js` has no `setTimeout`, and `facade.js` is the only file matching `window.Avatar =`.
|
| 39 |
>
|
| 40 |
> **Two corrections the Task 3/4 executor needs:**
|
| 41 |
> 1. **`avatar/vrm-stage.js:64` contains the word "Gradio" in a comment.** Task 4's `test_stage_core_is_gradio_free` greps the lowercase token `gradio`, so the capitalised word passes today β but it violates the rule's intent and breaks the moment that check is made case-insensitive. Reword it while writing Task 4.
|
| 42 |
+
> 2. **`boot()` has an emit-ordering problem the plan does not call out.** Task 3 step 2 calls `mountStage(canvas, props.vrmUrl, emit)`, but `emit` does not exist until `installFacade` returns it at step 5. The transport needs a deferred emit β a local function that buffers events (or forwards through a mutable reference) until the real bus is installed. This applies to **both** transports.
|
| 43 |
>
|
| 44 |
> Also note Task 2's acceptance criterion `grep -ci "gradio\|element\|props\|THREE" avatar/facade.js avatar/turn-loop.js` returns 0 is **unsatisfiable as literally written**: `threeInstanceCount` is a mandated `__debug` key and contains the substring `three`. The actual enforced test (`test_shared_modules_are_gradio_free`) checks only `gradio`, `gradio_api`, `server.` and `trigger(`, all of which genuinely are absent. Trust the test, not the prose.
|
| 45 |
+
>
|
| 46 |
+
> **Do not push to the `space` remote during this phase.** It is the only remote this repo has and pushing triggers a Space rebuild; deployment is plan 01-05's job.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
## Performance Metrics
|
| 49 |
|