{"generatedAt":"2026-04-28T03:32:38.369Z","source":"projects/oim-knowledgebase/TASKS.md","count":73,"entries":[{"title":"Add DBQueue family routes 2026-04-28","date":"2026-04-28","done":["Add `generate-dbqueue-family-routes.mjs` to summarize DBQueue task routes by family prefix.","Publish `db/dbqueue-family-routes.html` and `assets/oim-dbqueue-family-routes.json`.","Cover 26 task families, 242 task routes, 640 caller modules, and 347 task/routine refs.","Add searchable `dbqueue-family-route` entries and include the type in search UI/type guide.","Wire family routes into refresh, homepage, API catalog, DBQueue dashboard, sitemap, llms guides, and health checks.","Add search-quality fixture and cookbook recipe for family routes; search quality now 27 pass / 0 warn / 0 fail and cookbook 23 pass / 0 warn / 0 fail.","Preserve asset budget by reducing bounded relation-edge search sample to 900 while preserving complete typed edges in `assets/oim-typed-edges.json`.","Validate site health at 223 pass / 0 warn / 0 fail with 195,992 internal refs / 0 missing."]},{"title":"Add DBQueue task routes 2026-04-28","date":"2026-04-28","done":["Add `generate-dbqueue-task-routes.mjs` to publish concrete DBQueue task marker → QBM_PDBQueueInsert* routine/caller evidence.","Publish `db/dbqueue-task-routes.html` and `assets/oim-dbqueue-task-routes.json`.","Cover 242 task markers, 26 task families, 640 caller modules, and 347 task/routine refs.","Add searchable `dbqueue-task-route` entries and include the type in search UI/type guide.","Wire task routes into refresh, homepage, API catalog, DBQueue dashboard, sitemap, llms guides, and health checks.","Add search-quality fixture and cookbook recipe for task routes; search quality now 26 pass / 0 warn / 0 fail and cookbook 22 pass / 0 warn / 0 fail.","Preserve asset budget by reducing bounded relation-edge search sample to 1,000 while preserving complete typed edges in `assets/oim-typed-edges.json`; keep trigger-on-table relation discoverability fixture targeted and passing.","Validate site health at 218 pass / 0 warn / 0 fail with 195,747 internal refs / 0 missing."]},{"title":"Add DBQueue route matrix 2026-04-28","date":"2026-04-28","done":["Add `generate-dbqueue-route-matrix.mjs` to publish insert routine × task-family route cells from source-derived DBQueue caller evidence.","Publish `db/dbqueue-route-matrix.html` and `assets/oim-dbqueue-route-matrix.json`.","Cover 49 route cells, 6 insert routines, 27 task families, and 640 caller modules.","Add searchable `dbqueue-route` entries and include the type in search UI/type guide.","Wire route matrix into refresh, homepage, API catalog, DBQueue dashboard, sitemap, llms guides, and health checks.","Add search-quality fixture and cookbook recipe for route matrix; search quality now 25 pass / 0 warn / 0 fail and cookbook 21 pass / 0 warn / 0 fail.","Validate site health at 213 pass / 0 warn / 0 fail with 194,925 internal refs / 0 missing."]},{"title":"Add SQL routine call graph 2026-04-28","date":"2026-04-28","done":["Add `generate-routine-call-graph.mjs` for static caller/callee evidence extracted from source-derived SQL module insights.","Publish `db/routine-call-graph.html` and `assets/oim-routine-call-graph.json` covering 1,825 SQL modules, 1,403 caller modules, 267 called targets, and 3,513 distinct call edges.","Add searchable `routine-call-target` and `routine-call-caller` result types with search UI/type-guide support.","Add search-quality fixture and cookbook recipe for high-fan-in SQL routines and callers.","Wire the routine call graph into refresh, homepage, API catalog, sitemap, asset manifest, and health checks."]},{"title":"SQL trigger index 2026-04-28","date":"2026-04-28","done":["Add `scripts/generate-trigger-index.mjs`.","Publish `db/triggers.html` and `assets/oim-trigger-index.json` from read-only sandbox trigger/dependency metadata without exposing trigger bodies.","Add searchable `db-trigger` result type, search UI/type guide support, API/homepage/sitemap/health wiring, quality fixture, and cookbook recipe.","Preserve asset budgets by reducing bounded relation-edge search samples while retaining the complete typed-edge corpus separately.","Verify public trigger page/JSON/search/status and full health: 141 pass / 0 warn / 0 fail."]},{"title":"Add DBQueue insert routine hubs 2026-04-28","date":"2026-04-28","done":["Add `generate-dbqueue-insert-routines.mjs` for QBM_PDBQueueInsert* routine hubs grouped by caller modules, task markers, DML targets, config refs, and read refs.","Publish `db/dbqueue-insert-routines.html` and `assets/oim-dbqueue-insert-routines.json`.","Cover 6 insert routines, 640 caller modules, 494 Bulk callers, and 160 Single callers.","Add searchable `dbqueue-insert-routine` entries and include the type in search UI/type guide.","Wire insert routine hubs into refresh, homepage, API catalog, sitemap, asset manifest, DBQueue dashboard, and health checks.","Add search-quality fixture and cookbook recipe for insert routine hubs; search quality now 23 pass / 0 warn / 0 fail and cookbook 19 pass / 0 warn / 0 fail.","Keep public asset budgets passing by compacting C# source pages over 512 KB and reducing bounded relation-edge search samples to 3,000 while preserving the complete typed-edge corpus in `assets/oim-typed-edges.json`."]},{"title":"Add DBQueue caller explorer 2026-04-28","date":"2026-04-28","done":["Add `generate-dbqueue-callers.mjs` for SQL modules with source-derived `QBM_PDBQueueInsert*` calls.","Publish `db/dbqueue-callers.html` and `assets/oim-dbqueue-callers.json`.","Cover 640 caller modules, 6 insert routines, 494 Bulk callers, and 160 Single callers.","Add searchable `dbqueue-caller` entries for top caller modules and include the type in search UI/type guide.","Wire DBQueue callers into refresh, homepage, API catalog, sitemap, asset manifest, DBQueue dashboard, and health checks.","Add search-quality fixture and cookbook recipe for DBQueue callers; search quality now 21 pass / 0 warn / 0 fail and cookbook 17 pass / 0 warn / 0 fail.","Keep asset budgets passing by reducing bounded relation-edge search samples to 8,500 while preserving the complete typed-edge corpus in `assets/oim-typed-edges.json`."]},{"title":"Add DBQueue dashboard quality and cookbook coverage 2026-04-28","date":"2026-04-28","done":["Add deterministic search-quality fixture for DBQueue dashboard discoverability.","Add query cookbook recipe for starting DBQueue investigations from the dashboard.","Verify search quality: 20 pass / 0 warn / 0 fail.","Verify query cookbook: 16 pass / 0 warn / 0 fail."]},{"title":"Add DBQueue dashboard 2026-04-28","date":"2026-04-28","done":["Add `generate-dbqueue-dashboard.mjs` for a compact DBQueue investigation landing page.","Publish `db/dbqueue.html` and `assets/oim-dbqueue-dashboard.json`.","Combine ChangeLimit/search entry points, DBQueue marker/family counts, top task markers, high-signal DBQueue modules, search-quality fixtures, and cookbook recipes.","Add searchable `dbqueue-dashboard` entry and include it in search UI/type guide.","Wire dashboard into refresh, homepage, API catalog, sitemap, asset manifest, and health checks."]},{"title":"Add DBQueue family quality and cookbook coverage 2026-04-28","date":"2026-04-28","done":["Add deterministic search-quality fixture for DBQueue family hub discoverability.","Add query cookbook recipe for browsing DBQueue task families before drilling into markers/modules.","Verify search quality: 19 pass / 0 warn / 0 fail.","Verify query cookbook: 15 pass / 0 warn / 0 fail."]},{"title":"Add DBQueue family hubs 2026-04-28","date":"2026-04-28","done":["Add `generate-dbqueue-family-hubs.mjs` for DBQueue task-prefix family summaries.","Publish `db/dbqueue-families.html` and `assets/oim-dbqueue-family-hubs.json`.","Add searchable `dbqueue-family` entries for 28 task families such as QBM, QER, TSB, ADS, and LDP.","Wire DBQueue family hubs into refresh, homepage, search UI/type guide, API catalog, sitemap, asset manifest, and health checks.","Keep asset budgets passing by reducing bounded relation-edge search samples to 9,500 while preserving the complete typed-edge corpus in `assets/oim-typed-edges.json`."]},{"title":"Expand search quality and cookbook for new DB explorers 2026-04-28","date":"2026-04-28","done":["Add deterministic search-quality fixtures for table stats, module complexity, and DBQueue marker discoverability.","Add query cookbook recipes for finding large/high-volume tables, high-touch SQL modules, and DBQueue task markers.","Verify search quality: 18 pass / 0 warn / 0 fail.","Verify query cookbook: 14 pass / 0 warn / 0 fail."]},{"title":"Add DBQueue marker explorer 2026-04-28","date":"2026-04-28","done":["Add `generate-dbqueue-markers.mjs` for source-derived DBQueue/task marker grouping.","Publish `db/dbqueue-markers.html` and `assets/oim-dbqueue-markers.json`.","Group 246 distinct DBQueue/task markers across 645 SQL modules and 1,221 module-task references, with 28 family prefixes.","Add searchable `dbqueue-marker` entries and include the type in the search UI/type guide.","Wire DBQueue markers into refresh, homepage, API catalog, sitemap, asset manifest, and health checks.","Trim generated payloads and reduce bounded relation-edge search samples to keep all public asset budgets passing while preserving the complete typed-edge corpus in `assets/oim-typed-edges.json`."]},{"title":"Add SQL module complexity explorer 2026-04-28","date":"2026-04-28","done":["Add `generate-module-complexity.mjs` for source-derived SQL module complexity triage.","Publish `db/module-complexity.html` and `assets/oim-module-complexity.json`.","Score modules using definition length, called routines, read refs, DML targets, config/session refs, DBQueue markers, temp tables, parameters, and flags.","Add searchable `module-complexity` entries for the top 300 highest-signal modules while keeping all 1,825 modules in the dedicated JSON/report.","Wire module complexity into refresh, homepage, search filters/type guide, API catalog, sitemap, asset manifest, and health checks.","Keep public asset budgets passing by publishing compact JSON and bounded HTML tables."]},{"title":"Improve table stats UX 2026-04-28","date":"2026-04-28","done":["Add usage-type filter chips and live count to `db/table-stats.html`.","Add a complete filterable \"All tables\" section covering all 473 sandbox DB tables.","Add health coverage for table stats filter controls and all-table section.","Verify public table stats page and full health: 166 pass / 0 warn / 0 fail."]},{"title":"Add table stats explorer 2026-04-28","date":"2026-04-28","done":["Add `generate-table-stats.mjs` for read-only table row-count, size, usage/type, column, index, and trigger statistics.","Publish `db/table-stats.html` and `assets/oim-table-stats.json`.","Add searchable `table-stats` entries for all 473 DB tables.","Wire table stats into refresh, homepage, API catalog, sitemap, asset manifest, search type guide, and health checks.","Verify table stats: 473 tables, 304,444 rows, 1,305.816 MB, 6 usage types; overall health 165 pass / 0 warn / 0 fail."]},{"title":"Add search type guide 2026-04-28","date":"2026-04-28","done":["Add `generate-search-type-guide.mjs` for a public guide to generated search result types.","Publish `search-types.html` and `assets/oim-search-types.json` with type counts, descriptions, kind counts, examples, and filter links.","Include specialized types such as routine parameters, routine signatures, dependency hotspots, graph entries, DB inventory entries, C# insights, and relation edges.","Wire the guide into refresh, homepage, API catalog, sitemap, asset manifest, and health checks.","Verify search type guide: 27 types over 39,009 search entries; overall health 160 pass / 0 warn / 0 fail."]},{"title":"Expand query cookbook recipes 2026-04-28","date":"2026-04-28","done":["Add a routine-parameters recipe for finding SQL routine inputs, output parameters, and routines by common parameter names.","Add a dependency-hotspots recipe for starting investigations from high-impact reverse-reference targets.","Verify cookbook: 11 pass / 0 warn / 0 fail."]},{"title":"Expand search quality fixtures 2026-04-28","date":"2026-04-28","done":["Add deterministic search-quality fixtures for `routine-parameter`, `routine-signature`, and `dependency-hotspot` result types.","Increase fixture evaluation window from top 10 to top 20 hits to avoid false warnings when new high-value result types crowd broad queries.","Verify search quality: 15 pass / 0 warn / 0 fail."]},{"title":"Improve dependency hotspot UX 2026-04-28","date":"2026-04-28","done":["Add in-page filtering to `db/dependency-hotspots.html` for target names, target kind, relation evidence, source kind, and example evidence text.","Add `data-hotspot-filter` metadata to top hotspot cards and ranked hotspot rows.","Add health coverage for dependency hotspot page filter controls.","Verify dependency hotspot index and filter controls pass health checks."]},{"title":"Improve routine parameter UX 2026-04-28","date":"2026-04-28","done":["Add in-page filtering to `db/routine-parameters.html` for parameter names, routine names, routine kinds, data types, and output markers.","Add `data-routine-filter` metadata to top parameter cards and routine-signature rows.","Add health coverage for the routine parameter page filter controls.","Verify routine parameter index and filter controls pass health checks."]},{"title":"Dependency hotspot report 2026-04-28","date":"2026-04-28","done":["Add `scripts/generate-dependency-hotspots.mjs` from the published reverse dependency evidence asset.","Publish `db/dependency-hotspots.html` and `assets/oim-dependency-hotspots.json` ranking 2,295 reverse-reference targets and 36,073 references.","Exclude SQL Server trigger pseudo-tables and SQL keywords without inventory matches from the ranked target list.","Add `dependency-hotspot` entries to the main search index and search UI filter labels/ranking.","Link dependency hotspots from homepage, API catalog, sitemap, refresh pipeline, client search/suggestions, and health checks.","Verify public dependency hotspot page/JSON and full public health: 153 pass / 0 warn / 0 fail."]},{"title":"Add DB metadata change report 2026-04-28","date":"2026-04-28","done":["Add `generate-db-change-report.mjs` for safe snapshot-to-snapshot DB metadata comparisons.","Publish `db/changes.html` and `assets/oim-db-change-report.json`.","Compare safe fingerprints for tables, SQL/sys modules, config parameters, DialogObjects, DialogScripts, and foreign keys.","Avoid publishing raw `DialogScript.ScriptCode`, raw `DialogObject.MethodScript`, raw `SelectScript`, or encrypted config values; config value deltas are shown only as `valueChanged`.","Wire DB change report into refresh, DB inventory navigation, homepage, API catalog, sitemap, and health checks.","Fix refresh ordering so `status.html` exists before sitemap/health checks and fix DB-page navigation links to use root-relative `/db/changes.html`.","Verify DB change report: 11,453 current objects with previous baseline; overall health 150 pass / 0 warn / 0 fail."]},{"title":"Routine parameter index 2026-04-28","date":"2026-04-28","done":["Add `scripts/generate-routine-parameter-index.mjs` from read-only `sys.objects` / `sys.parameters` metadata already collected under `data/db/all-objects/sys_objects.json`.","Publish `db/routine-parameters.html` and `assets/oim-routine-parameters.json` covering 1,703 routines, 4,648 parameter declarations, 783 distinct parameter names, 330 output parameters, and 26 data types.","Add `routine-parameter` and `routine-signature` entries to the main search index and search UI filters.","Link routine parameters from homepage, API catalog, sitemap, `llms.txt`, asset manifest, refresh pipeline, and health checks.","Repair nested DB inventory `DB changes` links and verify public health: 150 pass / 0 warn / 0 fail."]},{"title":"Add column pattern guide 2026-04-28","date":"2026-04-28","done":["Add `generate-column-patterns.mjs` for source-backed DB column browse groups.","Publish `columns/patterns.html` and `assets/oim-column-patterns.json`.","Cover UID identity/relation columns, X* audit/system columns, Ident/display columns, date/time columns, boolean/flag columns, outgoing/incoming FK columns, service-item columns, and target-system columns.","Link patterns from the column index and homepage, and add the JSON asset to API catalog.","Wire column-pattern generation into `refresh-from-export.sh` and health checks.","Verify column patterns: 9 pass / 0 warn / 0 fail; overall health 143 pass / 0 warn / 0 fail."]},{"title":"DB column index 2026-04-28","date":"2026-04-28","done":["Add `scripts/generate-column-index.mjs` for grouped DB column names from read-only table/FK metadata.","Publish `columns/index.html` and `assets/oim-column-index.json` with occurrence counts, data types, nullability, identity flags, table links, and FK evidence.","Add `column-index` entries to the main search index and search UI filter labels/ranking.","Link the column index from homepage, API catalog, sitemap, refresh pipeline, and health checks.","Repair refresh ordering so pre-health reports have `changes.html`, provenance, and `llms.txt` available before linked/checking pages run.","Verify public `/columns/index.html`, column JSON, homepage link, and full health: 143 pass / 0 warn / 0 fail."]},{"title":"Add glossary 2026-04-28","date":"2026-04-28","done":["Add `generate-glossary.mjs` for recurring OIM terms with source-backed entry points.","Publish `glossary.html` and `assets/oim-glossary.json`.","Cover DBQueue, ChangeLimit, AccProduct, PersonWantsOrg, DialogObject, DialogScript, ConfigParm, module/table graph terms, C# evidence terms, typed edges, and family prefixes.","Wire glossary into refresh, API catalog, homepage, sitemap, and health checks.","Verify glossary: 24 pass / 0 warn / 0 fail; overall health 138 pass / 0 warn / 0 fail."]},{"title":"Add custom 404 page 2026-04-28","date":"2026-04-28","done":["Add `generate-404-page.mjs` for a helpful noindex 404 page with search and major navigation links.","Publish `404.html` and wire it into `refresh-from-export.sh`.","Configure nginx `error_page 404 /404.html` while preserving real 404 status.","Reload `oim-knowledgebase` nginx after `nginx -t`.","Add health checks for local 404 page and public custom 404 behavior.","Verify health 137 pass / 0 warn / 0 fail."]},{"title":"Add family hubs 2026-04-28","date":"2026-04-28","done":["Add `generate-family-hubs.mjs` for namespace/product-area browse hubs.","Publish `families/index.html`, per-family pages, and `assets/oim-family-hubs.json`.","Cover QBM, QER, ADS, LDAP, DPR, TSB, AER, ATT, CCC, and VI.","Wire family hubs into refresh, API catalog, homepage, sitemap, and health checks.","Verify family hubs: 10 pass / 0 warn / 0 fail; overall health 135 pass / 0 warn / 0 fail."]},{"title":"Add evidence coverage matrix 2026-04-28","date":"2026-04-28","done":["Add `generate-evidence-coverage.mjs` for a public evidence coverage matrix.","Publish `coverage.html` and `assets/oim-evidence-coverage.json`.","Cover DB inventory, SQL context, C# context, reverse deps, graphs, config usage, DialogObject/DialogScript context, typed edges, search quality, publication safety, and crawl/status layers.","Wire coverage into refresh, API catalog, homepage, sitemap, and health checks.","Verify evidence coverage: 11 pass / 0 warn / 0 fail; overall health 134 pass / 0 warn / 0 fail."]},{"title":"Add publication safety report 2026-04-28","date":"2026-04-28","done":["Add `generate-publication-safety-report.mjs` for public safety/audit evidence.","Publish `safety.html` and `assets/oim-publication-safety.json`.","Validate raw script field keys are absent from public JSON and raw DialogObject script snippets are not in DB/search public assets.","Validate encrypted config values are masked before publication.","Wire safety report into refresh, API catalog, homepage, sitemap, and health checks.","Verify safety report: 5 pass / 0 fail; overall health 133 pass / 0 warn / 0 fail."]},{"title":"Add query cookbook 2026-04-28","date":"2026-04-28","done":["Add `generate-query-cookbook.mjs` for practical source-backed search recipes.","Publish `cookbook.html` and `assets/oim-query-cookbook.json`.","Cover DBQueue/ChangeLimit, IT Shop/AccProduct, DialogObjects, DialogScripts, config usage, C# evidence, module graphs, table graphs, and typed relation edges.","Wire cookbook into refresh, API catalog, homepage, sitemap, and health checks.","Verify cookbook recipes: 9 pass / 0 warn / 0 fail; overall health 132 pass / 0 warn / 0 fail."]},{"title":"Add search quality observability 2026-04-28","date":"2026-04-28","done":["Add `generate-search-quality-report.mjs` with deterministic search fixture checks.","Publish `search-quality.html` and `assets/oim-search-quality.json`.","Cover ChangeLimit, DBQueue config, module graphs, table graphs, DialogObject, DialogScript, C# evidence, typed relation edges, and IT Shop queries.","Wire search quality into refresh, API catalog, homepage, sitemap, and health checks.","Verify search quality fixtures: 12 pass / 0 warn / 0 fail; overall health 131 pass / 0 warn / 0 fail."]},{"title":"Add build change reporting 2026-04-28","date":"2026-04-28","done":["Add `generate-build-diff.mjs` for build-to-build health, asset, search, inventory, typed-edge, sitemap, and changelog deltas.","Publish `changes.html` and `assets/oim-build-diff.json`.","Wire build-diff generation into `refresh-from-export.sh`.","Add build diff asset to API catalog and link Changes from homepage/sitemap.","Verify second run has previous baseline and final health remains 130 pass / 0 warn / 0 fail."]},{"title":"Optimize JSON asset budgets 2026-04-28","date":"2026-04-28","done":["Remove denormalized `searchText` copies from the full machine search index.","Trim full-index summaries/related lists and omit empty/default fields.","Bound relation-edge search samples to 11,000 while preserving all 13,278 edges in `assets/oim-typed-edges.json`.","Update topic/search health checks for the compact index profile and add typed-edge JSON coverage validation.","Verify all asset budgets now pass: health 130 pass / 0 warn / 0 fail."]},{"title":"Compact typed edges architecture page 2026-04-28","date":"2026-04-28","done":["Add `generate-lightweight-typed-edges.mjs` to replace oversized `architecture/typed-edges.html`.","Publish full relation edge set as `assets/oim-typed-edges.json`.","Reduce typed edges HTML from ~2.69 MB to ~5 KB while preserving machine-readable edge data.","Wire lightweight typed-edge generation into `refresh-from-export.sh`.","Add `typed edges landing size` health check and typed edges JSON to API catalog.","Verify largest HTML budget now passes: health 126 pass / 3 warn / 0 fail."]},{"title":"Compact decompile index landing 2026-04-28","date":"2026-04-28","done":["Add `generate-lightweight-decompile-index.mjs` to replace oversized `assets/oim-decompile-index.html`.","Reduce decompile index HTML from ~3.03 MB to ~5.5 KB while preserving `assets/oim-decompile-index-data.json`.","Wire lightweight decompile generation into `refresh-from-export.sh`.","Add `decompile index landing size` health check and verify: 124 pass / 4 warn / 0 fail.","Fix lingering refresh script syntax fragment while wiring the generator."]},{"title":"Compact DB inventory landing 2026-04-28","date":"2026-04-28","done":["Compact `db/index.html` by loading `assets/oim-db-inventory-index.json` on demand instead of embedding all inventory entries inline.","Reduce `db/index.html` from ~3.07 MB to ~4.2 KB.","Preserve detailed DB object pages and machine-readable inventory JSON.","Rerun downstream DB page enhancers after rebuilding inventory.","Fix nested `/db/*` relative-link repair for `../db/...` URLs.","Add `db inventory landing size` health check and verify: 123 pass / 4 warn / 0 fail."]},{"title":"Large C# source page compaction 2026-04-28","date":"2026-04-28","done":["Add `scripts/compact-large-source-pages.mjs`.","Compact public C# source HTML pages over 2 MB into bounded source-derived context/excerpt pages.","Archive original oversized source HTML outside the public site under `archive/large-source-pages/`.","Publish `assets/oim-large-source-compaction.json`.","Wire compaction into refresh after C# source enhancement and add health checks for compaction/no remaining >2 MB C# source pages.","Verify public compact source page/status/compaction JSON run: 122 pass / 4 warn / 0 fail."]},{"title":"Lightweight wiki landing 2026-04-28","date":"2026-04-28","done":["Add `scripts/generate-lightweight-wiki.mjs`.","Replace public 13 MB `wiki.html` monolith with a lightweight ~24 KB landing page.","Preserve old monolith outside public site at `/srv/container-share/oim-knowledgebase/archive/wiki-monolith-2026-04-27.html`.","Wire lightweight wiki generation into refresh after page generation/link repair.","Add health check requiring `wiki.html` to stay under 256 KB.","Verify public wiki/status/asset manifest run: 119 pass / 4 warn / 0 fail."]},{"title":"Slim client search index 2026-04-28","date":"2026-04-28","done":["Add `scripts/generate-client-search-index.mjs`.","Publish compact `assets/oim-kb-search-client.json` for browser search while retaining full `assets/oim-kb-search-index.json` for machine/full metadata use.","Reduce browser search payload from ~47.8 MB to ~20.0 MB using compact array rows and trimmed display/search fields.","Patch `search.html` and persistent `site.search.html` to load and normalize the slim client index.","Add client index to API catalog, `llms.txt`, asset manifest budgets, refresh, public URL/gzip checks, and health checks.","Verify client search budget passes under 25 MB; full run: 118 pass / 4 warn / 0 fail."]},{"title":"Asset manifest and performance budgets 2026-04-28","date":"2026-04-28","done":["Add `scripts/generate-asset-manifest.mjs`.","Publish `assets/oim-asset-manifest.json` with public asset sizes, groups, mtimes, SHA-256 prefixes, and budget telemetry.","Link asset manifest from API catalog, `llms.txt`, and status page.","Wire asset manifest generation into refresh and health checks.","Surface large-asset budget warnings for search index, largest JSON, largest HTML, and total public bytes.","Verify public asset manifest/API/status/llms run: 113 pass / 4 warn / 0 fail."]},{"title":"Refresh pipeline hygiene 2026-04-28","date":"2026-04-28","done":["Remove duplicate provenance dashboard generation from `refresh-from-export.sh`.","Keep provenance generation once before sitemap creation and once in the final post-health publication phase.","Correct the `postProcess` ledger to match the de-duplicated refresh flow.","Add health checks for adjacent duplicate node steps and adjacent duplicate `postProcess` entries.","Verify refresh script syntax and full public health: 109 pass / 0 warn / 0 fail."]},{"title":"Graph viewer controls and exports 2026-04-28","date":"2026-04-28","done":["Add search and node-type filtering to SQL module graph viewer.","Add search and node-type filtering to DB table graph viewer.","Add JSON links and CSV edge export to module, table, and object graph viewers.","Persist object graph viewer through refresh by copying `scripts/object-graph-viewer.js` after graph generation.","Extend health checks for graph viewer controls and public JS assets.","Verify public module/table/object graph pages and viewer assets: 107 pass / 0 warn / 0 fail."]},{"title":"Provenance dashboard 2026-04-28","date":"2026-04-28","done":["Add `scripts/generate-provenance-dashboard.mjs`.","Publish `/provenance.html` plus `assets/oim-provenance-catalog.json` with source-root counts, DB snapshot row counts, query file hashes, public asset metadata, and safety notes.","Link provenance from homepage, API catalog, `llms.txt`, and sitemap.","Wire provenance generation into the refresh loop.","Extend health checks for provenance assets, sitemap URL coverage, and public provenance endpoints.","Verify full public run: 100 pass / 0 warn / 0 fail."]},{"title":"Changelog freshness repair 2026-04-28","date":"2026-04-28","done":["Make `scripts/generate-changelog.mjs` include all dated task sections instead of only `2026-04-27`.","Fix changelog section parsing so the final dated section at end-of-file is included.","Cap RSS item `pubDate` at generation time to avoid future-dated current-day feed items.","Extend health checks so changelog must include latest dated updates.","Verify public changelog/RSS/index run: 93 pass / 0 warn / 0 fail."]},{"title":"Sitemap coverage repair 2026-04-28","date":"2026-04-28","done":["Detect missing sitemap coverage for generated topics, API catalog, changelog, and status pages.","Reorder refresh so generated public pages exist before sitemap generation, with final sitemap/llms regeneration.","Tune sitemap priority/changefreq for topics, API, status, and changelog pages.","Add health check for required sitemap URLs.","Regenerate and verify sitemap: 9,786 URLs; health 92 pass / 0 warn / 0 fail."]},{"title":"Public compression health 2026-04-27","date":"2026-04-27","done":["Tune nginx gzip settings for text/JSON/XML/RSS/SVG assets.","Validate and reload the `oim-knowledgebase` nginx container.","Extend site health checks with public gzip assertions for large search/LLM/XML assets.","Verify gzip responses include `content-encoding: gzip` and `vary: Accept-Encoding`.","Verify full public run: 90 pass / 0 warn / 0 fail."]},{"title":"Topic hubs 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-topic-hubs.mjs`.","Publish `topics/index.html` plus eight curated topic pages for DBQueue, IT Shop, DialogObjects, config, scripts, C#, graphs, and SQL modules.","Publish `assets/oim-topic-hubs.json`.","Link topic hubs from homepage, API catalog, and `llms.txt`; wire into refresh and health checks.","Verify full public run: 85 pass / 0 warn / 0 fail."]},{"title":"Search suggestions/autocomplete 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-search-suggestions.mjs`.","Generate `assets/oim-search-suggestions.json` with 5,000 suggestions from the combined search index.","Patch `search.html` and persistent `site.search.html` with datalist autocomplete.","Add suggestions to API catalog and `llms.txt`; wire into refresh and health checks.","Verify full public run: 81 pass / 0 warn / 0 fail."]},{"title":"Public API catalog 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-api-catalog.mjs`.","Publish `api/index.html` and `api/catalog.json` for public JSON assets and graph collections.","Link API catalog from homepage and `llms.txt`.","Wire API catalog generation into refresh and extend health checks.","Verify full public run: 78 pass / 0 warn / 0 fail."]},{"title":"Public changelog and RSS 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-changelog.mjs`.","Publish `changelog.html`, `feed.xml`, and `assets/oim-changelog-index.json` from the project task ledger.","Link Changelog/RSS from homepage and include them in `llms.txt`.","Wire changelog generation into refresh and extend health checks.","Verify full public run: 73 pass / 0 warn / 0 fail."]},{"title":"LLM-readable site guide 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-llms-txt.mjs`.","Publish `llms.txt`, `llms-full.txt`, and `assets/oim-llms-summary.json`.","Include entry points, examples, machine-readable assets, coverage counts, and safety notes.","Wire generation into refresh and extend health checks.","Verify full public run: 67 pass / 0 warn / 0 fail."]},{"title":"OpenSearch discovery 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-opensearch.mjs`.","Publish `opensearch.xml` and `favicon.svg`.","Add browser search discovery links to homepage, search, status, and DB index pages.","Adjust refresh ordering so generated status/homepage exist before health and OpenSearch links are re-applied after regeneration.","Extend health check and verify full public run: 62 pass / 0 warn / 0 fail."]},{"title":"Coverage-aware homepage 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-homepage.mjs`.","Regenerate homepage from current public assets/health/search coverage.","Link status, sitemap, graph searches, config/DialogObject/DialogScript examples, and C# insight search from the front page.","Persist homepage as `site.index.html` and wire generation into refresh after status generation.","Verify full public run: 58 pass / 0 warn / 0 fail."]},{"title":"Public status dashboard 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-status-page.mjs`.","Publish `status.html`, `assets/oim-status-summary.json`, and public sanitized `assets/oim-site-health.json`.","Wire status generation into refresh after health check.","Extend health check for status assets and public `/status.html`.","Verify full public run: 58 pass / 0 warn / 0 fail."]},{"title":"Sitemap and robots 2026-04-27","date":"2026-04-27","done":["Add `scripts/generate-sitemap.mjs`.","Generate public `sitemap.xml`, `robots.txt`, and `assets/oim-sitemap-index.json`.","Wire sitemap generation into refresh.","Extend health check for sitemap assets, URL count, and public sitemap/robots URLs.","Verify full public run: 54 pass / 0 warn / 0 fail."]},{"title":"DialogObject context 2026-04-27","date":"2026-04-27","done":["Add `scripts/enhance-dialog-object-context.mjs`.","Generate `assets/oim-dialog-object-context.json` for 850 DialogObjects without publishing raw MethodScript/SelectScript bodies.","Patch 850 DialogObject pages with method markers, backing/related tables, events/forms/PutValue columns, config refs, and SQL/C# references.","Integrate DialogObject context into main search terms.","Wire into refresh and verify full public run: 48 pass / 0 warn / 0 fail."]},{"title":"SQL module parameter/dependency context 2026-04-27","date":"2026-04-27","done":["Enhance SQL module context with sandbox DB metadata provenance from `sys.objects`, `sys.parameters`, and `sys.sql_expression_dependencies`.","Render declared parameter tables with SQL data type and input/output direction on 1,825 SQL module pages.","Add provenance badges and object modify timestamps to module context sections.","Rebuild module insights/search and verify public `QBM_PDBQCS_SlotExec` module page plus full health: 45 pass / 0 warn / 0 fail."]},{"title":"DialogScript context 2026-04-27","date":"2026-04-27","done":["Add `scripts/enhance-dialog-script-context.mjs`.","Generate `assets/oim-dialog-script-context.json` for 283 DialogScripts without publishing raw ScriptCode.","Patch 283 DialogScript pages with DB-computed flags, related tables, SQL/C# references, and same-family scripts.","Integrate DialogScript context into main search terms for script entries.","Wire into refresh and verify full public run: 45 pass / 0 warn / 0 fail."]},{"title":"Config usage context 2026-04-27","date":"2026-04-27","done":["Add `scripts/enhance-config-usage.mjs`.","Generate `assets/oim-config-usage.json` for 693 config parameters.","Patch 693 config pages with parent/child hierarchy plus SQL/C# usage sections.","Wire config usage generation into refresh before search generation.","Extend health check and verify full public run: 42 pass / 0 warn / 0 fail."]},{"title":"Module source excerpts 2026-04-27","date":"2026-04-27","done":["Add `scripts/enhance-module-source-excerpts.mjs`.","Generate `assets/oim-module-source-excerpts.json` for 1,825 SQL modules.","Patch 1,825 SQL module pages with syntax-highlighted source excerpts and full-source links.","Wire source excerpt generation into refresh after module graph generation.","Extend health check and verify full public run: 39 pass / 0 warn / 0 fail."]},{"title":"Graph-aware search 2026-04-27","date":"2026-04-27","done":["Add `module-graph` entries to main search index from `assets/oim-module-graph-index.json`.","Add `table-graph` entries to main search index from `assets/oim-table-graph-index.json`.","Update search UI filters with Module graphs and Table graphs.","Verify public filtered graph search URLs and full health: 37 pass / 0 warn / 0 fail."]},{"title":"Table relation graphs 2026-04-27","date":"2026-04-27","done":["Add `scripts/build-table-graphs.mjs` and table graph JSON under `assets/table-graphs/`.","Add `scripts/table-graph-viewer.js` / public `assets/table-graph-viewer.js`.","Patch 473 DB table pages with table relation graph panels.","Wire table graph generation into refresh.","Extend health check for table graph index/files and verify full public run: 37 pass / 0 warn / 0 fail."]},{"title":"Search UI and ranking 2026-04-27","date":"2026-04-27","done":["Add labeled result-type filters for SQL modules, DB inventory, C# insights, source pages, relation edges, config params, scripts, and DialogObjects.","Persist selected filter in `type=` URL parameter.","Improve exact-match ranking for titles, aliases, normalized `dbo.` names, config paths, related terms, and indexed terms.","Preserve customized `search.html` across refresh via `site.search.html`.","Verify public filtered search URLs and full health: 32 pass / 0 warn / 0 fail."]},{"title":"Module relation graphs 2026-04-27","date":"2026-04-27","done":["Add `scripts/build-module-graphs.mjs` and module graph JSON under `assets/module-graphs/`.","Add `scripts/module-graph-viewer.js` / public `assets/module-graph-viewer.js`.","Patch 1,825 SQL module pages with module relation graph panels.","Wire module graph generation into refresh.","Extend health check for module graph index/files and verify full public run: 32 pass / 0 warn / 0 fail."]},{"title":"Site health check 2026-04-27","date":"2026-04-27","done":["Add `scripts/site-health-check.mjs` for required assets, search fixtures, inventory/insight counts, graph count, internal links, and optional public URL checks.","Fix checker false positives from JavaScript templates and rendered source-code text.","Verify full public run: 27 pass / 0 warn / 0 fail.","Wire local `--skip-public` health check into refresh loop after graph injection."]},{"title":"Reverse dependency context 2026-04-27","date":"2026-04-27","done":["Generate `assets/oim-reverse-dependencies.json` from SQL dependencies, FK rows, SQL source extraction, and C# extraction.","Patch 473 table pages with referenced-by / reverse relation sections.","Patch 5,364 module pages with referenced-by / reverse dependency sections.","Wire reverse dependency generation into refresh loop.","Verify public pages and zero missing internal refs."]},{"title":"C# source insight extraction 2026-04-27","date":"2026-04-27","done":["Generate `assets/oim-csharp-insights.json` for 148 decompiled C# source pages.","Patch C# source pages with source-derived context sections.","Keep wording factual: pattern extraction from decompiled C# and decompile index, not semantic guessing.","Wire C# insight generation into refresh loop.","Verify public C# page and zero missing internal refs."]},{"title":"Module insight extraction 2026-04-27","date":"2026-04-27","done":["Generate `assets/oim-module-insights.json` for 1,825 SQL modules.","Patch DB module pages with source-derived context sections.","Keep wording factual: pattern extraction from exported SQL definitions, not semantic guessing.","Verify public module page and zero missing internal refs."]},{"title":"All DB object inventory 2026-04-27","date":"2026-04-27","done":["Add `/srv/container-share/oim-knowledgebase/scripts/collect-all-db-objects.sh`.","Collect read-only metadata for sys.objects, tables/columns/indexes/triggers, foreign keys, DialogObjects/methods, DialogScripts, and DialogConfigParm.","Add `/srv/container-share/oim-knowledgebase/scripts/build-db-inventory.mjs`.","Generate `/db/index.html` plus 7,663 DB inventory pages.","Exclude plaintext secret values: encrypted config params render as `<encrypted>`."]},{"title":"Object graph layer 2026-04-27","date":"2026-04-27","done":["Generate per-object graph JSON for 11 object pages.","Add reusable `assets/object-graph-viewer.js` bubble-style graph viewer.","Patch object pages to load relation graphs.","Verify public object graph assets and zero missing internal refs."]},{"title":"Navigation repair 2026-04-27","date":"2026-04-27","done":["Generate browser-friendly HTML pages from flattened markdown exports.","Repair source-relative links to generated page routes or search fallback.","Change nginx fallback from homepage rewrite to real 404 for missing files.","Verify internal HTML refs: 20,118 checked, 0 missing."]}]}