How it works

A crew, one job each.

The seafarer's machine does the reading and the deciding. The cloud model sees placeholders. A gateway outside the agent enforces the boundary.

Architecture

SEAFARER'S MACHINE (WSL2 Ubuntu or Linux, Docker)
+---------------------------------------------------------------+
| OpenShell gateway: policy, provider credentials, prover       |
|   +-- Sandbox "dogwatch" (read-only vault, no other network)  |
|   |     Bosun -> Navigator -> Officer of the Watch -> Lookout |
|   |   allowed egress: Token Factory chat, Tavily, Radio       |
|   |   Officer API, policy.local                               |
|   +-- Seal middleware (fail closed) on every allowed endpoint |
| Radio Officer (host): Telegram, email, calendar, approvals    |
| Encrypted vault: document images, identifier table            |
+---------------------------------------------------------------+
HOSTED JUDGE DOOR: the same Navigator, Bosun and Lookout code on the
specimen profile. It is not the sandboxed product.

The crew

MemberRuns whereJob
BosunInside the sandboxOCR, placeholders, structuring with a verbatim quote per field
NavigatorInside the sandboxEvery verdict, in code, no model
Officer of the WatchInside the sandboxThe always-on loop: triage, plan writing around locked values
LookoutInside the sandboxWeekly rule-drift watch on administration sites
Radio OfficerHost sideTelegram, approval tokens, rehydration, email, calendar
The SealOpenShell middlewareRefuses any outbound request carrying a vault value
The MasterThe seafarerPhotographs stamps, approves packets, approves or rejects new access

Rule packs

PackRulesStatus
au-amsa5sourced, each quote checked against a snapshot
in-dgs2sourced, each quote checked against a snapshot
ng-nimasa0no rule shipped: the source was not read
sg-mpa4sourced, each quote checked against a snapshot
stcw-core1sourced, each quote checked against a snapshot
uk-mca3sourced, each quote checked against a snapshot

A rule that could not be sourced does not exist; the engine answers Ask administration.

Where a model is used

Triage with Nemotron Nano, structuring with Super, plan prose with Ultra, drift reading with Nano. None of them decides validity, computes a date or writes a digit Arjun acts on.

SDK surface: what is live, what is not

FeatureStateDetail
OpenShell policy proverLOCAL BUILDRun on the build machine, version 0.1.6. Declared policy within the boundary; attack proposals reported with counterexamples.
OpenShell provider profile (NVIDIA API Catalog)LOCAL BUILDThe stock NVIDIA profile was linted, imported and attached as a provider on the build machine. The Token Factory profile is written and not yet imported. The sandbox prover found its read-write access too wide; it was narrowed, and the effective-policy re-proof is unsupported by the prover.
OpenShell supervisor middleware (the Seal)LOCAL BUILDRegistered with a gateway started on the build machine, and a policy naming it before registration was refused at admission. Sandbox enforcement with the Seal in the path: P4 on the Actions runner (3 of 3 refused with HTTP 403 when the Seal was stopped).
OpenShell sandbox and policy advisorLIVE RUNRuns on a GitHub Actions ubuntu-24.04 runner. Live: P2 (20 of 20 injected posts denied, canary 0), P4 (fails closed: 403 with the Seal stopped), P5 (the agent sees only a placeholder) and the advisor flow (run 2). P1 found two excesses in the provider profile, fixed; the effective-policy re-proof is unsupported by the prover. The build machine kernel (5.10) cannot start the sandbox.
Nemotron via the NVIDIA API Catalog (development route)LOCAL BUILDLive calls with receipts that name the route. Every model result on this site came from this route.
Nemotron on Nebius Token FactoryNOT RUNThe submission route. No key was available, so no Token Factory call has been made. One script switches the route and re-runs the evidence.
Tavily search and extractLOCAL BUILDLive calls: the rule-drift watch, and extraction of the Singapore and India rule sources that could not be opened directly.
NemoClaw, Hermes, Nebius ServerlessNOT USEDNot used, so not claimed.