{
  "schema": "fak-study-inventory-map/1",
  "repository": "sgl-project/mini-sglang",
  "url": "https://github.com/sgl-project/mini-sglang",
  "indexed_revision": "9a91cfafe754aa85daee49998176275667eb58f2",
  "observed_at": "2026-08-25T00:00:00-07:00",
  "totals": {
    "files": 121,
    "directories": 32,
    "bytes": 904847,
    "runtime_files": 102,
    "test_files": 7,
    "docs_files": 3,
    "text_lines": 10874
  },
  "source_classes": [
    {
      "class": "readme_docs",
      "status": "covered",
      "evidence": [
        "README.md",
        "docs/features.md",
        "docs/structures.md"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "architecture_design",
      "status": "checked_absent",
      "note": "local tree scanned and no matching path was found"
    },
    {
      "class": "runtime_source",
      "status": "covered",
      "evidence": [
        ".pre-commit-config.yaml",
        "Dockerfile",
        "benchmark/offline/bench.py",
        "benchmark/offline/bench_wildchat.py",
        "benchmark/online/bench_qwen.py",
        "benchmark/online/bench_simple.py",
        "pyproject.toml",
        "python/minisgl/__main__.py",
        "python/minisgl/attention/__init__.py",
        "python/minisgl/attention/base.py",
        "python/minisgl/attention/fa.py",
        "python/minisgl/attention/fi.py"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "tests_fixtures",
      "status": "covered",
      "evidence": [
        "tests/core/test_cache_allocate.py",
        "tests/core/test_scheduler.py",
        "tests/kernel/test_comm.py",
        "tests/kernel/test_index.py",
        "tests/kernel/test_store.py",
        "tests/kernel/test_tensor.py",
        "tests/misc/test_serialize.py"
      ],
      "note": "local tree evidence found"
    },
    {
      "class": "history_changelog_releases",
      "status": "checked_absent",
      "note": "local tree scanned and no matching path was found"
    },
    {
      "class": "open_closed_issues_prs_discussions",
      "status": "external_required",
      "note": "requires forge API or exported issue/PR/discussion data; local tree scan cannot prove it"
    },
    {
      "class": "roadmap_todos",
      "status": "checked_absent",
      "note": "local tree scanned and no matching path was found"
    },
    {
      "class": "license_provenance",
      "status": "covered",
      "evidence": [
        "LICENSE",
        "pyproject.toml"
      ],
      "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": "python",
      "files": 100,
      "directories": 22,
      "bytes": 336742,
      "runtime_files": 95,
      "test_files": 0,
      "docs_files": 0,
      "text_lines": 9359,
      "languages": [
        {
          "language": "Python",
          "files": 90
        },
        {
          "language": "C",
          "files": 3
        },
        {
          "language": "C++",
          "files": 2
        }
      ],
      "example_paths": [
        "python/minisgl/__main__.py",
        "python/minisgl/attention/__init__.py",
        "python/minisgl/attention/base.py",
        "python/minisgl/attention/fa.py",
        "python/minisgl/attention/fi.py",
        "python/minisgl/attention/trtllm.py",
        "python/minisgl/attention/utils.py",
        "python/minisgl/benchmark/client.py"
      ],
      "source_classes": [
        "runtime_source"
      ]
    },
    {
      "path": ".",
      "files": 7,
      "directories": 5,
      "bytes": 13696,
      "runtime_files": 3,
      "test_files": 0,
      "docs_files": 1,
      "text_lines": 437,
      "languages": [
        {
          "language": "Config",
          "files": 3
        },
        {
          "language": "Docs",
          "files": 1
        }
      ],
      "example_paths": [
        ".pre-commit-config.yaml",
        "Dockerfile",
        "LICENSE",
        "README.md",
        "pyproject.toml"
      ],
      "source_classes": [
        "license_provenance",
        "readme_docs",
        "runtime_source"
      ]
    },
    {
      "path": "tests",
      "files": 7,
      "directories": 3,
      "bytes": 21135,
      "runtime_files": 0,
      "test_files": 7,
      "docs_files": 0,
      "text_lines": 649,
      "languages": [
        {
          "language": "Python",
          "files": 7
        }
      ],
      "example_paths": [
        "tests/core/test_cache_allocate.py",
        "tests/core/test_scheduler.py",
        "tests/kernel/test_comm.py",
        "tests/kernel/test_index.py",
        "tests/kernel/test_store.py",
        "tests/kernel/test_tensor.py",
        "tests/misc/test_serialize.py"
      ],
      "source_classes": [
        "tests_fixtures"
      ]
    },
    {
      "path": "benchmark",
      "files": 4,
      "directories": 2,
      "bytes": 10246,
      "runtime_files": 4,
      "test_files": 0,
      "docs_files": 0,
      "text_lines": 321,
      "languages": [
        {
          "language": "Python",
          "files": 4
        }
      ],
      "example_paths": [
        "benchmark/offline/bench.py",
        "benchmark/offline/bench_wildchat.py",
        "benchmark/online/bench_qwen.py",
        "benchmark/online/bench_simple.py"
      ],
      "source_classes": [
        "runtime_source"
      ]
    },
    {
      "path": "docs",
      "files": 2,
      "directories": 0,
      "bytes": 8440,
      "runtime_files": 0,
      "test_files": 0,
      "docs_files": 2,
      "text_lines": 108,
      "languages": [
        {
          "language": "Docs",
          "files": 2
        }
      ],
      "example_paths": [
        "docs/features.md",
        "docs/structures.md"
      ],
      "source_classes": [
        "readme_docs"
      ]
    },
    {
      "path": "assets",
      "files": 1,
      "directories": 0,
      "bytes": 514588,
      "runtime_files": 0,
      "test_files": 0,
      "docs_files": 0,
      "text_lines": 0
    }
  ],
  "skipped_dirs": [
    ".git"
  ],
  "completeness_critic": "local tree inventory walked every non-skipped regular file and grouped immediate subsystems; skipped dependency/cache/control directories: .git; classes checked absent in local tree: architecture_design, history_changelog_releases, roadmap_todos; still requires non-tree study artifacts: open_closed_issues_prs_discussions, fak_selfquery_witness, candidate_matrix, issue_tracking",
  "non_tree_study": {
    "observed_at": "2026-08-25",
    "source_cutoff": {
      "revision": "9a91cfafe754aa85daee49998176275667eb58f2",
      "commit_timestamp": "2026-05-17T12:37:42Z"
    },
    "github_surface": {
      "issues": {
        "total": 25,
        "open": 12,
        "closed": 13
      },
      "pull_requests": {
        "total": 123,
        "open": 38,
        "closed": 85
      },
      "discussions": {
        "total": 0,
        "enabled": false
      },
      "releases": {
        "total": 0
      },
      "history": {
        "commits": 171,
        "first_commit_at": "2025-09-09T03:25:19Z"
      },
      "method": "GitHub REST issues, releases, and commits endpoints paged to exhaustion at the pinned revision timestamp; issue and pull-request records split by pull_request presence. GraphQL reported discussions disabled."
    },
    "roadmap_todos": {
      "status": "covered",
      "evidence": [
        "python/minisgl/attention/fa.py:181",
        "python/minisgl/kvcache/__init__.py:34",
        "python/minisgl/kvcache/base.py:64",
        "python/minisgl/scheduler/prefill.py:43-46",
        "python/minisgl/scheduler/scheduler.py:220",
        "python/minisgl/server/api_server.py:264,324",
        "python/minisgl/tokenizer/tokenize.py:16"
      ],
      "note": "No standalone roadmap exists. The pinned tree TODOs name FA4/Blackwell, MLA and HiCache variants, host-cache matching and estimation, decode-first policy, broader sampling parameters, and batch tokenization."
    },
    "license_provenance": {
      "status": "covered",
      "evidence": [
        "LICENSE",
        "pyproject.toml"
      ],
      "note": "MIT license at the pinned revision; package metadata points to LICENSE."
    },
    "self_query_axes": [
      {
        "axis": "prefix_and_kv_reuse",
        "query": "fak capabilities \"radix prefix cache page aware KV allocation chunked prefill continuous batching\"",
        "fak_surface": "stable-prefix/cache reuse and resident-context management",
        "verdict": "owned"
      },
      {
        "axis": "scheduler_and_parallelism",
        "query": "fak capabilities \"tensor parallel stable request order CUDA graph replay serving scheduler\"",
        "fak_surface": "routing, context carry-forward, and cache reuse; native serving work remains governed by issue #8395",
        "verdict": "owned_or_tracked"
      },
      {
        "axis": "serving_measurement",
        "query": "fak capabilities \"time to first token inter token latency throughput benchmark serving\"",
        "fak_surface": "benchmark, ablation, routing, cache, and token-savings measurement surfaces",
        "verdict": "owned"
      }
    ],
    "candidate_matrix": [
      {
        "candidate": "page-aware KV allocation plus radix-prefix reuse",
        "source": [
          "python/minisgl/kvcache/page.py",
          "python/minisgl/kvcache/radix.py",
          "tests/core/test_cache_allocate.py"
        ],
        "alternative": "fak radixkv and native-inference memory ownership",
        "disposition": "already_owned",
        "reason": "The original study already mapped this design to fak radixkv; no duplicate borrow issue is warranted."
      },
      {
        "candidate": "bounded chunked-prefill admission with continuous decode",
        "source": [
          "python/minisgl/scheduler/prefill.py",
          "python/minisgl/scheduler/scheduler.py",
          "tests/core/test_scheduler.py"
        ],
        "alternative": "fak native Qwen serving spine tracked by #8395",
        "disposition": "already_tracked",
        "reason": "The useful control-loop requirements are already explicit acceptance criteria of #8395."
      },
      {
        "candidate": "stable tensor-parallel decode request ordering",
        "source": [
          "python/minisgl/scheduler/scheduler.py",
          "https://github.com/sgl-project/mini-sglang/pull/113"
        ],
        "alternative": "fak-native scheduler ownership and matched engine receipts",
        "disposition": "already_tracked",
        "reason": "Correct distributed ordering belongs in the existing native serving spine rather than a separate study child."
      },
      {
        "candidate": "CUDA graph capture and replay for decode",
        "source": [
          "python/minisgl/kernel/cuda_graph.py"
        ],
        "alternative": "fak-native kernel and execution ownership under #8395",
        "disposition": "already_tracked",
        "reason": "The implementation pattern is relevant but cannot be accepted without fak-native hardware and quality witnesses."
      },
      {
        "candidate": "TTFT, inter-token latency, and throughput serving measurements",
        "source": [
          "benchmark/online/bench_qwen.py",
          "benchmark/online/bench_simple.py"
        ],
        "alternative": "fak benchmark authority and net-true matched-envelope gates",
        "disposition": "already_owned",
        "reason": "fak already requires stronger end-to-end accounting and operating-envelope provenance."
      },
      {
        "candidate": "OpenAI-compatible streaming and non-streaming API surface",
        "source": [
          "python/minisgl/server/api_server.py",
          "https://github.com/sgl-project/mini-sglang/pull/125"
        ],
        "alternative": "minimal API compatibility needed by the native serving spine",
        "disposition": "stay_minimal",
        "reason": "Borrow only compatibility demanded by a witnessed integration; do not import the broader server surface speculatively."
      }
    ],
    "issue_tracking": {
      "study_issue": "https://github.com/anthony-chaudhary/fak/issues/9000",
      "existing_implementation_issue": "https://github.com/anthony-chaudhary/fak/issues/8395",
      "filed_borrows": [],
      "reason": "Every candidate is already owned, already tracked by #8395, or intentionally minimal; no new borrow issue survived."
    },
    "completeness_critic": "The generator walked all 121 files and 32 directories at the exact revision. The refresh separately paged all forge issues and pull requests, all releases, and all 171 commits through the revision timestamp; confirmed discussions disabled; inspected every repository TODO; verified MIT provenance; ran three candidate-specific fak self-queries; adjudicated six candidates; and reconciled issue tracking to #9000 and #8395. Dependency/cache/control directory skipped: .git only."
  }
}
