Skip to content

Releases: guelfoweb/orbit

v0.0.1-rc17

v0.0.1-rc17 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 08 Jul 12:57

v0.0.1-rc17

Conversation-reuse guidance and post-RC16 project guidance release.

Summary

  • Add post-RC16 agent guidance for future Orbit work.
  • Clarify optional native MTP support in the README.
  • Improve route guidance for conversation reuse.
  • Record the conversation-reuse merge and smoke results in AGENTS.md.

Main changes since RC16

  • #122 Add post-RC16 agent guidance.
  • #123 Clarify optional native MTP support.
  • #124 Improve route guidance for conversation reuse.
  • #125 Update agent guidance after conversation reuse merge.
  • #126 Record conversation reuse smoke results.

Runtime behavior

The route prompt now includes a general, model-guided rule to prefer CHAT
when the user asks to recap, summarize, repeat, continue, explain, or compare
information that is already present and sufficient in the conversation.

Tool use remains allowed for:

  • fresh or current data
  • verification
  • new information
  • changed file or system state
  • missing, stale, ambiguous, or insufficient prior context

This is not a deterministic fast path. It does not add cache/TTL behavior,
tool-specific logic, runtime changes, tool-loop changes, or single-tool changes.

MTP and documentation

Native MTP remains optional, explicit, and experimental.

It is:

  • not enabled by default
  • not always-on for every internal completion
  • not a guaranteed performance win

Pre-RC17 MTP sanity passed with native MTP enabled, multimodal available, and
n_max=3.

Validation

Pre-RC17 validation covered:

  • targeted gates: PASS
  • full unit gate: PASS, 985 tests
  • compileall: PASS
  • git diff --check: PASS
  • prompt validation: 33 prompts
  • prompt sources: 12 prompts from docs/PROMPTS.md
  • ambiguous prompts: 10
  • full E2E steps: 6
  • MTP sanity: PASS

No BLOCKER issues were found.

Conversation reuse validation:

  • system_info recap prefers CHAT / no tool when context is sufficient
  • read-file recap prefers CHAT / no tool when context is sufficient
  • pwd_followup full E2E confirmed no redundant tool call on the follow-up
  • refresh/current/verify/new-information requests still allow tools

Observed MTP props during sanity:

  • mtp_enabled=true
  • mtp_initialized=true
  • mtp_failure_reason=null
  • in_flight=false
  • multimodal_available=true
  • mtp_last_completion.success=true
  • mtp_config.n_max=3

Warnings / known limitations

  • Some route-only smoke checks can still hit finish_reason=length.
  • The grep recap route-only check avoided a tool call but produced empty output
    with finish_reason=length, so it remains inconclusive rather than a full
    PASS.
  • A list recap prompt was ambiguous and selected file reads; this is not treated
    as a blocker because the wording can reasonably mean summarizing file content.
  • Full E2E checks can be too slow on CPU-only systems and must not be treated as
    performance benchmarks unless run with benchmark metadata.
  • This RC does not include new MTP optimization work.
  • cached=4 on route-to-final remains expected when prompt views diverge.

v0.0.1-rc16

v0.0.1-rc16 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 08 Jul 07:43

v0.0.1-rc16

CPU-first usability and benchmark reproducibility release.

Summary

  • Increase the dedicated system_info final budget to avoid truncated hardware/spec answers.
  • Clarify CPU-first native server documentation and optional MTP usage.
  • Add a metadata header to orbit bench-core for reproducible benchmark context.
  • Document bench/profile guidance and conservative server profile suggestions.
  • Move the MTP draft model download out of the base install flow and into the optional MTP section.

Runtime behavior

system_info now has a dedicated final-from-tool output budget.

This avoids truncated answers for prompts such as:

tell me specs about this computer

Observed smoke result:

  • before: tks 287->96, stop: length, /continue required
  • after: tks 289->137, stop: stop, no /continue

This change is scoped to system_info. Small shell, grep, and unknown final budgets remain unchanged.

Documentation

The README now presents the default server path as:

orbit server

Native MTP remains explicit:

orbit server --mtp

