← Presentations · ARVANTTI LABS

Arvantti Harness® · Architecture for Developers

Arvantti Harness® for technical teams: adapters for AI harnesses, the CLI as a contract, real terminals, three brains, guardians, agent loops, receipts, and connectors.

17 slides · Technical teams

In presentation mode: use arrows or click to advance, N notes, F fullscreen, Esc exit.

01 / 17 · Front page
Logo Arvantti Labs: Engineering Intelligent Futures

Arvantti Harness®

Architecture for developers:
a harness harness for your code agents

A brand of

Sequoia Space Logo
Presenter notes

Welcome. This is a technical version of Arvantti Harness®, intended for development teams. Let's see the real architecture of the arv-harness repository: the Core in TypeScript, the CLI as a stable frontier, the adapters, the terminals with node-pty and xterm, the Brain on SQLite + sqlite-vec and the desktop Shell in Electron. Arvantti Harness® is a registered trademark of Arvantti Labs, a brand of Sequoia Space.

02 / 17 · The problem and the proposal: a harness of harnesses

The problem

What breaks when escalating agents

01

O(n²) Context

Each turn forwards prompts, tools, skills and complete history. The accumulated cost grows quadratically.

02

Broken cache

Activating or removing a tool or MCP changes the prefix: all history is reprocessed at full price.

03

Pollution

Agents that share context, files and checkout step on each other and drag in extraneous noise.

04

No audit

Which agent did what, with what permission and on what route is lost in the scrollback.

Cache golden rule: what is stable goes up; the volatile, in the end.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

2

Presenter notes

Four specific pains. 1) Models do not save state between turns: the harness forwards system prompt, tool and MCP definitions, skills metadata, CLAUDE.md/AGENTS.md and all history; the accumulated cost of a session grows O(n²). 2) The caching prompt works by identical prefix byte by byte (order: tools → system → messages). Adding or removing tools, changing models or agents, or compacting breaks the prefix and everything after that is reprocessed. Adding content at the end doesn't break it. 3) Subagents and sessions that share context or checkout become contaminated. 4) Without a common control plan there is no record of who did what. Source: ADR-0002 and ADR-0003 (context/cache) and the non-canonical ARVANTI-full-summary.md exploratory design note.

03 / 17 · The problem and the proposal: a harness of harnesses

What is Arvantti Harness®

A harness of harnesses

YOUR HARNESSES

Claude Code

Antigravity

GPT Codex

OpenCode

Kimi

Pi

Gemini

Microsoft Copilot

Local models

Slim adapters

They translate and delegate to the CLI. No business logic.

Arvantti Harness® Core

arvantti

Policy

What is allowed

Grants

Permissions per session

Tasks

Traceable work

Receipts

NDJSON evidence

Brain

Context and memory

Guardians

Routes and secrets

YOUR ENVIRONMENT

Repositories

Real terminals

Connectors

Files and docs

Does not replace your agent: wraps it. Each harness retains its native subagents and tools; They all share a single Core.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

3

Presenter notes

This is how the harness harness works. On the left, the AI ​​code harnesses or CLIs that your team already uses: Claude Code, Antigravity, GPT Codex, OpenCode, Kimi, Pi, Gemini, Microsoft Copilot or local models. Each is connected via a slim adapter, which translates its actions and delegates to Arvantti's stable CLI; The adapter does not have business logic nor is it a source of truth for capabilities (ADR-0001). At the center is the Arvantti Harness® Core, common to all: policy (what is allowed), grants (permissions per session), tasks (traceable work), receipts (evidence in NDJSON), brain (context and memory) and route and secret keepers. The Core operates on your environment: repositories, real terminals (PTY, pseudo-terminals), connectors and files. Arvantti does not disable the subagents, tools or native flows of each harness (ADR-0003): it wraps them with the same control plane.

04 / 17 · Architecture: layers, stable CLI and context

Architecture

Five layers, one authority

01 · Hosts

Electron Desktop

