Skip to content

release: promote dev to main (pre-0.1.8rc13) - #235

Merged
eldonm merged 28 commits into
mainfrom
release/promote-dev
Sep 18, 2026
Merged

eldonm merged 28 commits into
mainfrom
release/promote-dev

Conversation

@eldonm

@eldonm eldonm commented Sep 18, 2026

Copy link
Copy Markdown
Member

Summary

Promotes origin/dev onto main. Tree is byte-identical to dev at b6ac6c0f. Version stays 0.1.8rc12 — the rc13 bump is a follow-up (#234).

What lands

Test plan

Made with Cursor

Eldon Marks and others added 28 commits September 13, 2026 18:33
`main` received #226; `dev` received #222#225. Bring the pin onto
`dev` so the next integration work is not still on 0.0.17 / rc10.
chore: sync main into `dev` (0.1.8rc11 / jvspatial 0.0.18)
Drop graph-repair edge_ids sync phases; pin jvspatial==0.0.19.
…turns

_after_loop gated only on interaction.response while streaming latches
emitted first, so model_unavailable compose could run twice. Unify delivery
detection via _turn_delivered and skip commit_pending_adhoc when the settled
text is already on the interaction.

Co-authored-by: Cursor <cursoragent@cursor.com>
Hard-coded 200k for claude-sonnet-4-5 broke when LiteLLM bumped the
model table to 1M; assert against litellm_capabilities() instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
LiteLLM now reports a 1M window; keep proving capabilities come from upstream.

Co-authored-by: Cursor <cursoragent@cursor.com>
_after_loop already used _turn_delivered; _egress still checked
has_emitted() only, so a turn with interaction.response set but no latch
(model_error salvage path) queued a second ReplyAction publish. Also latch
emitted when commit_pending_adhoc skips an already-settled replay.

Co-authored-by: Cursor <cursoragent@cursor.com>
MagicMock interactions expose a truthy non-string response attribute;
_turn_delivered must check isinstance(str) before skipping egress.

Co-authored-by: Cursor <cursoragent@cursor.com>
…hunk

Stops a second independent user publish from twinning assistant bubbles
downstream; active stream may still finish. Covered by emitted-latch tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
… runtime

Admit turns as (agent_id, user_id, session_id), key tool/skill caches by snapshot, and add a store-backed journal/ledger/outbox/lease surface so later HPs have a host-neutral substrate. Result reuse is opt-in via idempotency_class so the loop repeat-guard still re-executes undeclared tools.

Co-authored-by: Cursor <cursoragent@cursor.com>
Checkpoint journals onto Interaction so resume can skip completed IDEMPOTENT calls; stage untrusted Claude skills only with an approved backend; mark mutating send/delete/bash tools NON_RETRYABLE.
Live host invoke, signed skill revoke, durable dump/leases, and CI/CUCS
evidence so acceptance no longer sits on deferred stubs.
Host capabilities join the standard tool catalog, skill bodies are real
materializations, recovery_required stops re-entry, and outbox replay
carries the original response payload.
Non-stream publish during an open accumulator minted a second Object id,
and finalize_interaction emitted another final under a fresh uuid. Integral
splits bubbles on those ids.
Placeholder interaction ids like i1 leaked between cases and suppressed
legitimate publishes in the governance suite.
Keep upstream-equality for Claude context_window; take origin/dev's
defensive caps.source check.
feat(harness): freeze NativeCaller contracts and ship durable turn runtime
Co-authored-by: Cursor <cursoragent@cursor.com>
…ndling

Introduced a new function to normalize LiteLLM model IDs by lowercasing the provider prefix. Updated the model assignment in DebugInteractions and buildQueryPayload to utilize this normalization function. Added tests to verify the behavior of the new function.
…t content

Co-authored-by: Cursor <cursoragent@cursor.com>
… and event tracking

- Introduced `_register_orchestrator_vocabulary` to declare vault tool results as trusted directive sources.
- Added `DOCUMENT_CONTENT_CONDITION` and `DOCUMENT_SELECTION_RULES` to improve document selection logic.
- Implemented event recording for saved documents and answered pending questions in `vault_events.py`.
- Created `ready_message.py` to manage ready-notice and pending-question responses.
- Updated `check_ingest_status` to utilize new event tracking and response generation.
- Added tests for document selection rules and event recording functionality.
feat(jvchat): replay debug ticks with first-tick tool schemas
…-content

fix(artifact_handler): answer pending questions from ingested document content
Harness turn_run/trace rows on observability_metrics were labeled
"Interaction" at the end of every exchange. Keep them on the node
for recovery; strip from SSE, INTERACTION logs, and Debug picker.
fix(interact): hide harness journal blobs from debug export
@eldonm eldonm self-assigned this Sep 18, 2026
@eldonm
eldonm merged commit d15efd5 into main Sep 18, 2026
7 checks passed
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.

2 participants