Skip to content

v0.0.1-rc10

Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 02 Jul 21:42

Orbit v0.0.1-rc10 Release Notes

Orbit v0.0.1-rc10 supersedes v0.0.1-rc9 for the final RC9 validation line.

Code validation was completed at:

  • 49f660bf8064687a0518bb5b1f63f257191a0e97

The existing v0.0.1-rc9 tag remains unchanged and points to:

  • 4369c3d552b542c2f36e50eeeef8d50d550518f6

RC10 keeps the native MTP stable-with-guardrails posture. It does not change
MTP, KV behavior, vendored llama.cpp, route policy, tool policy, or the
model-driven decision boundary.

Delta From v0.0.1-rc9

Compact web final view for no-result searches

WEB_FINAL_VIEW now also covers web_search records with
status=none / results:none.

This avoids falling back to the more expensive legacy final path when a web
search returns no snippets. The compact view preserves the query, status,
result count, and audit metadata without reinserting long raw excerpts.

Evidence retrieval prototype not included

An experimental model-guided evidence retrieval prototype was tested and then
rolled back before RC10.

It is not included in this release candidate.

The rollback was intentional because the prototype route contract could compete
with normal tool routing after prior evidence, which violated the invariant that
explicit tool routes must remain model-guided and unchanged.

Included From The RC9 Line

Tool evidence separated from prompt history

Orbit stores tool evidence as runtime state instead of relying on raw tool
results in conversation history.

The EvidenceStore flow:

  • preserves raw tool output in RAM and sidecar files
  • stores bounded audit markers in promptable history
  • uses per-event evidence ids to avoid collisions
  • keeps raw_sha256 as the content audit hash
  • reloads sidecar indexes for existing sessions
  • degrades clearly when raw sidecar content is unavailable
  • clears in-memory EvidenceStore state on /reset

This reduces post-tool prompt bloat while preserving auditability and raw
evidence outside the prompt.

Bounded post-tool prompt views

Route, final, retry, and repair prompt views are derived from bounded
EvidenceStore projections.

The runtime avoids reinserting large raw tool results into route/final prompts
and uses compact evidence cards for:

  • shell output and shell errors
  • grep/search matches
  • web search results
  • read/direct-content outputs
  • unknown tool output

Web finalization compact view

Web final_from_tool uses compact structured evidence when available.

The view includes the current user request, query/status/result count, bounded
title/domain/snippet evidence when present, and audit references. It excludes
full history, long tool history, raw tool output, and tools schema.

Evidence projection cleanup

The RC9 line includes focused prompt-size reductions without changing model
decisions:

  • deduplicate structured final evidence for web and grep/search
  • tighten bounded excerpts for shell/unknown evidence
  • preserve bounded raw excerpts for shell-error evidence
  • compact post-tool route inventory by removing route-unneeded audit metadata
  • keep raw refs and hashes in sidecar/final/audit views

Repair and retry guardrails

The runtime avoids expensive internal retries that do not add useful
information:

  • skip final repair for non-empty finish_reason=stop answers classified only
    as incomplete_stub/plain_incomplete
  • keep repair for empty, malformed, reasoning-like, length, and too-short
    large-tool answers
  • skip route repair for blank/non-repairable route length output
  • preserve route prose rejection and model-guided TOOL/FINAL decisions

Dynamic completion budgets

Internal max_tokens selection is centralized for route, tool-call, chat,
final, retry, and repair completions using structural runtime signals only.

The budget policy does not inspect user text, use keyword heuristics, or change
route/tool/final decisions.

Persistent MTP generation cap fix

Persistent MTP no longer clamps the real generation limit to 32 tokens.

Requests with larger max_tokens can generate beyond 32 tokens, and
finish_reason reflects the real generation budget.

Validation

Final validation on main at 49f660bf8064687a0518bb5b1f63f257191a0e97:

  • targeted suite: PASS, 260
  • full unittest suite: PASS, 911
  • python3 -m compileall -q src tests scripts: PASS
  • git diff --check: PASS
  • prototype evidence retrieval residues: none
  • orbit server --mtp: PASS
  • MTP initialized: yes
  • mmproj/multimodal detected: yes
  • route-prefix prewarm succeeded: yes
  • route prefix token count: 694
  • route_anchor_hit=true: yes
  • restore_used=true: yes
  • double-free/SIGABRT/segfault observed: no
  • server shutdown: clean

Validation matrix:

  • chat simple: PASS
  • shell small + follow-up: PASS
  • shell error + follow-up: PASS
  • shell medium + referential follow-ups: PASS, no timeout
  • grep/search + follow-up: PASS
  • web search + follow-up: PASS
  • read/direct-content + follow-up: PARTIAL, non-blocking
  • persistent MTP cap regression: PASS
  • dynamic completion budget spot checks: PASS

Known Limitations

  • Final/retry cache reuse remains low because the active KV slot is usually
    warm on the prior route prompt, not final prompts.
  • Web/read large outputs can remain CPU-costly.
  • Model-side quality on exact references can vary.
  • Long sessions can still accumulate history and increase prompt cost.
  • Large read/direct-content outputs may require /continue.
  • Real multimodal input tasks still need separate end-to-end validation.
  • MTP remains guarded and is not a performance guarantee for every completion.

Upgrade Notes

For the current native workflow:

orbit server --mtp

Useful controls remain:

ORBIT_TOOLS=off
ORBIT_KV_PREFIX_PREWARM=off
ORBIT_KV_PREFIX_ANCHOR=off
ORBIT_KV_DIAG=1

ORBIT_KV_DIAG=1 is diagnostic only. It is not required to enable KV behavior.

RC10 is a new prerelease candidate. Previous RC tags and releases remain
unchanged.