<?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: Vladimir Stelmak</title>
    <description>The latest articles on DEV Community by Vladimir Stelmak (@ecd5a).</description>
    <link>https://dev.to/ecd5a</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%2F3963333%2F8036a05e-c64c-42f0-ab08-76171147e413.jpeg</url>
      <title>DEV Community: Vladimir Stelmak</title>
      <link>https://dev.to/ecd5a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ecd5a"/>
    <language>en</language>
    <item>
      <title>Your AI Agent Does Not Need More Chat History. It Needs Real Memory 🧠✨</title>
      <dc:creator>Vladimir Stelmak</dc:creator>
      <pubDate>Tue, 30 Jun 2026 16:02:54 +0000</pubDate>
      <link>https://dev.to/ecd5a/your-ai-agent-does-not-need-more-chat-history-it-needs-real-memory-2c13</link>
      <guid>https://dev.to/ecd5a/your-ai-agent-does-not-need-more-chat-history-it-needs-real-memory-2c13</guid>
      <description>&lt;p&gt;Most AI agents fail in a very boring way.&lt;/p&gt;

&lt;p&gt;Not because they are stupid.&lt;br&gt;
Not because the model is weak.&lt;br&gt;
Not because the prompt is bad.&lt;/p&gt;

&lt;p&gt;They fail because they forget.&lt;/p&gt;

&lt;p&gt;You explain the project once.&lt;br&gt;
Then again.&lt;br&gt;
Then again.&lt;br&gt;
Then again.&lt;/p&gt;

&lt;p&gt;You tell the agent your coding style, your architecture, your rules, your preferences, your mistakes, your decisions, your context.&lt;/p&gt;

&lt;p&gt;And after a few sessions, everything slowly turns into fog.&lt;/p&gt;

&lt;p&gt;The agent does not really remember.&lt;br&gt;
It only carries a longer conversation behind it.&lt;/p&gt;

&lt;p&gt;That is not memory.&lt;/p&gt;

&lt;p&gt;That is just a backpack full of text. 🎒&lt;/p&gt;

&lt;p&gt;So I started building something different:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Memory Genome Engine&lt;/strong&gt;&lt;br&gt;
A local-first structured memory engine for AI agents.&lt;/p&gt;

&lt;p&gt;GitHub:&lt;br&gt;
&lt;a href="https://github.com/ECD5A/Memory-Genome-Engine" rel="noopener noreferrer"&gt;https://github.com/ECD5A/Memory-Genome-Engine&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The Problem: “Memory” Is Usually Just More Text
&lt;/h2&gt;

&lt;p&gt;A lot of AI memory systems are basically one of these things:&lt;/p&gt;

&lt;p&gt;📜 long chat history&lt;br&gt;
🧾 summaries&lt;br&gt;
🔍 vector search&lt;br&gt;
☁️ hosted memory&lt;br&gt;
🧩 random notes injected into prompts&lt;/p&gt;

&lt;p&gt;All of these can be useful.&lt;/p&gt;

&lt;p&gt;But they also create a strange problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The agent may remember something, but you do not really know what, why, where, or how.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Why did this memory appear?&lt;br&gt;
Is it still valid?&lt;br&gt;
Who confirmed it?&lt;br&gt;
Does it belong to this project or another one?&lt;br&gt;
Is it private?&lt;br&gt;
Is it outdated?&lt;br&gt;
Can I inspect it locally?&lt;br&gt;
Can I move it between machines?&lt;br&gt;
Can I validate the store?&lt;/p&gt;

&lt;p&gt;For real agent workflows, these questions matter.&lt;/p&gt;

&lt;p&gt;Especially if the agent is not just answering a question, but helping you build, debug, research, write, plan, or maintain a project over many sessions.&lt;/p&gt;

&lt;p&gt;That is where normal chat history starts to break down.&lt;/p&gt;
&lt;h2&gt;
  
  
  My Idea: Memory Should Be Structured 🧬
&lt;/h2&gt;

&lt;p&gt;Memory Genome Engine is built around one simple idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;AI agent memory should be structured, local, inspectable, and explicit.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not just:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User likes short answers.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But something closer to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kind: user_preference
scope: global
status: active
trust: user_confirmed
sensitivity: private
subject: communication_style
value: User prefers concise technical answers.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the “genome” part.&lt;/p&gt;

