Skip to content

JVNAUTOSCI-2694: add durable bulk conversation imports - #480

Merged
witbrock merged 1 commit into
mainfrom
feature/jvnautosci-2694-bulk-conversation-import
Aug 29, 2026
Merged

JVNAUTOSCI-2694: add durable bulk conversation imports#480
witbrock merged 1 commit into
mainfrom
feature/jvnautosci-2694-bulk-conversation-import

Conversation

@witbrock

Copy link
Copy Markdown
Member

Outcome

Adds a server-owned, durable importer for all supported local Codex, Claude Code, VS Code/Copilot, and Gemini conversation stores. Imports are actor-scoped and read-only, survive browser/network/process interruption, and can be paused and resumed. Repeated runs preserve known Von history and append only unseen interactions; changed, missing, or reordered source events produce a divergence receipt rather than rewriting prior history.

No deployment or real machine-wide import is included.

Implementation

  • allowlisted local discovery with client paths rejected
  • bounded streaming raw custody and JSONL parsing
  • Gemini journal adapter
  • durable batch/item state, fenced leases, heartbeats, checkpoints, bounded retry, planning/startup recovery, pause/resume/cancel
  • authenticated status/control APIs and progress/reconnect UI
  • append-only event reconciliation and canonical read-back
  • canonical design documentation update

Validation

  • 125 broad affected/neighbouring backend tests passed
  • 25 focused backend tests passed after final recovery/divergence refinements
  • 37 startup/blob-storage tests passed
  • 2 focused frontend tests passed
  • Python F/E9 lint, Pyright, py_compile, static frontend lint, and git diff checks passed
  • full frontend: 489 passed, 9 failed; the identical 9 failures reproduced on a clean origin/main worktree under the same unlocked Node 26 toolchain
  • read-only live preview found 35,632 sources (41,229,058,994 bytes); no import was started

Jira: JVNAUTOSCI-2694

@von_bp.route("/api/session/external_conversation_import/preview", methods=["POST"])
def preview_external_conversation_bulk_import_route():
try:
_user_id, _effective = _external_bulk_import_request_context()
@von_bp.route("/api/session/external_conversation_import/preview", methods=["POST"])
def preview_external_conversation_bulk_import_route():
try:
_user_id, _effective = _external_bulk_import_request_context()
*,
content_type: str | None = None,
metadata: Mapping[str, str] | None = None,
) -> BlobRef: ...
@witbrock
witbrock merged commit 4ca320d into main Aug 29, 2026
4 checks passed
@witbrock
witbrock deleted the feature/jvnautosci-2694-bulk-conversation-import branch August 29, 2026 17:19
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.

1 participant