The Voice App
say a request in the car, carry on at the desk, finish it in the kitchen — and the work gets done, not just discussed.
As of September 10, 08:02 PM
What the status words mean
proven · done, not independently checked · partly done · not started · blocked · parked47%partly done
30 steps: 6 proven · 19 partly done · 5 untouched · 0 blocked · 0 parked
agent runs · not recordedtokens used · not recordedreview notes · not recordeddollars charged · not recorded
The plan as first written
Nick speaks, and the thing gets done. In his own words this morning: *"i asked for a working voice app - i dont need the technical works i need to know how thats going to work and whats left"* and *"lets get a useable version of this live somewhere"*. Finished is Nick saying a request out loud on his phone or his Mac, hearing the first word almost immediately, hearing his own people's names said back correctly, and finding the work actually done — not a demo that speaks.
Steps
| Id | Plain words | Percent | State | Proof | What is left |
|---|---|---|---|---|---|
| STEP 1 | Find out why it does nothing when you ask it for something | 100% | proven | Node projects/personal/family-app/_test-voice-requests.mjs --replay reproduces 0 of 5 delivered on today's build, and one cause is named with its file and line | The step |
| STEP 2 | Make a spoken request actually get the thing done | 90% | done, not independently checked | The same harness that was red in STEP 1 reports 5 of 5 delivered, re-run first-hand by the checker | The step |
| STEP 3 | When you ask for the careful answer, you get one | 100% | proven | Five of five deep requests produce audio, and a deliberately broken deep route still speaks a plain sentence | The step |
| STEP 4 | Correcting yourself never gets you the old answer | 100% | proven | Zero of ten stale takeovers with the older answer deliberately delayed, AND the corrected answer is audibly spoken on ten of ten — silence on any trial is a failure, not a pass | The step |
| STEP 5 | It stops asking you a question at the end of every answer | 70% | partly done | Zero of ten ordinary exchanges end with an unnecessary closing question, and a request that genuinely lacks context still asks for it | The step |
| STEP 6 | Five real work requests, five things actually done | 0% | not started | 5 of 5 on the recorded set and at least 4 of 5 on a fresh set chosen inside the plan's test-request fence, graded by a session that built none of the fixes, and a search for the VOICE-TEST marker afterwards returns nothing | The step |
| STEP 7 | A way to time the app you actually open | 100% | proven | Node projects/personal/family-app/_test-voice-rig.mjs --selftest --sabotage prints a silent control and a triggered positive on the family window and the installed Mac window | The step |
| STEP 8 | It starts talking while it is still thinking | 25% | partly done | First audio begins before the written answer completes on 10 of 10 trials, and STEP 4's ten corrections still show zero stale takeovers | The step |
| STEP 9 | You hear the first word inside two seconds | 20% | partly done | Node projects/personal/family-app/_test-voice-rig.mjs --timing --samples 10 reports every one of twenty samples under 2.0 s across both surfaces, against a dated baseline of 7.433 s median; if STEP 7 recorded the installed Mac window as not measurable after three attempts, that surface reads NOT MEASURABLE with its instrument named and the family window still has to pass ten of ten | The step |
| STEP 10 | It hears Captus, Chantelle, Jasmin, Anatoly and your clients | 85% | done, not independently checked | The four names come back exact, and a name deliberately removed from the list transcribes no worse than today | The step |
| STEP 11 | The ten recorded test phrases all come back right | 20% | partly done | The ten recorded phrases in projects/ops/life-os/audits/A9/LIVE/audio score 10 of 10 exact, scored the same way as the 5 of 10 baseline; 9 of 10 fails, whatever the missed phrase contains | The step |
| STEP 12 | Put the work live, on the version you actually open | 30% | partly done | Node projects/ops/deploy.mjs deck-family publishes from a tree at origin/main with projects/personal/family-app/dist removed first, and the served service-worker cache tag read back SIGNED IN equals the tag just built and is newer than the tag before the publish; both deploy guards — the behind-origin refusal and the build-output clearing — are recorded as having run | The step |
| STEP 13 | A usable version live: three requests, first word in two seconds, all three done, names right | 0% | not started | All four conditions pass together on one run of the build STEP 12 published: three of three delivered and read back, first word under 2.0 s each, every name exact — and a search for the VOICE-TEST marker afterwards returns nothing | The step |
| STEP 14 | It installs on your phone's home screen and signing in from that icon works | 20% | partly done | The installed app opens standalone at phone width and reads back the right identity; a signed-out state shows an honest reason on screen | The step |
| STEP 15 | Tapping a notification drops you straight into the conversation, ready to talk | 0% | not started | The tap lands on the right conversation with the microphone armed and the receipt visible; every test notification went only to the one fenced test device and was titled TEST; the test push subscription is deleted; and node projects/personal/skippy-app/design-directions/_pearl-fidelity-check.mjs prints mismatched properties: 0 · unmeasured anchors: 0 at 584x763 light and 390x844 light, with side-by-sides and both verdicts | The step |
| STEP 16 | Start in the car, finish at the desk, without repeating yourself | 10% | partly done | One conversation continues across two signed-in surfaces and back with nothing repeated, and one turn produces one record, not two | The step |
| STEP 17 | Draw the Hub's new voice screens and get them signed off before anything is built | 95% | done, not independently checked | The drawing is published from one generator at a login-free address, the anchor map is signed with the distinct-element count beside the anchor count, the new check's --selftest prints mismatched properties: 0 · unmeasured anchors: 0 and its sabotage names every compared property, and the hash is machine-written by shasum -a 256 | The step |
| STEP 18 | Voice inside the Hub, where you actually work | 0% | not started | Mismatched properties: 0 · unmeasured anchors: 0 at every signed viewport on a populated screen, reproduced by a checker running the same command into its own folder, and the screens published with the served version recorded | Waiting on Nick: , as this step's entry condition only: his approving words on STEP 17's drawing, naming the page and revision. This is the single Hub wait and it sits on the first Hub screen being built, exactly where he put it |
| STEP 19 | A fair side-by-side against the voice assistants you already use | 20% | partly done | Thirty matched trials — the same ten phrases into all three — with every excluded trial counted rather than silently dropped | The step |
| STEP 20 | The little program on your Mac gets measured, and a verdict written | 100% | proven | Voice is exercised with the program stopped, running, and with the cloud route deliberately failed; the startup file is copied to the lane's evidence folder and the copy is proven to restore; the service is left in the state it was found in; and the verdict is written with what was observed under each condition | The step |
| STEP 21 | The Mac window finished — after the phone version is live, never before | 20% | partly done | The installed Mac window passes all four of STEP 13's conditions, and the voice-state bridge test is still proven able to fail | The step |
| STEP 22 | Talking to Skippy through the Echos you already own | 30% | partly done | One real spoken exchange on a real Echo is recorded, and a recording of a different voice played into the same speaker is correctly refused; if Amazon's recogniser cannot evaluate a played recording at all, that reads NOT MEASURABLE with the instrument named and the refusal check is listed for a person, never counted as a pass | The step |
| STEP 23 | A current, independent verdict on how the app looks | 40% | partly done | Mismatched properties: 0 · unmeasured anchors: 0 at 584x763 light and 390x844 light on the build STEP 15 published, both counts reproduced by a checker, plus one signed verdict | The step |
| STEP 24 | The app's final blind review, with a score that is actually current | 40% | partly done | Exactly 32 fresh rows merged against the published build with a current score, every NOT MEASURABLE result kept, and neither older score reused | The step |
| STEP 25 | The single image that did not match, opened rather than waved through | 100% | proven | Python3 projects/personal/skippy-app/design-directions/_proof-all-designs.py re-runs the sixteen comparisons and the difference is either named or does not reproduce | The step |
| STEP 26 | The honest closing note: what worked, what did not, what is left | 55% | partly done | The postmortem and NEXT list exist in this plan, the older measurement plan's handback row is answered, the wired-room-box correction is readable in both plans, and every failure caught or shipped is appended to the failure registry | The step |
| STEP 27 | Five minutes talking to it yourself, and one honest sentence back | 50% | partly done | His own words exist, dated, beside this plan; agents have already run the same five-minute test as him first | Waiting on Nick: five minutes talking to it in his own room, then one sentence — was he heard, and did the reply sound right. This step blocks nothing. STEP 28 is the only step that names it, and only to exclude it from its entry condition |
| STEP 28 | One proper security pass at the very end | 0% | not started | Every finding queued in projects/ops/sp-sec/PLAN.md carries a verdict — including the shortcut that grants Nick access before it looks him up — and each of this lane's own three surfaces carries a written verdict: the voice pipeline, the installed-app door, and the image path if it lands here | Waiting on Nick: , one tap to start, per the click gate on all security work. The paid scan is a SEPARATE money decision asked as its own plain question; a no, or no answer, leaves the by-hand review as the pass and this step still closes |
| STEP 29 | The app in your Dock stops lagging behind your phone | 30% | partly done | Node projects/ops/skippy-jobs/_test-desktop-build-freshness.mjs and node projects/ops/skippy-jobs/_test-desktop-collapsed-state.mjs both pass, with the built app’s own version read out of the app rather than a build log and recorded in this lane’s evidence folder | The step |
| STEP 30 | Everything marked done that nobody outside the lane ever re-tested | 50% | partly done | Python3 projects/ops/agents/check_plan.py projects/ops/skippy-master-plan/PLAN-SKIPPY-FINISH-2.txt passes AND one line per re-checked step in this lane’s evidence folder saying re-proved or marked down, with the instrument used and its output — the checker command never closes this row on its own | The step |
Done
6 of 30 steps proven
Left
24 of 30 steps not yet proven
Blocked on
- Nothing currently blocked.
Formal remaining plan
| # | Step | Needs Nick |
|---|---|---|
| 1 | Make a spoken request actually get the thing done | No |
| 2 | It stops asking you a question at the end of every answer | No |
| 3 | Five real work requests, five things actually done | No |
| 4 | It starts talking while it is still thinking | No |
| 5 | You hear the first word inside two seconds | No |
| 6 | It hears Captus, Chantelle, Jasmin, Anatoly and your clients | No |
| 7 | The ten recorded test phrases all come back right | No |
| 8 | Put the work live, on the version you actually open | No |
| 9 | A usable version live: three requests, first word in two seconds, all three done, names right | No |
| 10 | It installs on your phone's home screen and signing in from that icon works | No |
| 11 | Tapping a notification drops you straight into the conversation, ready to talk | No |
| 12 | Start in the car, finish at the desk, without repeating yourself | No |
| 13 | Draw the Hub's new voice screens and get them signed off before anything is built | No |
| 14 | Voice inside the Hub, where you actually work | Yes |
| 15 | A fair side-by-side against the voice assistants you already use | No |
| 16 | The Mac window finished — after the phone version is live, never before | No |
| 17 | Talking to Skippy through the Echos you already own | No |
| 18 | A current, independent verdict on how the app looks | No |
| 19 | The app's final blind review, with a score that is actually current | No |
| 20 | The honest closing note: what worked, what did not, what is left | No |
| 21 | Five minutes talking to it yourself, and one honest sentence back | Yes |
| 22 | One proper security pass at the very end | Yes |
| 23 | The app in your Dock stops lagging behind your phone | No |
| 24 | Everything marked done that nobody outside the lane ever re-tested | No |
Decisions this lane is waiting on
- None.