Skip to content

feat(health): AVX2 gate + recall_tier surfacing - #14

Merged
wakbijok merged 1 commit into
mainfrom
fix/avx2-preflight-recall-tier
Jun 10, 2026
Merged

feat(health): AVX2 gate + recall_tier surfacing#14
wakbijok merged 1 commit into
mainfrom
fix/avx2-preflight-recall-tier

Conversation

@wakbijok

Copy link
Copy Markdown
Owner

Addresses #2 and #4, reported by @pizofreude.

What changed

  • daimon-vec: new embedder_supported() CPU-feature gate. Embedder::new() now returns a clear error on non-AVX2 x86_64 instead of letting the ONNX runtime SIGILL at first inference, long after startup looked healthy. aarch64 (NEON path) is unaffected.
  • daimon-mcp: /readyz and /health now report recall_tier (hybrid | keyword | unhealthy). The existing graceful-degradation path catches the AVX2 case with a single clear warning, exactly as proposed in install.sh: preflight check for AVX2 before declaring the stack ready #2.
  • daimon-indexer: an embedder failure now parks the indexer with a warning instead of exiting (which put compose/k8s into a restart loop). --once still errors for CI use. Semantic backfill after moving to capable hardware: daimon reindex.
  • daimon-cli: daimon health output gains recall_tier, computed the same way.
  • install.sh: AVX2 preflight after the stack comes up (x86_64 only, skipped on arm64), pointing at the recall_tier field for later checks.
  • README: Deployment section documents the full degradation contract.

Verification

  • cargo test --workspace: 37 passed, 0 failed (includes a new recall_tier unit test)
  • bash -n install.sh clean; preflight is arch-guarded so arm64 hosts don't false-warn

Closes #2, closes #4.

- daimon-vec: embedder_supported() CPU gate; Embedder::new() now returns
  a clear error on non-AVX2 x86_64 instead of letting ort SIGILL at
  first inference (aarch64 unaffected)
- daimon-mcp: /readyz and /health report recall_tier
  (hybrid | keyword | unhealthy); existing degradation path now catches
  the AVX2 case with a clear warning
- daimon-indexer: embedder failure parks the indexer instead of
  crash-looping under compose/k8s restart policy (--once still errors);
  backfill later with daimon reindex
- daimon-cli: health output gains recall_tier
- install.sh: AVX2 preflight after stack-up (x86_64 only) with a
  pointer to the readyz recall_tier field
- readme: deployment section documents the degradation contract

Reported by @pizofreude in #2/#4.
@wakbijok
wakbijok merged commit ff756c2 into main Jun 10, 2026
3 checks passed
@wakbijok
wakbijok deleted the fix/avx2-preflight-recall-tier branch June 10, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

daimon health + /readyz: report recall_tier (hybrid | keyword | unhealthy) install.sh: preflight check for AVX2 before declaring the stack ready

1 participant