The MTP draft model download is documented only in the optional MTP section. The base install flow downloads only the main Gemma model and the multimodal projection model.

Benchmarks

orbit bench-core now prints a metadata header by default, including:

  • Orbit commit/tag
  • Orbit binary path
  • base URL
  • workdir
  • timeout and max tokens
  • Python/platform
  • selected Orbit environment variables
  • best-effort backend /props fields when available

Use --no-metadata to restore minimal benchmark output.

MTP status

MTP remains optional and diagnostic/experimental for performance work.

Validated:

  • MTP strict smoke: PASS
  • timeout/cancel recovery smoke: PASS
  • final /props: mtp_enabled=true, mtp_initialized=true, mtp_failure_reason=null, in_flight=false

Validation

  • Targeted unit gates: PASS
  • Full unit gate: PASS, 980 tests
  • system_info smoke: PASS
  • bench-core metadata smoke: PASS
  • evidence lineage clean smoke: PASS
  • KV/final token reduction smoke: PASS
  • MTP strict smoke: PASS
  • timeout/cancel recovery smoke: PASS
  • git diff --check: PASS

v0.0.1-rc15

v0.0.1-rc15 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 08 Jul 05:56

v0.0.1-rc15

Evidence lineage diagnostic release.

Summary

  • Add structural evidence lineage diagnostics.
  • Add runtime-local user_turn_id to evidence records.
  • Add produced_by_phase for known tool-call producer paths.
  • Keep producer_model_call_id null for now.
  • Preserve existing evidence rendering and selection behavior.
  • No prompt, routing, tool loop, cache, final-policy, or evidence compaction behavior changes.

Evidence lineage

This RC adds structural lineage fields to evidence records:

  • evidence_sequence
  • tool_call_id
  • user_turn_id
  • produced_by_phase
  • producer_model_call_id

producer_model_call_id remains null until a reliable runtime-side producer model-call id exists.

The lineage is diagnostic/structural. It is not used for relevance selection yet.

Smoke findings

Clean-workdir smoke confirmed:

  • shell_error: PASS
  • dual_shell: PASS
  • evidence lineage is populated
  • dual_shell still includes both needed cards
  • no evidence selection or compaction behavior changed

The earlier evidence-lineage smoke failure was caused by persistent evidence-store contamination plus a tight timeout, not a runtime regression.

Validation

  • Targeted unit gates: PASS
  • Full unit gate: PASS, 973 tests
  • KV/final token reduction smoke: PASS
  • MTP strict smoke: PASS
  • Timeout/cancel recovery smoke: PASS
  • Evidence lineage smoke with clean workdirs:
    • shell_error: PASS
    • dual_shell: PASS
  • git diff --check: PASS

v0.0.1-rc14

v0.0.1-rc14 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 07 Jul 16:01

v0.0.1-rc14

Diagnostic and token-reduction release for KV/final prompt work.

Summary

  • Add cross-phase KV LCP diagnostics.
  • Add final/retry prompt component token diagnostics.
  • Add per-card evidence token diagnostics.
  • Reduce compact final evidence metadata for small final outputs.
  • Keep MTP diagnostics and stability gates intact.

KV / final prompt diagnostics

This RC adds diagnostics for understanding why some final/retry calls reuse only a tiny KV prefix.

The diagnostics confirmed:

  • route -> final tokenized LCP can be 4
  • the first mismatch happens at the system prompt
  • cached=4 on final/retry is prompt-view divergence, not a backend/cache failure

Final prompt token reduction

This RC reduces evaluated tokens in compact final evidence prompts by using a smaller prompt-facing evidence card for small shell/grep/unknown records.

Observed smoke results:

  • pwd_followup final_from_tool: prompt about 154, evaluated about 150, correctness correct
  • shell_error final_from_tool: prompt about 245, evaluated about 241, correctness correct
  • shell_error chat_final: intentionally mostly unchanged, correctness correct

Evidence diagnostics

This RC adds safe, diagnostic-only evidence token breakdowns:

  • final/retry component token counts
  • per-card evidence token counts
  • no raw prompt text, raw commands, raw paths, or raw excerpts are emitted

