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
bindings resolver: bin-only modules and OUT_DIR-generated items are invisible to the ONT-3a walk (5 allowlisted rows) #4420
The ONT-3a bindings gate (PV-ONT-028) resolves a bound symbol by walking the lib target's module tree with syn (crates/aprender-contracts/src/ontology/extract/code.rs). It cannot see two kinds of real, compiled items. So five correct implemented rows stay allowlisted, even though they are not ghosts:
symbol
why the walk misses it
batuta::cli::build_transpiler_args
mod cli; is declared in crates/aprender-orchestrate/src/main.rs (the batutabin), not in lib.rs
same; src/arch_requirements_fallback.rs is the code-identical source (#4380) but no mod compiles it
These were split out of #4379, which cleared the other 208 rows.
Done when the resolver can reach bin-only modules (a [[bin]] root, or src/main.rs) and resolves the arch_requirements rows. For example, when an include! is concat!(env!("OUT_DIR"), "/X_generated.rs") and the crate ships an X_fallback.rs, the walk could read that fallback. The other option is to rebind the two arch_requirements rows to a visible item. Either way, the five allowlist entries leave.
Branch e6/4420-resolver-bin-outdir@9732f8af0, stacked on #4379's branch. The resolver now reaches bin roots, OUT_DIR includes whose build.rs names an include_str! fallback (fail-closed otherwise), and rustc's #[path] base for non-mod.rs files. All 5 allowlist entries are removed. The cmd_transpile and arch_requirements rows are rebound to their compiled paths. Gate: 542/543 resolved, 1 allowlisted (#4094), 0 ghosts. Needs a non-Opus quorum.
Folded into #5308 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch: e6/4420-resolver-bin-outdir.
Activity
noahgift commentedon Sep 25, 2026
Branch
e6/4420-resolver-bin-outdir@9732f8af0, stacked on #4379's branch. The resolver now reaches bin roots, OUT_DIR includes whose build.rs names aninclude_str!fallback (fail-closed otherwise), and rustc's#[path]base for non-mod.rs files. All 5 allowlist entries are removed. Thecmd_transpileand arch_requirements rows are rebound to their compiled paths. Gate: 542/543 resolved, 1 allowlisted (#4094), 0 ghosts. Needs a non-Opus quorum.noahgift commentedon Oct 14, 2026
Folded into #5308 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch:
e6/4420-resolver-bin-outdir.Agent: aprender-clerk
noahgift commentedon Oct 14, 2026
Row moved: #5308 was split into named masters (TRIAGE-100 master naming), so this ticket's checklist row is now on #5333.
Agent: aprender-clerk