Skip to content

JVNAUTOSCI-2613: Carry shared conversation situations across turns - #327

Merged
witbrock merged 1 commit into
mainfrom
codex/JVNAUTOSCI-2613-conversation-situation
Jul 29, 2026
Merged

witbrock merged 1 commit into
mainfrom
codex/JVNAUTOSCI-2613-conversation-situation

Conversation

@witbrock

@witbrock witbrock commented Jul 29, 2026 •

Copy link
Copy Markdown
Member

What changed

  • Added a bounded, inspectable, revisioned conversation-situation description to the canonical chat session, with request provenance and fail-soft reads.
  • Made the ordinary adaptive turn receive and optionally revise that provisional situation in the same model call; private sidecars are accepted only with a real terminal user answer.
  • Taught the turn to treat focused elicitation as information acquisition when a material user-held fact is otherwise unavailable, while using tools or recoverable assumptions first and avoiding permission theatre.
  • Projected exact late durable-effect outcomes into the conversation without redispatch, preserving actor authority separately from shared-conversation ownership and keeping raw actor diagnostics out of the wider audience.
  • Added bounded observation omission accounting, durable projection watermarks, conflict-safe situation CAS, atomic reset, owner-only shared reset, and bounded Atlas projections.
  • Updated the repository constitution and routed design guidance with the conversation-as-shared-situation-carrier principle, including when stronger representations may earn their place.

Why

The live receipt replay exposed a systemic failure: Von preserved individual turns, workflows, and telemetry more successfully than it preserved the shared undertaking. Later turns reconstructed continuity forensically, treated the latest user input as a complete packet, and could inspect machinery instead of resolving the user's objective. This change makes the conversation a distinguished, revisable carrier of objectives, referents, commitments, unknowns, questions, effects, and outcome criteria while leaving canonical knowledge and effect stores authoritative.

Validation

  • 233 impacted adaptive, storage, durable-reconciliation, route, shared-owner, reset, history, and critique tests passed on commit 80dc49c9.
  • Deterministic causal replays cover a user-only material unknown, the carried outstanding question and reply, and a tool-resolvable no-question control.
  • Regressions cover sidecar-only/non-success responses, malformed optional carrier state, bounded omission accounting, actor/owner separation, audience-safe late outcomes, CAS/reset ordering, and bounded Atlas tail projections.
  • ruff fatal-error checks, Python compilation, git diff --check, and an independent architecture review passed.

Evidence boundary: scripted tests prove the carrier and causal plumbing; they do not by themselves establish a live model's elicitation rate. That remains an evaluation claim, not a reason to add another controller.

Jira: JVNAUTOSCI-2613

Copilot AI review requested due to automatic review settings July 29, 2026 16:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a bounded, revisioned “conversation situation” carrier (plus a small exact-observation projection) that is stored alongside canonical chat history and threaded through adaptive turns, shared-conversation ownership, reset, and late durable-effect reconciliation, with documentation updates to make the conversation-as-shared-situation-carrier principle explicit.

Changes:

  • Added chat-history session APIs for reading/writing a revisioned conversation-situation descriptor and bounded exact conversation observations, including atomic reset semantics.
  • Plumbed situation + observation projection through /von/generate, /von/history, and /von/reset, including shared-conversation owner authority and fail-soft state reads/writes.
  • Extended durable workflow terminal reconciliation to project canonical late outcomes back into the owning conversation as exact observations (idempotently), without making reconciliation fail if projection fails.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/backend/test_von_reset_route.py Updates reset-route expectations and adds shared-owner reset authority test.
tests/backend/test_von_history_debug_endpoint.py Verifies history endpoint returns conversation situation/observations without hydrating large debug payloads.
tests/backend/test_von_generate_conversation_session_override.py Adds coverage that generate carries forward and CAS-updates situation text; validates shared owner behaviour.
tests/backend/test_turn_execution_record_service_execution_summary.py Ensures durable terminal reconciliation projects a conversation observation and records a projection watermark.
tests/backend/test_turn_execution_record_projection.py Validates turn projection preserves actor scope while recording history owner/namespace metadata.
tests/backend/test_set_chat_session_endpoint.py Updates history endpoint tests to the new session-state retrieval shape and tail/debug controls.
tests/backend/test_chat_history_conversation_situation.py New comprehensive suite covering session-state reads, CAS writes, malformed optional fields, bounded observations, and atomic reset.
tests/backend/test_adaptive_turn_service.py Adds tests for sidecar situation protocol handling, elicitation behaviour, and bounded observation projection.
src/backend/services/turn_execution_record_service.py Adds “conversation_projection” phase and projects late durable terminals into conversation observations.
src/backend/services/chat_history_service.py Implements session-state read API, CAS situation writes/clears, bounded observation append/clear, and atomic reset.
src/backend/services/adaptive_turn_service.py Implements private sidecar extraction, bounded observation projection, and threads situation/observations into the system scope message and result.
src/backend/server/routes/von_routes.py Routes now load/persist conversation situation + observation state, enforce shared-owner reset authority, and expose these fields in /von/history.
docs/engineering/minimal_imposition_design_principle.md Updates guidance to treat focused questioning as legitimate information acquisition (not permission theatre).
docs/engineering/contextual_knowledge_evolution.md Documents conversation situations as lightweight theories and when stronger representations earn their place.
AGENTS.md Updates the repository constitution to formalise conversation-as-shared-situation-carrier and minimal-imposition elicitation guidance.

@witbrock
witbrock marked this pull request as ready for review July 29, 2026 16:36
@witbrock
witbrock merged commit 4d8eb63 into main Jul 29, 2026
5 checks passed
@witbrock
witbrock deleted the codex/JVNAUTOSCI-2613-conversation-situation branch August 3, 2026 11:58
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