Commit Graph
6 Commits
Author SHA1 Message Date
istos a15147a926 site: commit the seven woff2 files
Fetching them per checkout made every deploy machine ask Google for the
site's own typography, and a clean checkout build silently fell back to
system fonts. 113 KB, immutable under their filenames — which is what
the year-long immutable cache in root/_headers already assumes.
2026-07-31 15:09:02 +02:00
istos 6dcf6e4c1a site: keep fetched fonts and wrangler's cache out of git
site/fetch-fonts.py downloads the seven woff2 files once per checkout,
as site/README.md documents, so they are build inputs rather than
sources. .wrangler/ is the cache a deploy leaves behind.
2026-07-31 15:06:11 +02:00
istosandClaude Opus 5 1f8a98eb5f tests: cover the site build, and say out loud that site/ never ships
The generated site's whole value is that drift is loud, so the tests
are mostly about drift: a heading renamed in AGENTS.md must fail the
build naming the route and the heading, a slice emptied to its heading
must fail rather than emit a page, and a heading inside a code fence
must never match — AGENTS.md fences a task template whose first line is
'# Task title', and matching that would slice the document in half.

Alongside: link rewriting (GitHub blob, link_routes overrides, dead and
escaping links refused), manifest validation, the output-directory
guard, and the acceptance criterion that no built page fetches anything
third-party — mechanised as 'every rel that opens a connection is
same-origin', with rel=canonical excluded because it is a statement,
not a fetch.

The release artifact test now asserts site/ is absent from bench.tar.gz.
The manifest already excludes it by saying nothing about it, but
correct-by-omission is exactly what a future manifest edit undoes
silently.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 11:30:43 +02:00
istosandClaude Fable 5 84d260318d Card 04 to review; gitignore .DS_Store
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 08:29:53 +02:00
istosandClaude Fable 5 515d4f99b9 Task board state, MultiEdit launch fix, and repo hygiene
Twelve task cards from the first self-hosted dogfooding sessions: 02,
05, 06, 07 done; 08 in review; 09 queued; the rest in backlog. Review
launches no longer pass the retired MultiEdit tool name as a deny rule
(it killed every review/relevance launch at flag parsing — task 10
keeps the follow-up test work). Gitignore .worktrees/ and personal
.claude/settings.local.json; commit the portable .claude/settings.json
that task 02's wiring fix now generates.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 07:02:25 +02:00
istosandClaude Fable 5 29cbb11eb5 Bench 1: the task board extracted as its own distribution
Everything core from cicero-pas's .task-manager, with instance data
reduced to skeleton: empty stage directories, the task template, empty
local/ scaffolding, and a README covering install (clone into
.task-manager/, vendored on purpose) and update (update.sh replaces core
wholesale; local/ and tasks/ survive).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-29 17:57:07 +02:00