feat(harness): Workflow.schema_linking_phase() (Onda 1.1, TDD)

Aggiunge il metodo che i cmd CLI useranno al posto della vecchia costante
SCHEMA_LINKING_PHASE (drift fix Onda 1). Ritorna il num della fase il cui
artifacts_out contiene schema_linking.json, default 5 se nessuna la dichiara.

L1: 4 test (fase reale F4, posizione arbitraria, default 5, artefatti multipli).
Suite: 157 passed.
This commit is contained in:
2026-06-27 13:09:51 +02:00
parent 31552782c0
commit 37bb074efe
2 changed files with 62 additions and 0 deletions
+9
View File
@@ -50,6 +50,15 @@ class Workflow:
reference it (via decision_exists / decision_subject_exists). Defaults to 1."""
return self._decision_min_map.get(decision_type, 1)
def schema_linking_phase(self) -> int:
"""The phase that produces schema_linking.json (artifacts_out). Default 5
(the conventional schema-linking phase) if no phase declares it. Used by the
CLI drift fix in place of the old SCHEMA_LINKING_PHASE constant."""
for p in self.phases:
if "schema_linking.json" in p.artifacts_out:
return p.num
return 5
def _collect_decision_mins(phases: list[PhaseSpec]) -> dict[str, int]:
"""Scan prerequisites for decision_exists / decision_subject_exists mentions.