<?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: Alistair Clarkson</title>
    <description>The latest articles on DEV Community by Alistair Clarkson (@adbc99).</description>
    <link>https://dev.to/adbc99</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%2F4009158%2F82850bf9-d89b-4749-8765-2482d9dbda39.png</url>
      <title>DEV Community: Alistair Clarkson</title>
      <link>https://dev.to/adbc99</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adbc99"/>
    <language>en</language>
    <item>
      <title>AI Coding Assistants Have an Architectural Context Problem</title>
      <dc:creator>Alistair Clarkson</dc:creator>
      <pubDate>Fri, 10 Jul 2026 15:09:40 +0000</pubDate>
      <link>https://dev.to/adbc99/ai-coding-assistants-have-an-architectural-context-problem-2i1k</link>
      <guid>https://dev.to/adbc99/ai-coding-assistants-have-an-architectural-context-problem-2i1k</guid>
      <description>&lt;p&gt;I’ve spent a while experimenting with AI-assisted software development using tools like Claude Code, Codex and Kiro.&lt;/p&gt;

&lt;p&gt;One thing has surprised me.&lt;/p&gt;

&lt;p&gt;AI coding assistants receive plenty of implementation context, but very little architectural context.&lt;/p&gt;

&lt;p&gt;Typically they can see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Source code&lt;/li&gt;
&lt;li&gt;APIs&lt;/li&gt;
&lt;li&gt;Unit tests&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Prompts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What they rarely see is why the system was designed the way it was.&lt;/p&gt;

&lt;p&gt;That matters because many security decisions aren’t implementation decisions.&lt;/p&gt;

&lt;p&gt;They’re architectural decisions.&lt;/p&gt;

&lt;p&gt;Humans infer architecture&lt;/p&gt;

&lt;p&gt;Experienced developers usually have advantages that AI doesn’t.&lt;/p&gt;

&lt;p&gt;They’ve attended design meetings.&lt;/p&gt;

&lt;p&gt;They’ve spoken with architects.&lt;/p&gt;

&lt;p&gt;They understand organisational conventions.&lt;/p&gt;

&lt;p&gt;They know which systems are trusted, where boundaries exist and why certain technologies were chosen.&lt;/p&gt;

&lt;p&gt;Even when documentation is incomplete, experienced engineers can often infer architectural intent.&lt;/p&gt;

&lt;p&gt;AI generally can’t.&lt;/p&gt;

&lt;p&gt;It only knows what it’s been given.&lt;/p&gt;

&lt;p&gt;Security starts before code&lt;/p&gt;

&lt;p&gt;Looking back through the history of Secure by Design, one pattern kept appearing.&lt;/p&gt;

&lt;p&gt;Whether you’re looking at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microsoft’s SDL and threat modelling&lt;/li&gt;
&lt;li&gt;OWASP’s secure design guidance&lt;/li&gt;
&lt;li&gt;NIST SSDF&lt;/li&gt;
&lt;li&gt;CISA Secure by Design&lt;/li&gt;
&lt;li&gt;the Cyber Resilience Act&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;they all encourage organisations to consider security before implementation.&lt;/p&gt;

&lt;p&gt;The terminology changes.&lt;/p&gt;

&lt;p&gt;The mechanisms change.&lt;/p&gt;

&lt;p&gt;The principle doesn’t.&lt;/p&gt;

&lt;p&gt;Security is strongest when architectural decisions are analysed before software is written.&lt;/p&gt;

&lt;p&gt;The gap&lt;/p&gt;

&lt;p&gt;Today’s architecture diagrams are usually documentation.&lt;/p&gt;

&lt;p&gt;They explain systems to humans.&lt;/p&gt;

&lt;p&gt;They rarely provide structured guidance that AI coding assistants can consume directly.&lt;/p&gt;

&lt;p&gt;That creates an interesting possibility.&lt;/p&gt;

&lt;p&gt;Instead of treating architecture as documentation, perhaps we should treat it as engineering knowledge.&lt;/p&gt;

&lt;p&gt;A model could become the source for things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;security requirements&lt;/li&gt;
&lt;li&gt;architectural controls&lt;/li&gt;
&lt;li&gt;implementation constraints&lt;/li&gt;
&lt;li&gt;trust-boundary rules&lt;/li&gt;
&lt;li&gt;implementation guidance&lt;/li&gt;
&lt;li&gt;assurance evidence&lt;/li&gt;
&lt;li&gt;evaluation criteria&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those aren’t separate documents.&lt;/p&gt;

&lt;p&gt;They’re different views of the same architectural security analysis.&lt;/p&gt;

&lt;p&gt;Architecture as executable knowledge&lt;/p&gt;

&lt;p&gt;This is the idea I’ve been exploring.&lt;/p&gt;

&lt;p&gt;If architectural knowledge became structured enough for tools to consume, AI coding assistants wouldn’t just receive prompts.&lt;/p&gt;

&lt;p&gt;They could receive architectural intent.&lt;/p&gt;

&lt;p&gt;That doesn’t replace threat modelling.&lt;/p&gt;

&lt;p&gt;It doesn’t replace secure coding.&lt;/p&gt;

&lt;p&gt;It doesn’t replace DevSecOps.&lt;/p&gt;

&lt;p&gt;Instead, it gives those activities a consistent architectural source that remains connected to implementation throughout delivery.&lt;/p&gt;

