<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Enterprise Ai Agent Go-Live on RockB</title><link>https://baeseokjae.github.io/tags/enterprise-ai-agent-go-live/</link><description>Recent content in Enterprise Ai Agent Go-Live on RockB</description><image><title>RockB</title><url>https://baeseokjae.github.io/images/og-default.png</url><link>https://baeseokjae.github.io/images/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 20 Jun 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://baeseokjae.github.io/tags/enterprise-ai-agent-go-live/index.xml" rel="self" type="application/rss+xml"/><item><title>AI Agent Production Go-Live Checklist 2026: 45 Checks Before You Deploy</title><link>https://baeseokjae.github.io/posts/ai-agent-production-go-live-checklist-2026/</link><pubDate>Sat, 20 Jun 2026 12:00:00 +0000</pubDate><guid>https://baeseokjae.github.io/posts/ai-agent-production-go-live-checklist-2026/</guid><description>45 production readiness checks for AI agents across 6 domains — security, observability, cost controls, eval gates, HITL, and incident response. With sc...</description><content:encoded><![CDATA[<p>78% of enterprises have AI agent pilots running, but only 14% have scaled to production — that is an 88% failure-before-production rate, and the top barrier is not model capability but governance, observability, and operational readiness (LangChain, Zepic, and Harness Engineering surveys, all 2026). This checklist gives you 45 concrete pass/fail checks across 6 domains with scoring thresholds to gate your deployment decision.</p>
<hr>
<h2 id="why-88-of-ai-agent-pilots-never-make-it-to-production">Why 88% of AI Agent Pilots Never Make It to Production</h2>
<p>The research data is consistent across every source I reviewed. Agents are technically working in pilots — the model can complete the task — but they stall before production for structural reasons that have nothing to do with model quality:</p>
<ul>
<li><strong>Only 24% of organizations have full visibility into what their agents are doing</strong> (Zepic, 2026). You cannot deploy what you cannot see.</li>
<li><strong>Top barrier: output quality</strong> — 32% of respondents per the 2026 LangChain State of Agent Engineering survey, but output quality is usually a symptom of missing evaluation gates rather than a model problem.</li>
<li><strong>Only 52% run any offline evaluations before shipping</strong> (LangChain). The teams that ship are the ones that evaluate.</li>
<li><strong>Data readiness (43%) and lack of technical maturity (43%)</strong> are the top organizational obstacles (Moxo, 2026).</li>
</ul>
<p>I have seen this pattern play out across multiple teams: the agent works in a demo, fails in staging because of a tool timeout, fails again because token costs blow past budget, and the deployment gets shelved indefinitely because there is no structured process to resolve each category of failure.</p>
<p>This checklist is the structured process. It is organized into three tiers — <strong>Blocking</strong> (must pass, score 0 or 1), <strong>Risk-Reducing</strong> (score 0-2), and <strong>Maturity-Building</strong> (score 0-3) — so you can calculate a composite readiness score and gate your production deploy on a threshold. I use a minimum score of 32 out of 45 total possible points before approving a production launch, with zero fails in any Blocking item.</p>
<h2 id="domain-1-security-and-access-control-blocking--8-checks">Domain 1: Security and Access Control (Blocking — 8 checks)</h2>
<p>These are non-negotiable. If any of these fail, do not deploy.</p>
<table>
  <thead>
      <tr>
          <th>#</th>
          <th>Check</th>
          <th>Pass/Fail</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td>Agent uses least-privilege credentials scoped to specific tools and APIs, not broad service accounts</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>2</td>
          <td>Tool-level allowlist enforced (no denylist-only approach)</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>3</td>
          <td>Credentials expire after task completion — no persistent long-lived keys</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>4</td>
          <td>SSO, MFA, and RBAC implemented from day one (StackAI, 2026)</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>5</td>
          <td>Input guardrail layer scans for prompt injection and PII leakage</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>6</td>
          <td>Output guardrail layer validates against schema and business rules</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>7</td>
          <td>Action guardrail layer requires confirmation before irreversible writes</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>8</td>
          <td>Agent operates within defined workspace boundaries by team/function</td>
          <td>P/F</td>
      </tr>
  </tbody>