TUI

Pi/arvantti

Your shell

02 Stable CLI

arvantti…

--json

deterministic output

03 Core

Policy and grants

Guardians

Tasks and receipts

Work intake

Brain Ports

04 · Adapters

Pi

Claude Code

Antigravity

GPT Codex

OpenCode

Kimi

terminal

brain

obsidian-vault

local-store

05 · Execution

Real terminal PTY

Worktrees

Foreground processes

Cloud layer · Government

cloudflare

Governance and shared knowledge: Brain, SDD and common memory.

Never run terminals or processes.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

4

Presenter notes

Top-down reading: a request enters through a host (Electron Desktop, the TUI, the Pi adapter with /arvantti or your own shell), crosses the stable CLI (bin/arvantti.mjs → src/cli: parseCliArgs, executeCli, formatCliResult) and reaches the Core (src/core: project-policy, guardians, grant-document, task-contract, task-receipt, work-intake, session-assignments, brain-repository, context-measurement...). The Core does not do I/O nor does it contain an LLM loop: the adapters (src/adapters: pi, terminal with node-pty and ANSI buffer, brain with sqlite-vec, obsidian-vault for SDD, local-store in .arvantti/, transcript, process) do the job effectively. There is one adapter for each AI code harness (Pi, Claude Code, Antigravity, GPT Codex, OpenCode, Kimi), always slim and delegating to the CLI. The execution layer is real PTYs (pseudo-terminals: real consoles created by program, with node-pty), authorized worktrees and foreground processes. Desktop, TUI, and CLI are not permission authorities; the policy is revalidated at the border of the effect. Cloudflare (ADR-0010, milestone H16) will be management, governance and knowledge sharing, never an execution host.

05 / 17 · Architecture: layers, stable CLI and context

ADR-0002 · Stable border

The CLI is the contract

# how much to plan?

$ arvantti plan assess "Migrate auth" --steps=5

# create the SDD only if you choose it

$ arvantti sdd create --level=lite \

    --id=ARV-SDD-0042 auth "Migrate auth"

$ arvantti task link T-12 ARV-SDD-0042

$ arvantti sdd inspect --json

$ arvantti pull skill

We prefer CLI over MCP.

A single stable tool that all harnesses have: Bash.

Human or deterministic JSON output. The policy is revalidated at the border of the effect.

An MCP adds tools to the prefix and breaks the cache upon activation; the CLI enters through bash, paginated and auditable.

help · version · catalog · pull · policy · task · flow · plan · sdd · shell · tui

ARVANTTI LABS · A SEQUOIA SPACE BRAND

5

Presenter notes

We prefer CLI over MCP: each MCP server adds tool definitions to the context prefix, inflates it, and breaks the cache on activation or removal; The CLI is invoked by bash, which all harnesses already have, and returns paginated, composed, and auditable output. ADR-0002: The CLI is the stable boundary for humans, agents, and adapters. Avoid registering a native tool for each integration (which would inflate the prefix and break the cache) and force responses that are paginated, composed, and suitable for entering the end of the context. The 11 commands that exist today are in src/cli/command.ts: help, version, catalog, pull, policy, task, flow, plan, sdd, shell and tui; --json changes the output format. Actual syntax: plan assess <summary> [--steps=N] [--reversible] [--external-effect] [--sensitive] [--architecture] [--uncertain] [--multi-actor] [--force=direct|task|sdd-lite|sdd-full]; sdd create --level=lite|full --id=ARV-SDD-#### <slug> <title>; sdd inspect <bundle>; task <create|claim|complete> <task-id> [title]; task link <task-id> <sdd-id> <sdd-path>; pull <profile|skill|flow|integration> <id> <revision> (requires ARVANTTI_SUBJECT_ID); policy <shared|local> <path>; flow code-review <review>. The example IDs (T-12, ARV-SDD-0042) are illustrative. Note: commands like "arvantti brain search" or "arvantti skill show" appear in ADR-0002 as future examples and do not exist yet. Risk assumed: bash is not sandbox; the CLI validates arguments, routes and scopes.

06 / 17 · Architecture: layers, stable CLI and context

Context engineering

Take care of the prefix, load on demand

01

Stable prefix

Native tools and MCP are set at login.

02

lazy pointers

Compact catalogue; the body enters with pull.

03

Inject at the end

The volatile comes as a message: the cache remains intact.

04

bash + CLI

A tool for everything; nothing about a tool for integration.

As developer, wanna an explicit context budget (.arvantti/context-budget.json) so that, if something doesn't fit, it is rejected instead of being silently truncated.

User story ARV-US-0010 (catalog and pull with quote) · ADR-0002 and ADR-0003.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

6

Presenter notes

Notice: The frame for this slide comes from the ARVANTI-complete-summary.md exploratory note, which is NOT canonical; the canonical is ADR-0002, ADR-0003 and the agentic architecture subplan. 01 Stable prefix: ADR-0003 fixes the native tools/MCP profile at login; changing it live is explicit exception with documented cache impact. Per-session assignments are implemented; measuring cache with real Pi is still pending (H2/H3), that's why Partial. 02 Lazy pointers: three-level design catalog → flow → instructions per agent; keep the chain flat (2 tier is sturdy). Implemented: arvantti catalog and arvantti pull with assignments and receipts (ARV-US-0010). 03 Inject at end: pull by CLI implemented; context-push mode exists as an allocation type but the normal flow is pull by check-in, without injecting work into an active session. 04 bash + CLI: The Pi adapter delegates to the CLI (ARV-US-0008). Quote: context-budget.json declares maxItems, maxCharacters, optional maxTokens (ceil(UTF-8/4 bytes) heuristic, not actual tokenizer) and the paginate/summarize/reject overflow policy; local pull rejects overflow content instead of truncating it.

07 / 17 · Capabilities: terminals, brains, scheduling, gatekeepers, agent loops, receipts and connectors

Multisession and terminals

One terminal per agent

New terminal or subagent?

1

Do you touch files from another agent? Terminal + own worktree

2

Do you need another harness? New terminal

3

Real parallel? Separate terminals

4

If not: substantial task → terminal; light → subagent

Actual execution

What is a PTY? A pseudo-terminal: the same console you use every day, created by Arvantti for each agent. The agent works in a real terminal and Arvantti sees what comes and goes.

Real terminal (PTY) with node-pty and @xterm/headless

Project groups → worktree → session, persisted

Desktop: tabs and divided panels, each with its actual terminal

Multi-agent coordination: each agent in their terminal, with shared tasks and receipts.

Council room: agents compare proposals and reconcile a decision before acting.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

7

Presenter notes

In addition, there is multi-agent coordination: each agent works on their terminal and they share tasks and receipts. And a Council Room, a space where agents contrast their proposals and reconcile a decision before acting, with the person as the final arbiter. Each agent in its own terminal/session, with its context and, if it writes code, its own worktree: this way they are not contaminated. The decision tree comes from the exploratory (non-canonical) note: evaluate in order and stop at the first decisive answer; correction priority (1–2) > capacity (3) > optimization (4). Author's testing data in that note: Pi boots with ~800–1,000 input tokens and Claude Code with ~20,000, so with light harnesses opening separate terminals is cheap. PTY (pseudo-terminal) means a real terminal created by program: the agent thinks he is at a normal console and Arvantti can see what comes and goes. local embedded PTY with node-pty, ANSI buffer with @xterm/headless, tabs, context menu and structural restoration in the TUI (ARV-SDD-0024); hierarchical groups and bindings persisted in .arvantti/terminal-workspace.json; when restoring, sessions appear as unknown and never relaunch themselves (ARV-US-0016). The terminal is free: it does not require policy or grants and is NOT a sandbox; Arvantti does not control a pi or claude that you throw there. Desktop Electron has real PTY, multiple tabs, recursive splits and reattach after reloading the renderer. Worktrees: the Core has a binding contract; creating the first worktree or branch requires explicit human authorization (ADR-0004). The Session Relationship Canvas (ARV-SDD-0025) is planned.

