<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tim Poschel</title>
    <description>The latest articles on DEV Community by Tim Poschel (@tposchel).</description>
    <link>https://dev.to/tposchel</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1108646%2F7cbed7e4-4d64-42d4-b0ed-b221f8913359.jpg</url>
      <title>DEV Community: Tim Poschel</title>
      <link>https://dev.to/tposchel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tposchel"/>
    <language>en</language>
    <item>
      <title>It’s Not an Agent Loop. It’s a Helix.</title>
      <dc:creator>Tim Poschel</dc:creator>
      <pubDate>Tue, 11 Aug 2026 04:07:28 +0000</pubDate>
      <link>https://dev.to/tposchel/its-not-an-agent-loop-its-a-helix-10kj</link>
      <guid>https://dev.to/tposchel/its-not-an-agent-loop-its-a-helix-10kj</guid>
      <description>&lt;p&gt;We keep talking about “agent loops.”&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Observe → Think → Act → Reflect → Repeat.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The language is everywhere: papers, product demos, architecture diagrams. Clean, circular and easy to draw on a whiteboard.&lt;/p&gt;

&lt;p&gt;But a loop is a closed system that tends toward equilibrium or oscillation. Information that isn’t deliberately carried forward gets lost or compressed into a thinner and thinner summary. After enough cycles, the agent is effectively starting over with a foggy memory of why it chose the path it’s on.&lt;/p&gt;

&lt;p&gt;That’s not how durable intelligence compounds. What we’re actually building (or should be building) is a &lt;strong&gt;helix&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Each cycle still moves through observation, decision, and action. But the decisions and the data from that cycle are deliberately recorded. They don’t disappear into a context window that will later be truncated. They become structured information that the next cycle can consult, query, and build upon. The trajectory is no longer circular. It advances along an axis of accumulating knowledge.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A loop forgets. A helix remembers &lt;em&gt;why&lt;/em&gt;. And this difference is &lt;strong&gt;not&lt;/strong&gt; semantic. It changes the architecture.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In a pure loop, the state that survives is usually a summary, a plan update, or whatever fits inside the current context budget. Intermediate reasoning, discarded branches, partial observations, and the exact justification for a choice three steps ago are treated as disposable. The system is forced to re-derive what it already knew.&lt;/p&gt;

&lt;p&gt;In a helical design, the full decision-and-data history is treated as first-class material. It can be indexed, retrieved, summarized at multiple levels of abstraction, and still remain available in its original form when needed. The agent doesn’t just “remember” outcomes; it can inspect the reasoning that produced them.&lt;/p&gt;

&lt;p&gt;The practical consequences show up most clearly on long-horizon tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A looping agent can lose the thread of why a particular approach was chosen after enough cycles.&lt;/li&gt;
&lt;li&gt;A helical agent can still surface the original decision trace, the data that justified it, and the outcomes that followed—then use that substrate for the next decision.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This also reframes how we think about memory and reflection. Instead of episodic retrieval bolted onto a looping core, the entire history becomes a continuously growing, traversable structure. The agent can move forward (what should come next) and backward (why are we here) with higher fidelity.&lt;/p&gt;

&lt;p&gt;We’re still early. Most production “agents” today are loops with better tooling and longer context windows. The helical version requires deliberate investment in persistent decision logs, multi-resolution memory, and interfaces that let the model treat its own history as queryable information rather than disposable intermediate tokens.&lt;/p&gt;

&lt;p&gt;But the distinction is worth making precise. Because the systems that compound intelligence over dozens or hundreds of cycles won’t be the ones that simply go around again. They’ll be the ones that carry the weight of every previous turn forward.&lt;/p&gt;

</description>
      <category>helix</category>
      <category>agentloop</category>
      <category>helicalagent</category>
    </item>
    <item>
      <title>Why SREL Matters for Agent Governance</title>
      <dc:creator>Tim Poschel</dc:creator>
      <pubDate>Mon, 10 Aug 2026 15:02:20 +0000</pubDate>
      <link>https://dev.to/tposchel/why-srel-matters-for-agent-governance-l7l</link>
      <guid>https://dev.to/tposchel/why-srel-matters-for-agent-governance-l7l</guid>
      <description>&lt;p&gt;Most conversations about AI agents focus on capability: what the agent can do, which tools it calls, how it reasons. Far less attention is paid to a harder question — &lt;strong&gt;how do we make the risk of that agent machine-readable and comparable?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where SREL becomes complementary to capability languages like ACEL.&lt;/p&gt;