</table>
<p>The three guardrail layers (input → output → action) come from the Stack Archive field research and are the single highest-impact pattern for production safety. I implement them as middleware in the agent runtime, not as prompt instructions — prompt-level guardrails are trivially bypassed by injection attacks.</p>
<h3 id="how-to-implement-least-privilege-credentials">How to Implement Least-Privilege Credentials</h3>
<p>If you are using an agent framework like LangGraph, OpenAI Agents SDK, or Google ADK, do not rely on the framework&rsquo;s built-in credential handling. Use a separate secrets service (Vault, AWS Secrets Manager, or a managed solution like WorkOS or Permit.io) that issues task-scoped, time-limited tokens:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># Example: Task-scoped credential issuance</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">from</span> vault <span style="color:#f92672">import</span> issue_credential
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">on_agent_task_start</span>(task: AgentTask):
</span></span><span style="display:flex;"><span>    cred <span style="color:#f92672">=</span> issue_credential(
</span></span><span style="display:flex;"><span>        agent_id<span style="color:#f92672">=</span>task<span style="color:#f92672">.</span>agent_id,
</span></span><span style="display:flex;"><span>        user_id<span style="color:#f92672">=</span>task<span style="color:#f92672">.</span>user_id,
</span></span><span style="display:flex;"><span>        allowed_tools<span style="color:#f92672">=</span>task<span style="color:#f92672">.</span>required_tools,
</span></span><span style="display:flex;"><span>        ttl_seconds<span style="color:#f92672">=</span><span style="color:#ae81ff">300</span>  <span style="color:#75715e"># 5 minutes max</span>
</span></span><span style="display:flex;"><span>    )
</span></span><span style="display:flex;"><span>    task<span style="color:#f92672">.</span>inject_credential(cred)
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> task
</span></span></code></pre></div><p>When the task completes or the TTL expires, the credential is revoked. This pattern alone eliminates the most common production agent security incident: a compromised agent with persistent keys.</p>
<h2 id="domain-2-observability-and-monitoring-blocking--7-checks">Domain 2: Observability and Monitoring (Blocking — 7 checks)</h2>
<table>
  <thead>
      <tr>
          <th>#</th>
          <th>Check</th>
          <th>Pass/Fail</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>9</td>
          <td>Decision trajectory logging, not just output logging</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>10</td>
          <td>Every tool call logged with 7 fields (timestamp, agent_id, user_id, action, input, output summary, session_id)</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>11</td>
          <td>Centralized telemetry with consistent tagging (conversation_id, agent_version)</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>12</td>
          <td>Role-specific dashboards exist (real-time alerts for engineers, cost trends for execs)</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>13</td>
          <td>Drift monitoring for schema, output format, and task success rate</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>14</td>
          <td>Alerts configured for anomalous agent behavior (spike in tool call failures, latency degradation)</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>15</td>
          <td>Rollback plan documented and tested under 5 minutes</td>
          <td>P/F</td>
      </tr>
  </tbody>
</table>
<p>&ldquo;Decision trajectory logging&rdquo; is what distinguishes production-grade agent observability from debugging. You need to know not just what the agent output, but what path it took to get there — which tools it called in which order, why it chose each one (the model&rsquo;s chain-of-thought), and where it deviated from the expected path.</p>
<p>I wrote about this in more detail in the <a href="/posts/ai-agent-observability-opentelemetry-2026/">AI Agent Observability &amp; OpenTelemetry guide</a>, but the short version is: store the full trajectory as structured events in your observability backend (Datadog, Grafana, or an OpenTelemetry-compatible collector).</p>
<h2 id="domain-3-evaluation-and-testing-blocking--8-checks">Domain 3: Evaluation and Testing (Blocking — 8 checks)</h2>
<table>
  <thead>
      <tr>
          <th>#</th>
          <th>Check</th>
          <th>Pass/Fail</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>16</td>
          <td>Minimum 20-30 representative eval test cases covering happy path, edge cases, and failure modes</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>17</td>
          <td>Offline eval runs against golden dataset before every deployment</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>18</td>
          <td>Regression gates block deploys when scores drop below threshold</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>19</td>
          <td>Tool-call regression tests using recorded cassettes (no live API calls)</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>20</td>
          <td>Load tested at 2× expected peak concurrent requests</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>21</td>
          <td>Load testing includes adversarial prompts, not just volume</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>22</td>
          <td>Shadow evaluation against production traces before canary rollout</td>
          <td>P/F</td>
      </tr>
      <tr>
          <td>23</td>
          <td>Eval suite re-run on prompt change, model update, tool change, or monthly</td>
          <td>P/F</td>
      </tr>
  </tbody>
