Skip to content

Add 20 patterns closing the agentic-design.ai catalog gap - #17

Merged
arst merged 1 commit into
mainfrom
feat/twenty-new-patterns
Sep 1, 2026
Merged

Add 20 patterns closing the agentic-design.ai catalog gap#17
arst merged 1 commit into
mainfrom
feat/twenty-new-patterns

Conversation

@arst

@arst arst commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Adds the 20 genuinely-missing architectural patterns identified against agentic-design.ai, deliberately excluding its training methods (RLHF/DPO/ORPO/SimPO), model-internals entries (KV-cache, Infini-Attention, latent recurrent thinking) and the 32-entry UI/UX catalogue. Those are legitimate topics that would drift this repo from "an agentic pattern plus a small .NET implementation" toward "every technique associated with AI systems".

All Agent-Framework-only, matching every recent addition.

Reasoning & generation

Pattern What it demonstrates
ChainOfVerification Verification questions answered with the draft out of sight
ProactiveClarification Screened questions, one round, then stated assumptions
GraphOfThoughts Host-owned DAG, so two lines merge instead of one being pruned
LeastToMost Ordered subproblems, earlier answers carried forward as facts
StepBack Principle first, with the question's numbers withheld

Orchestration

Pattern What it demonstrates
MixtureOfAgents Layered proposers; layer 2 reads all of layer 1
StateMachineAgent Host-owned transition table; the model decides only within a state
EventDrivenAgents Topic subscriptions instead of an orchestrator, generation-capped bus
ControlPlaneAsTool One execute_capability tool over many backends
AgentRegistry Capability discovery with signed cards verified before dispatch
SpeculativeToolExecution Read-only, free-to-discard calls started before the model asks

Knowledge & state

Pattern What it demonstrates
ContextAssembly Pinned-first, deduplicated, budgeted; drops carry reasons
MultiSourceContextFusion Trust then recency, contested fields surfaced not hidden
GraphRAG Entity graph + community summaries for corpus-level questions
MemoryConsolidation Recency/importance/relevance retrieval; ripe topics collapse

Production controls

Pattern What it demonstrates
DualLlm CaMeL: untrusted content supplies values, never control flow
HumanOnTheLoop Autonomous by default; silence is not consent when irreversible
MemoryPoisoningPrevention Untrusted sources propose, corroboration publishes
ContrastiveExplanation Flip condition re-run against the rule before it is shown
AgentCommunicationFaultTolerance Retry, dedup, dead letters, reconciliation

Verification

  • Solution builds clean, 410 tests pass (80 new). Tests cover only the deterministic host logic — no model calls.
  • All 20 samples were run against a live Azure OpenAI deployment. That found five defects compiling could not:
    • StateMachineAgent filled the missing cost centre after asking the model, so the claim died at step 2. Fixed — then a run through Pattern Explorer showed it still intermittently rejected the claim, because the stale Insufficient entry in the fact log misled the model at temperature 0. Now each state carries a one-line brief saying what it decides; stable across three runs.
    • AgentCommunicationFaultTolerance exercised neither its dead-letter nor its dedup path on the old seed — and an absorbed duplicate leaves no trace by construction. New seed (found by simulating the RNG draw order), a DuplicatesAbsorbed counter, and an explicit resend demonstrating the ack-lost case.
    • GraphRAG fragmented into four communities on entity-name drift (checkout vs the checkout service), so the cross-document theme never formed. Extractor now pins naming; manual rollback correctly links INC-101 to INC-104.
    • GraphOfThoughts scorer returned ~0.95 for everything, making Best() a coin flip, and the six-sentence brief was ignored. Length folded into the rubric.
    • ControlPlaneAsTool never reached its own denial because the model refused unprompted — a courtesy, not a control. Now calls the ungranted capability directly.
  • Pattern Explorer needed no code change (the catalog globs patterns/*.md; all four categories already exist in CATEGORY_ORDER). Verified against a running instance: 74 patterns served, source viewer resolves the new files, interactive picked up for HumanOnTheLoop and ProactiveClarification, and a live run streamed end to end.

Two deliberate ceilings, both marked with ponytail: comments naming the upgrade path: GraphRAG uses connected components rather than Leiden, and AgentRegistry uses HMAC with one shared registry key rather than asymmetric per-agent signing.

🤖 Generated with Claude Code

https://claude.ai/code/session_0161UFxvL3zPhufoYaQh27Ss

Adds the 20 genuinely-missing architectural patterns identified against
agentic-design.ai, deliberately excluding its training methods (RLHF/DPO/…),
model-internals entries (KV-cache, Infini-Attention) and UI/UX catalogue —
those would drift the repo from "an agentic pattern plus a small .NET
implementation" toward "every technique associated with AI systems".

All Agent-Framework-only, matching every recent addition.

  Reasoning & generation
    ChainOfVerification      verification questions answered with the draft out of sight
    ProactiveClarification   screened questions, one round, then stated assumptions
    GraphOfThoughts          host-owned DAG, so two lines merge instead of one being pruned
    LeastToMost              ordered subproblems, earlier answers carried as facts
    StepBack                 principle first, with the question's numbers withheld

  Orchestration
    MixtureOfAgents          layered proposers; layer 2 reads all of layer 1
    StateMachineAgent        host-owned transition table, model decides within a state
    EventDrivenAgents        topic subscriptions with a generation-capped bus
    ControlPlaneAsTool       one execute_capability tool over many backends
    AgentRegistry            capability discovery with signed cards verified before dispatch
    SpeculativeToolExecution read-only, free-to-discard calls started before the model asks

  Knowledge & state
    ContextAssembly          pinned-first, deduplicated, budgeted, drops carry reasons
    MultiSourceContextFusion trust then recency, contested fields surfaced not hidden
    GraphRAG                 entity graph + community summaries for corpus-level questions
    MemoryConsolidation      recency/importance/relevance retrieval; ripe topics collapse

  Production controls
    DualLlm                  CaMeL: content supplies values, never control flow
    HumanOnTheLoop           autonomous by default; silence is not consent when irreversible
    MemoryPoisoningPrevention  untrusted sources propose, corroboration publishes
    ContrastiveExplanation   flip condition re-run against the rule before it is shown
    AgentCommunicationFaultTolerance  retry, dedup, dead letters, reconciliation

Each pattern puts the enforceable part in the host rather than the prompt, and
80 new tests cover exactly that deterministic logic — no model calls.

All 20 were run against a live deployment, which found five defects that
compiling could not: StateMachineAgent filled a missing field after asking the
model (and later needed per-state briefs, because the stale fact log made it
reject a claim whose gap had just been closed); the fault-tolerance seed
exercised neither its dead-letter nor its dedup path; GraphRAG fragmented on
entity-name drift; the GraphOfThoughts scorer returned ~0.95 for everything,
making Best() a coin flip; and ControlPlaneAsTool never reached its own denial
because the model refused unprompted.

README tables and 20 Pattern Explorer write-ups included. Explorer needed no
code change — the catalog globs patterns/*.md and the four categories used
already exist — verified against a running instance serving all 74 patterns.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0161UFxvL3zPhufoYaQh27Ss
@arst
arst merged commit 8b02a7d into main Sep 1, 2026
2 checks passed
@arst
arst deleted the feat/twenty-new-patterns branch September 1, 2026 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant