<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on dxaws</title><link>https://dev.dxaws.com/</link><description>Recent content in Home on dxaws</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026</copyright><lastBuildDate>Thu, 23 Apr 2026 18:48:59 +0000</lastBuildDate><atom:link href="https://dev.dxaws.com/index.xml" rel="self" type="application/rss+xml"/><item><title>dxaws-core</title><link>https://dev.dxaws.com/dev/dxaws-core/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/dev/dxaws-core/</guid><description>The foundation of the dxaws ecosystem</description></item><item><title>Modules</title><link>https://dev.dxaws.com/dev/modules/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/dev/modules/</guid><description>How dxaws modules are structured, created, and developed</description></item><item><title>Providers and Protocols</title><link>https://dev.dxaws.com/dev/providersprotocols/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/dev/providersprotocols/</guid><description>How dxaws separates orchestration from AWS access using providers and typing protocols</description></item><item><title>Lifecycle</title><link>https://dev.dxaws.com/dev/lifecycle/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/dev/lifecycle/</guid><description>dxaws module lifecycle</description></item><item><title>The AI (LLM) Situation</title><link>https://dev.dxaws.com/blog/2026-04-23-the-llm-situation/</link><pubDate>Thu, 23 Apr 2026 18:48:59 +0000</pubDate><guid>https://dev.dxaws.com/blog/2026-04-23-the-llm-situation/</guid><description>A real look at using LLMs in software engineering</description></item><item><title>The Registry Module Planning Session (part 2): Manager Interface Surface</title><link>https://dev.dxaws.com/blog/2026-04-16-registry-plan-manager-interface/</link><pubDate>Thu, 16 Apr 2026 21:51:10 +0000</pubDate><guid>https://dev.dxaws.com/blog/2026-04-16-registry-plan-manager-interface/</guid><description>&lt;h2 class="relative group"&gt;Introduction
 &lt;div id="introduction" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;In the previous post we defined the conceptual model for the registry.&lt;/p&gt;
&lt;p&gt;Now we begin defining the manager interface — the public surface through which other modules interact with the registry.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Design Goals for the Manager
 &lt;div id="design-goals-for-the-manager" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design-goals-for-the-manager" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The registry will follow the same basic design principles as other modules in the &lt;code&gt;dxaws&lt;/code&gt; ecosystem. The &lt;code&gt;manager&lt;/code&gt; is not only the public interface to the module, but it also manages the work through the other parts of the module, namely the &lt;code&gt;planner&lt;/code&gt;, &lt;code&gt;executor&lt;/code&gt; and providers. We want to spend a bit of time thinking about the design of the interface to this module since it will be difficult to change down the road. Some other considerations for the module in general will include:&lt;/p&gt;</description></item><item><title>The Registry Module Planning Session (part 1)</title><link>https://dev.dxaws.com/blog/2026-04-16-registry-plan/</link><pubDate>Thu, 16 Apr 2026 13:22:10 +0000</pubDate><guid>https://dev.dxaws.com/blog/2026-04-16-registry-plan/</guid><description>&lt;h2 class="relative group"&gt;Introduction
 &lt;div id="introduction" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Up to this point, we have focused on building primitive modules like DNS, ACM, S3, and CloudFront. As those pieces stabilize, the need for a registry becomes clearer: we need a consistent way to track what exists, where it lives, and who is responsible for it.&lt;/p&gt;
&lt;p&gt;Now that we have a design direction, we can jump right into the implementation planning. In this session, we want to start translating the design discussion into something we can actually build by:&lt;/p&gt;</description></item><item><title>The Dependency Gravity Model</title><link>https://dev.dxaws.com/blog/2026-04-09-dependency-gravity-model/</link><pubDate>Thu, 09 Apr 2026 19:54:37 +0000</pubDate><guid>https://dev.dxaws.com/blog/2026-04-09-dependency-gravity-model/</guid><description>&lt;h2 class="relative group"&gt;Introduction
 &lt;div id="introduction" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;This post is specifically about a planning technique I have used to prioritize my design work effort for many, many years. Defining priorities is one of those things that people seem to have a hard time with. In the interests of efficiency, we want to make sure that we are spending our time on the things that matter the most. I mean, it&amp;rsquo;s not all that hard to grab a bunch of pieces and glue them all together to build a system that works and claim victory. Unfortunately, one thing I learned very early on in my career is that building it is easy, the real work starts when people start to use it.&lt;/p&gt;</description></item><item><title>The Registry Module design session</title><link>https://dev.dxaws.com/blog/2026-04-09-the-registry-module/</link><pubDate>Thu, 09 Apr 2026 14:50:05 +0000</pubDate><guid>https://dev.dxaws.com/blog/2026-04-09-the-registry-module/</guid><description>&lt;h2 class="relative group"&gt;Introduction
 &lt;div id="introduction" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;At this point, we have a number of primitives that can be used to manage resources on AWS and a composition module that uses the primitives to build a website using Cloudfront/S3/ACM/Route53. It&amp;rsquo;s basically a single command like &amp;ldquo;I want a website called test1.dxaws.com in account #123 in region us-least-6&amp;rdquo; and away it goes. The whole process takes about five minutes, which seems pretty good, not great but there are some ways to optimize it even further by creating resource pools.&lt;/p&gt;</description></item><item><title>dxaws-website / API</title><link>https://dev.dxaws.com/modules/dxaws-website/api/</link><pubDate>Thu, 09 Apr 2026 08:34:06 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-website/api/</guid><description>dxaws orchestration module for static websites (S3 + ACM + CloudFront + Route53).</description></item><item><title>dxaws-website / design</title><link>https://dev.dxaws.com/modules/dxaws-website/design/</link><pubDate>Thu, 09 Apr 2026 08:34:06 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-website/design/</guid><description>&lt;h1 class="relative group"&gt;Design Notes for dxaws-website
 &lt;div id="design-notes-for-dxaws-website" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design-notes-for-dxaws-website" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;

&lt;h2 class="relative group"&gt;Architecture
 &lt;div id="architecture" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#architecture" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;dxaws-website&lt;/code&gt; is an orchestration module that composes primitive modules (S3, ACM, CloudFront, DNS) without implementing raw AWS service logic in this package.&lt;/p&gt;
&lt;p&gt;This module:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;does not expose a &lt;code&gt;Module&lt;/code&gt; facade&lt;/li&gt;
&lt;li&gt;does not expose legacy planner/executor top-level APIs&lt;/li&gt;
&lt;li&gt;does expose a manager-centric flow: &lt;code&gt;get_current -&amp;gt; plan -&amp;gt; apply -&amp;gt; execute&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;Typed inputs and outputs
 &lt;div id="typed-inputs-and-outputs" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#typed-inputs-and-outputs" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Primary intent is represented by &lt;code&gt;WebsiteDesired&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>dxaws-website / usage</title><link>https://dev.dxaws.com/modules/dxaws-website/usage/</link><pubDate>Thu, 09 Apr 2026 08:34:06 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-website/usage/</guid><description>dxaws orchestration module for static websites (S3 + ACM + CloudFront + Route53).</description></item><item><title>dxaws-s3 / API</title><link>https://dev.dxaws.com/modules/dxaws-s3/api/</link><pubDate>Thu, 09 Apr 2026 08:34:05 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-s3/api/</guid><description>Create and manage S3 buckets</description></item><item><title>dxaws-s3 / design</title><link>https://dev.dxaws.com/modules/dxaws-s3/design/</link><pubDate>Thu, 09 Apr 2026 08:34:05 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-s3/design/</guid><description>&lt;h1 class="relative group"&gt;Design
 &lt;div id="design" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;

&lt;h2 class="relative group"&gt;Goals
 &lt;div id="goals" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#goals" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Converge an S3 bucket to a desired spec for the supported features:
&lt;ul&gt;
&lt;li&gt;tags&lt;/li&gt;
&lt;li&gt;versioning&lt;/li&gt;
&lt;li&gt;public access block&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Stay declarative: Desired → Current → Plan → Apply → Result&lt;/li&gt;
&lt;li&gt;Keep the module primitive and composable: no “SDK wrapper” surface&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Future scope (not implemented yet): encryption, lifecycle rules, bucket policy templates (e.g., TLS-only), CloudFront-origin/OAC policy convergence.&lt;/p&gt;</description></item><item><title>dxaws-s3 / usage</title><link>https://dev.dxaws.com/modules/dxaws-s3/usage/</link><pubDate>Thu, 09 Apr 2026 08:34:05 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-s3/usage/</guid><description>Create and manage S3 buckets</description></item><item><title>dxaws-dns / API</title><link>https://dev.dxaws.com/modules/dxaws-dns/api/</link><pubDate>Thu, 09 Apr 2026 08:34:04 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-dns/api/</guid><description>A foundational DNS module for the dxaws ecosystem</description></item><item><title>dxaws-dns / design</title><link>https://dev.dxaws.com/modules/dxaws-dns/design/</link><pubDate>Thu, 09 Apr 2026 08:34:04 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-dns/design/</guid><description>&lt;h1 class="relative group"&gt;Design Notes for dxaws-dns
 &lt;div id="design-notes-for-dxaws-dns" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design-notes-for-dxaws-dns" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;This document captures the design intent and architectural rules for the
&lt;code&gt;dxaws-dns&lt;/code&gt; primitive.&lt;/p&gt;
&lt;p&gt;The module is intentionally small: it exists to provide a stable, composable
contract for managing DNS record sets in AWS Route 53 using &lt;strong&gt;declarative
convergence&lt;/strong&gt;.&lt;/p&gt;
&lt;hr&gt;

&lt;h2 class="relative group"&gt;Architectural Position in dxaws
 &lt;div id="architectural-position-in-dxaws" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#architectural-position-in-dxaws" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;dxaws-dns&lt;/code&gt; is a &lt;strong&gt;primitive module&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>dxaws-dns / usage</title><link>https://dev.dxaws.com/modules/dxaws-dns/usage/</link><pubDate>Thu, 09 Apr 2026 08:34:04 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-dns/usage/</guid><description>A foundational DNS module for the dxaws ecosystem</description></item><item><title>dxaws-cloudfront / API</title><link>https://dev.dxaws.com/modules/dxaws-cloudfront/api/</link><pubDate>Thu, 09 Apr 2026 08:34:03 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-cloudfront/api/</guid><description>Create and manage cloudfront CDNs</description></item><item><title>dxaws-cloudfront / design</title><link>https://dev.dxaws.com/modules/dxaws-cloudfront/design/</link><pubDate>Thu, 09 Apr 2026 08:34:03 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-cloudfront/design/</guid><description>&lt;h1 class="relative group"&gt;Design Notes for dxaws-cloudfront
 &lt;div id="design-notes-for-dxaws-cloudfront" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design-notes-for-dxaws-cloudfront" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;This document is the architecture/design reference for &lt;strong&gt;dxaws-cloudfront&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The goal is to keep the &lt;strong&gt;module contract stable&lt;/strong&gt; while allowing the internals
(planner comparisons, provider implementations, config shapes) to evolve.&lt;/p&gt;
&lt;hr&gt;

&lt;h2 class="relative group"&gt;Purpose and Scope
 &lt;div id="purpose-and-scope" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#purpose-and-scope" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;dxaws-cloudfront&lt;/strong&gt; converges a single CloudFront distribution to a desired state.&lt;/p&gt;</description></item><item><title>dxaws-cloudfront / usage</title><link>https://dev.dxaws.com/modules/dxaws-cloudfront/usage/</link><pubDate>Thu, 09 Apr 2026 08:34:03 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-cloudfront/usage/</guid><description>Create and manage cloudfront CDNs</description></item><item><title>dxaws-core / API</title><link>https://dev.dxaws.com/modules/dxaws-core/api/</link><pubDate>Thu, 09 Apr 2026 08:34:03 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-core/api/</guid><description>Core primitives for dxaws modules (infra + session)</description></item><item><title>dxaws-core / design</title><link>https://dev.dxaws.com/modules/dxaws-core/design/</link><pubDate>Thu, 09 Apr 2026 08:34:03 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-core/design/</guid><description>&lt;h1 class="relative group"&gt;Design Notes for dxaws-core
 &lt;div id="design-notes-for-dxaws-core" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design-notes-for-dxaws-core" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;

&lt;h2 class="relative group"&gt;Architecture
 &lt;div id="architecture" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#architecture" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Explain how this module fits into the overall dxaws system.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Key Concepts
 &lt;div id="key-concepts" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#key-concepts" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Providers&lt;/li&gt;