These diagnostics showed that multi-card chat_final remains dominated by evidence metadata, but no safe lineage/intent discriminator exists yet for reducing those cards without risking dual-shell correctness.

MTP status

MTP remains stable and diagnostic/experimental for performance work.

Validated:

  • MTP strict smoke: PASS
  • timeout/cancel recovery: PASS
  • final /props: mtp_enabled=true, mtp_initialized=true, mtp_failure_reason=null, in_flight=false

Validation

  • PYTHONPATH=src python3 -m orbit.native_llama.build_cli --with-mtp-shim
  • python3 -m compileall -q src tests scripts
  • targeted unit gates
  • PYTHONPATH=src python3 -m unittest discover -s tests -q
  • KV/final token reduction smoke
  • MTP strict smoke
  • timeout/cancel recovery smoke
  • git diff --check

v0.0.1-rc13

v0.0.1-rc13 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 07 Jul 09:05

v0.0.1-rc13

Diagnostic release for MTP observability.

Summary

  • Add MTP throughput benchmark diagnostics.
  • Expose read-only MTP config diagnostics in /props.
  • Expose read-only MTP timing diagnostics in /props.
  • Expose read-only MTP validate-efficiency diagnostics in /props.
  • Fix unit fake MTP bindings after validate-efficiency diagnostics.

MTP diagnostics

This RC adds observability for:

  • mtp_last_completion
  • mtp_config
  • mtp_last_timing
  • mtp_last_validate_efficiency

These diagnostics make it possible to inspect:

  • draft/accepted/rejected token counts
  • acceptance ratio
  • target/draft decode calls
  • MTP config, including effective n_max
  • target validate timing
  • draft generation timing
  • checkpoint/restore timing
  • estimated validate rows requested, consumed, and wasted

Notes

  • This release does not introduce MTP performance optimizations.
  • Default MTP behavior remains unchanged.
  • n_max=3 remains the default.
  • Prior experiments with n_max=2 and n_max=4 did not improve the tested CPU-only medium-chat workload.
  • Current diagnostics show target validation as the dominant observed cost in the tested MTP path.
  • Raw trace payloads are not exposed through /props.

Validation

  • PYTHONPATH=src python3 -m orbit.native_llama.build_cli --with-mtp-shim
  • python3 -m compileall -q src tests scripts
  • PYTHONPATH=src python3 -m unittest tests.test_bench_mtp_throughput -q
  • PYTHONPATH=src python3 -m unittest tests.test_native_persistent_mtp -q
  • PYTHONPATH=src python3 -m unittest tests.test_smoke_harness tests.test_native_mtp_experimental -q
  • PYTHONPATH=src python3 -m unittest tests.test_runtime_status tests.test_cli tests.test_repl tests.test_commands -q
  • PYTHONPATH=src python3 -m unittest discover -s tests -q
  • MTP strict smoke: PASS
  • Timeout/cancel recovery smoke: PASS
  • git diff --check

v0.0.1-rc12

v0.0.1-rc12 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 06 Jul 20:09

Orbit v0.0.1-rc12

Prerelease candidate built from main after PR #99, PR #100, PR #101, PR #102, and PR #104.

Included since rc11

  • CLI startup runtime banner and /status panel.
  • Smoke/benchmark harness for repeatable runtime validation.
  • More reliable --mtp-required smoke harness behavior.
  • Persistent MTP reset before completion to avoid stale request boundary reuse.
  • MTP timeout/cancel cleanup so interrupted long completions do not poison the session.
  • Smoke harness wall-clock per-step timeout and bounded /cancel cleanup.

Validation

  • Full unittest discover PASS.
  • compileall PASS.
  • git diff --check PASS.
  • CLI smoke PASS.
  • Smoke harness serial scenarios PASS.
  • MTP strict gate PASS with simple_chat --mtp-required.
  • MTP timeout/cancel recovery PASS.

