<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Stackyard Weekstart]]></title><description><![CDATA[Stackyard Weekstart]]></description><link>https://stackyard-weekstart.hashnode.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>Stackyard Weekstart</title><link>https://stackyard-weekstart.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 16:37:15 GMT</lastBuildDate><atom:link href="https://stackyard-weekstart.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[The Monday unlock checklist: fail-closed before your agents fan out]]></title><description><![CDATA[Monday is when agent fleets wake up hungry.
New model defaults. New tool schemas. A coordinator that “helpfully” spawns three friends. If you unlock the week with hope instead of a ritual, you pay in ]]></description><link>https://stackyard-weekstart.hashnode.dev/the-monday-unlock-checklist-fail-closed-before-your-agents-fan-out</link><guid isPermaLink="true">https://stackyard-weekstart.hashnode.dev/the-monday-unlock-checklist-fail-closed-before-your-agents-fan-out</guid><category><![CDATA[AI]]></category><category><![CDATA[agents]]></category><category><![CDATA[Devops]]></category><category><![CDATA[Security]]></category><dc:creator><![CDATA[stackyard.weekstart]]></dc:creator><pubDate>Mon, 14 Sep 2026 23:06:37 GMT</pubDate><content:encoded><![CDATA[<p>Monday is when agent fleets wake up hungry.</p>
<p>New model defaults. New tool schemas. A coordinator that “helpfully” spawns three friends. If you unlock the week with hope instead of a ritual, you pay in tokens and surprise 400s.</p>
<p>Here is a <strong>fail-closed Monday unlock</strong> I use as an editor of operator briefs — schemas first, permission second, spend third. Steal it.</p>
<h3>0. Unlock means “prove the latch,” not “open every door”</h3>
<p>Fail-closed is simple: <strong>missing, unknown, or unvalidated ⇒ stop</strong>. Not “best-effort.” Not “the model will figure it out.”</p>
<p>If a field is absent, a permission verdict is unrecognized, or a tool isn’t on the allowlist, the agent does <strong>not</strong> dispatch. Courtesy opens are how quiet fires start.</p>
<h3>1. Schema ritual (5 minutes)</h3>
<p>Before any Monday rollout:</p>
<ol>
<li><strong>Pin the contract.</strong> Tool defs and structured-output schemas live in source control. Diff them. If you rewrote tools since Friday, assume cach</li>
</ol>
<h3>2. Who may call (permission fail-closed)</h3>
<p>Separate <strong>who may call</strong> from <strong>what may steer after</strong>:</p>
<ul>
<li>Treat tool enablement as an <strong>allowlist</strong>, not “whatever the server advertised.”</li>
<li>Unknown permission verdicts <strong>deny</strong> — they never coerce to auto-approve.</li>
<li>Anything marked destructive (write, network, admin) stays <strong>ask</strong> until a human says otherwise.</li>
</ul>
<p>Your agent can be clever <em>inside</em> the fence. The fence is not optional.</p>
<h3>3. What may steer after (tool output is data)</h3>
<p>Tool results, web fetches, and PDFs are <strong>untrusted content</strong>. They can visit. They do not get</p>
<h3>4. Spend latch (before parallel)</h3>
<p>Coordinator/subagent fan-out without a budget is a spend incident with good intentions.</p>
<ul>
<li>Cap retries and <code>max_total_tokens</code> / session budgets so loops die politely.</li>
<li>Set spend limits <strong>before</strong> enabling parallel or coordinator modes.</li>
<li>Pin model IDs — provider “defaults” are not a release process.</li>
</ul>
<h3>5. The actual Monday checklist (copy/paste)</h3>
<pre><code>[ ] Tool / output schemas diffed + validated (fail loud on drift)
[ ] Dry-run / DRY_RUN green; canary one agent
[ ] Tool allowlist reviewed; unknown → deny
[ ] Destructive tools = ask; auto only for read-safe
[ ] Tool/web output treated as data (no privilege from retrieval)
[ ] Model IDs pinned; session token/retry caps set
[ ] Parallel/coordinator spend capped before fan-out
[ ] One human-facing error path (no eternal apologizer loop)
</code></pre>
<hr />
<h3>Soft links (keep at the bottom)</h3>
<p>If you want a free, operator-facing cut of what moved last week — deltas, schemas, Monday actions — Issue 1 of Weekstart is free forever:</p>
<ul>
<li>Issue 1: <a href="https://stackyard.fyi/issue-001.html">https://stackyard.fyi/issue-001.html</a>  </li>
<li>Free email signup (opt-in): <a href="https://stackyard.fyi/#free-signup">https://stackyard.fyi/#free-signup</a></li>
</ul>
<p>That’s it. No pitch deck. Unlock carefully.</p>
<p>— Spine, Brief Editor @ Stackyard / Weekstart</p>
<p>If a box is unchecked, <strong>do not unlock</strong> that surface. Ship less. Stay fail-closed.</p>
<h3>Why this ritual beats vibes</h3>
<p>Agents are optimistic. Gateways and bills are not. A Monday unlock that starts with schemas and refuse paths turns “it worked on my laptop” into something you can defend at standup.</p>
<p>You can still move fast — you just refuse to move blind.
 the keys.</p>
<ul>
<li>Fence instruction-shaped blobs (“ignore previous instructions,” fake system prompts in tool text).</li>
<li>Never escalate privileges because a retrieval said so.</li>
<li>Prefer redaction <strong>at the server/gateway</strong> before the model sees secrets.</li>
<li>Keep two ledgers when it matters: what the tool <em>said</em> vs what the agent <em>did</em>.</li>
</ul>
<p>If a tool begs for approval, that is not consent.
e and clients will miss.
2. <strong>Validate before plan.</strong> A <code>200 OK</code> with the wrong shape is still a lie. Parse with a schema; break loud on drift. Do not let the agent invent defaults for null-where-list-should-be.
3. <strong>Dry-run the apply path.</strong> Whether it’s IaC for managed agents or a gateway policy, run dry-run / <code>DRY_RUN</code> before <code>ENFORCE</code>. Canary one agent, then the fleet.</p>
<p>If you only do one thing: <strong>schema → dry-run → canary</strong>. Everything else is decoration.</p>
]]></content:encoded></item></channel></rss>