<?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://lukasgrigis.dev/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
</url>
<url>
<loc>https://lukasgrigis.dev/projects/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
</url>
<url>
<loc>https://lukasgrigis.dev/about-me/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
</url>
<url>
<loc>https://lukasgrigis.dev/contact/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
</url>
<url>
<loc>https://lukasgrigis.dev/newsletter/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/newsletter.png</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/privacy/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/guides/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/guides.png</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/guides/agent-harnesses/</loc>
<lastmod>2026-08-30T05:57:07.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/guides/agent-harnesses.png</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/guides/java-foundations/</loc>
<lastmod>2026-09-30T00:00:00.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/guides/java-foundations.png</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/guides/spring-boot-postgres/</loc>
<lastmod>2026-08-30T05:57:07.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/guides/spring-boot-postgres.png</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/guides/ralphctl/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/guides/ralphctl.png</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/guides/spring-boot-oauth2/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/guides/spring-boot-oauth2.png</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/building-ralphctl/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/building-ralphctl.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/java-memory-model/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/java-memory-model.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/delivery-harness/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/delivery-harness.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/estimation-in-the-ai-age/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/estimation-in-the-ai-age.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/java-records-sealed-pattern-matching/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/java-records-sealed-pattern-matching.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/rabbitmq-oauth2-amqp-0-9-1/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/rabbitmq-oauth2-amqp-0-9-1.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/rabbitmq-oauth2-amqp-1-0/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/rabbitmq-oauth2-amqp-1-0.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/ralph-loop/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/ralph-loop.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/ralphctl-agent-harness/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/ralphctl-agent-harness.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/ralphctl-measuring-the-harness/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/ralphctl-measuring-the-harness.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/ralphctl-harness-era/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/ralphctl-harness-era.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/six-years-to-first-post/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/six-years-to-first-post.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/ralphctl-overnight-run/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/ralphctl-overnight-run.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/spring-boot-virtual-threads/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/spring-boot-virtual-threads.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/spring-oauth2-mcp-cimd/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/spring-oauth2-mcp-cimd.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/spring-oauth2-mcp/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/spring-oauth2-mcp.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/trusting-ai-generated-code/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/trusting-ai-generated-code.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/token-exchange-spring-cloud-gateway/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/token-exchange-spring-cloud-gateway.jpg</image:loc>
</image:image>
</url>
<url>
<loc>https://lukasgrigis.dev/blog/spring-boot-postgres-full-text-search/</loc>
<lastmod>2026-11-11T07:10:45.000Z</lastmod>
<image:image>
<image:loc>https://lukasgrigis.dev/og/blog/spring-boot-postgres-full-text-search.jpg</image:loc>
</image:image>
</url>
</urlset>
