From 830e0900c17388da7ecb5aed8c57c74cb3280a4a Mon Sep 17 00:00:00 2001 From: "zackary.l.jackson" Date: Sun, 4 Oct 2026 20:16:37 +0000 Subject: [PATCH 1/4] build(profile): compile non-kernel workspace crates at dev opt-level 0 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- Cargo.toml | 253 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 253 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 12f2788421..5c43e29c7c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -218,3 +218,256 @@ opt-level = 3 # pinned to the PR head commit, until the fix lands upstream. [patch.crates-io] tree-sitter-rust = { git = "https://github.com/vanessa-rodrigues/tree-sitter-rust", rev = "877df9f82f320243ab23929589a940208faa9d15" } + +# Dev opt-level 0 for workspace glue crates (every tracedecay-* crate that is +# not a profile.perf kernel below). A `cargo build -p tracedecay-cli --timings` +# audit on 8 cores found the wall-time critical path is a serial chain of +# workspace crates whose cost is ~85% LLVM codegen at dev opt-level 1: +# rusqlite-runtime (96s codegen), tracedecay (69s), daemon-service (49s), +# mcp (35s), application (142s, off-path but fan-out). Compiling dispatch, +# DTO, and plumbing crates unoptimized cut a cold build from 461s to 345s +# wall (-25%) and workspace CPU by ~45% (measured). The perf-pinned kernels +# (code-index, rusqlite-runtime, store, grafeo-*, ...) keep dev opt-level 1 so +# local tests keep optimized engine code; the perf mirror pins preserve every +# crate's previous perf level since `perf` inherits dev overrides. + +[profile.dev.package.tracedecay] +opt-level = 0 + +[profile.perf.package.tracedecay] +opt-level = 1 + +[profile.dev.package.tracedecay-agent-hosts] +opt-level = 0 + +[profile.perf.package.tracedecay-agent-hosts] +opt-level = 1 + +[profile.dev.package.tracedecay-api] +opt-level = 0 + +[profile.perf.package.tracedecay-api] +opt-level = 1 + +[profile.dev.package.tracedecay-application] +opt-level = 0 + +[profile.perf.package.tracedecay-application] +opt-level = 1 + +[profile.dev.package.tracedecay-automation] +opt-level = 0 + +[profile.perf.package.tracedecay-automation] +opt-level = 1 + +[profile.dev.package.tracedecay-automation-runtime] +opt-level = 0 + +[profile.perf.package.tracedecay-automation-runtime] +opt-level = 1 + +[profile.dev.package.tracedecay-capture] +opt-level = 0 + +[profile.perf.package.tracedecay-capture] +opt-level = 1 + +[profile.dev.package.tracedecay-cli] +opt-level = 0 + +[profile.perf.package.tracedecay-cli] +opt-level = 1 + +[profile.dev.package.tracedecay-code-index-retention] +opt-level = 0 + +[profile.perf.package.tracedecay-code-index-retention] +opt-level = 1 + +[profile.dev.package.tracedecay-configuration] +opt-level = 0 + +[profile.perf.package.tracedecay-configuration] +opt-level = 1 + +[profile.dev.package.tracedecay-daemon-control] +opt-level = 0 + +[profile.perf.package.tracedecay-daemon-control] +opt-level = 1 + +[profile.dev.package.tracedecay-daemon-identity] +opt-level = 0 + +[profile.perf.package.tracedecay-daemon-identity] +opt-level = 1 + +[profile.dev.package.tracedecay-daemon-service] +opt-level = 0 + +[profile.perf.package.tracedecay-daemon-service] +opt-level = 1 + +[profile.dev.package.tracedecay-dashboard-api] +opt-level = 0 + +[profile.perf.package.tracedecay-dashboard-api] +opt-level = 1 + +[profile.dev.package.tracedecay-framing] +opt-level = 0 + +[profile.perf.package.tracedecay-framing] +opt-level = 1 + +[profile.dev.package.tracedecay-global-db] +opt-level = 0 + +[profile.perf.package.tracedecay-global-db] +opt-level = 1 + +[profile.dev.package.tracedecay-graph-query] +opt-level = 0 + +[profile.perf.package.tracedecay-graph-query] +opt-level = 1 + +[profile.dev.package.tracedecay-hooks] +opt-level = 0 + +[profile.perf.package.tracedecay-hooks] +opt-level = 1 + +[profile.dev.package.tracedecay-host-admission] +opt-level = 0 + +[profile.perf.package.tracedecay-host-admission] +opt-level = 1 + +[profile.dev.package.tracedecay-host-integration] +opt-level = 0 + +[profile.perf.package.tracedecay-host-integration] +opt-level = 1 + +[profile.dev.package.tracedecay-lcm] +opt-level = 0 + +[profile.perf.package.tracedecay-lcm] +opt-level = 1 + +[profile.dev.package.tracedecay-lsp] +opt-level = 0 + +[profile.perf.package.tracedecay-lsp] +opt-level = 1 + +[profile.dev.package.tracedecay-maintenance] +opt-level = 0 + +[profile.perf.package.tracedecay-maintenance] +opt-level = 1 + +[profile.dev.package.tracedecay-mcp] +opt-level = 0 + +[profile.perf.package.tracedecay-mcp] +opt-level = 1 + +[profile.dev.package.tracedecay-mcp-catalog] +opt-level = 0 + +[profile.perf.package.tracedecay-mcp-catalog] +opt-level = 1 + +[profile.dev.package.tracedecay-policy] +opt-level = 0 + +[profile.perf.package.tracedecay-policy] +opt-level = 1 + +[profile.dev.package.tracedecay-privacy] +opt-level = 0 + +[profile.perf.package.tracedecay-privacy] +opt-level = 1 + +[profile.dev.package.tracedecay-private-fs] +opt-level = 0 + +[profile.perf.package.tracedecay-private-fs] +opt-level = 1 + +[profile.dev.package.tracedecay-project] +opt-level = 0 + +[profile.perf.package.tracedecay-project] +opt-level = 1 + +[profile.dev.package.tracedecay-query] +opt-level = 0 + +[profile.perf.package.tracedecay-query] +opt-level = 1 + +[profile.dev.package.tracedecay-sdk] +opt-level = 0 + +[profile.perf.package.tracedecay-sdk] +opt-level = 1 + +[profile.dev.package.tracedecay-search-eval] +opt-level = 0 + +[profile.perf.package.tracedecay-search-eval] +opt-level = 1 + +[profile.dev.package.tracedecay-session-memory] +opt-level = 0 + +[profile.perf.package.tracedecay-session-memory] +opt-level = 1 + +[profile.dev.package.tracedecay-session-runtime] +opt-level = 0 + +[profile.perf.package.tracedecay-session-runtime] +opt-level = 1 + +[profile.dev.package.tracedecay-session-temporal-store] +opt-level = 0 + +[profile.perf.package.tracedecay-session-temporal-store] +opt-level = 1 + +[profile.dev.package.tracedecay-sessions] +opt-level = 0 + +[profile.perf.package.tracedecay-sessions] +opt-level = 1 + +[profile.dev.package.tracedecay-source-edit] +opt-level = 0 + +[profile.perf.package.tracedecay-source-edit] +opt-level = 1 + +[profile.dev.package.tracedecay-store-runtime] +opt-level = 0 + +[profile.perf.package.tracedecay-store-runtime] +opt-level = 1 + +[profile.dev.package.tracedecay-temporal-query] +opt-level = 0 + +[profile.perf.package.tracedecay-temporal-query] +opt-level = 1 + +[profile.dev.package.tracedecay-tool-catalog] +opt-level = 0 + +[profile.perf.package.tracedecay-tool-catalog] +opt-level = 1 + From 0e59eb25328f71d9d17c436575c00061bbc88e41 Mon Sep 17 00:00:00 2001 From: "zackary.l.jackson" Date: Mon, 5 Oct 2026 05:36:49 +0000 Subject: [PATCH 2/4] test(index): refresh census digest for format revision 21 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../code_index_suite/production_orchestration.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/crates/tracedecay-code-index/tests/code_index_suite/production_orchestration.rs b/crates/tracedecay-code-index/tests/code_index_suite/production_orchestration.rs index e2612b6792..1a5cf9d3da 100644 --- a/crates/tracedecay-code-index/tests/code_index_suite/production_orchestration.rs +++ b/crates/tracedecay-code-index/tests/code_index_suite/production_orchestration.rs @@ -3111,15 +3111,15 @@ fn partitioned_codec_fixture() -> ( } const PARTITIONED_FORMAT_STATE_DIGEST: &str = - "sha256:ca971dd9b11abf99ed277e3f7808e23ec2a7b79dd38f431d81ed907ada6d6c21"; + "sha256:ab12b9eca3975dd7324ff093905fda1bfe7ee2a92dc9646e817b8052e9602faf"; const PARTITIONED_FORMAT_SEGMENTS: &[(&str, u64)] = &[ ( - "sha256:8e9ad377067c5f3b8f967a8b6e0ebe75c061683b6a33e83502b7a324373fec72", - 1_732, + "sha256:3b7947038f6d94ea076ac2cc89403bc3fe58cae074552c7096dc4d99eacebe5a", + 1_737, ), ( - "sha256:7c35a2c0b0dda1c2eb2f7f1e774a3e6eec5b31a0a9b473d28fa4ff60407e5205", - 1_261, + "sha256:5a85600a39a6eda3a6a214c1461f5f87821cd5d7f86849217d98d127197357e9", + 1_298, ), ( "sha256:72ba1636f87140dea312d95e797b5257ee1834eeca3c86a62b1bd1ba48548fed", @@ -3150,8 +3150,8 @@ const PARTITIONED_FORMAT_SEGMENTS: &[(&str, u64)] = &[ 1_075, ), ( - "sha256:209c0686cb2ca402c068a08b8fba0fc9d445d224d6bb7c4dddc78447e282f171", - 1_311, + "sha256:7cbe00299daee294c3562cc24d10ec0b1b4a24e3b5bb4140711bd5822e952cd7", + 1_354, ), ( "sha256:808085bc4aeb5167f643382c4c493d1853848941967d2efeb08646e2f009c912", From 5a7dd829e432554bd48e9f5981aa6a3fee3adc03 Mon Sep 17 00:00:00 2001 From: "zackary.l.jackson" Date: Mon, 5 Oct 2026 05:47:16 +0000 Subject: [PATCH 3/4] style(agent-hosts): inline context-scout outcome guards Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../src/agents/context_scout/owner.rs | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/crates/tracedecay-agent-hosts/src/agents/context_scout/owner.rs b/crates/tracedecay-agent-hosts/src/agents/context_scout/owner.rs index e06de7ab96..7cd16aea08 100644 --- a/crates/tracedecay-agent-hosts/src/agents/context_scout/owner.rs +++ b/crates/tracedecay-agent-hosts/src/agents/context_scout/owner.rs @@ -1012,26 +1012,20 @@ impl ProjectContextScoutOwnerV1 { let retired = match (&mutation, &receipt.result) { ( ContextScoutPublicMutationV1::Cancel { work }, - ContextScoutMutationResultV1::Cancel(outcome), - ) if matches!( - outcome, - ContextScoutDurableStoreOutcomeV1::Stored - | ContextScoutDurableStoreOutcomeV1::Duplicate - ) => - { - Some((*work, None)) - } + ContextScoutMutationResultV1::Cancel( + ContextScoutDurableStoreOutcomeV1::Stored + | ContextScoutDurableStoreOutcomeV1::Duplicate, + ), + ) => Some((*work, None)), ( ContextScoutPublicMutationV1::Delivery { work, .. }, - ContextScoutMutationResultV1::Delivery { outcome, receipt }, - ) if matches!( - outcome, - ContextScoutDurableStoreOutcomeV1::Stored - | ContextScoutDurableStoreOutcomeV1::Duplicate - ) => - { - Some((*work, Some(receipt.outcome))) - } + ContextScoutMutationResultV1::Delivery { + outcome: + ContextScoutDurableStoreOutcomeV1::Stored + | ContextScoutDurableStoreOutcomeV1::Duplicate, + receipt, + }, + ) => Some((*work, Some(receipt.outcome))), _ => None, }; if let Some((work, delivery)) = retired From 49c1344f8680feef872d1aeef1e33869ff47ce8e Mon Sep 17 00:00:00 2001 From: ScriptedAlchemy Date: Sun, 4 Oct 2026 23:59:59 -0700 Subject: [PATCH 4/4] style(build): remove trailing manifest blank line --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 5c43e29c7c..33c50902c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -470,4 +470,3 @@ opt-level = 0 [profile.perf.package.tracedecay-tool-catalog] opt-level = 1 -