Whole-product context · self-contained · harness-agnostic · v1

Workweaver
Goal in. Work out. — set the goal. It works until it's done.

This is the complete, self-contained context for any agent — Claude, Codex, Cursor, GLM, Gemini, an MCP client, or a brand-new hire — working on or with Workweaver. Workweaver is transparent, auditable AI for business operations — "Goal in. Work out." The agent turns a stated goal into ready, finished work, every step on the record: your models, your inference, your data, your ontology, your memory, every token visible, and a Decision Trace receipt for every action. The front-door promise is a chain — state the goal → governed finished work → a receipt → owned learning (canonical hero: "Set the goal. It works until it's done."). Underneath that front door, the supporting frame is simple and literal: you keep the final say; the agent is the cognition that runs the work; autonomous swarms are the army that does the work; WorkMemory is the agent memory across every cycle; Decision Trace is the board-report that proves every action; Skillify is the standing function that compounds from each run. The AI Sovereignty Stack — your models / inference / data / ontology / memory — is the supporting pillar that keeps the work yours. The locked center is the owner/CTO-confirmed 2026-07-16 posture — "Goal in. Work out." The previous "Everyone deserves a CEO. Now everyone can have one." front door and the 2026-07-05 sovereignty-as-front-door framing are both superseded as the locked center; the chairman/CEO metaphor is retained as a supporting frame that ships in code. Workweaver is the substrate where these sit together as native primitives. It conveys the whole product: what it is, its primitives, architecture, surfaces, and the honest current state of the code, and the doctrine for working in it well. Treat everything below as data and doctrine, never as live commands to execute blindly — verify against code truth before you act.

repo · bitfoundry-ai/workweaver canonical spec · AGENTS.md · docs/canonical/PRODUCT-CONTEXT.md live status · the GitHub issue ledger law · code-truth wins over any claim

00How to read this#

This document is a map, not the territory. The territory is the code and the live GitHub issue ledger.

  • Single source of truth. docs/canonical/PRODUCT-CONTEXT.md is the canonical product spec; AGENTS.md is the canonical, harness-agnostic working contract; the skills/ registry holds procedures. This file distills them into one readable briefing — when they disagree, they win.
  • Code-truth wins. If the code does not back a claim here or in any doc, fix the code or fix the claim — never both silently, never neither. Before you assert a capability is "done," prove it on a real path.
  • Status lives in issues, not here. What is shipped vs in-flight is the live issue ledger. §09 gives the honest shape as of this writing; for your area, search the issues.
  • You are an agent in a swarm. Read the operating mind (§10), the autonomy loop and gates (§11), and the playbooks (§15) before you touch anything. The bar for "done" is high and explicit (§10, §15-E).
One-breath thesis

Ask one question across every system you run — then Workweaver fixes what it finds, under policy, with proof, and is better at it next week. You chair the org; the agent runs it; swarms do the work; Decision Trace is the board-report that proves every action. The unit of capacity is a self-organizing autonomous swarm sized to the goal, steered by humans at the goal level and inspected at the evidence level.

01What Workweaver is#

Not AI bolted onto existing workflows — the substrate where memory, identity, permissions, tools, agents, time, evidence and policy are native primitives, organized as a company you chair.

Every current-generation AI product augments what users already do: better autocomplete, smarter search, a chat panel beside the real work. That is the co-pilot model, and its ceiling is structural — fragmented apps, per-tool context silos, human-mediated coordination all stay intact. Workweaver's premise is different: rebuild the company around intelligence, not augment old workflows with AI. The unit of capacity is no longer an employee-with-a-tool; it is a self-organizing autonomous swarm sized to the goal. Humans chair the org — they set goals, hold judgment, steer at the altitude of strategy. the agent runs it — she plans, coordinates, supervises, explains, and improves. The swarms are the army that executes the defined work end-to-end. The question is not "how do we give people AI superpowers?" — it is "what does a company look like when every operator has a CEO who never sleeps, and the work comes back with a replayable record?"

Co-pilot / chatbot / workflow-automationWorkweaver
AI assists humans operating existing appsAgents execute Defined Work; humans steer at goal level
Context lives in apps; AI extracts from appsContext is canonical (WorkMemory, Operational Context); apps are connectors
Each tool is a silo; AI bridges some silosOperational Context is the canonical operational truth across systems
Learning is prompt improvementLearning is the compounding loop: each cycle feeds the next
Human bottleneck is preservedHuman attention reserved for Undefined Work: strategy, judgment, taste
Adding AI = adding a pluginAdding Workweaver = replacing the coordinator function with agents

The two engines of the moat

  1. Cross-system context. Records become entities become a cross-system graph the agent can traverse. "Regional sales in the CRM vs inventory in the ERP" is answered in one hop because crm:account same_as erp:account is a real edge, not a join a human writes.
  2. The compounding loop. Every retrospection, steering correction, guardrail breach and decision writes back into skills and memory so the next run is better. Advantage accrues to whoever owns the harness, the context and the memory — not to the point tools.
Why this wins

The GUI is dying as the primary interface as agents talk to agent-readable backends; autonomous systems emit ~10× the telemetry of human workflows; the durable asset is the harness that compresses a 30% false-positive rate toward 0.01%. Incumbents that only read completed outcomes cannot replicate the moat, because they are not present at commit time for the "why." Workweaver instruments the write path — every governed action, connector write, swarm step and correction — so the graph compounds toward prediction and autonomy.

Earned phrases only

"Company world model" is earned by a four-condition test (§04), not a synonym for memory. "Compounding intelligence that gets better every week, automatically" is true only once the retrospection→skill loop runs on a cadence. Never say "zero humans" or "the company that runs itself" — the honest claim is minimal human attention at maximum leverage. Every superlative links to evidence (docs/canonical/MARKETING-HONESTY.md).

02Primitives & canonical nouns#

Uniform names across code, UI, CLI, MCP and marketing. No translation tables, no internal-only aliases. A capability that cannot be discovered does not exist.

