Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
252 changes: 252 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -218,3 +218,255 @@ 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
30 changes: 12 additions & 18 deletions crates/tracedecay-agent-hosts/src/agents/context_scout/owner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -3150,8 +3150,8 @@ const PARTITIONED_FORMAT_SEGMENTS: &[(&str, u64)] = &[
1_075,
),
(
"sha256:209c0686cb2ca402c068a08b8fba0fc9d445d224d6bb7c4dddc78447e282f171",
1_311,
"sha256:7cbe00299daee294c3562cc24d10ec0b1b4a24e3b5bb4140711bd5822e952cd7",
1_354,
),
(
"sha256:808085bc4aeb5167f643382c4c493d1853848941967d2efeb08646e2f009c912",
Expand Down
Loading