From 3ddc12e9f3bebda55574b5abe650dbe8d392490f Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 13 Sep 2026 14:05:19 +0200 Subject: [PATCH] REC-100/REC-101: drop impossible gitlink requirement and fictitious RUST_LOG passthrough MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit deployment/idunn/recipe.toml declared required_gitlinks = ["vendor/cultcache-rs", "vendor/cultnet-rs"], but HEAD (6519289, "Consume the core stack from CultLib instead of forking it") already deleted both vendor directories and .gitmodules. Idunn's TargetDeclaration::admit() (F:/Projects/Idunn/src/ deployment.rs:1390-1399) requires the operator's bound gitlink set to match required_gitlinks exactly, so with no vendor dirs left to bind, this recipe cannot currently be admitted at all — a live deployment defect, not just dead text. required_gitlinks is #[serde(default)] (deployment.rs:26-27), so dropping the line is a valid empty declaration, not a schema violation. Also drops optional_environment = ["RUST_LOG"]: the recipe declares Idunn may forward an operator-set RUST_LOG into the child process, but src/provider_backend.rs:634 unconditionally overwrites it with .env("RUST_LOG", "warn") right before spawn. The declaration currently promises a passthrough the code never honors. Kill attempts that failed to find a live consumer of the removed lines: - git ls-tree origin/main -- vendor/: empty. No .gitmodules file exists. - git grep -n "RUST_LOG" over the whole repo: only the two lines touched here (the recipe declaration and the hardcoded overwrite). - Read F:/Projects/Idunn/src/deployment.rs to confirm both fields are optional (serde default) before cutting, per the assignment's instruction to understand Idunn's parser before touching recipe fields. Collision check: git diff --stat origin/main...codex/ghostlight-release-binding and ...codex/ghostlight-model-allowlist over deployment/idunn/recipe.toml and src/provider_backend.rs: both empty, no in-flight work touches these lines. Validated deployment/idunn/recipe.toml still parses as TOML after the edit (python tomllib load succeeded). Not touched: the RUST_LOG overwrite in provider_backend.rs itself is a behavior question (should the child honor an operator override?), not a dead-code cut, so it stays as-is per the subtraction-only mandate. REC-100, REC-101 Co-Authored-By: Claude Sonnet 5 --- deployment/idunn/recipe.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/deployment/idunn/recipe.toml b/deployment/idunn/recipe.toml index 06bcce0..f46a4b5 100644 --- a/deployment/idunn/recipe.toml +++ b/deployment/idunn/recipe.toml @@ -1,7 +1,6 @@ schema = "gamecult.idunn.target_declaration.v1" target = "codex-connector" source_stamp_environment = "CODEX_CONNECTOR_BUILD_COMMIT" -required_gitlinks = ["vendor/cultcache-rs", "vendor/cultnet-rs"] [[steps]] id = "extract-codex" @@ -85,7 +84,6 @@ required_environment = [ "GAMECULT_IDUNN_PROCESS_WRITE_LEASE", "GAMECULT_IDUNN_RUNTIME_BUNDLE", ] -optional_environment = ["RUST_LOG"] [service.health] contract = "codex-connector.runtime-health.v1"