25 archify-style diagrams · 2 wall-poster canvases + 2 system overviews + 7 active job pillars (4 legacy preserved) + 3 cross-cutting pipelines + 5 workflow refs · Post-R497
If you have 60 seconds and want to understand how Jarvis (our chat) works end-to-end, look at this one diagram. Plain-language labels, top-to-bottom story: your team → chat brain → memory → Mike approves → NetSuite. Designed to print as a wall poster (1800×1300 viewBox). Use this before drilling into anything else.
If you only look at two diagrams, look at these. Both are wall posters at viewBox 1600x1180 designed for non-engineer users (admins, finance, K-12 buyers) to understand the whole system at a glance. Cloudflare Platform Canvas shows every CF service (Worker, D1, R2, KV, Vectorize, Queues, DOs, Workflows, Browser, AI, Email, 22 crons) laid out by category. Software & Services Canvas shows the broader estate — people, surfaces, NetSuite, Cursor, Codex, Anthropic, Dropbox — with auth flows annotated.
Three user-facing surfaces. User Workflow Guide explains what the chatbot can do for each role. Training Surface is how Mike feeds 15 years of GFS knowledge as structured corpus entries the R89 few-shot loop injects. Entity Brain Dump captures per-customer/vendor/item narrative context (primary contacts, payment quirks, sensitivities) the chat auto-injects when answering questions about that entity.
How the chatbot works for your team. 8 pillars · intake engine · trust signals · behind the scenes.
Seed decision_corpus with real customer/vendor/item cases. Single-entry form + bulk import (JSON/MD/text) + in-page help guide.
Capture per-entity narrative (primary contact, payment quirks, kosher sensitivities, delivery prefs). AI extracts structured facts; chat auto-injects them when an entity is recognized.
High-level views of the post-R93 platform. Whole-system overview is the recommended first-read: Inputs → Core → Data → Outputs with the R89 decision-corpus feedback loop highlighted. System architecture drills into the Cloudflare bindings + AI layer.
Each pillar diagram shows the intake → routing → tools → sources → response pipeline for a specific job function. Tools are role-gated (R85 CHAT_ROLE_FILTERS, R96 consolidated). R96 note: Order Mgmt now absorbs Inventory + Logistics + USDA functionality; Reports merged into All. Legacy pillar diagrams kept below as historical reference.
Vendor + customer + assembly pricing. Council v2 default. 12 tools.
Specs · allergens · nutritionals · BOM swap. R2 PDFs linkable. 6 tools.
Invoices · bills · payments · checks · JE · AR aging. 9 tools.
Customer + vendor + contact lookup. Salesperson rosters. 7 tools.
SO → IF → CustInvc → CustPymt and PO → IR → VendBill → Chk. R96: absorbs Inventory + Logistics + USDA (~13 tools after dedup).
Email intake → review → price → approve → send. Council v2. 14 tools. R96: kept separate from Price per architect Option C (HITL workflow shape vs lookup).
Spec → BOM → WO → Build → Output. Assembly cost rollup. 4 tools.
These 4 pillars were consolidated in R96 per architect Option C (.gfsmultiagent/architect/r96-pillar-decision.md). Diagrams preserved as historical reference to show the pre-R96 architecture. Inventory, Logistics, USDA functionality is now served by Order Management Admin; Reports tools are in All (admin catch-all).
Item · location · qty · movement history. R96: folded into Order Mgmt — only 3 tools, all reused.
Shipping + receiving logs. Open POs / SOs by due date. R96: folded into Order Mgmt — strict subset of Order Mgmt ∪ Inventory.
KPIs · exec summaries. R96: merged into All — Track C: zero unique tools, all 9 reused in the full catalog.
Filtered subset: USDA items + customers + conditions. R96: folded into Order Mgmt — distinction was filter-at-tool-call, not different tools.
End-to-end pipelines that span all pillars. Every chat call goes through the chat-pipeline. Every email goes through intake. Every sync round goes through sync.
End-to-end chat handler. Guardrails → pattern → few-shot → retrieval → council → tools → constitutional → citations.
Email → R2 → parse → dual-converter → match → review_queue → admin → NS push. R43 dual-converter.
Custom RESTlet · TBA OAuth1 · tiered cron (Hot 5m / Warm 15m / Cold 60m) · self-heal (R494) · 28 specs · 144 D1 tables.
Targeted workflow diagrams that drill into specific transactional flows. Useful for onboarding + cross-team alignment.
SalesOrd → ItemShip → CustInvc → CustPymt. $177.4M. 98.3% collection rate.
4-pillar operating model. Sources → derive → propose → HITL → push. 62 D1 tables, 21 ADRs.
Pillar 4 · CF Workflow class · 11 steps · July 1 cutover. step.do + step.sleep(30m) + step.waitForEvent HITL.
Chat tool → proposed_actions → Mike approves → ns_pending_pushes → NS_PUSH_QUEUE → NetSuite.
audit_netsuite_coverage → expand columnMap → migrate → full-pull → re-audit. Closes drift tier by tier.
Tiered cron grid. Hot 5m · Warm 15m · Cold 60m · weekly · monthly. Mutex-protected via KV.
Landing page · 23 diagrams total. Built R92 · refreshed 2026-05-24 (R497).
22 workflows · 94 total fan-out targets · 20 REAL · 74 STUB · 18 HITL-gated (risk ≥ 3). Implementation status from src/lib/workflow_runner.ts.
| workflow | risk | trigger | fan_out | real / stub | doc |
|---|---|---|---|---|---|
AR collections action planar_aging_action_plan |
3 · medium | |
3 | 0 / 3 | open → |
Service hold triggerservice_hold_trigger |
4 · high | |
4 | 0 / 4 | open → |
| workflow | risk | trigger | fan_out | real / stub | doc |
|---|---|---|---|---|---|
Anomaly remediationanomaly_remediation |
2 · low | |
2 | 1 / 1 | open → |
| workflow | risk | trigger | fan_out | real / stub | doc |
|---|---|---|---|---|---|
Bid amendment arrivesbid_amendment_arrives |
3 · medium | |
3 | 1 / 2 | open → |
Bid award notificationbid_award_notification |
4 · high | |
4 | 1 / 3 | open → |
Bid price update (canonical)bid_price_update |
3 · medium | |
7 | 1 / 6 | open → |
Spec deviation during bidspec_deviation_flagged |
2 · low | |
2 | 1 / 1 | open → |
USDA lot drawdown commitusda_drawdown_commit |
4 · high | |
4 | 1 / 3 | open → |
| workflow | risk | trigger | fan_out | real / stub | doc |
|---|---|---|---|---|---|
Bulk customer notificationbatch_notify |
4 · high | |
3 | 0 / 3 | open → |
Inbound email triageinbound_email_triage |
2 · low | |
3 | 0 / 3 | open → |
| workflow | risk | trigger | fan_out | real / stub | doc |
|---|---|---|---|---|---|
Customer invoice disputecustomer_invoice_dispute |
3 · medium | |
3 | 2 / 1 | open → |
Customer quote (canonical)customer_quote |
3 · medium | |
5 | 0 / 5 | open → |
Draft customer quotedraft_quote |
3 · medium | |
7 | 1 / 6 | open → |
New customer onboardnew_customer |
3 · medium | |
4 | 0 / 4 | open → |
| workflow | risk | trigger | fan_out | real / stub | doc |
|---|---|---|---|---|---|
New assembly item (full spec → BOM → NS)new_assembly_item |
4 · high | |
8 | 0 / 8 | open → |
New ingredient / vendor onboardnew_ingredient_vendor_onboard |
3 · medium | |
2 | 0 / 2 | open → |
Vendor cost updatevendor_cost_update |
3 · medium | |
6 | 2 / 4 | open → |
| workflow | risk | trigger | fan_out | real / stub | doc |
|---|---|---|---|---|---|
Assembly build + BOM reviewassembly_build_review |
3 · medium | |
9 | 4 / 5 | open → |
Item record review + push-backitem_record_review |
3 · medium | |
7 | 3 / 4 | open → |
| workflow | risk | trigger | fan_out | real / stub | doc |
|---|---|---|---|---|---|
Annual price roll (SY rollover)annual_price_roll |
5 · critical | |
3 | 0 / 3 | open → |
Monthly margin reviewmonthly_margin_review |
3 · medium | |
3 | 1 / 2 | open → |
Quarterly bid eligibility refreshquarterly_bid_eligibility_refresh |
2 · low | |
2 | 1 / 1 | open → |
Seven explanatory diagrams Mike flagged as gaps. Intake unification shows every way a request can enter the system — emails + chat + admin + cron + webhook + direct API — converging at the event ledger and workflow runner. Memory + learning shows the 5 memory layers (reflexion, decision corpus, wiki, training loop, knowledge chunks) plus the curation state-machine that prevents poison. Five more close strongly-recommended gaps: Council v2 (replaces stale R91 chat pipeline), customer lifecycle end-to-end (Driscoll's journey), HITL security invariant (the 4-gate audit story), cost surface (~$1.50/day), and data lineage (NS → chat answer with watermarks).
Every entry point feeds into the same workflow runner. 5 mailboxes + chat + admin + cron + webhook + direct API → event ledger → workflow runner → HITL gate → fan-out.
5 memory layers (reflexion, decision corpus, wiki, training loop, knowledge chunks) + curation state-machine. Status-curated reflexion prevents poison.
3 LLMs in parallel + anonymized peer review + chairman synthesis. Replaces stale R91 chat-pipeline.html. ~$0.007/query.
Driscoll's journey end-to-end. Onboard → order → fulfillment → payment → AR aging → health → reactive workflows. Tables written per phase.
The 4 gates: CF Access JWT + role gate + X-Edit-Token + proposed_actions queue. Plus 3 kill switches + R560 atomic-claim race fix.
Where the money actually goes. AI ~$0.50/day · CF compute ~$0.20 · storage ~$0.30 = ~$1.50/day total. CostCapDO caps daily AI spend.
NetSuite → sync → D1 → derived → Vectorize → tool exec + withSources → chat answer. 7 stages with per-stage watermark.
Mike's substrate moves shipped (R549-R562) but lacked diagrams. These document how the new infrastructure actually works internally — the workflow runner, event ledger, HITL state machine, and customer health pipeline. Color-coded REAL vs STUB so you see at a glance what works today vs documented intent.
executeWorkflowContract — the single function every workflow contract runs through. 7 stages, kind-dispatched fan-out, R560 hardening. 22 contracts on this substrate.
Append-only events + event_subscriptions + per-drainer cursor. 5 producers wired, R560 idempotency + cursor-fix. 120 events recorded.
proposed_actions state machine + R560 race-fix (codex audit CRITICAL #1). 5 risk tiers, atomic UPDATE...RETURNING claim, mirror writes.
Leading-indicator scoring. 6 signals + weights → 0-100 composite + 4 tier bands. Nightly cron, R561 concurrency 10, ad-hoc full sweep.