Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
8370 commits
Select commit Hold shift + click to select a range
2920a2b
perf(code-extraction): measure file parse and extract
Aug 23, 2026
befba30
revert(scripts): drop bespoke hotpath OS harness
Aug 23, 2026
8bbfb60
fix(code-extraction): make hotpath counters truthful
Aug 23, 2026
90c7de7
perf(hooks): measure spool fsync, replay, and delivery ack
Aug 23, 2026
ffe9d6a
fix(hooks): gate profiler-only spool scans
Aug 23, 2026
43b00a2
perf(graph-db): measure generation, traversal, and lock wait
Aug 23, 2026
a95a084
perf(agent-hosts): measure scheduler, scout, and host registry
Aug 23, 2026
b3f8199
perf(query): measure retrieval lanes and lexical artifacts
Aug 23, 2026
c16cbc3
perf(query): measure retrieval lanes and lexical artifacts
Aug 23, 2026
66a25a1
perf(semantic): measure model load, pool wait, and artifact cache
Aug 23, 2026
08377f4
fix(perf): eliminate feature-off profiling work
Aug 23, 2026
cfae557
perf(rusqlite-runtime): measure writer, reader, WAL, and exact-SQL
Aug 23, 2026
92989f2
perf(capture): measure source-record parse and cursor composition
Aug 23, 2026
37b6b8e
perf(private-fs): measure framed-log publish, fsync, and recovery
Aug 23, 2026
1e7af12
test(search-eval): add framed-log and cursor-parse workloads
Aug 23, 2026
35d6619
perf(http): measure admission, encode, and SDK header/body split
Aug 23, 2026
a395653
perf(code-index): measure generation and search hot paths
Aug 23, 2026
f37f87f
build(hotpath): forward capture profiling from the root crate
Aug 23, 2026
9c3e103
fix(query): remove feature-off sampling work
Aug 23, 2026
e889019
perf(sessions): measure discovery, JSONL IO, LCM, and git backfill
Aug 23, 2026
86ba8c1
fix(semantic): avoid feature-off telemetry classification
Aug 23, 2026
35e3910
perf(sessions): skip unchanged prefix walks and append snapshots
Aug 23, 2026
f5468dc
fix(http): eliminate disabled response probes
Aug 23, 2026
ffa481e
perf(runtime-core): instrument lease, memory, and git hotpaths
Aug 23, 2026
c373092
perf(global-db): add hotpath_observe gauges and measures
Aug 23, 2026
1b821a4
fix(global-db): skip history-only temporal discovery scans
Aug 23, 2026
c50b2d2
perf(application): time orchestration phases, not query-lane IO
Aug 23, 2026
64c99ff
perf(temporal-query): time candidate funnel and stage counts
Aug 23, 2026
a091dce
fix(sessions): report actual admission outcomes
Aug 23, 2026
0883060
perf(runtime-core): inline lease gauges at acquire and release
Aug 23, 2026
e45ea9a
fix(rusqlite-runtime): name encoded lock work truthfully
Aug 23, 2026
630c437
fix(runtime): derive Linux cpu_percent from process ticks
Aug 23, 2026
4d9f2fd
perf(usecases): add hotpath_observe gauges and measures
Aug 23, 2026
8dc780a
fix(daemon): retire temporal scheduler with evicted owners
Aug 23, 2026
5f3088d
perf(daemon): measure admission surfaces and publish gauges
Aug 23, 2026
0518f47
fix(global-db): remove synthetic scan telemetry
Aug 23, 2026
63ec9e6
fix(sessions): bind prefix memo to file changes
Aug 23, 2026
88b3d0e
fix(rusqlite-runtime): skip scheduled WAL sample below soft
Aug 23, 2026
06fe96c
perf(runtime): cache Linux clock tick authority
Aug 23, 2026
7ca6f98
perf(usecases): eliminate disabled profiling work
Aug 23, 2026
60faa8c
revert(scripts): remove reintroduced OS harness
Aug 23, 2026
3d77a19
fix(scripts): restore OS harness with proc tick bind
Aug 23, 2026
a748d7a
fix(dashboard-api): qualify the admission control Result
Aug 23, 2026
169e181
fix(sessions): persist sweep-complete watermark after full rotation
Aug 23, 2026
c28ab45
fix(daemon): balance scheduler hotpath gauges
Aug 23, 2026
d404b63
refactor(scripts): keep OS profiles implementation-neutral
Aug 23, 2026
0d3b98a
fix(dashboard-api): gate unused StatusCode import
Aug 23, 2026
3b139a7
fix(daemon): clear scheduler gauges on shutdown
Aug 23, 2026
ab57c7c
revert(rusqlite-runtime): keep WAL pressure authoritative
Aug 23, 2026
c12e8c5
perf(capture): measure cursor composer envelope normalize
Aug 23, 2026
7cc28d9
feat(runtime-core): publish writer telemetry snapshot
Aug 23, 2026
7771a42
revert(runtime-core): keep driver telemetry private
Aug 23, 2026
14c313d
perf(application): time workflow fan-out census derivation
Aug 23, 2026
3b7faa2
perf(api): measure remote brain HTTP admission
Aug 23, 2026
b7f47f9
perf(dashboard-api): measure query and search routes
Aug 23, 2026
c3fa927
perf(daemon): measure session-sync execute and status
Aug 23, 2026
a23fcbd
fix(code-index): stream grep lines without a full collect
Aug 23, 2026
590689d
test(code-index): lock carry-forward without re-extract
Aug 23, 2026
aa4bcb0
perf(agent-hosts): measure remaining host install boundaries
Aug 23, 2026
9227f93
perf(semantic): measure query-time embed
Aug 23, 2026
c935c21
fix(graph-db): unshadow profiler and skip idle recover hydrate
Aug 23, 2026
3d19261
perf(mcp): avoid duplicate response instrumentation
Aug 23, 2026
ea645ad
feat(store): persist observation batches in one writer txn
Aug 23, 2026
3e621ab
test(search-eval): assert hotpath-off durable identity
Aug 23, 2026
1c39c24
fix(rusqlite-runtime): stop digest full-table ORDER BY
Aug 23, 2026
9370b8d
fix(code-index): stream ast-grep lines without a full collect
Aug 23, 2026
1c24ad9
perf(daemon): measure update configuration and knowledge
Aug 23, 2026
67e3782
fix(rusqlite-runtime): bound digest fallback memory
Aug 23, 2026
da7a207
fix(global-db): preflight observation batches atomically
Aug 23, 2026
277020c
perf(agent-hosts): measure Codex bundle write and host-bundle execute
Aug 23, 2026
f7fe2ff
perf(lsp): measure gateway semantic request dispatch
Aug 23, 2026
8c8ffc4
perf(code-index): measure parse_and_extract
Aug 23, 2026
1c6ba90
perf(code-index): slice ast match lines by byte offset
Aug 23, 2026
08fe1d7
perf(hooks): keep prompt steering turn-local
Aug 23, 2026
15f3893
fix(api): box the oversized HTTP admission rejection
Aug 23, 2026
040905a
fix(hooks): enforce the total session hint cap
Aug 23, 2026
fbf0f1d
perf(application): measure commit_fact
Aug 23, 2026
68f8e36
perf(daemon): measure MCP envelope handlers
Aug 23, 2026
73f8583
perf(sessions): measure JSONL parse and persist sweep coverage
Aug 23, 2026
017ec22
feat(sessions): batch observation capture through persist_observations
Aug 23, 2026
3f161ae
perf(dashboard-api): measure similarity and leftover routes
Aug 23, 2026
1d6dcd6
perf(storage): commit observation batches atomically
Aug 23, 2026
a71e690
perf(sessions): mount atomic observation capture batches
Aug 23, 2026
501ccd2
fix(code-index): gate hotpath helpers and drop while_let_loop
Aug 23, 2026
c880203
fix(sdk): gate the error-class recorders with their callers
Aug 23, 2026
23b3801
refactor(sessions): pass one flush policy, derive the progress default
Aug 23, 2026
d2237cc
fix(sessions): preserve batch cursor authority
Aug 23, 2026
be2da37
perf(graph-db): measure remaining recover/search kernels
Aug 23, 2026
21c8bc1
refactor(external-source): isolate commit preparation
Aug 23, 2026
44e0f3a
perf(rusqlite-runtime): measure sync and begin_immediate
Aug 23, 2026
ada24af
perf(sdk): measure execute_mcp
Aug 23, 2026
332f2c7
perf(code-index): measure graph manifest and ast-grep file
Aug 23, 2026
0aba608
fix(perf): clear clippy blockers across the hotpath instrumentation
Aug 23, 2026
9a8edd8
perf(daemon): measure tool dispatch and transcript batch persist
Aug 23, 2026
b8ef440
perf(sessions): batch external source projections
Aug 23, 2026
7843998
perf(external-source): reuse prepared batch receipts
Aug 23, 2026
2d95d27
perf(daemon): measure project-open query and hook dispatch
Aug 23, 2026
80ba360
fix(sessions): retain persist outcome classification
Aug 23, 2026
3da7999
fix(dashboard-api): box the admission rejection, drop dead borrows
Aug 23, 2026
8d624f7
fix(semantic): gate fastembed hotpath recording
Aug 23, 2026
c1fb0f7
refactor(external-source): delete superseded singleton path
Aug 23, 2026
b8ca239
perf(semantic): measure embed and encode batches
Aug 23, 2026
cb64e06
perf(runtime-core): restore writer telemetry snapshot
Aug 23, 2026
76690de
perf(usecases): batch host admission persist
Aug 23, 2026
a069942
fix(dashboard-api): box the oversized admission rejection
Aug 23, 2026
11669a6
perf(dashboard-api): measure savings routes and project forward
Aug 23, 2026
6a927a8
perf(rusqlite-runtime): measure deferred and snapshot begins
Aug 23, 2026
945dc7f
perf(global-db): measure temporal execute and hydration
Aug 23, 2026
70bad7c
perf(hooks): measure admission ledger fsync
Aug 23, 2026
c34d475
perf(agent-hosts): measure remaining host install writes
Aug 23, 2026
80b1d07
perf(daemon): measure LCM retrieval and portable open
Aug 23, 2026
1c34010
perf(sessions): measure leftover ingest file and stream kernels
Aug 23, 2026
88eaa06
perf(usecases): measure batch capture and commit_fact
Aug 23, 2026
baa8d01
fix(hooks): gate the test-only codex context helper
Aug 23, 2026
4b5ce6c
style(graph-db): apply rustfmt to hotpath observe call sites
Aug 23, 2026
f96dcbd
style(api): rustfmt observe module order and boxed-rejection comment
Aug 23, 2026
d55e742
style(sessions): rustfmt hotpath module declaration order
Aug 23, 2026
64d87ff
refactor(perf): name the semantic hotpath module like its siblings
Aug 23, 2026
a786023
build(perf): drop unused hotpath flags from contract crates
Aug 23, 2026
3313413
perf(sessions): enumerate each Codex bucket once per discovery pass
Aug 23, 2026
770174b
perf(sessions): avoid redundant jsonl scan work
Aug 23, 2026
e932412
fix(cli): retrieve truncated tool responses
Aug 23, 2026
fd73e1b
test(repo): remove redundant inventory smokes
Aug 23, 2026
e013120
test(repo): trim tautological contract checks
Aug 23, 2026
0ae6c0b
test(repo): replace cardinality gates with behavior
Aug 23, 2026
69cff44
test(repo): consolidate behavioral acceptance fixtures
Aug 23, 2026
ec9780c
fix(sessions): tell a rename apart from a rewrite at revalidation
Aug 23, 2026
0267489
perf(lsp): box the widest semantic-request futures
Aug 23, 2026
7676eef
test(mcp): derive discovery checks from registries
Aug 23, 2026
f32dd8a
test(sessions): drop helpers orphaned by the fixture consolidation
Aug 23, 2026
27896ed
test(sessions): table-drive Codex golden envelopes
Aug 23, 2026
53140dd
test(cli): initialize transport fixtures as repositories
Aug 23, 2026
a065014
test(mcp): drop derived Work read cardinality
Aug 23, 2026
c27e85e
perf(rusqlite): profile the writer admission lock
Aug 23, 2026
c7f8359
docs(storage): name the profiled lock report precisely
Aug 23, 2026
2bb4161
perf: make writer cost attributable to its submitter
Aug 23, 2026
ba58e81
build(perf): enable the hotpath features this codebase can actually use
Aug 23, 2026
c6c42cd
perf(retention): skip idle generation hashing
Aug 23, 2026
7b13e5c
perf(daemon): instrument HTTP surface and long-lived tasks
Aug 23, 2026
39db95e
fix(tests): restore the missing fs import in the mcp suite
Aug 23, 2026
777d1d7
perf(runtime-core): profile the registry and snapshot locks
Aug 23, 2026
96ade5e
perf(usecases): measure outbound GitHub HTTP
Aug 23, 2026
a7f777b
perf(hooks): measure hook dispatch and capture outcomes
Aug 23, 2026
1c0e0d2
perf(graph-db): measure traversal and vector search volume
Aug 23, 2026
c886c77
perf(code-index): measure intake, reuse keys, and pool persistence
Aug 23, 2026
3527168
test: drop tests that cannot fail and ratchet the retrieval eval
Aug 23, 2026
28a0d7b
style(rusqlite): sort the hotpath_observe module declaration
Aug 23, 2026
19a1f90
perf(runtime): profile startup and telemetry phases
Aug 23, 2026
10d6c54
perf(http): profile complete application routes
Aug 23, 2026
4506339
perf(rusqlite): expose writer queue and transaction costs
Aug 23, 2026
67b67bd
refactor(profiling): name metric modules by responsibility
Aug 23, 2026
fdcb5d4
perf(sessions): expose refresh scheduler lifecycle
Aug 23, 2026
b766439
build(profiling): drop unused futures channel backend
Aug 23, 2026
651915e
ci: build the feature-gated surfaces and wire two orphaned gates
Aug 23, 2026
909ae06
docs(profiling): add a repo Hotpath operating skill
Aug 23, 2026
c5ba95f
perf(code-index): release reuse lock before rematerializing
Aug 23, 2026
10231aa
perf(extraction): separate parsing from traversal demand
Aug 23, 2026
f13ff3a
perf(http): track application dispatch lifecycle
Aug 23, 2026
fc92c2f
feat(code-index): persist worker-count intent
Aug 23, 2026
408575e
perf(automation): skip durable work for idle tasks
Aug 23, 2026
a981245
test(automation): drop tests subsumed by their integration copies
Aug 23, 2026
9809880
fix: gate two helpers to match the callers that actually use them
Aug 23, 2026
b5a61c1
perf(maintenance): preserve due deadlines and phase progress
Aug 23, 2026
afc29d0
test(maintenance): cover phase-only continuation
Aug 23, 2026
f98e3ad
test(application): drop no-op tests and two magic counts
Aug 23, 2026
1e32dbc
test(extraction): share one docstring assertion across languages
Aug 23, 2026
0282d43
test(extraction): add the shared docstring helper file
Aug 23, 2026
84e804d
docs: stop two archived plans from ordering agents to execute them
Aug 23, 2026
ce50e00
docs: archive eight records whose subjects no longer exist
Aug 23, 2026
d37aa72
docs: index the active storage plan and stamp two records
Aug 23, 2026
6f8a726
test(usecases): drop no-op trait-bound assertion tests
Aug 23, 2026
d18c58b
test(dashboard): collapse duplicate authority-unavailable tests
Aug 23, 2026
ffe625b
test(domain): drive kind round-trips from totality-checked ALL consts
Aug 23, 2026
da23ebd
test(runtime-core): table-drive the malformed-quarantine privacy cases
Aug 23, 2026
c4eeca9
test(global-db): drop dead fixture helper and duplicate idempotency test
Aug 23, 2026
40cc55b
refactor(hooks): name Cursor/Codex context budgets as consts
Aug 23, 2026
1a4cc78
test(cli): drop redundant WorkOperation count floor
Aug 23, 2026
8b0f1b7
test(mcp): assert typed fields for the dispatch-ceiling problem
Aug 23, 2026
c477324
test(output): assert typed human-view fields, not golden markdown
Aug 23, 2026
0da99c1
fix(query): repair the artifact finalization gauges
Aug 23, 2026
f3dbc6f
fix(domain): derive Default for the worker selection
Aug 23, 2026
e0243b4
test(mcp): assert typed values instead of JSON key names
Aug 23, 2026
2453e2d
test: table-drive four duplicated case groups
Aug 23, 2026
101cf72
perf(query): batch lexical artifact SQL probes
Aug 23, 2026
f8c7c48
perf(sessions): skip settled JSONL content reads
Aug 23, 2026
75b10d5
docs(dashboard): fold live graph routes in and archive legacy doc
Aug 23, 2026
e000959
test(dashboard): restore analytics-controls settings fixture
Aug 23, 2026
a8b3db4
fix(ci): refresh lockfile after dropping hotpath futures
Aug 23, 2026
017f3dc
style: wrap overlong hotpath gauge line for rustfmt
Aug 23, 2026
166d8e9
fix(dashboard): pass code_index_workers through user settings mutation
Aug 23, 2026
ba0e72a
refactor(hooks): move host behavior into agent hosts
Aug 23, 2026
92cb8ec
test(hooks): cover canonical host boundary
Aug 23, 2026
59bb46b
fix(hooks): export benchmark telemetry helpers
Aug 23, 2026
38d3e30
refactor(benchmarks): separate data from cargo benches
Aug 23, 2026
92772a1
refactor(evals): consolidate evaluation layouts
Aug 23, 2026
437e097
fix(benchmarks): restore non-path replacements
Aug 23, 2026
b53e8ec
refactor(features): centralize language tier membership
Aug 23, 2026
1c87734
test(release): compile language features in isolation
Aug 23, 2026
eaf507d
fix(clippy): allow too_many_arguments on writer process_batch
Aug 23, 2026
b7e28f9
fix(ci): clear clippy findings on writer and maintenance
Aug 23, 2026
da47af1
Merge pull request #667 from ScriptedAlchemy/codex/reconcile-benchmar…
Aug 23, 2026
3fdf341
Merge pull request #666 from ScriptedAlchemy/codex/dedupe-language-fe…
Aug 23, 2026
6214042
Merge pull request #668 from ScriptedAlchemy/codex/hooks-crate-extrac…
Aug 23, 2026
6267591
refactor(cli): extract binary workspace package
Aug 23, 2026
e96c0dd
build(release): package extracted CLI binary
Aug 23, 2026
1bf7506
fix(cli): address boundary review findings
Aug 23, 2026
869076b
fix(sdk): regenerate TS ops for code_index_worker_selection
Aug 23, 2026
434f4d4
Merge pull request #669 from ScriptedAlchemy/codex/extract-tracedecay…
Aug 24, 2026
64dbb4b
perf(observation): batch admission and preparation
Aug 24, 2026
f1327d5
refactor(maintenance): simplify generation outcome state
Aug 24, 2026
399b84f
fix(build): restore APIs the extraction merges made private
Aug 24, 2026
f0b16f3
perf(ledger): prune superseded idempotency records
Aug 24, 2026
cff4821
perf(lcm): batch per-row GC and delete-recovery SQL
Aug 24, 2026
c464b3f
perf(store): batch per-row session and curation reads
Aug 24, 2026
82dffe9
perf(temporal): bound projection refresh work
Aug 24, 2026
d186a6a
fix(runtime-core): commit the missing background CPU module
Aug 24, 2026
d8a97e6
fix(extraction): normalize anonymous test suite titles
Aug 24, 2026
5659408
perf(sessions): share bounded transcript preparation
Aug 24, 2026
ed7dc92
feat(config): persist profile worker selection
Aug 24, 2026
a404fde
feat(dashboard): manage profile worker selection
Aug 24, 2026
61b1206
fix(checkpoint): honor configured WAL budget
Aug 24, 2026
d4b62cb
perf(connection): bound retained WAL files
Aug 24, 2026
8bb12ad
perf(exact-sql): separate dispatch and lock timing
Aug 24, 2026
11906c0
perf(writer): coalesce compatible queued writes
Aug 24, 2026
fb810b1
test(hooks): exercise the production route parser
Aug 24, 2026
0662ff8
test(global-db): cover parse offset pair CAS
Aug 24, 2026
96564b7
perf(runtime): coordinate background worker resources
Aug 24, 2026
78ca173
test(writer): pin scan-sized batch coalescing
Aug 24, 2026
6f1a568
perf(hotpath): trace every CLI and MCP dispatch
Aug 24, 2026
405d3c7
Merge pull request #663 from ScriptedAlchemy/cursor/simplify-pr421-ho…
Aug 24, 2026
c0f4145
docs(memory): describe the current retrieval and trust model
Aug 24, 2026
cd0013d
chore(perf): add tokio worker balance profiler
Aug 24, 2026
09c0598
docs(perf): record the async-pool in-poll breach
Aug 24, 2026
08adf01
perf(store): batch graph replay dependency reads
Aug 24, 2026
07a0347
fix(store): cap dependency batch to the exact-SQL row budget
Aug 24, 2026
f55a1d6
perf(ledger): store commit sequence, not the receipt
Aug 24, 2026
461b16c
fix(cli): accept -p/--path on init like other commands
Aug 24, 2026
aba1ad7
perf(semantic): reserve per-session bytes, not process budget
Aug 24, 2026
5f1c70b
Revert "perf(ledger): store commit sequence, not the receipt"
Aug 24, 2026
0fc6943
test(dashboard): sweep graph payloads across every project
Aug 24, 2026
c662d39
perf(mcp): cache the static tools/list catalog
Aug 24, 2026
520df8b
test(daemon): pin connection panic isolation
Aug 24, 2026
69fa14a
fix(cli): wire the explicit init path flag
Aug 24, 2026
98532a2
fix(hotpath): compile projectless tool identity
Aug 24, 2026
774f778
style(cli): format init path parsing
Aug 24, 2026
84df647
fix(ledger): scope pruning to validated incarnation
Aug 24, 2026
7b19478
perf(graph): reuse the activated seal decode
Aug 24, 2026
188ea35
docs(plan): reconcile plan 40 stage state
Aug 24, 2026
923c952
style(graph): format seal decode reuse
Aug 24, 2026
d4c67d4
perf(lcm): batch expansion and bound grep fallback work
Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
29 changes: 25 additions & 4 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,33 @@ TRACEDECAY_DISABLE_GLOBAL_DB = { value = "1", force = false }
# in-process. Installed binaries run outside cargo and are unaffected, but the
# profile does apply to `cargo run` — use the installed binary (or set
# TRACEDECAY_DATA_DIR yourself) for real `daemon install-service` runs.
# Enforced by tests/test_profile_isolation_test.rs.
# Enforced by crates/tracedecay-cli/tests/core_cli_suite/test_profile_isolation_test.rs.
TRACEDECAY_DATA_DIR = { value = "target/test-profile/.tracedecay", force = false, relative = true }