&lt;h3&gt;
  
  
  Capability vs Risk: Two Missing Standards
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concern&lt;/th&gt;
&lt;th&gt;What we need&lt;/th&gt;
&lt;th&gt;Current state&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;What the agent is allowed / designed to do&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Declarative capability contract&lt;/td&gt;
&lt;td&gt;Emerging (ACEL, Agent Spec, etc.)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;How risky that agent is in context&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Structured, comparable risk output&lt;/td&gt;
&lt;td&gt;Almost entirely free-form (PDFs, slides, spreadsheets)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;ACEL answers the first question cleanly: five aspects + autonomy modal + oversight rules, expressed as a versioned contract.&lt;/p&gt;

&lt;p&gt;SREL answers the second: a normative grammar so that risk assessments become data instead of documents.&lt;/p&gt;

&lt;p&gt;Without the second half, governance stays manual and non-scalable.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Gap SREL Closes
&lt;/h3&gt;

&lt;p&gt;Today a model risk or agent risk assessment usually ends up as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A long PDF&lt;/li&gt;
&lt;li&gt;A spreadsheet with colored cells&lt;/li&gt;
&lt;li&gt;A slide deck for a review committee&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingested by a monitoring system&lt;/li&gt;
&lt;li&gt;Diffed across versions&lt;/li&gt;
&lt;li&gt;Compared across vendors&lt;/li&gt;
&lt;li&gt;Automatically escalated when a threshold is crossed&lt;/li&gt;
&lt;li&gt;Linked structurally to the controls that are supposed to mitigate them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;SREL turns the assessment into a &lt;strong&gt;conformant document&lt;/strong&gt; with required sections, typed values, and semantic invariants. Downstream systems can consume it the same way they consume OpenAPI or SBOM files.&lt;/p&gt;




&lt;h3&gt;
  
  
  Geometric Structure, Not Just Another Schema
&lt;/h3&gt;

&lt;p&gt;SREL is not “yet another YAML schema for risk.”&lt;/p&gt;

&lt;p&gt;It is built on a geometric substrate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;9 dyadic groups × 6 compositional periods = &lt;strong&gt;54 named risk primitives&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Each primitive sits at a fixed coordinate&lt;/li&gt;
&lt;li&gt;Scores live on an n-simplex decomposition&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;meta-condition veto&lt;/strong&gt; (KILL, SAF, HITL, AUT, TRU, MAN) can collapse the entire composite to zero if structural prerequisites fail&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gives the language two useful properties:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Comparability&lt;/strong&gt; — two assessments of different systems can be placed in the same coordinate space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control linkage&lt;/strong&gt; — the Controls Exchange profile places controls at the &lt;em&gt;same&lt;/em&gt; coordinates as the risks they address. No external mapping table required.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That last point is rare. Most control frameworks (OSCAL, etc.) and risk frameworks live in separate conceptual spaces. SREL deliberately co-locates them.&lt;/p&gt;




&lt;h3&gt;
  
  
  How This Complements Declarative Agents
&lt;/h3&gt;