&lt;p&gt;Each memory item has markers.&lt;/p&gt;

&lt;p&gt;These markers describe what the memory is, where it belongs, how much it should be trusted, whether it is active, whether it is sensitive, and how it should be recalled later.&lt;/p&gt;

&lt;p&gt;So instead of treating memory as a random chunk of text, the system treats it as a structured memory cell.&lt;/p&gt;

&lt;p&gt;That makes the agent’s memory easier to inspect, debug, filter, and reason about.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Local-First? 🏠
&lt;/h2&gt;

&lt;p&gt;I do not think every agent memory system should be cloud-first.&lt;/p&gt;

&lt;p&gt;For many workflows, memory should live close to the user.&lt;/p&gt;

&lt;p&gt;Local-first memory means:&lt;/p&gt;

&lt;p&gt;✅ no required hosted service&lt;br&gt;
✅ no required vector database&lt;br&gt;
✅ easier inspection&lt;br&gt;
✅ easier backups&lt;br&gt;
✅ better control over private context&lt;br&gt;
✅ useful for offline or local agent workflows&lt;br&gt;
✅ easier to understand what the agent actually stores&lt;/p&gt;

&lt;p&gt;This is important to me.&lt;/p&gt;

&lt;p&gt;I do not want agent memory to become another invisible black box.&lt;/p&gt;

&lt;p&gt;If the agent remembers something, I want to see it.&lt;br&gt;
If it recalls something, I want to understand why.&lt;br&gt;
If something is stale, I want to mark it.&lt;br&gt;
If something is wrong, I want to reject it.&lt;br&gt;
If something is private, I want boundaries around it.&lt;/p&gt;

&lt;p&gt;That is the philosophy behind Memory Genome Engine.&lt;/p&gt;
&lt;h2&gt;
  
  
  What Memory Genome Engine Does ⚙️
&lt;/h2&gt;

&lt;p&gt;Memory Genome Engine is a Rust-based memory layer for AI agents.&lt;/p&gt;

&lt;p&gt;It provides:&lt;/p&gt;

&lt;p&gt;🧠 structured memory cells&lt;br&gt;
🧬 marker-based memory “genomes”&lt;br&gt;
📦 local binary storage&lt;br&gt;
🔥 hot memory for recent items&lt;br&gt;
🧊 sealed pages for older memory&lt;br&gt;
🔎 recall into context packets&lt;br&gt;
🖥️ CLI support&lt;br&gt;
📟 terminal UI&lt;br&gt;
🔌 MCP-compatible server&lt;br&gt;
🐍 Python SDK&lt;br&gt;
🟦 TypeScript SDK&lt;br&gt;
🔐 optional encrypted stores&lt;/p&gt;

&lt;p&gt;The goal is not to build another full agent framework.&lt;/p&gt;

&lt;p&gt;The goal is narrower:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Give agents a real memory subsystem they can use across sessions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Something durable.&lt;br&gt;
Something inspectable.&lt;br&gt;
Something local.&lt;br&gt;
Something a developer can actually reason about.&lt;/p&gt;
&lt;h2&gt;
  
  
  A Small Example
&lt;/h2&gt;

&lt;p&gt;Imagine telling an agent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mge remember &lt;span class="s2"&gt;"The project uses Rust for the core engine"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--kind&lt;/span&gt; project_fact &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--scope&lt;/span&gt; memory-genome-engine &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--trust&lt;/span&gt; user_confirmed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Later, the agent can recall relevant context:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mge recall &lt;span class="s2"&gt;"What should I know before changing the engine architecture?"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And instead of dumping random chat history into the prompt, the system can return a more focused context packet.&lt;/p&gt;

&lt;p&gt;That packet can contain project facts, constraints, warnings, preferences, and other memory items that are relevant to the task.&lt;/p&gt;

&lt;p&gt;This is the difference between:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Here is everything we ever talked about.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Here is the memory that matters for this task.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That difference matters a lot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Not Just Use Embeddings? 🤔
&lt;/h2&gt;

&lt;p&gt;Embeddings are useful.&lt;/p&gt;

&lt;p&gt;Vector search is useful.&lt;/p&gt;

&lt;p&gt;Semantic retrieval is useful.&lt;/p&gt;

&lt;p&gt;But I do not think every memory problem should be solved only with embeddings.&lt;/p&gt;

&lt;p&gt;Sometimes you need structure.&lt;/p&gt;

