{
  "generatedAt": "2026-04-28T03:10:56.122Z",
  "publicBase": "https://oim.kismann.com",
  "source": "generated public assets and DB metadata-derived indexes",
  "counts": {
    "pass": 11,
    "warn": 0,
    "fail": 0,
    "total": 11
  },
  "search": {
    "total": 38125,
    "bytes": 22368823,
    "clientTotal": 38125,
    "clientBytes": 23821832
  },
  "site": {
    "publicFiles": 12278,
    "totalBytes": 265215864,
    "sitemapUrls": 9818,
    "health": {
      "pass": 201,
      "warn": 1,
      "fail": 0
    }
  },
  "layers": [
    {
      "id": "db-inventory",
      "title": "Sandbox DB inventory",
      "source": "read-only DB metadata snapshots",
      "count": 7663,
      "status": "pass",
      "assets": [
        "assets/oim-db-inventory-index.json"
      ],
      "pages": [
        "db/index.html"
      ],
      "examples": [
        "db/tables/accproduct.html",
        "db/modules/qbm-pdbqcs-slotexec.html",
        "db/config/qbm-dbqueue-changelimitdefault.html"
      ],
      "notes": "Tables, modules, DialogObjects, DialogScripts, config parameters, and FK relations."
    },
    {
      "id": "sql-context",
      "title": "SQL module context",
      "source": "exported SQL/sys.sql_modules extraction",
      "count": 1825,
      "status": "pass",
      "assets": [
        "assets/oim-module-insights.json",
        "assets/oim-module-source-excerpts.json"
      ],
      "pages": [
        "db/modules/qbm-pdbqcs-slotexec.html"
      ],
      "examples": [
        "search.html?q=QBM_PDBQCS_SlotExec&type=module-graph"
      ],
      "notes": "Calls, reads, joins, DML targets, config paths, session context, DBQueue markers, parameters, and excerpts."
    },
    {
      "id": "csharp-context",
      "title": "C# decompile evidence",
      "source": "decompiled source-derived context",
      "count": 148,
      "status": "pass",
      "assets": [
        "assets/oim-csharp-insights.json",
        "assets/oim-decompile-index-data.json"
      ],
      "pages": [
        "assets/oim-decompile-index.html",
        "search.html?q=GetParameterCollection&type=csharp-source-insight"
      ],
      "examples": [
        "sources/cs-common-customizer-vi-common-customizer-jobeventgen.html"
      ],
      "notes": "Classes, methods, DB/entity references, registrations, handlers, and call evidence."
    },
    {
      "id": "reverse-deps",
      "title": "Reverse dependencies",
      "source": "SQL dependencies, FK rows, SQL/C# textual evidence",
      "count": 2300,
      "status": "pass",
      "assets": [
        "assets/oim-reverse-dependencies.json"
      ],
      "pages": [
        "db/tables/accproduct.html",
        "db/modules/qbm-pdbqcs-slotexec.html"
      ],
      "examples": [
        "search.html?q=AccProduct reverse dependency"
      ],
      "notes": "Where tables/modules are referenced from DB metadata, source extraction, and decompile evidence."
    },
    {
      "id": "graphs",
      "title": "Relation graphs",
      "source": "generated table/module/object graph JSON",
      "count": 2309,
      "status": "pass",
      "assets": [
        "assets/oim-module-graph-index.json",
        "assets/oim-table-graph-index.json",
        "assets/graphs/*.json"
      ],
      "pages": [
        "db/modules/qbm-pdbqcs-slotexec.html",
        "db/tables/accproduct.html",
        "objects/accproduct.html"
      ],
      "examples": [
        "search.html?q=AccProduct table graph&type=table-graph"
      ],
      "notes": "18,344 module edges and 12,939 table edges plus object-profile graphs."
    },
    {
      "id": "config-usage",
      "title": "Configuration usage",
      "source": "ConfigParm metadata plus SQL/C# reference extraction",
      "count": 693,
      "status": "pass",
      "assets": [
        "assets/oim-config-usage.json"
      ],
      "pages": [
        "db/config/qbm-dbqueue-changelimitdefault.html"
      ],
      "examples": [
        "search.html?q=QBM\\DBQueue\\ChangeLimitDefault&type=db-inventory-config"
      ],
      "notes": "Config hierarchy, masking status, SQL usage, and C# references."
    },
    {
      "id": "dialog-context",
      "title": "DialogObject/DialogScript context",
      "source": "metadata and derived markers; raw script bodies omitted",
      "count": 1133,
      "status": "pass",
      "assets": [
        "assets/oim-dialog-script-context.json",
        "assets/oim-dialog-object-context.json"
      ],
      "pages": [
        "db/dialog-objects/accproduct.html",
        "db/scripts/vi-getaccproductassignmentmember.html"
      ],
      "examples": [
        "search.html?q=DialogObject PutValue"
      ],
      "notes": "Method flags, event/form/table/config markers, same-family scripts, and source references without raw bodies."
    },
    {
      "id": "typed-edges",
      "title": "Typed relation edges",
      "source": "generated typed-edge relation corpus",
      "count": 13278,
      "status": "pass",
      "assets": [
        "assets/oim-typed-edges.json"
      ],
      "pages": [
        "architecture/typed-edges.html"
      ],
      "examples": [
        "search.html?q=typed relation edges trigger on table"
      ],
      "notes": "Complete edge corpus remains machine-readable; search index carries a bounded discoverability sample."
    },
    {
      "id": "search-quality",
      "title": "Search quality and recipes",
      "source": "deterministic search fixtures over the generated index",
      "count": 42,
      "status": "pass",
      "assets": [
        "assets/oim-search-quality.json",
        "assets/oim-query-cookbook.json"
      ],
      "pages": [
        "search-quality.html",
        "cookbook.html"
      ],
      "examples": [
        "search.html?q=ChangeLimit"
      ],
      "notes": "23 fixture queries and 19 practical query recipes."
    },
    {
      "id": "publication-safety",
      "title": "Publication safety",
      "source": "public artifact scanner and DB metadata checks",
      "count": 5,
      "status": "pass",
      "assets": [
        "assets/oim-publication-safety.json"
      ],
      "pages": [
        "safety.html",
        "provenance.html",
        "llms.txt"
      ],
      "examples": [
        "assets/oim-publication-safety.json"
      ],
      "notes": "Checks raw script body omission, raw script field-key absence, encrypted config masking, and safety-note publication."
    },
    {
      "id": "crawl-status",
      "title": "Crawl/status metadata",
      "source": "generated health, sitemap, API catalog, changelog, build diff",
      "count": 9863,
      "status": "pass",
      "assets": [
        "assets/oim-site-health.json",
        "assets/oim-build-diff.json",
        "assets/oim-sitemap-index.json",
        "api/catalog.json"
      ],
      "pages": [
        "status.html",
        "changes.html",
        "api/index.html",
        "changelog.html",
        "sitemap.xml"
      ],
      "examples": [
        "llms.txt",
        "robots.txt"
      ],
      "notes": "Public health/status, API catalog, sitemap, RSS/changelog, OpenSearch, and LLM-readable guides."
    }
  ],
  "notes": [
    "Coverage rows are generated from public JSON assets and sanitized health outputs.",
    "A pass means the layer has expected current-generation coverage, not that the upstream product behavior is inferred beyond source evidence."
  ]
}