docs(lifeboard): user guide, bridge setup, QA guide, persistence audit - #321
Open
ivanmkc wants to merge 1 commit into
Open
docs(lifeboard): user guide, bridge setup, QA guide, persistence audit#321ivanmkc wants to merge 1 commit into
ivanmkc wants to merge 1 commit into
Conversation
…nce audit Five documents and a serve script, so someone who did not write this can run it, use it, test it, and know what it does not do. - packages/lifeboard/README.md: what the app is, how to run it, how the fact log works and why it is shaped that way, and where each concern lives. - docs/lifeboard/user-guide.md: for the family. The boards, ticking things off, profiles, connecting an assistant, meals and the shopping list, calendar and mail, provenance, and privacy stated plainly. - docs/lifeboard/bridge.md: running turns through the AI subscriptions you already pay for, what the bridge will and will not do, and its security model. - docs/lifeboard/qa-guide.md: the automated checks with their expected counts, then a manual test plan in ten sections with steps and expected results. - docs/lifeboard/persistence-audit.md: the audit behind the previous commit. Every guide ends by naming what is NOT there. Four capabilities are implemented and unit-tested but have no UI reaching them -- sending email, starting a long job, sending a text, authoring a pack by asking -- and the QA guide lists them under "do not file these" so nobody wastes an afternoon. The largest known risk, that there is no export or backup, is stated in the user guide, the README and the audit rather than left for someone to discover. Adds a dependency-free static server behind `npm run serve`, because a guide that says "serve dist/ somehow" is a guide nobody follows. It binds all interfaces so an iPad on the same wifi can open it, normalises paths so a request cannot climb out of dist/, and says on start-up that offline support needs localhost or HTTPS. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Sep 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The stack
localStoragefor the test suite on Node 25@ivanmkc/termchart-canvas; injectable interact transportEvery branch in the stack was checked out on its own and verified independently:
npm install,tsc --noEmitfor every package,npm testacross the workspace, and the offline e2e where it exists. All twenty are green — no branch depends on a later one to build or pass. Full viewer e2e (11 suites, 106 assertions) was run on #312 as the behaviour-preservation evidence for the extraction.Stack position: 12 of 12 — the top of the stack. Base:
lifeboard/10-persistence.Documentation, so someone who did not write this can run it, use it, test it, and know what it does not do.
packages/lifeboard/README.mddocs/lifeboard/user-guide.mddocs/lifeboard/bridge.mddocs/lifeboard/qa-guide.mddocs/lifeboard/persistence-audit.mdEvery guide ends by naming what is not there. Four capabilities are implemented and unit-tested but have no UI reaching them — sending email, starting a long job, sending a text message, authoring a pack by asking. The QA guide lists them under "do not file these" so nobody spends an afternoon on a bug that is a missing screen. The largest known risk — that there is no export or backup — is stated in the user guide, the README and the audit rather than left to be discovered.
The QA guide is a test plan, not a description. Ten sections with steps and expected results, weighted toward where getting it wrong is worst: section E walks the shopping-list arithmetic (re-scale must update in place, staples must never vanish, two incompatible amounts must not be summed), and section J covers the persistence edge cases the previous PR fixed — two tabs, a private window, a new build reaching a device that cached the old one.
Adds
npm run serve, a dependency-free static server, because a guide that says "servedist/somehow" is a guide nobody follows. It binds all interfaces so an iPad on the same wifi can open it, normalises paths so a request cannot climb out ofdist/(verified against..,%2e%2eand..%2fforms), and says on start-up that offline support needslocalhostor HTTPS.Verified: the numbers quoted in the QA guide were taken from real runs, not estimated — lifeboard 350, canvas 473, CLI 320, viewer 278, and 18 e2e assertions. The serve script was smoke-tested for routes, SPA fallback and traversal.
🤖 Generated with Claude Code