{
  "schema": "fak-study-inventory-map/1",
  "repository": "llm-d/llm-d",
  "url": "https://github.com/llm-d/llm-d",
  "indexed_revision": "3243fcf1191348b55c7811267a98117f8b7a6910",
  "observed_at": "2026-08-25T19:00:00-07:00",
  "totals": {
    "files": 1129,
    "directories": 593,
    "bytes": 30601578,
    "runtime_files": 771,
    "test_files": 3,
    "docs_files": 274,
    "text_lines": 101395
  },
  "source_classes": [
    {
      "class": "readme_docs",
      "status": "covered",
      "evidence": [
        ".github/scripts/nightly-e2e-verification/README.md",
        ".github/workflows/README.md",
        "README.md",
        "docs/api-reference/README.md",
        "docs/api-reference/artifacts.md",
        "docs/api-reference/endpointpickerconfig.md",
        "docs/api-reference/epp-grpc-apis.md",
        "docs/api-reference/epp-http-apis.md",
        "docs/api-reference/epp-http-headers.md",
        "docs/api-reference/glossary.md",
        "docs/api-reference/inferencemodelrewrite.md",
        "docs/api-reference/inferenceobjective.md"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "architecture_design",
      "status": "covered",
      "evidence": [
        "docs/architecture/README.md",
        "docs/architecture/advanced/autoscaling/README.md",
        "docs/architecture/advanced/autoscaling/hpa-architecture.svg",
        "docs/architecture/advanced/autoscaling/hpa-epp.md",
        "docs/architecture/advanced/autoscaling/hpa-wva.md",
        "docs/architecture/advanced/autoscaling/scaling-engine-pipeline.svg",
        "docs/architecture/advanced/autoscaling/slo-aware-keda.md",
        "docs/architecture/advanced/autoscaling/wva-architecture.svg",
        "docs/architecture/advanced/batch/README.md",
        "docs/architecture/advanced/batch/async-processor.md",
        "docs/architecture/advanced/batch/batch-gateway.md",
        "docs/architecture/advanced/disaggregation/README.md"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "runtime_source",
      "status": "covered",
      "evidence": [
        ".github/ISSUE_TEMPLATE/bug.yml",
        ".github/ISSUE_TEMPLATE/feature-request.yml",
        ".github/ISSUE_TEMPLATE/hardware-platform-support.yml",
        ".github/actionlint.yaml",
        ".github/dependabot.yml",
        ".github/scripts/e2e/e2e-validate-flow-control.sh",
        ".github/scripts/e2e/e2e-validate-predicted-latency.sh",
        ".github/scripts/e2e/e2e-validate-scale-event.sh",
        ".github/scripts/e2e/e2e-validate.sh",
        ".github/scripts/e2e/helm-get-all.sh",
        ".github/scripts/e2e/wide-ep-transform.sh",
        ".github/scripts/install-agentgateway-crds.sh"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "tests_fixtures",
      "status": "covered",
      "evidence": [
        ".github/scripts/nightly-e2e-verification/test_verify_helpers.py",
        ".github/scripts/nightly-e2e-verification/tiered-prefix-cache/test_verify.py",
        "guides/batch-serving/asynchronous-processing/test/kind-e2e.sh"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "history_changelog_releases",
      "status": "covered",
      "evidence": [
        ".github/ISSUE_TEMPLATE/new-release.md",
        ".github/workflows/ci-release.yaml",
        ".github/workflows/release-matrix.yaml",
        ".github/workflows/verify-release-images.yaml",
        "scripts/sync-release-matrix.py"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "open_closed_issues_prs_discussions",
      "status": "partial",
      "evidence": [
        ".github/ISSUE_TEMPLATE/bug.yml",
        ".github/ISSUE_TEMPLATE/feature-request.yml",
        ".github/ISSUE_TEMPLATE/hardware-platform-support.yml",
        ".github/ISSUE_TEMPLATE/new-release.md"
      ],
      "note": "local templates found; open/closed issue, PR, and discussion history still require GitHub or forge read-back"
    },
    {
      "class": "roadmap_todos",
      "status": "checked_absent",
      "note": "local tree scanned and no matching path was found"
    },
    {
      "class": "license_provenance",
      "status": "covered",
      "evidence": [
        "LICENSE"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "fak_selfquery_witness",
      "status": "external_required",
      "note": "process artifact created by the study pass, not by the foreign repository tree"
    },
    {
      "class": "candidate_matrix",
      "status": "external_required",
      "note": "process artifact created by the study pass, not by the foreign repository tree"
    },
    {
      "class": "completeness_critic",
      "status": "covered",
      "note": "generated by this inventory map's local tree walk; non-tree omissions remain named in the note"
    },
    {
      "class": "issue_tracking",
      "status": "external_required",
      "note": "process artifact created by the study pass, not by the foreign repository tree"
    }
  ],
  "subsystems": [
    {
      "path": "guides",
      "files": 739,
      "directories": 506,
      "bytes": 8984258,
      "runtime_files": 593,
      "test_files": 1,
      "docs_files": 94,
      "text_lines": 55806,
      "languages": [
        {
          "language": "Config",
          "files": 571
        },
        {
          "language": "Docs",
          "files": 94
        },
        {
          "language": "Shell",
          "files": 20
        },
        {
          "language": "Python",
          "files": 3
        }
      ],
      "example_paths": [
        "guides/README.md",
        "guides/agentic-serving/README.md",
        "guides/agentic-serving/benchmark-templates/agentic-serving-nemotron-3-ultra.yaml",
        "guides/agentic-serving/benchmark-templates/guide.yaml",
        "guides/agentic-serving/glm-5-2-h200.md",
        "guides/agentic-serving/modelserver/gpu/vllm/glm-5-2/kustomization.yaml",
        "guides/agentic-serving/modelserver/gpu/vllm/nemotron-3-ultra/base/kustomization.yaml",
        "guides/agentic-serving/modelserver/gpu/vllm/nemotron-3-ultra/base/patch-decode.yaml"
      ],
      "source_classes": [
        "architecture_design",
        "readme_docs",
        "runtime_source",
        "tests_fixtures"
      ]
    },
    {
      "path": ".github",
      "files": 139,
      "directories": 7,
      "bytes": 526447,
      "runtime_files": 130,
      "test_files": 2,
      "docs_files": 6,
      "text_lines": 13707,
      "languages": [
        {
          "language": "Config",
          "files": 113
        },
        {
          "language": "Shell",
          "files": 14
        },
        {
          "language": "Docs",
          "files": 6
        },
        {
          "language": "Python",
          "files": 5
        }
      ],
      "example_paths": [
        ".github/ISSUE_TEMPLATE/bug.yml",
        ".github/ISSUE_TEMPLATE/feature-request.yml",
        ".github/ISSUE_TEMPLATE/hardware-platform-support.yml",
        ".github/ISSUE_TEMPLATE/new-release.md",
        ".github/actionlint.yaml",
        ".github/dependabot.yml",
        ".github/scripts/e2e/e2e-validate-flow-control.sh",
        ".github/scripts/e2e/e2e-validate-predicted-latency.sh"
      ],
      "source_classes": [
        "history_changelog_releases",
        "open_closed_issues_prs_discussions",
        "readme_docs",
        "runtime_source",
        "tests_fixtures"
      ]
    },
    {
      "path": "docs",
      "files": 136,
      "directories": 38,
      "bytes": 10493121,
      "runtime_files": 0,
      "test_files": 0,
      "docs_files": 136,
      "text_lines": 21715,
      "languages": [
        {
          "language": "Docs",
          "files": 91
        },
        {
          "language": "Config",
          "files": 9
        },
        {
          "language": "Shell",
          "files": 2
        }
      ],
      "example_paths": [
        "docs/api-reference/README.md",
        "docs/api-reference/artifacts.md",
        "docs/api-reference/endpointpickerconfig.md",
        "docs/api-reference/epp-grpc-apis.md",
        "docs/api-reference/epp-http-apis.md",
        "docs/api-reference/epp-http-headers.md",
        "docs/api-reference/glossary.md",
        "docs/api-reference/inferencemodelrewrite.md"
      ],
      "source_classes": [
        "architecture_design",
        "readme_docs"
      ]
    },
    {
      "path": "docker",
      "files": 37,
      "directories": 21,
      "bytes": 10042553,
      "runtime_files": 16,
      "test_files": 0,
      "docs_files": 3,
      "text_lines": 1299,
      "languages": [
        {
          "language": "Shell",
          "files": 13
        },
        {
          "language": "Docs",
          "files": 3
        },
        {
          "language": "Config",
          "files": 2
        },
        {
          "language": "Python",
          "files": 1
        }
      ],
      "example_paths": [
        "docker/build-constraints.txt",
        "docker/constraints.txt",
        "docker/packages/common/runtime-otel-package-requirements.txt",
        "docker/packages/cuda/builder-packages.json",
        "docker/packages/cuda/runtime-packages.json",
        "docker/scripts/common/build-uccl.sh",
        "docker/scripts/common/setup-sccache.sh",
        "docker/scripts/cpu/install_nixl.py"
      ],
      "source_classes": [
        "runtime_source"
      ]
    },
    {
      "path": ".",
      "files": 26,
      "directories": 10,
      "bytes": 120760,
      "runtime_files": 6,
      "test_files": 0,
      "docs_files": 13,
      "text_lines": 1894,
      "languages": [
        {
          "language": "Docs",
          "files": 13
        },
        {
          "language": "Config",
          "files": 6
        }
      ],
      "example_paths": [
        ".hadolint.yaml",
        ".markdownlint.json",
        ".pre-commit-config.yaml",
        ".prowlabels.yaml",
        "ADOPTERS.md",
        "CODE_OF_CONDUCT.md",
        "CONTRIBUTING.md",
        "LICENSE"
      ],
      "source_classes": [
        "license_provenance",
        "readme_docs",
        "runtime_source"
      ]
    },
    {
      "path": "helpers",
      "files": 22,
      "directories": 10,
      "bytes": 72590,
      "runtime_files": 18,
      "test_files": 0,
      "docs_files": 4,
      "text_lines": 1791,
      "languages": [
        {
          "language": "Config",
          "files": 15
        },
        {
          "language": "Docs",
          "files": 4
        },
        {
          "language": "Shell",
          "files": 3
        }
      ],
      "example_paths": [
        "helpers/benchmark.md",
        "helpers/client-setup/README.md",
        "helpers/client-setup/install-deps.sh",
        "helpers/hf-token.md",
        "helpers/interactive-pod/manifests/deployment.yaml",
        "helpers/interactive-pod/manifests/kustomization.yaml",
        "helpers/interactive-pod/manifests/rbac.yaml",
        "helpers/interactive-pod/manifests/sa.yaml"
      ],
      "source_classes": [
        "readme_docs",
        "runtime_source"
      ]
    },
    {
      "path": "proposals",
      "files": 17,
      "directories": 1,
      "bytes": 251217,
      "runtime_files": 0,
      "test_files": 0,
      "docs_files": 16,
      "text_lines": 2705,
      "languages": [
        {
          "language": "Docs",
          "files": 16
        }
      ],
      "example_paths": [
        "proposals/PROPOSAL_TEMPLATE.md",
        "proposals/autoscaler.md",
        "proposals/batch-gateway.md",
        "proposals/coordinator.md",
        "proposals/distributed-tracing.md",
        "proposals/inference-resilience-operator.md",
        "proposals/llm-d-async.md",
        "proposals/llm-d-inference-payload-processor.md"
      ]
    },
    {
      "path": "scripts",
      "files": 9,
      "directories": 0,
      "bytes": 80313,
      "runtime_files": 8,
      "test_files": 0,
      "docs_files": 1,
      "text_lines": 2275,
      "languages": [
        {
          "language": "Python",
          "files": 6
        },
        {
          "language": "Shell",
          "files": 2
        },
        {
          "language": "Docs",
          "files": 1
        }
      ],
      "example_paths": [
        "scripts/ENVVARS.md",
        "scripts/guide.py",
        "scripts/lint-dockerfile-envvars.py",
        "scripts/lint-envvars.py",
        "scripts/matrix_common.py",
        "scripts/sync-nightly-matrix.py",
        "scripts/sync-release-matrix.py",
        "scripts/test-dockerfile-lint.sh"
      ],
      "source_classes": [
        "history_changelog_releases",
        "runtime_source"
      ]
    },
    {
      "path": "patches",
      "files": 2,
      "directories": 0,
      "bytes": 2637,
      "runtime_files": 0,
      "test_files": 0,
      "docs_files": 0,
      "text_lines": 0
    },
    {
      "path": "hooks",
      "files": 1,
      "directories": 0,
      "bytes": 147,
      "runtime_files": 0,
      "test_files": 0,
      "docs_files": 0,
      "text_lines": 0
    },
    {
      "path": "release",
      "files": 1,
      "directories": 0,
      "bytes": 27535,
      "runtime_files": 0,
      "test_files": 0,
      "docs_files": 1,
      "text_lines": 203,
      "languages": [
        {
          "language": "Docs",
          "files": 1
        }
      ],
      "example_paths": [
        "release/README.md"
      ],
      "source_classes": [
        "readme_docs"
      ]
    }
  ],
  "skipped_dirs": [
    ".git",
    "helpers/interactive-pod/build"
  ],
  "completeness_critic": "local tree inventory walked every non-skipped regular file and grouped immediate subsystems; skipped dependency/cache/control directories: .git, helpers/interactive-pod/build; classes checked absent in local tree: roadmap_todos; still requires non-tree study artifacts: fak_selfquery_witness, candidate_matrix, issue_tracking",
  "non_tree_study": {
    "observed_at": "2026-08-25T19:00:00-07:00",
    "source_cutoff": "Pinned tree revision 3243fcf1191348b55c7811267a98117f8b7a6910 (2026-08-26T01:42:53Z); GitHub metadata observed 2026-08-25 America/Los_Angeles.",
    "github_surface": {
      "issues": {
        "total": 533,
        "open": 124,
        "closed": 409
      },
      "pull_requests": {
        "total": 1841,
        "open": 100,
        "closed_unmerged": 472,
        "merged": 1269
      },
      "discussions": {
        "total": 0
      },
      "releases": 11,
      "tags": 66,
      "branches": 11,
      "milestones": 11,
      "projects": 1,
      "latest_release": "v0.9.0 (2026-08-17)",
      "next_release_signals": [
        "milestone/16 v0.10.0",
        "milestone/14 v1.0.0",
        "milestone/15 v0.9.0 remains open after release"
      ],
      "history": {
        "commits_since_prior_check": 17,
        "prior_revision": "48fa8c0a76012038c76f30936fff9727c2e6909d",
        "pinned_commit": "3243fcf1191348b55c7811267a98117f8b7a6910"
      },
      "method": "GitHub GraphQL exact aggregate counts; paginated REST issues, releases, tags, branches, milestones, and projects; gh pr list read-back; GraphQL discussions; local clone history and refs."
    },
    "roadmap_todos": {
      "tree_scan": "Case-insensitive TODO/FIXME/roadmap/future-work/planned/follow-up scan across the pinned tree; no dedicated roadmap file. Generated dependency TODOs were excluded from product-roadmap evidence.",
      "forge_signals": [
        "v0.10.0 milestone",
        "v1.0.0 milestone",
        "open guides-definition PR #2349"
      ],
      "decision": "Treat milestones and active proposals as directional signals, not shipped contracts."
    },
    "license_provenance": {
      "spdx": "Apache-2.0",
      "path": "LICENSE",
      "repository_api": "license.spdx_id=Apache-2.0",
      "decision": "Borrow ideas or adapted contracts with source attribution; do not copy implementation without retaining applicable notices and license provenance."
    },
    "self_query_axes": [
      {
        "query": "fak capabilities \"Kubernetes distributed inference endpoint routing KV cache locality flow control prefill decode disaggregation autoscaling\"",
        "result": "Native model routing, turn-tax, stable-context reuse, live control, and savings attribution surfaced; no Kubernetes inference control plane equivalent."
      },
      {
        "query": "fak capabilities \"llm-d inference scheduler endpoint picker KV events prefix cache compatibility\"",
        "result": "Native context reuse and guarded fleet surfaces surfaced; the llm-d endpoint-picker and KV-event protocol remain external integration boundaries."
      },
      {
        "query": "fak capabilities \"vLLM Kubernetes gateway inference extension workload variant autoscaling\"",
        "result": "Model routing surfaced, but no reason to duplicate Gateway API, Kubernetes autoscaling, or llm-d deployment assembly inside fak."
      }
    ],
    "candidate_matrix": [
      {
        "candidate": "llm-d v0.9 ownership and double-routing contract",
        "source": [
          "docs/architecture/README.md",
          "docs/api-reference/endpointpickerconfig.md",
          "guides/"
        ],
        "alternative": "Undocumented composition between fak and llm-d",
        "classification": "adaptation",
        "disposition": "already_owned",
        "reason": "FAK issue #8016 shipped docs/integrations/llm-d.md. Keep fak authoritative for policy/model choice and llm-d authoritative for cluster endpoint selection."
      },
      {
        "candidate": "pinned live-cluster compatibility witness",
        "source": [
          "guides/",
          "docs/architecture/",
          "v0.9.0 release"
        ],
        "alternative": "Static documentation-only interoperability claim",
        "classification": "integration_witness",
        "disposition": "follow_on_open",
        "reason": "FAK issue #8017 owns the live compatibility proof; this inventory refresh does not substitute for a cluster receipt."
      },
      {
        "candidate": "KV-event-informed prefix locality and speculative cache-warm metadata",
        "source": [
          "docs/architecture/",
          "docs/architecture/advanced/disaggregation/"
        ],
        "alternative": "FAK-native prefix reuse without llm-d event interoperability",
        "classification": "inspiration",
        "disposition": "follow_on_open",
        "reason": "FAK issues #3888 and #6082 already own the bounded feature and matched benchmark. Reuse the protocol idea without yielding fak-native cache ownership."
      },
      {
        "candidate": "pluginized endpoint scoring, flow control, P/D topology, and workload-variant autoscaling",
        "source": [
          "docs/api-reference/endpointpickerconfig.md",
          "docs/architecture/advanced/autoscaling/",
          "docs/architecture/advanced/disaggregation/",
          "guides/"
        ],
        "alternative": "Implement a second Kubernetes inference control plane inside fak",
        "classification": "interoperation",
        "disposition": "reject_duplicate",
        "reason": "These are llm-d control-plane responsibilities. FAK should expose clean signals and compatibility seams, not port the scheduler, autoscaler, deployment guides, or Gateway API stack."
      }
    ],
    "issue_tracking": {
      "study_issue": "https://github.com/anthony-chaudhary/fak/issues/8988",
      "parent_issue": "https://github.com/anthony-chaudhary/fak/issues/8936",
      "shipped": [
        "#8016"
      ],
      "open_follow_ons": [
        "#8017",
        "#6082",
        "#3888"
      ],
      "new_filed_borrows": [],
      "reason": "Every surviving candidate is already shipped or durably owned. No duplicate issue was filed."
    }
  }
}