&lt;li&gt;Managers&lt;/li&gt;
&lt;li&gt;Tokens / naming&lt;/li&gt;
&lt;li&gt;AWS service boundaries&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;Tradeoffs
 &lt;div id="tradeoffs" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tradeoffs" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Call out intentional decisions or limitations.&lt;/p&gt;</description></item><item><title>dxaws-core / usage</title><link>https://dev.dxaws.com/modules/dxaws-core/usage/</link><pubDate>Thu, 09 Apr 2026 08:34:03 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-core/usage/</guid><description>Core primitives for dxaws modules (infra + session)</description></item><item><title>dxaws-cli / API</title><link>https://dev.dxaws.com/modules/dxaws-cli/api/</link><pubDate>Thu, 09 Apr 2026 08:34:02 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-cli/api/</guid><description>The dxaws CLI</description></item><item><title>dxaws-cli / design</title><link>https://dev.dxaws.com/modules/dxaws-cli/design/</link><pubDate>Thu, 09 Apr 2026 08:34:02 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-cli/design/</guid><description>&lt;h1 class="relative group"&gt;Design Notes for dxaws-cli
 &lt;div id="design-notes-for-dxaws-cli" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design-notes-for-dxaws-cli" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;dxaws is:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A local orchestration layer that brokers identity, scope, and capability across AWS accounts&lt;/p&gt;

&lt;h2 class="relative group"&gt;Architecture
 &lt;div id="architecture" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#architecture" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Explain how this module fits into the overall dxaws system.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Declarative Convergence
 &lt;div id="declarative-convergence" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#declarative-convergence" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;This module follows a &lt;strong&gt;declarative convergence&lt;/strong&gt; model.&lt;/p&gt;</description></item><item><title>dxaws-cli / usage</title><link>https://dev.dxaws.com/modules/dxaws-cli/usage/</link><pubDate>Thu, 09 Apr 2026 08:34:02 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-cli/usage/</guid><description>The dxaws CLI</description></item><item><title>dxaws-acm / API</title><link>https://dev.dxaws.com/modules/dxaws-acm/api/</link><pubDate>Thu, 09 Apr 2026 08:34:01 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-acm/api/</guid><description>ACM certificate workflow</description></item><item><title>dxaws-acm / design</title><link>https://dev.dxaws.com/modules/dxaws-acm/design/</link><pubDate>Thu, 09 Apr 2026 08:34:01 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-acm/design/</guid><description>&lt;h1 class="relative group"&gt;Design Notes for dxaws-acm
 &lt;div id="design-notes-for-dxaws-acm" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design-notes-for-dxaws-acm" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;

&lt;h2 class="relative group"&gt;Position in the dxaws Architecture
 &lt;div id="position-in-the-dxaws-architecture" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#position-in-the-dxaws-architecture" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;dxaws-acm&lt;/code&gt; is a certificate lifecycle module in the dxaws ecosystem.&lt;/p&gt;
&lt;p&gt;It manages the lifecycle of &lt;strong&gt;DNS-validated ACM certificates&lt;/strong&gt;, but it does not directly manage Route53 validation records.&lt;/p&gt;
&lt;p&gt;Validation record creation and hosted zone resolution are delegated to the &lt;code&gt;dxaws-dns&lt;/code&gt; module. This makes &lt;code&gt;dxaws-acm&lt;/code&gt; a composed module that depends on DNS rather than a fully standalone primitive.&lt;/p&gt;</description></item><item><title>dxaws-acm / usage</title><link>https://dev.dxaws.com/modules/dxaws-acm/usage/</link><pubDate>Thu, 09 Apr 2026 08:34:01 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-acm/usage/</guid><description>ACM certificate workflow</description></item><item><title>dxaws-account / API</title><link>https://dev.dxaws.com/modules/dxaws-account/api/</link><pubDate>Thu, 09 Apr 2026 08:34:00 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-account/api/</guid><description>The dxaws AWS account and organization management</description></item><item><title>dxaws-account / design</title><link>https://dev.dxaws.com/modules/dxaws-account/design/</link><pubDate>Thu, 09 Apr 2026 08:34:00 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-account/design/</guid><description>&lt;h1 class="relative group"&gt;Design Notes for dxaws-accounts
 &lt;div id="design-notes-for-dxaws-accounts" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#design-notes-for-dxaws-accounts" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;

