{
  "schemaVersion": 1,
  "contract": "kfd-agent-surface",
  "generatedAt": "2026-07-28T04:54:03.000Z",
  "publishedAt": "2026-07-28T04:54:03.000Z",
  "reproducible": true,
  "timestampPolicy": "ci-injected",
  "deterministicInputs": [
    "scripts/render-site.mjs",
    "scripts/publication-packages.cjs",
    "src/fixtures/*.json",
    "src/publication-packages.json",
    "pnpm-lock.yaml",
    "@kungfu-tech/buildchain package content",
    "@kungfu-tech/kfd package content",
    "@kungfu-tech/site package content",
    "declared @kungfu-tech/paper-* package content",
    "sourceRevision",
    "sourceDateEpoch",
    "package content",
    "declared Buildchain surface manifest contract"
  ],
  "sourceDateEpoch": "0",
  "sourceRevision": "00204e71945799c75df7f98f9cd10882c92d40cd",
  "timestampPolicyDetails": {
    "contract": "kungfu-buildchain-surface-timestamp-policy",
    "timestampFields": [
      "generatedAt",
      "publishedAt"
    ],
    "timestampFieldsParticipateInArtifactDigest": true,
    "artifactDigestScope": "site dist manifest JSON files",
    "note": "Human-readable timestamps are separate from reproducibility inputs; do not infer reproducibility from epoch timestamps."
  },
  "canonicalHost": "kfd.libkungfu.dev",
  "humanEntry": "https://kfd.libkungfu.dev/",
  "humanEntries": {
    "overview": "https://kfd.libkungfu.dev/",
    "decisions": "https://kfd.libkungfu.dev/decisions/",
    "agentHub": "https://kfd.libkungfu.dev/agent-hub/"
  },
  "agentEntries": {
    "llms": "https://kfd.libkungfu.dev/llms.txt",
    "manifest": "https://kfd.libkungfu.dev/manifest.json",
    "agentHub": "https://kfd.libkungfu.dev/agent-hub/",
    "registry": "https://kfd.libkungfu.dev/registry.json",
    "candidateRegistry": "https://kfd.libkungfu.dev/drafts/registry.json",
    "caseRegistry": "https://kfd.libkungfu.dev/cases/registry.json",
    "standards": "https://kfd.libkungfu.dev/standards.json",
    "terminology": "https://kfd.libkungfu.dev/terminology.json",
    "terminologySchema": "https://kfd.libkungfu.dev/schemas/kfd-terminology.schema.json"
  },
  "readerContract": {
    "contract": "libkungfu-dev-reader-contract/v1",
    "owner": "site-libkungfu-dev",
    "path": {
      "id": "kfd",
      "audience": "Protocol builders",
      "question": "How can independent systems cooperate without sharing a control plane?",
      "promise": "Start with KFD's continuity question and adoption boundary, then descend into the numbered authority, schemas, and exact decision text.",
      "claimClass": "site-synthesis",
      "sourceRefs": [
        "kfd-3",
        "kfd-7",
        "kfd-agent-hub-profile"
      ],
      "authorityLabel": "Explore KFD decisions",
      "authorityHref": "/decisions/",
      "evidenceLabel": "Inspect the manifest",
      "evidenceHref": "/manifest.json"
    },
    "layers": [
      {
        "id": "first-screen",
        "label": "First-screen proposition",
        "owner": "site-libkungfu-dev",
        "purpose": "Answer why this surface matters to its intended reader before status, registry, or implementation detail."
      },
      {
        "id": "guided-synthesis",
        "label": "Guided synthesis",
        "owner": "site-libkungfu-dev",
        "purpose": "Connect facts across Kungfu, KFD, and Buildchain without turning the synthesis into a new normative source."
      },
      {
        "id": "upstream-authority",
        "label": "Upstream authority",
        "owner": "kungfu-systems/kungfu, @kungfu-tech/kfd, and @kungfu-tech/buildchain",
        "purpose": "Supply runtime semantics, protocol decisions, schemas, commands, workflows, and release facts."
      },
      {
        "id": "machine-evidence",
        "label": "Machine evidence",
        "owner": "upstream authorities projected by site-libkungfu-dev",
        "purpose": "Expose exact sources, versions, digests, qualification, claim boundaries, and stable routes for independent inspection."
      }
    ],
    "sourceBoundary": {
      "truthOwner": "upstream-evidence-and-manifests",
      "siteRole": "reader contract, guided synthesis, visual composition, routing, and rendering",
      "rule": "The site owns first-screen framing, cross-surface synthesis, reading order, progressive disclosure, navigation, and visual composition. Every technical or release claim must bind to immutable upstream evidence or a pinned package; core specs, KFD semantics, CLI parameters, workflow inputs, release state machines, schemas, and provenance remain upstream-owned."
    }
  },
  "sourceBoundary": {
    "truthOwner": "@kungfu-tech/kfd",
    "siteRole": "reader contract, guided synthesis, visual composition, routing, and rendering",
    "rule": "KFD facts, registry entries, standards metadata, and decision text come from the pinned @kungfu-tech/kfd package. This site owns their reader framing and may expose and render them, but must not fork their meaning."
  },
  "package": {
    "name": "@kungfu-tech/kfd",
    "version": "1.0.0-alpha.50",
    "integrity": "sha512-6xeYfqSuEEzoyls3R7S+a8Bo+L43VXlgLefGRUMTM7CcWFxIRMepyZkrRRKCVXdpbQfMfKHBiflZgFvHJYizlA==",
    "registryContract": "kfd-registry",
    "standardsContract": "kfd-standards-metadata"
  },
  "readOrder": [
    "https://kfd.libkungfu.dev/",
    "https://kfd.libkungfu.dev/agent-hub/",
    "https://kfd.libkungfu.dev/decisions/",
    "https://kfd.libkungfu.dev/foundation/",
    "https://kfd.libkungfu.dev/under-load/",
    "https://kfd.libkungfu.dev/formal/",
    "https://kfd.libkungfu.dev/terminology/",
    "https://kfd.libkungfu.dev/terminology.json",
    "https://kfd.libkungfu.dev/schemas/kfd-terminology.schema.json",
    "https://kfd.libkungfu.dev/cases/",
    "https://kfd.libkungfu.dev/drafts/",
    "https://kfd.libkungfu.dev/drafts/action-state-separation/",
    "https://kfd.libkungfu.dev/drafts/atlas-action-perspective/",
    "https://kfd.libkungfu.dev/drafts/pursuit-intent-continuity/",
    "https://kfd.libkungfu.dev/drafts/warrant-bounded-authority/",
    "https://kfd.libkungfu.dev/drafts/claim-assessment-decision-admission/",
    "https://kfd.libkungfu.dev/drafts/federated-work-continuity/",
    "https://kfd.libkungfu.dev/drafts/atlas-action-perspective/formal/",
    "https://kfd.libkungfu.dev/drafts/pursuit-intent-continuity/formal/",
    "https://kfd.libkungfu.dev/drafts/warrant-bounded-authority/formal/",
    "https://kfd.libkungfu.dev/drafts/federated-work-continuity/formal/",
    "https://kfd.libkungfu.dev/1/",
    "https://kfd.libkungfu.dev/2/",
    "https://kfd.libkungfu.dev/3/",
    "https://kfd.libkungfu.dev/4/",
    "https://kfd.libkungfu.dev/5/",
    "https://kfd.libkungfu.dev/6/",
    "https://kfd.libkungfu.dev/7/",
    "https://kfd.libkungfu.dev/8/",
    "https://kfd.libkungfu.dev/9/",
    "https://kfd.libkungfu.dev/10/",
    "https://kfd.libkungfu.dev/11/",
    "https://kfd.libkungfu.dev/12/",
    "https://kfd.libkungfu.dev/13/",
    "https://kfd.libkungfu.dev/1/usage/",
    "https://kfd.libkungfu.dev/2/usage/",
    "https://kfd.libkungfu.dev/3/usage/",
    "https://kfd.libkungfu.dev/4/usage/",
    "https://kfd.libkungfu.dev/5/usage/",
    "https://kfd.libkungfu.dev/6/usage/",
    "https://kfd.libkungfu.dev/7/usage/",
    "https://kfd.libkungfu.dev/8/usage/",
    "https://kfd.libkungfu.dev/9/usage/",
    "https://kfd.libkungfu.dev/10/usage/",
    "https://kfd.libkungfu.dev/11/usage/",
    "https://kfd.libkungfu.dev/12/usage/",
    "https://kfd.libkungfu.dev/13/usage/",
    "https://kfd.libkungfu.dev/1/formal/",
    "https://kfd.libkungfu.dev/2/formal/",
    "https://kfd.libkungfu.dev/3/formal/",
    "https://kfd.libkungfu.dev/4/formal/",
    "https://kfd.libkungfu.dev/5/formal/",
    "https://kfd.libkungfu.dev/6/formal/",
    "https://kfd.libkungfu.dev/7/formal/",
    "https://kfd.libkungfu.dev/8/formal/",
    "https://kfd.libkungfu.dev/9/formal/",
    "https://kfd.libkungfu.dev/10/formal/",
    "https://kfd.libkungfu.dev/11/formal/",
    "https://kfd.libkungfu.dev/12/formal/",
    "https://kfd.libkungfu.dev/13/formal/",
    "https://kfd.libkungfu.dev/registry.json",
    "https://kfd.libkungfu.dev/drafts/registry.json",
    "https://kfd.libkungfu.dev/cases/registry.json",
    "https://kfd.libkungfu.dev/standards.json"
  ],
  "agentHub": {
    "id": "agent-hub",
    "title": "KFD Agent Hub Conformance Profile",
    "url": "https://kfd.libkungfu.dev/agent-hub/",
    "relationship": "experimental-adopter-conformance-profile",
    "normative": false,
    "status": "experimental",
    "authorityPath": "profiles/agent-hub/README.md",
    "guidePath": "profiles/agent-hub/implementer-guide.md",
    "capabilitiesPath": "profiles/agent-hub/cli-capabilities.json",
    "manifestPath": "profiles/agent-hub/manifest.json",
    "lead": "This experimental adopter profile packages a fixed dual-Hub black-box suite, JSONL adapter contract, execution report, and offline report verifier. It lets an npm consumer run and verify the profile without a KFD repository checkout.",
    "profile": "kfd-agent-hub-conformance@0.1.0-alpha.1",
    "protocol": "kfd-agent-hub",
    "binding": "jsonl-stdio/v1",
    "suite": {
      "id": "kfd-agent-hub-20",
      "version": "0.1.0-alpha.1",
      "fixedVectorCount": 20
    },
    "commands": {
      "demo": "kfd demo agent-hub --output <report.json> [--reference-adapter state-machine|rule-table] [--json]",
      "scaffold": "kfd scaffold agent-hub --language <cpp|node|python|rust> --output <new-directory> [--json]",
      "test": "kfd test agent-hub --adapter <path> --output <report.json>",
      "verify": "kfd verify agent-hub-report <report.json> [--adapter <path>] [--json]",
      "kungfuProduct": "kungfu agent hub qualify --output-dir <new-directory> [--json]"
    },
    "scaffoldLanguages": [
      "cpp",
      "node",
      "python",
      "rust"
    ],
    "exitCodes": {
      "0": "suite passed, report verified, or scaffold completed",
      "1": "execution completed but a conformance or verification check failed",
      "2": "invalid invocation, unsafe path, malformed JSON, process failure, or envelope failure"
    },
    "reportVerification": {
      "backend": "host-node",
      "processSpawning": "host-only",
      "sharedRustWasmChecks": [],
      "parityBoundary": "No Agent Hub report check is duplicated in the Rust/WASM verifier. The single host verifier binds installed package bytes and optional adapter bytes; native/WASM verification-bundle profiles remain separate semantic authorities. Moving this profile requires a versioned bundle kind and byte-for-byte native/WASM parity before the host verifier can be retired."
    },
    "claimBoundary": "Demo success and generated starter smoke success are non-qualifying, non-certifying evidence. Only kfd test agent-hub executes Hub 20 against the named adapter artifact. Kungfu may project that report into an exact installed-product qualification, but it does not turn the result into KFD certification, a security assessment, production fitness, remote-network interoperability, or external adoption.",
    "firstPartyProductProjection": {
      "product": "Kungfu",
      "run": "kungfu agent hub qualify --output-dir <new-directory>",
      "verify": "kungfu agent hub verify --qualification-dir <directory>",
      "ownership": "KFD owns the fixed suite and offline report verifier; Kungfu owns its product semantics, isolated execution, installed-artifact binding, and human or agent explanation."
    },
    "recovery": "Delete only the newly generated scaffold directory or report you created; kfd never overwrites an existing scaffold path.",
    "sections": [
      {
        "id": "five-minute-packaged-quickstart",
        "title": "Five-minute packaged quickstart",
        "sourcePath": "profiles/agent-hub/README.md",
        "sourceHeading": "Five-minute packaged quickstart",
        "defaultPresentation": "command-quickstart",
        "markdown": "Pin the prerelease channel explicitly because npm `latest` remains the bootstrap package. One command runs the packaged state-machine reference adapter against Hub 20, writes a rooted report, re-hashes the adapter, and verifies the report offline:\n\n```sh\nnpx --yes --package @kungfu-tech/kfd@alpha kfd demo agent-hub \\\n  --output ./agent-hub-demo-report.json\n```\n\nInspect the machine-readable command, language, exit-code, verifier-backend, claim, and recovery boundaries without a repository checkout:\n\n```sh\nnpx --yes --package @kungfu-tech/kfd@alpha kfd capabilities agent-hub --json\n```\n\nThe demo is an executable reference path, not adopter evidence. Its packaged adapter is non-product code and its passing report remains non-qualifying and non-certifying."
      },
      {
        "id": "verify-the-first-party-kungfu-product",
        "title": "Verify the first-party Kungfu product",
        "sourcePath": "profiles/agent-hub/README.md",
        "sourceHeading": "Verify the first-party Kungfu product",
        "defaultPresentation": "product-qualification",
        "markdown": "Kungfu ships this exact KFD package and exposes the fixed suite through its\ninstalled executable. A human or agent can run the product-owned semantics\nwithout a KFD repository checkout or a separate Node installation:\n\n```sh\nkungfu agent hub qualify --output-dir ./kungfu-agent-hub-check\nkungfu agent hub verify --qualification-dir ./kungfu-agent-hub-check\n```\n\nThe default projection says what passed, which responsibilities were exercised,\nwhat the result means, what it does not mean, whether the real `~/.kungfu`\nstate stayed unchanged, and where the rooted JSON evidence was written. Add\n`--json` for the stable machine projection.\n\nKFD remains the authority for the fixed Hub 20 suite and offline report\nverifier. Kungfu remains the authority for its product semantics, two isolated\nlocal Hub domains, installed-artifact binding, and explanatory projection. A\npass is exact-scope first-party product evidence; it is not KFD certification,\na security assessment, production fitness, remote-network interoperability, or\nexternal adoption."
      },
      {
        "id": "scaffold-an-adopter-adapter",
        "title": "Scaffold an adopter adapter",
        "sourcePath": "profiles/agent-hub/README.md",
        "sourceHeading": "Scaffold an adopter adapter",
        "defaultPresentation": "language-scaffolds",
        "markdown": "Generate exactly one new starter directory:\n\n```sh\nnpx --yes --package @kungfu-tech/kfd@alpha kfd scaffold agent-hub \\\n  --language python \\\n  --output ./my-agent-hub-adapter\n```\n\nLanguages are `cpp`, `node`, `python`, and `rust`. KFD refuses an existing output path and never overwrites adopter files. Each starter has deterministic fixtures and a local envelope smoke; the smoke explicitly does not execute Hub 20. Implement product-owned semantics, build when required, and then run the fixed suite."
      },
      {
        "id": "run-the-fixed-suite-against-an-adopter",
        "title": "Run the fixed suite against an adopter",
        "sourcePath": "profiles/agent-hub/README.md",
        "sourceHeading": "Run the fixed suite against an adopter",
        "defaultPresentation": "command-workflow",
        "markdown": "An adapter is an executable or JavaScript entry point that reads one JSON request per line from stdin and writes exactly one JSON response per line to stdout. It must answer one handshake plus the fixed 20 evaluation requests.\n\n```sh\nnpx --yes --package @kungfu-tech/kfd@alpha kfd test agent-hub \\\n  --adapter ./my-agent-hub-adapter.mjs \\\n  --output ./agent-hub-report.json\n\nnpx --yes --package @kungfu-tech/kfd@alpha kfd verify agent-hub-report \\\n  ./agent-hub-report.json \\\n  --adapter ./my-agent-hub-adapter.mjs \\\n  --json\n```\n\nOmitting `--adapter` during verification still verifies the installed package cut, profile, protocol, suite, failure inventory, verifier, capability documents, responses, result closure, transcript root, and claim boundary. Supplying it additionally re-hashes the adapter bytes."
      },
      {
        "id": "fixed-boundaries",
        "title": "Fixed boundaries",
        "sourcePath": "profiles/agent-hub/README.md",
        "sourceHeading": "Fixed boundaries",
        "defaultPresentation": "contract-boundary",
        "markdown": "- Profile: `kfd-agent-hub-conformance@0.1.0-alpha.1`\n- Protocol: `kfd-agent-hub@0.1.0-alpha.1`\n- Suite: `kfd-agent-hub-20@0.1.0-alpha.1`, exactly 20 vectors\n- Report: `kfd.agent-hub-report/v1`\n- Offline verifier result: `kfd.agent-hub-report-verifier/v1`\n- Exit `0`: pass or valid report; exit `1`: completed but failed; exit `2`: invalid invocation, JSON, adapter process, or envelope\n\nThe suite distinguishes transport delivery from semantic admission, preserves visible conflict, rejects authority amplification and root drift, and retains unavailable and intentionally withheld knowledge as different states."
      },
      {
        "id": "claim-boundary",
        "title": "Claim boundary",
        "sourcePath": "profiles/agent-hub/README.md",
        "sourceHeading": "Claim boundary",
        "defaultPresentation": "claim-boundary",
        "markdown": "A passing report is exact-scope evidence for the named adapter artifact, two declared Hub capability documents, fixed suite, installed KFD package cut, platform, and retained residual risks. It is not KFD certification, a security assessment, production fitness, independent vendor adoption, or evidence that provisional semantics became normative.\n\n`KFD Runtime 100` remains a separate single-runtime evidence profile. Its 35 Core vectors cover a KFD-7 responsibility-separation subset; its 65 Experimental vectors are provisional and non-qualifying. Agent Hub 20 tests cross-Hub exchange behavior and does not replace Runtime 100.\n\nSee [implementer-guide.md](./implementer-guide.md) for the adapter and report workflow."
      },
      {
        "id": "executable-onboarding-surfaces",
        "title": "Executable onboarding surfaces",
        "sourcePath": "profiles/agent-hub/implementer-guide.md",
        "sourceHeading": "Executable onboarding surfaces",
        "defaultPresentation": "capability-list",
        "markdown": "- `kungfu agent hub qualify --output-dir <new-directory>` runs the fixed suite\n  against the product-owned Kungfu Hub implementation and explains the exact\n  result to a human; `--json` exposes the same bounded result to an agent.\n- `kungfu agent hub verify --qualification-dir <directory>` independently\n  rechecks the retained KFD report, adapter bytes, product binding, and\n  qualification closure without rerunning the suite.\n- `kfd demo agent-hub --output <report.json>` runs one packaged reference adapter, executes Hub 20, and immediately performs bound offline verification.\n- `kfd scaffold agent-hub --language <cpp|node|python|rust> --output <new-directory>` copies a deterministic, fail-closed starter without overwriting an existing path.\n- `kfd capabilities agent-hub --json` exposes commands, contracts, exit codes, supported scaffold languages, verification backend, claim boundary, and recovery as packaged JSON.\n- `kfd test agent-hub --adapter ...` remains the adopter evidence path. Demo and scaffold smoke results do not substitute for it.\n\nThe C++ and Rust starters deliberately use fixture-scoped, dependency-free JSON field readers so clean-pack CI can compile them offline. Adopters must replace those readers with their production JSON boundary. Node.js and Python starters use their standard JSON libraries. All four starters return `scenario-not-implemented` until product-owned semantics are supplied."
      },
      {
        "id": "adapter-binding",
        "title": "Adapter binding",
        "sourcePath": "profiles/agent-hub/implementer-guide.md",
        "sourceHeading": "Adapter binding",
        "defaultPresentation": "protocol-contract",
        "markdown": "The binding is `jsonl-stdio/v1`. The runner starts one process with `KFD_AGENT_HUB_OFFLINE=1`, preserves the caller's working directory, sends 21 lines, closes stdin, and requires 21 JSON response lines with no stderr output. Package resources are resolved from the installed KFD package; adopter configuration may remain relative to the consumer project.\n\nThe first request has operation `handshake`. A successful response uses code `adapter-ready`, verdict `not-applicable`, and includes at least two Hubs. Every Hub entry contains a capability document and its canonical SHA-256 semantic root. Hub IDs must be unique.\n\nThe remaining requests use operation `evaluate`. An adapter must return the exact request ID plus `status`, `code`, `verdict`, and observations. Machine interpretation always uses the three-field outcome, not the code alone. In particular:\n\n- `conflicted / conflict-visible / conflicted` means the adapter correctly retained a visible conflict.\n- `rejected / conflict-visible / rejected` means the adapter correctly rejected a policy that would hide a visible conflict.\n\nBoth are negative-polarity vectors because neither claims semantic admission."
      },
      {
        "id": "reports-and-roots",
        "title": "Reports and roots",
        "sourcePath": "profiles/agent-hub/implementer-guide.md",
        "sourceHeading": "Reports and roots",
        "defaultPresentation": "evidence-roots",
        "markdown": "The runner binds:\n\n- the installed npm package manifest and release anchor;\n- the conformance and protocol manifests;\n- the fixed vector registry and failure inventory;\n- the verifier and adapter bytes;\n- two or more Hub capability documents;\n- every adapter response, the complete result inventory, and the reconstructed transcript.\n\nRoots use SHA-256. File roots hash the exact packaged bytes. Semantic roots hash canonical JSON followed by one newline; object keys are sorted recursively, array order is retained, and numbers are non-negative safe integers."
      },
      {
        "id": "fail-closed-verification",
        "title": "Fail-closed verification",
        "sourcePath": "profiles/agent-hub/implementer-guide.md",
        "sourceHeading": "Fail-closed verification",
        "defaultPresentation": "verification-boundary",
        "markdown": "The offline verifier independently recomputes public package roots and fixed-suite outcomes. Unknown, missing, duplicate, or mutated results fail. Claim widening (`qualifying: true` or `certification: true`) fails. A report may be valid only when all 20 fixed outcomes pass and the entire root closure agrees.\n\nUse `--adapter` during verification when the original adapter bytes are available. This turns the declared adapter digest into a recomputed check.\n\nAgent Hub report verification remains in the single packaged host-side JavaScript verifier. No Agent Hub report checks are duplicated in the Rust/WASM verifier, so there is no partial parity set that could drift. This boundary is machine-readable in `cli-capabilities.json` and checked by the profile test. Process spawning is also host-only. Moving report semantics into the shared core requires a new versioned verification-bundle kind and byte-for-byte native/WASM parity before this host authority can be retired."
      },
      {
        "id": "starter-claim-and-recovery",
        "title": "Starter claim and recovery",
        "sourcePath": "profiles/agent-hub/implementer-guide.md",
        "sourceHeading": "Starter claim and recovery",
        "defaultPresentation": "recovery-boundary",
        "markdown": "Every generated `kfd-scaffold.json` lists what its smoke executes and what remains untested. A starter must not be described as a conforming Hub until its compiled or interpreted adapter itself passes the retained Hub 20 runner. To recover from generation, remove only the newly generated directory; generation never mutates an existing destination. Reports are created with exclusive-write semantics and are safe to regenerate only at a new path or after the adopter intentionally removes its own prior report."
      },
      {
        "id": "reference-adapters",
        "title": "Reference adapters",
        "sourcePath": "profiles/agent-hub/implementer-guide.md",
        "sourceHeading": "Reference adapters",
        "defaultPresentation": "reference-list",
        "markdown": "The package includes two intentionally different examples:\n\n- `profiles/agent-hub/adapters/state-machine-adapter.mjs`\n- `profiles/agent-hub/adapters/rule-table-adapter.mjs`\n\nThey demonstrate the wire contract, not a production Hub implementation."
      }
    ],
    "rendererContract": {
      "primary": [
        "five-minute-packaged-quickstart",
        "scaffold-an-adopter-adapter",
        "run-the-fixed-suite-against-an-adopter"
      ],
      "detail": [
        "executable-onboarding-surfaces",
        "adapter-binding",
        "reports-and-roots",
        "fail-closed-verification",
        "starter-claim-and-recovery",
        "reference-adapters"
      ],
      "boundary": [
        "fixed-boundaries",
        "claim-boundary"
      ],
      "note": "Render commands and machine-readable boundaries from this page object. Do not infer certification, production fitness, or language-runtime parity from scaffold availability."
    },
    "path": "/agent-hub/",
    "source": "@kungfu-tech/kfd@1.0.0-alpha.50/profiles/agent-hub/README.md"
  },
  "foundation": {
    "path": "/foundation/",
    "url": "https://kfd.libkungfu.dev/foundation/",
    "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/foundation.md",
    "relationship": "explanation-of-numbered-decisions",
    "normative": false
  },
  "standalonePages": [
    {
      "id": "load-bearing-dogfood",
      "title": "KFD Under Load",
      "path": "/under-load/",
      "url": "https://kfd.libkungfu.dev/under-load/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/load-bearing-dogfood.md",
      "relationship": "pre-release-founding-adopter-evidence-baseline",
      "normative": false,
      "rendering": {
        "kind": "markdown-document",
        "tocDepth": 3,
        "navigationLabel": "Under load",
        "navigationGroup": "foundation",
        "navigationOrder": 30
      }
    }
  ],
  "formalModel": {
    "path": "/formal/",
    "url": "https://kfd.libkungfu.dev/formal/",
    "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/formal-model.md",
    "relationship": "non-normative-reference-semantics-for-numbered-decisions",
    "normative": false,
    "formalModelVersion": 1
  },
  "terminology": {
    "path": "/terminology/",
    "url": "https://kfd.libkungfu.dev/terminology/",
    "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/terminology.md",
    "contract": "https://kfd.libkungfu.dev/terminology.json",
    "schema": "https://kfd.libkungfu.dev/schemas/kfd-terminology.schema.json",
    "relationship": "canonical-vocabulary-for-all-kfd-surfaces",
    "normative": false
  },
  "cases": {
    "path": "/cases/",
    "url": "https://kfd.libkungfu.dev/cases/",
    "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/primitive-discovery-cases.md",
    "registry": "https://kfd.libkungfu.dev/cases/registry.json",
    "registryContract": "kfd-live-case-registry",
    "relationship": "historical-companion-to-kfd-foundation",
    "normative": false
  },
  "candidates": {
    "path": "/drafts/",
    "url": "https://kfd.libkungfu.dev/drafts/",
    "registry": "https://kfd.libkungfu.dev/drafts/registry.json",
    "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/registry.json",
    "relationship": "pre-number-non-normative-candidates",
    "normative": false,
    "entries": [
      {
        "id": "action-state-separation",
        "title": "Cross-domain action primitives",
        "status": "promoted",
        "slotHint": 7,
        "path": "/drafts/action-state-separation/",
        "url": "https://kfd.libkungfu.dev/drafts/action-state-separation/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/action-state-separation.md",
        "relationship": "candidate-before-promotion",
        "normative": false,
        "claimBoundary": "This candidate is preserved as the source lineage promoted into active KFD-7. KFD-7 does not turn Fact or Episode into ordinary domain-Primitives, require named physical stores, claim literal physical spacetime or Euclidean dimensionality, or establish universal necessity. Its Atlas, Pursuit, and Warrant elaborations were later promoted into numbered drafts KFD-8, KFD-9, and KFD-10."
      },
      {
        "formal": {
          "id": "atlas-action-perspective-formal",
          "path": "/drafts/atlas-action-perspective/formal/",
          "url": "https://kfd.libkungfu.dev/drafts/atlas-action-perspective/formal/",
          "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/formal/atlas-action-perspective.md",
          "relationship": "formal-candidate-child-of-candidate",
          "normative": false,
          "formalCandidateVersion": 1,
          "formalCandidateStatus": "experimental",
          "authorityPath": "drafts/atlas-action-perspective.md"
        },
        "id": "atlas-action-perspective",
        "title": "Atlas action perspective",
        "status": "promoted",
        "slotHint": 8,
        "path": "/drafts/atlas-action-perspective/",
        "url": "https://kfd.libkungfu.dev/drafts/atlas-action-perspective/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/atlas-action-perspective.md",
        "relationship": "candidate-before-promotion",
        "normative": false,
        "claimBoundary": "This candidate is preserved as source lineage promoted into numbered draft KFD-8. KFD-8 allocates Atlas as the canonical perspective coordinate but does not mandate one serialization or product surface, claim perspective completeness, establish active status, or prove universal necessity."
      },
      {
        "formal": {
          "id": "pursuit-intent-continuity-formal",
          "path": "/drafts/pursuit-intent-continuity/formal/",
          "url": "https://kfd.libkungfu.dev/drafts/pursuit-intent-continuity/formal/",
          "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/formal/pursuit-intent-continuity.md",
          "relationship": "formal-candidate-child-of-candidate",
          "normative": false,
          "formalCandidateVersion": 1,
          "formalCandidateStatus": "experimental",
          "authorityPath": "drafts/pursuit-intent-continuity.md"
        },
        "id": "pursuit-intent-continuity",
        "title": "Pursuit intent continuity",
        "status": "promoted",
        "slotHint": 9,
        "path": "/drafts/pursuit-intent-continuity/",
        "url": "https://kfd.libkungfu.dev/drafts/pursuit-intent-continuity/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/pursuit-intent-continuity.md",
        "relationship": "candidate-before-promotion",
        "normative": false,
        "claimBoundary": "This candidate is preserved as source lineage promoted into numbered draft KFD-9. KFD-9 allocates Pursuit as the canonical direction coordinate but does not mandate one decomposition shape or workflow, establish active status, or prove universal necessity."
      },
      {
        "formal": {
          "id": "warrant-bounded-authority-formal",
          "path": "/drafts/warrant-bounded-authority/formal/",
          "url": "https://kfd.libkungfu.dev/drafts/warrant-bounded-authority/formal/",
          "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/formal/warrant-bounded-authority.md",
          "relationship": "formal-candidate-child-of-candidate",
          "normative": false,
          "formalCandidateVersion": 1,
          "formalCandidateStatus": "experimental",
          "authorityPath": "drafts/warrant-bounded-authority.md"
        },
        "id": "warrant-bounded-authority",
        "title": "Warrant bounded authority",
        "status": "promoted",
        "slotHint": 10,
        "path": "/drafts/warrant-bounded-authority/",
        "url": "https://kfd.libkungfu.dev/drafts/warrant-bounded-authority/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/warrant-bounded-authority.md",
        "relationship": "candidate-before-promotion",
        "normative": false,
        "claimBoundary": "This candidate is preserved as source lineage promoted into numbered draft KFD-10. KFD-10 allocates Warrant as the canonical authority coordinate but does not replace domain authorization systems, mandate one token or approval shape, establish active status, or prove universal necessity."
      },
      {
        "id": "claim-assessment-decision-admission",
        "title": "Claim, Assessment, Decision, and Admission",
        "status": "promoted",
        "slotHint": 11,
        "path": "/drafts/claim-assessment-decision-admission/",
        "url": "https://kfd.libkungfu.dev/drafts/claim-assessment-decision-admission/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/claim-assessment-decision-admission.md",
        "relationship": "candidate-before-promotion",
        "normative": false,
        "claimBoundary": "This candidate is preserved as source lineage allocated to numbered draft KFD-11 by the 2026-07-21 pre-stable Foundation Revision. It does not replace KFD-2 Claim or Assessment semantics, activate KFD-11, require four physical records, or prove universal cross-domain minimality."
      },
      {
        "formal": {
          "id": "federated-work-continuity-formal",
          "path": "/drafts/federated-work-continuity/formal/",
          "url": "https://kfd.libkungfu.dev/drafts/federated-work-continuity/formal/",
          "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/formal/federated-work-continuity.md",
          "relationship": "formal-candidate-child-of-candidate",
          "normative": false,
          "formalCandidateVersion": 1,
          "formalCandidateStatus": "experimental",
          "authorityPath": "drafts/federated-work-continuity.md"
        },
        "id": "federated-work-continuity",
        "title": "Federated Work Continuity",
        "status": "incubating",
        "path": "/drafts/federated-work-continuity/",
        "url": "https://kfd.libkungfu.dev/drafts/federated-work-continuity/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/drafts/federated-work-continuity.md",
        "relationship": "candidate-before-promotion",
        "normative": false,
        "claimBoundary": "This incubating candidate preserves a perspective-generated Work hypothesis before federation dogfood. It does not establish an independent Work entity, allocate a KFD number, supersede Initiative, prefer entity over derived-view semantics, prove cross-domain transfer, or qualify a product implementation."
      }
    ]
  },
  "decisions": [
    {
      "usage": {
        "path": "/1/usage/",
        "url": "https://kfd.libkungfu.dev/1/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-1-usage.md"
      },
      "formal": {
        "path": "/1/formal/",
        "url": "https://kfd.libkungfu.dev/1/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-1-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 3,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-1.md",
        "sha256": "5ec81c119cd43317949c5128ddadacc46fc8121ec3b19568e82b050598750a12"
      },
      "id": "KFD-1",
      "number": 1,
      "kind": "procedure",
      "status": "active",
      "title": "Facts must not drift",
      "path": "/1/",
      "url": "https://kfd.libkungfu.dev/1/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-1.md"
    },
    {
      "usage": {
        "path": "/2/usage/",
        "url": "https://kfd.libkungfu.dev/2/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-2-usage.md"
      },
      "formal": {
        "path": "/2/formal/",
        "url": "https://kfd.libkungfu.dev/2/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-2-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-2.md",
        "sha256": "903834cb8465d90c4de18f05e564e5c0c9a0704a1308abddb093801c420eab6d"
      },
      "id": "KFD-2",
      "number": 2,
      "kind": "principle",
      "status": "active",
      "title": "Trust must start from facts",
      "path": "/2/",
      "url": "https://kfd.libkungfu.dev/2/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-2.md"
    },
    {
      "usage": {
        "path": "/3/usage/",
        "url": "https://kfd.libkungfu.dev/3/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-3-usage.md"
      },
      "formal": {
        "path": "/3/formal/",
        "url": "https://kfd.libkungfu.dev/3/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-3-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-3.md",
        "sha256": "239d24abf81e2d671e992a49534d721130bbc041cd22d5a4280b61d3d8672586"
      },
      "id": "KFD-3",
      "number": 3,
      "kind": "principle",
      "status": "active",
      "title": "Cooperation must start from trusted value",
      "path": "/3/",
      "url": "https://kfd.libkungfu.dev/3/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-3.md"
    },
    {
      "usage": {
        "path": "/4/usage/",
        "url": "https://kfd.libkungfu.dev/4/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-4-usage.md"
      },
      "formal": {
        "path": "/4/formal/",
        "url": "https://kfd.libkungfu.dev/4/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-4-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 2,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-4.md",
        "sha256": "31a71f977cc163430b9a29754c7153b861cf23c8935eb9d52dd9f26be010b11b"
      },
      "id": "KFD-4",
      "number": 4,
      "kind": "principle",
      "status": "active",
      "title": "Views must remain bound to declared perspectives",
      "path": "/4/",
      "url": "https://kfd.libkungfu.dev/4/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-4.md"
    },
    {
      "usage": {
        "path": "/5/usage/",
        "url": "https://kfd.libkungfu.dev/5/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-5-usage.md"
      },
      "formal": {
        "path": "/5/formal/",
        "url": "https://kfd.libkungfu.dev/5/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-5-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-5.md",
        "sha256": "d6f1033b3bf5f7afe91fc800bbbc265e486e9e28f0b8e3d8013522beee6ecc3f"
      },
      "id": "KFD-5",
      "number": 5,
      "kind": "procedure",
      "status": "active",
      "title": "Primitive discovery must separate genesis from qualification",
      "path": "/5/",
      "url": "https://kfd.libkungfu.dev/5/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-5.md"
    },
    {
      "usage": {
        "path": "/6/usage/",
        "url": "https://kfd.libkungfu.dev/6/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-6-usage.md"
      },
      "formal": {
        "path": "/6/formal/",
        "url": "https://kfd.libkungfu.dev/6/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-6-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-6.md",
        "sha256": "9422364d645d83b19d6da17cfc8d07e6d46ac43ecd7c21a3b5863c692600d546"
      },
      "id": "KFD-6",
      "number": 6,
      "kind": "procedure",
      "status": "draft",
      "title": "Autonomous discovery must remain grounded in causal experience",
      "path": "/6/",
      "url": "https://kfd.libkungfu.dev/6/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-6.md"
    },
    {
      "usage": {
        "path": "/7/usage/",
        "url": "https://kfd.libkungfu.dev/7/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-7-usage.md"
      },
      "formal": {
        "path": "/7/formal/",
        "url": "https://kfd.libkungfu.dev/7/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-7-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 5,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-7.md",
        "sha256": "fe3196177a56640d205337bd1148e0a8764ecbbf91bc23d2c6d8a232c926f7d4"
      },
      "id": "KFD-7",
      "number": 7,
      "kind": "principle",
      "status": "active",
      "title": "Real-world action must keep state, occurrence, and action coordinates distinct",
      "path": "/7/",
      "url": "https://kfd.libkungfu.dev/7/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-7.md"
    },
    {
      "usage": {
        "path": "/8/usage/",
        "url": "https://kfd.libkungfu.dev/8/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-8-usage.md"
      },
      "formal": {
        "path": "/8/formal/",
        "url": "https://kfd.libkungfu.dev/8/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-8-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-8.md",
        "sha256": "1506124d2ab8a274692dcdbf0649acfbe97b807bc333dc512c092baf9ba4ff45"
      },
      "id": "KFD-8",
      "number": 8,
      "kind": "principle",
      "status": "draft",
      "title": "Perspective must remain bound to admitted facts and declared loss",
      "path": "/8/",
      "url": "https://kfd.libkungfu.dev/8/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-8.md"
    },
    {
      "usage": {
        "path": "/9/usage/",
        "url": "https://kfd.libkungfu.dev/9/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-9-usage.md"
      },
      "formal": {
        "path": "/9/formal/",
        "url": "https://kfd.libkungfu.dev/9/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-9-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-9.md",
        "sha256": "1a4405bdd3cacfa02d2021afcb61a42190f965e01ecd3b113360528a46b99105"
      },
      "id": "KFD-9",
      "number": 9,
      "kind": "principle",
      "status": "draft",
      "title": "Continuing direction must outlive the actions that advance it",
      "path": "/9/",
      "url": "https://kfd.libkungfu.dev/9/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-9.md"
    },
    {
      "usage": {
        "path": "/10/usage/",
        "url": "https://kfd.libkungfu.dev/10/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-10-usage.md"
      },
      "formal": {
        "path": "/10/formal/",
        "url": "https://kfd.libkungfu.dev/10/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-10-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-10.md",
        "sha256": "05f40b86049c146fd5fa9e6e5bb25166d86664ec641ece09a0ce4ede61b57be9"
      },
      "id": "KFD-10",
      "number": 10,
      "kind": "principle",
      "status": "draft",
      "title": "Authority must remain explicit, bounded, and revocable",
      "path": "/10/",
      "url": "https://kfd.libkungfu.dev/10/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-10.md"
    },
    {
      "usage": {
        "path": "/11/usage/",
        "url": "https://kfd.libkungfu.dev/11/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-11-usage.md"
      },
      "formal": {
        "path": "/11/formal/",
        "url": "https://kfd.libkungfu.dev/11/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-11-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-11.md",
        "sha256": "fc8229061801b7b197fd4113cee1539d0f37743778fc311dfd19752fbde81e74"
      },
      "id": "KFD-11",
      "number": 11,
      "kind": "procedure",
      "status": "draft",
      "title": "Consequential settlement must separate claim, assessment, decision, and admission",
      "path": "/11/",
      "url": "https://kfd.libkungfu.dev/11/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-11.md"
    },
    {
      "usage": {
        "path": "/12/usage/",
        "url": "https://kfd.libkungfu.dev/12/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-12-usage.md"
      },
      "formal": {
        "path": "/12/formal/",
        "url": "https://kfd.libkungfu.dev/12/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-12-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 3,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-12.md",
        "sha256": "729255895449cb7efebd42258de68795478316b21979372c721dcf0d044f1e8f"
      },
      "id": "KFD-12",
      "number": 12,
      "kind": "principle",
      "status": "draft",
      "title": "Software work must keep Initiative and Assignment distinct",
      "path": "/12/",
      "url": "https://kfd.libkungfu.dev/12/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-12.md"
    },
    {
      "usage": {
        "path": "/13/usage/",
        "url": "https://kfd.libkungfu.dev/13/usage/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-13-usage.md"
      },
      "formal": {
        "path": "/13/formal/",
        "url": "https://kfd.libkungfu.dev/13/formal/",
        "source": "@kungfu-tech/kfd@1.0.0-alpha.50/docs/KFD-13-formal.md",
        "relationship": "formal-reference-child-of-decision",
        "normative": false,
        "formalModelVersion": 1,
        "formalModelStatus": "experimental",
        "authorityPath": "decisions/KFD-13.md",
        "sha256": "0a40abf1b336480298ce0f0db76260822bfca5521169df5df973089a4b79b7a3"
      },
      "id": "KFD-13",
      "number": 13,
      "kind": "procedure",
      "status": "draft",
      "title": "Project settlement must bind authorities without absorbing them",
      "path": "/13/",
      "url": "https://kfd.libkungfu.dev/13/",
      "source": "@kungfu-tech/kfd@1.0.0-alpha.50/decisions/KFD-13.md"
    }
  ],
  "relatedSurfaces": {
    "buildchain": "https://buildchain.libkungfu.dev/",
    "kungfu": "https://kungfu.tech/",
    "hub": "https://libkungfu.dev/"
  }
}