&lt;p&gt;Sometimes you need clear scopes.&lt;br&gt;
Sometimes you need trust levels.&lt;br&gt;
Sometimes you need status markers.&lt;br&gt;
Sometimes you need to know whether a memory is active, rejected, deprecated, or private.&lt;br&gt;
Sometimes you need deterministic behavior more than magical similarity.&lt;/p&gt;

&lt;p&gt;Memory Genome Engine is marker-first.&lt;/p&gt;

&lt;p&gt;That means memory is organized around explicit metadata and structured recall, not only semantic closeness.&lt;/p&gt;

&lt;p&gt;It is not trying to say “embeddings are bad.”&lt;/p&gt;

&lt;p&gt;It is saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Agent memory should not be only vibes-based retrieval. 😄&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Hot Memory And Sealed Memory 🔥🧊
&lt;/h2&gt;

&lt;p&gt;One design idea I like in MGE is the memory lifecycle.&lt;/p&gt;

&lt;p&gt;Recent memory lives in a hot layer.&lt;/p&gt;

&lt;p&gt;Older memory can be sealed into binary pages.&lt;/p&gt;

&lt;p&gt;So memory has a path:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;remember → hot memory → seal → recall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives the engine a way to separate recent, active memory from colder, archived memory.&lt;/p&gt;

&lt;p&gt;The agent does not need to carry everything at once.&lt;/p&gt;

&lt;p&gt;It can ask for what matters.&lt;/p&gt;

&lt;p&gt;That is closer to how I think long-running AI tools should work.&lt;/p&gt;

&lt;p&gt;Not infinite prompt stuffing.&lt;br&gt;
Not endless chat logs.&lt;br&gt;
Not “hope the model figures it out.”&lt;/p&gt;

&lt;p&gt;But memory with structure, lifecycle, and recall.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Care About Inspectability 🔍
&lt;/h2&gt;

&lt;p&gt;For me, this is the most important part.&lt;/p&gt;

&lt;p&gt;I do not want an AI agent to say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I remembered this somehow.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I want to ask:&lt;/p&gt;

&lt;p&gt;Where did this memory come from?&lt;br&gt;
What kind of memory is it?&lt;br&gt;
What scope does it belong to?&lt;br&gt;
Is it still active?&lt;br&gt;
Is it trusted?&lt;br&gt;
Is it sensitive?&lt;br&gt;
Can I validate the store?&lt;br&gt;
Can I export or inspect it?&lt;/p&gt;

&lt;p&gt;If agents are going to become long-running tools, their memory cannot stay invisible.&lt;/p&gt;

&lt;p&gt;A serious agent needs serious memory boundaries.&lt;/p&gt;

&lt;p&gt;Not because everything must be complicated.&lt;/p&gt;

&lt;p&gt;But because once an agent starts remembering things across sessions, memory becomes part of the system’s behavior.&lt;/p&gt;

&lt;p&gt;And system behavior should be inspectable.&lt;/p&gt;

&lt;h2&gt;
  
  
  This Is Still Early 🚧
&lt;/h2&gt;

&lt;p&gt;Memory Genome Engine is still young.&lt;/p&gt;

&lt;p&gt;It is not a giant platform.&lt;br&gt;
It is not a polished commercial product.&lt;br&gt;
It is not trying to solve every memory problem in AI.&lt;/p&gt;

&lt;p&gt;It is a focused open-source project exploring one direction:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;local-first structured memory for AI agents.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I am building it because I want agents that can work with real project context without turning that context into an opaque cloud dependency or a giant pile of chat history.&lt;/p&gt;

&lt;p&gt;There is still a lot to improve.&lt;/p&gt;

&lt;p&gt;But the foundation is already there:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rust core&lt;/li&gt;
&lt;li&gt;CLI&lt;/li&gt;
&lt;li&gt;TUI&lt;/li&gt;
&lt;li&gt;MCP server&lt;/li&gt;
&lt;li&gt;Python SDK&lt;/li&gt;
&lt;li&gt;TypeScript SDK&lt;/li&gt;
&lt;li&gt;binary local storage&lt;/li&gt;
&lt;li&gt;memory markers&lt;/li&gt;
&lt;li&gt;sealed pages&lt;/li&gt;
&lt;li&gt;recall modes&lt;/li&gt;
&lt;li&gt;optional encrypted stores&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And I think this direction is worth exploring.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Is This For? 👀
&lt;/h2&gt;

