NextMyDay/docs/specs
Claus Lohmar 92344d9783 docs(spec): revise D-025 to a tunnel-only setup gate and add D-043
The app is deployed behind Zoraxy (myday.sechpoint.app) with TLS terminated
at the proxy, so it must listen on 0.0.0.0:8080 over HTTP — a bind refusal is
impossible.

- SPEC-003 §4/§6/§7/§9: the bind refusal is gone; in setup mode the door
  serves only a request whose TCP peer is loopback AND which carries no
  X-Forwarded-For (the direct SSH tunnel), else 404 (AC-7/AC-10); the proxy's
  X-Forwarded-Proto drives Secure + __Host- cookies and HSTS (AC-13).
- SPEC-005 §3/§5/§6: AC-2 becomes the per-request tunnel-only gate; any bind
  is allowed.
- review-001: record the Architect's rulings and the adopted strict gate.
2026-10-15 05:40:30 +00:00
..
README.md docs: add the project plan, M0/M0.1 specs, agent guide and README 2026-10-14 10:53:44 +00:00
spec-001-git-bootstrap.md chore: bootstrap MyDay repository 2026-10-13 11:52:30 +00:00
spec-002-routing-model.md docs: add the project plan, M0/M0.1 specs, agent guide and README 2026-10-14 10:53:44 +00:00
spec-003-core-door.md docs(spec): revise D-025 to a tunnel-only setup gate and add D-043 2026-10-15 05:40:30 +00:00
spec-004-identity-sessions.md docs: add the project plan, M0/M0.1 specs, agent guide and README 2026-10-14 10:53:44 +00:00
spec-005-setup-wizard.md docs(spec): revise D-025 to a tunnel-only setup gate and add D-043 2026-10-15 05:40:30 +00:00
spec-006-enroll-login.md docs: record the M0 review fixes and correct the README 2026-10-14 11:30:17 +00:00
spec-007-roles-chain-recovery.md docs: record the M0 review fixes and correct the README 2026-10-14 11:30:17 +00:00
spec-008-module-registry.md docs: add the project plan, M0/M0.1 specs, agent guide and README 2026-10-14 10:53:44 +00:00
spec-009-web-pwa.md docs: add the project plan, M0/M0.1 specs, agent guide and README 2026-10-14 10:53:44 +00:00

Specs — MyDay

Implementation specs, in build order. A spec precedes its code. The design of record is ../../PROJECT_PLAN.md; decisions are D-nnn.

Convention: spec-NNN-<slug>.md · Status: Draft → Ready for implementation → Implemented · one spec per coherent slice; each ends with acceptance criteria.


Index

# Spec Milestone Status Depends on
001 Git connection bootstrap Prep Implemented —
002 Routing model (internal/core/routing) M0 Implemented —
003 The core door (server + httpx) M0 Implemented 002, 004
004 Identity & sessions (core/auth, core/users) M0 Implemented 002
005 /setup wizard + bootstrap M0 Implemented 003, 004
006 Enroll & login (Passkey + TOTP) M0 Implemented 004
007 Roles, the chain & recovery M0 Implemented 004, 006
008 Module registry & the Modules page M0 Implemented 003
009 Web layer & PWA (screens · WebAuthn JS · service worker) M0.1 Implemented 005, 006, 007

The M0 slice order

002 routing ─► 004 identity/sessions ─► 003 door ─┬─► 005 setup wizard
                                                   ├─► 006 enroll/login
                                                   ├─► 007 roles/chain/recovery
                                                   └─► 008 registry/modules page
                                                                  │
                                                                  └─► 009 web layer & PWA

002 is the Stage-0 gate (ROUTING.md §11): the pure model is approved and unit-tested before any server code. 002 ✅ · 004 ✅ · 003 ✅ · 006 ✅ · 005 ✅ · 007 ✅ · 008 ✅ · 009 ✅ implemented. M0 + M0.1 are complete; next is M1 — org structure.