FAQ
Common questions from developers evaluating or getting started with ostk.
01 How do multiple AI agents edit the same file without conflicts?
ostk uses optimistic concurrency control. Every file:edit() specifies the text the agent expects. If another agent changed it, the kernel detects the mismatch and resolves it through a 3-tier system: auto-merge for non-overlapping edits, mechanical rebase for nearby edits, and manual escalation for structural conflicts. No locking, no blocking.
READ_MORE →02 How do I install ostk?
One command: curl -fsSL https://ostk.ai/install | sh. The script detects your platform (macOS arm64/x86_64, Linux arm64/x86_64), downloads the correct binary, verifies its GPG signature, and places it in your $PATH. Then run ostk init and ostk boot.
READ_MORE →03 Do I need to modify my AI agents to work with ostk?
No. The write path is invisible — agents edit files with their normal tools. The OS intercepts writes at the tool layer, coordinates between agents, and maintains an audit trail. Agents never know ostk is there. This is the first of the Five Laws.
READ_MORE →04 How do I keep API keys safe from AI agents?
Secret values never enter the LLM context. The kernel resolves keys from your platform keychain (macOS Keychain, Linux secret-tool) at call time and injects them via subprocess environment variables. All tool output passes through a masking layer that replaces any secret values before the LLM sees them.
READ_MORE →05 What is my trust tier?
Trust is determined by GPG cross-signatures. T0: your GPG key fingerprint is hardcoded in the kernel trust anchors (full governance — not reachable by ceremony). T1: your key is cross-signed by a T0 holder (write access). T2: GPG key present, not cross-signed (read + narrow write exceptions). T3: no GPG key (boots, reads everything, writes denied by pin caps). Run ostk boot to see your tier.
READ_MORE →06 Can AI agents work on the same repository without conflicts?
Yes. ostk coordinates file access across agents through optimistic concurrency. Each agent gets a workspace boundary. Generation counters track every file write. When conflicts occur, the kernel resolves them mechanically — no LLM is called for conflict resolution. In practice, conflicts drop to near zero.
READ_MORE →07 How do I track what changes AI agents made?
Every agent action is logged to an append-only audit trail (.ostk/journal.jsonl). File edits, shell commands, tool calls, spawns, approvals — all timestamped and attributed. Run ostk os audit check to verify trail integrity. The process table is reconstructible from the audit log at any point.
READ_MORE →08 Does ostk require a cloud connection?
No. ostk is local-first. Agent coordination happens through local files. The only network calls are to LLM providers when you run agents. The kernel itself is entirely offline. No telemetry, no analytics, no cloud sync.
READ_MORE →09 What happens if an agent crashes?
Agents are ephemeral — crashes are the expected operating condition. The kernel writes drain snapshots at every turn boundary. On daemon restart, fold(journal.jsonl) reconstructs the fleet and rehydrates sessions from snapshots. Mid-flight, the heartbeat monitor detects crashed workers and hot-rehydrates them.
READ_MORE →10 What is a needle?
A needle is an atomic, executable work item with acceptance criteria. It is the unit of work in ostk, stored in .ostk/needles/issues.jsonl. Create one with ostk work add --priority P0 "title". Needles have priority tiers (P0-P3), status tracking, and dependency links.
READ_MORE →11 What is tack?
Tack is the operator intent language in the TUI. You type commands into the tack bar: :compile dispatches to the kernel, .? queries the OS through the LLM, →573 references a needle, and bare text is filed as hay (raw unstructured intent for later compilation into needles).
READ_MORE →12 How does ostk differ from Cursor, Devin, or Aider?
ostk is an OS, not an IDE or agent. It coordinates multiple agents from any provider (Claude, Gemini, Mistral) on the same codebase simultaneously. Cursor and Aider are single-agent tools. Devin is a cloud-hosted agent. ostk runs locally, is agent-agnostic, and provides trust governance, audit trails, and crash recovery that none of these tools offer.
READ_MORE →GLOSSARY
Key terms used throughout the documentation.
needle An atomic, executable work item with acceptance criteria. Stored as YAML frontmatter + markdown in .ostk/needles/. The unit of work in ostk. hay Raw unstructured intent captured for later compilation into needles. Filed via bare text in the tack bar or ostk hay "...". tack The operator intent language used in the TUI. Commands prefixed with : dispatch to the kernel. Bare text files as hay. drain snapshot Session state written to .ostk/drain/<lineage_id>.json at every turn boundary. Contains conversation history, token accounting, and config. Enables crash recovery. anchor The long-lived daemon process started by ostk listen. Holds the socket, process table, and scheduler. Survives client disconnects. lineage A stable identity for an ongoing piece of work (e.g., "scheduler", "worker-a"). Outlives both the client that spawned it and the anchor that ran it. FCP File Context Protocol — the interface for drivers that extend the kernel with domain capabilities. MCP servers that let LLMs interact with complex file formats. Hot PR The kernel's 3-tier conflict resolution system. Tier 1: auto-merge (non-overlapping). Tier 2: mechanical rebase (nearby). Tier 3: manual escalation. generation counter A monotonic counter incremented on every file write. Used for optimistic concurrency — if the counter changed, another agent modified the file. bail A portable, signed OS bundle. Named for a bail of hay — what you extract from a haystack. Contains public identity (.primefile, ENTITYFILE), boot state, and optionally encrypted internal kernel state or selective exported content. Three modes: public, full, export. See /docs/security/#signed-portable-state-bail. fold(journal.jsonl) Replaying the append-only audit log to reconstruct fleet state. The process table is a projection of the audit log — the daemon is a cache, not a ledger. .language A pipe-delimited table of verbs, their tiers, layers, and usage momentum. The kernel loads high-momentum verbs at boot and demand-spawns the rest. sub-stack An isolated group of sessions with its own audit log, drain directory, token budget, and IPC channels. Created by the scheduler for multi-worker tasks. OCC Optimistic Concurrency Control. Agents write freely; the kernel detects conflicts via generation counters at commit time, not lock time.