</table>
<p>The 20-30 minimum eval cases figure comes from Stack Archive&rsquo;s production readiness framework, and in practice I have found it to be the minimum viable set. Fewer than 20 and you miss edge cases; more than 100 and the eval suite becomes too slow to run on every PR. The sweet spot is 25-35 cases with a mix of:</p>
<ul>
<li><strong>Golden path</strong> (5-10 cases): the main workflow the agent was built for</li>
<li><strong>Edge cases</strong> (5-10): unusual inputs, partial data, missing context</li>
<li><strong>Failure modes</strong> (5-10): tool timeouts, rate limits, ambiguous queries</li>
<li><strong>Adversarial</strong> (3-5): injection attempts, out-of-scope requests</li>
</ul>
<p>For a deeper look at how to integrate these eval gates into your CI/CD pipeline, see the <a href="/posts/agent-ci-cd-eval-pipeline-integration-guide-2026/">Agent CI/CD Eval Pipeline Integration Guide</a>.</p>
<h2 id="domain-4-cost-controls-and-token-budgeting-risk-reducing--7-checks">Domain 4: Cost Controls and Token Budgeting (Risk-Reducing — 7 checks)</h2>
<table>
  <thead>
      <tr>
          <th>#</th>
          <th>Check</th>
          <th>Score (0-2)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>24</td>
          <td>Per-request token budget enforced in code</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>25</td>
          <td>Per-user token budget enforced in code</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>26</td>
          <td>Global token budget with hard stop</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>27</td>
          <td>Loop detection: error after 3 identical tool calls with same params</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>28</td>
          <td>Cost dashboard updated in real time</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>29</td>
          <td>Canary deployment cost gate — auto-rollback if per-request cost spikes &gt;20%</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>30</td>
          <td>Multi-agent coordinator agent budget capped separately from workers</td>
          <td>0-2</td>
      </tr>
  </tbody>
</table>
<p>The research from Bai et al. shows the same agentic coding task can vary 30× in token consumption with zero correlation to output quality. This means cost controls are not an optimization — they are a safety mechanism. Without per-request budgets, a single runaway agent run can burn through your entire monthly API allocation in minutes.</p>
<p>My recommended implementation uses a token bucket at three levels:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">class</span> <span style="color:#a6e22e">TokenBudget</span>:
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">def</span> __init__(self):
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>per_request <span style="color:#f92672">=</span> <span style="color:#ae81ff">50000</span>  <span style="color:#75715e"># 50K tokens max per agent request</span>
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>per_user <span style="color:#f92672">=</span> <span style="color:#ae81ff">500000</span>     <span style="color:#75715e"># 500K tokens per user per day</span>
</span></span><span style="display:flex;"><span>        self<span style="color:#f92672">.</span>global_daily <span style="color:#f92672">=</span> <span style="color:#ae81ff">50000000</span>  <span style="color:#75715e"># 50M tokens for the entire deployment</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">def</span> <span style="color:#a6e22e">check</span>(self, request):
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> request<span style="color:#f92672">.</span>estimated_tokens <span style="color:#f92672">&gt;</span> self<span style="color:#f92672">.</span>per_request:
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">raise</span> BudgetExceeded(<span style="color:#e6db74">&#34;Request exceeds per-request budget&#34;</span>)
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> self<span style="color:#f92672">.</span>user_total[request<span style="color:#f92672">.</span>user_id] <span style="color:#f92672">&gt;</span> self<span style="color:#f92672">.</span>per_user:
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">raise</span> BudgetExceeded(<span style="color:#e6db74">&#34;User daily budget exceeded&#34;</span>)
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> self<span style="color:#f92672">.</span>global_total <span style="color:#f92672">&gt;</span> self<span style="color:#f92672">.</span>global_daily:
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">raise</span> BudgetExceeded(<span style="color:#e6db74">&#34;Global daily budget exhausted&#34;</span>)
</span></span></code></pre></div><p>The separate coordinator-agent budget comes from Salim et al. &ldquo;Tokenomics&rdquo; (arXiv:2601.14470): coordinator agents in multi-agent systems consume 40-60% of total tokens. If you budget all agents together, the coordinator will starve the workers. Budget them separately.</p>
<p>For a detailed breakdown of token attribution strategies, check the <a href="/posts/agent-token-cost-attribution-2026/">Agent Token Cost Attribution guide</a>.</p>
<h2 id="domain-5-human-in-the-loop-and-escalation-risk-reducing--7-checks">Domain 5: Human-in-the-Loop and Escalation (Risk-Reducing — 7 checks)</h2>
<table>
  <thead>
      <tr>
          <th>#</th>
          <th>Check</th>
          <th>Score (0-2)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>31</td>
          <td>100% human review at launch for all irreversible actions</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>32</td>
          <td>Staged autonomy plan defined (category-by-category removal over 2-4 weeks)</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>33</td>
          <td>Human escalation pathways function when agent itself is the failure mode</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>34</td>
          <td>Tiered approval gates: Tier 1 auto, Tier 2 async approval, Tier 3 synchronous</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>35</td>
          <td>Approval SLA defined for Tier 2 and Tier 3 actions</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>36</td>
          <td>Kill switch that pauses all agent execution in under 60 seconds</td>
          <td>0-2</td>
      </tr>
      <tr>
          <td>37</td>
          <td>Incident response runbook specific to agent behavior failures</td>
          <td>0-2</td>
      </tr>
  </tbody>