Notes

  • The smoke harness is diagnostic infrastructure, not a runtime optimization.
  • On CPU-only systems, prefer single scenarios or small scenario groups with explicit timeout.
  • pwd_followup, shell_error, and shell20 are not used as primary strict MTP proof because they can run through route/final paths where MTP is not used by design.
  • Dual shell evidence optimization remains paused as correctness-sensitive.
  • Final/retry cache anchor experiments remain paused.

v0.0.1-rc11

v0.0.1-rc11 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 05 Jul 16:24

Orbit v0.0.1-rc11 Release Notes

Orbit v0.0.1-rc11 supersedes v0.0.1-rc10 for the post-RC10 stabilization
line.

Code validation was completed at:

  • 4f66d414aa22a0307c0d026c2f52d5c8f38bf069

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

  • 49f660bf8064687a0518bb5b1f63f257191a0e97

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

Delta From v0.0.1-rc10

Operational prompt-view cleanup

RC11 includes PR #96, which reduces prompt-view bloat in operational runtime
prompts without changing routing behavior.

The change:

  • uses a route-only operational evidence projection for route contexts
  • removes audit-only metadata such as raw refs and hashes from route-only
    prompt views
  • preserves EvidenceStore storage, sidecars, and final/audit metadata
  • caps the latest assistant message only in operational final/retry prompts
    when recent evidence exists

This improves cumulative prompt cost for shell follow-ups while preserving
correctness and tool behavior.

Revert of dual shell final view experiment

RC11 explicitly excludes PR #98 by reverting it before release.

The dual-shell final view prototype reduced tokens aggressively, but post-merge
validation reproduced a correctness regression where:

  • summarize the output mixed the latest successful shell output with the
    previous failed command

RC11 therefore keeps the stable post-PR #96 behavior instead of the failed
shell dual-view experiment.

Included From Earlier RCs

RC11 keeps the RC10 line intact, including:

  • bounded route/final/retry evidence views
  • WEB_FINAL_VIEW support for results:none
  • repair and route guards
  • persistent MTP cap fix
  • Dynamic Completion Budget Policy

Validation

Final validation on main at 4f66d414aa22a0307c0d026c2f52d5c8f38bf069:

  • targeted suite: PASS, 231
  • wider targeted suite: PASS, 264
  • full unittest suite: PASS, 915
  • python3 -m compileall -q src tests scripts: PASS
  • git diff --check: PASS
  • 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

Functional smoke:

  • web search + shell follow-up: PASS
  • run pwd follow-up: baseline behavior preserved, no redundant tool call
  • failed command + follow-up: PASS
  • shell20 summary: PASS
  • fake tool output observed: no
  • raw leak observed: no
  • tool loop observed: no

Known Limitations

  • Dual shell evidence remains correctness-first and therefore more costly than
    the failed compression experiments.
  • Final/retry cache reuse remains low.
  • 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.

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.

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

v0.0.1-rc9

v0.0.1-rc9 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 02 Jul 15:13
4369c3d

Orbit v0.0.1-rc9 Release Notes

Orbit v0.0.1-rc9 closes the post-tool evidence flow stabilization phase after
v0.0.1-rc8.

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

Highlights

Tool evidence separated from prompt history

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

The new 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

RC9 adds bounded route, final, retry, and repair prompt views derived from
EvidenceStore projections.

The runtime now 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

History remains useful for audit and compatibility, but EvidenceStore is the
primary source for operational evidence.

Web finalization compact view

Web final_from_tool now uses a compact WEB_FINAL_VIEW when structured web
evidence is available.

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

Local smoke reduced the OpenAI web final prompt from roughly 1864 tokens to
roughly 369 tokens while preserving a single web search and finish_reason=stop.

Evidence projection cleanup

RC9 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

These changes are structural context reductions, not semantic shortcuts.

Repair and retry guardrails

RC9 reduces 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

Search and shell evidence quality

Grep/search evidence cards now preserve useful facts such as file paths, line
numbers, match excerpts, match counts, and file counts when available.

Shell route projections include bounded stdout/stderr excerpts for small output,
which keeps useful follow-up evidence visible without reintroducing raw bloat.

Validation

