docs(6209): snippets, rule embeddings, notes, ledger ageing and references, routes, reporting, handshake, lesson kind, request deadlines, contract-around-change, family models
CI & Build / Python lint (push) Successful in 2s
CI & Build / Plugin hooks (push) Successful in 14s
CI & Build / TypeScript typecheck (push) Successful in 1m0s
CI & Build / integration (push) Successful in 1m14s
CI & Build / Python tests (push) Successful in 1m59s
CI & Build / Build & push image (push) Successful in 15s
CI & Build / Python lint (push) Successful in 2s
CI & Build / Plugin hooks (push) Successful in 14s
CI & Build / TypeScript typecheck (push) Successful in 1m0s
CI & Build / integration (push) Successful in 1m14s
CI & Build / Python tests (push) Successful in 1m59s
CI & Build / Build & push image (push) Successful in 15s
Twelve more test files drop issue, milestone, rule, note, lesson and snippet numbers and the dated or one-project figures that recorded how each property was found; the docstrings state the property and why it holds. The contract-around-the-change guard keeps the dict-key example as the failure a signature-watcher misses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,16 +1,14 @@
|
||||
"""You altered the shape of something — here is everything that reads it (#4215).
|
||||
"""You altered the shape of something — here is everything that reads it.
|
||||
|
||||
WHY THIS EXISTS
|
||||
|
||||
Milestone 419's most repeated miss, five of seven: acting on the thing in hand
|
||||
without reading the contract around it. Lesson #4207 says it in words —
|
||||
"widening a tuple is an interface change to every unpack site, and the
|
||||
compiler will not tell you" — and was written by its author HOURS before a
|
||||
structurally identical mistake, having been surfaced twice in the turns
|
||||
between. Text delivered at the moment of acting is too weak a carrier for a
|
||||
reflex that has to change what the act IS. This looks it up instead.
|
||||
The commonest miss is acting on the thing in hand without reading the contract
|
||||
around it: "widening a tuple is an interface change to every unpack site, and
|
||||
the compiler will not tell you". Knowing that in words does not stop it — text
|
||||
delivered at the moment of acting is too weak a carrier for a reflex that has
|
||||
to change what the act IS. This looks it up instead.
|
||||
|
||||
Rule 33 one scope down: its checks are between layers ("every parameter the
|
||||
Layer parity one scope down: its checks are between layers ("every parameter the
|
||||
caller sends is read by the handler under the same name"), and the same
|
||||
question exists between a definition and its callers.
|
||||
|
||||
@@ -21,18 +19,17 @@ nothing alike in source:
|
||||
arg its parameter names arity and order
|
||||
key quoted keys of dict literals the shape of what it RETURNS
|
||||
|
||||
The third is here because of the miss that produced this step, and it is the
|
||||
one a signature-watcher would have missed: `get_writepath_config` gained one
|
||||
dict key, three arms read that dict inside a fail-open `except`, every one
|
||||
silently became a no-op, and ten tests went red at once with nothing pointing
|
||||
at the cause. No signature changed.
|
||||
The third is the one a signature-watcher misses: a function gains one dict
|
||||
key, three callers read that dict inside a fail-open `except`, every one
|
||||
silently becomes a no-op, and tests go red at once with nothing pointing at
|
||||
the cause. No signature changed.
|
||||
|
||||
WHAT IS PINNED: which edits speak and which stay silent, and that both gates
|
||||
are load-bearing. NOT pinned: the wording, which is prose.
|
||||
|
||||
A FIXTURE REPO, NEVER THIS ONE. Asserting against Scribe's own files would
|
||||
make the test a description of today's tree, failing the next time someone
|
||||
renames something (rule 115's reasoning, one floor down).
|
||||
renames something.
|
||||
"""
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
|
||||
Reference in New Issue
Block a user