# Cheaper Linux debuginfo handling, scoped to the gnu triples so Windows
# (MSVC supports only packed split-debuginfo) and macOS (already defaults to
# unpacked) keep their platform defaults. `split-debuginfo=unpacked` leaves
# debuginfo in the object files instead of linking it into every binary; it
# is linker-agnostic and a no-op for profiles that build without debuginfo.
# Deliberately no linker flags here: rustc already links
# x86_64-unknown-linux-gnu with its bundled rust-lld, CI symlinks ld -> mold
# (see .github/actions/setup-linux-mold; `-fuse-ld=mold` needs GCC >= 12),
# and driver-only flags such as `-B` would land on the raw linker command
# line — and fail — for anyone who sets `target.<triple>.linker` or
# CARGO_TARGET_<TRIPLE>_LINKER to a linker executable directly. Developers
# who want mold locally opt in through their own linker config or RUSTFLAGS
# (a user-set RUSTFLAGS env var replaces these flags entirely).
[target.x86_64-unknown-linux-gnu]
rustflags = ["-C", "split-debuginfo=unpacked"]

[target.aarch64-unknown-linux-gnu]
rustflags = ["-C", "split-debuginfo=unpacked"]

[alias]
# Local default for the full Rust test suite. Requires cargo-nextest:
# https://nexte.st/docs/installation/pre-built-binaries/
test-all = "nextest run --workspace --no-fail-fast"
test-ci = "nextest run --workspace --no-fail-fast"
dogfood = "run --quiet --release --bin tracedecay -- dogfood"
# The perf cargo profile keeps the critical-path kernels (code index, graph,
# sha2, …) optimized for the generation-scale suites in the full run; see
# [profile.perf] in the root Cargo.toml.
test-all = "nextest run --workspace --all-features --no-fail-fast --cargo-profile perf"
test-ci = "nextest run --workspace --all-features --no-fail-fast --cargo-profile perf"
5 changes: 0 additions & 5 deletions .changeset/derived-branch-corruption-recovery.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/hermes-projectless-routing.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/personal-codex-plugin.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/runtime-routing-ci-hardening.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/session-catchup-hook-trust.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/session-worktree-discovery.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/user-message-search-scope.md