08 / 17 · Capabilities: terminals, brains, scheduling, gatekeepers, agent loops, receipts and connectors

Brain ADR-0005

Memory with provenance

KNOWLEDGE

Fountain

Revision

Document

Chunky

Vector

CLAIMS

Entity

Relationship / Claim

Evidence

DECISIONS

Actor

Decision

Evidence

The agents never They touch base: they query for ports and CLI.

new sqlite + sqlite-vec

  • FTS5 with bounded query
  • Writing before persisting
  • Snapshot with VACUUM INTO
  • Explicit vector dimension

ADVANTAGES

  • Local, in a local cloud or in your private business cloud: the data does not leave
  • A single file, no server to operate
  • Text and vectors on the same base
  • Trivial backups and copies

ARVANTTI LABS · A SEQUOIA SPACE BRAND

8

Presenter notes

Advantages of this architecture: it is private and can live on the computer, in a local cloud or in the company's private cloud, without the data leaving that environment; It's a single file, with no database server to operate; stores text (FTS5) and vectors (sqlite-vec) in the same database, so hybrid search does not require synchronizing two systems; and backups are trivial with VACUUM INTO. Additionally, since the domain is port-based, it can be projected to the cloud without changing the agents. The business brain is memory in a graph: what is known, what was decided and what happened, always with origin and temporality. Logical model (architecture/brain-data-model.md): Project, Knowledge source and revision (provenance and digest), Document and chunk, Brain snapshot (separated from commit and dirty delta), Entity, Claim and Relation (with trust and validity), Evidence (safe locator + digest), Decision (what, who and with what evidence), Actor, Embedding profile and Vector reference. ADR-0005 (accepted): New SQLite + local sqlite-vec for Brain V1; PostgreSQL and Neo4j are discarded due to premature operating costs and the hybrid due to synchronization complexity. sqlite-vec serves only the vector index behind VectorIndexPort; the domain goes by BrainRepositoryPort and BrainQueryPort. node:sqlite is experimental on Node 22. Cloudflare D1/Vectorize would be a future Cloud projection, not the source of truth. ARV-US-0012 Status: partial. The tasks live in the Tasks capability (implemented) and the pending decisions as Brain entity are in the model, even without query CLI. Commands like "arvantti brain search" are future design, they don't exist yet.

09 / 17 · Capabilities: terminals, brains, scheduling, gatekeepers, agent loops, receipts and connectors

three brains

AI knows your project, your decisions and your code

PROJECT BRAIN

Project report

SDDTasksDocsContextProject

Each agent starts knowing where the work is.

GRAPH BRAIN

Decision graph

WhoWhenEvidenceD1D2D3?earring

Who decided what, when and with what evidence.

UNDERSTANDING REPO

Code graph

apicoredata

Modules, functions and dependencies at a glance.

The agent consult the map instead of going through the repo- Less tokens, fewer bugs, and better changes.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

9

Presenter notes

Arvantti Harness® gives AI three brains. One, the project brain: the project memory, with its SDD, tasks, documents and context, so that each agent starts knowing where the work is. Two, the decision graph brain: a graph of who decided what, when and with what evidence, including pending decisions. Three, understanding repo: a code graph with the map of functions, modules and dependencies of the repository, so that the AI ​​understands the code in one pass. Instead of reading file by file, the agent consults the map: it spends fewer tokens, makes fewer mistakes, and proposes better changes. Everything lives in the local Brain, with provenance, and agents query it by ports and CLI.

10 / 17 · Capabilities: terminals, brains, scheduling, gatekeepers, agent loops, receipts and connectors

Work intake and SDD

Plan just enough, no more no less

Straight

One step and reversible.

Task

Trackable without SDD. It is the default value.

