Knowledge graph · read-only
The web of what we know
Every atom in the knowledge base is a node; every typed relationship in its
frontmatter — relates_to, supersedes, uses, decided_by — is an edge. This is a derived, read-only map of the graph
that lives in git. Hover a node to trace its neighborhood, click it to read it.
160 atoms 984 relationships 9 concept types
Decision 73Task 60Role 13Reference 5Index 4Log 2Artifact 1Mission 1Process 1
Relationships: relates to 844 owner 139 produces 1
- Dossier self-loop — first compounding-return readout on ourselves Artifact
- /client-new — a thin operator slash command over the control-plane CLI Decision
- A motion language for the public landing — make the compounding learning-loop story kinetic while holding the brand bar (and a documented exception for the section-4 loop diagram) Decision
- Add a Forward Deployed Engineer function (subagent) + the first slash command (/fde) Decision
- Add Vercel Web Analytics to the public marketing landing (a cookieless demand signal — landing surface only, not the KB or product) Decision
- Adopt OKF as Dossier's canonical knowledge format Decision
- Agentic "sprint board" architecture — a git-resident OKF task board worked by bounded, hook-governed Agent SDK loops Decision
- Agentic board v1 — build the git-resident OKF task board (deterministic offline core, SDK reserved), resolving DEC-0024's four open questions and dogfooding Dossier's own repo first Decision
- Agentic-agency runtime topology — compile personas from the OKF graph and activate the reserved BoardWorker over the deterministic spine Decision
- Astro Starlight as the docs-site generator + the product-owner, starlight-engineer, and documentation-engineer functions Decision
- Atrium — the live co-working room over git, on Yjs + self-hosted Y-Sweet, snapshotting through reconcile() (host pick gated on human sign-off) Decision
- Build a fully-owned hosted control plane (do NOT adopt the Vercel claude-managed-agents starter); settle the system of record as hybrid / thin-control-plane with the client-owned OKF git repo canonical Decision
- Build DEC-0064 Option D into running code — the v0 agency governance dashboard is a non-prerendered `(operator)` route group that reuses dispose.ts, gated behind DOSSIER_OPERATOR Decision
- Capability→delivery (`delivered_by`) is grounded by a deterministic practice→delivery-workflow bridge — a one-time curation pass, not an extraction-loop change Decision
- Claude-primitives-first build strategy Decision
- Codebase ingestion as the 4th connector — a three-layer deterministic code-graph substrate + git-mined "why", gated on a de-risk spike and dogfooded on this repo first Decision
- Concept identity = type + (canonical-title OR prefix-stripped id), exact-match closure — dedup owned by the @dossier/okf keystone, in-pass + opt-in reconcile + loop default Decision
- Decouple the agentic board from DOCS_ENABLED — ship /board publicly in production while the /knowledge reading surface stays gated dark Decision
- Defer the heavy curation pass off the hot path — terse log stub + kb:check now, pnpm log:audit later Decision
- Deterministic edge-invariant repair stage (extraction Stage 5.5) Decision
- Digital Experience Agency vertical as the first reference implementation Decision
- Do not scan/mirror Anthropic's docs into the KB — distill curated references instead Decision
- Dumb-fast trace capture + off-hot-path distill/prune Decision
- Egress containment substrate — @anthropic-ai/sandbox-runtime, proxy-first; gVisor/Firecracker as an escalation tier, not the default Decision
- Establish the design system and the UX-engineering function Decision
- Establish the expert/principal agent team and first skills Decision
- Establish the learning-loop & audit architecture Decision
- Extraction runtime architecture — the moat Decision
- Fast deterministic KB integrity check (kb:check) — make SSOT cheap to uphold Decision
- First full-loop SERVE on a real external client — reconcile divergent extraction runs to one canonical KB on a quality rubric; lexical retrieval sufficient (VectorRetriever seam not yet needed) Decision
- First live FirecrawlConnector run against a real client source — field evidence for the reserved web seam Decision
- Fix git-per-tenant isolation when a tenant root is nested inside another repo Decision
- Give the proven agentic board-drain an operator front door — a first-class `dossier-runtime drain` subcommand, offline-by-default with explicit `--agentic` opt-in Decision
- Governed disposition lives with the operator control plane (CLI now, local dashboard optional, deployed siloed service deferred) — the public `/board` deploy stays read-only and holds no mutation authority Decision
- Ingestion connector seam — assemble, don't build, and ingestion owns the input contract Decision
- KB-agnostic @dossier/site (renders any tenant's OKF KB) + runtime-driven site rendering + the Node-26 Windows build fix Decision
- Knowledge Model v0 Decision
- Landing flow + cohesion rework — cut the Features beat (re-home its guarantees to the OKF beat + loop and its one net-new card to a direct-adopter door), reframe the hero stakes-first, and restructure get-started into two equal doors Decision
- Lenient KB-atom reader in @dossier/okf-view (readKbAtoms) — faithful getCollection reproduction for the SvelteKit app Decision
- Lighten the curation tier and right-size execution — raise the ADR bar, enforce true one-line log entries, deterministic-by-default incremental log:audit Decision
- Link to the split @dossier/docs surface dev-origin-aware (same-origin in prod, docs dev origin in dev) via an SSOT $lib/docs module — NOT a Vite dev proxy, which two Vite dev servers cannot share one origin for Decision
- Live extraction eval harness — what we measure is what extraction optimizes for Decision
- Market to every organization; agencies are the highest-leverage channel, not a gate Decision
- MCP agentic foundation — tenant-scoped GraphRAG over the OKF KB Decision
- Migrate chrome-light app surfaces to SvelteKit; docs stay on Astro/Starlight (two apps, one origin) Decision
- OKF edge vocabulary is registry-driven — a vertical declares its own traversable edges Decision
- OKF upstream relationship — complement at the format layer, competitor at the serving layer Decision
- One loop, three faces — ship an agentic Digital Experience Agency "in a box" (the Agency) plus an adoption-ladder readout product (the Ladder) over the OKF Company Brain, dogfood-first Decision
- Patch `@sveltejs/adapter-vercel` to fall back to Windows junctions on EPERM — so `pnpm -r build` is green on Windows without Developer Mode Decision
- Persistent read-only chrome via an (app) route-group layout — stop the header re-animating on intra-app nav Decision
- Personas ground on teammates via injected cross-surface resolution — never by minting team atoms into knowledge/ Decision
- Plugin + marketplace packaging — distribution as the agency wedge, built from the canonical .claude/ primitives Decision
- Recalibrate the Dossier brand identity — demote color, promote type + restraint + craft — then build the showcase landing Decision
- Reconcile the decision reversibility field — free-text prose vs. the @dossier/okf enum Decision
- Remove the "For agencies" design-partner door (and its hero affordance) from the landing — single self-serve door Decision
- Restructure the shared SiteHeader into a three-zone information architecture — brand far-left, Board·Graph optically centered, Docs·GitHub·CTA·theme far-right — plus an accessible mobile disclosure and a stacking-context fix Decision
- Runtime orchestration & per-tenant control plane — the learning loop becomes a runnable system Decision
- Ship the landing publicly behind a docs-gate flag, capture demand through two honest doors, into a list we own Decision
- Site chrome unified into shared SiteHeader + SiteFooter + ThemeToggle components, and the docs/KB surface made fully open — DEC-0022's DOCS_ENABLED landing-only gate is removed so /knowledge ships publicly alongside the landing/board/graph Decision
- Stay serialize-only for intra-tenant drains — keep the per-task worktree mechanism built-but-dormant until a measured throughput trigger fires Decision
- Subscription-backed extraction is a first-class transport — ClaudeCodeClient (no API keys) Decision
- The compounding merge — the per-tenant learning loop accumulates by id + confidence instead of overwriting (okf reconcile() + opt-in reconcile in extraction/runtime) Decision
- The dev-only client landing preview renders the client's REAL OKF knowledge graph inline — via three atomic no-copy-paste extractions (readKbAtoms(dir), buildGraphView, GraphExplorer) that read the client's served OKF directly without perturbing the process-wide DOSSIER_KB or the prerendered /graph Decision
- The docs home (/knowledge/) must resolve for any client KB — including one with no root index.md Decision
- The L2 adoption-readout spec — a deterministic 4-axis scorer (VALUE/RISK/READINESS/MOMENTUM) over process/workflow atoms → a Now/Next/Later roadmap emitted as a sovereign OKF artifact Decision
- The marketing landing becomes a tailorable per-client template — a typed LandingContent model rendered by LandingPage.astro; the Dossier render stays byte-for-byte identical; client instances are values of the same type, canonical in the client's own repo, generated by the generate-landing skill Decision
- The produces edge is canonical on the producing process only Decision
- The read-only /board redesigned as "The Ledger of Work" — reframe the surface from task-management to loop-health legibility, with motion that animates only real git state Decision
- The WATCH face — a read-only compounding-return ledger over the board snapshot + the tenant git trail Decision
- Three content registers — the OKF KB stays a pristine sovereign showcase; product docs and blog are SEPARATE authored collections (REFINED 2026-06-22 — TWO renderers split by register, not one) Decision
- Untrusted-by-default ingestion & serve boundary — defense-in-depth to keep regulated data out and contain prompt injection Decision
- Upgrade the log-auditor from a backward-looking recorder into a recorder + standing auditor that closes the improvement loop Decision
- Visibility & GTM — fix the floor before widening the mouth; owned, derived, on-thesis distribution, and what we deliberately will NOT build Decision
- Web ingestion — a keyless HttpConnector by default, Firecrawl wired as the premium path, and a first-class CLI web-ingest mode Decision
- Dossier — Knowledge Base (self-hosted) Index
- Dossier — The Knowledge Model (v0) Index
- Dossier — Work Items (the agentic board) Index
- The Expert Team — roles Index
- Dossier — Decision & Audit Log Log
- Task Board — Audit Log Log
- Dossier — Mission & North Star Mission
- Dossier self-loop — run the agency loop on our own repo Process
- Brand Identity & Premium-Surface Research — June 2026 Reference
- Claude Primitives & Model Family — June 2026 Snapshot Reference
- OKF Integrity Audit — knowledge/ against @dossier/okf parse() (2026-06-14) Reference
- OKF Upstream — GoogleCloudPlatform/knowledge-catalog — June 2026 Scan Reference
- TypeScript Toolchain Competitive Landscape — June 2026 Scan Reference
- Adversarial QA & Knowledge-Integrity Reviewer Role
- Agentic-Foundation / MCP Engineer Role
- Astro Starlight Engineer Role
- Documentation Engineer & Information Architect Role
- Ingestion & Connectors Engineer Role
- Knowledge-Extraction & GraphRAG Engineer Role
- Platform / Runtime Engineer Role
- Principal Forward Deployed Engineer Role
- Principal Knowledge-Format Architect Role
- Principal Platform Architect Role
- Principal SvelteKit Engineer Role
- Principal UX Engineer Role
- Product Owner Role
- Abstract the hard-coded hamburger-bar / icon-stroke geometry into a --ds-* token family (border-width / icon-stroke) Task
- Activate parallel intra-tenant drains via per-task git worktrees, or stay serialize-only? (one-way-door topology call) Task
- Add a retry/repair path for extraction segments that fail on malformed model JSON Task
- Add the missing d3-transition dependency + import so graph-island's zoom transitions animate (and astro check reaches zero) Task
- Author the "Atrium" DEC — the live-layer-over-git co-working room (Yjs + self-hosted Y-Sweet; snapshot bridge → reconcile) Task
- Author the agentic-agency runtime topology DEC + spec (OKF→persona/runbook/team; coordinator/dispatch; per-tenant fleet isolation; Atrium+board+reconcile+MCP composition) Task
- Author the two missing role atoms — documentation-engineer and mcp-engineer — so every accountability agent has a knowledge/roles/ atom Task
- Build the L2 "adoption readout" generator skill (sibling of generate-landing — MCP-retrieval harness + KNOWLEDGE-BRIEF; a 4-axis scorer over process/workflow atoms → sequenced roadmap → OKF artifact in the client repo) Task
- Build the PreToolUse claim/lease governance hook Task
- Build the runtime BoardWorker seam (DefaultBoardWorker + reserved AgentSdkBoardWorker) Task
- Close the RBA delivery-modeling taxonomy gap — capability→delivery `delivered_by` grounding + two persona-role cleanups Task
- Comprehension funnel — route the landing/docs surfaces into a clear primary CTA toward the on-ramp Task
- Confirm and stabilize build-wordmark.mjs (ESM import + woff2/opentype font deps) so the committed wordmark stays re-buildable Task
- De-risk spike (GO/NO-GO) — mine the git "why" through the existing faithfulness judge, report two numbers Task
- Decide whether @dossier/docs keeps @vercel/analytics now that the landing (its only consumer) moved to @dossier/app Task
- Decide whether the report-only agents (qa-reviewer, principal-architect) should close the finding loop like the log-auditor now does Task
- Delete or formally park the now-unused HeroLoop.svelte (its only import was removed when the loop diagram merged into the hero) Task
- Deny-by-default egress sandbox around the extraction agent — break the lethal trifecta so a hijacked agent structurally cannot exfiltrate (the single load-bearing build finding) Task
- Design the OKF `task` concept type + seed the board Task
- Detector ensemble at the ingestion boundary with a MEASURED F2/recall target (Presidio recall-tuned + custom "P2" recognizers + cloud DLP) — measure detection, don't trust it Task
- Docs home must resolve for every served KB (synthesize an overview when there is no root index) Task
- Document that local dev needs BOTH servers running (app + @dossier/docs on :4321) — root dev-script note or README Task
- Execute the SvelteKit app migration (DEC-0043) — phased, no big-bang, apex domain moved only at final cutover Task
- Extract a checked-in WCAG contrast-check utility (scripts/check-contrast.mjs) so token-palette changes are auditable and repeatable Task
- Fail-closed quarantine wrapper for the Unstructured file path (zero-element / encrypted-by-header / unknown-MIME → quarantine-by-default) — because Unstructured fails EMPTY, not CLOSED Task
- Finish DEC-0014 plugin distribution — verify the Claude Code plugin installs as a real product from the marketplace Task
- Fix dossier-runtime `site` subcommand dispatch (isSub omits 'site') Task
- Fix extraction type-discipline — `system` used as a catch-all + non-slug ids (RBA run) Task
- Fix the 41 KB load errors degrading Phase-0 persona grounding (dangling persona-grounding targets) Task
- Fix the stale round-trip-test path in the generate-landing SKILL.md (points at a file that no longer exists) Task
- Give board-claim-guard the dumb-fast treatment before it goes standing (no per-write node cold-start) Task
- Harden the RBA harness subscription-client spawn — drop shell:true (Node DEP0190) Task
- Have extraction populate the accountability spine (owner / reports_to / members / decision_rights) Task
- Honor robots.txt in the keyless HttpConnector Task
- Improve extraction EMIT-time type discipline for DXA vertical types (so future runs don't need post-hoc curation) Task
- Language-pack backlog — author per-language tree-sitter tag-query + schema packs beyond TS/Python (CONTINGENT on the v1 build proceeding) Task
- Make the docs renderer registry-aware for vertical edges + render decision judgment fields Task
- Make the learning loop compound (reconcile merge by id + confidence) Task
- Make the learning loop dedup/reconcile at scale (collapse same-type duplicate clusters; default-on compounding) Task
- Payload-free, tamper-evident audit/drop-log design — record the DECISION (per-item verdict + label snapshot + drop reason), NEVER the sensitive payload (the "audit paradox") Task
- Per-tenant runtime isolation — make the tenant a process/network/key boundary (not a directory), with a per-tenant vector namespace + server-side tenant binding, so a poisoned/sensitive atom is contained to ONE tenant Task
- Prune the now-dead per-page topbar/footer CSS left behind after the shared-chrome consolidation (keep .landing-external) Task
- Re-home the Buttondown email templates from packages/site to @dossier/app (the subscribe endpoint moved) Task
- Re-type 6 client-specific RBA `workflow` atoms as DXA `engagement`s (single-client SOW instances, not standing orchestrations) Task
- Read Microsoft Purview/MIP sensitivity labels at M365 ingest + a client-side DLP egress gate (Layer 1 — honor the client's existing classification) Task
- Register the DXA vertical preset in @dossier/app before building the inline graph (the /graph + /preview graphs likely drop DXA edges) Task
- Render the board as a derived `/board` surface in @dossier/site Task
- Render the client's REAL board inline on the dev-only preview (the board sibling of DEC-0047's inline graph) Task
- Render the dogfood OKF KB app-native in @dossier/app near /graph (the prerequisite that frees Starlight for product docs) Task
- Resolve 4 orphan-artifact graph errors from the RBA Firecrawl run (link a producing process or prune) Task
- Resolve the decision `reversibility` schema conformance gap Task
- Retro-shrink the legacy knowledge/log.md essays to true one-liners (terse line + wiki-link) Task
- Serve-layer poisoning defense — propagate provenance/trust-tags to consumers + a read-only sandboxed serve-time agent + an output hook blocking atom-instructed side effects Task
- Shareability + crawlability hygiene pass — one atomic <SiteHead> (OG/Twitter + canonical + JSON-LD), robots.txt, sitemap Task
- Spec the v0 agency dashboard surface (Phase 0 dogfood — Dossier's own .claude/agents team on Dossier's own OKF; daily-standup / approve-ship loop) Task
- Split @dossier/okf-view into a client-safe entry (view-model + types) vs a server-only entry (the fs readers) + guard against node:fs leaking into the client Task
- Stand up the product-docs register — REPURPOSE the @dossier/docs Starlight surface to official product docs at /docs/* (new-tab "Docs") Task
- Svelte-ify the board's ~270 lines of vanilla-JS interactivity (the DEC-0043 / Phase-7 fast-follow) Task
- Tighten reconcile diffs against timestamp churn on live re-crawls Task
- Web-crawl hardening for the live Firecrawl path — pin >=2.0.1, network-layer internal/link-local egress blocklist, never carry client session credentials Task