Files
ai-for-dummies/.agents/context/assertion-removals.md
T
Marcos Paulo 9015e7bd1d
verify-and-publish / gate (push) Successful in 14m4s
verify-and-publish / publish (push) Has been skipped
chore: take vote-service out of the repository root
Removes the Go source, Dockerfile, go.mod, and Kubernetes manifests. The
deployed service is untouched and the review desk still calls it over
window.SKILLS_REVIEW_VOTE_API; only the source leaves.

The runbook does not leave. vote-service/README.md moves to
docs/vote-service.md, because it carries the parts that are hard to
rediscover: why the ingress overwrites X-Forwarded-For and Caddy stamps
X-Client-IP instead, why the image is side-loaded into containerd rather
than pulled, and why the PVC pins the Deployment to one node.

This drops verify.mjs from 84 assertions to 83. The removed one read
vote-service/main.go for X-Forwarded-For and 'one active vote per skill'
-- the review desk's only anti-abuse control -- and there is no file left
to read. It is the first assertion this repository has ever lost.

Rather than lower the gate's floor and leave a bare number behind,
gate.sh now subtracts the number of entries in
.agents/context/assertion-removals.md from the baseline. A removal costs
a written reason in a tracked file, in the same commit, as a visible
diff. Tested at 82 assertions: still refused.

Also drops the 22 MB of PNG baselines under .agents/snapshots/before/ and
before-reduced-motion/. They pictured the hand-written site, which no
longer exists; visual-regression.mjs has no compare mode to diff them
against; and they are recoverable from d88d8b8.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-06 08:59:45 +00:00

1.2 KiB

Assertion removal ledger

scripts/verify.mjs may only lose an assertion by adding an entry here. The gate counts the ## headings in this file and allows exactly that many removals below the recorded floor — so a reduction is impossible without a written reason landing in the same commit, as a visible diff.

Adding an entry is not a formality. An assertion pins a real contract; removing one means that contract is now unverified. Say where it moved, or say plainly that nothing checks it any more.

vote-service one-vote-per-IP contract

Removed: 2026-09-06, when vote-service/ was taken out of this repository.

What it asserted: that vote-service/main.go contained both X-Forwarded-For and one active vote per skill — the review desk's only anti-abuse control, one vote per visitor enforced server-side by source IP.

Why it went: there is no file left to read. The check was a substring match against source that now lives elsewhere.

Where it must be re-asserted: in whichever repository holds the service. The deployed service still enforces the contract; nothing in this repository proves it. If vote-service/ ever comes back here, restore the assertion and delete this entry.