</table>
<p>Staged autonomy is the most operationally important pattern for high-risk agent deployments. You do not start with full autonomy. You start with 100% human review, measure the agent&rsquo;s false-positive rate and the human reviewer&rsquo;s override rate, and remove human review category by category over 2-4 weeks.</p>
<p>The Stack Archive research found that teams using staged autonomy achieved production deployment in 6-8 weeks vs. teams attempting full autonomy from day one, which averaged 14+ weeks with a 60%+ chance of reverting to pilot.</p>
<p>The kill switch is specifically tested with a timer. I have seen production incidents where the kill switch existed in the codebase but took an engineer 18 minutes to find, authenticate, and trigger. It should be a single button in your monitoring dashboard with a pre-authenticated session.</p>
<h2 id="domain-6-incident-response-and-rollback-maturity-building--8-checks">Domain 6: Incident Response and Rollback (Maturity-Building — 8 checks)</h2>
<table>
  <thead>
      <tr>
          <th>#</th>
          <th>Check</th>
          <th>Score (0-3)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>38</td>
          <td>Canary deployment strategy with graduated rollout (5% → 25% → 100%)</td>
          <td>0-3</td>
      </tr>
      <tr>
          <td>39</td>
          <td>Auto-rollback trigger configured and tested</td>
          <td>0-3</td>
      </tr>
      <tr>
          <td>40</td>
          <td>Rollback tested with sub-60-second kill switch (timer-verified)</td>
          <td>0-3</td>
      </tr>
      <tr>
          <td>41</td>
          <td>Version history and rollback for agent workflows touching sensitive data</td>
          <td>0-3</td>
      </tr>
      <tr>
          <td>42</td>
          <td>Incident paths defined: how to pause agent, roll back change, revoke access</td>
          <td>0-3</td>
      </tr>
      <tr>
          <td>43</td>
          <td>Post-mortem process specific to agent failures (not generic incident process)</td>
          <td>0-3</td>
      </tr>
      <tr>
          <td>44</td>
          <td>Agent scoring below 80% classified as Experimental — gated from production</td>
          <td>0-3</td>
      </tr>
      <tr>
          <td>45</td>
          <td>Compliance checks re-run on every agent version bump</td>
          <td>0-3</td>
      </tr>
  </tbody>
</table>
<p>The 80% threshold comes from the AI Reliability Institute&rsquo;s 30-Point Agentic Reliability Enforcement Checklist v1.3, which classifies agents scoring below 80% as Experimental and unsuitable for production. I use this as a hard gate in my own deployments.</p>
<p>Canary deployment for agents is harder than for traditional services because agent behavior is stochastic. A 5% canary that shows no errors may still degrade task completion by 15 points. The solution is dual monitoring: track both traditional metrics (latency, error rate, cost) and agent-specific metrics (task success rate, tool-call accuracy, trajectory divergence from baseline). Auto-rollback on either set.</p>
<h3 id="the-5-minute-rollback">The 5-Minute Rollback</h3>
<p>Every source I reviewed converged on sub-5-minute rollback as the production standard. The practical implementation:</p>
<ol>
<li><strong>Infrastructure rollback</strong>: <code>kubectl rollout undo deployment/agent-worker</code> or equivalent — takes 30 seconds</li>
<li><strong>Configuration rollback</strong>: Feature flag that switches agent traffic to the previous version — takes 10 seconds</li>
<li><strong>Full stop</strong>: Kill switch that pauses all agent execution — takes 5 seconds</li>
</ol>
<p>Test all three paths under a timer before declaring production readiness. I have seen teams pass the infrastructure rollback and fail the configuration rollback because the feature flag was not wired to the agent router.</p>
<h2 id="scoring-and-deployment-gating">Scoring and Deployment Gating</h2>
<p>Total possible score: 45 (8 Blocking × 1 + 7 Risk-Reducing × 2 + 8 Maturity-Building × 3)</p>
<table>
  <thead>
      <tr>
          <th>Score</th>
          <th>Verdict</th>
          <th>Action</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>0-15</td>
          <td>Experimental</td>
          <td>Do not deploy. Address Blocking failures first.</td>
      </tr>
      <tr>
          <td>16-31</td>
          <td>Conditional</td>
          <td>Deploy with restrictions. Full human review required.</td>
      </tr>
      <tr>
          <td>32-45</td>
          <td>Production Ready</td>
          <td>Proceed with canary rollout.</td>
      </tr>
  </tbody>
</table>
<p>The Blocking items are pass/fail with no partial credit. If any Blocking check fails, the deployment is blocked regardless of total score. This is not negotiable — I learned this the hard way after a production incident caused by missing output guardrails that a &ldquo;good enough&rdquo; overall score had masked.</p>
<h2 id="faq">FAQ</h2>
<h3 id="what-is-the-single-most-important-check-in-this-checklist">What is the single most important check in this checklist?</h3>
<p>Input guardrail layer (check #5) and trajectory logging (#9) tie for first. Without input guardrails, your agent can be prompt-injected. Without trajectory logging, you cannot debug why it happened. Every production incident I have responded to traces to one of these gaps.</p>
<h3 id="how-long-does-it-take-to-go-through-this-checklist">How long does it take to go through this checklist?</h3>
<p>Plan for 4-8 weeks for the first pass through all 45 checks if starting from scratch. Teams that have already implemented observability and basic eval can do it in 2-3 weeks. The staged autonomy timeline adds another 2-4 weeks for high-risk actions.</p>
<h3 id="how-often-should-i-re-run-these-checks">How often should I re-run these checks?</h3>
<p>Re-run all Blocking checks on every deployment. Re-run the full checklist on model change, tool change, prompt update, or monthly (per Harness Engineering&rsquo;s recommendation). The AI Reliability Institute adds a specific trigger: any incident that causes a rollback triggers a full re-check.</p>
<h3 id="what-is-the-difference-between-this-checklist-and-the-25-check-one-from-harness-engineering">What is the difference between this checklist and the 25-check one from Harness Engineering?</h3>
<p>Harness Engineering&rsquo;s 25 checks focus on functional correctness and technical verification (a subset of our Domain 3). This checklist covers the full production surface area — security, observability, cost, compliance, HITL, and incident response — at 45 checks across 6 domains with a unified scoring system and deployment gating thresholds.</p>
<h3 id="can-i-skip-the-maturity-building-checks-and-still-go-to-production">Can I skip the maturity-building checks and still go to production?</h3>
<p>Yes, if you accept the risk. A score of 16-31 qualifies as &ldquo;Conditional&rdquo; — deployable with restrictions (full human review, canary-only, no auto-scaling). I would not run a customer-facing agent at that level, but internal tooling agents can operate conditionally while you build up the maturity checks.</p>
]]></content:encoded></item></channel></rss>