&lt;p&gt;As AI agents become increasingly capable, I think this becomes more important rather than less.&lt;/p&gt;

&lt;p&gt;Interested in the history?&lt;/p&gt;

&lt;p&gt;I recently researched how Secure by Design evolved from Saltzer &amp;amp; Schroeder’s original engineering principles through Microsoft’s SDL, OWASP, NIST, CISA and recent regulation, and why AI-assisted development may represent the next stage of that evolution.&lt;/p&gt;

&lt;p&gt;The full article, including references, is available here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://isecurebydesign.com/news/what-is-secure-by-design" rel="noopener noreferrer"&gt;https://isecurebydesign.com/news/what-is-secure-by-design&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d be interested to hear how others are handling architectural context with AI coding assistants.&lt;/p&gt;

&lt;p&gt;Do you think architecture should remain documentation, or should it become something AI tools can actively consume?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>architecture</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>Architecture Models as First-Class Context for AI-Assisted Software Development</title>
      <dc:creator>Alistair Clarkson</dc:creator>
      <pubDate>Tue, 30 Jun 2026 08:36:58 +0000</pubDate>
      <link>https://dev.to/adbc99/architecture-models-as-first-class-context-for-ai-assisted-software-development-82j</link>
      <guid>https://dev.to/adbc99/architecture-models-as-first-class-context-for-ai-assisted-software-development-82j</guid>
      <description>&lt;p&gt;Architecture Models as First-Class Context for AI-Assisted Software Development&lt;/p&gt;

&lt;p&gt;As software engineers, we’ve spent the last few decades treating architecture diagrams as documentation rather than development artefacts.&lt;/p&gt;

&lt;p&gt;We design a system, produce an architecture diagram—if we’re disciplined enough—and then development begins. As the code evolves, the architecture changes, and eventually the diagram falls out of date. We all knew it wasn’t ideal, but when humans were the only ones writing software, we could usually get away with it.&lt;/p&gt;

&lt;p&gt;Today, software isn’t written solely by engineers. We have AI coding assistants, vibe coding, and increasingly autonomous agents generating implementations on our behalf. The question is no longer just “Did we build what we intended?” but “How do we know what kind of jungle our AI has created inside our cloud environments?”&lt;/p&gt;

&lt;p&gt;Modern coding assistants generate implementations based on the context they’re given. Over the last year we’ve seen the rise of specification-driven development as a way to provide that context. Standards such as SpecKit and tools like AWS Kiro encourage specifications to become part of the repository, allowing AI to work from structured requirements rather than ad hoc prompts.&lt;/p&gt;

&lt;p&gt;Specifications are a huge step forward, but over time I found myself with dozens of partially implemented specifications scattered throughout my repositories. They described individual features well enough, but I was losing sight of how those features fitted together. I had requirements, but I was missing the architectural context.&lt;/p&gt;

&lt;p&gt;What I needed wasn’t another diagram. I needed an architectural model that captured components, trust boundaries, security controls, contracts and deployment configuration—and I needed that model to remain useful throughout the entire software development lifecycle, not just during design reviews or onboarding sessions.&lt;/p&gt;

&lt;p&gt;That led me to a simple question.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if architecture models became first-class inputs to AI-assisted software development rather than documentation produced after the fact?
&lt;/h3&gt;

&lt;p&gt;Instead of diagrams explaining the finished system, what if the architecture model could deterministically generate specifications, implementation guidance, security controls and evaluation criteria? The architecture would become the source of truth, with specifications derived from it rather than maintained separately. As the model evolves, the specifications evolve with it.&lt;/p&gt;

&lt;p&gt;This becomes even more compelling as software teams adopt autonomous agents and AI-assisted workflows. If AI systems are expected to make implementation decisions, they need access to architectural intent—not just source code. Architecture becomes a source of governance, helping ensure generated software remains aligned with security objectives, organisational policies and design constraints.&lt;/p&gt;

&lt;p&gt;To me, this is a shift in how we think about architecture. Instead of treating it as documentation, we begin treating it as executable knowledge that actively participates in software delivery.&lt;/p&gt;

&lt;p&gt;Over the past few months I’ve been experimenting with this idea through a project called &lt;a href="http://isecurebydesign.com" rel="noopener noreferrer"&gt;iSecureByDesign&lt;/a&gt;. The goal isn’t simply to draw diagrams, but to treat architecture models as a source of requirements, controls and implementation guidance. I’ve used it to model serverless applications, LangGraph-based agentic knowledge systems and other architectures with baseline security controls built in. Whether the implementation succeeds is for others to judge, but the experiment has convinced me there’s something really worth fleshing out here.&lt;/p&gt;

&lt;p&gt;As AI becomes more capable, I suspect the quality of software won’t be determined by prompts alone. It will increasingly depend on the quality of the architectural knowledge we provide alongside them.&lt;/p&gt;

&lt;p&gt;Perhaps the next evolution of software architecture isn’t producing better diagrams.&lt;/p&gt;

&lt;p&gt;Perhaps it’s making architecture models first-class citizens in the AI-assisted software development lifecycle.&lt;/p&gt;

&lt;p&gt;Have you been seeing the same shift, or have you found different ways of maintaining the architectural context for AI?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>architecture</category>
      <category>softwareengineering</category>
      <category>systemdesign</category>
    </item>
  </channel>
</rss>