SDD Lite

4+ steps, uncertainty, multiple actors or sensitive effect.

full sdd

Architecture, 8+ steps or 3+ risk signs. Suggest ADR.

$ arvantti plan assess "New event bus" --architecture --json

→ "recommendedMethod": "sdd-full", "recommendsAdr": true

The recommendation is advisory: you decide with --force. Full SDD = primary note + 7 phases.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

10

Presenter notes

Work Intake / SDD Resolver (src/core/work-intake.ts, ARV-US-0003) recommends one of four methods based on explicit and harness-neutral signals. Actual rules: SDD complete if there is architectural decision, 8 or more steps, or 3 or more signals between external effect, security sensitivity, material uncertainty and multiple actors; also recommendsAdr. SDD Lite if there is uncertainty, multiple actors, external or sensitive effect, or 4 or more steps. Direct only if it is exactly one step and --reversible. If not, Task. The recommendation never creates a Task or an SDD, does not grant permissions, and does not replace the policy; --force=direct|task|sdd-lite|sdd-full register your choice. Afterwards, the creation is explicit: arvantti sdd create --level=lite|full --id=ARV-SDD-#### <slug> <title> (ARV-US-0013 and 0014). The complete SDD is a primary note plus seven phases: brief, spec, design, tasks, execution, verify and closing. arvantti sdd inspect <bundle> detects ID and lifecycle drift without writing Markdown, and arvantti task link keeps Task as the authority. Everything is Markdown Obsidian-native: YAML frontmatter, wikilinks and normal folders. The Task ↔ SDD flow with receipts was verified end-to-end (ARV-SDD-0017).

11 / 17 · Capabilities: terminals, brains, scheduling, gatekeepers, agent loops, receipts and connectors

Policy, grants and guardians

Deny by default

01

Safe route

Relative to the project and without traversal, before any I/O.

02

Policy

Shared + local. The local only restricts.

03

grant

Subject, resource and operation. Revocable.

04

Drafting

Secrets outside transcripts, receipts and logs.

filesystem-read · filesystem-write · filesystem-delete · process-execute · catalog-pull · dependency-install

Bash is not sandboxed: The authorization is revalidated at the border of each effect.

User story: as security manager, wanna that if an agent tries to read or change an API key, the guardian will block it and ask for my authorization, and that any key that appears in the output will be as [REDACTED], so that no secret ends in transcripts, receipts or logs.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

11

Presenter notes

Key user history: If an agent attempts to read, display, or change an API key (for example in an .env file), the path and operation pass through the watchdog; secrets require explicit human authorization (ADR-0004), and any secret-like value appearing in the output is replaced by [REDACTED] before reaching transcripts, receipts, or logs. Actual authorization string (src/core/guardians.ts and project-policy.ts). 01 authorizeProjectPath lexically normalizes the path: it must be relative to the project and not traversal; only then is policy evaluated, and the caller only opens the route after an allow. 02 Shared policy (.arvantti/policy.shared.json) plus restrictive local override (policy.local.json); A local override never removes restrictions. 03 Grants in .arvantti/grants.json: link subject, project, resource and operation, and are revoked; in V1 they do not expire on their own. The operations with effect (EffectOperation) are the six of the line in monospace. 04 redactOutput recursively sanitizes the output before transcript, receipts or logs: configured literals and secret-like assignments are replaced by [REDACTED]; It is an exit defense, it does not authorize reading a secret. Partial because the full persistent connection to Room/log is missing (ARV-US-0007). There is also a dependency guardian for pnpm. ADR-0004: continuous safe allows editing, stage and commit within an already authorized task and worktree; the first branch or worktree, merge, push, PR, deletes, secrets, network or external MCP, deploy and publish require explicit human authorization.

12 / 17 · Capabilities: terminals, brains, scheduling, gatekeepers, agent loops, receipts and connectors

Agent Loops

Agents who build and agents who monitor

DEVELOPMENT LOOP

