Skip to content

Commit ad13eeb

Browse files
committed
Aestetics
1 parent 2866cb1 commit ad13eeb

1 file changed

Lines changed: 39 additions & 10 deletions

File tree

_posts/2026-05-22-reading-the-swamp.md

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ It's a lie, I didn't.
1616

1717
I forced an innocent AI to read it and summarize and explain the whole thing with the patience only AIs can have nowadays.
1818

19-
This post, written in 4 hands, well, two hands and a bunch of tokens, (you will never know, nor care, who wrote what), is the final, public, of such a journey into the swamp.
19+
This post, written in 4 hands, well, two hands and a bunch of tokens, (you will never know, nor care, who wrote what), is the final public summary of such a journey into the swamp.
2020

2121
## The map I should have read first
2222

@@ -70,29 +70,55 @@ Anyone who has agonised over "should the AI write code here, or data?" feels tha
7070

7171
It is the Puppet resource abstraction layer, reborn for agents.
7272

73-
**Workflows.** Multi-step DAGs of jobs, with parallel steps, and — this is the good bit — they nest. Steps chain data from earlier steps with CEL expressions, so the output of one job feeds the input of the next, typed all the way. It is a pipeline, except every edge is typed and every node leaves an immutable, versioned artifact behind. My day-one naming bug lived exactly here, in a model the loader refused to discover. Now I understand why the loader has opinions.
73+
**Workflows.** Multi-step DAGs of jobs, with parallel steps, and — this is the good bit — they nest.
74+
Steps chain data from earlier steps with CEL expressions, so the output of one job feeds the input of the next, typed all the way.
7475

75-
**Vaults.** Encrypted secret storage, referenced by expression, resolved at runtime rather than at planning time. Swappable providers: local encryption for me on my own, AWS Secrets Manager or 1Password for a team. Boring. I mean that as a compliment. Secret management that is boring is secret management done right.
76+
It is a pipeline, except every edge is typed and every node leaves an immutable, versioned artifact behind.
7677

77-
**Extensions.** The thing I face-planted into on day one. Extensions package reusable components — models, vault providers, execution drivers, datastores, reports — and you publish them to a registry where they become *"a full citizen immediately"*. On day one this scared me, and it still does a little. On day two I also see it for what it is: a package manager for agent capabilities.
78+
My day-one naming bug lived exactly here, in a model the loader refused to discover. Now I understand why the loader has opinions.
7879

79-
And no, Matteo, it's not just yet another collection of skills, hope this post will help in clarifying , what I not able to explain correctly.
80+
**Vaults.** Encrypted secret storage, referenced by expression, resolved at runtime rather than at planning time.
8081

81-
**Reports.** Structured analysis after every run, in Markdown *and* JSON. The agent doesn't just do the thing — it tells you what it did, in a format a human and another machine can both read. An audit trail as a first-class citizen, not an afterthought.
82+
Swappable providers: local encryption for me on my own, AWS Secrets Manager or 1Password for a team.
8283

83-
**Skills.** Markdown documents that teach the agent how to use Swamp, loaded on demand when a trigger fires. So the agent learns Swamp *from* Swamp. The framework documents itself to its own operator. Mildly meta. Slightly unsettling. Mostly brilliant.
84+
Boring.
85+
I mean that as a compliment. Secret management that is boring is secret management done right.
86+
87+
**Extensions.** The thing I face-planted into on day one. Extensions package reusable components — models, vault providers, execution drivers, datastores, reports — and you publish them to a registry where they become *"a full citizen immediately"*.
88+
89+
On day one this scared me, and it still does a little.
90+
On day two I also see it for what it is: a package manager for agent capabilities.
91+
92+
And no, Matteo, it's not just yet another collection of skills, hope this post will help in clarifying what I was not able to explain correctly.
93+
94+
**Reports.** Structured analysis after every run, in Markdown *and* JSON.
95+
96+
The agent doesn't just do the thing — it tells you what it did, in a format a human and another machine can both read.
97+
98+
An audit trail as a first-class citizen, not an afterthought.
99+
100+
**Skills.** Markdown documents that teach the agent how to use Swamp, loaded on demand when a trigger fires.
101+
102+
So the agent learns Swamp *from* Swamp.
103+
104+
The framework documents itself to its own operator.
105+
106+
Mildly meta. Slightly unsettling. Mostly brilliant.
84107

85108
## Not only for infrastructures
86109

87110
On day one I kept asking the same nervous question: *what repo?* Infrastructure repo? Software repo? Any repo?
88111

89112
The honest answer the docs gave me is: **any repeatable, multi-step thing.**
90113

91-
Infrastructure is the obvious case — inventory, provisioning, an AMI lookup feeding an EC2 model. Expected. Adam Jacob, System Initiative — of course it does infrastructure.
114+
Infrastructure is the obvious case — inventory, provisioning, an AMI lookup feeding an EC2 model.
115+
116+
Expected.
117+
Adam Jacob, System Initiative — of course it does infrastructure.
92118

93119
But the moment you stop reading "automation for AI agents" as "infrastructure" and start reading it as *"anything an agent currently does ad hoc in a chat window"*, the thing gets a great deal bigger.
94120

95-
Webframp, wrote a [enlightening post](https://webframp.com/posts/swamp-beyond-infrastructure/){:target="_blank"} about this, give it a look.
121+
Webframp wrote a [enlightening post](https://webframp.com/posts/swamp-beyond-infrastructure/){:target="_blank"} about this, give it a look.
96122

97123
Use cases are whatever you do more than once with an agent (or you should/may do with it).
98124

@@ -104,7 +130,10 @@ Or data remediation — a messy media library, a directory of inconsistently nam
104130

105131
Or the dull business automations — invoicing, monthly reports, the recurring thing you always forget until it is late.
106132

107-
The pattern underneath all of them is the same. The moment you frame a task as *"a workflow of typed models"* instead of *"a thing I ask the agent to improvise again"*, it stops being a one-off and becomes an **asset**. Reusability, abstraction, repeatability, traceability — my day-one sacred principles — except now they apply to what the AI does, not only to what I write by hand.
133+
The pattern underneath all of them is the same.
134+
The moment you frame a task as *"a workflow of typed models"* instead of *"a thing I ask the agent to improvise again"*, it stops being a one-off and becomes an **asset**.
135+
136+
Reusability, abstraction, repeatability, traceability — my day-one sacred principles — except now they apply to what the AI does, not only to what I write by hand.
108137

109138
## Teaching my agents to swim
110139

0 commit comments

Comments
 (0)