You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[þing-02] P1 — guard or retire the legacy path (unfao.py:560, :571) before 2026-11-30 #145
Ratified follow-through from þing 02, ledger row P1. Already owed (register C-40); this þing gives it a date, not new work.
What. The contract path is guarded: _ContractStorePort.upload (unfao.py:55-77) captures result.success and raises on False, so an expired key aborts the delivery with a named error before the manifest commits. The legacy path does not — _save discards the result at unfao.py:560 and :571, bare dsm.upload_data(...), no capture, no check. Identical to the two call sites in views-pipeline-core#330.
Consequence. The 2026-11-30 expiry is loud on the contract path and silent on the legacy one. The split is by path, not by seat — this seat corrected views-pipeline-core's inference about its own runtime to establish that (orð_12 §1).
Fix. Guard it like :69-77, or retire the legacy forecast branch. Before 2026-11-30.
Provenance worth keeping. The contract-path guard is not foresight: it exists because run-0's historical upload stranded an invisible orphan — bytes uploaded, metadata rejected, the store logging failure and the ledger reporting success (PR #132). That is C-227's exact shape, on this seam, discovered by being bitten. It took one evening.
This issue offered "guard or retire". The epic retired: the legacy path's silent uploads went with the path itself, and the surviving delivery uploads only through _ContractStorePort, which raises on a failed result — the guard written after run-0 stranded an invisible orphan (PR #132).
Guarding would have meant hardening code already decided for deletion. The removal was C-40's named post-run-0 follow-up, four days overdue when this issue was filed.
Activity
feat(delivery): S1 — one delivery path; refuse an incomplete launch c…
Polichinel commentedon Aug 1, 2026
Superseded and closed by #149 (epic #148).
This issue offered "guard or retire". The epic retired: the legacy path's silent uploads went with the path itself, and the surviving delivery uploads only through
_ContractStorePort, which raises on a failed result — the guard written after run-0 stranded an invisible orphan (PR #132).Guarding would have meant hardening code already decided for deletion. The removal was C-40's named post-run-0 follow-up, four days overdue when this issue was filed.