Packages
Every package below is published to npm under @titan-design/ and versions independently. A package in this repo may import only its own tier or a lower one. Products are compositions, private unless linked; the design system is published from a separate repository.
Tier 0 — primitives
Domain-free building blocks. No titan dependencies.
| Package | What it does | Titan dependencies |
|---|---|---|
agent-protocol | Harness-neutral identity and usage contracts for execution and session readers | none |
anthropic-account | Anthropic account state: usage readings, token-free login state, account labels and secret redaction, with a ./node subpath for profiles, the 0600-gated credentials read, the usage file, the usage poller and the locked, atomic token refresh | none |
app-paths | Resolve an app's per-user data, config, cache and log directories, plus active-work's data root, with no runtime dependencies | none |
authority | The authority decision table as data: who may merge, release, read secrets, spawn or actuate hardware, with a pure evaluator | none |
chat-protocol | The canonical chat message document and envelope every agent-chat surface speaks | none |
cluster | Deterministic Drain template mining with pluggable line masking | none |
code-parser | Tree-sitter WASM parsing for TypeScript, TSX and Python, plus the source-file filter and the Extractor contract | none |
egress-scan | Scan git diff text for home paths, private-workspace paths, private terms and credential tokens, reporting location and rule id only | fix-proof |
embed | Local embedding runtime (local/Ollama/remote) with a zero-download hash fallback | none |
eslint-plugin | ESLint rules that enforce the titan code-quality limits: functions of at most 30 non-blank lines, opt-in code lines of at most 200 characters, comments that hold code, and TODO comments without a tracking task | none |
evidence | Citation verification, overlap grouping, planted-control scoring and small-sample statistics for model-judged evidence | none |
fix-proof | Proves a fix PR's new tests fail on the merge base and pass at head: diff plan, vitest report classification, fix-proof/v1 result line | none |
locator | Byte-offset provenance locators and raw-mirror durability helpers | none |
openai-account | Read-only Codex account state: login status, rollout quota readings, freshness and admission | anthropic-account |
owner-proof | Owner-signed statements: canonical JSON, P-256 key ring and an exact-bytes ECDSA verify core generic over a zod schema | none |
rpc-protocol | Dependency-free wire contract between a titan daemon and its clients: envelope, exit codes, routes, SSE vocabulary, CommandMap | none |
store-sqlite | SQLite table-factory kit: bi-temporal edges, current-state entities with soft expiry, content-addressed cache, contentless FTS5, watermark, migrations | none |
test-kit | Typed test doubles: partialFake builds a T from only the fields a test uses, without a cast | none |
tool-guard | Classifies Claude Code tool calls into guarded authority actions, with a POSIX shell tokenizer | authority |
Tier 1 — engines
Reusable machinery over the primitives.
| Package | What it does | Titan dependencies |
|---|---|---|
agent | Headless agent triggering over the Claude Agent SDK with env-scrub, failure taxonomy, and hard budgets | agent-protocol, agent-lifecycle |
agent-dispatch | Start and resume agent-chat agents through the agent-chat CLI, with the brief kept out of argv | none |
agent-lifecycle | Durable agent execution state and fenced ownership | agent-protocol, store-sqlite |
agent-surface | Where a spawned agent is presented (headless or an iTerm2 pane, tab or window), and the launcher that execs its plan | none |
daemon | hono host: /rpc + /mcp + SSE events, file watch, and process lifecycle | registry, rpc-protocol |
frame-capture | Deterministic frame capture of any page that speaks the __titanMotion protocol | none |
github | GitHub REST port over the gh CLI: validated paths, required checks from branch rules, and an in-memory fake | none |
health | health/v1 contract, probes, append-only sample store and uptime | store-sqlite |
hitl | Human-in-the-loop gate()/resolve() primitive | authority, evidence, store-sqlite |
matrix-bus | Matrix client-server API over fetch: appservice client, io.titan.item codec, owner resolution fold, #queue bootstrap | none |
messaging | Runtime-neutral messaging transport: contract, BlueBubbles iMessage and Telegram Bot API adapters, mock, inbound validators, liveness | none |
registry | zod command registry projected to CLI, MCP, and HTTP surfaces | rpc-protocol |
retrieval | FTS + vector + graph retrieval with RRF fusion, rerank cascade, and fail-open | embed, store-sqlite |
rpc-client | Browser-safe typed client for titan daemons, with live (HTTP + SSE) and static (snapshot file) data sources | rpc-protocol |
speech-g2p | English text to misaki phoneme tokens in pure TypeScript: lexicon G2P, spaCy-compatible tokenizer, compromise POS tagger | none |
speech-stt | Speech-recognition helpers: a transformers.js Whisper recogniser with an audio-hash cache, a wav2vec2 phone recogniser with CTC logits, a CPython-parity SequenceMatcher, script alignment, transcript diff, Word and Transcript schemas, and a resampler | none |
speech-tts | Swappable text-to-speech provider contract, registry and command/HTTP adapters | app-paths |
worktree | Git worktree mechanics for headless agents: budgeted allocation, release safety, park, re-create and sweep | none |
Tier 2 — domain
Modules that know about a subject: transcripts, code, rules.
| Package | What it does | Titan dependencies |
|---|---|---|
code-graph | TypeScript/Python code graph: ts-morph + tree-sitter extraction with incremental reuse, on the store kit | code-parser, embed, evidence, retrieval, store-sqlite |
code-read | Versioned read API over code-graph snapshots: a contract, a per-snapshot ReadModel, browser-safe query functions, and registry commands | code-graph, registry, rpc-protocol |
coordinator | Seat config and charter policy schemas for the autonomy coordinator (pure code: zod schemas and inferred types). | agent-dispatch |
decider | Decision ledger: v2 row schema, outcome classifier, exclusion, append-only store and the AskUserQuestion transcript source | locator, memory, session-read, store-sqlite |
dispatch-ledger | Burndown claim ledger: zod schema, phase edges, and burndown.json parse and export. | store-sqlite |
graph-layout | Level collapses and deterministic ELK layered layouts (flat and compound) over a code-graph snapshot | code-graph |
memory | Decaying rule playbook: bullets, feedback, deterministic curation, recall | embed, retrieval, store-sqlite |
owner-queue | The owner queue core: one OwnerItem schema across every store of record, the QueueSource port, merge-by-keys and rank as pure functions | evidence, review-schema |
pm | Project-management schemas: the zod task schema and its type, as active-work stores tasks | none |
queue-mirror | Projects a local queue of human-actionable items into a Matrix room and folds the owner's verdicts back | hitl, matrix-bus, store-sqlite |
review-panel | Review-panel types and the reviewer ports a caller satisfies | evidence, fix-proof, session-read |
session-analytics | Pricing, session classification, banding, the cost report and the session timeline over mined session data | agent-protocol, review-panel, session-graph, session-read, store-sqlite |
session-graph | Fold session events into the activity graph on store-sqlite | locator, session-read, store-sqlite, agent-protocol |
session-read | Claude Code and Codex transcript parse: JSONL lines to typed session events with byte-offset locators | locator, agent-protocol, anthropic-account |
speech-vet | Speech text vetting: pronunciation override markup, heteronym reading checks, lexicon.v1, initialism spelling, number normalization and phone-level pronunciation verdicts | speech-g2p, speech-stt, speech-tts |
style-analyzer | Tree-sitter style extractors that turn source files into observations, and the aggregator that turns observations into a style profile with confidence and stability | code-parser, style-profile |
style-checker | Run external lint tools (ruff, ESLint) against configs generated from a style profile, normalize their output into one diagnostic shape, and diff observations against a profile | style-analyzer, style-profile |
style-profile | Declare one code-style profile and export it as enforcement artifacts: ESLint and ruff configs, EditorConfig, Claude rules, hooks, a skill, and markdown | none |
throughput | Per-class throughput model: recency-weighted quantiles of agent-hours and cost over task actuals | evidence |
workflow | Durable imperative workflows: memoized steps, agent dispatch, human gates, replay on restart | agent, agent-protocol, authority, hitl, store-sqlite |
UI
React bindings for the daemon wire. The design system, react-ui, is listed here but published from a separate repository.
| Package | What it does | Titan dependencies |
|---|---|---|
react-app | React hooks over @titan-design/rpc-client and a Vite preset for daemon-backed apps | rpc-client, rpc-protocol |
react-ui | Cross-platform design system built on React Native primitives with NativeWind | none |
Products
Thin compositions of the tiers. A linked product is published; the rest are private.
| Package | What it does | Titan dependencies |
|---|---|---|
active-work | Durable workspace state for engineering work — CLI, MCP, and Claude skill for tracking initiatives across sessions | agent-protocol, cluster, daemon, decider, locator, pm, registry, retrieval, session-analytics, session-graph, session-read, store-sqlite |
evals | Eval registry: spec schemas for units, variants, cases, suites, checks and scorecards, with canonical content hashing | agent, authority, evidence, fix-proof, health, hitl, review-panel, session-analytics, session-read, store-sqlite, workflow |
explainer | Explainer video pipeline: beats.json and digest.json schemas, packet builder, finding attribution | agent, agent-protocol, evidence, graph-layout, pm, speech-vet |
factory | Code-driven software-factory workflows: durable runs, routed step runners, evidence and gate-policy seams | agent, agent-dispatch, app-paths, authority, coordinator, daemon, fix-proof, github, health, hitl, owner-queue, registry, review-panel, review-schema, rpc-client, session-analytics, session-read, store-sqlite, workflow, worktree |
retrieval-eval | Retrieval eval harness: transcript-mined query/label pairs scored over candidate retrievers | app-paths, embed, retrieval, store-sqlite |
session-miner | The session miner: index Claude Code transcripts into a session graph and serve it over CLI, MCP, and HTTP | app-paths, cluster, daemon, embed, github, locator, memory, pm, registry, retrieval, session-analytics, session-graph, session-read, store-sqlite, throughput |
titan | The titan host CLI: health sampling of the factory and the host | daemon, health |
codewatch | codewatch's layered code report: the first consumer of @titan-design/react-app and @titan-design/code-read | code-read, react-app, react-ui, rpc-client, rpc-protocol |
titan-console | The titan console: one read-only loopback daemon and react-ui shell over active-work, the agent-chat broker and the session graph | app-paths, chat-protocol, daemon, decider, github, owner-queue, pm, react-app, react-ui, registry, review-schema, rpc-client, session-analytics, session-graph, session-read, store-sqlite, worktree |