&lt;p&gt;You may find Memory Genome Engine interesting if you are:&lt;/p&gt;

&lt;p&gt;🧑‍💻 building local AI agents&lt;br&gt;
🔌 experimenting with MCP tools&lt;br&gt;
🧠 thinking about long-term AI memory&lt;br&gt;
🛠️ building developer assistants&lt;br&gt;
📚 working on research workflows&lt;br&gt;
🔐 interested in local/private memory&lt;br&gt;
🦀 working with Rust-based AI infrastructure&lt;br&gt;
🧪 tired of “just add vector DB” answers&lt;/p&gt;

&lt;p&gt;If any of that sounds familiar, I would really appreciate your feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thought ⭐
&lt;/h2&gt;

&lt;p&gt;I think AI agents need better memory.&lt;/p&gt;

&lt;p&gt;Not just longer context windows.&lt;br&gt;
Not just summaries.&lt;br&gt;
Not just embeddings.&lt;br&gt;
Not just hidden hosted state.&lt;/p&gt;

&lt;p&gt;They need memory that can be structured, inspected, validated, moved, sealed, and recalled.&lt;/p&gt;

&lt;p&gt;That is what I am trying to build with Memory Genome Engine.&lt;/p&gt;

&lt;p&gt;GitHub repo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ECD5A/Memory-Genome-Engine" rel="noopener noreferrer"&gt;https://github.com/ECD5A/Memory-Genome-Engine&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the idea feels useful, please check it out.&lt;br&gt;
And if you want to support the project, a GitHub star would help a lot. ⭐&lt;/p&gt;

&lt;p&gt;Thanks for reading! 🙏&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: this article was written by Vladimir Stelmak and edited with AI assistance.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>rust</category>
      <category>mcp</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Why an AI Agent Should Not Be Treated as Proof: Building EllipticZero Research Lab</title>
      <dc:creator>Vladimir Stelmak</dc:creator>
      <pubDate>Mon, 01 Jun 2026 20:44:06 +0000</pubDate>
      <link>https://dev.to/ecd5a/why-an-ai-agent-should-not-be-treated-as-proof-building-ellipticzero-research-lab-e6h</link>
      <guid>https://dev.to/ecd5a/why-an-ai-agent-should-not-be-treated-as-proof-building-ellipticzero-research-lab-e6h</guid>
      <description>&lt;p&gt;In security review, large language models are useful, but they also create a dangerous temptation: the output often sounds more certain than the evidence behind it.&lt;/p&gt;

&lt;p&gt;A model can summarize code, suggest review directions, produce hypotheses, and write a convincing report. That is useful work. But a model sentence is not proof. In smart-contract security, cryptography, access control, asset flow, signing assumptions, and upgrade logic, an unsupported confident answer is not just noisy. It can push a reviewer toward the wrong risk, the wrong fix, or the wrong sense of completion.&lt;/p&gt;

&lt;p&gt;I built EllipticZero Research Lab around that boundary.&lt;/p&gt;

&lt;p&gt;Project:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ECD5A/EllipticZero" rel="noopener noreferrer"&gt;https://github.com/ECD5A/EllipticZero&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;EllipticZero Research Lab is a source-available local-first research workflow for scoped smart-contract security review and defensive ECC research. The core idea is simple: agents can help with planning, hypotheses, critique, and report structure, but substantive claims should remain tied to local tools, traces, manifests, replayable artifacts, exportable reports, and human review.&lt;/p&gt;

&lt;p&gt;It is not positioned as an autonomous hacking system or a replacement for auditors. The goal is narrower and more practical: help a careful reviewer see what was checked, what the local evidence supports, what still needs manual validation, and what artifact remains after the review.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem With Model-Only Security Output
&lt;/h2&gt;

&lt;p&gt;If you give a contract to an LLM and ask it to find bugs, it will usually produce something. Sometimes that something is a useful hypothesis. Sometimes it is a shallow detector-style warning. Sometimes it is a plausible vulnerability description that is not connected to a reachable path, local tool output, a source location, or a reproducible artifact.&lt;/p&gt;

&lt;p&gt;That is a poor fit for security review.&lt;/p&gt;