&lt;h2 class="relative group"&gt;Architecture
 &lt;div id="architecture" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#architecture" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Explain how this module fits into the overall dxaws system.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Declarative Convergence
 &lt;div id="declarative-convergence" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#declarative-convergence" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;This module follows a &lt;strong&gt;declarative convergence&lt;/strong&gt; model.&lt;/p&gt;
&lt;p&gt;Instead of issuing imperative AWS calls directly, callers describe the
&lt;em&gt;desired state&lt;/em&gt;. The module then:&lt;/p&gt;</description></item><item><title>dxaws-account / usage</title><link>https://dev.dxaws.com/modules/dxaws-account/usage/</link><pubDate>Thu, 09 Apr 2026 08:34:00 -0400</pubDate><guid>https://dev.dxaws.com/modules/dxaws-account/usage/</guid><description>The dxaws AWS account and organization management</description></item><item><title>Control Plane Architecture</title><link>https://dev.dxaws.com/architecture/controlplane/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/architecture/controlplane/</guid><description>The dxaws Control Plane</description></item><item><title>Andrew Wyllie</title><link>https://dev.dxaws.com/about/andrew/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/about/andrew/</guid><description>&lt;h2 class="relative group"&gt;Andrew Wyllie
 &lt;div id="andrew-wyllie" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#andrew-wyllie" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Andrew is&lt;/p&gt;</description></item><item><title>Module Architecture</title><link>https://dev.dxaws.com/architecture/modules/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/architecture/modules/</guid><description>Using declarative convergence to manage AWS resources</description></item><item><title>Software Architecture</title><link>https://dev.dxaws.com/architecture/softwarearch/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/architecture/softwarearch/</guid><description>Using declarative convergence to manage AWS resources</description></item><item><title>The LLM Team</title><link>https://dev.dxaws.com/about/llm/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/about/llm/</guid><description>&lt;h2 class="relative group"&gt;Athena Wise (from OpenAI)
 &lt;div id="athena-wise-from-openai" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#athena-wise-from-openai" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Athena Wise (name chosen by Athena) is currently ChatGPT v5.2. She enjoys
