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
The workspace root is itself a package, bamts-bench (Cargo.toml:1-28, publish = false), with three explicit benchmark/evidence bins (Cargo.toml:11-21):
In addition, an untracked file src/main.rs (?? src/main.rs in git status) is a 19-line ICU calendar probe importing icu::calendar and icu::locale (src/main.rs:1-17). The root [dependencies] declare only bamts-verification and serde_json (Cargo.toml:23-25); nothing provides the icu crate. Because Cargo auto-treats src/main.rs as an implicit bin named bamts-bench, the file currently breaks any command compiling the root package's bins when present; when absent (a CI checkout) the target silently vanishes.
The decision to make is: keep, rename, split, or remove the root package; whether to declare or remove the implicit bin; and the recovery disposition of the untracked file. The research snapshot recorded different bin names (jit_benchmarks, stage_evidence, stage_regression, stage_response_guard) and explicitly warned the surface is moving.
Consumer evidence required
Every consumer of each explicit bin: workflows, Justfile recipes, runbook commands, and verification/perf ledgers that reference stage0_evidence or stage1_regression_guard outputs. The docs audit in Audit documentation rules and build surfaces #163 and the workspace research (.outline/research/workspace-boundaries.md shallow-adapter table, root package row) are the starting inventory; the ticket must positively identify each caller before any reshape.
Proof that no documented or scripted path invokes the implicit bamts-bench bin (search docs/, Justfile, .github/, npm/ for --bin bamts-bench or bare cargo run at root).
Reproduction of the manifest conflict: cargo check -p bamts-bench with the untracked file present and absent (scoped, local).
Untracked-file provenance: Audit documentation rules and build surfaces #163's resolution records src/main.rs as an unrelated, untracked root file that stays protected until an explicit boundary and recovery decision; that recovery is part of this ticket.
Unresolved boundary channels
Whether the explicit bench/evidence bins feed release-admission artifacts consumed by Define release admission lifecycle #178; if so, any root reshape must preserve their output identity.
Whether the workspace root should remain a package at all (removal changes workspace membership from 12 to 11 members and changes cargo metadata target kinds).
Whether the ICU probe is a retained need (it would become a declared, named, dev-scoped target with its own dependency) or abandoned.
No-go conditions
Do not delete src/main.rs, and do not delete or rename any explicit evidence bin, from absence-of-consumers alone; absence of local callers is not absence of consumers.
Do not "fix" the probe by adding icu dependencies to the root manifest as a silent repair; making the implicit bin compile is one possible fork outcome and must be an explicit decision.
No package/target/membership change without the decision stating its effect on the workspace guard's expected graph (crates/bamts-verification/src/workspace_guard.rs).
Observable acceptance
Written decision: root package fate (keep / rename / split / remove) and implicit-bin fate (declared target with owner / removed), each justified by the consumer inventory.
Every explicit bin has a named consumer (workflow / runbook / ledger citation) recorded in the decision, or an explicit approved removal with recovery path.
Untracked-file disposition recorded (adopted as declared target / recovered to an owner / removed with approval) per Audit documentation rules and build surfaces #163's protection rule; never silently deleted.
cargo metadata --no-deps target kinds for the root package match the decision exactly.
The decision names any required workspace-guard graph change to keep the expected graph truthful.
Question
The workspace root is itself a package,
bamts-bench(Cargo.toml:1-28,publish = false), with three explicit benchmark/evidence bins (Cargo.toml:11-21):jit_benchmarks→bench/jit_benchmarks.rsstage0_evidence→bench/stage0_evidence.rsstage1_regression_guard→bench/stage1_regression_guard.rsIn addition, an untracked file
src/main.rs(?? src/main.rsin git status) is a 19-line ICU calendar probe importingicu::calendarandicu::locale(src/main.rs:1-17). The root[dependencies]declare onlybamts-verificationandserde_json(Cargo.toml:23-25); nothing provides theicucrate. Because Cargo auto-treatssrc/main.rsas an implicit bin namedbamts-bench, the file currently breaks any command compiling the root package's bins when present; when absent (a CI checkout) the target silently vanishes.The decision to make is: keep, rename, split, or remove the root package; whether to declare or remove the implicit bin; and the recovery disposition of the untracked file. The research snapshot recorded different bin names (
jit_benchmarks,stage_evidence,stage_regression,stage_response_guard) and explicitly warned the surface is moving.Consumer evidence required
Justfilerecipes, runbook commands, and verification/perf ledgers that referencestage0_evidenceorstage1_regression_guardoutputs. The docs audit in Audit documentation rules and build surfaces #163 and the workspace research (.outline/research/workspace-boundaries.mdshallow-adapter table, root package row) are the starting inventory; the ticket must positively identify each caller before any reshape.bamts-benchbin (searchdocs/,Justfile,.github/,npm/for--bin bamts-benchor barecargo runat root).cargo check -p bamts-benchwith the untracked file present and absent (scoped, local).src/main.rsas an unrelated, untracked root file that stays protected until an explicit boundary and recovery decision; that recovery is part of this ticket.Unresolved boundary channels
cargo metadatatarget kinds).No-go conditions
src/main.rs, and do not delete or rename any explicit evidence bin, from absence-of-consumers alone; absence of local callers is not absence of consumers.icudependencies to the root manifest as a silent repair; making the implicit bin compile is one possible fork outcome and must be an explicit decision.crates/bamts-verification/src/workspace_guard.rs).Observable acceptance
cargo metadata --no-depstarget kinds for the root package match the decision exactly.Blocked by