&lt;p&gt;A reviewer needs to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what code or repository surface was inspected;&lt;/li&gt;
&lt;li&gt;which local tools or checks produced signals;&lt;/li&gt;
&lt;li&gt;which findings are supported by evidence;&lt;/li&gt;
&lt;li&gt;which findings are only hypotheses;&lt;/li&gt;
&lt;li&gt;what still needs human validation;&lt;/li&gt;
&lt;li&gt;how to repeat or compare the run later;&lt;/li&gt;
&lt;li&gt;how to export the result without turning a weak signal into a confirmed vulnerability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why I think AI-assisted security tools should be designed around evidence boundaries first, and agent reasoning second.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evidence First, Agent Second
&lt;/h2&gt;

&lt;p&gt;The working rule in EllipticZero Research Lab is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An agent can propose hypotheses, structure the review, and criticize conclusions. Evidence remains in local checks, artifacts, traces, manifests, replay bundles, and human validation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That changes the shape of the system.&lt;/p&gt;

&lt;p&gt;The agent is not the final authority. It is part of the workflow. It can help decide what to inspect next, explain why a risk lane matters, and turn noisy output into a readable review queue. But a finding should not become stronger just because the text sounds strong.&lt;/p&gt;

&lt;p&gt;The useful output is not "the AI found a bug." The useful output is a review artifact that another person can inspect.&lt;/p&gt;

&lt;h2&gt;
  
  
  How The Workflow Is Structured
&lt;/h2&gt;

&lt;p&gt;EllipticZero Research Lab is organized around a few layers.&lt;/p&gt;

&lt;p&gt;The first layer is local context: contract code, repository inventory, selected domain, local tool availability, synthetic cases, saved sessions, and artifacts. The workflow is designed to preserve what was actually available during a run.&lt;/p&gt;

&lt;p&gt;The second layer is bounded agent work. Agent roles can help with math, cryptography, strategy, hypotheses, critique, and reporting. Their job is to improve the review process, not to convert an unsupported statement into proof.&lt;/p&gt;

&lt;p&gt;The third layer is the artifact layer: sessions, traces, manifests, replay bundles, Markdown reports, SARIF exports, evidence coverage, toolchain fingerprints, and redacted JSON snapshots. If the result cannot be inspected later, it is much less useful for serious review.&lt;/p&gt;

&lt;p&gt;The fourth layer is the reviewer. The report should make it clear what was observed, what was inferred, what evidence exists, what is weak, and what should be checked manually.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Smart Contracts And ECC
&lt;/h2&gt;

&lt;p&gt;Smart contracts are a useful first domain for this kind of workflow because they have repeatable review lanes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;access control;&lt;/li&gt;
&lt;li&gt;upgrade and storage layout;&lt;/li&gt;
&lt;li&gt;asset flow;&lt;/li&gt;
&lt;li&gt;vault and share accounting;&lt;/li&gt;
&lt;li&gt;oracle assumptions;&lt;/li&gt;
&lt;li&gt;signatures;&lt;/li&gt;
&lt;li&gt;rewards;&lt;/li&gt;
&lt;li&gt;AMM and liquidity logic;&lt;/li&gt;
&lt;li&gt;bridge and custody surfaces;&lt;/li&gt;
&lt;li&gt;staking and treasury logic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those lanes are structured enough to support repeatable review, but dangerous enough that overconfident automation is risky.&lt;/p&gt;

&lt;p&gt;For example, "there is an external call" is not the same as "there is an exploitable reentrancy bug." "There is an admin function" is not the same as "there is a critical access-control vulnerability." A useful workflow needs context, reachability, state transition reasoning, local signals, and a clear manual-review boundary.&lt;/p&gt;

&lt;p&gt;The ECC side is included as defensive research: point formats, curve metadata, subgroup/cofactor checks, twist hygiene, encoding boundaries, and curve-family consistency. This is another area where model confidence without local computation is not enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  What A Useful Result Looks Like
&lt;/h2&gt;

&lt;p&gt;The target result is not a dramatic list of "10 critical bugs." A better result is a cautious review snapshot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;finding cards;&lt;/li&gt;
&lt;li&gt;risk lanes;&lt;/li&gt;
&lt;li&gt;source-line hints when available;&lt;/li&gt;
&lt;li&gt;local tool signals;&lt;/li&gt;
&lt;li&gt;evidence coverage;&lt;/li&gt;
&lt;li&gt;confidence notes;&lt;/li&gt;
&lt;li&gt;manual-review boundaries;&lt;/li&gt;
&lt;li&gt;remediation direction;&lt;/li&gt;
&lt;li&gt;recheck path;&lt;/li&gt;
&lt;li&gt;reproducibility bundle.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is less flashy than an AI-generated audit claim, but it is more useful.&lt;/p&gt;

