Commit Graph
4633 Commits
Author SHA1 Message Date
Marc-André Bombeck 2de9bccf9d fix(01-18): retain rolling occurrence through due band
- preserve prior rolling identity independently of local-day flooring
- scope exact resolution by schedule and era while advancing resolved grids
- include open rolling slots for display without widening compliance bands
2026-07-29 14:33:17 +02:00
Marc-André Bombeck d0fbdd388d docs(01-16): complete presentation and records cleanup plan 2026-07-29 14:31:17 +02:00
Marc-André Bombeck c0321d2f27 test(01-15): add bounded performance fixture baseline
- benchmark observed Google, reminder, and score workload shapes
- record local cold and warm timing without production access
2026-07-29 14:31:07 +02:00
Marc-André Bombeck c0af97ce46 fix(01-18): preserve reminder occurrence across midnight
- select active canonical recurrence slots instead of rebuilding from tick day
- scope intake suppression and dedup metadata to the occurrence local date
2026-07-29 14:30:23 +02:00
Marc-André Bombeck 7396119ec8 feat(01-17): group gated admin navigation
- cluster allowed destinations under semantic settings-style headings
- preserve fail-closed role gating and mobile target order
2026-07-29 14:29:51 +02:00
Marc-André Bombeck 431120d55e fix(01-16): unify records action grammar
- use Save for new and existing lifestyle facts
- show first-entry or populated-list add actions without duplication
2026-07-29 14:29:19 +02:00
Marc-André Bombeck c4ec2d552f fix(01-16): normalize assessment prose presentation
- use the readable foreground at confirmed medication and Mood mounts
- tighten Health Score and medication assessment spacing
2026-07-29 14:28:47 +02:00
Marc-André Bombeck d67b899138 fix(01-16): remove redundant score and summary presentation
- keep useful Today prose without repeating the ring score
- remove stored-summary regeneration and Health Score notice/method/list copy
2026-07-29 14:27:45 +02:00
Marc-André Bombeck b39ddeb5b5 docs(01-14): complete cohort outcome contract plan
- record expected RED provider fold and serializer evidence
- preserve scope and concurrent-work boundaries
2026-07-29 14:27:15 +02:00
Marc-André Bombeck 966a869630 docs(01-11): complete medication occurrence contract plan
- document independent reminder and rolling-overdue RED failures
- record passing persistence, retry, and isolation controls
2026-07-29 14:26:47 +02:00
Marc-André Bombeck 690c4aeb5a test(01-14): add failing truthful cohort contracts
- distinguish complete partial failed parked skipped and clean-zero outcomes
- require bounded privacy-safe scalar serialization and retry codes
2026-07-29 14:26:26 +02:00
Marc-André Bombeck 34372b57bd fix(01-11): use canonical compliance status fixture
- model resolved rolling doses with the valid upcoming status
- keep take-all suppression aligned with production DoseStatus values
2026-07-29 14:25:06 +02:00
Marc-André Bombeck 35b172c6f5 docs(01-10): complete UI contract plan
- document atomic RED contract commits and verification evidence
- record production handoff for presentation and navigation fixes
2026-07-29 14:24:25 +02:00
Marc-André Bombeck 19590cd216 docs(01-13): complete Google sync contract plan
- record expected-red and positive verification evidence
- preserve reporter-gated cause and immutable scanner boundaries
2026-07-29 14:24:16 +02:00
Marc-André Bombeck 958b0e10d9 fix(01-11): keep reminder fixture type-safe
- mutate the inferred schedule fixture without widening nullable fields
- preserve the cross-midnight RED expectation unchanged
2026-07-29 14:24:00 +02:00
Marc-André Bombeck 25612294d1 test(01-11): pin rolling overdue consumer parity
- compare persisted weekly occurrence across list, dashboard, GLP-1, and take-all
- protect exact intake retries and unrelated occurrence isolation
2026-07-29 14:23:52 +02:00
Marc-André Bombeck 65ca1aae42 test(01-10): add red responsive navigation contracts
- pin grouped and heading-aligned Settings and Admin sidebars
- add mobile Insights geometry and deterministic release evidence captures
2026-07-29 14:22:54 +02:00
Marc-André Bombeck 6f84629482 test(01-13): add red Google sync terminal contracts
- cover authenticated status polling and bounded resource outcomes
- prove committed workouts invalidate server and client cache surfaces
2026-07-29 14:22:49 +02:00
Marc-André Bombeck b8766fa93b docs(01-12): complete Apple ECG contract plan
- record expected RED archive and PostgreSQL boundaries
- preserve green WHOOP and source-agnostic regression evidence
2026-07-29 14:22:08 +02:00
Marc-André Bombeck 6cc3de8248 test(01-12): add failing Apple ECG import contracts
- pin bounded path-safe archive and parser behavior
- require encrypted idempotent fail-soft persistence and WHOOP regressions
2026-07-29 14:20:56 +02:00
Marc-André Bombeck d5f473d672 test(01-11): specify rolling weekly overdue identity
- pin the prior-day Mounjaro occurrence across local midnight and DST
- cover resolution state, band end, schedule siblings, and era isolation
2026-07-29 14:19:03 +02:00
Marc-André Bombeck 18d0facdfe test(01-10): add red assessment and records contracts
- pin honest assessment fallback, exhaustion, foreground, and state envelopes
- require consistent save and empty-state add action grammar
2026-07-29 14:18:35 +02:00
Marc-André Bombeck d8e52b831d test(01-13): add red Google sync progress contracts
- pin workout-first fairness and bounded resource outcomes
- require owner-scoped race-safe current-run progress in PostgreSQL
2026-07-29 14:18:20 +02:00
Marc-André Bombeck 81893ac972 test(01-11): reproduce cross-midnight reminder identity bug
- pin prior-day occurrence lookup across timezone and DST boundaries
- prove real worker dedup and distinct next-dose behavior with PostgreSQL
2026-07-29 14:15:48 +02:00
Marc-André Bombeck 8e944dbcd3 test(01-10): add red dashboard and score presentation contracts
- preserve useful Today narrative without duplicate score prose
- remove stored-document regeneration from the detail surface
- retain score identity while rejecting redundant method copy
2026-07-29 14:12:58 +02:00
Marc-André Bombeck 44b5d8da17 docs(01-09): complete focused security gate plan
- summarize zero-skip final-boundary security evidence
- record operator contracts, scope freeze, and command correction
2026-07-29 14:12:52 +02:00
Marc-André Bombeck 56c20f26db docs(01-09): record corrected green security gate
- adopt revised direct Vitest commands as authoritative evidence
- retain the obsolete wrapper failure as an audit trail
2026-07-29 14:11:41 +02:00
Marc-André Bombeck fb95e3a134 docs(01-09): freeze post-security implementation scope
- attest immutable scanner and package baseline equality
- defer Low findings, dependency work, and final scan to later gates
2026-07-29 14:10:14 +02:00
Marc-André Bombeck 2409183588 test(01-09): record focused security gate evidence
- map SEC-01 through SEC-08 to positive and attacker boundaries
- record green focused suites and the literal command blocker
2026-07-29 14:09:30 +02:00
Marc-André Bombeck 9ea0cb867f docs(01-09): document security contract changes
- define explicit MCP read scope boundaries and upgrade handling
- document Nightscout private-origin pinning and reset revocation
2026-07-29 14:08:37 +02:00
Marc-André Bombeck ddbfcb4588 docs(01-07): complete SSRF policy plan
- record exact-origin and IPv6 transition enforcement
- capture verification results and the scoped sync-route deviation
2026-07-29 13:59:35 +02:00
Marc-André Bombeck 5b1e11d5af docs(01-08): complete passkey and recovery plan
- record session-bound enrollment and atomic reset outcomes
- capture verification evidence, decisions, and blocking type correction
2026-07-29 13:58:00 +02:00
Marc-André Bombeck 27a3e08436 fix(01-07): make private Nightscout access operator-owned
- remove the user-facing private-host bypass
- render a redacted operator-action state for denied legacy connections
2026-07-29 13:57:48 +02:00
Marc-André Bombeck f95da50ba0 fix(01-07): enforce exact Nightscout origins
- move private-host authority to the server-owned exact-origin policy
- preserve stable redacted policy failures through connect and sync
2026-07-29 13:57:07 +02:00
Marc-André Bombeck b7b18a6da2 fix(01-08): align passkey request fixture typing
- construct NextRequest options with the framework-compatible init type
- preserve every enrollment security assertion unchanged
2026-07-29 13:55:57 +02:00
Marc-André Bombeck 9c661dcc5e fix(01-08): revoke credentials atomically on password reset
- lock the resolved account and rotate its password in one transaction
- revoke sessions, tokens, trusted devices, and elevations with rollback safety
2026-07-29 13:55:11 +02:00
Marc-André Bombeck 7874eea04d feat(01-08): require reauthentication before passkey enrollment
- offer password, TOTP, passkey, and security-key proof choices
- start registration only after the selected existing factor succeeds
2026-07-29 13:53:59 +02:00
Marc-André Bombeck 89c83510d4 feat(01-08): bind passkey enrollment to fresh cookie proof
- require an existing-factor proof before issuing registration options
- atomically claim session-bound challenges before credential persistence
2026-07-29 13:52:22 +02:00
Marc-André Bombeck 9cb11abedb docs(01-05): complete MCP security enforcement plan
- record green scope and PostgreSQL replay-family gates
- document transactional rotation and post-commit artifact semantics
2026-07-29 13:52:03 +02:00
Marc-André Bombeck db08f6c175 fix(01-05): serialize MCP refresh families
- lock and rotate refresh families inside one database transaction
- revoke CAS losers and insert successors before commit
- sign refresh artifacts only after committed state
2026-07-29 13:50:14 +02:00
Marc-André Bombeck a177869609 fix(01-07): classify embedded IPv4 destinations
- Normalize IPv6 literals before transition-prefix inspection
- Reject mapped, compatible, 6to4, and NAT64 private embeddings
- Share the verdict with pinned public and operator dispatchers
2026-07-29 13:49:49 +02:00
Marc-André Bombeck 36cb64c840 test(01-02): exercise DNS transition cases past fetch port guard
- replace blocked port 9 with non-blocked test port 8089
- preserve pre-connect ENOTFOUND assertions for all transition forms
2026-07-29 13:49:46 +02:00
Marc-André Bombeck 20a6731c8b fix(01-05): enforce MCP health read scope
- require health:read or wildcard for MCP read capability
- reject insufficient scopes before downstream gates and server construction
2026-07-29 13:47:46 +02:00
Marc-André Bombeck 8ca6ebd773 docs(01-06): complete PWA cache isolation plan
- document public-only install and data-free offline behavior
- record scoped current and legacy cache eviction
- capture green final-boundary and session-hook verification
2026-07-29 13:47:17 +02:00
Marc-André Bombeck 338dbe6c1f fix(01-06): purge owned PWA caches on session end
- delete current and legacy HealthLog static page and data caches
- preserve unrelated CacheStorage namespaces during activation and logout
- keep IndexedDB query-cache removal in the session-end boundary
2026-07-29 13:46:15 +02:00
Marc-André Bombeck 31248ec273 docs(01-01): complete MCP security red contracts plan
- record expected-red authorization and refresh-race evidence
- hand off exact enforcement targets to Plan 01-05
2026-07-29 13:45:42 +02:00
Marc-André Bombeck 8851569658 fix(01-06): isolate PWA install from authenticated root
- remove the dashboard root from immutable precaching
- evict same-version root entries left by older workers
- retain public logos and favicon for offline support
2026-07-29 13:45:23 +02:00
Marc-André Bombeck 0c29e6e6b0 test(01-01): keep bearer regression lint-clean
- avoid React hook-name classification for token fixture helpers
2026-07-29 13:44:28 +02:00
Marc-André Bombeck 8b5e928efa docs(01-03): complete credential security contracts plan
- document passkey enrollment and reset recovery RED boundaries
- record focused expected failures and green parity evidence
- preserve production, schema and scanner-owned files untouched
2026-07-29 13:43:49 +02:00
Marc-André Bombeck 51f5f43957 test(01-01): preserve explicit transaction contract
- keep the red transaction-client call aligned with the planned signature
- isolate the concurrent documentation commit from MCP test content
2026-07-29 13:43:27 +02:00