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
Post-Phase-8 audit (issue #195 CLOSED) discovered the additivity property documented by docs/architecture/code-quality/dependency_policy.md is not actually verified by the CI gates — both pre-push and pr-fast.yml exclusively run --all-features configurations.
Running cargo check --workspace --no-default-features (which the playbook §996 explicitly mandates and which phase_8_implementation_plan.md §2 criterion implies via cargo tree -e features documentation) reveals 6 distinct warnings strict CI (-D warnings) would reject:
3 #[expect(cognitive_complexity)] → #[cfg_attr(feature = \"streamable-http\", expect(...))] (preserves the lint check when it actually triggers; no blanket allow).
Context
Post-Phase-8 audit (issue #195 CLOSED) discovered the additivity property documented by
docs/architecture/code-quality/dependency_policy.mdis not actually verified by the CI gates — both pre-push andpr-fast.ymlexclusively run--all-featuresconfigurations.Running
cargo check --workspace --no-default-features(which the playbook §996 explicitly mandates and whichphase_8_implementation_plan.md§2 criterion implies viacargo tree -e featuresdocumentation) reveals 6 distinct warnings strict CI (-D warnings) would reject:crates/uffs-mcp/src/stats.rs:90McpStats::avg_tool_latency_usstreamable-httpoffcrates/uffs-mcp/src/stats.rs:100McpStats::to_jsonstreamable-httpoffcrates/uffs-client/src/daemon_ctl.rs:186keepalive_send_blockingasyncoffcrates/uffs-mcp/src/lib.rs:230#[expect(cognitive_complexity)]streamable-httpoffcrates/uffs-mcp/src/handler/mod.rs:324#[expect(cognitive_complexity)]streamable-httpoffcrates/uffs-mcp/src/handler/mod.rs:364#[expect(cognitive_complexity)]streamable-httpoffAll 6 are root-cause feature-additivity gaps: items reachable only when feature X is on were not themselves
cfg(feature = X)-gated.Fix scope (single Phase 8e PR)
cfg/cfg_attrannotations):uffs-mcp::McpStats::{avg_tool_latency_us,to_json}→#[cfg(feature = \"streamable-http\")].uffs-client::daemon_ctl::keepalive_send_blocking→#[cfg(feature = \"async\")].#[expect(cognitive_complexity)]→#[cfg_attr(feature = \"streamable-http\", expect(...))](preserves the lint check when it actually triggers; no blanket allow).cargo check --workspace --no-default-features --all-targets --lockedto pre-push (scripts/hooks/_lint_pre_push.sh) +pr-fast.yml::sanity.trait_policy.md:193TBD → chore(lints): activate 4 Phase-7 trait/generic/dispatch lints (Phase 7f, refs #287) #291;dependency_policy.md§2 (new gate) + §10 (decisions-log row for 8e).Rule-1 adherence
Zero
#[allow]/ blanket#[expect]added. All 6 sites get the minimum-correct#[cfg]annotation that expresses the actual reachability.Companion to: #195 (Phase 8 closeout).