diff --git a/.gitignore b/.gitignore index a26d172..c7f578d 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,10 @@ playwright-report/ # typescript *.tsbuildinfo next-env.d.ts + +# nested git worktrees — the agent harness checks this repo out a second time +# under .claude/worktrees//, on its own branch with its own gate +.claude/worktrees/ + +# per-machine agent settings; the shared .claude/settings.json is committed +.claude/settings.local.json diff --git a/.prettierignore b/.prettierignore index b698663..ef97778 100644 --- a/.prettierignore +++ b/.prettierignore @@ -10,6 +10,16 @@ coverage *.min.js *.min.css +# Nested git worktrees. The agent harness checks a second copy of this repo out +# under .claude/worktrees//; prettier reads it as ordinary files and a +# clean tree fails --check on 80+ files that are not in this commit. Formatting +# them there is also wrong — that checkout has its own branch and its own gate. +.claude/worktrees + +# Per-machine agent settings. Never committed, absent in CI — so checking it +# locally can only ever produce a failure CI cannot see. +.claude/settings.local.json + # Generated during a build, so it is absent locally and present in CI — which # makes a clean local --check no evidence at all. Contentlayer's output also # uses import assertions, which prettier's parser rejects outright. diff --git a/README.md b/README.md index 6e420fc..48ce6c4 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ Solon shares OrangeCat's tokens by name and value, and is dark-only. ## Quick start ```bash -git clone https://github.com/catomean/solon.git +git clone https://github.com/bitbaum/solon.git cd solon npm install diff --git a/docs/development/ui-guidelines.md b/docs/development/ui-guidelines.md index bbc0111..12b6e20 100644 --- a/docs/development/ui-guidelines.md +++ b/docs/development/ui-guidelines.md @@ -8,7 +8,7 @@ Not in this repo, and not in this document: | Where | Role | |---|---| -| **`@fleet/design-tokens`** ([repo](https://github.com/catomean/design-tokens)) | **Token SSOT** for all three products — every colour, face, radius, rhythm and measure, plus the self-hosted font files and the Tailwind preset. | +| **`@fleet/design-tokens`** ([repo](https://github.com/bitbaum/design-tokens)) | **Token SSOT** for all three products — every colour, face, radius, rhythm and measure, plus the self-hosted font files and the Tailwind preset. | | `src/app/globals.css` | Solon-specific rules only. Defining a token here **fails the build**. | | `tailwind.config.js` | Consumes the shared preset. Defines no colours, fonts or geometry. | | `scripts/design-system-check.js` | **Enforcement.** Run by `npm run design:check`, which `npm run verify` runs. | diff --git a/eslint.config.mjs b/eslint.config.mjs index d7b1aea..d3f3610 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -12,6 +12,9 @@ const config = [ ignores: [ ".next/**", "node_modules/**", + // Nested git worktrees — a second checkout of this repo on its own + // branch, linted by its own gate, not by this one. + ".claude/worktrees/**", "next-env.d.ts", "playwright-report/**", "test-results/**", diff --git a/package-lock.json b/package-lock.json index 4189ed8..0b2061a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "solon", "version": "0.1.0", "dependencies": { - "@fleet/design-tokens": "github:catomean/design-tokens#v1.1.0", + "@fleet/design-tokens": "github:bitbaum/design-tokens#v1.1.0", "@noble/hashes": "2.4.0", "@noble/secp256k1": "3.1.0", "@prisma/adapter-pg": "^7.10.0", @@ -988,7 +988,7 @@ }, "node_modules/@fleet/design-tokens": { "version": "1.1.0", - "resolved": "git+ssh://git@github.com/catomean/design-tokens.git#dedda604c526dc35ae552b6b4616048ad16e8b59", + "resolved": "git+ssh://git@github.com/bitbaum/design-tokens.git#dedda604c526dc35ae552b6b4616048ad16e8b59", "license": "MIT" }, "node_modules/@humanfs/core": { diff --git a/package.json b/package.json index a9a38df..1adc42d 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "format:check": "prettier --check ." }, "dependencies": { - "@fleet/design-tokens": "github:catomean/design-tokens#v1.1.0", + "@fleet/design-tokens": "github:bitbaum/design-tokens#v1.1.0", "@noble/hashes": "2.4.0", "@noble/secp256k1": "3.1.0", "@prisma/adapter-pg": "^7.10.0", diff --git a/scripts/ci/auto-merge-sweep.sh b/scripts/ci/auto-merge-sweep.sh index 0a0b747..773f9cd 100644 --- a/scripts/ci/auto-merge-sweep.sh +++ b/scripts/ci/auto-merge-sweep.sh @@ -111,7 +111,7 @@ else # base quietly collecting more of them and getting harder to diagnose. But # when the PR *is* the repair, the same rule deadlocks the repo — the fix # cannot travel the path its own redness blocks, and only a human can move - # it. Seen in catomean/aoz-housing on 2026-08-07: E2E red on the base, the + # it. Seen in bitbaum/aoz-housing on 2026-08-07: E2E red on the base, the # fix sitting green in a PR, every sweep refusing politely. # # So identify WHICH jobs are red and let a PR through only if its own checks @@ -150,7 +150,7 @@ woken=0 # OLDEST FIRST. `gh pr list` returns newest-first, and this loop merges the # first eligible PR and stops — so the newest green PR wins every sweep and an -# older one can wait indefinitely. Observed in catomean/fleetcrown on +# older one can wait indefinitely. Observed in bitbaum/fleetcrown on # 2026-08-06: two consecutive sweeps merged the two newest PRs while three # older green ones were never even evaluated. With several agent sessions # opening PRs continuously, "newest wins" is starvation, and it starves the PR @@ -195,7 +195,7 @@ for number in $(printf '%s' "$prs_json" | jq -r 'sort_by(.number) | .[].number') # floor in August 2026, and every Dependabot PR opened before that day has # zero checks — so "has at least one check" can never become true and the # policy above parks them permanently. Found on 2026-08-14 in - # catomean/solon: 5 PRs from 2026-06-22/06-29, all MERGEABLE, all CLEAN, + # bitbaum/solon: 5 PRs from 2026-06-22/06-29, all MERGEABLE, all CLEAN, # none merged, none merge-able, because nothing had ever checked them. # CLEAN there means "nothing objected", not "verified" — the dangerous # reading, and exactly why the no-checks rule must stay. diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 5feb4a8..2a774c6 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -104,7 +104,7 @@ export default function AboutPage() { Live governed state {" · "}