This file was deleted.

5 changes: 5 additions & 0 deletions .changeset/v2-foundation-crates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"tracedecay": patch
---

Land the stacked V2 foundation: ten workspace crates (api, application, host-integration, hooks, policy, private-fs, rusqlite-runtime, store, temporal-query, tool-catalog) and the V2 domain contracts, with protobuf node kinds now unconditional graph vocabulary. Hook spool roots are refused unless private to the current owner (and gain a private ACL on Windows), and Windows lock contention in the hook admission ledger and storage sidecar locks is typed as busy/contended instead of surfacing as I/O errors.
5 changes: 0 additions & 5 deletions .changeset/windows-lifecycle-handoff.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/worktree-store-resolution.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"files": {
"SKILL.md": "sha256:ce428b37c4067c28a8bfa803e31e5647f023aa6996be5997e065b6e9d75c1ebb"
"SKILL.md": "sha256:72250a902f26620d2bb6c5aea1a1ae198aba382f061ae365d58cea71416d3d78"
},
"managed_by": "tracedecay-automation",
"package_hash": "sha256:070f5045d0af6f415c30166b75ecc0b3f4b2c9aaf61a23eaf8bb42a6900a390e",
"package_hash": "sha256:62c256a24e756b8b9270ed092477e24daa7d80aa721328de3d7749b8c232aa9d",
"skill_id": "automation-run-review"
}
21 changes: 18 additions & 3 deletions .claude/skills/automation-run-review/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,25 @@
---
name: automation-run-review
description: "Use when Review self-improvement automation runs and activation policy."
description: "Use when reviewing self-improvement automation run status, validation evidence, automatic skill activation, or memory-curation outcomes."
managed-by: tracedecay-automation
skill-id: "automation-run-review"
content-hash: sha256:070f5045d0af6f415c30166b75ecc0b3f4b2c9aaf61a23eaf8bb42a6900a390e
content-hash: sha256:62c256a24e756b8b9270ed092477e24daa7d80aa721328de3d7749b8c232aa9d
skill-version: 1783629450
---

Check the run ledger, activation policy, and approval state before applying changes.
# Automation run review

Review automation without mutating it:

1. Use `tracedecay_automation_run_list` to find the exact run id.
2. Use `tracedecay_automation_run_view` to inspect terminal status, counts,
validation report, effects, and advertised artifact kinds.
3. Use `tracedecay_automation_run_artifact_view` only for an artifact kind
advertised by that run; verify the returned hash-backed payload against the
terminal record.
4. For skill-writer runs, verify automatic validation, activation, and
materialization against `tracedecay_skill_list` and
`tracedecay_skill_view`. For memory-curator runs, verify committed effects
with read-only fact queries.
5. Report failures after committed effects as reconciliation work. Never rerun
blindly or manufacture a manual settlement step.
52 changes: 0 additions & 52 deletions .claude/skills/dogfooding-tracedecay/SKILL.md

This file was deleted.

4 changes: 2 additions & 2 deletions .claude/skills/evaluating-hook-hints/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Use this skill for TraceDecay repo development only. These are repo-local dev in

## Workflow

1. Start with TraceDecay context for `src/hooks/tool_hints.rs`, `src/hooks/tool_hints/classifiers.rs`, `src/hooks/tool_hints/evals.rs`, host adapters in `src/hooks/{codex,claude,cursor}.rs`, and recent transcript evidence.
1. Start with TraceDecay context for `src/hooks/tool_hints.rs`, `src/hooks/tool_hints/classifiers.rs`, the `src/hooks/tool_hints/evals/` module (`mod.rs` plus `host_cases.rs`), host adapters in `src/hooks/{codex,claude,cursor}.rs`, and recent transcript evidence.
2. Render model-visible hook input when judging verbosity:
`scripts/render-codex-hook-inputs.py --glob '/home/zack/.codex/sessions/**/*.jsonl' --all --limit 5 --max-chars 800`.
3. Run deterministic evals before behavior edits:
Expand All @@ -22,7 +22,7 @@ Use this skill for TraceDecay repo development only. These are repo-local dev in
## Acceptance Rules

- Hints should be contextual and short; avoid generic TraceDecay availability boilerplate.
- Real-world transcript cases and synthetic cases should both be represented in `src/hooks/tool_hints/evals.rs`.
- Real-world transcript cases and synthetic cases should both be represented in `src/hooks/tool_hints/evals/` (`host_cases.rs` holds the per-host scenarios). The module is `#[cfg(test)]`, so it only compiles under a test profile.
- A normal user prompt should not be wrapped into a noisy `UserPromptSubmit hook (completed)` model-visible user message.
- No hint is a valid outcome when the request does not need TraceDecay guidance.
- Repeated native behavior should get at most one initial hint plus one later escalation per category, bounded by the session budget.
Expand Down
49 changes: 31 additions & 18 deletions .claude/skills/inspecting-automation-cycles/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: inspecting-automation-cycles
description: 'TraceDecay Dev: Use when auditing TraceDecay automation loops, skipped runs, memory-curator/session-reflector/skill-writer output, apply policy, or run artifacts.'
description: 'TraceDecay Dev: Use when auditing TraceDecay automation loops, skipped runs, memory-curator/session-reflector/skill-writer output, terminal receipts, or run artifacts.'
---

# TraceDecay Dev: Inspecting Automation Cycles
Expand All @@ -12,16 +12,28 @@ analytics prove whether generated output was adopted.
## Workflow

1. Start with `tracedecay automation config get` to identify enabled tasks,
schedules, locks, profile paths, and apply policy.
2. List recent runs with `tracedecay automation runs list --limit 100`; group
schedules, locks, and profile paths.
2. When the operator requests an immediate memory-curation cycle, use the sole
public semantic launcher, `fact_store_curate`, through its MCP adapter
`tracedecay_fact_store_curate`, generic CLI adapter `tracedecay tool
fact_store_curate`, or HTTP adapter `POST
/api/application/retained/fact_store_curate`. Its request accepts only the
optional `fact_review_limit` and `min_confidence_millionths` bounds. Each
adapter invokes the same daemon-owned operation; the daemon derives run
identity, task selection, operations, validation, policy, and effect
settlement.
3. List recent runs with `tracedecay automation runs list --limit 100`; group
by task and status before opening individual artifacts.
3. For failures or suspicious skips, open the relevant artifact with
`tracedecay_automation_run_artifact_view` or
`tracedecay tool automation_run_artifact_view --args ...`.
4. Inspect model-managed memory outcomes plus configured managed-skill review
queues: `tracedecay automation facts list`, dashboard telemetry, and
`tracedecay_skill_list --state pending`.
5. Check adoption evidence: `tracedecay analytics diagnostics --all --no-sync`,
4. Inspect one exact run with `tracedecay automation runs view <run_id>`.
Read its verified artifacts with
`tracedecay automation runs artifact <run_id> <kind> --json`,
`GET /api/automation/runs/<run_id>/artifacts/<kind>`, or the read-only MCP
tool `tracedecay_automation_run_artifact_view`. MCP automation analytics
summarizes run history; exact MCP run list/view is not currently exposed.
5. Inspect terminal memory outcomes plus active managed-skill adoption:
`tracedecay automation facts list`, dashboard telemetry, and
`tracedecay_skill_list --state active`.
6. Check adoption evidence: `tracedecay analytics diagnostics --all --no-sync`,
`tracedecay sessions search "mcp__tracedecay" --provider all`, and managed
skill usage counts.

Expand All @@ -32,15 +44,16 @@ analytics prove whether generated output was adopted.
| `scheduler_interval_not_elapsed` | Healthy throttling | Count only, do not fix. |
| `scheduler_lock_active` | Another run owns the loop | Check age before calling stale. |
| `no_new_session_activity` | Nothing new to process | Verify transcript ingest if surprising. |
| `validation_gate` artifact | Mutation passed validation | Inspect apply-policy state or dashboard artifact. |
| Many fact proposal records | Inspect validation/apply telemetry | Use `tracedecay:project-memory`. |
| `validation_gate` artifact | Mutation passed validation | Inspect terminal automatic application/deployment receipts. |
| Many automatic fact receipts | Inspect applied/quarantined outcomes and telemetry | Use `tracedecay automation facts list`. |
| Active managed skills with zero use | Adoption telemetry gap | Use `tracedecay:diagnosing-analytics`. |

## Guardrails

- Prefer read-only inspection. Do not mutate fact records.
- Do not approve, reject, delete, or apply managed-skill drafts unless the user
explicitly asked for mutation.
- After any requested run, keep inspection read-only. Do not submit curator
operations or approve, reject, or apply its output.
- Validated memory-curator and skill-writer output settles automatically;
inspect receipts rather than waiting for a manual gate.
- Do not treat skipped runs as failures until grouped by skip reason and age.
- Avoid parallel `tracedecay_skill_view` calls against one profile while
automation may write usage ledgers. If a usage read reports a truncated JSON
Expand All @@ -50,6 +63,6 @@ analytics prove whether generated output was adopted.

## Deliverable

Report task/status counts, the exact run or artifact ids inspected, apply-policy
state, adoption gaps, and the next concrete command for any mutation the user
should choose.
Report the launcher adapter used, task/status counts, exact run or artifact ids,
terminal automatic application/deployment receipts, read-only verification,
and adoption gaps.
14 changes: 8 additions & 6 deletions .claude/skills/introspecting-tracedecay-usage/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@ failure mode, then code, tests, or bundled skills encode the fix.
`tracedecay:inspecting-managed-skills`. Start with
`tracedecay_skill_list`; view skills or run artifacts only when the list
points to a specific stale, patched, failed, or unused item.
4. **Durable memory:** Use `tracedecay:project-memory`. Search with
`tracedecay_fact_store` before re-deriving project decisions. For curation,
run read-only inventory and dry-runs first; never remove facts without
explicit approval.
4. **Durable memory:** Use `tracedecay:project-memory`. Recall prior decisions
with `tracedecay_fact_store_search`; record durable decisions and corrections
with `tracedecay_fact_store_add`. Delegate broad curation to
`tracedecay:project-memory` and inspect its automatic validation and
application receipts.
5. **Code-health and implementation target:** Use `tracedecay:code-health`.
Let weak dimensions and hotspots decide whether the fix is code, tests,
docs, evals, or skill guidance.
Expand All @@ -38,8 +39,9 @@ failure mode, then code, tests, or bundled skills encode the fix.
or add a bundled operator skill that prevents the repeated mistake.
- LCM depth and compression ratios are health signals, not direct quality
scores. Use raw/session recall to confirm what agents actually missed.
- Memory curation candidates are proposals, not permission. Prefer merge or
update when provenance matters; deletion needs fresh user approval.
- Memory curation is automation-owned after validation. Inspect validation and
applied operation receipts; use `tracedecay:project-memory` for any direct
operator override.
- Analytics fields can be global. `project_id: null` means the run was global,
not broken.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,26 +22,39 @@ PY=python3; have "$PY" || PY=python
# --- Resolve store paths from TraceDecay, not from hardcoded locations. -------
SS="$(tracedecay tool storage_status --args '{"format":"json"}' 2>/dev/null || true)"
if [ -z "$SS" ]; then echo "error: could not read 'tracedecay tool storage_status'" >&2; exit 4; fi
read -r SERVING_DB DATA_ROOT PROJECT_ROOT <<EOF
$(printf '%s' "$SS" | "$PY" -c 'import sys,json
d=json.load(sys.stdin); s=d["active_project"]["storage"]
print(s["graph_db_path"], s["data_root"], d["active_project"]["project_root"])')
if ! STORAGE_FIELDS="$(printf '%s' "$SS" | "$PY" -c 'import sys,json
d=json.load(sys.stdin)
store_path=d.get("store_path")
project_id=d.get("project_id")
if not isinstance(store_path, str) or not store_path or not isinstance(project_id, str) or not project_id:
raise SystemExit(1)
print(f"{store_path}\t{project_id}")')"; then
echo "error: storage_status is missing required store_path or project_id" >&2
exit 5
fi
IFS=$'\t' read -r SERVING_DB PROJECT_ID <<EOF
$STORAGE_FIELDS
EOF
if [ ! -f "$SERVING_DB" ]; then
echo "error: serving store does not exist: $SERVING_DB" >&2
exit 6
fi
DATA_ROOT="$(dirname "$SERVING_DB")"
TD_HOME="$(dirname "$(dirname "$DATA_ROOT")")" # .../.tracedecay/projects/<proj> -> .../.tracedecay
GLOBAL_DB="$TD_HOME/global.db"

q() { sqlite3 -noheader -separator ' ' "$1" "$2" 2>/dev/null; }

echo "================================================================"
echo " TraceDecay usage & fact-store adoption — $PROJECT_ROOT"
echo " TraceDecay usage & fact-store adoption — $PROJECT_ID"
echo "================================================================"

# --- 1. MCP tool adoption (per-tool breakdown; the CLI only groups by kind). --
echo
echo "## MCP tool calls (analytics_events)"
if [ -f "$GLOBAL_DB" ]; then
FILTER="event_kind='mcp_tool_call'"
[ "$ALL" -eq 0 ] && FILTER="$FILTER AND project_id='$PROJECT_ROOT'"
[ "$ALL" -eq 0 ] && FILTER="$FILTER AND project_id='$PROJECT_ID'"
SCOPE=$([ "$ALL" -eq 1 ] && echo "ALL PROJECTS" || echo "this project")
echo "scope: $SCOPE"
printf ' %-42s %8s %8s\n' "tool" "calls" "errors"
Expand Down
Loading