<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://thesemanticrecord.com</loc>
<lastmod>2026-11-01T17:46:27.839Z</lastmod>
<changefreq>daily</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/sections/governed-access-patterns</loc>
<lastmod>2026-11-01T17:46:27.839Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/sections/semantic-layer-design</loc>
<lastmod>2026-10-13T15:16:47.327Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/sections/sql-traceability</loc>
<lastmod>2026-09-25T00:06:05.303Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/sections/ai-analyst-tools</loc>
<lastmod>2026-10-23T16:31:50.729Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/sections/ai-hallucination</loc>
<lastmod>2026-10-15T15:16:42.383Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/sections/features</loc>
<lastmod>2026-09-17T13:20:07.989Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/authors/adaeze-okonkwo</loc>
<lastmod>2026-11-01T17:46:27.839Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/authors/priya-subramaniam</loc>
<lastmod>2026-11-01T17:46:27.839Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/authors/marcus-heiland</loc>
<lastmod>2026-11-01T17:46:27.839Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/authors/tobias-wrenfield</loc>
<lastmod>2026-11-01T17:46:27.839Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/the-one-time-access-configuration-pattern-that-eliminates-the-engineer-as-query</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/461d81d9-62cb-46b4-9518-dd5902553dd8.jpeg</image:loc>
</image:image>
<lastmod>2026-11-01T17:46:27.839Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/why-custom-internal-tools-fail-ops-teams-that-need-row-level-record-editing</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/f2ea0291-c9ad-4177-a7a8-5d28ebb9233c.jpeg</image:loc>
</image:image>
<lastmod>2026-10-29T15:21:21.576Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/comparing-internal-tools-platforms-on-granular-permission-models-for-mixed-techn</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/95b4bed3-cf4f-40d3-8892-8efeac92a85e.jpeg</image:loc>
</image:image>
<lastmod>2026-10-27T17:32:45.024Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/least-privilege-access-control-architectures-for-internal-database-tooling</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/025ad166-f435-49ad-9d6a-6bb7cf293c3d.jpeg</image:loc>
</image:image>
<lastmod>2026-10-26T17:41:28.099Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/row-level-permissioned-editing-without-the-internal-tool-build-cycle</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/ccc7a71a-8dfc-4ab0-91a4-4c8957744377.jpeg</image:loc>
</image:image>
<lastmod>2026-10-24T16:56:03.095Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/accuracy-benchmark-design-for-text-to-sql-analytical-tools</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/a6701441-fb93-4bbf-8f9e-f8519c1aede1.jpeg</image:loc>
</image:image>
<lastmod>2026-10-23T16:31:50.729Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/evaluating-ai-analyst-tools-on-metric-definition-compliance</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/fca80304-4d86-4a23-8bfe-5d4d84026b92.jpeg</image:loc>
</image:image>
<lastmod>2026-10-22T16:36:26.880Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/how-non-technical-teams-evaluate-whether-a-database-gui-actually-lets-them-self</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/fd9718cf-6a35-44a1-89f0-5d25611b8dde.jpeg</image:loc>
</image:image>
<lastmod>2026-10-21T17:21:54.867Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/blocking-sensitive-field-exposure-and-bulk-export-for-sales-and-support-database</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/52fe3fb7-3fa1-44f6-9bd4-35327ac613df.jpeg</image:loc>
</image:image>
<lastmod>2026-10-20T17:26:28.238Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/access-governance-patterns-that-let-ops-and-marketing-self-serve-without-owning</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/235141f2-188d-4809-955a-5113a53cc06f.jpeg</image:loc>
</image:image>
<lastmod>2026-10-19T17:06:11.316Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/what-engineers-configure-before-non-technical-teams-touch-an-internal-database-t</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/ac9de74a-41d5-4b19-8783-4f3ddd150f40.jpeg</image:loc>
</image:image>
<lastmod>2026-10-18T16:40:55.429Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/governed-self-serve-query-access-as-a-startup-scales-from-fifty-to-one-hundred-f</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/26d37c21-a66e-41d9-8272-8986432e4887.jpeg</image:loc>
</image:image>
<lastmod>2026-10-17T17:35:40.344Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/scoping-support-agent-write-access-to-exact-records-without-a-custom-internal-to</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/1f04033c-8095-4162-bd2f-0556fa5625a6.jpeg</image:loc>
</image:image>
<lastmod>2026-10-16T16:36:52.156Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/schema-context-window-limits-and-sql-accuracy-degradation</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/9e8e183d-5597-4964-bf88-09b6ea2a3836.jpeg</image:loc>
</image:image>
<lastmod>2026-10-15T15:16:42.383Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/text-to-sql-hallucination-patterns-on-production-schemas</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/673d5701-073b-409c-82ba-b4d3931d03ea.jpeg</image:loc>
</image:image>
<lastmod>2026-10-14T15:36:44.653Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/testing-metric-logic-with-dbt-data-tests-in-ci</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/2155b09c-8410-4bc6-8c83-900a8a2ff3d8.jpeg</image:loc>
</image:image>
<lastmod>2026-10-13T15:16:47.327Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/safe-editable-data-access-patterns-for-ops-and-support-teams</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/7799e8ba-f433-40d1-b07c-b2504919a4a9.jpeg</image:loc>
</image:image>
<lastmod>2026-10-12T15:51:42.824Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/auditing-data-access-events-across-bi-tools-and-database-connections</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/dc93c532-794b-4a26-a933-a95230a97e80.jpeg</image:loc>
</image:image>
<lastmod>2026-10-11T16:35:47.657Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/preventing-metric-sprawl-in-a-growing-analytics-organization</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/50416ef6-181e-4d33-8ceb-176dd46d0494.jpeg</image:loc>
</image:image>
<lastmod>2026-10-10T16:41:31.444Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/semantic-layer-tools-comparison-for-mid-size-data-teams</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/a2d6d1ca-63d1-4208-a61b-b7efbf6e2e4e.jpeg</image:loc>
</image:image>
<lastmod>2026-10-09T15:50:03.138Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/documenting-metric-logic-inside-dbt-for-analytics-engineers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/2123f8ed-3582-4e8b-a9d2-475738212969.jpeg</image:loc>
</image:image>
<lastmod>2026-10-08T15:21:22.629Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/self-serve-analytics-access-without-sql-knowledge-at-mid-size-companies</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/9fbde44e-cbb9-4880-87bf-0085df9be7cd.jpeg</image:loc>
</image:image>
<lastmod>2026-10-07T16:25:54.525Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/single-source-of-truth-vs-federated-semantic-layers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/d044cabb-d4b8-420e-9675-949b2f723fac.png</image:loc>
</image:image>
<lastmod>2026-10-05T16:50:41.932Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/exposing-semantic-layer-metrics-to-non-sql-bi-tools</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/833f6fff-fa2e-4b8d-a051-74d46b35dfe2.jpeg</image:loc>
</image:image>
<lastmod>2026-10-04T17:29:51.672Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/metric-catalog-schema-design-for-cross-functional-teams</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/8d6b3ca8-c2c1-4d20-8a96-46db8a6f2acc.jpeg</image:loc>
</image:image>
<lastmod>2026-09-30T18:00:32.062Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/replacing-shared-database-credentials-with-role-based-access-controls</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/a729c0fa-70ac-4f55-a128-46425b5f4574.jpeg</image:loc>
</image:image>
<lastmod>2026-09-30T17:02:53.225Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/column-level-data-masking-for-pii-in-analytics-workflows</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/6e0d5efb-7259-4aaa-bf20-21d06a107676.jpeg</image:loc>
</image:image>
<lastmod>2026-09-30T16:21:17.328Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/database-role-design-for-non-technical-business-user-access</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/3982e31c-a955-4ee7-9584-94745c87b8da.jpeg</image:loc>
</image:image>
<lastmod>2026-09-29T01:21:12.309Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/row-level-security-implementation-in-postgres-for-multi-team-analytics</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/5f07c54b-fea8-4dad-8cca-5420a0f64a5f.jpeg</image:loc>
</image:image>
<lastmod>2026-09-27T00:05:20.428Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/data-observability-tools-comparison-for-sql-query-tracing</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/571b94ee-a534-4e5a-b929-2d0300aecf45.jpeg</image:loc>
</image:image>
<lastmod>2026-09-25T00:06:05.303Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/reproducing-a-metric-value-after-a-schema-migration</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/628845f6-d118-4814-831a-354fab5798e4.jpeg</image:loc>
</image:image>
<lastmod>2026-09-22T17:31:15.010Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/immutable-query-logs-as-an-analytical-audit-trail</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/3c295920-3e17-49e3-a17a-f46774c81fbd.jpeg</image:loc>
</image:image>
<lastmod>2026-09-21T16:20:12.710Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/linking-bi-dashboard-queries-to-dbt-model-versions</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/1d75cec4-63b0-45e7-93bb-ddc632f67684.jpeg</image:loc>
</image:image>
<lastmod>2026-09-20T15:24:02.785Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/saved-query-catalogs-for-reproducible-analytical-answers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/7542f1a2-e529-41a2-b3ce-8f75efd0d2c5.jpeg</image:loc>
</image:image>
<lastmod>2026-09-19T17:08:53.476Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/audit-logging-for-sql-queries-on-production-databases</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/9758189c-64a9-434d-bfa2-639803ddc691.jpeg</image:loc>
</image:image>
<lastmod>2026-09-18T16:24:50.447Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/query-lineage-tracking-from-dashboard-to-source-table</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/e886d9d8-8020-4939-ba90-ffbf711369b4.jpeg</image:loc>
</image:image>
<lastmod>2026-09-17T16:59:29.794Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/wrong-joins-wrong-grain-invented-columns-llm-sql-errors-by-type</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/2c42cf74-bbf2-4ea0-a82b-2778141f9cd9.jpeg</image:loc>
</image:image>
<lastmod>2026-09-17T13:20:07.989Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://thesemanticrecord.com/posts/column-level-lineage-in-dbt-for-metric-auditability</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/ffb1403e-e911-4b0d-a6b4-1217f2ffd591/canvas/f1720c91-c51c-48d2-b9df-5ab911d8dcb8/generated/267c71dc-052f-40e3-b354-8f0e08cd88b2.png</image:loc>
</image:image>
<lastmod>2026-09-15T21:46:30.568Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