working with code and often has sarcastic responses to stupid questions which
is great. She is sharp though and takes critisms in stride. She sometime gets
a bit looped around but with the help of the rest of the team, everything gets
straighten out eventually&lt;/p&gt;</description></item><item><title>Amazon Certificate Manager (ACM) Module</title><link>https://dev.dxaws.com/modules_orig/acm/</link><pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/modules_orig/acm/</guid><description>dxaws ACM module for SSL certs</description></item><item><title>Hacking on dxaws – Test frameworks</title><link>https://dev.dxaws.com/dev/testing/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/dev/testing/</guid><description>How the dxaws unit and integration tests work</description></item><item><title>Hacking on dxaws – The Workspace Makefile</title><link>https://dev.dxaws.com/dev/makefile/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/dev/makefile/</guid><description>How the dxaws workspace Makefile works and how to use it effectively</description></item><item><title>The `dxaws-dns` module</title><link>https://dev.dxaws.com/modules_orig/dns/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/modules_orig/dns/</guid><description>module for managing DNS resources in AWS</description></item><item><title>Athena Gems</title><link>https://dev.dxaws.com/architecture/athenagems/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/architecture/athenagems/</guid><description>The opinionated AI</description></item><item><title>Testing</title><link>https://dev.dxaws.com/modules_orig/testing/</link><pubDate>Wed, 14 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/modules_orig/testing/</guid><description>Testing dxaws-* modules</description></item><item><title>Architectural Overview</title><link>https://dev.dxaws.com/architecture/overview/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/architecture/overview/</guid><description>The dxaws architectural overview</description></item><item><title>dxaws cli</title><link>https://dev.dxaws.com/tools/dxawscli/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/tools/dxawscli/</guid><description>drop in replacement for the aws cli</description></item><item><title>dxaws-core</title><link>https://dev.dxaws.com/modules_orig/core/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/modules_orig/core/</guid><description>dxaws base module</description></item><item><title/><link>https://dev.dxaws.com/orig/general/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/orig/general/</guid><description>&lt;p&gt;Where possible, we use a Declaritive Convergence model for module code&lt;/p&gt;
&lt;p&gt;NOTES:
I use the JetBrains IDE which shows where the cursor is in the editor using
codes like &lt;code&gt;&amp;lt;user__selection&amp;gt;&amp;lt;/user__selection&amp;gt;&lt;/code&gt;. It looks like a problem in
the code syntax but these markers are NOT in the code. You can safely ignore
these and never mention them.&lt;/p&gt;
&lt;p&gt;Here is the file tree for dxaws-core&lt;/p&gt;
&lt;p&gt;../repos/dxaws-core
├── LICENSE
├── pyproject.toml
├── README.md
├── src
│   ├── dxaws_core
│   │   ├── &lt;strong&gt;init&lt;/strong&gt;.py
│   │   ├── &lt;strong&gt;pycache&lt;/strong&gt;
│   │   │   ├── &lt;strong&gt;init&lt;/strong&gt;.cpython-313.pyc
│   │   │   ├── aws_credentials.cpython-313.pyc
│   │   │   ├── aws_session.cpython-313.pyc
│   │   │   ├── context.cpython-313.pyc
│   │   │   └── types.cpython-313.pyc
│   │   ├── aws_credentials.py
│   │   ├── aws_session.py
│   │   ├── base.py
│   │   ├── context.py
│   │   ├── manifest.py
│   │   ├── o11y.py
│   │   ├── providers
│   │   │   ├── &lt;strong&gt;pycache&lt;/strong&gt;
│   │   │   │   └── aws.cpython-313.pyc
│   │   │   └── aws.py
│   │   ├── testing
│   │   │   ├── &lt;strong&gt;pycache&lt;/strong&gt;
│   │   │   │   └── stubs.cpython-313.pyc
│   │   │   └── stubs.py
│   │   ├── types.py
│   │   └── utils
│   │   ├── &lt;strong&gt;init&lt;/strong&gt;.py
│   │   ├── &lt;strong&gt;pycache&lt;/strong&gt;
│   │   │   ├── &lt;strong&gt;init&lt;/strong&gt;.cpython-313.pyc
│   │   │   └── tokens.cpython-313.pyc
│   │   └── tokens.py
│   └── dxaws_core.egg-info
│   ├── dependency_links.txt
│   ├── PKG-INFO
│   ├── requires.txt
│   ├── SOURCES.txt
│   └── top_level.txt
└── tests
├── &lt;strong&gt;pycache&lt;/strong&gt;
│   ├── test_aws_credentials.cpython-313-pytest-9.0.2.pyc
│   ├── test_aws_provider_base.cpython-313-pytest-9.0.2.pyc
│   ├── test_aws_session.cpython-313-pytest-9.0.2.pyc
│   ├── test_context.cpython-313-pytest-9.0.2.pyc
│   ├── test_imports.cpython-313-pytest-9.0.2.pyc
│   └── test_tokens.cpython-313-pytest-9.0.2.pyc
├── test_aws_credentials.py
├── test_aws_provider_base.py
├── test_aws_session.py
├── test_context.py
└── test_tokens.py&lt;/p&gt;</description></item><item><title/><link>https://dev.dxaws.com/orig/modules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dev.dxaws.com/orig/modules/</guid><description>&lt;h1 class="relative group"&gt;Modules
 &lt;div id="modules" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#modules" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;modules are created by a Makefile using the following directory tree where
&lt;strong&gt;PKG&lt;/strong&gt; gets replace wich the name of the module. All modules have a dxaws-*
prefix&lt;/p&gt;
&lt;p&gt;tree
.
└── dxaws-module
├── LICENSE
├── pyproject.toml
├── README.md
├── scripts
├── src
│   └── &lt;strong&gt;PKG&lt;/strong&gt;
│   ├── &lt;strong&gt;init&lt;/strong&gt;.py
│   ├── constants.py
│   ├── exceptions.py
│   ├── manager.py
│   ├── models.py
│   └── providers
│   ├── &lt;strong&gt;init&lt;/strong&gt;.py
│   ├── aws.py
│   └── base.py
└── tests
├── &lt;strong&gt;pycache&lt;/strong&gt;
│   ├── test_models.cpython-313-pytest-9.0.2.pyc
│   ├── test_pkg_imports___PKG__.cpython-313-pytest-9.0.2.pyc
│   └── test_provider_base.cpython-313-pytest-9.0.2.pyc
├── test_models.py
├── test_pkg_imports___PKG__.py
└── test_provider_base.py&lt;/p&gt;</description></item></channel></rss>