Everything_CC Ontology

Workspace architecture for LeadGrow and associated businesses. Organized by what you DO (kinetic) vs what things ARE (semantic). Each workspace self-describes via .claude/ + .nexus.json so Claude Code and the Knowledge Graph auto-scope.

Status: FINAL
Date: 2026-07-01
Owner: Mitch
Phase: Ready for migration

Three Layers

Kinetic Layer

Where you DO work

Pipelines, workflows, tools, CLIs, MCPs, products. These are operational - agent harnesses, automation, and software that runs.

Semantic Layer

What things ARE

Businesses, knowledge, personal areas, projects. These hold context, identity, brand, and reference material.

Lifecycle

Where things rest

Archive and temp. Inactive, deprecated, or scratch. Everything eventually ends up here or gets promoted above.

Full Hierarchy

Kinetic Layer - where you do work
pipelines/ - agent harness workspaces
  gtm-orchestrator/ - outbound pipeline
    clients/ - GTM client bundles + symlinks to businesses
    components/ - campaign-loop, list-pipeline, coldoutboundskills, signal-intelligence
    prospects/
  leadgrow-video/ - video pipeline
  content/ - content pipeline (formalize)
 
workflows/ - anything on cadence: n8n, trigger.dev, hermes, crons
 
tools/ - operational tools, eval harness, scripts
  reddit-find/ ← was root
  lg-free-enrichments/ ← alive lg-* lib
  agent-harness/
  get-shit-done/
  auto-prompt-creator/
  autocontext/
  prompt-lab/
  research-process-builder/
  scripts/ ← was root scripts/
 
clis/ - command-line interfaces
  cli/
  cli-printing-press/
  leadgrow-supabase-cli/
  techsight-cli/
 
mcps/ - MCP servers + knowledge graph data
  nexus-mcp/
  gtm-knowledge-mcp/
  knowledge-graph/
 
products/ - full-blown software
  gtm-studio/ ← was archon
Semantic Layer - what things are
businesses/ - owned businesses (PARA: Areas - ongoing)
  leadgrow/ - main business
    .claude/CLAUDE.md, .nexus.json
    hq/ - company knowledge, tone, voice ← was leadgrow-hq
    website/
    landing-funnel/ ← was leadgrow-landing-funnel
    fulfillment/ ← was leadgrow-fulfillment
    olympus/ ← was leadgrow-olympus
    services/
    services-deck/
    dashboard/ ← was service-model-dashboard
    proposals/ ← consolidated website-proposals
    design-system - symlink
  coaching/
    .claude/CLAUDE.md, .nexus.json, website/, offers/, brand/
  legion-community/ ← was community-os
  maillegion/
 
knowledge/ - cross-cutting reference (open: may collapse)
  playbooks/ - proven GTM frameworks
  research/ - market research spanning contexts
 
personal/ - Mitch the human (PARA: Areas - ongoing)
  mitchs-brain/ - living notes vault ← was "Mitch's Brain"
 
projects/ - experiments with end dates (PARA: Projects)
  cold-email-experiments/ - R&D lab (poke-the-bear lives here)
  course/
  eva-health-data/
  health-data/
Lifecycle
archive/ - deprecated, completed, dead
  lg-content/, lg-data/, lg-research/, lg-registry/, lg-restate/, lg-website/
  gtm-sheets/, __tests__/, data/, docs/, downloaded_files/
  guides/, handoffs/, report/, scenarios/, skill-dashboard/
  system-comparison/, biz-type-scorer/, research-process-builder/
  poke-the-bear-skill/ - absorbed into cold-email-experiments
 
temp/ - scratch (tmp/ merged in)

Context Routing Pattern

Each workspace gets a CLAUDE.md that tells Claude Code which business it's in and a .nexus.json that auto-scopes the knowledge graph. The filesystem handles WHERE you work. The KG handles WHAT you know.

// businesses/coaching/.claude/CLAUDE.md

Business: Coaching
KG scope: coaching (via .nexus.json)
Brand/voice: ./brand/
Offers: ./offers/
Pipelines: Use gtm-orchestrator for outbound
             Use leadgrow-video for video content
             Use content/ for written content

Design Influences

Palantir Ontology

Foundry Platform

Separates semantic (what things ARE) from kinetic (what you DO). Objects vs actions.

Applied: Kinetic layer (pipelines, tools, workflows) vs Semantic layer (businesses, knowledge, projects).

Claude Code Native

Anthropic / Kun

Each workspace self-describes via .claude/ (CLAUDE.md, OPINIONS.md, voice.md, rules/, skills/) + .nexus.json for KG scoping. Layered inheritance: global rules at root, workspace-specific only local.

