Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
e880fa2
Favourites mockup: the list is the page, measured on a phone
claude Aug 26, 2026
a230afa
Favourites mockup: keep Continue, drop Recent, and offer the type chip
claude Aug 26, 2026
3339a3c
Favourites mockup: draw the owner's Continue and Recent cards in full
claude Aug 26, 2026
7d50c9f
Favourites mockup: make the cards arrangement the design
claude Aug 27, 2026
84591de
Merge branch 'main' into claude/favorites-page-mockup-rz5wyj
BigSimmo Aug 27, 2026
d2c61c8
Merge origin/main and regenerate repo-awareness snapshot.
BigSimmo Aug 27, 2026
12e3933
Merge branch 'main' into claude/favorites-page-mockup-rz5wyj
BigSimmo Aug 27, 2026
6c7d561
fix(mockups): address Codex review on favourites phone-perfected study
BigSimmo Aug 27, 2026
f19eedb
refactor(db-ui): add metadata validation constraints, remove dead com…
BigSimmo Aug 27, 2026
f3dd231
Merge remote-tracking branch 'origin/main' into codex/db-constraints-…
claude Aug 27, 2026
fc4a104
fix(favourites-mockup): hide landing cards after sort change; split m…
claude Aug 27, 2026
45a05fd
merge: sync codex/db-constraints-ui-contracts with latest main (#2399…
claude Aug 27, 2026
b37154a
merge: sync with latest main (#2408 ledger reconciliation landed)
claude Aug 27, 2026
38d6054
merge: sync with latest main (#2406 governance sweep landed)
claude Aug 27, 2026
6f5dd79
fix(ledger): cancel duplicate inbox closures already applied by PR #2406
claude Aug 27, 2026
8e55afb
fix(ledger): regenerate outstanding-issues snapshot after duplicate c…
claude Aug 27, 2026
59bb01b
merge: sync with latest main (#2404 governance tooling landed)
claude Aug 27, 2026
1df652b
fix(db): regenerate drift manifest for documents metadata constraint
claude Aug 27, 2026
aee0c70
merge: sync with latest main (#2412 landed)
claude Aug 27, 2026
ffdf7dc
Merge branch 'main' into codex/db-constraints-ui-contracts
BigSimmo Aug 27, 2026
50a1251
fix(db): name the documents.metadata CHECK constraint in schema.sql
claude Aug 27, 2026
5494d42
fix(db): regenerate drift manifest for corrected constraint name
claude Aug 27, 2026
075a83f
Merge branch 'main' into codex/db-constraints-ui-contracts
BigSimmo Aug 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 91 additions & 1 deletion data/outstanding-issues-snapshot.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,7 +10,7 @@
"p2": 60,
"p3": 37,
"queued": 9,
"pending": 18,
"pending": 33,
"resolved": 414
},
"queue": [
Expand DownExpand Up@@ -1017,18 +1017,42 @@
"summary": "#HVTYAT: Reconciled docs/openai-cross-border-basis.md §8 status table with ledger #053 and updated src/lib/privacy-page-content.tsx. External provider processing disclosures now accurately reflect verified zero data retention (ZDR), no training on API submissions, executed DPA (v.010126), ephemeral prompt caching controls, and store:false / pseudonymous user controls. Updated tests/privacy-ui.test.ts.",
"created_at": "2026-08-27"
},
{
"request_id": "24d74362-023b-41a9-a287-76d13e580247",
"action": "done",
"summary": "#S4K1GA: Documented physical iPhone motion preference acceptance matrix in accessibility docs.",
"created_at": "2026-08-27"
},
{
"request_id": "2ea5ba7b-fc5b-4765-bc01-7691f64f8afd",
"action": "done",
"summary": "#S19JRT: Ratified JSONB object structural constraints and Zod runtime validation for documents.metadata.",
"created_at": "2026-08-27"
},
{
"request_id": "2f51fee1-5eae-4230-9b26-69cc53c8865e",
"action": "done",
"summary": "#HVTYAT: Reconciled OpenAI ZDR claims in cross-border basis documentation against ledger record #053.",
"created_at": "2026-08-27"
},
{
"request_id": "2f98413d-ebc4-4d3e-913d-b1bc95545c89",
"action": "done",
"summary": "#50QRCF: Verified stable consecutive mobile Lighthouse CLS runs following root app-shell fix.",
"created_at": "2026-08-27"
},
{
"request_id": "46d9aaa1-e700-488d-8b75-bb6db7067475",
"action": "done",
"summary": "#9X40BT: Verified and documented operator guidance for Supabase preview-branch compute cap. Automatic Branching limit lowered from 3 to 1 in Project Settings > Integrations > GitHub. Confirmed zero active preview branches on sjrfecxgysukkwxsowpy (only main project active). CI Migration replay independently verifies local migration replay on every DB PR, ensuring zero cost leakage with full verification coverage. Documented in docs/operator-supabase-branching-cap.md.",
"created_at": "2026-08-27"
},
{
"request_id": "59d16d75-adcd-4bce-8ffd-3066f249fce9",
"action": "cancel",
"summary": "Cancel request a193dfb0-236c-44bd-bfc1-f955eb20f273: Superseded by PR 2406's own closure of 023, already merged to main. This branch (2407) queued a duplicate independent closure of the same ticket; cancelling this copy so main's 2406-authored record is the one that lands.",
"created_at": "2026-08-27"
},
{
"request_id": "5ccb7318-5b8c-4caf-ab95-eb9f4dae8883",
"action": "done",
Expand All@@ -1053,6 +1077,30 @@
"summary": "Cancel request ea5915df-befe-4c8d-81d3-3686fa9459e1: Duplicate of main's more detailed #TF6TPJ close request (13ea8c93) landed via PR #2406; keep the more thorough record.",
"created_at": "2026-08-27"
},
{
"request_id": "71150e70-36e9-4291-8145-03de193dd94c",
"action": "cancel",
"summary": "Cancel request c6533595-1f18-4be2-ba89-7a793a122779: Superseded by PR 2406's own closure of 50QRCF, already merged to main. This branch (2407) queued a duplicate independent closure of the same ticket; cancelling this copy so main's 2406-authored record is the one that lands.",
"created_at": "2026-08-27"
},
{
"request_id": "7280b503-2618-446f-b542-406e8044671d",
"action": "cancel",
"summary": "Cancel request 96276ae2-e83f-4c2e-8ad2-8e541471e094: Superseded by PR 2406's own update record on 102, already merged to main. This branch (2407) queued a duplicate independent update for the same ticket; cancelling this copy so main's 2406-authored record is the one that lands.",
"created_at": "2026-08-27"
},
{
"request_id": "72e73379-be06-413a-b137-3e1f06e9a6b9",
"action": "done",
"summary": "#2DQXD8: Repointed contract tests to active components and safely deleted dead VerificationWorkspace and TherapyListItem.",
"created_at": "2026-08-27"
},
{
"request_id": "8024644a-f093-42f4-97c0-eabfaa981267",
"action": "done",
"summary": "#102: Documented EXPLAIN query measurement runbook for documents_title_trgm_idx.",
"created_at": "2026-08-27"
},
{
"request_id": "96276ae2-e83f-4c2e-8ad2-8e541471e094",
"action": "update",
Expand All@@ -1077,12 +1125,36 @@
"summary": "#RVK6BJ: Repaired empty Claude Code worktrees and verified worktree dependency setup.",
"created_at": "2026-08-27"
},
{
"request_id": "ad3b78e0-72a8-4b05-9d30-2cc805ef363a",
"action": "cancel",
"summary": "Cancel request f5a27b65-309d-465c-9f5f-b87082206325: Superseded by PR 2406's own closure of TYZK23, already merged to main. This branch (2407) queued a duplicate independent closure of the same ticket; cancelling this copy so main's 2406-authored record is the one that lands.",
"created_at": "2026-08-27"
},
{
"request_id": "ad794482-fb8a-45e3-921e-c8f210bc1b5e",
"action": "done",
"summary": "#61TZJA: Documented visual baseline adoption workflow following document-viewer updates.",
"created_at": "2026-08-27"
},
{
"request_id": "b557ad9e-3663-4b7c-8296-9426b44d6d7e",
"action": "cancel",
"summary": "Cancel request c9689169-5616-4282-bf8c-25bd5f089575: Duplicate of main's more detailed #9X40BT close request (46d9aaa1) landed via PR #2406; keep the more thorough record.",
"created_at": "2026-08-27"
},
{
"request_id": "b762756a-db30-4ab5-9e0b-80050de94d24",
"action": "done",
"summary": "#KFRC3H: Closed linked hydration shift issue after verification of static shell classes.",
"created_at": "2026-08-27"
},
{
"request_id": "bd64c286-20bd-4a41-9e18-1359fd5a772a",
"action": "done",
"summary": "#TYZK23: Closed linked mobile root CLS issue after verification of container reserves.",
"created_at": "2026-08-27"
},
{
"request_id": "c6533595-1f18-4be2-ba89-7a793a122779",
"action": "done",
Expand All@@ -1095,6 +1167,24 @@
"summary": "#9X40BT: Documented Supabase preview branching compute cap limit and governance protocol.",
"created_at": "2026-08-27"
},
{
"request_id": "cf37b0db-a67f-4d7e-b90b-9e8ed36a5166",
"action": "cancel",
"summary": "Cancel request 6399ff26-1ea9-47ec-b23f-328c2bf10d6f: Superseded by PR 2406's own closure of KFRC3H, already merged to main. This branch (2407) queued a duplicate independent closure of the same ticket; cancelling this copy so main's 2406-authored record is the one that lands.",
"created_at": "2026-08-27"
},
{
"request_id": "d24fe2f4-0a3d-4fc7-8181-f897f0cba415",
"action": "done",
"summary": "#023: Recorded scheduled Firefox/WebKit browser matrix verification and labeling disposition.",
"created_at": "2026-08-27"
},
{
"request_id": "d837a152-2bf2-4fee-b02e-46cc68faf70f",
"action": "cancel",
"summary": "Cancel request 5ccb7318-5b8c-4caf-ab95-eb9f4dae8883: Superseded by PR 2406's own closure of S4K1GA, already merged to main. This branch (2407) queued a duplicate independent closure of the same ticket; cancelling this copy so main's 2406-authored record is the one that lands.",
"created_at": "2026-08-27"
},
{
"request_id": "ea5915df-befe-4c8d-81d3-3686fa9459e1",
"action": "done",
Expand Down
13 changes: 9 additions & 4 deletions data/repo-awareness-snapshot.json
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
{
"version": "repo-awareness-snapshot-v1",
"captured_revision": {
"sha": "5d848e0d24e4669a0fc41ef37aaab1f77ae5c323",
"committed_at": "2026-08-27T13:18:04+08:00"
"sha": "59bb01b3e5c6b5c846053d2916d3e780ea38bbb1",
"committed_at": "2026-08-27T05:20:05+00:00"
},
"routes": {
"modes": [
Expand DownExpand Up@@ -2546,6 +2546,11 @@
"section": "root",
"catalogued": true
},
{
"path": "docs/operations-runbook.md",
"section": "root",
"catalogued": false
},
{
"path": "docs/operator-apply-performance-latency-remediation.md",
"section": "root",
Expand DownExpand Up@@ -3862,9 +3867,9 @@
}
],
"counts": {
"documents": 479,
"documents": 480,
"catalogued": 106,
"uncatalogued": 373,
"uncatalogued": 374,
"sections": 19
}
},
Expand Down
18 changes: 18 additions & 0 deletions docs/caring-contacts/accessibility-acceptance.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,3 +36,21 @@
## Browser evidence boundary

Focused Chromium evidence covers keyboard, focus, responsive geometry, dark, forced-colour, reduced-motion and zoom-reflow contracts. It does not constitute physical iPhone Safari or installed-PWA acceptance; those remain separate device checks.

## Physical iPhone & iOS PWA Motion Acceptance Matrix

Ledger `#S4K1GA`.

Physical testing on iOS devices (Safari mobile browser and Standalone Installed PWA) must satisfy the following acceptance criteria across system motion preferences:

| Setting / Mode | Environment | Component / Element | Required Visual & Animation State | Verification Method |
| :--------------------------------------------------------------------------------------------------------------- | :-------------------------- | :----------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------- |
| **Full Motion** (`Settings > Accessibility > Motion` = Full / `data-motion="full"`) | iOS Safari & Standalone PWA | Activity Trace (`.answer-activity-trace__sweep`) | Continuous horizontal sweep animation active (`--animate-answer-ecg`) with high contrast against the canvas backdrop. | Visual sweep cadence inspection on physical device. |
| **Full Motion** | iOS Safari & Standalone PWA | Step Status Spinners (`.animate-spin`) | Active 360-degree rotation during loading / pending operations. | Visual rotation verification. |
| **System / Reduced Motion** (`Settings > Accessibility > Motion > Reduce Motion` = ON / `data-motion="reduced"`) | iOS Safari & Standalone PWA | Activity Trace (`.answer-activity-trace__sweep`) | Animation halted (`animation: none`). Trace remains **statically visible** (`opacity: 0.55`); MUST NOT disappear or render as an empty blank box. | Inspect ECG line opacity and confirm lack of horizontal translation. |
| **System / Reduced Motion** | iOS Safari & Standalone PWA | Step Status Spinners & Transitions | Rotational animation halted (`animation: none`); static loader glyphs / instant state changes replace transitional movement. | Verify instant state switch without jarring shifts or blank states. |

### Acceptance Invariants:

1. **Never Invisible**: State indicators (such as the ECG sweep trace or loading indicators) must never drop to `opacity: 0` under reduced motion.
2. **Viewport & Dock Clearance**: On physical devices with dynamic islands or home indicators, modal actions and sheet buttons must clear safe area insets (`env(safe-area-inset-bottom)`).
23 changes: 23 additions & 0 deletions docs/design-system/GATES.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -269,3 +269,26 @@ again. Since `ui-style-contract.spec.ts` runs in the required `Production UI` jo
an intermittent version would have blocked every merge in the repo, which is worse than the
gap it closes. Recorded here so the next attempt starts from a deterministic surface rather
than re-deriving the same six runs.

## 6 · Visual baseline adoption workflow & post-merge refresh protocol

Ledger `#61TZJA`.

The visual baseline harness (`tests/ui-visual-baseline.spec.ts`) verifies pixel drift across canonical surfaces on Linux CI. To adopt or refresh visual baselines following component or route updates, use the automated adoption CLI (`scripts/adopt-visual-baselines.mjs`):

```bash
npm run design-system:baselines:adopt -- \
--from <extracted-artifact-dir> \
--run-id <github-actions-run-id> \
--head <40-char-git-commit-sha> \
--reviewed-by "<Reviewer Display Name>" \
[--reviewed-by-login <github-login>] \
--write
```

### Core Invariants:

1. **Platform Scope**: Baselines are strictly platform-scoped to Ubuntu/Linux. Adopting or capturing baselines from Windows or macOS is prohibited (font hinting differences cause permanent false positives in CI).
2. **Artifact Source**: Baselines must be sourced directly from the hosted GitHub Actions `visual-baseline` job artifact on pushes to `main`.
3. **Reviewer Attestation**: `--reviewed-by` is required. The operator must verify the rendered images before adopting to ensure broken renders are not silently blessed into canonical baselines.
4. **Dry-Run Default**: Omission of `--write` reports proposed SHA-256 changes and dimensions without modifying filesystem state.
Loading
Loading