Compare commits
base: domverse:main
domverse:main
domverse:chore/E09-documentation-backlog
domverse:us/US08-05-automate-container-deployment-acceptance
domverse:us/US08-04-publish-and-deploy-from-gitea-actions
domverse:us/US08-03-compose-the-runtime-and-mount-the-library-safely
domverse:us/US08-02-build-a-reproducible-application-image
domverse:us/US08-01-make-the-trust-boundary-configurable-and-authent
domverse:chore/local-run-and-env-file
domverse:us/US07-07-automate-full-release-acceptance
domverse:us/US07-06-validate-performance-and-resource-bounds
domverse:us/US07-05-deliver-backup-and-operational-recovery
domverse:us/US07-04-prove-concurrency-and-crash-recovery
domverse:us/US07-03-harden-media-and-metadata-edge-cases
domverse:us/US07-02-harden-api-authorization-and-path-boundaries
domverse:us/US07-01-complete-donor-migration-and-freeze-the-cli-arch
domverse:us/US06-06-automate-phase-f-end-to-end-acceptance
domverse:us/US06-05-operate-archive-and-restore-in-the-browser
domverse:us/US06-04-plan-and-execute-safe-restores
domverse:us/US06-03-preserve-offline-identity-and-review-evidence
domverse:us/US06-02-transfer-verify-and-remove-active-sources
domverse:us/US06-01-configure-and-preflight-archive-destinations
domverse:us/US05-06-automate-phase-e-end-to-end-acceptance
domverse:us/US05-05-operate-uploads-in-the-browser
domverse:us/US05-04-verify-retry-and-resolve-uncertain-uploads
domverse:us/US05-03-parse-and-persist-uploader-outcomes
domverse:us/US05-02-orchestrate-album-upload-batches
domverse:us/US05-01-validate-credentials-and-upload-readiness
domverse:us/US04-06-automate-phase-d-end-to-end-acceptance
domverse:us/US04-05-operate-rename-plans-in-the-browser
domverse:us/US04-03-apply-and-verify-guarded-renames
..
compare: domverse:chore/E09-documentation-backlog
domverse:main
domverse:chore/E09-documentation-backlog
domverse:us/US08-05-automate-container-deployment-acceptance
domverse:us/US08-04-publish-and-deploy-from-gitea-actions
domverse:us/US08-03-compose-the-runtime-and-mount-the-library-safely
domverse:us/US08-02-build-a-reproducible-application-image
domverse:us/US08-01-make-the-trust-boundary-configurable-and-authent
domverse:chore/local-run-and-env-file
domverse:us/US07-07-automate-full-release-acceptance
domverse:us/US07-06-validate-performance-and-resource-bounds
domverse:us/US07-05-deliver-backup-and-operational-recovery
domverse:us/US07-04-prove-concurrency-and-crash-recovery
domverse:us/US07-03-harden-media-and-metadata-edge-cases
domverse:us/US07-02-harden-api-authorization-and-path-boundaries
domverse:us/US07-01-complete-donor-migration-and-freeze-the-cli-arch
domverse:us/US06-06-automate-phase-f-end-to-end-acceptance
domverse:us/US06-05-operate-archive-and-restore-in-the-browser
domverse:us/US06-04-plan-and-execute-safe-restores
domverse:us/US06-03-preserve-offline-identity-and-review-evidence
domverse:us/US06-02-transfer-verify-and-remove-active-sources
domverse:us/US06-01-configure-and-preflight-archive-destinations
domverse:us/US05-06-automate-phase-e-end-to-end-acceptance
domverse:us/US05-05-operate-uploads-in-the-browser
domverse:us/US05-04-verify-retry-and-resolve-uncertain-uploads
domverse:us/US05-03-parse-and-persist-uploader-outcomes
domverse:us/US05-02-orchestrate-album-upload-batches
domverse:us/US05-01-validate-credentials-and-upload-readiness
domverse:us/US04-06-automate-phase-d-end-to-end-acceptance
domverse:us/US04-05-operate-rename-plans-in-the-browser
domverse:us/US04-03-apply-and-verify-guarded-renames
1 Commits
main
...
chore/E09-
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 792134c72d |
docs: add E09, the product documentation epic
Adds the installation manual, architecture overview, and illustrated user manual as a five-story epic, plus the acceptance gate that keeps them true. The documentation is markdown under docs/, so the same files are readable in the repository and rendered by the deployed application at /app/#/docs. An operator who was handed a URL and an access secret has no repository checkout in front of them, and the network the application is deployed to is not assumed to reach a CDN. Two decisions are recorded in the epic rather than left to implementation: - The renderer is vendored (marked), not written and not fetched. - Diagrams are mermaid, rendered client-side, with script-src untouched. Whether mermaid needs 'unsafe-eval' was measured rather than assumed: its bundle contains no eval( and no new Function, and rendered under this application's exact CSP it produced an SVG with no script-src violation. What it does violate is style-src, which gains 'unsafe-inline'. With script-src, img-src, connect-src, and font-src all unchanged, that leaves defacement rather than execution or exfiltration. The alternative -- pre-rendering diagrams to committed SVG with the already-installed Playwright -- is recorded as the migration if that trade is ever refused. Screenshots are generated from the running application, never pasted, and every documented setting, command, exit code, error code, and state is cross-checked against the code that implements it, so stale documentation fails a test instead of misleading an operator. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015csGY8XV1M92fHfKnMmjtu |