feat(simulation): P4 pkt. 3+4 — demo-transkriptet pinnet, frø-setningen avledet [skip-docs]
Kriterium 6 er selv-identitet: to kjøringer av en regredert demo er like enige som to av en riktig. Fasiten forlater derfor prosessen. stdout pinnes ORDRETT (og er dermed demoens abortsti); stderr normaliseres på nøyaktig to MÅLTE miljø-spann — site-packages-prefikset og temp-katalogen — med po-sim- holdt synlig, fordi det er en egenskap ved programmet og ikke ved miljøet. Pinnet stderr = fire linjer. Kontrollen som forbyr at masken vokser er load-bearing: en droppende normaliserer med fasiten regenerert under seg holder BEGGE likhets-testene grønne. Pkt. 4: planens forhåndsskrevne frø-setning sa «én av de TO tidligere dommene». Målt mot levert VEGLYS-bundle henter Kjøring B TRE — én fulgte med kunnskapsbasen, to er demoens egne, én per tidsskala. Splitten avledes derfor fra kjøringen; en håndskrevet «én av tre» ville vært den andre kopien som drifter. Fem mutasjoner alle røde + grønn kontroll (hele suiten hver gang): ett byte i en stdout-linje · detach dempingen · over-normaliser stderr · literal splitt · detach frø-setningens print. Byte- og detach-mutasjonene ble fanget av KUN golden-testen; den literale splitten av KUN skille-testen. 793 -> 801 passed / 4 skipped.
This commit is contained in:
parent
7aef1feaa4
commit
50232fb88d
7 changed files with 422 additions and 2 deletions
|
|
@ -704,6 +704,28 @@ def _decision_line(result: RunResult) -> str:
|
|||
return f"FORKASTET — {o.reason}"
|
||||
|
||||
|
||||
def _verdict_origin_line(verdicts: Sequence[Verdict], *, marker: str, inbox_marker: str) -> str:
|
||||
"""P4 pkt. 4, the seed sentence: of Run B's previous verdicts, how many came WITH the knowledge
|
||||
base and how many the demo learned in this session.
|
||||
|
||||
Said out loud on stage, so it has to be true of the content actually being run — and the split
|
||||
is therefore DERIVED, never written down. The line above it already prints the retrieved count;
|
||||
a hand-written "one of three" would be a second copy of that number, and would go on being said
|
||||
unchanged after a bundle shipped a second seeded verdict.
|
||||
|
||||
The classifier is the two markers the demo has traced all along: a retrieved verdict carrying one
|
||||
of them is one this session produced (the Step-8 promotion, the Step-7 inbox note). That rests on
|
||||
the seeded verdict carrying NEITHER, which is measured on the delivered bundle in
|
||||
``tests/test_p4_honesty_sentences_loadbearing.py`` rather than assumed here.
|
||||
"""
|
||||
learned = sum(1 for v in verdicts if marker in v.rationale or inbox_marker in v.rationale)
|
||||
seeded = len(verdicts) - learned
|
||||
return (
|
||||
f" av disse fulgte {seeded} av {len(verdicts)} med kunnskapsbasen; "
|
||||
f"de øvrige {learned} er dem demoen lærte i denne økten"
|
||||
)
|
||||
|
||||
|
||||
def _run_trace_lines(result: RunResult, *, marker: str, marker_in_prompt: bool) -> list[str]:
|
||||
"""Steps 1-7 of one run, one labelled line per step (``method-spec`` §3), for the walkthrough.
|
||||
|
||||
|
|
@ -842,6 +864,11 @@ def main(argv: list[str] | None = None) -> int: # pragma: no cover - console tr
|
|||
print("\nKJØRING B (re-seedet kunnskapsbase + innboksen lest)")
|
||||
print(" samme åtte steg kjøres igjen; her vises kun det som ENDRET seg:")
|
||||
print(f" tidligere dommer hentet for kandidaten: {len(result.run_b.retrieved)}")
|
||||
print(
|
||||
_verdict_origin_line(
|
||||
result.run_b.retrieved, marker=result.marker, inbox_marker=result.inbox_marker
|
||||
)
|
||||
)
|
||||
print(
|
||||
f" markør '{result.marker}' (Steg 8, wiki) i hypotese-prompten: "
|
||||
f"{result.marker_in_run_b_prompt} (forventet True)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue