Skip to content

semantic activate rejected on fresh isolated daemon: train fallback bytes changed; runtime degraded invalid_runtime_status #905

Description

@ScriptedAlchemy

Shipped semantic activation journey is rejected on a fresh isolated daemon

Exact operator path, binary built from PR #882 head c6130cb23 (the same code is on codex/tracedecay-total-redesign-plan-reopened): scripts/with-isolated-tracedecay-daemon.sh --bin target/debug/tracedecay --ready-timeout 60 -- <probe> against a 2-file git project, semantic models linked from ~/.tracedecay/semantic-models.

Observed, in order:

  1. Before activation, tracedecay tool tracedecay_runtime reports
    semantic_runtime.state = {"state":"degraded","reason":"invalid_runtime_status","active_generation":"sha256:20a6b83f…"} while the code index is serving=ready, freshness current.
  2. tracedecay semantic activate --json (after index readiness) exits 1:
    semantic activate: evaluating profile 'hybrid-conservative' natively for <project> (current+10x workload; typically minutes)
    Error: config error: semantic activation rejected: semantic activation input was rejected: semantic profile qualification failed: native semantic evaluation failed: native activation direct evaluation report failed: hybrid-conservative:train fallback bytes changed
    
    (crates/tracedecay-query/src/search_quality/report.rs:470). An earlier run in the same setup instead failed with semantic_activation.model_not_installed (state: indexing) while the runtime was still acquiring, so the CLI does not wait for or report acquisition either.
  3. After the rejection, CLI tracedecay_search and MCP tools/call tracedecay_search both report the exact code generation with freshness=fresh, but semantic = {"status":"unavailable","reason":"calibration_unavailable","mode":"fallback_allowed"}.

So the review requirement "shipped operator semantic-activation journey verified on the exact runtime" (#753, #882, #707 acceptance) currently fails. Either the direct-evaluation determinism check is wrong for a freshly indexed project (fallback results legitimately change while the index settles, so the comparison must bind a generation), or the runtime really serves different fallback bytes across two identical queries, which is a retrieval determinism defect. invalid_runtime_status on a fresh profile also needs a root cause: it is reported before any activation exists.

Repro artifacts: probe script and outputs under the session scratchpad (probe.sh, out3/), isolated-daemon wrapper in scripts/.

Acceptance: on a fresh isolated daemon the shipped semantic activate succeeds (or reports a typed, actionable acquisition/loading state and then succeeds), tracedecay_runtime never reports invalid_runtime_status without a cause, and CLI + MCP tracedecay_search report semantic.status = available bound to the exact runtime generation. Regression test through the production composition, not a unit fake.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions