Simple Agility is a small-business software stack that lets a company use Generative Artificial Intelligence (GenAI) in a handful of concrete capacities — Search Engine Optimization (SEO) first, proactive customer communication next, with more to follow. It is assembled from separately-developed pieces that already exist and share one data backbone. This hub is the entry point for any human or agent working on any piece of the stack: read it before deciding where a capability belongs.
Ownership principle (the one sentence to remember): every product in the stack optimizes itself by joining its own data against whatever the observability plane makes visible — external signals (search engines, edge analytics) and the product's own error and behavioral events, aggregated back to it. Products do not build their own metrics stores, log stores, alerting, or third-party pollers; the plane does not build product logic.
| You are about to… | Read | Why |
|---|---|---|
| Coordinate a cross-repo initiative, start an agent session, or check active tasks | SimpleAgilityAgentCoordination | Mandatory protocol and active ledger for coding agents (agy, Claude Code) |
| Implement inventory, marketplace orders, or financial reconciliation | SimpleAgilityCommerceDataFlow | End-to-end data flow contract: intake batch splits, 4 event types, marketplace accrual clearing, and COA mapping |
| Design marketing attribution or correlate blog spotlights with sales | SimpleAgilityAttributionRFC | RFC for tracking customer conversion from Roller to Stockroom via EPN, coded coupons, and Umami (SA-12) |
| Add logging, metrics, health, or events to any product | SimpleAgilityTelemetryContract | The stack logs in Elastic Common Schema (ECS) JSON. The page covers the required fields, the trace.id rules, and the one mistake that damages the whole Loki instance. |
| Make a choice another product will have to live with (a format, a label, a repository boundary) | SimpleAgilityDecisionLog | Check whether it is already decided; if you decide it, record it there |
| Bring a product onto the logging and labelling standard | SimpleAgilityTelemetryAdoption | Per-team checklists, the coordination rules, and status |
| Build a table for analytics, usage, or "user did X" | SimpleAgilityObservabilityPlane § The rule that decides where data lives | Some such tables are correct and some are contract violations; the rule tells them apart |
| Poll a third-party API (search, analytics, anything) | SimpleAgilityObservabilityPlane § Requesting a new feed | Products never poll; the plane captures and ships |
| Build a ranking, recommendation, or optimization loop | SimpleAgilityFeedbackLoopPattern | Stage ownership plus three mandatory properties that are not optional |
| Add an alert, a runbook, or an operational action | SimpleAgilityOnCallAutomation | The alert→runbook binding convention and the scoped-surface requirement |
| Deploy a service, give it a port, or put it on the internet | HomeLabFleetAndIngress | One ingress (cloudflared on host cloudflare); origins serve plain HTTP on high ports; an origin's proxy must trust the connector's forwarded headers |
| Query the plane, find a dashboard, or see what is already collected | JakemonHub | Endpoints, labels (host, deployment, service, service_instance, job, instance) and the dashboard inventory. Check host before diagnosing production. |
| Look for a capability the contracts describe | SimpleAgilityRoadmap | Several are not built; this says which, in what order, and what blocks them |
| Verify a product actually conforms | bin/simple-agility-conformance.sh (Wikantik repo) | Machine-checked, not a prose checklist |
| Role in the stack | Implemented by | Repository | Status |
|---|---|---|---|
| Observability plane — capture, retention, alerting, source-generic signals | jakemon | ~/source/jakemon | Live; release v1.0.3 (2026-10-24); central stack on inference since 2026-10-09 |
| Knowledge and content — agentic wiki; software documentation, support content, SEO content; also the runbook store for on-call | Wikantik | ~/source/jspwiki | Live (wiki.wikantik.com, docker1); more than one instance expected |
Customer communication — blog/newsletter for proactive customer contact; dedicated reselling weblog; native agent publishing via API tokens and /api/mcp (SA-7) | Roller (Apache Roller fork) | see RollerHub | Live v0.2.0 on docker2 (roller-prod); blogger-agent migration in progress |
| Inventory and listing preparation — intake, inventory, per-route pricing and triage, channel-neutral listing drafts, barcode-driven physical tracking, eBay integration, and operator-assisted customer spotlights (SA-8, SA-11) | Stockroom | ~/source/stockroom | Phases 1–7 built (intake, pricing, listing prep, physical WMS, sales, eBay adapter, photo ID); operator acceptance underway. Hub: StockroomHub; contracts: SimpleAgilityCommerceDataFlow, ResellingHub |
| Small business accounting — inventory COGS, marketplace fee reconciliations, sales tax, and P&L reporting; decoupled from personal retirement planning (SA-10, SA-11) | dedicated component (simple-agility-accounting) | future repository | Planned; event schemas and reconciliation rules specified on SimpleAgilityCommerceDataFlow |
| Agent coordination plane — cross-repo architectural governance, dated ADRs, standard repo headers, and active task ledger (SA-9) | Wikantik Coordination Hub | ~/source/jspwiki + ~/source/wiki-content-agent | Live on SimpleAgilityAgentCoordination and SimpleAgilityDecisionLog |
| Agent runtime — scheduling, ledgers, circuit breakers, blast-radius limits and agent identities for the agents that close the loops (SEO actuator, on-call agent) | not yet built — a stack-level component, deliberately not part of jakemon | — | Planned (roadmap phase 4) |
jakemon, Wikantik, Roller and Stockroom are sub-concepts of the Simple Agility domain: each has its own entry page for its internals (JakemonHub, WikantikPlatformHub, RollerHub, StockroomHub), and each of those pages carries a "part of the Simple Agility stack" callout back here. The hierarchy is expressed by links, not by cluster nesting — the existing jakemon, wikantik-development and web-properties clusters stay where they are; a cluster restructure is available later if the company framing solidifies.
/metrics endpoint, ECS JSON logs with trace.id for correlation, events-as-log-lines, and the health endpoint. Read this before writing a line of logging in a new product.Alongside them, the SimpleAgilityDecisionLog records each decision that binds more than one product, such as the logging standard and the label names, together with its reasons.
service, service_instance and site_host distinguish products, product instances and web properties. Multi-tenant observability (shared Prometheus/Loki with per-tenant isolation) is not designed and no product should pre-empt it by putting tenant identifiers into its telemetry.service_instance="<product>-<env>" (wiki-prod), attached by the plane (SA-5) alongside deployment and host. The two rules pull in opposite directions on purpose — the plane page explains why.visibility/opportunities.py); as products mature that logic tends to move into the product that has the domain context, while the capture stays in the plane.CLAUDE.md and jakemon CLAUDE.md point here.