Build Log
Owner Loop Hardening — Follow-Ups
September 6, 2026
Closed the two required nextItems from the Owner Loop hardening Charge: set Alloy's two missing Railway env vars and captured the 6 historical MedinaCHF candidates as real, passing test fixtures — plus fixed a genuine test-isolation bug found along the way.
What shipped
Set GITHUB_OWNER_LOOP_DISPATCH_TOKEN and MEDINACHF_OWNER_LOOP_RESOLVER_DATABASE_URL on Alloy's Railway production environment (via railway variables --set, values never echoed to the transcript) and redeployed
Recovered all 6 historical MedinaCHF candidates' real request ids from forgekit-os/observations/pending-acceptance/medinachf/*.json (the actual records the OLD classifier had flagged), deriving each request id from its own committed terminal-result filename
Pulled real raw owner request text for all 6 via fetchOwnerRequestText against the live resolver DB (one-off verification run, credential never written to disk)
Replaced consequence-manifest.test.mjs's placeholder skip with 6 real fixture-backed tests — all pass with a real OPENAI_API_KEY, confirming gate: null (auto-proceed) for every one
Fixed a real pre-existing bug in request-resolution.mjs: OPENAI_API_KEY was captured into a module-level const at import time, so a test deleting the env var at runtime had no effect once the module had been imported once with a real key present — the fail-closed test only ever passed by accident