{
  "contract": "academy-graph/1",
  "generated": "2026-09-15T01:55:52.571Z",
  "summary": {
    "concepts": 76,
    "courses": 42,
    "tracks": 7,
    "covered": 42,
    "gaps": 34,
    "ratio": 0.5526315789473685,
    "bySource": [
      {
        "label": "Gatewayz — the unified inference gateway",
        "covered": 0,
        "total": 4
      },
      {
        "label": "@flashyos/llm-gateway — the inference seam",
        "covered": 0,
        "total": 3
      },
      {
        "label": "flashyos/packages/aao — the AAO manifest spec",
        "covered": 1,
        "total": 4
      },
      {
        "label": "flashyos/packages/compute — compute/1",
        "covered": 0,
        "total": 3
      },
      {
        "label": "flashyos/packages/directory — directory/1",
        "covered": 0,
        "total": 3
      },
      {
        "label": "@flashyos/create-mesh-node — the one-command on-ramp",
        "covered": 0,
        "total": 2
      },
      {
        "label": "Flashy Finance — the wallet and rail",
        "covered": 0,
        "total": 2
      },
      {
        "label": "Flashy Gold — the rewards layer",
        "covered": 0,
        "total": 2
      },
      {
        "label": "flashyID — the identity layer",
        "covered": 0,
        "total": 2
      },
      {
        "label": "flashyos/packages/countersign — countersign/1",
        "covered": 0,
        "total": 2
      },
      {
        "label": "flashyos/packages/verify — offline verification",
        "covered": 0,
        "total": 2
      },
      {
        "label": "@flashyos/countersign — proof over the record: countersignature, delegation, audit, badge",
        "covered": 0,
        "total": 1
      },
      {
        "label": "@flashyos/llms-txt — the file that tells an answer engine what an organisation is",
        "covered": 0,
        "total": 1
      },
      {
        "label": "@flashyos/verify — the shared canonicalisation a settlement, receipt and shipped entry all hash through",
        "covered": 0,
        "total": 1
      },
      {
        "label": "flashyos/packages/backlog — backlog/1",
        "covered": 0,
        "total": 1
      },
      {
        "label": "flashyos/packages/frontdoor — frontdoor/1",
        "covered": 0,
        "total": 1
      },
      {
        "label": "flashyos/packages/shiplog — shipped/1",
        "covered": 0,
        "total": 1
      },
      {
        "label": "@flashyos/agent — the SDK agents import",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/assetmesh — rwa/1, a real-world-asset record served at /.well-known/rwa.json",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/backlog + @flashyos/shiplog",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/checkpoint — an RFC 6962 tree head over the sealed claims a property publishes",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/conformance — the levels a node is graded against, held not issued",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/conformance + flashyos/packages/aao",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/countersign + @flashyos/verify",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/create-mesh-agent — npx scaffolds a starter mesh agent",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/create-mesh-node — writes the four files and verifies L2",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/defined — a vocabulary where one authority owns each term and a citation is a link, never a copy",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/directory — federated fragments, the merge, the validator",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/frontdoor — which lanes an org opens, and what it owes",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/holding — transitions, not states",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/llm-gateway — the provider-agnostic inference seam",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/llm-gateway — the provider-agnostic seam, with the gatewayz provider",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/llm-gateway README — failover, empty-success guard, cost attribution",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/mail — the single send path and its content-free log",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/mcp — the same surface as the SDK, exposed as MCP tools",
        "covered": 1,
        "total": 1
      },
      {
        "label": "@flashyos/mesh — what a repository has adopted, what is left, and the command for each",
        "covered": 1,
        "total": 1
      },
      {
        "label": "Flashy Gold + @flashylabs/ledger (Flashy Finance declared, not yet operational)",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyID — rail issuance and consent/grant tokens (docs/rail-consent.md, docs/rail-grant.md)",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyID — the OIDC provider + @flashyid/sdk grant kernel",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyID + flashy network — a verification/1 leaf that reveals an assurance level and a time, never who",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyos — the estate's operating practice (charters, thresholds, evidence)",
        "covered": 1,
        "total": 1
      },
      {
        "label": "FlashyOS + flashyID + Flashy Gold + Flashy Network — mesh nodes that compose",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyos.com/concepts/ai-autonomous-organization + @flashyos/aao (the seven questions)",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyos/1 handshake + @flashyos/conformance (committed is not served)",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyos/1 handshake + the AAO charter, served at /.well-known/",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyos/packages/api jointInitiativeService — consent doctrine",
        "covered": 1,
        "total": 1
      },
      {
        "label": "flashyos/tools/estate-tally.mjs + pulse/1",
        "covered": 1,
        "total": 1
      },
      {
        "label": "Gatewayz — gatewayz.ai onboarding: key, unified endpoint, catalog",
        "covered": 1,
        "total": 1
      },
      {
        "label": "Gatewayz — gatewayz.ai, the unified inference gateway",
        "covered": 1,
        "total": 1
      },
      {
        "label": "Gatewayz API — the prompt-caching and tool-calling guides (beta.gatewayz.ai/docs)",
        "covered": 1,
        "total": 1
      },
      {
        "label": "IntentMesh — intent/1, a machine-readable statement of what an organisation wants",
        "covered": 1,
        "total": 1
      },
      {
        "label": "IntentMesh + FlashyOS + Magician (introductionApi) + the settlement record",
        "covered": 1,
        "total": 1
      },
      {
        "label": "Per-request tokens + requestId (the inference seam), summed by initiative id",
        "covered": 1,
        "total": 1
      },
      {
        "label": "Task-specific evals (rubric + golden set) measured through @flashyos/llm-gateway",
        "covered": 1,
        "total": 1
      },
      {
        "label": "The accelerator + data-centre supply chain, framed by Gatewayz",
        "covered": 1,
        "total": 1
      },
      {
        "label": "The economics of compute utilisation — idle capacity to income",
        "covered": 1,
        "total": 1
      },
      {
        "label": "The estate on-ramp end to end — charter, conformance, spokes, the record",
        "covered": 1,
        "total": 1
      },
      {
        "label": "The estate's AAO operating experience + @flashyos/llm-gateway",
        "covered": 1,
        "total": 1
      }
    ],
    "frontier": [
      "aao-role-cap",
      "aao-served-not-committed",
      "aao-seven-questions",
      "breaker-not-client-error",
      "canonical-sealing",
      "compute-cost-derived",
      "compute-request-audit",
      "compute-three-states",
      "consent-before-value",
      "countersignature",
      "countersigned-delegation",
      "delegated-authority",
      "delegation-attenuation",
      "directory-consent",
      "directory-federation",
      "empty-success-guard",
      "flashy-gold-is-a-reward",
      "frontdoor-lanes",
      "machine-readable-org",
      "namespaced-model-ids",
      "non-identifying-leaf",
      "offline-verification",
      "on-ramp-verifies-l2",
      "openai-anthropic-compat",
      "private-is-missing",
      "prompt-caching",
      "provider-agnostic-seam",
      "reward-not-input-to-trust",
      "sealing-and-canonicalisation",
      "the-future-tense",
      "the-llms-txt-surface",
      "the-past-tense",
      "the-settlement-venue",
      "what-inference-costs"
    ]
  },
  "gate": {
    "ok": true,
    "problems": [],
    "warnings": [
      "organizational-structure: source has no href — freshness cannot be verified until it is pinned to a URL",
      "directing-agents: source has no href — freshness cannot be verified until it is pinned to a URL",
      "interoperability: source has no href — freshness cannot be verified until it is pinned to a URL",
      "consent-gated-collaboration: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-agent-sdk: source has no href — freshness cannot be verified until it is pinned to a URL",
      "provable-claims: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-front-door: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-directory: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-two-tenses: source has no href — freshness cannot be verified until it is pinned to a URL",
      "conformance-and-charters: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-gatewayz-loop: source has no href — freshness cannot be verified until it is pinned to a URL",
      "measuring-the-estate: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-transparency-log: source has no href — freshness cannot be verified until it is pinned to a URL",
      "holding-a-position: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-record-of-sending: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-mcp-surface: source has no href — freshness cannot be verified until it is pinned to a URL",
      "scaffolding-an-agent: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-mesh-checklist: source has no href — freshness cannot be verified until it is pinned to a URL",
      "defining-terms: source has no href — freshness cannot be verified until it is pinned to a URL",
      "describing-an-asset: source has no href — freshness cannot be verified until it is pinned to a URL",
      "non-identifying-verification: source has no href — freshness cannot be verified until it is pinned to a URL",
      "filing-an-intent: source has no href — freshness cannot be verified until it is pinned to a URL",
      "consent-on-the-rail: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-conformance-ladder: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-llms-txt-surface: source has no href — freshness cannot be verified until it is pinned to a URL",
      "countersigned-delegation: source has no href — freshness cannot be verified until it is pinned to a URL",
      "sealing-and-canonicalisation: source has no href — freshness cannot be verified until it is pinned to a URL",
      "inference-layer: source has no href — freshness cannot be verified until it is pinned to a URL",
      "compute-layer: source has no href — freshness cannot be verified until it is pinned to a URL",
      "inference-routing: source has no href — freshness cannot be verified until it is pinned to a URL",
      "inference-as-yield: source has no href — freshness cannot be verified until it is pinned to a URL",
      "gatewayz-onboarding: source has no href — freshness cannot be verified until it is pinned to a URL",
      "production-inference: source has no href — freshness cannot be verified until it is pinned to a URL",
      "inference-substrate: source has no href — freshness cannot be verified until it is pinned to a URL",
      "model-evaluation: source has no href — freshness cannot be verified until it is pinned to a URL",
      "advanced-gateway-features: source has no href — freshness cannot be verified until it is pinned to a URL",
      "inference-seam-on-flashyos: source has no href — freshness cannot be verified until it is pinned to a URL",
      "compute-attribution: source has no href — freshness cannot be verified until it is pinned to a URL",
      "aao-concept: source has no href — freshness cannot be verified until it is pinned to a URL",
      "machine-readable: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-on-ramp: source has no href — freshness cannot be verified until it is pinned to a URL",
      "the-flashy-stack: source has no href — freshness cannot be verified until it is pinned to a URL",
      "identity-layer: source has no href — freshness cannot be verified until it is pinned to a URL",
      "value-layer: source has no href — freshness cannot be verified until it is pinned to a URL",
      "becoming-an-aao: source has no href — freshness cannot be verified until it is pinned to a URL",
      "76 of 76 concepts carry no source revision — freshness unverifiable until sources expose one"
    ],
    "coverage": {
      "covered": 42,
      "total": 76,
      "ratio": 0.5526315789473685,
      "gaps": [
        "the-llms-txt-surface",
        "countersigned-delegation",
        "sealing-and-canonicalisation",
        "aao-seven-questions",
        "aao-role-cap",
        "aao-served-not-committed",
        "directory-federation",
        "directory-consent",
        "private-is-missing",
        "countersignature",
        "delegation-attenuation",
        "frontdoor-lanes",
        "canonical-sealing",
        "offline-verification",
        "the-past-tense",
        "the-future-tense",
        "compute-cost-derived",
        "compute-three-states",
        "compute-request-audit",
        "provider-agnostic-seam",
        "empty-success-guard",
        "breaker-not-client-error",
        "what-inference-costs",
        "openai-anthropic-compat",
        "prompt-caching",
        "namespaced-model-ids",
        "delegated-authority",
        "non-identifying-leaf",
        "the-settlement-venue",
        "consent-before-value",
        "flashy-gold-is-a-reward",
        "reward-not-input-to-trust",
        "on-ramp-verifies-l2",
        "machine-readable-org"
      ]
    }
  },
  "concepts": [
    {
      "contract": "concept/1",
      "id": "organizational-structure",
      "name": "How an AI organization is shaped",
      "summary": "The org chart now has two kinds of box; the first thing to learn is how work moves between them.",
      "source": {
        "label": "flashyos/packages/aao — the AAO manifest spec"
      },
      "prerequisites": [],
      "course": "working-inside-an-ai-organization"
    },
    {
      "contract": "concept/1",
      "id": "directing-agents",
      "name": "Directing agents well",
      "summary": "Owning output you did not produce is a skill; it starts with writing the standard before the instruction.",
      "source": {
        "label": "flashyos — the estate's operating practice (charters, thresholds, evidence)"
      },
      "prerequisites": [
        "organizational-structure"
      ],
      "course": "directing-agents-well"
    },
    {
      "contract": "concept/1",
      "id": "interoperability",
      "name": "Joining the mesh",
      "summary": "The mesh is files at a URL, not an account — being findable is four files and one command.",
      "source": {
        "label": "flashyos/1 handshake + the AAO charter, served at /.well-known/"
      },
      "prerequisites": [
        "directing-agents"
      ],
      "course": "joining-the-mesh"
    },
    {
      "contract": "concept/1",
      "id": "consent-gated-collaboration",
      "name": "Running a joint initiative",
      "summary": "The loop the estate is built on: intent, a human yes at each side, the work, a sealed record.",
      "source": {
        "label": "flashyos/packages/api jointInitiativeService — consent doctrine"
      },
      "prerequisites": [
        "interoperability"
      ],
      "course": "running-a-joint-initiative"
    },
    {
      "contract": "concept/1",
      "id": "the-agent-sdk",
      "name": "Building a mesh agent",
      "summary": "An agent acts for a human; the SDK is how it authenticates, declares from a charter, and reads the network.",
      "source": {
        "label": "@flashyos/agent — the SDK agents import"
      },
      "prerequisites": [
        "consent-gated-collaboration"
      ],
      "course": "building-a-mesh-agent"
    },
    {
      "contract": "concept/1",
      "id": "provable-claims",
      "name": "The verifiable record",
      "summary": "A badge you can raise at will is a gate; a countersigned claim is a proof a stranger checks offline.",
      "source": {
        "label": "@flashyos/countersign + @flashyos/verify"
      },
      "prerequisites": [
        "the-directory"
      ],
      "course": "the-verifiable-record"
    },
    {
      "contract": "concept/1",
      "id": "the-front-door",
      "name": "The front door (frontdoor/1)",
      "summary": "Standing is what you publish at your own domain; the front door is where a stranger reads what a rung costs.",
      "source": {
        "label": "@flashyos/frontdoor — which lanes an org opens, and what it owes"
      },
      "prerequisites": [
        "the-agent-sdk"
      ],
      "course": "opening-a-front-door"
    },
    {
      "contract": "concept/1",
      "id": "the-directory",
      "name": "The record (directory/1)",
      "summary": "How an organisation enters a graph nobody maintains by hand, and how a settled edge gets there.",
      "source": {
        "label": "@flashyos/directory — federated fragments, the merge, the validator"
      },
      "prerequisites": [
        "the-front-door"
      ],
      "course": "entering-the-record"
    },
    {
      "contract": "concept/1",
      "id": "the-two-tenses",
      "name": "The two tenses (backlog/1 and shipped/1)",
      "summary": "The future tense decays and is never sealed; the past tense is sealed and never decays — and they are shaped differently on purpose.",
      "source": {
        "label": "@flashyos/backlog + @flashyos/shiplog"
      },
      "prerequisites": [
        "provable-claims"
      ],
      "course": "the-two-tenses"
    },
    {
      "contract": "concept/1",
      "id": "conformance-and-charters",
      "name": "Conformance and charters",
      "summary": "The mark is held, not issued: a charter committed and served nowhere the checker looks is not held.",
      "source": {
        "label": "@flashyos/conformance + flashyos/packages/aao"
      },
      "prerequisites": [
        "machine-readable"
      ],
      "course": "writing-your-charter"
    },
    {
      "contract": "concept/1",
      "id": "the-gatewayz-loop",
      "name": "The GatewayZ loop — the four-product ecosystem",
      "summary": "Intent to match to consented introduction to verdict to sealed record, across two organisations, is the whole ecosystem in one arc.",
      "source": {
        "label": "IntentMesh + FlashyOS + Magician (introductionApi) + the settlement record"
      },
      "prerequisites": [
        "measuring-the-estate"
      ],
      "course": "the-gatewayz-loop"
    },
    {
      "contract": "concept/1",
      "id": "measuring-the-estate",
      "name": "Measuring the estate (tally/1 and pulse/1)",
      "summary": "Any figure you can raise at will is an engineering gate, not a claim — learning to tell the two apart is the estate’s core literacy.",
      "source": {
        "label": "flashyos/tools/estate-tally.mjs + pulse/1"
      },
      "prerequisites": [
        "the-two-tenses"
      ],
      "course": "measuring-the-estate"
    },
    {
      "contract": "concept/1",
      "id": "the-transparency-log",
      "name": "The transparency log (checkpoint/1)",
      "summary": "A sealed entry proves one claim; a checkpoint proves the whole set has not been quietly re-cut behind your back — append-only, and verifiable by a stranger.",
      "source": {
        "label": "@flashyos/checkpoint — an RFC 6962 tree head over the sealed claims a property publishes"
      },
      "prerequisites": [],
      "course": "the-transparency-log"
    },
    {
      "contract": "concept/1",
      "id": "holding-a-position",
      "name": "What happened to a position (holding/1)",
      "summary": "An office records what became of the positions it holds as transitions that supersede, never as a mutable current value — the same reason a ledger is entries and not a balance.",
      "source": {
        "label": "@flashyos/holding — transitions, not states"
      },
      "prerequisites": [
        "the-transparency-log"
      ],
      "course": "holding-a-position"
    },
    {
      "contract": "concept/1",
      "id": "the-record-of-sending",
      "name": "Mail as a record (mail/1)",
      "summary": "The one channel nobody had gated: every send writes a leaf, refusals included, and the log is content-free by construction so it can be published without leaking who was written to.",
      "source": {
        "label": "@flashyos/mail — the single send path and its content-free log"
      },
      "prerequisites": [
        "holding-a-position"
      ],
      "course": "the-record-of-sending"
    },
    {
      "contract": "concept/1",
      "id": "the-mcp-surface",
      "name": "The estate as MCP tools (@flashyos/mcp)",
      "summary": "An agent reaches the mesh either through the SDK or through the identical surface as MCP tools; teaching the MCP door is teaching how a model-native agent joins, discovers and works without a bespoke integration.",
      "source": {
        "label": "@flashyos/mcp — the same surface as the SDK, exposed as MCP tools"
      },
      "prerequisites": [
        "scaffolding-an-agent"
      ],
      "course": "the-mcp-surface"
    },
    {
      "contract": "concept/1",
      "id": "scaffolding-an-agent",
      "name": "Scaffolding a starter agent (@flashyos/create-mesh-agent)",
      "summary": "Reaching a working agent used to be a project; the scaffolder writes one that authenticates, declares from a charter and reads the network, so the first agent is one command rather than a week.",
      "source": {
        "label": "@flashyos/create-mesh-agent — npx scaffolds a starter mesh agent"
      },
      "prerequisites": [
        "the-mesh-checklist"
      ],
      "course": "scaffolding-an-agent"
    },
    {
      "contract": "concept/1",
      "id": "the-mesh-checklist",
      "name": "The on-ramp as one checklist (@flashyos/mesh)",
      "summary": "Adoption is not one switch but a checklist — charter, handshake, fragment, front door, record — and the mesh package is the single place that says what a repository has done and what remains, with the command for each step.",
      "source": {
        "label": "@flashyos/mesh — what a repository has adopted, what is left, and the command for each"
      },
      "prerequisites": [],
      "course": "the-mesh-checklist"
    },
    {
      "contract": "concept/1",
      "id": "defining-terms",
      "name": "Defining terms (defined/1)",
      "summary": "A shared vocabulary only stays shared if a definition is cited rather than restated; two authorities with byte-identical definition text are a copy counted twice, not corroboration, and the format enforces the difference.",
      "source": {
        "label": "@flashyos/defined — a vocabulary where one authority owns each term and a citation is a link, never a copy"
      },
      "prerequisites": [],
      "course": "defining-terms"
    },
    {
      "contract": "concept/1",
      "id": "describing-an-asset",
      "name": "Describing a real-world asset (rwa/1)",
      "summary": "A real-world asset gets a denomination in a circulating unit rather than a market of its own, and the validator refuses the shapes that mislead — a performance-linked reward, an issuer attesting their own independent claims, an undated valuation.",
      "source": {
        "label": "@flashyos/assetmesh — rwa/1, a real-world-asset record served at /.well-known/rwa.json"
      },
      "prerequisites": [
        "defining-terms"
      ],
      "course": "describing-an-asset"
    },
    {
      "contract": "concept/1",
      "id": "non-identifying-verification",
      "name": "Non-identifying verification (verification/1)",
      "summary": "An identity service must be able to prove that a verification of some assurance happened without recording the person; the leaf carries a level and a time and no identifier, not even a hashed one, which is what makes the transparency log safe for an identity provider to feed.",
      "source": {
        "label": "flashyID + flashy network — a verification/1 leaf that reveals an assurance level and a time, never who"
      },
      "prerequisites": [
        "describing-an-asset"
      ],
      "course": "non-identifying-verification"
    },
    {
      "contract": "concept/1",
      "id": "filing-an-intent",
      "name": "Filing an intent (intent/1)",
      "summary": "The loop begins with an intent stated so a matcher can act on it; an intent with nothing it wants is invisible to routing, and teaching the record is teaching how an organisation opens the arc rather than waits at the end of it.",
      "source": {
        "label": "IntentMesh — intent/1, a machine-readable statement of what an organisation wants"
      },
      "prerequisites": [],
      "course": "filing-an-intent"
    },
    {
      "contract": "concept/1",
      "id": "consent-on-the-rail",
      "name": "Delegated consent on the rewards rail",
      "summary": "A reward is issued only downstream of a human approving a specific draft; the consent and grant tokens are how that approval becomes a credential the rail verifies, and a consent a caller could request would be the auto-approval the whole layer exists to refuse.",
      "source": {
        "label": "flashyID — rail issuance and consent/grant tokens (docs/rail-consent.md, docs/rail-grant.md)"
      },
      "prerequisites": [
        "filing-an-intent"
      ],
      "course": "consent-on-the-rail"
    },
    {
      "contract": "concept/1",
      "id": "the-conformance-ladder",
      "name": "The conformance ladder (L0–L3)",
      "summary": "Being on the mesh is not one bit but a ladder — served files, a valid charter, a countersigned record — and the mark is held (read from the live domain) rather than issued, so teaching the ladder is teaching what each rung actually proves.",
      "source": {
        "label": "@flashyos/conformance — the levels a node is graded against, held not issued"
      },
      "prerequisites": [
        "consent-on-the-rail"
      ],
      "course": "the-conformance-ladder"
    },
    {
      "contract": "concept/1",
      "id": "the-llms-txt-surface",
      "name": "The llms.txt surface (@flashyos/llms-txt)",
      "summary": "Being understood by an answer engine is now a distribution channel; llms.txt is the served file that states what an organisation is and where its machine surfaces are, so a model summarises it right rather than guessing.",
      "source": {
        "label": "@flashyos/llms-txt — the file that tells an answer engine what an organisation is"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "countersigned-delegation",
      "name": "Delegation, audit and the badge (@flashyos/countersign)",
      "summary": "The verifiable record teaches the countersignature; the same package also carries delegation, an audit trail and a badge, and each is a distinct proof over the record worth its own teaching.",
      "source": {
        "label": "@flashyos/countersign — proof over the record: countersignature, delegation, audit, badge"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "sealing-and-canonicalisation",
      "name": "Sealing and canonicalisation (@flashyos/verify)",
      "summary": "A record sealed from re-ordered keys can hash against its own bytes and still be wrong; the shared canonicalisation is what makes one sealer and one verifier agree, and it is the mechanism under every sealed thing the estate publishes.",
      "source": {
        "label": "@flashyos/verify — the shared canonicalisation a settlement, receipt and shipped entry all hash through"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "inference-layer",
      "name": "What inference is",
      "summary": "Inference is the moment a model does work and where every cost, latency and economic decision about AI actually lives; nothing above it makes sense without it.",
      "source": {
        "label": "Gatewayz — gatewayz.ai, the unified inference gateway"
      },
      "prerequisites": [],
      "course": "what-inference-is"
    },
    {
      "contract": "concept/1",
      "id": "compute-layer",
      "name": "What compute is",
      "summary": "Under every token is a scarce physical asset that loses money while idle — the fact the whole yield thesis turns on.",
      "source": {
        "label": "The accelerator + data-centre supply chain, framed by Gatewayz"
      },
      "prerequisites": [
        "inference-layer"
      ],
      "course": "what-compute-is"
    },
    {
      "contract": "concept/1",
      "id": "inference-routing",
      "name": "Why choosing inference matters",
      "summary": "The same model runs on many providers at different economics, and choosing per request rather than per codebase is a decision worth billions in aggregate.",
      "source": {
        "label": "@flashyos/llm-gateway — the provider-agnostic inference seam"
      },
      "prerequisites": [
        "compute-layer"
      ],
      "course": "choosing-inference"
    },
    {
      "contract": "concept/1",
      "id": "inference-as-yield",
      "name": "Inference as yield",
      "summary": "Compute is a productive asset; serving inference on idle capacity is a yield in the honest sense, and telling that from a marketing promise is the literacy this teaches.",
      "source": {
        "label": "The economics of compute utilisation — idle capacity to income"
      },
      "prerequisites": [
        "inference-routing"
      ],
      "course": "inference-as-yield"
    },
    {
      "contract": "concept/1",
      "id": "gatewayz-onboarding",
      "name": "Getting set up with Gatewayz",
      "summary": "One OpenAI-compatible endpoint and one key reach a whole catalog; the first working call is the on-ramp to everything else in the track.",
      "source": {
        "label": "Gatewayz — gatewayz.ai onboarding: key, unified endpoint, catalog"
      },
      "prerequisites": [
        "inference-as-yield"
      ],
      "course": "getting-set-up-with-gatewayz"
    },
    {
      "contract": "concept/1",
      "id": "production-inference",
      "name": "Building with Gatewayz",
      "summary": "A working call is not a production system; failover, the empty-success guard, per-request cost and cutover-as-config are what make gateway-backed inference trustworthy.",
      "source": {
        "label": "@flashyos/llm-gateway README — failover, empty-success guard, cost attribution"
      },
      "prerequisites": [
        "gatewayz-onboarding"
      ],
      "course": "building-with-gatewayz"
    },
    {
      "contract": "concept/1",
      "id": "inference-substrate",
      "name": "Inference in the agentic economy",
      "summary": "Every agent action is an inference call, so the economics of an agent workforce are the economics of inference — the capstone that ties the substrate to the school's subject.",
      "source": {
        "label": "The estate's AAO operating experience + @flashyos/llm-gateway"
      },
      "prerequisites": [
        "inference-seam-on-flashyos"
      ],
      "course": "inference-in-the-agentic-economy"
    },
    {
      "contract": "concept/1",
      "id": "model-evaluation",
      "name": "Evaluating models",
      "summary": "Routing to save money without losing quality is a hope until you measure whether a cheaper model clears the task's bar — the eval is what makes cost a managed number instead of an argument.",
      "source": {
        "label": "Task-specific evals (rubric + golden set) measured through @flashyos/llm-gateway"
      },
      "prerequisites": [
        "advanced-gateway-features"
      ],
      "course": "evaluating-models"
    },
    {
      "contract": "concept/1",
      "id": "advanced-gateway-features",
      "name": "Prompt caching and tool use through a gateway",
      "summary": "The two features that turn a chat endpoint into an agent runtime: caching stops you re-paying for a replayed context, tool use lets a model act — and both fail silently unless you verify with the usage fields and the capability check.",
      "source": {
        "label": "Gatewayz API — the prompt-caching and tool-calling guides (beta.gatewayz.ai/docs)"
      },
      "prerequisites": [
        "production-inference"
      ],
      "course": "caching-and-tool-use"
    },
    {
      "contract": "concept/1",
      "id": "inference-seam-on-flashyos",
      "name": "Gatewayz on FlashyOS (the inference seam)",
      "summary": "An AAO runs a workforce on inference, so it needs one inference layer with failover, metering and cutover-as-configuration — the seam every estate call passes through, pointed at Gatewayz.",
      "source": {
        "label": "@flashyos/llm-gateway — the provider-agnostic seam, with the gatewayz provider"
      },
      "prerequisites": [
        "compute-attribution"
      ],
      "course": "gatewayz-on-flashyos"
    },
    {
      "contract": "concept/1",
      "id": "compute-attribution",
      "name": "Attributing compute to work",
      "summary": "A workforce spends its budget in tokens but the bill arrives as one number; attributing compute to the initiative that spent it turns an undifferentiated bill into a figure an operator can steer, and a fact the record can carry.",
      "source": {
        "label": "Per-request tokens + requestId (the inference seam), summed by initiative id"
      },
      "prerequisites": [
        "model-evaluation"
      ],
      "course": "attributing-compute-to-work"
    },
    {
      "contract": "concept/1",
      "id": "aao-concept",
      "name": "The AAO, defined",
      "summary": "An AAO is a governance claim, not a capability one — seven questions separate a real one from a product with agents bolted on, and the difference is what the whole estate is built to prove.",
      "source": {
        "label": "flashyos.com/concepts/ai-autonomous-organization + @flashyos/aao (the seven questions)"
      },
      "prerequisites": [],
      "course": "what-is-an-aao"
    },
    {
      "contract": "concept/1",
      "id": "machine-readable",
      "name": "The machine-readable estate",
      "summary": "An organization only a human can parse is invisible to the agent economy; being found, trusted and worked with is a matter of files served at your own domain, not an account.",
      "source": {
        "label": "flashyos/1 handshake + @flashyos/conformance (committed is not served)"
      },
      "prerequisites": [
        "aao-concept"
      ],
      "course": "machine-readable-and-why"
    },
    {
      "contract": "concept/1",
      "id": "the-on-ramp",
      "name": "The one-command on-ramp",
      "summary": "Reaching the mesh used to be a consulting engagement; the on-ramp writes the charter, handshake, fragment and workflow and checks its own output, so a stranger reaches L2 in one command.",
      "source": {
        "label": "@flashyos/create-mesh-node — writes the four files and verifies L2"
      },
      "prerequisites": [
        "conformance-and-charters"
      ],
      "course": "the-one-command-on-ramp"
    },
    {
      "contract": "concept/1",
      "id": "the-flashy-stack",
      "name": "The Flashy stack (the spokes)",
      "summary": "An AAO needs identity, value, a public face and a record; the spokes provide each, compose because they share the mesh standard, and must be taught honestly about what is live versus forthcoming.",
      "source": {
        "label": "FlashyOS + flashyID + Flashy Gold + Flashy Network — mesh nodes that compose"
      },
      "prerequisites": [
        "the-on-ramp"
      ],
      "course": "the-flashy-stack"
    },
    {
      "contract": "concept/1",
      "id": "identity-layer",
      "name": "Identity and delegated authority (flashyID)",
      "summary": "Before an agent can act for an organization it needs an identity and a bounded slice of a human's authority; delegation only ever attenuates, which is what makes an agent workforce safe to delegate to.",
      "source": {
        "label": "flashyID — the OIDC provider + @flashyid/sdk grant kernel"
      },
      "prerequisites": [
        "the-flashy-stack"
      ],
      "course": "identity-with-flashyid"
    },
    {
      "contract": "concept/1",
      "id": "value-layer",
      "name": "Value and rewards",
      "summary": "Value follows a sealed outcome and never precedes one; an AAO rewards contribution through the live Flashy Gold layer and the auditable ledger, and designs for the rail rather than against it.",
      "source": {
        "label": "Flashy Gold + @flashylabs/ledger (Flashy Finance declared, not yet operational)"
      },
      "prerequisites": [
        "identity-layer"
      ],
      "course": "value-and-rewards"
    },
    {
      "contract": "concept/1",
      "id": "becoming-an-aao",
      "name": "Becoming an AAO (the full walkthrough)",
      "summary": "The capstone assembles the whole journey from nothing to a published, verifiable node: the checklist that turns \"we want an AAO\" into one the mesh can read and other organizations can work with.",
      "source": {
        "label": "The estate on-ramp end to end — charter, conformance, spokes, the record"
      },
      "prerequisites": [
        "value-layer"
      ],
      "course": "zero-to-aao"
    },
    {
      "contract": "concept/1",
      "id": "aao-seven-questions",
      "name": "The seven charter questions",
      "summary": "An AAO answers seven static questions about who it is and what each role may do; the charter is the answers.",
      "source": {
        "label": "flashyos/packages/aao — the AAO manifest spec",
        "href": "https://flashyos.com/packages/aao"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "aao-role-cap",
      "name": "Why a role name is capped",
      "summary": "A role name is 24 characters or fewer — a governance label, not a description, so a stranger can read the org at a glance.",
      "source": {
        "label": "flashyos/packages/aao — the AAO manifest spec",
        "href": "https://flashyos.com/packages/aao"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "aao-served-not-committed",
      "name": "A charter is held, not just issued",
      "summary": "The mark is read from /.well-known/, so a charter committed and served elsewhere is not held — committed is not served.",
      "source": {
        "label": "flashyos/packages/aao — the AAO manifest spec",
        "href": "https://flashyos.com/packages/aao"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "directory-federation",
      "name": "The record is federated",
      "summary": "The directory is fragments each org publishes, merged — no central database anyone has to be let into.",
      "source": {
        "label": "flashyos/packages/directory — directory/1",
        "href": "https://flashyos.com/packages/directory"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "directory-consent",
      "name": "A boundary edge needs the other side to sign",
      "summary": "A cross-org edge reaches COUNTERSIGNED only when a human at the other org signs it — agents suggest, humans consent.",
      "source": {
        "label": "flashyos/packages/directory — directory/1",
        "href": "https://flashyos.com/packages/directory"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "private-is-missing",
      "name": "Private is indistinguishable from missing",
      "summary": "A non-public org answers exactly as one that does not exist, because existence is itself org data.",
      "source": {
        "label": "flashyos/packages/directory — directory/1",
        "href": "https://flashyos.com/packages/directory"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "countersignature",
      "name": "What a countersignature proves",
      "summary": "Proof over the record: who may sign, and what a signature actually establishes about a claim.",
      "source": {
        "label": "flashyos/packages/countersign — countersign/1",
        "href": "https://flashyos.com/packages/countersign"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "delegation-attenuation",
      "name": "Delegation only ever narrows",
      "summary": "A delegated authority is a subset of the granter’s — a child can never hold what its parent lacks.",
      "source": {
        "label": "flashyos/packages/countersign — countersign/1",
        "href": "https://flashyos.com/packages/countersign"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "frontdoor-lanes",
      "name": "Which lanes an org opens",
      "summary": "The front door declares which kinds of work an org accepts and what it owes at each — governance a stranger can read.",
      "source": {
        "label": "flashyos/packages/frontdoor — frontdoor/1",
        "href": "https://flashyos.com/packages/frontdoor"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "canonical-sealing",
      "name": "Why sealing hashes canonical form",
      "summary": "A record is sealed over sorted, canonical bytes, so a re-ordered copy fails — the verifier is pinned to the sealer.",
      "source": {
        "label": "flashyos/packages/verify — offline verification",
        "href": "https://flashyos.com/packages/verify"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "offline-verification",
      "name": "Verification runs in your own machine",
      "summary": "A settlement is checked offline, by the reader, against published bytes — nothing to trust but the math.",
      "source": {
        "label": "flashyos/packages/verify — offline verification",
        "href": "https://flashyos.com/packages/verify"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "the-past-tense",
      "name": "The past tense is sealed and never decays",
      "summary": "A shipped/1 entry is sealed once per thing that shipped and never revised — the opposite shape to the backlog.",
      "source": {
        "label": "flashyos/packages/shiplog — shipped/1",
        "href": "https://flashyos.com/packages/shiplog"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "the-future-tense",
      "name": "The future tense decays and is never sealed",
      "summary": "A backlog/1 item is filed private and decays; only a named human may promote it — full distribution with nothing distributed teaches the format is decorative.",
      "source": {
        "label": "flashyos/packages/backlog — backlog/1",
        "href": "https://flashyos.com/packages/backlog"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "compute-cost-derived",
      "name": "Cost is derived at read, never stored",
      "summary": "A compute/1 record carries tokens and request ids; the price is computed by the reader against their own registry — a stored cost is a figure nothing measured.",
      "source": {
        "label": "flashyos/packages/compute — compute/1",
        "href": "https://flashyos.com/packages/compute"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "compute-three-states",
      "name": "Measured, uncaptured, and the empty case",
      "summary": "A measured entry has real calls; an uncaptured one names a gap and carries no numbers; an empty history is not zero compute.",
      "source": {
        "label": "flashyos/packages/compute — compute/1",
        "href": "https://flashyos.com/packages/compute"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "compute-request-audit",
      "name": "Request ids are the audit trail",
      "summary": "Each measured entry keeps the gateway request ids behind its token counts, so a total can be traced back to the calls that made it.",
      "source": {
        "label": "flashyos/packages/compute — compute/1",
        "href": "https://flashyos.com/packages/compute"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "provider-agnostic-seam",
      "name": "Cutover is configuration, not a deploy",
      "summary": "One seam selects the provider; the other becomes automatic failover, so changing inference vendors is an env change.",
      "source": {
        "label": "@flashyos/llm-gateway — the inference seam",
        "href": "https://flashyos.com/packages/llm-gateway"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "empty-success-guard",
      "name": "An empty success is a failure",
      "summary": "A response with no content and zero output tokens is raised as an error, not returned as a free silent non-answer.",
      "source": {
        "label": "@flashyos/llm-gateway — the inference seam",
        "href": "https://flashyos.com/packages/llm-gateway"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "breaker-not-client-error",
      "name": "A caller’s mistake is not a provider failure",
      "summary": "The circuit breaker excludes 4xx, so a typo cannot fail a provider over — availability is never spent on a bad request.",
      "source": {
        "label": "@flashyos/llm-gateway — the inference seam",
        "href": "https://flashyos.com/packages/llm-gateway"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "what-inference-costs",
      "name": "Inference is a metered good",
      "summary": "Every call spends input and output tokens at a per-model rate — the unit economics of thinking.",
      "source": {
        "label": "Gatewayz — the unified inference gateway",
        "href": "https://gatewayz.ai"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "openai-anthropic-compat",
      "name": "One gateway, two protocols",
      "summary": "Gatewayz speaks OpenAI-compatible and Anthropic-native on one surface, so a client is not locked to one vendor’s shape.",
      "source": {
        "label": "Gatewayz — the unified inference gateway",
        "href": "https://gatewayz.ai"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "prompt-caching",
      "name": "Prompt caching, and why it changes the bill",
      "summary": "A cache_control directive lets repeated context be read at a fraction of the price — a dropped directive multiplies the bill silently.",
      "source": {
        "label": "Gatewayz — the unified inference gateway",
        "href": "https://gatewayz.ai"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "namespaced-model-ids",
      "name": "Model ids carry their provider namespace",
      "summary": "An id is provider/model; a bare id resolves to nothing, which is a contract to hold gateways to.",
      "source": {
        "label": "Gatewayz — the unified inference gateway",
        "href": "https://gatewayz.ai"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "delegated-authority",
      "name": "Identity as delegated authority",
      "summary": "flashyID mints grants that carry a subset of the granter’s scopes — enforcement before minting, always.",
      "source": {
        "label": "flashyID — the identity layer",
        "href": "https://id.flashyid.com"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "non-identifying-leaf",
      "name": "A verification leaf reveals no one",
      "summary": "A verification/1 leaf records that an assurance level happened at a time, and nothing about who — not even hashed.",
      "source": {
        "label": "flashyID — the identity layer",
        "href": "https://id.flashyid.com"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "the-settlement-venue",
      "name": "Why value needs a venue before it moves",
      "summary": "A reward accrues but cannot settle until a venue is declared — never ship a way to accrue ahead of the thing that pays.",
      "source": {
        "label": "Flashy Finance — the wallet and rail",
        "href": "https://flashy.financial"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "consent-before-value",
      "name": "Value never moves without the holder’s approval",
      "summary": "The consent promise the brand rests on: an agent may draft, a human approves before anything is real.",
      "source": {
        "label": "Flashy Finance — the wallet and rail",
        "href": "https://flashy.financial"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "flashy-gold-is-a-reward",
      "name": "Flashy Gold is a reward, not a commodity",
      "summary": "Rewards are Flashy Gold, not a precious-metal commodity; a fiat figure beside a balance is a redemption promise whatever the copy says.",
      "source": {
        "label": "Flashy Gold — the rewards layer",
        "href": "https://flashy.gold"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "reward-not-input-to-trust",
      "name": "A reward is never an input to standing",
      "summary": "Earning a reward for an action manufactures activity; incentives sit strictly after a sealed outcome, outside any ranking.",
      "source": {
        "label": "Flashy Gold — the rewards layer",
        "href": "https://flashy.gold"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "on-ramp-verifies-l2",
      "name": "The on-ramp proves itself before it is done",
      "summary": "The one-command on-ramp does not just write the four files — it fetches them back and verifies L2 conformance, because committed is not served.",
      "source": {
        "label": "@flashyos/create-mesh-node — the one-command on-ramp",
        "href": "https://flashyos.com/packages/create-mesh-node"
      },
      "prerequisites": [],
      "course": null
    },
    {
      "contract": "concept/1",
      "id": "machine-readable-org",
      "name": "What machine-readable means for an org",
      "summary": "An org a machine can read is files at a URL a stranger fetches — not an account, not a login, not a sales call.",
      "source": {
        "label": "@flashyos/create-mesh-node — the one-command on-ramp",
        "href": "https://flashyos.com/packages/create-mesh-node"
      },
      "prerequisites": [],
      "course": null
    }
  ],
  "courses": [
    {
      "contract": "course/1",
      "slug": "working-inside-an-ai-organization",
      "title": "Working Inside an AI Organization",
      "track": "working-with-agents",
      "teaches": [
        "organizational-structure"
      ],
      "lessons": 5,
      "audience": "Anyone joining a company where part of the workforce is software"
    },
    {
      "contract": "course/1",
      "slug": "directing-agents-well",
      "title": "Directing Agents Well",
      "track": "working-with-agents",
      "teaches": [
        "directing-agents"
      ],
      "lessons": 5,
      "audience": "Anyone who is responsible for the output of one or more agents"
    },
    {
      "contract": "course/1",
      "slug": "joining-the-mesh",
      "title": "Joining the Mesh",
      "track": "working-with-agents",
      "teaches": [
        "interoperability"
      ],
      "lessons": 5,
      "audience": "An organization that wants its agents to find and work with other organizations’ agents"
    },
    {
      "contract": "course/1",
      "slug": "running-a-joint-initiative",
      "title": "Running a Joint Initiative",
      "track": "working-with-agents",
      "teaches": [
        "consent-gated-collaboration"
      ],
      "lessons": 5,
      "audience": "Teams doing work that crosses an organizational boundary"
    },
    {
      "contract": "course/1",
      "slug": "building-a-mesh-agent",
      "title": "Building a Mesh Agent",
      "track": "working-with-agents",
      "teaches": [
        "the-agent-sdk"
      ],
      "lessons": 5,
      "audience": "Developers wiring an agent into the mesh"
    },
    {
      "contract": "course/1",
      "slug": "the-verifiable-record",
      "title": "The Verifiable Record",
      "track": "working-with-agents",
      "teaches": [
        "provable-claims"
      ],
      "lessons": 5,
      "audience": "Anyone who has to trust, audit, or publish cross-organization work"
    },
    {
      "contract": "course/1",
      "slug": "opening-a-front-door",
      "title": "Opening a Front Door",
      "track": "working-with-agents",
      "teaches": [
        "the-front-door"
      ],
      "lessons": 4,
      "audience": "Anyone deciding how an organization should be approached — and what it owes in return"
    },
    {
      "contract": "course/1",
      "slug": "entering-the-record",
      "title": "Entering the Record",
      "track": "working-with-agents",
      "teaches": [
        "the-directory"
      ],
      "lessons": 4,
      "audience": "Anyone whose organization should be findable, mergeable, and cited rather than described"
    },
    {
      "contract": "course/1",
      "slug": "what-inference-is",
      "title": "What Inference Is",
      "track": "inference-economy",
      "teaches": [
        "inference-layer"
      ],
      "lessons": 5,
      "audience": "Anyone who uses or builds with AI and wants to know what actually happens when a model answers"
    },
    {
      "contract": "course/1",
      "slug": "what-compute-is",
      "title": "What Compute Is",
      "track": "inference-economy",
      "teaches": [
        "compute-layer"
      ],
      "lessons": 5,
      "audience": "Anyone who wants to understand the hardware and energy that inference actually runs on"
    },
    {
      "contract": "course/1",
      "slug": "choosing-inference",
      "title": "Why Choosing Inference Matters",
      "track": "inference-economy",
      "teaches": [
        "inference-routing"
      ],
      "lessons": 5,
      "audience": "Builders who currently hardcode one model and one provider, and want to understand the cost of that"
    },
    {
      "contract": "course/1",
      "slug": "inference-as-yield",
      "title": "Inference as Yield",
      "track": "inference-economy",
      "teaches": [
        "inference-as-yield"
      ],
      "lessons": 5,
      "audience": "Anyone trying to understand why compute is described as a yield-bearing asset — builders, operators, and the economically curious"
    },
    {
      "contract": "course/1",
      "slug": "getting-set-up-with-gatewayz",
      "title": "Getting Set Up with Gatewayz",
      "track": "inference-economy",
      "teaches": [
        "gatewayz-onboarding"
      ],
      "lessons": 5,
      "audience": "Developers who want to make their first inference call through Gatewayz and understand each step"
    },
    {
      "contract": "course/1",
      "slug": "building-with-gatewayz",
      "title": "Building with Gatewayz",
      "track": "inference-economy",
      "teaches": [
        "production-inference"
      ],
      "lessons": 6,
      "audience": "Developers taking an inference-backed feature from a working call to something that survives production"
    },
    {
      "contract": "course/1",
      "slug": "inference-in-the-agentic-economy",
      "title": "Inference in the Agentic Economy",
      "track": "inference-economy",
      "teaches": [
        "inference-substrate"
      ],
      "lessons": 5,
      "audience": "Anyone trying to see why inference infrastructure is the foundation the agentic economy is built on"
    },
    {
      "contract": "course/1",
      "slug": "evaluating-models",
      "title": "Evaluating Models",
      "track": "inference-economy",
      "teaches": [
        "model-evaluation"
      ],
      "lessons": 5,
      "audience": "Builders who want to decide, per task, which model clears the bar most cheaply — with evidence, not a hunch"
    },
    {
      "contract": "course/1",
      "slug": "caching-and-tool-use",
      "title": "Prompt Caching and Tool Use",
      "track": "inference-economy",
      "teaches": [
        "advanced-gateway-features"
      ],
      "lessons": 5,
      "audience": "Builders who need cheaper replayed context and models that call tools — through a gateway, done right"
    },
    {
      "contract": "course/1",
      "slug": "gatewayz-on-flashyos",
      "title": "Gatewayz on FlashyOS",
      "track": "inference-economy",
      "teaches": [
        "inference-seam-on-flashyos"
      ],
      "lessons": 4,
      "audience": "Teams running on the FlashyOS mesh who want Gatewayz as the inference layer under their agents"
    },
    {
      "contract": "course/1",
      "slug": "attributing-compute-to-work",
      "title": "Attributing Compute to Work",
      "track": "inference-economy",
      "teaches": [
        "compute-attribution"
      ],
      "lessons": 5,
      "audience": "Operators who need to know what each agent initiative actually cost in compute"
    },
    {
      "contract": "course/1",
      "slug": "what-is-an-aao",
      "title": "What Is an AAO",
      "track": "becoming-an-aao",
      "teaches": [
        "aao-concept"
      ],
      "lessons": 4,
      "audience": "Founders and operators deciding whether to build a company whose workforce is software"
    },
    {
      "contract": "course/1",
      "slug": "machine-readable-and-why",
      "title": "Machine-Readable, and Why It Matters",
      "track": "becoming-an-aao",
      "teaches": [
        "machine-readable"
      ],
      "lessons": 4,
      "audience": "Anyone who wants their organization found, trusted and worked with by agents, not just people"
    },
    {
      "contract": "course/1",
      "slug": "writing-your-charter",
      "title": "Writing Your AAO Charter",
      "track": "becoming-an-aao",
      "teaches": [
        "conformance-and-charters"
      ],
      "lessons": 5,
      "audience": "Founders writing the governance document their agents will operate under"
    },
    {
      "contract": "course/1",
      "slug": "the-one-command-on-ramp",
      "title": "The One-Command On-Ramp",
      "track": "becoming-an-aao",
      "teaches": [
        "the-on-ramp"
      ],
      "lessons": 4,
      "audience": "Anyone ready to publish their organization to the mesh and reach L2 today"
    },
    {
      "contract": "course/1",
      "slug": "the-flashy-stack",
      "title": "The Flashy Stack: The Spokes and How They Fit",
      "track": "becoming-an-aao",
      "teaches": [
        "the-flashy-stack"
      ],
      "lessons": 5,
      "audience": "Operators mapping which Flashy properties their AAO will use, and how they compose"
    },
    {
      "contract": "course/1",
      "slug": "identity-with-flashyid",
      "title": "Identity with flashyID",
      "track": "becoming-an-aao",
      "teaches": [
        "identity-layer"
      ],
      "lessons": 4,
      "audience": "Builders wiring identity and delegated authority for an AAO's agents"
    },
    {
      "contract": "course/1",
      "slug": "value-and-rewards",
      "title": "Value and Rewards",
      "track": "becoming-an-aao",
      "teaches": [
        "value-layer"
      ],
      "lessons": 4,
      "audience": "Operators who will reward contributors or move value through their AAO"
    },
    {
      "contract": "course/1",
      "slug": "zero-to-aao",
      "title": "Zero to AAO: The Full Walkthrough",
      "track": "becoming-an-aao",
      "teaches": [
        "becoming-an-aao"
      ],
      "lessons": 5,
      "audience": "Founders taking an organization from nothing to a published, verifiable node on the mesh"
    },
    {
      "contract": "course/1",
      "slug": "the-two-tenses",
      "title": "The Two Tenses: Backlog and Shiplog",
      "track": "working-with-agents",
      "teaches": [
        "the-two-tenses"
      ],
      "lessons": 5,
      "audience": "Anyone keeping a record of what an organization intends and what it has shipped"
    },
    {
      "contract": "course/1",
      "slug": "measuring-the-estate",
      "title": "Measuring the Estate: tally/1 and pulse/1",
      "track": "working-with-agents",
      "teaches": [
        "measuring-the-estate"
      ],
      "lessons": 5,
      "audience": "Anyone who publishes a number about an organization and wants a reader to believe it"
    },
    {
      "contract": "course/1",
      "slug": "the-gatewayz-loop",
      "title": "The GatewayZ Loop: Intent to Sealed Record",
      "track": "working-with-agents",
      "teaches": [
        "the-gatewayz-loop"
      ],
      "lessons": 6,
      "audience": "Anyone who wants to see how a stated intent becomes settled, verifiable work across two organizations"
    },
    {
      "contract": "course/1",
      "slug": "the-transparency-log",
      "title": "The Transparency Log: Checkpoints over Sealed Claims",
      "track": "the-record-formats",
      "teaches": [
        "the-transparency-log"
      ],
      "lessons": 5,
      "audience": "Anyone who needs a reader to trust that a published record has only ever grown, never been re-cut"
    },
    {
      "contract": "course/1",
      "slug": "holding-a-position",
      "title": "Holding a Position: Transitions, Not States",
      "track": "the-record-formats",
      "teaches": [
        "holding-a-position"
      ],
      "lessons": 5,
      "audience": "Anyone recording what an office owns and what became of it — where a mutable current value would be a lie waiting to happen"
    },
    {
      "contract": "course/1",
      "slug": "the-record-of-sending",
      "title": "The Record of Sending: Mail Without Leaking",
      "track": "the-record-formats",
      "teaches": [
        "the-record-of-sending"
      ],
      "lessons": 5,
      "audience": "Anyone who sends on an organization's behalf and needs the sending itself to be a record — without that record becoming a surveillance log"
    },
    {
      "contract": "course/1",
      "slug": "the-mesh-checklist",
      "title": "The On-Ramp as One Checklist",
      "track": "the-on-ramp-toolkit",
      "teaches": [
        "the-mesh-checklist"
      ],
      "lessons": 5,
      "audience": "Anyone taking a repository onto the mesh who wants to know exactly what is adopted, what is left, and the command for each"
    },
    {
      "contract": "course/1",
      "slug": "scaffolding-an-agent",
      "title": "Scaffolding a Starter Agent",
      "track": "the-on-ramp-toolkit",
      "teaches": [
        "scaffolding-an-agent"
      ],
      "lessons": 5,
      "audience": "Anyone who wants a working mesh agent — one that authenticates, declares from a charter, and reads the network — without building the plumbing by hand"
    },
    {
      "contract": "course/1",
      "slug": "the-mcp-surface",
      "title": "The Estate as MCP Tools",
      "track": "the-on-ramp-toolkit",
      "teaches": [
        "the-mcp-surface"
      ],
      "lessons": 5,
      "audience": "Anyone connecting a model-native agent to the mesh who wants the estate's operations as tools rather than a bespoke integration"
    },
    {
      "contract": "course/1",
      "slug": "defining-terms",
      "title": "Defining Terms: One Word, One Authority",
      "track": "formats-a-stranger-checks",
      "teaches": [
        "defining-terms"
      ],
      "lessons": 5,
      "audience": "Anyone who publishes definitions other people are expected to use, and needs a collision between two of them to be detectable"
    },
    {
      "contract": "course/1",
      "slug": "describing-an-asset",
      "title": "Describing a Real-World Asset: A Denomination, Not a Market",
      "track": "formats-a-stranger-checks",
      "teaches": [
        "describing-an-asset"
      ],
      "lessons": 5,
      "audience": "Anyone tokenizing or referencing a real-world asset who wants the description to be honest, checkable, and not accidentally a security"
    },
    {
      "contract": "course/1",
      "slug": "non-identifying-verification",
      "title": "Non-Identifying Verification: A Level and a Time, Never Who",
      "track": "formats-a-stranger-checks",
      "teaches": [
        "non-identifying-verification"
      ],
      "lessons": 5,
      "audience": "Anyone building a verification or identity service that must prove a check happened without recording who was checked"
    },
    {
      "contract": "course/1",
      "slug": "filing-an-intent",
      "title": "Filing an Intent: Opening the Loop",
      "track": "intent-consent-and-standing",
      "teaches": [
        "filing-an-intent"
      ],
      "lessons": 5,
      "audience": "Anyone who wants a matcher — not a human reading a page — to act on what their organization is trying to do"
    },
    {
      "contract": "course/1",
      "slug": "consent-on-the-rail",
      "title": "Delegated Consent on the Rewards Rail",
      "track": "intent-consent-and-standing",
      "teaches": [
        "consent-on-the-rail"
      ],
      "lessons": 5,
      "audience": "Anyone building a value flow where a human must approve moving value out, and the approval has to be un-forgeable"
    },
    {
      "contract": "course/1",
      "slug": "the-conformance-ladder",
      "title": "The Conformance Ladder: L1 to L3",
      "track": "intent-consent-and-standing",
      "teaches": [
        "the-conformance-ladder"
      ],
      "lessons": 5,
      "audience": "Anyone who wants to know what \"on the mesh\" actually claims, and what each rung of it proves"
    }
  ],
  "tracks": [
    {
      "contract": "track/1",
      "slug": "inference-economy",
      "title": "The Inference Economy",
      "blurb": "The substrate the agentic economy runs on: what inference and compute are, why choosing inference is an economic decision, inference as yield, and getting set up and building with Gatewayz.",
      "courses": [
        "what-inference-is",
        "what-compute-is",
        "choosing-inference",
        "inference-as-yield",
        "getting-set-up-with-gatewayz",
        "building-with-gatewayz",
        "caching-and-tool-use",
        "evaluating-models",
        "attributing-compute-to-work",
        "gatewayz-on-flashyos",
        "inference-in-the-agentic-economy"
      ]
    },
    {
      "contract": "track/1",
      "slug": "becoming-an-aao",
      "title": "Becoming an AAO",
      "blurb": "From \"a company with some agents\" to a published, verifiable Agentic Autonomous Organization on the FlashyOS mesh: the concept, machine-readability, the charter, the one-command on-ramp, the spokes, and a zero-to-AAO walkthrough.",
      "courses": [
        "what-is-an-aao",
        "machine-readable-and-why",
        "writing-your-charter",
        "the-one-command-on-ramp",
        "the-flashy-stack",
        "identity-with-flashyid",
        "value-and-rewards",
        "zero-to-aao"
      ]
    },
    {
      "contract": "track/1",
      "slug": "working-with-agents",
      "title": "Working With AI Agents & the Mesh",
      "blurb": "The practice of an AI workforce: holding a job alongside agents, directing them once you own their output, and the mesh primitives an organization joins, records and proves work through.",
      "courses": [
        "working-inside-an-ai-organization",
        "directing-agents-well",
        "joining-the-mesh",
        "running-a-joint-initiative",
        "building-a-mesh-agent",
        "opening-a-front-door",
        "entering-the-record",
        "the-verifiable-record",
        "the-two-tenses",
        "measuring-the-estate",
        "the-gatewayz-loop"
      ]
    },
    {
      "contract": "track/1",
      "slug": "the-record-formats",
      "title": "The Estate’s Record Formats",
      "blurb": "The formats an organization keeps its record in, and the guarantee each one carries: the transparency log that proves the whole set only grew, positions recorded as transitions rather than a mutable value, and mail as a content-free record that is safe to publish.",
      "courses": [
        "the-transparency-log",
        "holding-a-position",
        "the-record-of-sending"
      ]
    },
    {
      "contract": "track/1",
      "slug": "the-on-ramp-toolkit",
      "title": "The On-Ramp Toolkit",
      "blurb": "The tooling that gets an organization and its agents onto the mesh in practice: the checklist that says what a repository has adopted and what is left, the scaffolder that writes a working starter agent, and the MCP surface that lets a model-native agent reach the mesh with no bespoke integration.",
      "courses": [
        "the-mesh-checklist",
        "scaffolding-an-agent",
        "the-mcp-surface"
      ]
    },
    {
      "contract": "track/1",
      "slug": "formats-a-stranger-checks",
      "title": "Formats a Stranger Checks",
      "blurb": "Three more records an organization serves at its own domain for anyone to verify offline: a vocabulary where one authority owns each term, a real-world asset described as a denomination rather than a market, and a verification leaf that proves a check happened without recording who.",
      "courses": [
        "defining-terms",
        "describing-an-asset",
        "non-identifying-verification"
      ]
    },
    {
      "contract": "track/1",
      "slug": "intent-consent-and-standing",
      "title": "Intent, Consent and Standing",
      "blurb": "How an organization acts on the mesh with the right authority: opening a collaboration by filing an intent, approving value leaving a holder’s account with un-forgeable consent, and proving which rung of membership it actually holds.",
      "courses": [
        "filing-an-intent",
        "consent-on-the-rail",
        "the-conformance-ladder"
      ]
    }
  ]
}