Applied: every workspace gets .claude/CLAUDE.md (identity) + .nexus.json (KG scope). Skills deduplicated - global stays global.

OKF

Google Cloud Platform

Directory structure IS the ontology. Every .md gets YAML frontmatter with type. Path = concept ID (stable identity).

Applied: Paths are stable identifiers. Get structure right before tagging. index.md for progressive disclosure.

Johnny Decimal

John Noble

Max two levels of organizational hierarchy. Top-level = areas, one level down = categories. Each project owns its own depth.

Applied: Workspace taxonomy stops at two levels. Each repo/project manages its own internal structure.

Key Decisions

Pipelines grouped under pipelines/, not at root

Each pipeline is an autonomous agent harness. Grouping prevents root sprawl as pipeline count grows.

LeadGrow is a business, not special

Lives in businesses/leadgrow/ alongside coaching, legion-community, maillegion. Context routing via CLAUDE.md + .nexus.json.

No company umbrella - flat ontology at root

OKF is neutral on nesting. 80% LeadGrow work means no extra hop. KG handles cross-cutting context, not filesystem.

Businesses are rich workspaces, not flat folders

Each business has website/, offers/, brand/, .claude/CLAUDE.md, .nexus.json. Symlinked into pipelines when they need pipeline work.

"shared/" killed - split into tools/, clis/, mcps/

Descriptive names over generic containers. Each bucket has a clear purpose.

Archon renamed to GTM-Studio, lives in products/

Full software products get their own category, distinct from tools and CLIs.

personal/ vs projects/ split

personal/ = ongoing areas (Mitch's Brain - living vault). projects/ = things with end states (experiments, courses).

.claude/ is the workspace brain

Voice, taste, opinions, company context all live in .claude/ so CC auto-loads them. No separate brand/ dir needed. .nexus.json scopes the KG per workspace.

33 root CLAUDE.md files migrated to .claude/CLAUDE.md

Content split: identity -> CLAUDE.md, rules -> rules/, voice -> voice.md. Global rules deleted (no duplication of user-level).

Duplicate skills promoted to global

context-gap-analysis in 8+ repos -> one copy in root .claude/skills/. Any skill in 3+ repos gets promoted.

Filesystem = WHERE you work. KG = WHAT you know.

Don't make the filesystem duplicate the knowledge graph's job. Each workspace scopes via .nexus.json.

knowledge/ standalone - may collapse

Cross-cutting playbooks and research that belong to no single business. Could be redundant if KG covers it.

lg-llm-runtime - alive or archive?

Most lg-* libs are dead. lg-free-enrichments confirmed alive. Runtime TBD.

.claude/ Workspace Standard

Every workspace that gets opened in Claude Code gets this structure. Layered inheritance: global rules at root, workspace-specific only local. No duplication.

// Standard .claude/ structure per workspace

<workspace>/.claude/
  CLAUDE.md       REQUIRED - identity, type, KG scope, key paths
  OPINIONS.md     taste/opinions (inherit from root if not distinct)
  voice.md        voice guidelines (own or symlink from canonical)
  company.md      company facts (businesses only)
  rules/          workspace-specific rules only
  skills/         workspace-specific skills only (NO global dupes)

<workspace>/
  .nexus.json     REQUIRED - KG auto-scoping
// Inheritance rules

CLAUDE.md     Always workspace-specific. Never duplicate user-level rules.
OPINIONS.md   Inherit from root unless business has distinct taste.
voice.md      Each business owns its voice. Pipelines inherit.
skills/       Global in root .claude/skills/. Local = workspace-specific only.
.nexus.json   Every workspace gets one. Scopes KG to context.

Migration Phases

Each phase is reversible. Symlinks at old paths during transition. Never delete - archive.

0

Skill Cleanup (DONE)

61 to 26 agent-invocable skills. Tella MCP scoped. Junk dirs archived.

1

Dependency Audit

Grep all repos for hardcoded paths. Map which moves are safe vs need path updates. Gates all subsequent phases.

2

Leaf Moves

Create clis/, businesses/, projects/, personal/. Move leaf repos (fewest inbound refs) with old-path symlinks.

3

Pipeline Consolidation

Create pipelines/. Move gtm-orchestrator, leadgrow-video, content. Fold GTM components into gtm-orchestrator/components/.

4

Business Enrichment

Structure each business with .claude/CLAUDE.md, .nexus.json, internal layout. Move LeadGrow internals under businesses/leadgrow/.

5

Context Routing

Wire up CLAUDE.md + .nexus.json per workspace. Set up pipeline symlinks for business-to-pipeline references.

6

Archive + Cleanup

Move confirmed cruft to archive/. Merge tmp/ into temp/. Remove transition symlinks after dependency audit confirms zero refs.