&lt;p&gt;Imagine an agent defined in ACEL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;agent research_assistant {
  autonomy: SUPERVISED
  ...
  oversight high_stakes {
    trigger: UNCERTAINTY_ABOVE 0.3
    action: ASK_APPROVAL
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That contract tells us &lt;em&gt;what&lt;/em&gt; the agent is and &lt;em&gt;how&lt;/em&gt; it should be governed at runtime.&lt;/p&gt;

&lt;p&gt;A corresponding SREL document can tell us &lt;em&gt;how risky&lt;/em&gt; the current deployment of that agent is, under real conditions, with a machine-checkable composite score and a clear record of which primitives are driving the risk.&lt;/p&gt;

&lt;p&gt;The two artifacts answer different questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ACEL&lt;/strong&gt; → “What is this agent supposed to be and how is it constrained?”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SREL&lt;/strong&gt; → “Given the current context, how risky is it actually behaving / performing?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together they form a more complete governance loop:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Declare capability and oversight (ACEL)&lt;/li&gt;
&lt;li&gt;Assess risk in a structured, comparable form (SREL)&lt;/li&gt;
&lt;li&gt;Feed the risk output back into monitoring, policy, or human review&lt;/li&gt;
&lt;li&gt;Update the capability contract or the runtime thresholds when needed&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Practical Implications
&lt;/h3&gt;

&lt;p&gt;If you are building:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agent platforms&lt;/strong&gt; → You can emit SREL documents as part of continuous evaluation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model risk management&lt;/strong&gt; → You finally have an interchange format instead of proprietary report formats&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring / observability&lt;/strong&gt; → You can alert on structured bands (WATCH → DRIFT → ELEVATED → CRITICAL) instead of parsing prose&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Controls / compliance&lt;/strong&gt; → You can place controls at the same coordinates as the risks they mitigate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The language is deliberately open (CC0 for the specification text) and designed for downstream consumption rather than for any single vendor’s scoring engine.&lt;/p&gt;




&lt;h3&gt;
  
  
  Closing Thought
&lt;/h3&gt;

&lt;p&gt;Capability languages make agents &lt;em&gt;describable&lt;/em&gt;.&lt;br&gt;&lt;br&gt;
Risk languages make agents &lt;em&gt;governable at scale&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;SREL is an attempt to give the industry the second half of that equation in a form that machines can actually use.&lt;/p&gt;

&lt;p&gt;If ACEL (or similar contracts) becomes the way we declare what an agent is, SREL is a strong candidate for how we exchange what its residual risk looks like.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Further reading&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SREL specification &amp;amp; grammar: &lt;a href="https://github.com/srel-spec/srel" rel="noopener noreferrer"&gt;github.com/srel-spec/srel&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Website: &lt;a href="https://srel.net" rel="noopener noreferrer"&gt;srel.net&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Related capability language: &lt;a href="https://github.com/srel-spec/acel" rel="noopener noreferrer"&gt;github.com/srel-spec/acel&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>agents</category>
      <category>governance</category>
      <category>standards</category>
      <category>declarative</category>
    </item>
    <item>
      <title>Declarative AI Agents: Spec Once, Generate Everywhere with ACEL</title>
      <dc:creator>Tim Poschel</dc:creator>
      <pubDate>Mon, 10 Aug 2026 13:32:00 +0000</pubDate>
      <link>https://dev.to/tposchel/declarative-ai-agents-spec-once-generate-everywhere-with-acel-88k</link>
      <guid>https://dev.to/tposchel/declarative-ai-agents-spec-once-generate-everywhere-with-acel-88k</guid>
      <description>&lt;p&gt;Most agent frameworks still force you to write imperative code: wire tools, manage memory, hard-code oversight logic, and re-implement the same patterns for every new runtime. The result is brittle agents that are hard to review, version, audit, or port.&lt;/p&gt;

&lt;p&gt;A cleaner path is emerging: treat the agent as a &lt;strong&gt;declarative contract&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is ACEL?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;ACEL (Agent Capability Expression Language)&lt;/strong&gt; is a small, focused language for defining AI agents. It is built on the Rectified Pentachoron Framework (RPF) and models an agent as exactly five aspects plus a global autonomy modal:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;th&gt;Neglect pathology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;telos&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The objective pursued&lt;/td&gt;
&lt;td&gt;Aimless reactivity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;world_model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Present apprehension of environment state&lt;/td&gt;
&lt;td&gt;Ungrounded action (hallucination)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;memory&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;State retained across time&lt;/td&gt;
&lt;td&gt;Amnesia&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;deliberation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Mapping situation → action&lt;/td&gt;
&lt;td&gt;Thrashing / myopia&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;actuation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Effecting change on the environment&lt;/td&gt;
&lt;td&gt;Paralysis&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Autonomy is &lt;em&gt;not&lt;/em&gt; a sixth aspect. It is a modal that qualifies every aspect (supervised perception, supervised deliberation, etc.). Oversight rules sit alongside it as first-class triggers (uncertainty thresholds, irreversible actions, cost limits, etc.).&lt;/p&gt;

&lt;p&gt;A minimal example looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;agent research_assistant {
  autonomy: SUPERVISED

  telos {
    goal: ACHIEVE "comprehensive_report" AND MAINTAIN "factual_accuracy"
    priority: HIGH
  }

  world_model {
    grounding: REQUIRED
    percept web_search { type: RETRIEVE protocol: MCP freshness: 1h }
  }

  memory {
    type: HYBRID
    store short_term { capacity: 10000 ttl: 1h retrieval: RECENCY }
    store long_term  { capacity: 1000000 retrieval: RELEVANCE }
  }

  deliberation {
    mode: HYBRID
    plan   { strategy: HIERARCHICAL depth: 4 replan_on_failure: true }
    decide { strategy: MONTE_CARLO_TREE_SEARCH risk: 0.4 explore: 0.2 }
    reflect { trigger: ON_ERROR over: long_term }
  }

  actuation {
    effect document_store { type: MODIFY protocol: REST permissions: READ, WRITE }
  }

  oversight high_stakes {
    trigger: UNCERTAINTY_ABOVE 0.3
    action: ASK_APPROVAL
    escalate_to: lead
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The language enforces clean separations (raw data percepts are read-only; effects are write; reflection must bind to a declared memory store) and produces a conformance report against the five-aspect basis. The &lt;code&gt;.acel&lt;/code&gt; file becomes the single source of truth — versionable, reviewable, and enforceable in CI.&lt;/p&gt;

&lt;h3&gt;
  
  
  From Spec to Artifacts: acel-generator
&lt;/h3&gt;

&lt;p&gt;Writing the contract is only half the story. &lt;strong&gt;acel-generator&lt;/strong&gt; (OpenAPI-Generator-style tooling for ACEL) turns that contract into concrete artifacts.&lt;/p&gt;

&lt;p&gt;Pipeline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.acel  →  parse + validate + framework conformance  →  intermediate representation (IR)  →  generators  →  artifacts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Current built-in generators include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;langgraph&lt;/strong&gt; — LangGraph / LangChain-shaped Python package (agent, memory, tools, oversight)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;markdown&lt;/strong&gt; — Agent card (&lt;code&gt;AGENT.md&lt;/code&gt;) + Mermaid architecture diagram&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ossa&lt;/strong&gt; — OSSA-style agent contract YAML&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pytest&lt;/strong&gt; — Basic invariant test suite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;a2a&lt;/strong&gt; — Agent2Agent Agent Card (&lt;code&gt;.well-known/agent-card.json&lt;/code&gt;) for discovery and delegation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mcp&lt;/strong&gt; — MCP tool manifest (&lt;code&gt;mcp.json&lt;/code&gt;) with percepts as read tools and effects as write tools (plus &lt;code&gt;destructiveHint&lt;/code&gt; annotations)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Governance details that current interoperability protocols do not express (autonomy level, oversight, grounding, retention shape) are emitted under namespaced extensions so the gap stays visible rather than being papered over.&lt;/p&gt;

&lt;p&gt;Design principles of the generator:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The spec is the contract — generators map declared aspects; they invent no semantics.&lt;/li&gt;
&lt;li&gt;Fail closed on validation.&lt;/li&gt;
&lt;li&gt;Autonomy and oversight are first-class in every runtime generator.&lt;/li&gt;
&lt;li&gt;Memory generators respect durability, resolution, and recording decisions.&lt;/li&gt;
&lt;li&gt;Extensible via plugins and Jinja templates.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Why this matters
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Governance as code&lt;/strong&gt; — The same file that describes the agent also drives CI gates and runtime policy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interoperability without loss of intent&lt;/strong&gt; — A2A skills and MCP tools are generated from the same percept/effect split.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Portability&lt;/strong&gt; — One contract, multiple scaffolds (LangGraph today; others tomorrow).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auditability&lt;/strong&gt; — Every generated artifact can be traced back to a versioned, validated ACEL document.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ACEL is deliberately &lt;em&gt;not&lt;/em&gt; a runtime. It is the contract that binds the layers you already run (agent loop, control plane, gateway, tools/MCP, memory). Author-time validation shifts left; runtime enforcement compiles autonomy and oversight into gateway rules.&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting started
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Language &amp;amp; validation: &lt;a href="https://github.com/srel-spec/acel" rel="noopener noreferrer"&gt;https://github.com/srel-spec/acel&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Generator: &lt;a href="https://github.com/srel-spec/acel-generator" rel="noopener noreferrer"&gt;https://github.com/srel-spec/acel-generator&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both are MIT-licensed (with a narrow patent non-assertion on the language itself). The projects are early (alpha), but the conceptual clarity is already strong.&lt;/p&gt;

&lt;p&gt;If you are tired of re-implementing the same agent skeleton for every framework, try writing the contract once and generating the rest. Declarative agents are not just cleaner code — they are a practical step toward agents that are governable, auditable, and portable by design.&lt;/p&gt;

&lt;p&gt;full docs: &lt;a href="https://docs.srel.net" rel="noopener noreferrer"&gt;https://docs.srel.net&lt;/a&gt;&lt;/p&gt;

</description>
      <category>declarativeai</category>
      <category>agenticai</category>
      <category>aiagents</category>
      <category>acel</category>
    </item>
  </channel>
</rss>