ConceptName & role
Operational ContextQueryable, indexed, append-only-with-dedup record of every decision, tool call, evidence artifact and execution path. Used before the agent plans, during execution, and after (retrospective + skillify). Composes Evidence Ledger + Decision Trace + WorkMemory; the customer talks to it as one substrate.
WorkMemoryWorkspace-scoped persistent, governable, queryable memory. Layered raw → calibrated → precedent → principle. Manages epistemology: similarity is not truth; provenance always; contradictions surfaced, not silently overwritten. Unbounded storage, bounded recall.
Work calendar · TimeBlock · CardTime is the true currency. The work calendar in Home makes hours inspectable at hourly resolution. A TimeBlock is the unit of accountability; it holds N Cards (parallel + serial work). A Card is a TimeBlock-projection of a WorkItem with per-card chat that acts (CardAction), editable memory, and a steer sub-ledger. The work board in Home is the same work in its intake lifecycle (triage→backlog→ready→scheduled→running→review→done→archived) — not a second task store.
Skills (Skillify)Reusable, versioned competence with triggers, procedure, I/O, tools, scopes, tests, evals, owner, rollback. Every execution can emit a Skillify signal; accepted completions may promote a skill or extend one; failures/disputes stay as correction or anti-pattern evidence. Canary-versioned with MCC-driven auto-rollback. No marketplace — skills are imported via SkillSource.
The agentThe proactive cognition layer and conversational front door — always aware of running processes, connectors, limits, queued work, active swarms. Plans, coordinates, supervises, explains, improves; prefers to delegate to workers/tools/providers. Voice + presentation are per-Workspace attributes, not kernel-hardcoded.
Work FunctionsDormant operating contexts for disciplines (Marketing, Finance, Eng, Support, Legal, …) — a preset + policy + memory scope + connector scope + identity posture + capacity envelope. Not a permanent department, not an always-on supervisor. Idle Functions consume zero workers. Work routes by bottleneck through swarms; the Function names the responsibility.
PermissionsFine-grained scope grants (single name; never crosses org isolation).
ConnectorsUniform surfaces across UI / CLI / MCP / API. 30+ governed connectors plus an OpenAPI→connector compiler for the long tail. Includes browser/computer-use as a first-class, governed edge capability.
ACP + A2A daemonBidirectional. Workweaver is consumed by external agent SDKs AND orchestrates them; every external run is wrapped in a Mission + Operational Context + WorkMemory envelope. Two trace modes: ingest (the tool emits its own) and ObserverProxy (Workweaver synthesizes a Decision Trace post-facto).
SwarmComposition by bottleneck, not org chart. Default standard swarm (planner + worker + verifier) resizes to the work: research-bound → parallel researchers; verification-bound → adversarial verifiers; capacity-bound → more workers; judgment-bound → smaller swarm + stronger eval gates. One accountable principal per swarm; the smallest swarm that reliably improves the outcome wins.

Durable contracts (the atom set)

Nine atoms exist in code with API+CLI+MCP surfaces and tests; no primitive may exist only as prose: WorkItem, TimeBlock, Pulse (liveness — no silent stall), Thread (durable cross-channel conversation), WorkMemory, Topology (who-sees-what graph), Variant (proposed improvement with baseline/metric/counter-metric/rollback), Entity (canonical identity across channels/time), Decision (auditable why). Supporting substrates: Evidence Ledger (append-only proof — what happened), Decision Trace (the inspectable proof surface — why it acted + what changed), Goal Graph (the projection every list/board/calendar/PM-writeback is a view over), CapabilityRegistry, PolicyDecisionEnvelope (the governance verdict).

The three proof nouns are distinct

Evidence Ledger answers what happened. Operational Context answers what does this mean now. Decision Trace answers why did the system act and what changed. They are not three names for one thing. Transparent proof ≠ exposing raw model chain-of-thought; the durable record is evidence, decisions, tool calls, artifacts, policy verdicts, outcomes, and replay-safe summaries.

03The Golden Journey#

Every coding task advances this journey or it is drift.

Intent → Context → Triage → Ready → Release to TimeBlock → Govern →
Execute → Evidence Review → Acceptance or Correction → Learn → Skillify → Reuse
  1. Intent arrives in any channel — Slack/WhatsApp/Telegram/email/voice/dashboard/CLI/PM-ticket/ACP from an external agent.
  2. The agent loads context from Operational Context + WorkMemory, scoped to Workspace + permitted Members.
  3. The agent interviews / shapes the goal — extracts a measurable target with counter-metrics where measurable, qualitative success criteria where not. Forcing a loss function onto what cannot honestly be measured is how you optimize the wrong thing (Goodhart is real).
  4. Raw intent enters triage, is enriched into backlog/ready work, and checks existing Skills first (reuse is mandatory).
  5. Release to a TimeBlock is the execution control boundary — manual, or by an explicit, revocable, scoped, Decision-Traced autonomy policy. Governed execution starts only after release.
  6. User steers in natural language; every steer is a Decision Trace entry.
  7. Governed execution by swarms — live evidence per step, live metering visible, channel compliance preflight before any outbound side effect.
  8. Outcome reported for review with Decision-Trace proof. Completion is provisional until the user accepts; a proof comment or local marker is not source-system completion.
  9. User accepts, rejects, or reshapes. Acceptance finalizes productivity/OKR state + WorkMemory learning; rejection becomes correction/anti-pattern evidence.
  10. Retrospective + Skillify process every execution, success or failure. User confirmation gates promotion into reusable precedent.
The compounding test

If the user asks for the same kind of work twice, the system failed to compound. Future planning must search Skills and precedents before creating new work.

04The intellectual substrate#

The enduring asset is the execution-memory graph — and being in the write path at decision time.

WorkMemory — memory vs storage

Storage = bytes-on-disk, immutable evidence (DynamoDB/Postgres/SQLite + S3/GCS/Azure object lock or local file lock). WorkMemory = the epistemic layer: synthesized, scoped, versioned facts that carry source, confidence, layer, time, provenance, author. The boundary is the Fact — an atomic claim with confidence, layer (raw/calibrated/precedent/principle), source Evidence id, scope (member/team/department/workspace/shared/cross_workspace_via_permission), lifecycle (active/archived/superseded). A Fact without an Evidence link is not durable. WorkMemory may consolidate, supersede, archive, decay, restore — but may not silently overwrite; contradictions are surfaced through contradiction edges.

Unbounded storage, bounded recall. Hot recall returns ranked facts + provenance; callers may bound by max_tokens or request lossless source hydration. Recall runs a real embedding/hybrid stack (BM25 + KNN + RRF fusion, post-fusion graph/source signals, rerankers). Precedent is in the index, not a side tool: prior Decision Traces fuse into canonical recall as a first-class source_type="decision_trace" item, tenant-partitioned (cross-tenant precedent leakage is structurally impossible). The compiled knowledge layer nightly synthesizes raw captures into concept pages with source provenance + an integrity lint (the productized Karpathy-wiki loop). Capture fidelity bounds recall, so capture is lossless verbatim with compaction-as-producer.

The world-model test (an earned phrase)

Call it a "company world model" only when all four are true:

  1. The model changes what the agent plans, not just what she recalls.
  2. It changes which bottleneck is selected, not just which facts display.
  3. It changes what is scheduled, executed, or escalated under policy.
  4. User and source-system corrections update the model and measurably affect future plans, priorities, skills, or proofs.

The ingredients exist (WorkMemory, Decision Trace, relation store, graph expansion, entity schema registry, evidence envelopes, governed learning). The work is the load-bearing wiring between them. Until that lands fully, the honest phrase is durable execution-memory and context substrate.

The compounding flywheel

