feat(s7b): IR-projeksjonen er valgfri paa alle tre kallsteder, og fraveret sies
DEL A + DEL C av ordre 20260903T204605Z-215167684-from-.claude.
Soem 1: okf.load_optional_ir_projection ved siden av den fail-faste, moensteret
fra load_cost_baseline/load_optional_cost_baseline. Et PAR, ikke et required=-flagg:
PM-tillegg 5 maalte hva en uoevet parameter koster (elleve evidence_for-kallsteder
brukte defaulten til den andre grenen raatnet), og et flagg ville dessuten gjort
usanne de fem docstringene som siterer load_ir_projection som DEN fail-faste
presedensen. Toleransen stopper ved fravaer: en malformed projeksjon reiser fortsatt.
De tre kallstedene fikk HVER SIN stilling:
* _project_from_bundle - fravaer hopper over en fail-fast som ikke har noe aa
sjekke mot; en projeksjon som FINNES og navngir et annet prosjekt nekter
fortsatt. Divergens-vakten er kontrakten multi-base-dispatchen hviler paa.
* run_mandate_across_bundles - FILA FOERST, basens ERKLAERTE bundle_id som
fallback (S7a-3). Presedensen baerer i begge retninger: erklaering-foerst ville
re-adressert hver eksisterende base der project_id != bundle_id.
* bundle_candidate_features - optional_bundle_candidate_features, og de TO
konsumentene svarer ULIKT paa fravaeret. Steg-1-folden HOPPER OVER og sier
hvor mange tidligere dommer som dermed aldri naadde hypotese-prompten;
seed_store_from_bundle NEKTER ved navn (VerdictKeyUnavailable), fordi aa mynte
en noekkel for en dom som erklaerer ingen er nettopp defekten S3.2 lukker.
Synligheten: RunResult.unkeyed_verdicts (ANTALL, ikke flagg - koe-(y)-regelen) +
run.unkeyed_verdicts_notice som ENESTE renderer, None ved null (omisjon, aldri tom
rad). Baereren er MAALT: dry-run-kuttet returnerer OVER folden, saa et felt paa
DryRunReport kunne bare rapportert null - ulikt cost_baseline_anchored og
skipped_links, begge opploest over kuttet. Ikke paa ProvenanceStamp: stempelet
beskriver gaten som doemte EN kandidat.
Prosjektnavnet var et ikke-spoersmaal, og det er maalt: SavingsProposal har intet
navnefelt, saa projeksjonen har aldri vaert en navnekilde. Project.name kommer
fortsatt fra type: project-konseptets title med id-en som siste utvei.
DEL C: --mandate lagt i report_forbidden. Den var ELDRE enn partisjonen og hadde
aldri faatt en rad, saa --report --ledger X --mandate Y droppet kommisjonen i
STILLHET - F4-klassen. Testarmen kjoerer mot en argv report-modus ellers ville
AKSEPTERT, med en kontroll som beviser rc 0 uten flagget.
Kontroll: 1290 passed / 5 skipped (fra 1275/5 - supersett, 0 fjernet).
Golden demo-transcript.stdout BYTE-UENDRET, shasum -a 1 (INNHOLD, ikke git-blob)
= ea8c534773acdbe41ae68f2c55724d69aaf8be4f. ruff + mypy rene.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
26d08e7a96
commit
b75387ca25
4 changed files with 593 additions and 14 deletions
|
|
@ -1520,3 +1520,27 @@ def load_ir_projection(bundle_dir: str, name: str = _IR_PROJECTION) -> dict[str,
|
|||
raise FileNotFoundError(f"IR projection not found in bundle: {name!r}")
|
||||
data: dict[str, Any] = json.loads(resolved.read_text(encoding="utf-8"))
|
||||
return data
|
||||
|
||||
|
||||
def load_optional_ir_projection(
|
||||
bundle_dir: str, name: str = _IR_PROJECTION
|
||||
) -> dict[str, Any] | None:
|
||||
"""``load_ir_projection`` where a MISSING file is legitimate: returns ``None`` instead of
|
||||
raising (S7b søm 1). This is the run path's loader — an INGESTED corpus carries no hand-written
|
||||
IR projection, and requiring one meant such a base could be navigated, catalogued and judged
|
||||
through the deterministic mandate door and still not run the eight-step loop at all.
|
||||
|
||||
A PAIR beside the fail-fast loader rather than a ``required=`` flag on it, mirroring
|
||||
``load_cost_baseline`` / ``load_optional_cost_baseline`` exactly. A flag would leave one branch
|
||||
unexercised wherever callers took the default, which is the rot PM-tillegg 5 measured on
|
||||
``evidence_for``; and it would falsify the several docstrings across the package that cite
|
||||
``load_ir_projection`` as *the* fail-fast precedent.
|
||||
|
||||
The tolerance stops at absence: a projection that EXISTS but is malformed still raises, and a
|
||||
name escaping the bundle still raises. Reading a corrupt projection as "no projection" would
|
||||
hand back an unkeyed run under the appearance of a keyed one — the same reasoning as
|
||||
``load_optional_cost_baseline`` and ``budget.read_spend``."""
|
||||
try:
|
||||
return load_ir_projection(bundle_dir, name)
|
||||
except FileNotFoundError:
|
||||
return None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue