Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
7ba7239
docs(architecture): design root package relocation
ScriptedAlchemy Aug 25, 2026
a99adf0
docs(architecture): plan root package relocation
ScriptedAlchemy Aug 25, 2026
61de80d
refactor(version): move product version to workspace
ScriptedAlchemy Aug 25, 2026
993210a
refactor(jsonrpc): use canonical daemon wire types
ScriptedAlchemy Aug 25, 2026
1ee0d6c
refactor(workspace): relocate composition library
ScriptedAlchemy Aug 25, 2026
71323ce
refactor(workspace): relocate the integration test tree
ScriptedAlchemy Aug 25, 2026
5e04e30
refactor(test): move shared test support into the package
ScriptedAlchemy Aug 25, 2026
ae93e99
Merge remote-tracking branch 'origin/codex/code-index-catchup-pipelin…
ScriptedAlchemy Aug 25, 2026
f9232b5
fix(index): adopt the accepted-prefix batch callback
ScriptedAlchemy Aug 25, 2026
a60403b
build(distribution): point package checks at the relocated manifest
ScriptedAlchemy Aug 25, 2026
78901da
Merge remote-tracking branch 'origin/codex/code-index-catchup-pipelin…
ScriptedAlchemy Aug 25, 2026
f2381b8
test(host-admission): gate integration fixture surface
ScriptedAlchemy Aug 25, 2026
8bf20b2
Merge remote-tracking branch 'origin/codex/code-index-catchup-pipelin…
ScriptedAlchemy Aug 25, 2026
363c9d3
build(distribution): stage relocated product package
ScriptedAlchemy Aug 25, 2026
7c5f242
docs(agents): describe the relocated workspace layout
ScriptedAlchemy Aug 25, 2026
65d10b4
fix(scheduler): gate resident-memory constructor to its callers
ScriptedAlchemy Aug 25, 2026
b9c826c
build(release): resolve release metadata from the product package
ScriptedAlchemy Aug 25, 2026
1e10198
style(scheduler): apply rustfmt to merged catch-up code
ScriptedAlchemy Aug 25, 2026
8e44f77
build(distribution): give extracted packages their workspace names
ScriptedAlchemy Aug 25, 2026
3b2b837
build(release): read release identity from the virtual workspace root
ScriptedAlchemy Aug 25, 2026
f436f71
Merge remote-tracking branch 'origin/codex/code-index-catchup-pipelin…
ScriptedAlchemy Aug 25, 2026
4fa5edc
test(daemon): restore the evaluated semantic profile restart wait
ScriptedAlchemy Aug 25, 2026
1c881cf
refactor(usecases): remove root diagnostic shims
ScriptedAlchemy Aug 25, 2026
fac59b1
refactor(usecases): remove root context and graph shims
ScriptedAlchemy Aug 25, 2026
10b783d
refactor(usecases): remove the remaining root re-export shims
ScriptedAlchemy Aug 25, 2026
d78346d
style(lint): clear the all-features clippy gate for the product library
ScriptedAlchemy Aug 25, 2026
c0bb8f5
style(lint): clear the all-features clippy gate in test targets
ScriptedAlchemy Aug 25, 2026
8720f7a
fix(test): compile the Work route conformance suite on Windows
ScriptedAlchemy Aug 25, 2026
27670ca
Merge remote-tracking branch 'origin/codex/code-index-catchup-pipelin…
ScriptedAlchemy Aug 25, 2026
5fc3a69
Merge remote-tracking branch 'origin/codex/tracedecay-total-redesign-…
ScriptedAlchemy Aug 26, 2026
8ebf065
style(lint): name the method instead of wrapping it in a closure
ScriptedAlchemy Aug 26, 2026
f3fcf0d
fix(relocation): anchor workspace-level paths above the product package
ScriptedAlchemy Aug 26, 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
  •  
  •  
  •  
11 changes: 10 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,17 @@ jobs:
shared-key: ci-test-full-${{ runner.os }}
cache-on-failure: true

# Every `crates/tracedecay` integration target declares
# `required-features = ["test-helpers"]`, because the fixture surface it
# gates is used by `tests/common/mod.rs`. Those targets are selected here
# today only as a side effect of dev-dependency feature unification
# (`tracedecay-cli` dev-depends on `tracedecay` with that feature), which
# is not a property this lane should depend on: it would evaporate the
# moment that dev-dependency changes, and nextest would then silently
# select zero of them and report green having run nothing. Asking for the
# feature explicitly makes the selection independent of that accident.
- name: Run tests
run: cargo nextest run --workspace --profile ci --locked
run: cargo nextest run --workspace --profile ci --locked --features tracedecay/test-helpers

# Compile-only gate for the features this lane does not enable. Both are
# otherwise built for the first time at release (`--all-features`), so
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/plugin-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ on:
- "plugin/**"
- "plugin/cursor-native-extension/**"
- "tests/fixtures/cursor-schemas/**"
- "tests/agent_suite/*plugin*"
- "tests/agent_suite/*skill*"
- "crates/tracedecay/tests/agent_suite/*plugin*"
- "crates/tracedecay/tests/agent_suite/*skill*"
- "scripts/mcp-conformance-smoke.sh"
- "scripts/check-dashboard-bundle.py"
- "src/serve.rs"
- "crates/tracedecay/src/serve.rs"
- "crates/tracedecay-cli/**"
- "src/lib.rs"
- "src/mcp/**"
- "crates/tracedecay/src/lib.rs"
- "crates/tracedecay/src/mcp/**"
- "Cargo.toml"
- "Cargo.lock"
- ".github/workflows/plugin-validation.yml"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sdk-conformance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ on:
- "scripts/plan-release-recovery.py"
- "scripts/test-plan-release-recovery.py"
- "tests/release_safety_test.sh"
- "src/application_surface.rs"
- "crates/tracedecay/src/application_surface.rs"
push:
branches: [master]

Expand Down
22 changes: 15 additions & 7 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,26 @@ compiles.

## Layout

- `src/` — main `tracedecay` crate (daemon, MCP tools, global DB, sessions,
code index, application services).
- `crates/` — workspace member crates (`tracedecay-api`, `-application`,
`-domain`, `-store`, `-hooks`, `-policy`, `-tool-catalog`, rusqlite
parity/runtime crates).
- The repository root is a **virtual workspace** — it has no package of its
own. Every crate lives under `crates/`.
- `crates/tracedecay/` — the composition-root library (daemon, MCP tools,
global DB, sessions, code index, application services). Its integration
suites are `crates/tracedecay/tests/`, and the ones that use the fixture
surface in `tests/common/` declare `required-features = ["test-helpers"]`.
- `crates/tracedecay-cli/` — the shipped `tracedecay` binary. Build it with
`cargo build -p tracedecay-cli --bin tracedecay`, never `-p tracedecay`.
- `crates/` — the remaining workspace member crates (`tracedecay-api`,
`-application`, `-domain`, `-store`, `-hooks`, `-policy`, `-tool-catalog`,
rusqlite parity/runtime crates).
- `dashboard/` — the single embedded dashboard (React + rsbuild + vitest).
`dashboard/src/contracts/` is generated from Rust schemas via schemars —
never hand-edit it; regenerate with the `contracts:generate` script and
verify with `contracts:check`.
- `plugin/` — host bundles (Claude, Codex, Cursor, Kimi, opencode).
- `tests/` — integration test suites; `benches/` — criterion benches;
`benchmark_data/` — benchmark fixtures, harnesses, and provenance;
- `tests/` — shared fixtures, distribution suites, and shell/Python gates that
no single crate owns; crate-level integration suites and criterion benches
live under that crate's own `tests/` and `benches/`.
- `benchmark_data/` — benchmark fixtures, harnesses, and provenance;
`evals/` — memory, hermetic, and agent-adoption evals; `docs/` — plans and guides.
- `scripts/` — CI/dev gates (commit-msg check, bundle checks, release drift).

Expand Down
Loading
Loading