Plan with SDD

Implement

Proof

Review and correct

SECURITY LOOP

Monitor files and outputs

Detects keys and sensitive data

Block reading of .env

Write and report

While some agents program, others monitor: no key or sensitive data escapes, and the AI ​​does not read your .env.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

12

Presenter notes

Arvantti Harness® works with agent loops. The development loop plans with SDD, implements, tests and reviews, and starts again until the task is closed. In parallel, the security loop runs: agents that monitor files and outputs, detect keys and sensitive data, block the reading of .env files and other secrets, and write the output and notify a person when something tries to exit. Thus, while some agents build, others take care that no key or sensitive data escapes. The loops are supported by the gatekeepers, policy and grants from the previous slide.

13 / 17 · Capabilities: terminals, brains, scheduling, gatekeepers, agent loops, receipts and connectors

Receipts and traceability

Each effect leaves evidence

{ "schemaVersion": 1,

  "receiptId": "",

  "taskId": "T-12",

  "actorId": "",

  "action": "linked",

  "recordedAt": "" }

Form of a task receipt (NDJSON). Illustrative values.

Tasks: created, claimed, completed, linked

Pull: delivered or rejected per session

CLI audit outside of Git

Intended to support an AI management system aligned with ISO/IEC 42001. It is not a certification.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

13

Presenter notes

Receipts are append-only records, independent of the ALL of each harness. TaskReceipt (src/core/task-receipt.ts): schemaVersion, receiptId, taskId, projectId, actorId, action (created | claimed | completed | linked), status and recordedAt; They are persisted as NDJSON in the local-store. PullReceipt (pull-receipt.ts): receiptId, assignmentId, sessionId, target (id and revision), deliveredAt, outcome delivered | rejected and summary. Technical IDs are stable v7 UUIDs, independent of routes and titles. There is also a redacted transcript receipt and contextual observations; its full persistence is still ongoing (ARV-SDD-0007 running). In roadmap (ARV-US-0025): a lightweight, append-only, filterable audit CLI for changes not covered by Git (SDD, Design MD, Brain decisions, agentic configuration), with model declared, reported or unknown; failing a log warns without blocking, and a receipt that is not durable is never asserted. About ISO/IEC 42001: say it carefully. Traceability is intended to support AI management practices aligned with the standard; Arvantti is not certified nor does it certify anyone.

14 / 17 · Capabilities: terminals, brains, scheduling, gatekeepers, agent loops, receipts and connectors

Connectors and MCP

MCP via Arvantti

CaseHow to enterCache
Native MCP on the harnessTools in the prefixReprocesses on activation and removal
MCP via ArvanttiMessage + CLI for bashIntact
Skill with pointerThe agent requests it via CLIIntact

We prefer CLI, but we also have a native MCP layer for clients and harnesses that need it, with the same policy, grants and registration.

Credentials

They live in Arvantti, never in the agent.

human gate

External network and MCP ask for consent.

Record

Every call leaves evidence.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

14

Presenter notes

Although we prefer CLI, Arvantti also has a native MCP layer: clients and harnesses that work with MCP can connect directly, always behind the same policy, the same grants and the same registry. The table comes from the exploratory (non-canonical) note, Zoho scenario: if you activate a native MCP mid-session, its tools enter the prefix and the history is reprocessed on activation and again on deactivation. If Arvantti connects the MCP, sends the list of commands as a message and the agent bash them via the CLI: the cache is left intact; When you deactivate it, Arvantti stops accepting those commands and warns you. Bonus: credentials live on Arvantti and every call is logged. The canonical (master plan §11 and agentic subplan): MCP is integration/adapter, not orchestration core; the decision is CLI-first local and MCP is limited to future external providers, behind adapter, policy and consent; external network/MCP is always human gate. Milestones: H10 (Code Intelligence, LSP and limited local MCP) and A8 of the agentic subplan (optional packages/MCP/external services with ADR, threat model, consent, cost and rollback per integration).

