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
Program: ENG2 — GoudEngine v2 Rebuild (see the pinned master tracking issue)
Phase / Milestone: Phase 1 — SDK Single Source of Truth (eng2-p1-sdk-truth)
Batch / Group: Batch 1.3 — SDK reality & release cost / Group E
Runbook spec:docs/src/runbook/phases/phase-1.md (committed with the roadmap)
Summary
Burn down dependency health debt: fold in #704's security dependency updates, reduce the ignored-RUSTSEC-advisory list in deny.toml from 8 entries to at most 2 (each with a written justification), and deduplicate duplicate crate versions across the workspace.
Architecture Context
Layer: Cross-cutting (workspace Cargo.toml/Cargo.lock/deny.toml) — not a single architectural layer; touches dependency graph health across all layers. Modules/types touched:
deny.toml — currently ignores 8 RUSTSEC advisories, including one involving anyhow UB; reduce to ≤ 2, each justified inline.
Workspace Cargo.toml/Cargo.lock — resolve duplicate crate versions (multiple versions of the same crate pulled transitively) where feasible.
No suppression pragma without an inline justification: an unexplained #[allow(..)]/ignored advisory is treated as a defect (.agents/rules/documentation-standards.md). Each remaining deny.toml ignore entry must carry a comment explaining why it's currently unavoidable.
Do not silently bump a dependency in a way that changes engine behavior across a layer boundary — if a security-driven bump changes an API surface (e.g. a crate used inside libs/graphics/backend/), verify the boundary rules in .agents/rules/graphics-patterns.md/ffi-patterns.md still hold post-bump.
Pattern to follow: the existing cgmath advisory-ignore precedent (git log shows "chore(deps): ignore new cgmath advisories (#704)") — every ignore entry should look like that: a specific, dated, justified line, not a blanket ignore.
Scope
Review 🚨 Security vulnerabilities found in Rust dependencies #704's current state (open PR, merged partial work, or still-open issue) and fold its remaining security dependency updates into this issue rather than duplicating already-completed work.
Audit all 8 currently-ignored RUSTSEC advisories in deny.toml; for each, determine: (a) can it be resolved by a version bump now, (b) is it transitively unavoidable and needs a justified long-term ignore, or (c) is the flagged crate itself removable (e.g. cgmath, tracked separately in ENG2-P8-08, so may already be trending toward removal — do not duplicate that migration here, just note the advisory's disposition).
Resolve as many advisories as possible via version bumps; reduce the ignore list to ≤ 2 entries, each with an inline comment justification.
Identify and deduplicate duplicate crate versions in the workspace (cargo tree --duplicates or equivalent) where a straightforward version alignment is possible without breaking builds.
Tests: cargo deny check (or equivalent) passes with the reduced ignore list; full workspace build/test suite green after dependency bumps.
Docs/rules updates: none expected beyond the inline deny.toml justification comments themselves — this issue's "docs" output IS those comments.
Acceptance Criteria
RUSTSEC ignore list in deny.toml is ≤ 2 entries, each with a written inline justification (this is the literal Phase 1 gate item).
Duplicate crate versions are reduced where a safe alignment exists (document any that remain duplicated for a valid reason, e.g. major-version-incompatible transitive deps).
None expected — dependency version bumps should be internal unless a bump forces a semver-breaking API change in engine code that consumes the bumped crate. If any such forced change occurs, name it here explicitly and file the throne_ge follow-up; default assumption is None — internal dependency hygiene.
Blocked By
None.
Files Likely Touched
Modified:deny.toml, workspace Cargo.toml, Cargo.lock, and any source files whose code must adapt to a bumped dependency's API changes
Agent Notes
8 ignored RUSTSEC advisories exist in deny.toml today, including one involving anyhow UB (roadmap-inputs.md W7 / design-technical.md P1-10) — this is a real security-posture gap, not cosmetic.
Recent commit history already shows movement in this area: 8e58d857 Merge pull request #705 from aram-devdocs/overhaul/gate-cleanup-perf-groundwork and 42562f1a chore(deps): ignore new cgmath advisories (#704) — check what 🚨 Security vulnerabilities found in Rust dependencies #704/chore: engine cleanup, canonical gate, and perf groundwork #705 actually landed before starting the audit, since some of this issue's scope may already be partially done. Do not assume the roadmap doc's "8 ignored advisories" count is still accurate; re-verify against the current deny.toml.
cgmath is separately tracked for full removal in ENG2-P8-08 (Phase 8) — if cgmath advisories are part of the 8, note their disposition here but do not attempt the full cgmath → core/math migration in this issue; that is explicitly a later, larger, differently-scoped issue.
Parent
eng2-p1-sdk-truth)docs/src/runbook/phases/phase-1.md(committed with the roadmap)Summary
Burn down dependency health debt: fold in #704's security dependency updates, reduce the ignored-RUSTSEC-advisory list in
deny.tomlfrom 8 entries to at most 2 (each with a written justification), and deduplicate duplicate crate versions across the workspace.Architecture Context
Layer: Cross-cutting (workspace
Cargo.toml/Cargo.lock/deny.toml) — not a single architectural layer; touches dependency graph health across all layers.Modules/types touched:
deny.toml— currently ignores 8 RUSTSEC advisories, including one involvinganyhowUB; reduce to ≤ 2, each justified inline.Cargo.toml/Cargo.lock— resolve duplicate crate versions (multiple versions of the same crate pulled transitively) where feasible.Boundary constraints (only those that apply):
#[allow(..)]/ignored advisory is treated as a defect (.agents/rules/documentation-standards.md). Each remainingdeny.tomlignore entry must carry a comment explaining why it's currently unavoidable.libs/graphics/backend/), verify the boundary rules in.agents/rules/graphics-patterns.md/ffi-patterns.mdstill hold post-bump.Pattern to follow: the existing
cgmathadvisory-ignore precedent (git log shows "chore(deps): ignore new cgmath advisories (#704)") — every ignore entry should look like that: a specific, dated, justified line, not a blanket ignore.Scope
deny.toml; for each, determine: (a) can it be resolved by a version bump now, (b) is it transitively unavoidable and needs a justified long-term ignore, or (c) is the flagged crate itself removable (e.g.cgmath, tracked separately in ENG2-P8-08, so may already be trending toward removal — do not duplicate that migration here, just note the advisory's disposition).cargo tree --duplicatesor equivalent) where a straightforward version alignment is possible without breaking builds.cargo deny check(or equivalent) passes with the reduced ignore list; full workspace build/test suite green after dependency bumps.deny.tomljustification comments themselves — this issue's "docs" output IS those comments.Acceptance Criteria
deny.tomlis ≤ 2 entries, each with a written inline justification (this is the literal Phase 1 gate item).cargo check && cargo fmt --all -- --check && cargo clippy -- -D warningsclean;cargo testgreen;./codegen.sh && git diff --exit-code(drift gate);cargo deny check(or repo-equivalent) green.Breaking Change & Throne Follow-up
None expected — dependency version bumps should be internal unless a bump forces a semver-breaking API change in engine code that consumes the bumped crate. If any such forced change occurs, name it here explicitly and file the throne_ge follow-up; default assumption is None — internal dependency hygiene.
Blocked By
None.
Files Likely Touched
deny.toml, workspaceCargo.toml,Cargo.lock, and any source files whose code must adapt to a bumped dependency's API changesAgent Notes
deny.tomltoday, including one involvinganyhowUB (roadmap-inputs.md W7 / design-technical.md P1-10) — this is a real security-posture gap, not cosmetic.8e58d857 Merge pull request #705 from aram-devdocs/overhaul/gate-cleanup-perf-groundworkand42562f1a chore(deps): ignore new cgmath advisories (#704)— check what 🚨 Security vulnerabilities found in Rust dependencies #704/chore: engine cleanup, canonical gate, and perf groundwork #705 actually landed before starting the audit, since some of this issue's scope may already be partially done. Do not assume the roadmap doc's "8 ignored advisories" count is still accurate; re-verify against the currentdeny.toml.cgmathis separately tracked for full removal in ENG2-P8-08 (Phase 8) — ifcgmathadvisories are part of the 8, note their disposition here but do not attempt the fullcgmath → core/mathmigration in this issue; that is explicitly a later, larger, differently-scoped issue.Verification