&lt;p&gt;If a smart-contract golden case is run, the system should show not only a potential risk, but also why it entered the review queue, what local evidence exists, what remains unconfirmed, and how a reviewer can repeat or export the result.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Markdown, SARIF, And Replay Matter
&lt;/h2&gt;

&lt;p&gt;Security workflows need exports.&lt;/p&gt;

&lt;p&gt;Markdown is useful because people can read it, send it, attach it to discussions, compare it with previous runs, and use it as a review packet.&lt;/p&gt;

&lt;p&gt;SARIF is useful because it can fit into code-scanning and CI-like workflows. But SARIF output needs care. A SARIF item should not automatically become a confirmed vulnerability just because it exists in an export. In an AI-assisted workflow, an exported item may be a review item, a local signal, or a hypothesis that still requires validation.&lt;/p&gt;

&lt;p&gt;Replay and reproducibility matter for a similar reason. If the review result cannot be revisited, compared, or explained later, it is hard to defend in front of a team, client, or auditor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Mock Mode Matters
&lt;/h2&gt;

&lt;p&gt;The project supports hosted providers when configured, but it also keeps a no-key evaluation path.&lt;/p&gt;

&lt;p&gt;That matters because an evaluator should be able to inspect the shape of the workflow without first trusting an external model provider or sending private code anywhere. A local reviewer should be able to run a self-check, open golden cases, inspect report shape, and see export behavior before deciding whether to configure a live model.&lt;/p&gt;

&lt;p&gt;For a security tool, mock mode is not just a convenience. It is part of the evaluation boundary.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Project Shape
&lt;/h2&gt;

&lt;p&gt;The current repository includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an interactive CLI workflow;&lt;/li&gt;
&lt;li&gt;scoped smart-contract review lanes;&lt;/li&gt;
&lt;li&gt;defensive ECC research paths;&lt;/li&gt;
&lt;li&gt;bounded agent roles;&lt;/li&gt;
&lt;li&gt;local-first evidence handling;&lt;/li&gt;
&lt;li&gt;evaluation guide and golden cases;&lt;/li&gt;
&lt;li&gt;reproducibility/session artifacts;&lt;/li&gt;
&lt;li&gt;replay bundle path;&lt;/li&gt;
&lt;li&gt;Markdown report export;&lt;/li&gt;
&lt;li&gt;SARIF review export;&lt;/li&gt;
&lt;li&gt;benchmark scorecards;&lt;/li&gt;
&lt;li&gt;security and data-handling boundaries;&lt;/li&gt;
&lt;li&gt;commercial licensing documentation for hosted, OEM, white-label, resale, and paid platform use cases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is source-available, not open source in the usual permissive sense. It can be read, evaluated, and run locally under the published license terms. Commercial productization paths require a separate commercial license.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Want Feedback On
&lt;/h2&gt;

&lt;p&gt;The main question I care about is not "can AI audit smart contracts?"&lt;/p&gt;

&lt;p&gt;The better question is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How should AI-assisted security review preserve the boundary between model reasoning and evidence?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I am especially interested in feedback on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;evidence model and report shape;&lt;/li&gt;
&lt;li&gt;SARIF export boundaries;&lt;/li&gt;
&lt;li&gt;manual-review posture;&lt;/li&gt;
&lt;li&gt;golden case evaluation;&lt;/li&gt;
&lt;li&gt;smart-contract review lanes;&lt;/li&gt;
&lt;li&gt;defensive ECC research tasks;&lt;/li&gt;
&lt;li&gt;where the workflow should be stricter about confidence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ECD5A/EllipticZero" rel="noopener noreferrer"&gt;https://github.com/ECD5A/EllipticZero&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am Vladimir Stelmak, publishing the project under the GitHub handle ECD5A. The project name is EllipticZero Research Lab.&lt;/p&gt;

&lt;p&gt;Disclosure: this article was written by Vladimir Stelmak and edited with AI assistance.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>web3</category>
      <category>python</category>
      <category>security</category>
    </item>
  </channel>
</rss>
