docs(6209): forge, dedup, tuning, registry, reply shapes and discipline, checkpoint, lesson kind tests
CI & Build / Python lint (push) Successful in 4s
CI & Build / Plugin hooks (push) Successful in 25s
CI & Build / TypeScript typecheck (push) Successful in 56s
CI & Build / integration (push) Successful in 1m24s
CI & Build / Python tests (push) Successful in 2m13s
CI & Build / Build & push image (push) Successful in 13s
CI & Build / Python lint (push) Successful in 4s
CI & Build / Plugin hooks (push) Successful in 25s
CI & Build / TypeScript typecheck (push) Successful in 56s
CI & Build / integration (push) Successful in 1m24s
CI & Build / Python tests (push) Successful in 2m13s
CI & Build / Build & push image (push) Successful in 13s
Eight more test files state their properties without issue, milestone, rule and decision numbers. The tuning and suspension notes describe the symptom a shipped default or a late ledger produces instead of one install's dated readings; the reply-discipline and checkpoint docstrings state the failure they prevent instead of the session that measured it. test_empty_selector_is_the_rule_115_baseline is renamed for what it checks: the no-forge baseline. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,17 +1,13 @@
|
||||
"""A reply's sections are chosen, not filled (#4153, milestone 409 step 7).
|
||||
"""A reply's sections are chosen, not filled.
|
||||
|
||||
WHY THIS EXISTS
|
||||
|
||||
Step 6 measured the scaffold on live sessions and found the two halves
|
||||
disagreeing: **adherence passed and the read test failed.** Completion replies
|
||||
carried every section the table asks for — placement, what changed, what needs
|
||||
the operator, what comes next — and the operator still could not read them.
|
||||
|
||||
The cause was in the skill rather than in compliance with it. It said to pick a
|
||||
kind of reply "then fill its sections… keep them even when one is short", which
|
||||
is an instruction to complete a form. Nothing anywhere set a ceiling, and a
|
||||
section with a heading and nothing to say gets filled rather than dropped. So a
|
||||
faithful reply and an unreadable one were the same reply.
|
||||
A reply can carry every section the table asks for — placement, what changed,
|
||||
what needs the operator, what comes next — and still be unreadable: adherence
|
||||
passes and the read test fails. An instruction to pick a kind of reply "then
|
||||
fill its sections" is an instruction to complete a form, and with no ceiling a
|
||||
section with a heading and nothing to say gets filled rather than dropped. A
|
||||
faithful reply and an unreadable one become the same reply.
|
||||
|
||||
WHAT IS PINNED
|
||||
|
||||
@@ -25,18 +21,18 @@ unchanged and are not this file's subject:
|
||||
3. "Needs you" takes BOTH tests: theirs to decide, and blocking.
|
||||
4. A decision already made is acted on rather than re-argued.
|
||||
|
||||
RULE 167, AND WHY THERE IS NO ABSENCE CHECK HERE
|
||||
WHY THERE IS NO ABSENCE CHECK HERE
|
||||
|
||||
The obvious guard — assert the skill no longer tells anyone to "fill" a
|
||||
section — is the trap snippet #3352 names. This skill legitimately discusses
|
||||
The obvious guard — assert the skill never tells anyone to "fill" a section —
|
||||
is a trap. This skill legitimately discusses
|
||||
filling in order to warn against it ("not a form to complete", "a section
|
||||
filled because it was in the table"), so an absence check would fail on the
|
||||
corrected text: a false alarm about the very thing it protects.
|
||||
|
||||
So every assertion here is a PRESENCE check, and one is POSITIONAL —
|
||||
`test_the_needs_you_test_sits_with_the_needs_you_section` pins where the test
|
||||
lives, not merely that the words occur somewhere in the file. All four were
|
||||
falsified against the pre-#4153 text before being committed.
|
||||
lives, not merely that the words occur somewhere in the file. Each fails
|
||||
against a skill that says to fill its sections.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
@@ -111,7 +107,7 @@ def test_the_needs_you_test_sits_with_the_needs_you_section():
|
||||
def test_a_settled_decision_is_acted_on_rather_than_re_argued():
|
||||
"""Re-opening a decision reads as self-contradiction, not as diligence.
|
||||
|
||||
Phrased as a practice rather than a prohibition (rule 165): the instruction
|
||||
Phrased as a practice rather than a prohibition: the instruction
|
||||
is what to DO with a decision, with the failure named after it.
|
||||
"""
|
||||
text = _flat()
|
||||
@@ -126,14 +122,13 @@ def test_the_scaffold_itself_is_untouched():
|
||||
"""This step changed the discipline AROUND the sections, not the sections.
|
||||
|
||||
If a future edit deletes a category while tightening the prose, that is a
|
||||
change to #4009's subject and should not ride along silently here.
|
||||
change to the scaffold itself and should not ride along silently here.
|
||||
"""
|
||||
text = _flat()
|
||||
for section in ("where this sits", "what now works", "how / why",
|
||||
"needs you", "next"):
|
||||
assert section in text, f"completion-report section {section!r} is gone"
|
||||
# The kinds live in the delivered shapes since milestone 500 step 4; the
|
||||
# skill keeps the reasoning and the worked completion report.
|
||||
# The kinds live in the delivered shapes; the skill keeps the reasoning and the worked completion report.
|
||||
from scribe.services import reply_shapes
|
||||
|
||||
shapes = " ".join(s.title + " " + s.text for s in reply_shapes.SHAPES.values()).lower()
|
||||
|
||||
Reference in New Issue
Block a user