15 / 17 · Hosts and architecture decisions

Shell and hosts · ADR-0011

Desktop first, CLI always

Electron Desktop

PTY in the main process. Tabs, splits, Sessions and Projects.

TUI

Thin client for SSH and headless.

Adapters

Pi, Claude Code, Antigravity, GPT Codex, OpenCode and Kimi delegate to the local CLI.

Cloudflare Web

Government and Brain shared. Without terminal.

PTY = pseudo-terminal: a real console that Arvantti creates and observes for each agent.

Mandatory real terminal (ADR-0008): no simulated PTY.

ARVANTTI LABS · A SEQUOIA SPACE BRAND

15

Presenter notes

The adapters connect each code harness with AI (Pi, Claude Code, Antigravity, GPT Codex, OpenCode and Kimi) and delegate to the local Arvantti CLI. Decision history: ADR-0006 proposed a local-first Web Shell as the primary interface and the TUI as the secondary one; ADR-0007 and ADR-0009 accompanied her. The three were replaced by ADR-0011: Electron Desktop is the first graphical Shell and the Web is left for Cloudflare, without a terminal. Desktop (apps/desktop, Electron 45 + xterm 6, development preview, ARV-SDD-0037/0038): PTY and privileged effects live in the main process; The preload is minimal and the IPC is authorized by sender, frame and origin. There is verified CSP, flow control with ACK and watermarks (270 KB and 1 MB bursts in E2E tests), shutdown with added confirmation, reattach after reloading the renderer and a 5 minute soak. After relaunching the app, metadata and layout are restored, never processes. There is no installer, signature or updater. TUI: arvantti tui and arvantti shell; Streaming, permissions, resize and end-to-end cancellation are pending. Shared logic is not duplicated per platform. ADR-0008: Every functional shell must have a real PTY; Mocks are only valid for design or isolated tests.

16 / 17 · Hosts and architecture decisions

Architectural decisions

The ADRs that matter

Each harness is an adapter, not the Core: Pi, Claude Code, Antigravity, GPT Codex, OpenCode, Kimi

The CLI is the stable frontier for harnesses

Preserve harnesses; assignments per session

Light autonomy in authorized worktrees

Brain in new SQLite + sqlite-vec

Real Terminal (PTY) required in the Shell

Cloudflare rules; does not execute

Electron Desktop as first Shell

Multiplatform with small adapters

ARVANTTI LABS · A SEQUOIA SPACE BRAND

16

Presenter notes

ADR-0001: each harness enters as a thin adapter (Pi, Claude Code, Antigravity, GPT Codex, OpenCode, Kimi), never as a Core or as a source of truth for capabilities or policy. ADRs live in the documentation vault (Arvantti-Harness/adr). 0004: continuous safe within already authorized task, worktree and branch; First worktree or branch creation, merge, push and destructive actions require authorization. 0005: SQLite + sqlite-vec for Brain V1, with D1/Vectorize as future Cloud projection. 0008: A graphical shell without actual PTY is not deliverable. 0010: Cloudflare is management, governance and shared knowledge, never a host of terminals, PTYs or commands. 0011: Electron Desktop first; A local Web Shell is not built with Connector now. 0012: no forks per operating system, only small adapters with a common contract.

17 / 17 · Contact

Let's build together

Which agents do you want to get under control first?

Request a technical demo or propose an adapter for your harness.

Andres Quiceno

Engineering CTO

[email protected]

Arvantti satellite mascot celebrating Arvantti Labs Logo

A brand of

Sequoia Space Logo
Presenter notes

Closing for technical teams: we invite you to a demo of the CLI, the TUI and the Desktop preview, or to propose an adapter for the harness used by your team. Contact: Andrés Quiceno, CTO of Engineering, [email protected]. Web: arvantti.tech. LinkedIn: Arvantti Labs and Sequoia Space Latam. Arvantti Harness® is a registered trademark of Arvantti Labs, a brand of Sequoia Space.