Better context → sharper bottleneck detection → better swarm composition → higher-fidelity precedent recall → higher success rates → denser traces and corrections from real work → a stronger graph and better skills → a better next execution. External agents and PM tools are accelerants because they increase write volume and correction signals. Judge every connector/integration/writeback by one question: did Workweaver capture the "why" at the moment the decision became binding? If yes, the graph compounds; if no, it is reading or commenting on someone else's workflow.

100% agent-manipulable

Every primitive is reachable through REST + CLI + MCP (and ACP/A2A), not just a human UI. The UI is an ephemeral verification surface, not the product. This is the "software for agents" stance: agents need machine-readable interfaces, not brittle human ones.

Substrate concept map — one stack, four layers, one name per layer

Read this before conflating WorkMemory, Operational Context, the graph, the ontology, Decision Trace, Evidence Ledger, WORM, GoalGraph, or "self-improving." It is one substrate of four layers, and every doc, surface, store, and capability row converges on one canonical name per layer. Status tags are code-truth: live renders real data, planned is designed with a named issue, and is built but not running — a deploy-ghost or an unwired unifier. The canonical model is already written in docs/canonical/PRODUCT-CONTEXT.md § 8; the work is convergence plus a few load-bearing wires, not new substrate.

0lens
Operational Context live route split

The product name the user sees — Workweaver's name for the market's context-graph frame (Foundation Capital). A composed read-model lens, not a store: it returns pointers to records the layers below own and copies nothing. One route prefix should mean one thing; today the list endpoint quietly means "decision-trace list" while the subject endpoint means the full 7-primitive composition (collapse tracked, #8198).

1stores
Three canonical stores WorkMemory live Decision Trace capture routed

Each owns one slice of truth. WorkMemory = learned knowledge (Perplexity-Brain analog; the sole production recall backend). Decision Trace = proof-of-why — one DecisionRecord through DecisionLedger; TRACE# precedent edges and the evidence:decision row are projections of that one record. Capture now routes through the ledger-backed path; the remaining proof work is profile-explicit projection coverage and graph-population seams, not a zero-caller ledger ghost. Evidence Ledger = the immutable artifacts.

2graph
One Graph, two edge kinds populate · #7528

One graph object: nodes are business entities (Entity-Schema-typed), edges are entity relations (RelationStore) plus decision events (a projection of the Decision Trace) — the literal "nodes = business entities, edges = decision events" frame. Today these are two physical stores that are never joined, and ingestion discards extracted relations into a summary string instead of writing them to the store, so the graph is named-but-thin until the two seams are wired.

3ontology
One ontology — Entity Schema rename · #7871

The type system: what kinds of things exist and what fields they carry. Entity Schema is the one ontology; the derived read view renames to Primitive Catalog, the Palantir-framed model folds into Entity Schema or renames to Business Object Model, and the two ghost shells are deleted. The word "ontology" should appear once.

4loop
The Compounding Loop per-task live

Recall before a task, learn after, sharpen the next run. The per-task half is live (LearningLoopService); the overnight consolidate → forget → reflect → promote pipeline is a deploy-ghost — no CI builds the scheduled-jobs image, so it never runs in prod. Named for the customer as Compounding Loop / Token Capital (#7817).

"Self-improving" is not yet earned

The market frame for layer 4 is "self-improving" memory. This is a not-yet-earned note: the per-task tip is a template string, the skill-tune LLM proposer defaults to a deterministic stub in production, and Workweaver's own skill-content validator bans the phrase from skill text — the guardrail is telling the truth. Position on compounding precedent / Token Capital until the real proposer (#8179) and the overnight loop ship; do not present "self-improving" as shipped.

Same or different? (the jargon-collision table)

The pairs agents conflate, with the honest verdict. "Layered" means different roles in one stack, not rivals.

ABVerdictWhy
WorkMemoryOperational ContextlayeredWorkMemory is a store (learned knowledge); Operational Context is a pointer-only read-model that composes it and six other sources. The OC subject field is named memory_ids and the dashboard labels the panel "Memory graph" — fix the label, keep the lens.
The Graph (nodes/edges)Entity Schema (types)The graph is data (RelationStore instances + edges). Entity Schema is the type system. "node" means two things — a schema descriptor vs an entity instance. Keep "the Graph" (data) distinct from "Entity Schemas" (types).
RelationStore graphDecision-trace graphlayeredTwo physical edge stores in different module trees for one conceptual graph; entity relations and decision-event edges are two kinds of edge over the same nodes. The dashboard renders them as two side-by-side fetches, proving the split to the tenant — make it one graph with two edge kinds (#7528).
DecisionLedger / DecisionTraceStore / captureeach othersameThree modules persist the same decision tuple, now converging through the ledger-backed capture path. Keep the remaining work focused on explicit production-profile projection proof and graph population, not on resurrecting the stale zero-caller claim.
Evidence Ledger append-onlyreal WORMThe DynamoDB tier the UI reads is append-only by convention (service never calls update_item). Real legal/cryptographic WORM (no admin/root delete, multi-year) lives only on the S3 Object Lock lake. State "WORM lake + append-only ledger." The per-WorkFunction quota renames away from "WORM" to remove the collision.
GoalGraphthe entity + decision graphlayeredGoalGraph is the typed super-graph that joins entities, goals, decisions, proof, and memory — the intended Layer-2 unifier, but a ghost (in-memory, no route). Persist it on top of the unified store (#7523); it is the later read projection, not the v1 write-store.
"self-improving" (the Brain frame)per-task learning todayReal per-run learning records deduped outcomes, but the tip is a template string and the LLM proposer is a stub. The substrate is real; the claim is not yet earned (#8179).
The end state (one screen)

A tenant opens one Operational Context surface, sees one graph (entities + decision edges), drills into one Decision Trace per action, follows it to one Evidence Ledger artifact, and watches one Compounding Loop card show the moat growing — no second "fact" UI, no three-panel split of the same substrate, no "ontology" the tenant has to parse. Reserve "fact" for the WorkMemory Item, "Entity Schema" for the one ontology, and finish the code-level rename so the brand-banned word is not a live directory (services/context_graph/ → services/decision_trace/, #7871).

05The three pillars — the token-capital thesis#

The veteran compounds; the model is fungible. Price the loop, not the tokens.

Pillar 1
Compounding veteran capital

Every governed cycle deposits a Decision Trace and feeds retrospection. WorkMemory promotes recurring patterns up the epistemic stack. The org's earned skills, memory, decisions and evals are owned and portable — exportable in open formats, model-agnostic. This is the switching cost no closed product can copy.

Pillar 2
Model compatibility, admin-managed

Models are swappable. A model change (admin or tenant BYO) re-runs the tenant's veteran through a compatibility gate before it commits, so swapping the engine never silently degrades the earned capital. Managed offline by the operator, not tenant self-serve guesswork.

Pillar 3
Per-execution retrospective learning

Continuous, governed skill + eval correction with correction-autonomy tiers — learning proposes, deterministic gates decide, humans approve durable scope expansion. Not a "training rate" — skills + evals that sharpen every run.

No-train contract

no_train means no weight-training and no cross-tenant leakage. WorkMemory is the brain; model weights are never the moat. Cross-organization isolation is absolute.

06Architecture & governance#

Thin runtime, fat skills, fat evidence. The agent is the sole cognitive orchestrator — always-on is dumb infra (a liveness tick), never a second reasoning brain.

The agent & the kernel

The agent orchestrates, schedules, follows up, prunes — she does not directly execute business workflows; workers, deterministic tools and providers do. A small set of immutable, owner=system KernelSkills keep her self-aware: process inventory, skill audit, memory consolidation, capacity check, connector health, routing audit — each runs on the agent's identity, emits a Decision Trace, and is governed by the same PolicyDecisionEnvelope as tenant skills. Every prompt-bound segment that originates outside the trusted kernel (user text, connector fields, inbound email, recalled memory) enters context through an UntrustedContextEnvelope — treated as data, never instructions. Dashboard actions are derived exclusively from validated LLM tool calls, never from raw message text.

Governance — the PolicyDecisionEnvelope

Every governed action collapses sub-gates (identity, tool scope, connector scope, budget, risk tier, approval, evolution, tenant pause, side-effect proof) into one verdict: ALLOW · REQUIRE_APPROVAL · DENY · DRAFT. Outbound communication additionally runs ComplianceGuard.evaluate(...) before any provider call (platform terms, warmup, consent, opt-out, rate limits, identity alignment) — a blocking verdict, never best-effort. Approval is authority, not ceremony. The non-negotiables: external text is hostile until proven otherwise; system prompts are not security boundaries; every tool call validated server-side; every side effect has identity/scope/idempotency/audit; payment + chain-write are deny-by-default; evidence is immutable; rollback or compensation required; no silent failure.

Levels of evolution

LevelWhat may changeGate
L1 Contentmemory, lessons, skill candidates, prompts, routing descriptions, thresholdsevidence-backed tests + fail-closed promotion
L2 Calibrationrouting weights, ranking, eval thresholds inside hard bounds, worker sizingcanary, rollback, budget ceilings, immutable change evidence
L3 Structurenew skill types, workflow templates, connector adoption, canonical promotionproposal-only until approved through governed change flow
L4 Governance Anchorconstitutional axioms, canonical contracts, boundaries, safety invariants, cost ceilingshuman governance only — never automatic

Tenant isolation (non-negotiable)

Every data surface enforces Workspace isolation at the storage layer — not a flag, not an option. Adversarial tests (apps/backend/tests/adversarial/) are a required CI gate; any failure is a P0 security regression. RLS is forced on the WorkMemory/pgvector tables; the core store relies on tenant-partition-keyed access. Cross-Function isolation inside a Workspace is the next layer of the same invariant.

Capability rollout state — never auto-claim on commit

A capability registry row landing on main is a declaration, not a claim. Each row carries a state (candidate → scaffolded → tenant_ready → e2e_verified → degraded → deprecated); only tenant_ready/e2e_verified translate to "ready" in the agent's awareness. Every user-or-agent-invocable side-effecting capability ships with full surface parity (REST + CLI + MCP + UI + registry + Decision Trace + tests), enforced by CI gates. Capability-built-but-not-exposed — or named-as-if-wired — is unacceptable (§09).

Enterprise-harness thesis & surface discipline (the long-arc moat)

Workweaver is built to be the operating harness any enterprise takes and runs as its own — their models, their sandbox, their eval flywheel, their tacit knowledge, every token visible. The wedge (wiring-gated): “your models, our flywheel, every token visible.” Four principles keep the surface small while the capability set grows without bound:

  • Operating-surface / skill separation. A small stable operating surface (To-Do intake, Plan Card, work calendar, Decision Trace) plus an unbounded set of tenant- and agent-authored skills. A new capability is either a skill, an internal substrate, or rejected — it never earns its own persistent destination.
  • Surface-count discipline (registry-enforced). A capability that does not bind to exactly one canonical surface is rejected at registry validation (CI), not by guideline. This is the anti-clutter invariant.
  • Token-value-per-watt. The harness maximizes outcome-value per unit cost and latency — not token count. Sustainability comes from better defaults, routing, caching, and visibility; exponential usage made cheap, not suppressed.
  • General, never hardwired. No business vertical is hardwired into the runtime. Every vertical capability is a skill that descends its own loss on the generic loop substrate; the runtime runs any skill, including skills that carry deterministic code.

Honesty note (wiring-gated): the model/harness/sandbox/tacit-knowledge pillars are real and wired; the eval flywheel is wiring-gated (the production skill-eval judge still defaults to a content-length heuristic; the resolver rubric judge shipped-but-unwired; eval rows are not persisted — #7819/#8717/#8722), and token-value-per-watt is wiring-gated (metering exists, no runtime objective yet — #8896). The inference control plane is tenant-self-managed at the API/vault layer; the Token Capital compatibility certificate / admin-governed model-change gate (#7821) is shipped. Tenant web UI + full UI/CLI/MCP parity for provider config remains the open surface (#7834). Do not present-tense a closed eval flywheel or full wedge line while the skill-eval judge stays wiring-gated.

07Surfaces#

Every UI / CLI / MCP / API surface is a projection over the same primitive registry. They are not separate products. Progressive disclosure is packaging, not removal.

  • Tenant product UI: four permanent homes — Mission, Skills, Members, Settings — plus Rooms/More for Voice & phone and WorkMemory, a Meetings launcher in Mission, Connections inside Settings, and chat/Cmd+K as the long-tail spine. Per-Card overlay state is canonical URL state (?card=<block_id>). Settings keeps one canonical tab vocabulary: account, workspace, identity, voice, wallet, connectors, trust, safety, residency, billing, functions, experiments.
  • ww CLI & standalone: the same substrate as a local-first command surface; pip install workweaver; offline edge memory cache.
  • MCP / ACP / A2A: the agent-facing surface — WorkMemory recall/remember/status + governance tools installable into Claude Desktop, Claude Code, Codex, Cursor, Gemini, OpenCode, OpenClaw, Hermes and generic MCP clients without giving up their native model UX. An OpenAI-compatible facade lets any OpenAI-client tool drive a governed agent turn.
  • founder.workweaver.ai — the founder/operator control plane. Gated by an exact founder-email allowlist (not Workspace role). This is where operator configuration lives: pricing catalog, signup policy, embedding/inference policy, cost ceilings, capacity, and feature flags. Every number, price, or limit is a global default plus per-tenant override, never a hardcoded constant. Founder-admin rows keep REST/CLI/MCP/UI parity.
UI continuity

Every surface-touching issue must name its #8195 Surface Impact before implementation: canonical surface owner, host/audience (tenant, workspace_admin, founder_admin, public, or developer_governance), route/URL state, reused shared components, sibling/conflicting issues checked, mobile path, admin-control-plane accommodation, and human-only gates. New capability should land inside Mission/Card, Settings depth, admin control, or in-composer command surfaces before it earns new chrome.

Admin-config mandate

If a number, price, limit, threshold, or buyer-facing copy string is baked into a .py constant or a static file, it is a bug. It must resolve at runtime from the admin store (catalog / feature-flags / policy store) with a global default and an optional per-tenant override, configurable from founder.workweaver.ai.

07·Meeting & voice intelligence#

One primitive, four verbs: The agent attends, remembers, proves, and acts. Competitors stop at one verb — Fireflies and Otter transcribe and search; Granola captures bot-free notes. Workweaver chains capture into memory, proof, and action. The full pillar lives in MEETING-INTELLIGENCE.md; this is the honest summary. Status tags are load-bearing.

Disclosed Agent Identity — the anti-impersonation moat

The agent joins as a named, cryptographically-bound distinct agent — the bot self-names as a Workweaver agent at its dedicated agents.workweaver.ai address, with a signed Ed25519 identity assertion bound to a dedicated meeting-join OAuth principal. The join boundary structurally prevents impersonation: a calendar token can never reach the join dispatch. There is no supported mode in which the agent joins as the human user. This is enforced by Workweaver, not left to tenant choice, and is the single biggest meeting differentiator — none of Fireflies, Otter, or Granola solve impersonation.

Capture, transport & participation

CapabilityWhat it isStatus
Recall.ai transport (bot-based)Disclosed observer bot across Zoom / Meet / Teams / Webex / GoTo / Slack Huddles; observes and transcribesShipped — observer-only Route B, default
Passive observe + transcribe → WorkMemoryTranscript and decisions accumulate into recall across all past meetings, with cited sourcesShipped substrate; live in-meeting transcript-into-memory seam has tracked gaps
Governed active speech (Route C)One-shot / triggered utterance via Recall output audio, with its own consent surface and a Decision Trace per attemptOpt-in / experimental — behind a default-off flag, not default-on
Full bidirectional bridge (Route A)Two-way live conversation bridgeExperimental — exists in code, no route or caller, not claimable
In-meeting Ask-the agent (live Q&A)"Ask the agent about this live meeting"Not live — route exists, backend handler unimplemented; degrades to unavailable
Bot-free device capture (Granola wedge)Device-mic + system-audio, no bot in the participant listMust-build — the one capture mode external/client calls demand
Do not overclaim

In-meeting Ask-the agent is not a shipped capability — the conversational live-Q&A backend is unimplemented and the route degrades to unavailable. Route A is experimental. Route C active speech is opt-in and flag-gated, not default behavior. Present these honestly.

The consent / disclosure moat

  • Disclosure enforced by default. A recording-enabled join is blocked unless participants are notified; the target is an announcement stating what is recorded, how it is used, who can access it, and retention. A visible bot is not legally sufficient notice.
  • Jurisdiction-aware consent — built but unwired. A consent engine modelling all-party vs one-party across 13 jurisdictions, retention disclosure, and opt-out exists in code but has no production caller on the join path; runtime today enforces only a binary confirmed-consent flag (false safety in an all-party state). Wiring it into the join gate is tracked.
  • Legal basis: CA Penal Code section 632 (recording a confidential communication without all-party consent) — not AB 2905.
  • Explicit per-meeting jurisdiction declaration is the primary signal; auto-detection is risk augmentation only, never the sole basis to proceed.
  • Prove everything. Every capture, disclosure, utterance, and post-meeting action carries a Decision Trace, a WORM consent artifact, and an Ed25519 identity assertion — the enterprise and legal moat no competitor matches.

Act — post-meeting follow-through (shipped) & the BYO-notetaker onramp

After a meeting ends, the post-meeting agent does more than list action items: it creates tasks, writes back to the connected CRM (Zoho / Salesforce / HubSpot), drafts and sends follow-up email, schedules a follow-up, and writes to WorkMemory — all auth-gated and Decision-Traced. Status: shipped.

Migration wedge

Bring your own notetaker. MeetingIngest normalizes third-party webhooks (Otter, Fireflies, Recall, manual) into Workweaver memory and proof — a customer keeps their existing notetaker and gets WorkMemory, Decision Trace, and follow-through on top. Status: shipped (third-party webhook ingest); first-party bot-free device capture is a separate must-build.

Shipped Recall transport · observer join · post-meeting CRM writeback · BYO ingest · Ed25519 identity Opt-in Route C active speech Built-unwired jurisdiction consent engine Must-build bot-free capture · live Ask-the agent · Zoom/Teams native

08Deployment models#

One product, three forms, and one substrate. Product capability and deployment topology stay distinct from public commercial terms.

Three forms

  1. Workweaver (managed) — multi-Workspace, Stripe-billed, Workspace Admin portal, SLA. The agent runs your operations end-to-end with full Decision-Trace proof.
  2. Workweaver (open core) — single-Workspace self-host (Docker/Helm) + standalone ww CLI, AGPL-3.0.
  3. Substrate SDK — embed Operational Context + WorkMemory + Skills into any agent runtime via ACP/A2A/MCP. Bidirectional: Workweaver as component AND orchestrator.

Managed billing gates service entitlement, not feature presence — a new managed Workspace lands in trial with the full surface; payment state controls renewal, capacity, SLA, throttle, abuse intervention. Live metering is always visible; dollar-budget enforcement is explicit and off-by-default for self-host. Deployment profiles: managed_saas, self_host_production, standalone, local_native. Cloud-neutral storage classes throughout.

09Current code truth#

Read this honestly. The substrate is real and deep; the gap is wiring density, surface activation, and proof — not primitives.

Real & shipped

Multi-form connector substrate + 30+ governed connectors + OpenAPI compiler; Skillify on three paths; loss function with Shapley attribution; skill canary versioning + MCC auto-rollback; WorkMemory graph + hybrid recall + decision-trace-in-recall; cross-tenant fair-share dispatch; passive CDC on 4 connectors; Goal Graph projection; retrospective cadence + SkillEvolution; entity resolution + graph materializer; the BO-W1 loop-closing wires (cross-system same_as edges, post-execution fact ingestion, retrospection→skill writeback, semantic decision write-back); adversarial tenant-isolation CI; the scale-ladder load proof (100→1k→10k SkillRuns/min).

The honest gaps (in the ledger)

Systemic "naming-as-if-wired": many built-but-thin capabilities still lack runtime proof, projection, or parity even when the primitive exists. Deploy viability: several managed-cloud background Lambdas dead-on-cold-start (zip omits apps.backend) while unit tests pass via sys.path — a false-green class. Production control-path theater: some steer actions record trace but do not yet touch the full WorkAdmission path; some outbound sends fabricate sent=true without delivery. Activation: the logged-in runtime still opens on an empty calendar instead of a first-win path; first value isn't proven on live signups. Billing: usage billing has no scheduled driver; any public commercial material requires admin-backed code and human approval before publication. Compliance: strong internal controls + adversarial CI, but no external pentest / SOC2 Type II attestation / security.txt yet.

The shape, in one line

Substrate-rich, surface-and-activation-thin. If every open issue ships, what remains is not more engineering — it is runtime proof the loop and deploy actually work end-to-end on real data, and real users / launch / first dollar / known margin. The single highest-leverage artifact is one logged-in stranger getting a felt outcome on a proven loop, recorded.

The blockbuster path (highest-leverage order)

  1. Prove it: a required live full-loop acceptance gate + a deploy-truth canary (synthetic-invoke background Lambdas + zip-packaging contract) — kill the false-greens.
  2. Activate and validate it: admin-configurable policy → first win on connect → public proof → export surface.
  3. Show the moat: the calibration / learning-delta surface (the veteran measurably sharper at day 90 than day 14) + own-&-export (no lock-in). These two are what no closed competitor can copy.
  4. Get the user: admit a real design partner, fix the no-op/phantom paths, record the loop, take the first dollar.
Find live status

Search the GitHub issue ledger for your area before trusting any roadmap baked into a doc. Open epics cover consumer onramp, token capital, BYO-monetization, open-formats, substrate-wiring, deploy-viability, always-on runtime, and launch-readiness.

09·Blockbuster review & competitive standing#

The honest answer to "is this a blockbuster CEO-and-substrate that beats the field?" — distilled from a 154-agent ghost/competitive/idiot-index audit, a 113-agent UI-completeness/redundancy audit, a 4-model LLM council (grok/glm/gemini/cursor) and a Codex adversarial review (2026-06-19). This section also absorbs the former full-potential strategy doc (moat thesis, scoreboard, positioning kit, failure modes).

Verdict

The substrate out-positions every named competitor on the durable axes — memory, governance, proof, ownership/export, and compounding-by-design. But it is not yet blockbuster. Three deciders gate it, and all three are partly ghost or unshipped today: (1) the autonomous ops loop, (2) the compounding moat made real, and (3) the trust substrate — zero ghosts, pre-execution gating, and claim honesty.

Competitive standing (where each rival wins, and what closes it)

RivalGradeWhat they win on / what WW must ship to beat them
MotionC+Continuous auto-scheduling/replan + calendar writeback. WW's scheduling brain matches it, but the driver is manual-POST-only and calendar writeback is a stub → the autonomous loop (#8180).
LindyB−Integration breadth (~5000 vs ~40) + cloud browser-use; WW wins governance + compounding. Breadth via the OpenAPI compiler (#7558); cloud isolation via #7645.
ViktorB−Frictionless $0/no-card onramp + "a hire, not a tool." WW wins the roster + proof + cloud-code loop → free starter budget + enforced seat quantity (#8157/#7543).
ArrowheadC+Production voice-revenue depth (conversion, languages, latency). WW subsumes the category as one channel but must wire voice conversion outcomes into Skillify (a real gap).
HermesB−WW can both drive AND be consumed by Hermes; design exceeds it, but the cloud-coding-loop (#7645) is dormant.
OpenClawB−WW is the governed brain behind any harness — but the "governed execution backend" claim is a ghost: external runs are captured, not gated (#8183).
SupermemoryBWorkMemory exceeds it on governance/decision-trace/provenance, but loses the dev memory-MCP wedge: no published MemoryBench, MCP package blocked.

The three deciders (the keystone work)

Decider 1
Autonomous ops loop

Continuous auto-replan + real calendar writeback + watchdogs that fire in managed_saas. Today the scheduler runs only on a manual POST and calendar push is a counter stub. → #8180.

Decider 2
Honest compounding moat

The skill-tune proposer is a boilerplate appender, not an LLM — the generation half of "gets better every week" is fake today. Make it real + show the tenant-visible delta. → #8179 + #8163 (+ judge #7840).

Decider 3
Trust substrate

Zero ghosts + pre-execution gating (not post-capture) + claim honesty. Migration receiver 503s; external runs ungated; surfaces show mock-success. → #8178, #8181, #8182, #8183, #8185, #8188.

End state status model (so this doc never lies and never needs re-revision)

Every customer-visible capability carries one honest status, sourced from the capability rollout-state ladder (§06), not prose: live (e2e-verified), simulated (works on a fixture/sandbox, labeled), planned (designed; delivering issue named), or hidden (not surfaced until real). The product UI must render this label — never mock-success as if live (issue #8181 makes it a CI-enforced rule). This is why the design below stays accurate the moment each issue lands: a planned · #NNNN tag simply becomes historical provenance.

The blockbuster issue map (end state design vs about-to-land)

Launch is one governed epic — #8177 — with native sub-issue children. The keystone-first spine is #7943 (real ECR/deploy package) → #8161 + #8298 (first value) → #8179 + #8163 (real moat) → #8178 (truthful loop gate) → #8180 (Motion loop). #8178 is the live-loop acceptance gate, not a blanket blocker for every activation or commercial slice.

Capability (end state design)Status todayDelivering issue
One real managed_saas loop proven end-to-end, gated + honest (keystone)planned#8178
First-run runtime hero converts an empty calendar into a guided first outcomeplanned (empty runtime calendar today)#8298 + #8161
Compounding loop's proposer is a real LLM + tenant-visible deltaplanned (proposer fake today)#8179 + #8163
Continuous auto-replan + real calendar writeback (Motion table-stakes)planned (manual-only today)#8180
Every surface labeled live/simulated/planned + CI honesty gateplanned#8181
Dashboard routability/deploy-parity + closure-gate live-path proofplanned#8182
External-harness runs gated before execution (admission/policy/budget)planned (captured-not-gated today)#8183
Operator numbers founder.workweaver.ai-configurable + typed CI gateplanned (hardcodes today)#8184
Migration/import receiver wired (own + leave-anytime)planned (503 today)#8185
Reachable Mission UI — Day altitude only; 4/5 altitudes are stubs (#8186) — OKR / Board / native Card drawer / Goal-Graphplanned (built-but-unreachable today; Day is the only live altitude)#8186
Rich native Card work surface with typed blockers, evidence refs, and proof previews in-flowplanned (data exists, Card projection too thin today)#8324 blocked by #8320
Re-homed governance UI — Outstanding / HIL / Decision-Trace / kernel-awarenessplanned (orphaned today)#8187
Name-only capabilities wired-or-retired (ghost second pass)planned#8188 (under #7871)
Public proof and own+export surfaceplanned#8156–#8167

Honest claims (the marketing discipline)

True today: "governed execution with proof" (every side effect carries a PolicyDecisionEnvelope verdict + immutable Decision Trace); "one connector contract across CLI/API/MCP + an OpenAPI compiler"; "skills that improve from accepted outcomes, with canary rollback." Allowed only after the wires land: "ask one question across every system" (cross-system graph); "compounding intelligence that gets better every week, automatically" (gated on the real proposer #8179); "company world model" (the four-condition test, §04); "millions of skill runs/tenant/day" (a roadmap target). Never say: "zero humans" / "the company that runs itself"; "finished world model"; "reversible" as a blanket promise; any benchmark whose run predates the last embedding/pipeline change.

Failure modes to avoid

Brilliant substrate, no felt magic (→ make one first-shift loop end-to-end, hide the rest); becoming a PM-tool replacement (→ integrate + write proof back, replace only on request); competing with model-provider distribution (→ treat clients as channels, own proof/memory/governance); a fat harness instead of a thin harness with fat skills (→ harness owns the loop/safety/proof; capabilities stay in skills/connectors); overclaiming the world model before the graph is load-bearing (→ show "what the model does not know," prove corrections change later plans).

10The operating mind#

How the operator thinks. Internalize this before you write code — it is the difference between progress and motion.

The idiot index

The ratio of accidental complexity (drift, dead code, misleading names, duplicate impls, phantom surfaces, theatrics) to load-bearing substance. Local = within a change; global = across the product. Every change should drive it down. Removing drift, deleting dead code, fixing a misleading name, consolidating duplicates — these are first-class work, not chores.

Principle
Abundance, not scarcity

Weigh features by correctness prerequisites, not maintenance cost. Default to building — agents maintain cheaply. But abundance is not bloat: build the right thing fully, hide the rest.

Principle
Quality compounds — and so does ugliness

A clean seam makes the next ten changes easy; a hack taxes every future change. Leave the code better than you found it on every pass.

Principle
Structural, not symptom

Fix root causes, not symptoms. No symptom-patching, no theatrics, no self-healing robots that paper over a missing invariant. Subtract before you add — a rule per flake becomes the impediment.

Principle
Drain before you burn

Don't pile new work on a clogged pipe. Clear the backlog/CI/queue to a healthy flow before adding load; mass-firing work causes thundering-herd flakes.

Principle
Green must mean mergeable

A green check must mean the thing actually works — not that a mock passed or a job returned success. False-greens are the enemy (§09). Prove behavior, not job status.

Principle
Zero cash burn, extreme scale

Idle costs near zero (dormant Functions, scale-to-zero); the architecture must still take millions of skill-runs per tenant/day. Both, not either.

The completion bar

"Done" means "holy shit, that's actually done" — verified on a real path, with proof, no caveats hand-waved away. Not "the test passed," not "it should work." If you would not stake your reputation that a stranger could use it right now, it is not done.

Make the requirements less dumb · delete the part or process · simplify or optimize · accelerate cycle time · automate. In that order — and the most common mistake is to optimize or automate a thing that should not exist.

— Elon's algorithm, the operator's way of working
The deepest product thesis

The veteran compounds; the model is fungible. Optimize for the compounding asset (memory, skills, decisions, evals the org owns), never for a particular model's cleverness. Be a genius engineer: first-principles, code-truth, ruthless about deleting what should not exist.

11Autonomy, the role pipeline & gates#

Commits, PRs, merges and cleanup are autonomous defaults. Do not wait for approval at those gates.

The autonomous commit → PR → merge → cleanup loop

  1. When an edit set is ready (tests green, lints clean, e2e clean where applicable), commit immediately with a type(scope): subject message. Never amend — each fix is a new commit so history shows iteration.
  2. Do your own structural self-audit against the issue's acceptance criteria (code-truth, idiot-index). External council review is manual-only — never auto-run it.
  3. Push the branch; open a PR with a Summary + Test plan; monitor CI; address review comments automatically; merge to main when green.
  4. Clean up immediately after merge: delete the remote + local branch, remove the worktree. Then git checkout main && git pull --ff-only.
Escalate to a human ONLY when

Ambiguous product intent that docs + code don't resolve; destructive operations on production data; credential rotation; or your own structural analysis concludes there is no path forward without a judgment call. Otherwise: act. Asking "want me to commit / push / open a PR / merge this green PR?" is a forbidden gate.

The role pipeline

Router → Planner → Developer → Reviewer → Deployer. The router sends every request to the right role-agent with zero prompting; the developer is TDD-first; the reviewer runs parallel P1 (critical, incl. the code-truth audit against the closing issue) and P2 (quality, incl. the idiot-index audit); the deployer owns commit/PR/CI/merge/cleanup; the optional learner compounds patterns and anti-patterns into the knowledge store when invoked.

The three non-negotiable gates
  1. Closure invariant. An issue closes only when its structural acceptance landed on main AND the closing commit referenced it. architecture/atomic-issue issues need the verified-wired label (landed in production paths, not scaffold). Batch-closing without structural work is a governance violation.
  2. Surface parity. Every user/agent-invocable capability ships REST + CLI + MCP + UI + registry + Decision Trace + tests, or a recorded exemption with rationale + tracking issue.
  3. Meaningful Decision Trace. Trace coverage is proof, not log spam — required fields (workspace, subject, actor chain, operation, side-effect class, policy verdict, evidence refs, outcome, idempotency key, created-at), enforced by CI.

Worktree & branch discipline

Concurrent agents share the main checkout. Work only in your own worktree with absolute paths; never cd into another agent's checkout; verify your pushes landed on origin. If on the default branch, branch first. Leave the repo clean at the end of every unit: on main at latest origin (or a fresh branch), no untracked/unstaged files, no in-flight rebase/merge, no stale worktrees, no orphan merged branches.

Remaining + Next Steps (every response)

End every response — trivial or substantive — with two explicit sections: Remaining items (everything not yet done for the goal, with file paths + issue numbers + the concrete next unit) and Next steps (the ordered list you will execute or that the human must unblock). The discipline matters, not the verbosity.

12The harness fleet & council#

Workweaver is built by a self-organizing fleet of coding agents, steered at the goal level. You are one of them.

HarnessRole in the fleet
Claude CodePrimary implementer + orchestrator; deep multi-step reasoning, role pipeline, worktrees.
Codex (GPT-class)Second implementation/diagnosis pass; rescue + deep root-cause; long-running autonomous coding.
CursorAgent CLI member (auto / composer / grok variants).
GLMMax-thinking deep code-truth verification (rigorous, slow, thorough).
GeminiFast broad analysis + multimodal.
Generic MCP / ACP clientsConsume WorkMemory + governance tools; can be wrapped as governed workers.
The council is MANUAL-ONLY

Multi-model deliberation (asking Grok / GLM / Gemini / Codex / Cursor to adversarially review) is a powerful tool — and it is invoked only when the human explicitly asks ("ask glm", "/council", a council slash-command). Never run a council automatically as part of any pipeline, commit flow, closure gate, or burndown — automatic council adds unacceptable latency and is forbidden. When the human does ask, give every member the same full-context prompt; never substitute a Claude subagent for a requested external model; report errors, don't silently fall back. Timeouts are zero — let models think.

13CI / infra hard-won lessons#

Distilled from sleepless nights optimizing the wrong layer. The fleet was routing-bound, not capacity-bound.

  • Generic runners beat clever overflow. Any runner can take any job, OOM-capped by count; dead-simple onboarding. CodeBuild-style pinned overflow strands jobs (pins a label then idle-exits while local runners sit idle). GitHub-hosted stays the burst tier.
  • The drain is gated by deterministic main-level test failures, not capacity. Docs-only PRs pass via scoped CI and mask a deterministic failure; the fix is to run the failing test on main HEAD and fix the one deterministic failure to unblock all code PRs. Admin-merging past a gate is the poison.
  • Branch-protection over theatrics. Prevent structurally (rulesets, required checks); never rely on a self-healing auto-revert robot. Merge-queue is overkill at low volume.
  • Capacity = config + one invariant test, not a daemon. Subtract before adding; one-off ≠ root cause.
  • Drain gradually (~6-8 active PRs) to avoid load-flakes; gh pr update-branch (not rerun) pulls merged fixes into a PR's CI; gh run rerun replays a stale trace-cache — use a fresh push to verify routing changes.
  • Hosted-minutes & packaging traps are the classic silent forever-queue / dead-on-deploy causes — never corrupt routing config to "fix" them; fix the real binding.

14The research orbit#

The external sources that shape the thesis — useful when you need first-principles grounding or competitive bearing.

15Operating playbooks#

Procedures live in skills, not this briefing. Use the canonical playbook for the task:

  • Issue → PR → merge: skills/dev/workweaver-autonomous-delivery/SKILL.md
  • PR/CI drain: skills/dev/workweaver-pr-ci-babysitter/SKILL.md
  • Issue authoring: skills/dev/workweaver-github-issue-authoring/SKILL.md
  • Done proof: skills/dev/execution-verification/SKILL.md

16Field notes & honest gaps#

Hard-won truths that are easy to forget and expensive to relearn.

  • The systemic verdict: substrate-rich, surface-and-activation-thin. The repeated failure mode is "naming-as-if-wired" — a capability advertised in the registry/docs but whose composition root is never invoked. When you touch an area, check whether the thing is actually called, not just defined.
  • Strategy reframes worth more than the roadmap: the wedge (import → schedule → writeback) must not become the whole story; it feeds the graph with real work so the substrate compounds. Writeback is copyable; the write path (the decision becoming binding inside Workweaver, with proof) is the moat.
  • WorkMemory honest mechanics: recall runs the real hybrid stack today, but the background promotion during Sleep-Time Compute is still a deterministic heuristic consolidator (exact-string grouping + a fixed contradiction table) — model-grade semantic consolidation and embedding-based concept clustering are tracked follow-ups. Don't claim them as shipped.
  • The agent self-awareness: bind, don't build. The KernelSkills + awareness registry exist; the work is wiring them into the live planning path, not inventing a second orchestrator. Always-on is a dumb liveness tick, never a reasoning "Conductor" agent (that raises the idiot index).
  • Security & identity deep cuts: hire-time identity_mode (shared/dedicated) and action-time action_identity (zara_owned / delegated_human / draft_only / denied) must never be conflated. Payment + chain-write are deny-by-default with KeyCustody as a non-exportable signing oracle. The self-host no-password mode must be fenced behind an explicit insecure flag + non-loopback guard.
  • The operator's voice (pushbacks distilled): don't add a structure per flake; subtract before adding; one logged-in stranger getting a felt outcome beats any amount of internal proof; numbers belong on founder.workweaver.ai, never hardcoded; deploy through the pipeline, never hand-deploy; never seek macOS Keychain access.

17Appendix & glossary#

Canonical file map (where truth lives)

PathWhat it is
AGENTS.mdThe harness-agnostic working contract every harness follows.
docs/canonical/PRODUCT-CONTEXT.mdThe single source of truth — thesis, primitives, axioms, contracts. Read every session.
docs/canonical/PARADIGM.mdApp→Agent positioning thesis (read second).
docs/canonical/PRODUCT.md · CAPABILITIES.mdCapability map + shipped-status registry with code/test evidence.
§09· Blockbuster Review (this doc)Moat thesis, competitive standing, the scoreboard, positioning kit, failure modes — absorbed here from the former WORKWEAVER-FULL-POTENTIAL-STRATEGY.md (now retired).
docs/canonical/DESIGN.htmlThe rich, visual, consolidated design system — tokens, the four-tier disclosure model, the surface map, the shared-component registry, the UI Definition-of-Done, the continuity contract. The lean machine-checked canon stays in docs/canonical/DESIGN.md (brand-spec fence + contract block); the gate/test specs stay in docs/UI-UX-SPEC.md · UI-DOD.md.
docs/canonical/RUNTIME.md · COMMERCIAL.md · SECURITY.mdDeployment profiles + ops; pricing/billing/metering; security model.
docs/reference/runtime/Frozen contracts: capability registry, parity manifest, side-effect-proof matrix, healing matrix, probe matrix, ACP contracts.
skills/The procedure registry (issue authoring, role pipeline, dev workflows).
apps/backend/CAPABILITIES.jsonMachine-readable capability index — cross-check claims against it.
the GitHub issue ledgerLive status — what is shipped vs in-flight. The roadmap is here, not in any doc.

Glossary

Operational Context — the one substrate (Evidence Ledger + Decision Trace + WorkMemory) WorkMemory — epistemic, scoped, versioned memory; Facts linked to Evidence Decision Trace — the inspectable why-it-acted proof surface Evidence Ledger — append-only what-happened records TimeBlock / Card — accountability unit / WorkItem projection on it Skill / Skillify — reusable competence / the promotion signal the agent — the sole cognitive orchestrator Work Function — dormant domain operating context Swarm — composition by bottleneck PolicyDecisionEnvelope — ALLOW / REQUIRE_APPROVAL / DENY / DRAFT ComplianceGuard — blocking preflight on outbound side effects Goal Graph — the projection every view is over CapabilityRegistry — discoverable index; rollout state idiot index — accidental-complexity-to-substance ratio (drive it down) naming-as-if-wired — declared capability whose composition root is never invoked the veteran — the org's owned, portable, compounding memory + skills + decisions + evals code-truth wins — fix the code or the claim, never both silently MoM — Mixture of Models; UI/docs name for tenant mixture routing (strategy id may stay moa) seats — mixture roles: daily_driver / light / frontier Proven — progressive_trust tier required for irreversible live actions (GraduateGate); Trial otherwise PurposeRouter — Purpose-bound expansion of mixture identity into a member plan the completion bar — "holy shit, that's actually done," proven on a real path
Standing posture (one screen)

You are one agent in a governed swarm building under the operator's steerage: the agent runs the work (the CEO metaphor that ships in code), swarms execute, and Decision Trace proves why. Read code truth before acting. Drive the idiot index down. Prove "done" on a real path. Commit → PR → merge → clean up autonomously; escalate only for genuine human judgment. Every number is admin-configurable; every surface has parity; every side effect has a Decision Trace. The veteran compounds; the model is fungible.