Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
| Blog / SEO (2510) | Constrained by 20.09 §1 (outreach first). R-queue empty/retired; replacement queue is §13 (restocked 2026-08-21) | Per §1: LinkedIn cadence + sourcing outrank a new post; when drafting, take §13 N-queue | [`20.09 §13`](docs/projects/2510-seo-content-strategy/20-29-strategy/20.09-content-plan-revision-aug-2026.md) |
| 2605 course | v2 live; measuring. Diagnosis: **arrival, not content**; course SEO/AEO **closed** (Paul 2026-08-21) | LinkedIn arrival-test cards **LI-0…LI-D** in [`content-plan`](linkedin-posts/content-plan.md); no new funnel posts on the unproven bridge | [`TASK-TRACKER`](docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md) |
| 2607 campaign tasks | Cold-public-sourcing premise tested and **failed** (3 sweeps, 4 venues, 0 verified-fresh rows; Reddit still un-openable) | Sept-restart Paul decision: retire the cold lane or buy Reddit API access (backlog §c) | [`2607 backlog`](docs/projects/2607-vibe-code-rescue/backlog.md) |
| Test/CI hygiene | One known red (stale linux baseline) | Diff record-vs-test build paths before re-recording | [`2608 README §Known red`](docs/projects/2608-site-design-system/README.md) |
| Test/CI hygiene | **Gates rebuilt 2026-08-22.** Fault-injecting 8 realistic defects caught **3**; now catches **8** ([#576](https://github.com/jetthoughts/jetthoughts.github.io/pull/576), audit in [`20.11`](docs/20-29-testing-qa/20.11-gate-fault-injection-2026-08-22-reference.md)). Link job was excluding 90% of links — 114,050 checked now vs 15,642, and it found 5 real site defects ([#574](https://github.com/jetthoughts/jetthoughts.github.io/pull/574)). `bin/dtest` was comparing **nothing** from a worktree ([#578](https://github.com/jetthoughts/jetthoughts.github.io/pull/578)). CI Linux screenshot job green (run 32565008850) | **Paul decides the dtest arch policy** (below); otherwise nothing queued | [`test-gates`](.okf/build/test-gates.md) |

**Not in flight**: 2604 typography — closed 2026-08-08 (P2 leftovers re-homed). 2509 CSS migration — **project complete 2026-07-19** (tracker in maintenance mode; the dormant remainder is the Phase-E groomed backlog + trigger-conditioned items); the 2608 clean-slate rail is the live CSS strategy ([ADR-0006](docs/adr/0006-clean-slate-dual-run.md)).

Expand All @@ -32,6 +32,7 @@
| What | Where the full ask lives |
|---|---|
| Five 2608 decisions (register pick, 3 claims, first page, legacy CTO sweep, Sept measurement gate) | [`2608 README`](docs/projects/2608-site-design-system/README.md) |
| **dtest arch policy**: on an ARM Mac dtest now legitimately fails 8 codeblocks screenshots (arm64 container vs amd64 CI baselines) — screen those keys / pin the container to amd64 / let CI own the Linux leg | [`2608 README §Known red`](docs/projects/2608-site-design-system/README.md) |
| **Joy Adamson override** (1 min; Paul's one override candidate from outreach batch 1, still publicly unanswered) | [`20.09 §1`](docs/projects/2510-seo-content-strategy/20-29-strategy/20.09-content-plan-revision-aug-2026.md) desk table + 2607 backlog card #12 |
| Three 2605 fabricated-fact findings (five-tech-words client claim, $78K/$400 story, SVG chart stats) | [`2605 TASK-TRACKER`](docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md) §Aug-20 sweep |
| 2607 T3 (Gmail warm-source consent) + T10 (split strategy docs, [#449](https://github.com/jetthoughts/jetthoughts.github.io/issues/449)) | [`2607 backlog`](docs/projects/2607-vibe-code-rescue/backlog.md) |
Expand Down
57 changes: 43 additions & 14 deletions docs/projects/2608-site-design-system/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,46 @@ three offers (one a banned title claim), and its audit exhibit is presented as

## Known red, do not re-record blindly

`linux/mobile/blog/index/_pagination` fails at difference_level
`0.03960763888888889`, **identical across two runs** - which by this repo's own
rule means a stale committed baseline, not flake. It survived the #566
re-record. Diff the `workflow_dispatch` record path against the `pull_request`
test path before touching it; the suspicion is they build the page differently
and blog-index pagination is driven by the post count. Details in `.okf/log.md`.

## What the sprint shipped (PRs #560-#567, 2026-08-21)

Visual gate un-blinded (#560) and 127 baselines re-recorded with the tolerance
shield deleted on a measurement (#566) - the macOS suite is green for the first
time since #540, and CI Linux red went from 22 keys to 1. Three register pilots
(#561-#563) with a cross-pilot specificity fix (#564), the demo board (#565),
and the session's working papers (#567).
**RESOLVED 2026-08-22.** `linux/mobile/blog/index/_pagination` was a real
content difference (0.0425, max_delta 238), fixed by an `update-baselines`
dispatch **on master**, where the recorder and the tester see the same tree -
recording on a feature branch is what had produced a baseline the PR run never
matched. Verified green: CI screenshot run 32565008850, zero failing keys.

**The open one is different.** `bin/dtest` on an ARM Mac now fails 8
`mobile/blog/special/codeblocks/*` screenshots at ~0.055-0.063, because the
container renders arm64 while the committed `linux/` baselines come from CI on
amd64. This only became visible once #578 fixed dtest comparing nothing at all
from a worktree - it is pre-existing, not a regression. Three options, none
free, and the choice is a speed-versus-fidelity call:

1. screen those keys as known-arch and keep dtest fast,
2. pin the container to `linux/amd64` so local matches CI (correct, slower
under emulation - note `.dev/compose.yml` already declares
`platform: linux/amd64` on the `t` service while `bin/dc` exports
`DOCKER_DEFAULT_PLATFORM=linux/arm64/v8`; reconcile those before deciding),
3. let CI own the Linux leg entirely.

Do not re-record them from a Mac either way: an arm64 candidate must never
overwrite the amd64 set (`.okf/build/test-gates.md`).

## What the sprint shipped (PRs #560-#578, 2026-08-21/22)

**The redesign**: three register pilots on the `/next/` rail (#561-#563) with a
cross-pilot specificity fix (#564), the demo board and panel vote (#565), and
the working papers (#567).

**The instrument, which turned out to need more work than the redesign**: the
visual gate was blind by 50x and green runs restored old baselines over fresh
captures (#560); 127 baselines re-recorded with every diff classified and the
tolerance shield deleted on a measurement (#566); the noise floor is per-page,
so the hand-pinned `0.03` tolerances are load-bearing rather than padding
(#570); fault-injecting 8 realistic defects caught only **3** (#572), which
un-blinded the link checker - 114,050 links checked against 15,642, finding
five real site defects including a self-canonical pointing at a 404 and a
promised download that never existed (#574) - and then closed the gaps to
**8 of 8** (#576); and `bin/dtest` was found to be comparing **nothing** from a
git worktree, with five-worktree parallelism added alongside the fix (#578).

The rule that came out of it, now blocking in `CLAUDE.md`: a new test is not
done until you have broken the code and watched it fail.