CareerVector Assistant Connector Runtime
Outcome
CareerVector can connect a person's provider account, stream an assistant turn, cancel it, expose only bounded CareerVector tools, and recover honestly without treating provider login as product identity or giving a model filesystem, terminal, database, or arbitrary-network authority.
Process placement
The native TUI's device-local host is as built. It downloads checksum-pinned official connector artifacts into private application data, activates them atomically, retains a rollback target, supervises their processes, and keeps provider credentials out of application/workspace data.
The web chat rail still needs an execution bridge. That placement is intentionally open. A hosted service, a local companion, or another reviewed mechanism may be selected only if it preserves link-based workspace access, provider credential isolation, persistent thread/replay semantics, the typed tool boundary, and the no-paywall promise. The architecture no longer assumes a hosted connector gateway indexed by a CareerVector identity principal.
Stable connector boundary
- ChatGPT/Codex uses the official Codex App Server JSONL protocol and ChatGPT device login. It is not ACP.
- Gemini and GitHub Copilot use their native ACP boundaries where provider terms and protocol maturity permit.
- A provider connector owns provider login, credential storage, model/session behavior, stream, cancellation, and limits.
- CareerVector owns the connector allowlist, reviewed versions/checksums, managed installation, process sandbox, context policy, tools, visible events, and recovery.
- ACP interoperability is not provider authorization. Unsupported or legally unclear connectors stay absent.
The TUI's current field-replacement contract and local MCP stdio service are as-built evidence. Product integration replaces their filesystem adapter with the shared canonical assistant tool boundary; it does not grant additional filesystem or shell access.
Thread, event, and privacy contract
Provider runtimes may own opaque provider conversation state. CareerVector owns any workspace-scoped thread mapping, normalized durable transcript/events, tool receipts, and replay cursor needed to project the same assistant through browser, TUI, and Tauri. Route/job/document context narrows a turn but never grants authority.
No prompt, response, document, provider credential, workspace link, or tool payload enters ordinary logs or aggregate Management telemetry. Management may receive connector/runtime version, install outcome, turn duration, limit/error class, cancellation outcome, and explicit participant-supplied diagnostics.
Failure and recovery
- Provider limit or authorization expiry remains distinct from workspace access.
- Connector crash or protocol mismatch fails closed and preserves direct workspace work.
- Runtime install/update verifies provenance before activation and can return to the previous verified version.
- Cancellation, late events, reconnect, and duplicate suppression have explicit terminal rules.
- Web execution failure cannot sign a person out because CareerVector has no product login.
Implementation evidence and gaps
careervector-tui/careervector-tui/src/runtime.rs and assistant.rs are the normative as-built
device-host evidence. lib/agent-gateway remains useful supporting TypeScript evidence for
Codex initialization, normalized events, bounded dynamic tools, and transcript fixtures; it is
not proof of a deployed hosted service or a reason to reintroduce accounts.
Signed cterm/TUI distribution, web execution placement, cross-client persistent threads/events, canonical tool adapters, connector supply-chain projection into Management, and production provider consent smokes remain target/open work.
Acceptance evidence
Acceptance requires hermetic protocol fixtures, checksum/signature and rollback tests, process isolation, credential/log scanning, bounded-tool denial tests, canonical mutation parity, durable stream replay/cancellation, link/provider-authority separation, and one consented smoke for each shipping provider and client placement.