Local validation on main after PR #89:

  • targeted runtime/evidence/tool tests: PASS, 187
  • full unittest suite: PASS, 903
  • python3 -m compileall -q src tests scripts: PASS
  • git diff --check: PASS
  • 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/PARTIAL
  • 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

Known limitations

  • Final/retry cache reuse remains low because the active KV slot is usually
    warm on the prior route prompt, not final prompts.
  • Read/direct-content referential follow-up quality can still be partial even
    when evidence is visible.
  • Web/read large outputs can remain CPU-costly.
  • Model-side quality on exact references can vary.
  • Real multimodal input tasks still need separate end-to-end validation.
  • MTP remains guarded and is not a performance guarantee for every completion.

Follow-up work:

  • Dynamic Completion Budget Policy for route/tool/final/repair completion
    kinds, so Orbit can avoid truncation and overly long internal generations
    without changing prompt policy.

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.

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

v0.0.1-rc10

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.

v0.0.1-rc8

v0.0.1-rc8 Pre-release
Pre-release

Choose a tag to compare

@guelfoweb guelfoweb released this 30 Jun 22:09

Orbit v0.0.1-rc8 Release Notes

Orbit v0.0.1-rc8 closes the current native MTP stabilization phase after
v0.0.1-rc7.

RC8 documents MTP as supported and stabilized in the native server path with
runtime guardrails. It does not make MTP an always-on path for every completion,
and it is not a final performance release.

Highlights

Native MTP stable with runtime guardrails

Native MTP is supported in the orbit server --mtp path and has been validated
with the current native server workflow.

The runtime can now control MTP per completion with the explicit
allow_mtp_experimental payload flag:

  • missing flag: preserves existing behavior
  • false: vetoes MTP for that completion
  • true: permits MTP only if the existing runtime/backend guardrails also allow it

This is a control-plane guardrail. It does not change prompts, routing policy,
tool policy, final-answer policy, evidence policy, or ROUTE_MAX_TOKENS.

MTP is not always-on everywhere

MTP remains available in the native server path, but Orbit can disable it for
specific internal completions where local measurements showed worse stability or
latency.

In particular, tools-on internal finalization paths such as chat_final_retry
and final_from_tool can send allow_mtp_experimental=false.

Route-prefix anchor, KV prewarm, and restore behavior remain compatible with
this guardrail.

Native server, KV, and multimodal smoke

The RC8 validation path uses:

  • orbit server --mtp
  • MTP initialized in the native server
  • mmproj/multimodal capability loaded or detected
  • KV route-prefix prewarm enabled
  • route-prefix anchor restore for tools-on route calls
  • unified vendored llama.cpp runtime

Orbit continues to use vendored llama.cpp libraries directly. RC8 does not add a
dependency on llama-server and does not update the vendored llama.cpp copy.

UX stabilization carried forward

RC8 includes the RC7 UX/correctness work:

  • web-search finalization no longer gets stuck after max-token finalization
  • streaming/progress labels distinguish tool decision, final answer, and retry
  • route retry UX is clearer
  • internal route prose is not accepted as final output
  • README quickstart is aligned with orbit server --mtp

Validation

Local validation on main after PR #80:

  • full unittest suite: PASS
  • python3 -m compileall -q src tests scripts: PASS
  • git diff --check: PASS
  • 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
  • duplicate llama runtime observed: no
  • double-free/SIGABRT/segfault observed: no
  • server shutdown: clean

CLI smoke covered:

  • tools-on, think-off: hi, how are you?
  • tools-on, think-off multi-turn: who designed you?
  • tools-on: run pwd
  • tools-on: search online for OpenAI

Known limitations

  • MTP is guarded, not always-on everywhere.
  • MTP is not a performance guarantee for every completion.
  • Web, read, and think on paths can still be slow on CPU.
  • Post-tool evidence bloat remains an open UX/performance issue.
  • Route-contract drift is mitigated by retry/UX guardrails but not eliminated.
  • Real multimodal input tasks still need separate end-to-end validation.
  • The vendored llama.cpp copy is not updated in RC8.

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.

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