Skip to content

chore(shared): record what the outage actually cost, and lock the ratchet - #49

Merged
github-actions[bot] merged 1 commit into
masterfrom
chore/shared-adoption
Aug 27, 2026
Merged

chore(shared): record what the outage actually cost, and lock the ratchet#49
github-actions[bot] merged 1 commit into
masterfrom
chore/shared-adoption

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

chore(shared): record what the outage actually cost, and lock the ratchet

Adoption of ai-kit went 2 -> 5 — fleetcrown, aoz-housing, truthseeker,
botsmann and this repo. All of it as a side effect of repairing the outage
rather than as a migration project, which is the only way adoption has ever
moved here.

Three repos deliberately did NOT adopt, and the reason is the same in each:
kivvi, orangecat and evig already own model REGISTRIES carrying context windows,
tool and vision support, and per-token cost — none of which ai-kit models.
Installing it beside one of those adds a second source of model truth to a repo
whose problem was having two. They were repaired in place and left pointing at
the daily audit. Merging a registry into ai-kit is a real design question and
belongs to a human, not to an outage.

The AI provider client row is re-priced. The first count said five repos and
six pins; it was seven repos, and inside a repo the id was written down two to
FOUR times. Kivvi needed three PRs to remove one retired id — provider registry,
an app's inline fetch body, the fallback chain, and a client hook's
FALLBACK_MODEL — because each pass only found the copies the tooling could
see. That is the cost of duplication measured rather than argued.

The audit row now says what it learned about itself. Repairing seven repos with
it exposed nine faults in both directions, and the blind spots were not random —
they mirrored the shapes people write (GROQ_MODELS = { defeats \bmodels?\b,
models: AIModel[] = [ defeats an array pattern, modelId is not model). It
also read ids out of comments, reporting a retired id in the very commit that
removed it. The note that matters for whoever touches it next: never trust its
first clean run after widening — re-run the live sweep and read every line,
because tightening the matcher to kill a false positive silently deleted a real
finding once already.

Also: --update locks in rate-limit 14 -> 13. A ratchet that only ever gets
checked never falls, and this one fell on somebody's work.

Version bumped to v0.4.0, which is breaking: form filling moved off the root
export to ai-kit/forms.

🤖 Generated with Claude Code

…chet

Adoption of `ai-kit` went 2 -> 5 — fleetcrown, aoz-housing, truthseeker,
botsmann and this repo. All of it as a side effect of repairing the outage
rather than as a migration project, which is the only way adoption has ever
moved here.

Three repos deliberately did NOT adopt, and the reason is the same in each:
kivvi, orangecat and evig already own model REGISTRIES carrying context windows,
tool and vision support, and per-token cost — none of which `ai-kit` models.
Installing it beside one of those adds a second source of model truth to a repo
whose problem was having two. They were repaired in place and left pointing at
the daily audit. Merging a registry into `ai-kit` is a real design question and
belongs to a human, not to an outage.

The `AI provider client` row is re-priced. The first count said five repos and
six pins; it was seven repos, and inside a repo the id was written down two to
FOUR times. Kivvi needed three PRs to remove one retired id — provider registry,
an app's inline fetch body, the fallback chain, and a client hook's
`FALLBACK_MODEL` — because each pass only found the copies the tooling could
see. That is the cost of duplication measured rather than argued.

The audit row now says what it learned about itself. Repairing seven repos with
it exposed nine faults in both directions, and the blind spots were not random —
they mirrored the shapes people write (`GROQ_MODELS = {` defeats `\bmodels?\b`,
`models: AIModel[] = [` defeats an array pattern, `modelId` is not `model`). It
also read ids out of comments, reporting a retired id in the very commit that
removed it. The note that matters for whoever touches it next: never trust its
first clean run after widening — re-run the live sweep and read every line,
because tightening the matcher to kill a false positive silently deleted a real
finding once already.

Also: `--update` locks in rate-limit 14 -> 13. A ratchet that only ever gets
checked never falls, and this one fell on somebody's work.

Version bumped to v0.4.0, which is breaking: form filling moved off the root
export to `ai-kit/forms`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions
github-actions Bot merged commit 5f16bc0 into master Aug 27, 2026
1 check passed
@github-actions
github-actions Bot deleted the chore/shared-adoption branch August 27, 2026 00:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant