feat: consolidate TraceDecay V2 PR8-PR13 delivery - #707
feat: consolidate TraceDecay V2 PR8-PR13 delivery#707ScriptedAlchemy wants to merge 782 commits into
Conversation
🦋 Changeset detectedLatest commit: 5490a21 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Post-reopen correction pushed in a23f86a: source-neutral background reconcile no longer advances the scheduler epoch and cancel in-flight text activation; mounted hook overflow uses the explicit invalidating path. Evidence: RED reproduced 0/1, GREEN 1/1 for ordinary_background_reconcile_does_not_supersede_in_flight_text_work; cargo check --lib --locked passed. |
💡 Codex Reviewtracedecay/.github/workflows/release.yml Lines 408 to 411 in fc20c4f For Linux targets, this archive now contains tracedecay/release-please-config.json Lines 22 to 25 in fc20c4f The new npm publication job derives its version from the packed tracedecay/dashboard/src/workspaces/delivery/DeliveryPage.tsx Lines 80 to 82 in fc20c4f When the scope bar selects a project other than the active project, this query keeps the same cache key and continues fetching the unprefixed active-project route. The dashboard already provides tracedecay/src/tracedecay/lifecycle/registry.rs Lines 118 to 122 in fc20c4f When AGENTS.md reference: AGENTS.md:L159-L161 tracedecay/plugin/cursor-native-extension/src/extension.ts Lines 187 to 189 in fc20c4f At activation or language-client restart, ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
fix(clippy): clear the workspace clippy failures on #707
Removing the re-export shims left their module doc comments orphaned in `context` and `graph`. The rest are pre-existing lints that only fire under `--all-features`, which compiles the `test-transport` support surface as non-test code: - the registered-test-server constructor gets the file's existing explicit `expect_used` allow, since `lib.rs` denies it only outside `cfg(test)`; - `http_application_registry` is read by the `cfg(test)` capacity journey and only reads as dead under `test-transport` alone, so the allow is gated to `not(test)` rather than renamed to a discard; - the hotpath cadence helpers keep `#[inline(always)]` with an explicit allow, preserving the author's intent instead of silently downgrading it. The `daemon_suite` restart wait is now the original helper recovered from the PR #707 head rather than a reconstruction: it additionally proves the runtime readiness receipt authorizes the exact configuration the SDK selected.
The relocation fix that anchored this test above the package allocated a `PathBuf` only to hand out a reference, which `-D warnings` rejects as `unnecessary_to_owned` and which failed the Clippy gate on #707. `validate_requested_workload` takes `&Path`, and `CARGO_MANIFEST_DIR` is a literal, so `Path::new` yields a `&'static Path` with no allocation and no temporary to borrow from.
|
#733 landed Clippy-red. Helper branch (not merged, shared checkout untouched):
Clears the #733 Clippy denials:
Adopt when you want: I will not land this on #707. |
|
Clippy helper is now on the Codex worktrees (still not landed on this PR head):
Same change as |
|
Isolated post-#721 verification (worktree Green (non-vacuous) on merge
Not green
Clippy helper remains on this tree at |
Ports the missing pieces of commit b1e41b712 ("fix(build): land the
batching commit's missing consumers") onto #707: HookCompletedReadinessDistributions
moved into tracedecay-agent-hosts with pub(crate) fields, so
input_rows_processed, input_rows_dropped_at_cap, and events_considered
are no longer reachable outside the crate. Adds the three public
accessors.
source_event and input_rows_received (also added by the source commit)
are not ported: nothing on this branch reads them through an accessor
today - the root-crate benchmark still compares via
serde_json::to_value(&readiness_distributions)["field"], which does
not need them.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
5d8f2a1 to
c7fcf3f
Compare
…d6ed chore(vendor): stacked vendor-only PR for #707 — generated vendor churn, land first
…rules Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
Preserve-stopped cannot tell an explicit stop from an OOM-killed unit, so update restore now heals installed stopped daemons.
A stalled-but-alive daemon with a full listen backlog is transient, not a missing restart, and the error must say so.
Replace the generic install-service text with the exact enable command when the user unit is installed but not running.
Early publish can be followed by a graph/verify Noop that becomes the latest event-to-ready sample. The stale retained mount still has to publish; it does not have to leave that publish as latest.
Pin 09382071a329: CatalogSection::deserialize now validates the
snapshot's leading version byte before decoding, so a store written by
a revision with an incompatible catalog payload fails typed -
"unsupported catalog version {found} (supported {supported})"
(GRAFEO-X002) - instead of surfacing as opaque bincode noise or
decoding silently under the wrong format. A section CRC mismatch
(GRAFEO-X001) now genuinely means damaged bytes, which is the split
the catalog-attach investigation needed: this evening's pin churn
briefly deployed a catalog-v2-writing revision, and version drift was
indistinguishable from corruption.
Consolidated scheduler cluster repair: early-publish with serving-seat wait, lock-park remount, graph-off memory-pressure rebuilds, bounded activation, ready abstain, lock-free reconcile slot, publication identity, text-head reopen, and label-move CAS. Streaming sealed seat is proven at 7.56 GiB vs 27.3 GiB old-binary control, plus the pre-existing observability and freshness fixes.
stored durable rows made retains() report a live reader after every lease dropped, so staged retirement could never reclaim a cancelled generation's rows or sealed artifact, and the process-local semantic registry accumulated every published generation between maintenance ticks; rows are now a ledger that only protects dependencies of still-stored generations, dead weak entries are swept on remember, and the registry prunes to the latest plus configured vector sources on every register.
model download and failure lifecycle states must surface as typed lexical-fallback reasons rather than a generic warming state; authored during the auto-acquisition audit and landed once the module compiled again.
seated Doctor, MCP runtime health, explorer, and search reasons reported a generic semantic unavailable while the model lifecycle owner was Downloading, Verifying, Loading, Indexing, or Failed; the scheduler's generic fallback now yields to the sole lifecycle mapping so acquisition progress and typed failures surface, a mounted runtime's own error is never overwritten, and a deliberately disabled selection keeps its configuration pin to stay distinguishable from a missing one.
The release test file landed without its module declaration, leaving it uncompiled; declaring the module makes the retained-generation release proof actually run.
A profile-contained data-root symlink is not a store directory authority. Leaf open_dir_nofollow failures were InspectFailed while intermediate components already used OutsideProfile.
Daemon compress still advertised Cursor adapter env vars, but the authoritative summarizer registry only had Codex after pressure-only compaction dropped the sessions cursor_agent module.
lcm_compress_guarded applies the Grafeo projection in the same journey, so relation reads succeed and pending recovery is a no-op.
Independently counted session leases reuse the owner binding. The concurrent profile test already asserted this; project remounts had not caught up.
Socket-miss advice now stats the unit file only, so clients still get an enable-now remedy without racing service-lifecycle tests.
Keep the consolidated scheduler cluster repair set on current origin.
Parallel service_status probes can append extra is-enabled lines when PATH is faked; assert the required order, not the exact file.
Torn checkpoints were the byte-level mechanism behind the GRAFEO-X001 catalog CRC mismatch: write_sections overwrote the live generation in place, so an OOM kill mid-checkpoint destroyed the previous generation. The pinned revision now writes each generation out of place and commits it with an authenticated header flip, so a kill at any byte of a checkpoint leaves the store openable at the prior generation with WAL replay intact (grafeo 43fa6c3f, fix/catalog-version-guard).
…plan-reopened' into codex/tracedecay-total-redesign-plan-reopened
…plan-reopened' into perf/transport-phase-spans
The indexer extracts and records spans on privacy-sanitized bytes, where credential placeholders can change length. Validating those spans against raw file bytes refused frozen clones as stale. Re-admit through the same sanitizer so span checks and fingerprints share one coordinate space; genuine shrinkage still refuses typed.
Replacement review for #421 after its accidental merge was reverted from master in 52a9aab. This commit has the exact tree of #421 head d4c67d4. Do not merge until explicitly authorized.