<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>OIM KB changelog</title><link>https://oim.kismann.com/changelog.html</link><description>Generated improvements to the One Identity Manager knowledge base.</description><lastBuildDate>Tue, 28 Apr 2026 01:46:12 GMT</lastBuildDate><item><title>Add DB metadata change report</title><link>https://oim.kismann.com/changelog.html#update-1</link><guid>https://oim.kismann.com/changelog.html#update-1</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-db-change-report.mjs for safe snapshot-to-snapshot DB metadata comparisons.&lt;/li&gt;&lt;li&gt;Publish db/changes.html and assets/oim-db-change-report.json.&lt;/li&gt;&lt;li&gt;Compare safe fingerprints for tables, SQL/sys modules, config parameters, DialogObjects, DialogScripts, and foreign keys.&lt;/li&gt;&lt;li&gt;Avoid publishing raw DialogScript.ScriptCode, raw DialogObject.MethodScript, raw SelectScript, or encrypted config values; config value deltas are shown only as valueChanged.&lt;/li&gt;&lt;li&gt;Wire DB change report into refresh, DB inventory navigation, homepage, API catalog, sitemap, and health checks.&lt;/li&gt;&lt;li&gt;Fix refresh ordering so status.html exists before sitemap/health checks and fix DB-page navigation links to use root-relative /db/changes.html.&lt;/li&gt;&lt;li&gt;Verify DB change report: 11,453 current objects with previous baseline; overall health 150 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Routine parameter index</title><link>https://oim.kismann.com/changelog.html#update-2</link><guid>https://oim.kismann.com/changelog.html#update-2</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;Add routine-parameter and routine-signature entries to the main search index and search UI filters.&lt;/li&gt;&lt;li&gt;Link routine parameters from homepage, API catalog, sitemap, llms.txt, asset manifest, refresh pipeline, and health checks.&lt;/li&gt;&lt;li&gt;Repair nested DB inventory DB changes links and verify public health: 150 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add column pattern guide</title><link>https://oim.kismann.com/changelog.html#update-3</link><guid>https://oim.kismann.com/changelog.html#update-3</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-column-patterns.mjs for source-backed DB column browse groups.&lt;/li&gt;&lt;li&gt;Publish columns/patterns.html and assets/oim-column-patterns.json.&lt;/li&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;Link patterns from the column index and homepage, and add the JSON asset to API catalog.&lt;/li&gt;&lt;li&gt;Wire column-pattern generation into refresh-from-export.sh and health checks.&lt;/li&gt;&lt;li&gt;Verify column patterns: 9 pass / 0 warn / 0 fail; overall health 143 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>DB column index</title><link>https://oim.kismann.com/changelog.html#update-4</link><guid>https://oim.kismann.com/changelog.html#update-4</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-column-index.mjs for grouped DB column names from read-only table/FK metadata.&lt;/li&gt;&lt;li&gt;Publish columns/index.html and assets/oim-column-index.json with occurrence counts, data types, nullability, identity flags, table links, and FK evidence.&lt;/li&gt;&lt;li&gt;Add column-index entries to the main search index and search UI filter labels/ranking.&lt;/li&gt;&lt;li&gt;Link the column index from homepage, API catalog, sitemap, refresh pipeline, and health checks.&lt;/li&gt;&lt;li&gt;Repair refresh ordering so pre-health reports have changes.html, provenance, and llms.txt available before linked/checking pages run.&lt;/li&gt;&lt;li&gt;Verify public /columns/index.html, column JSON, homepage link, and full health: 143 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add glossary</title><link>https://oim.kismann.com/changelog.html#update-5</link><guid>https://oim.kismann.com/changelog.html#update-5</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-glossary.mjs for recurring OIM terms with source-backed entry points.&lt;/li&gt;&lt;li&gt;Publish glossary.html and assets/oim-glossary.json.&lt;/li&gt;&lt;li&gt;Cover DBQueue, ChangeLimit, AccProduct, PersonWantsOrg, DialogObject, DialogScript, ConfigParm, module/table graph terms, C# evidence terms, typed edges, and family prefixes.&lt;/li&gt;&lt;li&gt;Wire glossary into refresh, API catalog, homepage, sitemap, and health checks.&lt;/li&gt;&lt;li&gt;Verify glossary: 24 pass / 0 warn / 0 fail; overall health 138 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add custom 404 page</title><link>https://oim.kismann.com/changelog.html#update-6</link><guid>https://oim.kismann.com/changelog.html#update-6</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-404-page.mjs for a helpful noindex 404 page with search and major navigation links.&lt;/li&gt;&lt;li&gt;Publish 404.html and wire it into refresh-from-export.sh.&lt;/li&gt;&lt;li&gt;Configure nginx error_page 404 /404.html while preserving real 404 status.&lt;/li&gt;&lt;li&gt;Reload oim-knowledgebase nginx after nginx -t.&lt;/li&gt;&lt;li&gt;Add health checks for local 404 page and public custom 404 behavior.&lt;/li&gt;&lt;li&gt;Verify health 137 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add family hubs</title><link>https://oim.kismann.com/changelog.html#update-7</link><guid>https://oim.kismann.com/changelog.html#update-7</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-family-hubs.mjs for namespace/product-area browse hubs.&lt;/li&gt;&lt;li&gt;Publish families/index.html, per-family pages, and assets/oim-family-hubs.json.&lt;/li&gt;&lt;li&gt;Cover QBM, QER, ADS, LDAP, DPR, TSB, AER, ATT, CCC, and VI.&lt;/li&gt;&lt;li&gt;Wire family hubs into refresh, API catalog, homepage, sitemap, and health checks.&lt;/li&gt;&lt;li&gt;Verify family hubs: 10 pass / 0 warn / 0 fail; overall health 135 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add evidence coverage matrix</title><link>https://oim.kismann.com/changelog.html#update-8</link><guid>https://oim.kismann.com/changelog.html#update-8</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-evidence-coverage.mjs for a public evidence coverage matrix.&lt;/li&gt;&lt;li&gt;Publish coverage.html and assets/oim-evidence-coverage.json.&lt;/li&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;Wire coverage into refresh, API catalog, homepage, sitemap, and health checks.&lt;/li&gt;&lt;li&gt;Verify evidence coverage: 11 pass / 0 warn / 0 fail; overall health 134 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add publication safety report</title><link>https://oim.kismann.com/changelog.html#update-9</link><guid>https://oim.kismann.com/changelog.html#update-9</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-publication-safety-report.mjs for public safety/audit evidence.&lt;/li&gt;&lt;li&gt;Publish safety.html and assets/oim-publication-safety.json.&lt;/li&gt;&lt;li&gt;Validate raw script field keys are absent from public JSON and raw DialogObject script snippets are not in DB/search public assets.&lt;/li&gt;&lt;li&gt;Validate encrypted config values are masked before publication.&lt;/li&gt;&lt;li&gt;Wire safety report into refresh, API catalog, homepage, sitemap, and health checks.&lt;/li&gt;&lt;li&gt;Verify safety report: 5 pass / 0 fail; overall health 133 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add query cookbook</title><link>https://oim.kismann.com/changelog.html#update-10</link><guid>https://oim.kismann.com/changelog.html#update-10</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-query-cookbook.mjs for practical source-backed search recipes.&lt;/li&gt;&lt;li&gt;Publish cookbook.html and assets/oim-query-cookbook.json.&lt;/li&gt;&lt;li&gt;Cover DBQueue/ChangeLimit, IT Shop/AccProduct, DialogObjects, DialogScripts, config usage, C# evidence, module graphs, table graphs, and typed relation edges.&lt;/li&gt;&lt;li&gt;Wire cookbook into refresh, API catalog, homepage, sitemap, and health checks.&lt;/li&gt;&lt;li&gt;Verify cookbook recipes: 9 pass / 0 warn / 0 fail; overall health 132 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add search quality observability</title><link>https://oim.kismann.com/changelog.html#update-11</link><guid>https://oim.kismann.com/changelog.html#update-11</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-search-quality-report.mjs with deterministic search fixture checks.&lt;/li&gt;&lt;li&gt;Publish search-quality.html and assets/oim-search-quality.json.&lt;/li&gt;&lt;li&gt;Cover ChangeLimit, DBQueue config, module graphs, table graphs, DialogObject, DialogScript, C# evidence, typed relation edges, and IT Shop queries.&lt;/li&gt;&lt;li&gt;Wire search quality into refresh, API catalog, homepage, sitemap, and health checks.&lt;/li&gt;&lt;li&gt;Verify search quality fixtures: 12 pass / 0 warn / 0 fail; overall health 131 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Add build change reporting</title><link>https://oim.kismann.com/changelog.html#update-12</link><guid>https://oim.kismann.com/changelog.html#update-12</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-build-diff.mjs for build-to-build health, asset, search, inventory, typed-edge, sitemap, and changelog deltas.&lt;/li&gt;&lt;li&gt;Publish changes.html and assets/oim-build-diff.json.&lt;/li&gt;&lt;li&gt;Wire build-diff generation into refresh-from-export.sh.&lt;/li&gt;&lt;li&gt;Add build diff asset to API catalog and link Changes from homepage/sitemap.&lt;/li&gt;&lt;li&gt;Verify second run has previous baseline and final health remains 130 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Optimize JSON asset budgets</title><link>https://oim.kismann.com/changelog.html#update-13</link><guid>https://oim.kismann.com/changelog.html#update-13</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Remove denormalized searchText copies from the full machine search index.&lt;/li&gt;&lt;li&gt;Trim full-index summaries/related lists and omit empty/default fields.&lt;/li&gt;&lt;li&gt;Bound relation-edge search samples to 11,000 while preserving all 13,278 edges in assets/oim-typed-edges.json.&lt;/li&gt;&lt;li&gt;Update topic/search health checks for the compact index profile and add typed-edge JSON coverage validation.&lt;/li&gt;&lt;li&gt;Verify all asset budgets now pass: health 130 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Compact typed edges architecture page</title><link>https://oim.kismann.com/changelog.html#update-14</link><guid>https://oim.kismann.com/changelog.html#update-14</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-lightweight-typed-edges.mjs to replace oversized architecture/typed-edges.html.&lt;/li&gt;&lt;li&gt;Publish full relation edge set as assets/oim-typed-edges.json.&lt;/li&gt;&lt;li&gt;Reduce typed edges HTML from ~2.69 MB to ~5 KB while preserving machine-readable edge data.&lt;/li&gt;&lt;li&gt;Wire lightweight typed-edge generation into refresh-from-export.sh.&lt;/li&gt;&lt;li&gt;Add typed edges landing size health check and typed edges JSON to API catalog.&lt;/li&gt;&lt;li&gt;Verify largest HTML budget now passes: health 126 pass / 3 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Compact decompile index landing</title><link>https://oim.kismann.com/changelog.html#update-15</link><guid>https://oim.kismann.com/changelog.html#update-15</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add generate-lightweight-decompile-index.mjs to replace oversized assets/oim-decompile-index.html.&lt;/li&gt;&lt;li&gt;Reduce decompile index HTML from ~3.03 MB to ~5.5 KB while preserving assets/oim-decompile-index-data.json.&lt;/li&gt;&lt;li&gt;Wire lightweight decompile generation into refresh-from-export.sh.&lt;/li&gt;&lt;li&gt;Add decompile index landing size health check and verify: 124 pass / 4 warn / 0 fail.&lt;/li&gt;&lt;li&gt;Fix lingering refresh script syntax fragment while wiring the generator.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Compact DB inventory landing</title><link>https://oim.kismann.com/changelog.html#update-16</link><guid>https://oim.kismann.com/changelog.html#update-16</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Compact db/index.html by loading assets/oim-db-inventory-index.json on demand instead of embedding all inventory entries inline.&lt;/li&gt;&lt;li&gt;Reduce db/index.html from ~3.07 MB to ~4.2 KB.&lt;/li&gt;&lt;li&gt;Preserve detailed DB object pages and machine-readable inventory JSON.&lt;/li&gt;&lt;li&gt;Rerun downstream DB page enhancers after rebuilding inventory.&lt;/li&gt;&lt;li&gt;Fix nested /db/* relative-link repair for ../db/... URLs.&lt;/li&gt;&lt;li&gt;Add db inventory landing size health check and verify: 123 pass / 4 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Large C# source page compaction</title><link>https://oim.kismann.com/changelog.html#update-17</link><guid>https://oim.kismann.com/changelog.html#update-17</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/compact-large-source-pages.mjs.&lt;/li&gt;&lt;li&gt;Compact public C# source HTML pages over 2 MB into bounded source-derived context/excerpt pages.&lt;/li&gt;&lt;li&gt;Archive original oversized source HTML outside the public site under archive/large-source-pages/.&lt;/li&gt;&lt;li&gt;Publish assets/oim-large-source-compaction.json.&lt;/li&gt;&lt;li&gt;Wire compaction into refresh after C# source enhancement and add health checks for compaction/no remaining &amp;gt;2 MB C# source pages.&lt;/li&gt;&lt;li&gt;Verify public compact source page/status/compaction JSON run: 122 pass / 4 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Lightweight wiki landing</title><link>https://oim.kismann.com/changelog.html#update-18</link><guid>https://oim.kismann.com/changelog.html#update-18</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-lightweight-wiki.mjs.&lt;/li&gt;&lt;li&gt;Replace public 13 MB wiki.html monolith with a lightweight ~24 KB landing page.&lt;/li&gt;&lt;li&gt;Preserve old monolith outside public site at /srv/container-share/oim-knowledgebase/archive/wiki-monolith-2026-04-27.html.&lt;/li&gt;&lt;li&gt;Wire lightweight wiki generation into refresh after page generation/link repair.&lt;/li&gt;&lt;li&gt;Add health check requiring wiki.html to stay under 256 KB.&lt;/li&gt;&lt;li&gt;Verify public wiki/status/asset manifest run: 119 pass / 4 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Slim client search index</title><link>https://oim.kismann.com/changelog.html#update-19</link><guid>https://oim.kismann.com/changelog.html#update-19</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-client-search-index.mjs.&lt;/li&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;Reduce browser search payload from ~47.8 MB to ~20.0 MB using compact array rows and trimmed display/search fields.&lt;/li&gt;&lt;li&gt;Patch search.html and persistent site.search.html to load and normalize the slim client index.&lt;/li&gt;&lt;li&gt;Add client index to API catalog, llms.txt, asset manifest budgets, refresh, public URL/gzip checks, and health checks.&lt;/li&gt;&lt;li&gt;Verify client search budget passes under 25 MB; full run: 118 pass / 4 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Asset manifest and performance budgets</title><link>https://oim.kismann.com/changelog.html#update-20</link><guid>https://oim.kismann.com/changelog.html#update-20</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-asset-manifest.mjs.&lt;/li&gt;&lt;li&gt;Publish assets/oim-asset-manifest.json with public asset sizes, groups, mtimes, SHA-256 prefixes, and budget telemetry.&lt;/li&gt;&lt;li&gt;Link asset manifest from API catalog, llms.txt, and status page.&lt;/li&gt;&lt;li&gt;Wire asset manifest generation into refresh and health checks.&lt;/li&gt;&lt;li&gt;Surface large-asset budget warnings for search index, largest JSON, largest HTML, and total public bytes.&lt;/li&gt;&lt;li&gt;Verify public asset manifest/API/status/llms run: 113 pass / 4 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Refresh pipeline hygiene</title><link>https://oim.kismann.com/changelog.html#update-21</link><guid>https://oim.kismann.com/changelog.html#update-21</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Remove duplicate provenance dashboard generation from refresh-from-export.sh.&lt;/li&gt;&lt;li&gt;Keep provenance generation once before sitemap creation and once in the final post-health publication phase.&lt;/li&gt;&lt;li&gt;Correct the postProcess ledger to match the de-duplicated refresh flow.&lt;/li&gt;&lt;li&gt;Add health checks for adjacent duplicate node steps and adjacent duplicate postProcess entries.&lt;/li&gt;&lt;li&gt;Verify refresh script syntax and full public health: 109 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Graph viewer controls and exports</title><link>https://oim.kismann.com/changelog.html#update-22</link><guid>https://oim.kismann.com/changelog.html#update-22</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add search and node-type filtering to SQL module graph viewer.&lt;/li&gt;&lt;li&gt;Add search and node-type filtering to DB table graph viewer.&lt;/li&gt;&lt;li&gt;Add JSON links and CSV edge export to module, table, and object graph viewers.&lt;/li&gt;&lt;li&gt;Persist object graph viewer through refresh by copying scripts/object-graph-viewer.js after graph generation.&lt;/li&gt;&lt;li&gt;Extend health checks for graph viewer controls and public JS assets.&lt;/li&gt;&lt;li&gt;Verify public module/table/object graph pages and viewer assets: 107 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Provenance dashboard</title><link>https://oim.kismann.com/changelog.html#update-23</link><guid>https://oim.kismann.com/changelog.html#update-23</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-provenance-dashboard.mjs.&lt;/li&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;Link provenance from homepage, API catalog, llms.txt, and sitemap.&lt;/li&gt;&lt;li&gt;Wire provenance generation into the refresh loop.&lt;/li&gt;&lt;li&gt;Extend health checks for provenance assets, sitemap URL coverage, and public provenance endpoints.&lt;/li&gt;&lt;li&gt;Verify full public run: 100 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Changelog freshness repair</title><link>https://oim.kismann.com/changelog.html#update-24</link><guid>https://oim.kismann.com/changelog.html#update-24</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Make scripts/generate-changelog.mjs include all dated task sections instead of only 2026-04-27.&lt;/li&gt;&lt;li&gt;Fix changelog section parsing so the final dated section at end-of-file is included.&lt;/li&gt;&lt;li&gt;Cap RSS item pubDate at generation time to avoid future-dated current-day feed items.&lt;/li&gt;&lt;li&gt;Extend health checks so changelog must include latest dated updates.&lt;/li&gt;&lt;li&gt;Verify public changelog/RSS/index run: 93 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Sitemap coverage repair</title><link>https://oim.kismann.com/changelog.html#update-25</link><guid>https://oim.kismann.com/changelog.html#update-25</guid><pubDate>Tue, 28 Apr 2026 01:46:12 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Detect missing sitemap coverage for generated topics, API catalog, changelog, and status pages.&lt;/li&gt;&lt;li&gt;Reorder refresh so generated public pages exist before sitemap generation, with final sitemap/llms regeneration.&lt;/li&gt;&lt;li&gt;Tune sitemap priority/changefreq for topics, API, status, and changelog pages.&lt;/li&gt;&lt;li&gt;Add health check for required sitemap URLs.&lt;/li&gt;&lt;li&gt;Regenerate and verify sitemap: 9,786 URLs; health 92 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Public compression health</title><link>https://oim.kismann.com/changelog.html#update-26</link><guid>https://oim.kismann.com/changelog.html#update-26</guid><pubDate>Mon, 27 Apr 2026 23:59:00 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Tune nginx gzip settings for text/JSON/XML/RSS/SVG assets.&lt;/li&gt;&lt;li&gt;Validate and reload the oim-knowledgebase nginx container.&lt;/li&gt;&lt;li&gt;Extend site health checks with public gzip assertions for large search/LLM/XML assets.&lt;/li&gt;&lt;li&gt;Verify gzip responses include content-encoding: gzip and vary: Accept-Encoding.&lt;/li&gt;&lt;li&gt;Verify full public run: 90 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Topic hubs</title><link>https://oim.kismann.com/changelog.html#update-27</link><guid>https://oim.kismann.com/changelog.html#update-27</guid><pubDate>Mon, 27 Apr 2026 23:59:00 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-topic-hubs.mjs.&lt;/li&gt;&lt;li&gt;Publish topics/index.html plus eight curated topic pages for DBQueue, IT Shop, DialogObjects, config, scripts, C#, graphs, and SQL modules.&lt;/li&gt;&lt;li&gt;Publish assets/oim-topic-hubs.json.&lt;/li&gt;&lt;li&gt;Link topic hubs from homepage, API catalog, and llms.txt; wire into refresh and health checks.&lt;/li&gt;&lt;li&gt;Verify full public run: 85 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Search suggestions/autocomplete</title><link>https://oim.kismann.com/changelog.html#update-28</link><guid>https://oim.kismann.com/changelog.html#update-28</guid><pubDate>Mon, 27 Apr 2026 23:59:00 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-search-suggestions.mjs.&lt;/li&gt;&lt;li&gt;Generate assets/oim-search-suggestions.json with 5,000 suggestions from the combined search index.&lt;/li&gt;&lt;li&gt;Patch search.html and persistent site.search.html with datalist autocomplete.&lt;/li&gt;&lt;li&gt;Add suggestions to API catalog and llms.txt; wire into refresh and health checks.&lt;/li&gt;&lt;li&gt;Verify full public run: 81 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Public API catalog</title><link>https://oim.kismann.com/changelog.html#update-29</link><guid>https://oim.kismann.com/changelog.html#update-29</guid><pubDate>Mon, 27 Apr 2026 23:59:00 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-api-catalog.mjs.&lt;/li&gt;&lt;li&gt;Publish api/index.html and api/catalog.json for public JSON assets and graph collections.&lt;/li&gt;&lt;li&gt;Link API catalog from homepage and llms.txt.&lt;/li&gt;&lt;li&gt;Wire API catalog generation into refresh and extend health checks.&lt;/li&gt;&lt;li&gt;Verify full public run: 78 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item>
<item><title>Public changelog and RSS</title><link>https://oim.kismann.com/changelog.html#update-30</link><guid>https://oim.kismann.com/changelog.html#update-30</guid><pubDate>Mon, 27 Apr 2026 23:59:00 GMT</pubDate><description>&lt;ul&gt;&lt;li&gt;Add scripts/generate-changelog.mjs.&lt;/li&gt;&lt;li&gt;Publish changelog.html, feed.xml, and assets/oim-changelog-index.json from the project task ledger.&lt;/li&gt;&lt;li&gt;Link Changelog/RSS from homepage and include them in llms.txt.&lt;/li&gt;&lt;li&gt;Wire changelog generation into refresh and extend health checks.&lt;/li&gt;&lt;li&gt;Verify full public run: 73 pass / 0 warn / 0 fail.&lt;/li&gt;&lt;/ul&gt;</description></item></channel></rss>
