Handbook
Ecosystem reference
This page is the repo and workcell topology companion to the Product intersection map and the illustrated Platform reference architecture. The intersection map stays contract-centric; this page shows repos, visibility…
Updated
Purpose
This page is the repo and workcell topology companion to the Product intersection map and the illustrated Platform reference architecture. The intersection map stays contract-centric; this page shows repos, visibility, submodule rules, and integration flows.
For short repo and folder names used in chat and Cursor rules (bp, ks, fl, ff, fpw, …), see the workspace abbreviations glossary (canonical: docs/WORKSPACE-ABBREVIATIONS.md at the multi-repo workspace root).
Machine-readable source:
Run python3 scripts/check_foundation.py to validate the sample discriminator.
Reference architecture (start here)
For layer diagrams, per-element flows, and SVG figures, read Platform reference architecture first.
Quick topology
[forge-platform]
schemas · ADRs
|
contracts (no product submodules)
|
+-----------------+------------------+
| | |
[forge-lenses] [forge-lcdl] [forge-fleet]
control plane LLM transport execution
| ^ ^
| | |
+--------+ [forge-workcells] --------+
runners (private)
^
|
[forgesdlc-kitchensink]
packs · UX harnessRepo layout
Topology is grouped by role. For contract edges see Product intersection map. For operator tools without handbook shells see Operator tools.
Core spine (control plane + contracts)
| id | kind | visibility | Owns |
|---|---|---|---|
| forge-platform | product | org | Schemas, ADRs, glossary; not runner code long-term |
| forge-platform-website | handbook | — | Published handbook; only consumer that submodules platform → platform.forgesdlc.com |
| forge-lenses | product | org | Control plane, run spine UI |
| forge-lcdl | product | org | Governed LLM transport and contracts |
| forge-fleet | product | private | Template execution |
| forge-workcells | repo | private | local_llm_worker and future workcell runners |
| forgesdlc-kitchensink | repo | public | Design system, UX harness, micro-packs |
| forge-agents | repo | private | Channel agents (communication, cursor_bridge), packaging, Fleet orchestrator on Granite |
| forge-cdp-manager | product | org | CDP surface leases, registry, control-plane HTTP (:18770) |
| blueprints | repo | public | Policy; submodules into platform only |
| forgesdlc | product | org | Methodology product site → forgesdlc.com |
Product handbooks (deploy pairs)
| Source repo | Handbook shell | Domain |
|---|---|---|
| forge-fleet | forge-fleet-website | fleet.forgesdlc.com |
| forge-lcdl | forge-lcdl-website | lcdl.forgesdlc.com |
| forge-lenses | forge-lenses-website | lenses.forgesdlc.com |
| forge-intelligence | forge-intelligence-website | intelligence.forgesdlc.com |
| forge-sti | forge-sti-website | sti.forgesdlc.com |
| forge-dark-factory | forge-dark-factory-website | autonomy.forgesdlc.com |
| blueprints | blueprints-website | blueprints.forgesdlc.com |
| forge-universe | in-repo generator | universe.forgesdlc.com |
See product link-outs: Forge STI, Forge Universe, Dark Factory.
Operator tools (no handbook shell)
Local operator products documented on platform with in-repo docs only:
| id | Default port | Integrates via |
|---|---|---|
| forge-cockpit-web | 9775 (COCKPIT_PORT) |
forge-cdp-manager, Fleet memory (cockpit-memory) |
| forge-knowledge-assistant | 9786 (KA_PORT) |
CDP SharePoint lease, LCDL atoms, ICS client |
| forge-certificators | 11350 |
Fleet bank jobs, LCDL pipelines |
| forge-composer | — (CLI) | Deploy manifests to consumer repos |
| forge-llm | 11434 gateway |
LCDL/Lenses LLM_* profiles — see LLM gateway |
| forge-a11y-checker / A11y Studio | varies | KS auditors — see Quality lane |
Hub: Operator tools.
Granite infra (private hosts)
| id | kind | visibility | Owns |
|---|---|---|---|
| forge-intelligence-comprehend | runtime | private | ICS HTTP API on Granite (ics.forgedc.net); FI packs + in-process LCDL; see ADR-0011 |
| forge-matrix | infra | private | Synapse, Element, NATS on Granite; Matrix channel for forge-agents |
Deploy: ./deploy-websites.sh --only <handbook-shell> from workspace root for handbook pairs.
How repos integrate (flow)
Operator ──► Lenses ──► ForgeRun (frun_*)
│ │
│ ├──► AgentRun (arun_*) ──► workcell runner
│ │ │
│ │ ├── forge-workcells ──► LCDL
│ │ ├── forge-fleet (container)
│ │ └── platform local_runner (alpha)
│ │
│ └──► EvidencePacket ◄── human review
│
└── reads BlueprintContextPack ◄── blueprintsChannel agents vs workcells
Channel agents (forge-agents) are long-lived Matrix/web services — KB bots, Cursor bridge, orchestrator registry. Workcells (forge-workcells) are batch runners under ForgeRun (WorkcellRequest → WorkcellResult). They share Fleet deploy on Granite but differ in ingress, lifecycle, and contracts. See Agents handbook and ADR-0010.
Submodule rules
| Rule | Detail |
|---|---|
| Platform never in products | Product repos (Lenses, Fleet, KS, …) must not submodule forge-platform. Consume via docs URLs and schema copies in CI. |
| Handbook exception | forge-platform-website/forge-platform/ submodule for build only. |
| Blueprints into platform | forge-platform/blueprints/ → autowww/blueprints. |
| Workcells in consumers | KS and (later) Lenses may submodule private forge-workcells via SSH. |
| Packs stay in KS | Domain prompts under tools/forge-micro-agent/packs/; workcells does not own UX rule text. |
Submodule decision flow
Submodule placement rules
Where platform and workcell repos may be submoduled versus consumed by handbook URL or schema ID.
- Need forge-platform content?First gate: whether the repo needs platform schemas, docs, or ADRs locally.
- Building handbook HTML? ----YES--> submodule in fpw onlyHandbook HTML generation is the sole submodule exception for platform content.
- Product repo (Lenses/Fleet/KS)? --NO--> use handbook URL + schema IDsRuntime product repos consume platform contracts without a submodule.
- Need to run a workcell?Second gate: whether integration requires a governed workcell runner on the host.
- YES --> submodule or pip install forge-workcells (private)Private workcells attach via SSH submodule or pip install on the consumer.
- Domain pack? --> always in KS (not in workcells repo)UX rule packs and prompt text remain in Kitchen Sink, not workcells.
Need forge-platform content?
|
+-- Building handbook HTML? ----YES--> submodule in fpw only
|
+-- Product repo (Lenses/Fleet/KS)? --NO--> use handbook URL + schema IDs
|
Need to run a workcell?
|
+-- YES --> submodule or pip install forge-workcells (private)
|
+-- Domain pack? --> always in KS (not in workcells repo)Workcell → host repo
| workcell id | Host repo | Notes |
|---|---|---|
local_runner |
forge-platform | Self-Host Alpha script (selfhost_runner.py) until extracted |
local_llm_worker |
forge-workcells | Micro-agent MVP; LCDL inference |
cursor_cli |
harness / campaign | Cursor CLI when governed under ForgeRun |
fleet_ux_worker |
Fleet job container | Playwright + optional agent in workspace |
campaign_orchestrator |
operator host | Fleet API + git |
Workcell attachment to ForgeRun
Workcell attachment fan-out
How one ForgeRun fans out to AgentRuns on workcells, Fleet, and the platform alpha runner.
- ForgeRun (frun_*)Governed run record that orchestrates one or more AgentRuns under Lenses.
- AgentRun (arun_*) workcell=local_llm_worker host=forge-workcellsMicro-agent path: LCDL inference via the private workcells runner.
- AgentRun (arun_*) workcell=fleet_ux_worker host=forge-fleet jobContainerized UX worker path on Fleet infrastructure.
- AgentRun (arun_*) workcell=local_runner host=platform scriptSelf-Host Alpha path via platform selfhost_runner.py until extracted.
- each completes with WorkcellResult → EvidencePacket path in LensesEvery AgentRun returns traceable results into the Lenses evidence path.
ForgeRun (frun_*)
|
+-- AgentRun (arun_*) workcell=local_llm_worker host=forge-workcells
+-- AgentRun (arun_*) workcell=fleet_ux_worker host=forge-fleet job
+-- AgentRun (arun_*) workcell=local_runner host=platform script
|
each completes with WorkcellResult → EvidencePacket path in LensesPer-element integration summaries
forge-platform ↔ products
Platform consumption boundaries
How products receive platform contracts without submoduling forge-platform, except the handbook build.
- forge-platform --(schema IDs, docs)--> all productsSchema IDs, samples, and handbook docs reach every product as contracts.
- forge-platform <-X-- submodule ------ product repos (FORBIDDEN)Product repos must not embed forge-platform as a git submodule.
- forge-platform <--- submodule -------- forge-platform-website ONLYThe handbook repo alone submodules platform for HTML generation.
forge-platform --(schema IDs, docs)--> all products
forge-platform <-X-- submodule ------ product repos (FORBIDDEN)
forge-platform <--- submodule -------- forge-platform-website ONLYforge-lenses ↔ Fleet / LCDL / workcells
Lenses integration lanes
How Lenses orchestrates Fleet jobs, LCDL traces, and workcells while retaining the ForgeRun decision.
- Lenses ---- submits / displays ----> FleetJobSummaryLenses submits Fleet jobs and surfaces job summaries in the control plane.
- Lenses ---- displays traces ------> LCDLTraceSummaryGoverned LLM traces from LCDL appear in Lenses for review.
- Lenses ---- (post-MVP) invokes ---> forge-workcellsPost-MVP path for Lenses to invoke private workcell runners directly.
- Fleet --- never writes final -----> ForgeRun decision (Lenses does)Fleet never owns the final governed decision on a ForgeRun.
Lenses ---- submits / displays ----> FleetJobSummary
Lenses ---- displays traces ------> LCDLTraceSummary
Lenses ---- (post-MVP) invokes ---> forge-workcells
Fleet --- never writes final -----> ForgeRun decision (Lenses does)forge-workcells ↔ forge-lcdl ↔ KS
KS micro-agent local path
How the KS harness drives workcells and LCDL to produce parseable JSON findings for detection gates.
- KS harness --pack path + context.json--> forge-workcellsHarness supplies pack path and assembled context.json to the workcell runner.
- forge-workcells --LLM_* profile-------> forge-lcdlWorkcells forwards inference using the configured LLM_* environment profile.
- forge-lcdl --HTTP--------------------> gatewayLCDL performs governed HTTP chat/completions against the configured gateway.
- forge-workcells --stdout JSON--------> KS parse-ai-agent-findings.mjsRunner stdout JSON feeds the KS findings parser for rule detection.
KS harness --pack path + context.json--> forge-workcells
forge-workcells --LLM_* profile-------> forge-lcdl
forge-lcdl --HTTP--------------------> gateway
forge-workcells --stdout JSON--------> KS parse-ai-agent-findings.mjsSee Platform reference architecture §7–§8.
Micro-agent data flow (local LLM path)
[1] harness serves Before fixture (http.server)
|
v
[2] analyze-website-ux.mjs --site --max-pages 1
|
v
[3] ux-audit-slice + ux-playwright-evidence
|
v
[4] ux-assemble-context.mjs --> context.json
|
v
[5] forge-workcells run (pack ux-ai-rule-v1)
|
v
[6] forge-lcdl chat/completions
|
v
[7] parse-ai-agent-findings.mjs
|
v
[8] expect-ai-rule-detection.shPrivate forge-workcells
- Remote:
git@github.com:autowww/forge-workcells.git(visibility Private). - Cloners need autowww org read access.
- CI that clones KS with
--llmneeds a deploy key or token with repo scope. - No
forge-workcells-websitein MVP.
Cursor path vs --llm path
| Step | Cursor path | --llm path |
|---|---|---|
| Rule prompt | design-rules/ai/*.md |
Same + pack prompt.md |
| Executor | agent -p |
forge-workcells |
| Profile | Cursor quota | LLM_* env file |
| Output parse | parse-ai-agent-findings.mjs |
Same |
Harness rule executor choice
How the same harness rule runs via Cursor agent or the --llm workcells path before a shared parse gate.
- harness ruleA design-rules AI harness rule enters with the same prompt source on both paths.
- CursorDefault path uses the local Cursor agent as executor.
- agent -pCursor runs the rule via agent -p against the harness fixture context.
- --llmAlternate flag routes execution through governed local LLM infrastructure.
- workcells + LCDLforge-workcells runs the pack with LCDL inference under LLM_* profile.
- parse + detection gateBoth paths converge on parse and expect-ai-rule-detection.sh validation.
harness rule
|
+--------+--------+
v v
Cursor --llm
agent -p workcells + LCDL
| |
+--------+--------+
v
parse + detection gateRelated
- Forge Agents — channel agents handbook (
communication,cursor_bridge, orchestrator) - Agents and workcells — handbook hub, workcell catalog, forge runner
- Platform reference architecture — full flowchart set
- Repository strategy
- Forge micro-agent
- Forge Agent
- ADR-0008