<?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: Jean-Sebastien Beaulieu</title>
    <description>The latest articles on DEV Community by Jean-Sebastien Beaulieu (@jsb-securedme).</description>
    <link>https://dev.to/jsb-securedme</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%2F4040704%2Fda3fd6b1-d1a4-4e95-b148-20f7a90b9cdf.jpg</url>
      <title>DEV Community: Jean-Sebastien Beaulieu</title>
      <link>https://dev.to/jsb-securedme</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jsb-securedme"/>
    <language>en</language>
    <item>
      <title>At What Scale Does a Storm Start Making Sense?</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Mon, 21 Sep 2026 13:12:49 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/at-what-scale-does-a-storm-start-making-sense-27n0</link>
      <guid>https://dev.to/jsb-securedme/at-what-scale-does-a-storm-start-making-sense-27n0</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2mx2h296gs2lfzf2kepl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2mx2h296gs2lfzf2kepl.png" alt="Front cover of Math Dev Journal 01: Reading the Living Atmosphere" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A light switch is partly responsible for why I am now reading about meteorological satellites.&lt;/p&gt;

&lt;p&gt;During my training in heavy-equipment mechanics, electricity and hydraulics changed what I saw in an ordinary action. Pressing a switch became an invitation to follow the circuit. Something happened somewhere else because a whole arrangement of relationships allowed it to happen.&lt;/p&gt;

&lt;p&gt;I have been troublesome around simple explanations ever since.&lt;/p&gt;

&lt;p&gt;That curiosity followed me into software, then mathematics, two books, educational tools, and a growing collection of questions about how humans and AI can investigate something together. Over the last few days, it has found a particularly unreasonable object to become interested in: the atmosphere.&lt;/p&gt;

&lt;p&gt;Reasonable opening task: understand one observation. Long-term ambition: contribute useful mathematics to meteorological satellites. My brain apparently sees these as neighbouring items on a checklist.&lt;/p&gt;

&lt;p&gt;I have just published &lt;strong&gt;Math Dev Journal 01: Reading the Living Atmosphere / Leer la atmósfera viva&lt;/strong&gt;. The full English and Spanish editions are here: &lt;br&gt;
&lt;a href="https://doi.org/10.5281/zenodo.22848503" rel="noopener noreferrer"&gt;DOI: 10.5281/zenodo.22848503&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;There is also a &lt;a href="https://drive.google.com/file/d/1gC9QAGyb9fsyTUiPADiFeLPPBq8AIQ7J/view?usp=sharing" rel="noopener noreferrer"&gt;short companion podcast&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This post opens the notebook behind it. Bring your curiosity. I have already supplied the excessive number of questions. The question I keep returning to is this: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;at what scale does a storm start making sense?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I can look at a cyclone and recognize its organization. Then my attention starts moving inward. A spiral. A boundary. A smaller disturbance. Something developing inside something larger. I want to know which relationships survive as I change the scale, and which ones I lose by looking too closely.&lt;/p&gt;

&lt;p&gt;My first instinct is to zoom in. The mathematics asks me to be more specific.&lt;/p&gt;

&lt;p&gt;There is the scale of the picture on my screen. There is the spatial support of the data behind it. And there is the scale over which I calculate something. A beautifully detailed coastline can sit underneath a much coarser atmospheric field. The coastline belongs to the map; the weather information retains its own resolution. The mouse wheel has considerable authority over the picture and remarkably little authority over the atmosphere.&lt;/p&gt;

&lt;p&gt;That distinction is already shaping the observatory I want to build. When I change the view, I want to see what changed in the calculation, what stayed fixed in the measurements, and what the display merely interpolated. It would make the interface an instrument for asking better questions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbrptxzrk6lkf8n7wvn7r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbrptxzrk6lkf8n7wvn7r.png" alt="Infographic exploring observation scale, atmospheric structure, and the limits of zoom" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is a small mathematical example from the paper that captures why I enjoy this work. Imagine two equal-area cells and two equally likely rainfall scenarios. These are invented numbers for an exact example:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Cell A&lt;/th&gt;
&lt;th&gt;Cell B&lt;/th&gt;
&lt;th&gt;Regional average&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0 mm&lt;/td&gt;
&lt;td&gt;20 mm&lt;/td&gt;
&lt;td&gt;10 mm&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;20 mm&lt;/td&gt;
&lt;td&gt;0 mm&lt;/td&gt;
&lt;td&gt;10 mm&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For either cell, the 95th percentile of this two-outcome probability distribution is 20 mm. Average those two local percentiles and you get 20 mm. But the regional average is 10 mm in &lt;strong&gt;every&lt;/strong&gt; scenario. Its 95th percentile is therefore 10 mm.&lt;/p&gt;

&lt;p&gt;Same starting numbers. Different order of operations. A different answer to a different question.&lt;/p&gt;

&lt;p&gt;The relationship between the cells carries information. If I summarize each location separately and then combine the summaries, I can lose that relationship. For a regional statistic, I need to calculate the regional value within each coherent scenario first, then summarize those results. This is the kind of mathematics that makes me sit up. Two rows are enough to expose a mistake that could hide comfortably inside a very impressive dashboard.&lt;/p&gt;

&lt;p&gt;My books, &lt;em&gt;Fractal NeutroGeometry&lt;/em&gt; and &lt;em&gt;Mapping the Invisible Infinite&lt;/em&gt;, brought me toward questions about structure, indeterminacy, and representation. Now I want to give those questions something concrete to push against. If I propose a descriptor of a cloud boundary, I need to specify the boundary, the preprocessing, the range of scales, and what useful information the descriptor might add.&lt;/p&gt;

&lt;p&gt;I also want to examine support, unresolved information, and contrary evidence separately. That is where neutrosophic representations interest me. Plithogenic methods raise further questions about relationships among attributes. Their practical value here will depend on comparisons with simpler ways of organizing the same evidence.&lt;/p&gt;

&lt;p&gt;I can be attached to a question and still let an experiment change my mind about the method. After investing years in an idea, that takes a little practice. I am getting some.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiam81ns1jbgyk5ughcsa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiam81ns1jbgyk5ughcsa.png" alt="Research plan for investigating one cyclone through evidence, calculations, and review" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My recent agent-development training has been unexpectedly useful in getting here. I spent time separating roles, tools, sessions, persistent memory, and the context an agent receives for one task. I kept applying the lessons to educational companions and to the practical problem of returning to work after a handoff.&lt;/p&gt;

&lt;p&gt;I know that problem rather personally. Switching tools or models can leave me reconstructing decisions I already spent energy making. Somewhere in the conversation, an important qualification disappears. I remember that we resolved it. Finding exactly what we resolved becomes the next job. For an atmospheric investigation, that missing qualification could be the forecast cycle, a unit, the source snapshot, or which time was actually available when a prediction was made.&lt;/p&gt;

&lt;p&gt;That gives my &lt;strong&gt;Context Continuity Protocol, CCP&lt;/strong&gt;, a precise job to investigate: carry enough of the scientific task across a handoff that the next human or agent can continue faithfully. Keep the question, the relevant data references, the transformations already applied, the uncertainties, and the next action together.&lt;/p&gt;

&lt;p&gt;In the proposed observatory, one agent might retrieve records, another invoke a numerical tool, and another review inconsistencies. Each would receive tools suited to that responsibility. Selected application actions could be exposed through WebMCP, alongside the human controls. The calculation should retain the same meaning whichever route invokes it.&lt;/p&gt;

&lt;p&gt;I want that same continuity for a learner using an educational side panel. Coming back tomorrow should mean recovering the question and the understanding we were building. Remembering a transcript is only part of that experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo5ewpfyg4idqj9lfr1hz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo5ewpfyg4idqj9lfr1hz.png" alt="Proposed multiscale human–AI observatory, connecting scientific data, mathematical analysis, tools, and review" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The forecasting foundation I am studying is &lt;a href="https://developers.google.com/weathernext" rel="noopener noreferrer"&gt;WeatherNext&lt;/a&gt;. My proposed contribution sits around existing forecasting work: organizing a particular investigation, checking transformations, testing a mathematical addition, and making the result understandable.&lt;/p&gt;

&lt;p&gt;The next experiment I want to prepare is deliberately small: one historical cyclone, one defined target, an identified forecast and observation record, an unchanged reference, and one candidate addition. If the extra mathematics helps, I want to be able to explain where. If it fails, I want a result precise enough to teach me something.&lt;/p&gt;

&lt;p&gt;That work still lies ahead. What I have completed is the first bilingual entry in this journal: nine chapters, eleven equations, and a registry of sixty-two external sources. It gives the investigation a starting point that another person can inspect and challenge.&lt;/p&gt;

&lt;p&gt;And now the satellites are asking for homework.&lt;/p&gt;

&lt;p&gt;For example, the GOES-R series' &lt;a href="https://www.goes-r.gov/spacesegment/abi.html" rel="noopener noreferrer"&gt;Advanced Baseline Imager&lt;/a&gt; observes in sixteen spectral bands spanning visible, near-infrared, and infrared wavelengths. Choosing a band already changes the question I can ask of the image. I want to understand what the instrument measures, how a useful product is derived from it, and how time, resolution, and uncertainty enter the interpretation.&lt;/p&gt;

&lt;p&gt;My first exercise could be as simple as following one event through one documented channel, then explaining each step from observation to displayed result. I would like to earn the next layer of complexity by understanding the previous one.&lt;/p&gt;

&lt;p&gt;Eventually, I want to explore whether a small, bounded analytical function could be useful aboard an instrument: a quality check, a feature-selection step, or a compact report prepared for transmission. That brings execution time, memory, energy, and recovery into the mathematics. Flight integration would require its own engineering and qualification with the relevant specialists.&lt;/p&gt;

&lt;p&gt;I find that prospect exciting because it gives a mathematical idea a demanding destination. Somewhere between an equation and an instrument, every convenient assumption has to meet the world.&lt;/p&gt;

&lt;p&gt;Héctor Fernando Aguilar also has room to change the direction. The planned second journal entry is for his perspective, in his own voice. The third will take the shared question toward implementation. These entries are part of the longer path toward Book III, with space for results that surprise us and revisions that improve the question.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.spaceappschallenge.org/blog/explore-the-next-frontier-at-the-2026-nasa-space-apps-challenge/" rel="noopener noreferrer"&gt;NASA Space Apps Challenge&lt;/a&gt;, scheduled for November 14–15, 2026, is the first public milestone I am aiming toward. Hackathons have a useful effect on me: they make an expanding idea meet another person's time and attention. Eventually, someone has to be able to open the thing and understand what it does.&lt;/p&gt;

&lt;p&gt;For this direction, I would like that encounter to be simple. Choose a region, inspect the available evidence, follow one calculation, and see what the result supports. A person arriving fresh should be able to ask a difficult question and find the relevant source. That would give the mathematics, the interface, and the agent workflow a shared purpose.&lt;/p&gt;

&lt;p&gt;For the entry itself, I will select an official challenge and follow its build window and reuse rules. This journal is the research preparation. The exact submission still has to earn its scope. What attracts me is the chance to meet people who know different parts of the problem and build something useful together. A good hackathon can turn a private obsession into a conversation with working parts.&lt;/p&gt;

&lt;p&gt;That is what I want this journal to feel like: the pleasure of learning something difficult with enough care that somebody else can pick it up, question it, and take it further. I come to this as a builder who loves mathematics and still enjoys the moment when an ordinary thing opens into a whole system.&lt;/p&gt;

&lt;p&gt;A switch did it once. A satellite image might do it again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F677xvq54x0ap6jcd64wy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F677xvq54x0ap6jcd64wy.png" alt="Back cover of Math Dev Journal 01, with its research themes and publication identity" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would love to hear from people who have already made a few mistakes in this territory:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;If you were teaching a developer to read satellite data, which instrument, channel, and historical event would you start with—and what misunderstanding would you tackle first?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Have you ever changed the scale or order of a calculation and watched a convincing result fall apart?&lt;/strong&gt; I would enjoy hearing the actual example, especially the small one that taught you a large lesson.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;When research passes between humans, tools, or AI agents, what is the one piece of context you insist must survive?&lt;/strong&gt; I am particularly interested in something you learned to preserve after losing it once.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>science</category>
      <category>ai</category>
      <category>math</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>The Day I Needed a HUMAN.md for My Agentic Workflow</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Fri, 11 Sep 2026 04:13:13 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/the-day-i-needed-a-humanmd-for-my-agentic-workflow-57c8</link>
      <guid>https://dev.to/jsb-securedme/the-day-i-needed-a-humanmd-for-my-agentic-workflow-57c8</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fchfsoacs56uj2tj99w4q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fchfsoacs56uj2tj99w4q.png" alt="front cover" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I did not write this article from a clean desk, a calm roadmap, or a perfect technical plan.&lt;/p&gt;

&lt;p&gt;I wrote it after a day where I had to stop, breathe, and admit that my own system had become too hard for me to live inside. I was training on Google Skills, watching IBM explain quantum hardware, organizing case studies, producing final PDFs, reserving a DOI, fighting token limits, and trying to understand why a tool that should accelerate me could also make me feel completely disorganized.&lt;/p&gt;

&lt;p&gt;The article is attached to a reserved Zenodo DOI:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DOI:&lt;/strong&gt; &lt;a href="https://doi.org/10.5281/zenodo.22699683" rel="noopener noreferrer"&gt;10.5281/zenodo.22699683&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The idea of &lt;code&gt;HUMAN.md&lt;/code&gt; is not presented as a universal technical rule. It is an analogy that forced me to think clearly.&lt;/p&gt;

&lt;p&gt;We already write &lt;code&gt;AGENTS.md&lt;/code&gt; files so models know how to behave in a repository. But what happens when the whole computer becomes organized for agents, traces, guardrails, memories, plugins, logs, handoffs, and automation — while the human who started the work can no longer find a simple path back into it?&lt;/p&gt;

&lt;p&gt;That was the uncomfortable question.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl9jsvg91gnbfemutouhr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl9jsvg91gnbfemutouhr.png" alt="6h30 pm the stop" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At 6:30 p.m., I stopped the training because I needed a retrospective more than another task. I had been pushing all day, but pushing is not always progress. Sometimes the most productive act is to name the friction before it eats the rest of the week.&lt;/p&gt;

&lt;p&gt;The friction was not abstract. It had a cost. I had burned through token budget trying to build educational software and ended up with results that did not match the effort, the money, or the emotional weight behind the project. That hurt because the goal was not vanity. The goal was to build something useful for children, for learning, for SecuredMe, for a future where my work can finally stand on its own.&lt;/p&gt;

&lt;p&gt;That is where ego entered the article.&lt;/p&gt;

&lt;p&gt;When a model changes the field overnight, it is easy to feel robbed of an edge. It is easy to think: if everyone can now access the same capability, what makes my years of work matter? But that question can become a trap. If I stay there, I abandon the reason I started. Research was never supposed to be only about being first. It was supposed to be about opening doors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd458qcysoimmfjwudxp8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd458qcysoimmfjwudxp8.png" alt="from agentic chaos" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So the article became a refusal to quit.&lt;/p&gt;

&lt;p&gt;I do not want to complain that the world changed. I want to understand the change fast enough to move with it. I want to take the pain, remove the ego where it blocks me, keep the pride where it gives me strength, and transform the mess into a better operating system.&lt;/p&gt;

&lt;p&gt;The Google training helped more than I expected because it made the lesson simple: be concise, be specific, ask one thing at a time, use examples, and reduce unsafe open generation when classification is enough. That is prompt design, yes, but it is also life design for working with AI. My own prompts, my own folders, and my own architecture were carrying too many tasks at once.&lt;/p&gt;

&lt;p&gt;The IBM Quantum webinar gave me another mirror. A quantum computer is not just qubits. It is topology, couplers, noise, packaging, verification, and practical limits. An AI workflow is the same. The model is not the whole system. The environment around it decides whether the work becomes clear or painful.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkyot1291nw5hkkx8lrf9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkyot1291nw5hkkx8lrf9.png" alt="what the data tell" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is why &lt;code&gt;HUMAN.md&lt;/code&gt; became useful as an image in my head.&lt;/p&gt;

&lt;p&gt;It means: before another agent reads the project, make sure I can read it too. Before another automation writes a trace, make sure the next human action is visible. Before spending more tokens, identify the real next decision. Before blaming the model, inspect the architecture I built around it.&lt;/p&gt;

&lt;p&gt;It also means protecting the human from the emotional fog of public development. When every message can be AI-written, every offer can be unclear, every collaborator can be real or extractive, trust becomes work. The article does not solve that. It names it. And naming it gives me back some control.&lt;/p&gt;

&lt;p&gt;The positive turn is this: maybe nothing was lost. Maybe the old advantage was only the first layer. If the machine can now do more, then my next job is to specialize, clarify my voice, build verifiable public work, and turn what I learned into something people can trust and pay for.&lt;/p&gt;

&lt;p&gt;That is the direction I want to keep.&lt;/p&gt;

&lt;p&gt;Not abandonment.&lt;/p&gt;

&lt;p&gt;Not panic.&lt;/p&gt;

&lt;p&gt;Not pretending the pain is not there.&lt;/p&gt;

&lt;p&gt;A method.&lt;/p&gt;

&lt;p&gt;A readable system.&lt;/p&gt;

&lt;p&gt;A human layer inside the machine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhsb1z6wdek87syaemwye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhsb1z6wdek87syaemwye.png" alt="backcover" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The full bilingual article includes the French and English editions, the references, the visual package, and the disclosure that Codex and Synthia were used as research and refinement partners under my human authorship.&lt;/p&gt;

&lt;p&gt;Read the reserved DOI record here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://doi.org/10.5281/zenodo.22699683" rel="noopener noreferrer"&gt;https://doi.org/10.5281/zenodo.22699683&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>learning</category>
      <category>architecture</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Knowing When to Stop: The WebMCP Lesson My Side Panels Needed</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Mon, 07 Sep 2026 23:21:14 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/knowing-when-to-stop-the-webmcp-lesson-my-side-panels-needed-h9e</link>
      <guid>https://dev.to/jsb-securedme/knowing-when-to-stop-the-webmcp-lesson-my-side-panels-needed-h9e</guid>
      <description>&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1S7PaULdOxa0SceNlq-nMDqYuPFjzOznV/view?usp=sharing" rel="noopener noreferrer"&gt;Companion short podcast&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For almost a month, my education repositories slowed down.&lt;/p&gt;

&lt;p&gt;Not because I had lost interest. The opposite was true. I had built so much that I could keep adding features without knowing whether I was improving the experience.&lt;/p&gt;

&lt;p&gt;AlgoQuest had Hero Books. Algorithm Builder could forge artifacts. Qbit could accompany a mission. Scholarium was becoming the meeting place for the suite.&lt;/p&gt;

&lt;p&gt;But a child would not arrive with five years of SecuredMe context already in mind. They would open a mission, enter a workshop, ask an agent for help, close the laptop, and return later.&lt;/p&gt;

&lt;p&gt;At that exact moment, who remembers what they chose? Which tool owns progression? How does the child distinguish a suggestion from a decision?&lt;/p&gt;

&lt;p&gt;Git records commits. It does not record the moment an architect looks at his own system and admits: I may be too close to see what is missing.&lt;/p&gt;

&lt;p&gt;So I stopped building inside the suite long enough to learn somewhere else.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbm6d1ralgcv11kt8msd7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbm6d1ralgcv11kt8msd7.png" alt="What the data tell: five weeks of development moved from product-specific commits to WebMCP, Thanks2Go, and a return to SecuredMe architecture" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  WebMCP made the button honest
&lt;/h2&gt;

&lt;p&gt;The WebMCP hackathon became my first laboratory.&lt;/p&gt;

&lt;p&gt;I went there thinking about side panels. I came back thinking about authority.&lt;/p&gt;

&lt;p&gt;A side panel is the visible room beside the work. WebMCP asks the harder question: what named tool exists behind the button, what it accepts, what it returns, and where its power ends.&lt;/p&gt;

&lt;p&gt;For a human, a button labelled "Continue" may feel obvious. For an agent, it is incomplete.&lt;/p&gt;

&lt;p&gt;Continue which mission? From which revision? Is the action reading, staging, or executing? Who approves it?&lt;/p&gt;

&lt;p&gt;That changed my design vocabulary. I stopped asking only, "Can the companion call the function?" and started asking, "Can the system explain the authority, evidence, change, and return path?"&lt;/p&gt;

&lt;p&gt;WebMCP is still experimental, but the lesson is already practical: an agentic interface begins with clear promises around each action.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thanks2Go made the boundary real
&lt;/h2&gt;

&lt;p&gt;The DEV Weekend Challenge became my second laboratory.&lt;/p&gt;

&lt;p&gt;With Thanks2Go, I wanted something small: a voluntary two-dollar gesture of gratitude. Not a payment platform. Just a way to say: your help mattered.&lt;/p&gt;

&lt;p&gt;The mechanism had to remain smaller than the gesture.&lt;/p&gt;

&lt;p&gt;Intent is not approval. Approval is not provider acceptance. A cryptographic signature is not confirmed settlement.&lt;/p&gt;

&lt;p&gt;So Thanks2Go used visible states. The agent could inspect and prepare. The irreversible crossing remained a visible human act.&lt;/p&gt;

&lt;p&gt;Then another consenting person used the live PayPal path. Two dollars were sent. The transaction completed. I received 1.64 USD after fees.&lt;/p&gt;

&lt;p&gt;That was small. It was also complete.&lt;/p&gt;

&lt;p&gt;It did not validate every failure path. It did not turn Thanks2Go into a financial product. It proved exactly one live success path.&lt;/p&gt;

&lt;p&gt;That discipline returned with me to the Hero Books.&lt;/p&gt;

&lt;p&gt;A specialist suggestion is not the child's decision. A returned artifact is not admitted evidence. A replayed request must not advance the same mission twice.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgi3izuv450jk85s38wax.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgi3izuv450jk85s38wax.png" alt="A better engine: the companion separates reading, staging, approval, execution, receipt, and return to the canonical owner" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The companion is not a tool menu
&lt;/h2&gt;

&lt;p&gt;Before this pause, I thought of the companion mainly as quick access to tools.&lt;/p&gt;

&lt;p&gt;That definition no longer works.&lt;/p&gt;

&lt;p&gt;For a Hero Book, the panel must become a living logbook: hero, world, mission, step, talents, inventory, decisions, dice, evidence, tokens, and active specialist.&lt;/p&gt;

&lt;p&gt;This is not decoration. It is where a child recovers the continuity of an adventure.&lt;/p&gt;

&lt;p&gt;That continuity cannot depend on a panel staying open. Manifest V3 service workers are ephemeral. A memory variable can vanish. A laptop can close at the wrong moment.&lt;/p&gt;

&lt;p&gt;So I defined &lt;code&gt;HeroBookPanelState.v1&lt;/code&gt; as explicit, versioned, and revision-aware. The cockpit can reopen the experience, but it does not own progression. AlgoQuest remains canonical.&lt;/p&gt;

&lt;p&gt;Algorithm Builder is the forge. Qbit carries continuity. Codex or Gemini can help as specialists.&lt;/p&gt;

&lt;p&gt;AlgoQuest keeps the story.&lt;/p&gt;

&lt;p&gt;The specialist returns a proposal or receipt. AlgoQuest decides what enters the mission.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pause became the architecture
&lt;/h2&gt;

&lt;p&gt;I also learned not to outsource proof to a grade.&lt;/p&gt;

&lt;p&gt;webmcp.com's evaluation helped me. It found weaknesses and gave direction. But a third-party score measures its own methodology.&lt;/p&gt;

&lt;p&gt;So I built a local Evidence Gate in Scholarium. It checks names, schemas, modes, handlers, permissions, refusals, receipts, and agent journeys.&lt;/p&gt;

&lt;p&gt;That proves what its own code can inspect.&lt;/p&gt;

&lt;p&gt;Only that.&lt;/p&gt;

&lt;p&gt;To know whether the cockpit helps a child find their way, I still need real evaluation with children, parents, educators, and accessibility users.&lt;/p&gt;

&lt;p&gt;The companions are not finished. Builder still needs to feel like a forge. AlgoQuest needs the rhythm of a gamebook. Qbit needs presence.&lt;/p&gt;

&lt;p&gt;But the work is no longer vague.&lt;/p&gt;

&lt;p&gt;The engine can read without changing, stage without claiming execution, wait for approval, reject a stale revision, issue a receipt, and return authority.&lt;/p&gt;

&lt;p&gt;These behaviors are less spectacular than an avatar or a 3D scene. They are what future surfaces can rest on.&lt;/p&gt;

&lt;p&gt;We spend enormous effort teaching AI when to stop. Before payment, publication, or canonical mutation, we ask for confirmation.&lt;/p&gt;

&lt;p&gt;The human architect needs the same discipline.&lt;/p&gt;

&lt;p&gt;Nobody returns &lt;code&gt;HUMAN_ARCHITECT_APPROVAL_REQUIRED&lt;/code&gt; for me.&lt;/p&gt;

&lt;p&gt;I must recognize the signal.&lt;/p&gt;

&lt;p&gt;I do not want the largest possible number of agentic tools. I want a child moving from AlgoQuest to Builder and then to a specialist to recover their hero, mission, decisions, creations, and earned evidence.&lt;/p&gt;

&lt;p&gt;Eventually, I want the companion to help the child need the companion less.&lt;/p&gt;

&lt;p&gt;Knowing how to move forward is a skill.&lt;/p&gt;

&lt;p&gt;Knowing where to stop is another.&lt;/p&gt;

&lt;h2&gt;
  
  
  Explore
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;WebMCP proposal: &lt;a href="https://github.com/webmachinelearning/webmcp" rel="noopener noreferrer"&gt;https://github.com/webmachinelearning/webmcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Chrome WebMCP docs: &lt;a href="https://developer.chrome.com/docs/ai/webmcp" rel="noopener noreferrer"&gt;https://developer.chrome.com/docs/ai/webmcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;PayPal idempotency: &lt;a href="https://developer.paypal.com/reference/guidelines/idempotency/" rel="noopener noreferrer"&gt;https://developer.paypal.com/reference/guidelines/idempotency/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>webdev</category>
      <category>deved</category>
    </item>
    <item>
      <title>Thanks2Go: Building a Human-Approved Gratitude Rail in One Weekend</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Sat, 05 Sep 2026 17:47:55 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/thanks2go-building-a-human-approved-gratitude-rail-in-one-weekend-12f4</link>
      <guid>https://dev.to/jsb-securedme/thanks2go-building-a-human-approved-gratitude-rail-in-one-weekend-12f4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;I used Codex to its fullest potential as a research partner—for code mapping, source comparison, evidence organization, consistency checks, editorial control, and deliverable preparation. I formulated the intent, defined the scope, interpreted the results, arbitrated the conclusions, and preserved every public decision. This collaboration expands my investigative capacity; judgment, responsibility, authorship, and final signature remain under my authority.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-09-03"&gt;Weekend Challenge: Generosity Edition&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;For five years, I have spent so many hours coding, studying mathematics, debugging, and learning new systems that much of it became ordinary to me. Opening VS Code, reading an unfamiliar repository, shaping an API contract, or asking what must never be automated feels like daily routine.&lt;/p&gt;

&lt;p&gt;This weekend changed the scale of that routine.&lt;/p&gt;

&lt;p&gt;Two developers asked me for help at almost the same moment that DEV announced its Generosity Edition challenge. One conversation was about learning. The other was about seeing a public portfolio with fresh eyes. I suddenly understood that the knowledge I had stopped noticing could shorten someone else’s path.&lt;/p&gt;

&lt;p&gt;Thanks2Go grew from that realization: gratitude should be easy to express, but never easy to automate past the human who is spending it.&lt;/p&gt;

&lt;h3&gt;
  
  
  The product in one sentence
&lt;/h3&gt;

&lt;p&gt;A creator voluntarily declares one canonical Thanks2Go profile on a page they control, and a visitor can open that profile after an explicit extension click to choose either a fixed PayPal gratitude tip or a Solana devnet demonstration.&lt;/p&gt;

&lt;p&gt;There is no account system, feed, ranking, directory, background scan, or payment database. The first profile is my own SecuredMe profile, because a weekend experiment is not a reason to make other people part of a payment system without a separate onboarding and consent process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live profile:&lt;/strong&gt; &lt;a href="https://thanks2go.securedme.ca/p/securedme" rel="noopener noreferrer"&gt;thanks2go.securedme.ca/p/securedme&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video:&lt;/strong&gt; final selection and public embed pending.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The demo begins with a contribution that helped someone move forward. It then shows the declared profile, the click-scoped extension, the fixed 2 USD PayPal handoff, the Solana devnet gesture, a real A2A recipient check, the four WebMCP tools, and a signed receipt verification. Every provider action remains visible and human-controlled.&lt;/p&gt;

&lt;p&gt;The live page is usable now. The video link will be added only after its recording excludes payer identity, merchant details, wallet secrets, environment values, and private financial links.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/SeCuReDmE-main-dev" rel="noopener noreferrer"&gt;
        SeCuReDmE-main-dev
      &lt;/a&gt; / &lt;a href="https://github.com/SeCuReDmE-main-dev/thanks2go" rel="noopener noreferrer"&gt;
        thanks2go
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Human-approved gratitude rails with Solana devnet, PayPal, A2A, WebMCP, and verifiable receipts
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Thanks2Go&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Thanks2Go is a human-approved gratitude rail built for the DEV Weekend Challenge: Generosity Edition. A creator declares one canonical profile. A visitor explicitly chooses either a fixed &lt;strong&gt;2.00 USD PayPal gratitude tip&lt;/strong&gt; or a clearly labelled &lt;strong&gt;Solana devnet demonstration&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Agents may inspect, stage, hand off, and verify. They cannot approve, capture, or sign payment.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What is in the repository&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;React + TypeScript + Vite public profile&lt;/li&gt;
&lt;li&gt;Chrome Manifest V3 extension with only &lt;code&gt;activeTab&lt;/code&gt; and &lt;code&gt;scripting&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Express/Vercel API with signed ten-minute mandates&lt;/li&gt;
&lt;li&gt;PayPal Orders v2 create/capture boundary with fixed server-side amount&lt;/li&gt;
&lt;li&gt;Solana Commerce Kit 0.1.1 in &lt;code&gt;tip&lt;/code&gt; mode on devnet&lt;/li&gt;
&lt;li&gt;Two real A2A 1.0 agents using &lt;code&gt;@a2a-js/sdk&lt;/code&gt; 1.1.0&lt;/li&gt;
&lt;li&gt;ES256 &lt;code&gt;vc+jwt&lt;/code&gt; gratitude receipts and public JWKS&lt;/li&gt;
&lt;li&gt;Experimental &lt;code&gt;document.modelContext&lt;/code&gt; WebMCP progressive enhancement&lt;/li&gt;
&lt;li&gt;Contract, API, privacy, permission, and authority-boundary tests&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Start locally&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Requirements: Node.js 20 or newer and npm 11.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm ci
copy .env.example .env.local
npm run dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Open &lt;code&gt;http://localhost:5173/p/securedme&lt;/code&gt;. Without…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/SeCuReDmE-main-dev/thanks2go" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The public MIT repository contains the React/Vite page, the Manifest V3 extension, shared Zod contracts, A2A agents, the Express/Vercel API, security documentation, 103 automated tests, and the evidence checklist. The repository was created inside the challenge window. The current release gate keeps the remaining provider and recording evidence visibly pending.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The declaration is small on purpose
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"thanks2go"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://thanks2go.securedme.ca/p/securedme"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"thanks2go:profile"&lt;/span&gt;
      &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://thanks2go.securedme.ca/p/securedme"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The Chrome Manifest V3 extension has only &lt;code&gt;activeTab&lt;/code&gt; and &lt;code&gt;scripting&lt;/code&gt;. It reads those two selectors and the visible origin only after I click the extension. A conflict fails closed. A missing declaration leads to a manual canonical-URL field. A valid result still does not navigate until I click again.&lt;/p&gt;

&lt;p&gt;That extra click is deliberate friction. It is the product boundary.&lt;/p&gt;
&lt;h3&gt;
  
  
  Two rails with different meanings
&lt;/h3&gt;

&lt;p&gt;The PayPal rail is deliberately boring: exactly 2.00 USD, fixed on the server, described as a voluntary gratitude tip. Provider fees apply and Thanks2Go does not promise a specific net amount. The client cannot change the currency, amount, payee, description, or return destinations. Creation and capture use separate stable idempotency identifiers, and a success receipt is issued only after PayPal confirms the exact capture. The API discards payer name and email and exposes only a one-way hash of the provider payer identifier.&lt;/p&gt;

&lt;p&gt;The Solana rail is deliberately labelled &lt;strong&gt;devnet demonstration&lt;/strong&gt;. I pinned &lt;code&gt;@solana-commerce/kit&lt;/code&gt; 0.1.1 and use its headless &lt;code&gt;createTipRequest&lt;/code&gt; primitive in SOL tip mode. A visitor selects one of three bounded values—0.001, 0.005, or 0.01 SOL—and receives a signed ten-minute mandate. The transaction builder adds a read-only reference derived from that mandate's hash and exactly one matching memo. The server verifies finality, recipient, amount, signature, time window, reference, and memo before producing a receipt. Devnet tokens have no monetary value, and the interface says so at the decision point.&lt;/p&gt;

&lt;p&gt;The general QR, when present, contains only the canonical profile URL. It never contains a wallet destination or an executable payment.&lt;/p&gt;
&lt;h3&gt;
  
  
  What the agents are allowed to do
&lt;/h3&gt;

&lt;p&gt;Thanks2Go has two first-party A2A agents using the official JavaScript SDK and the v1 &lt;code&gt;SendMessage&lt;/code&gt; JSON-RPC method.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Payer Intent Agent can stage an exact mandate after a rail and amount are selected.&lt;/li&gt;
&lt;li&gt;The Recipient Trust Agent can report evidence that the canonical origin and configured rail destination are controlled.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Their Agent Cards are signed with the same ES256 service identity published through JWKS. They answer immediately with an A2A &lt;code&gt;Message&lt;/code&gt;; there is no persistent task history.&lt;/p&gt;

&lt;p&gt;I used AP2 as a conceptual decomposition—intent, bounded mandate, visible approval, provider action, receipt—but I do not claim AP2 conformance. I also do not turn agent context into identity. Thanks2Go can say “origin controlled” and “destination controlled.” It cannot say “real person,” “safe profile,” or “human identity verified.”&lt;/p&gt;
&lt;h3&gt;
  
  
  WebMCP as progressive enhancement
&lt;/h3&gt;

&lt;p&gt;When &lt;code&gt;document.modelContext&lt;/code&gt; exists, the page registers four experimental WebMCP tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;inspect_gratitude_profile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;stage_gratitude_intent&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;open_payment_handoff&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;verify_gratitude_receipt&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No tool can set approval to true, create or capture a PayPal order, or sign a Solana transaction. The normal interface works when WebMCP is absent.&lt;/p&gt;

&lt;p&gt;This was an important design test for me. Agentic software becomes more useful when its authority is explicit; silently upgrading every useful action into autonomy weakens that trust.&lt;/p&gt;

&lt;p&gt;I then asked a browser agent to inspect the product as if it had never seen the implementation. It understood the main boundary, yet it still had to guess whether an origin-control field was independently verifiable, whether a valid credential meant a settled payment, and whether the page had exposed unrelated browser secrets. That uncertainty became a contract test.&lt;/p&gt;

&lt;p&gt;The inspection tool now reports the current origin, its match with the canonical profile, the transport state, the JWKS and signed Agent Card locations, and explicit &lt;code&gt;paymentInitiated: false&lt;/code&gt; and &lt;code&gt;secretsReturned: false&lt;/code&gt; fields. The staging tool exposes a recipient-control credential while withholding the signed payment mandate. Receipt verification separates cryptographic validity from confirmed settlement and from usability as payment proof.&lt;/p&gt;

&lt;p&gt;After that bounded refinement, webmcp.com's external scanner graded the deployed page &lt;strong&gt;B+&lt;/strong&gt;, detected all four tools, and recognized rigorous schemas and clear safety invariants. The product remains one deliberate page; I chose a narrow journey over pages created only to improve a coverage score. The grade is dated September 4; index presence was checked separately on September 5. It is not a security certification.&lt;/p&gt;

&lt;p&gt;The work behind &lt;a href="https://webmcp.com/" rel="noopener noreferrer"&gt;webmcp.com&lt;/a&gt; deserves its own acknowledgement here. Its public scanner and evaluation method gave me an immediate agent-facing review instead of leaving me to guess whether the tools were understandable from outside my own code. The feedback made refinement faster and easier: I could see which schemas needed precision, improve the contract once, redeploy, and verify the result. That kind of practical evaluation surface helps WebMCP move from an experimental browser capability toward something developers can test, compare, and improve with evidence.&lt;/p&gt;


&lt;h3&gt;
  
  
  Receipts without a gratitude database
&lt;/h3&gt;

&lt;p&gt;Each mandate is signed, self-contained, audience-bound, nonce-bearing, idempotent, and valid for at most ten minutes. Provider state remains the source of truth. A confirmed result becomes a W3C Verifiable Credentials Data Model 2.0-shaped receipt in an &lt;code&gt;application/vc+jwt&lt;/code&gt;-compatible ES256 envelope.&lt;/p&gt;

&lt;p&gt;This removes the need for a database of who thanked whom. It does not erase provider retention or the public nature of a blockchain. The privacy page says both plainly.&lt;/p&gt;
&lt;h3&gt;
  
  
  What I tested
&lt;/h3&gt;

&lt;p&gt;The automated suite covers canonical URLs, amount constraints, deterministic hashes, expiry, JWT tampering, API origin checks, the approval gate, signed Agent Cards, a real inter-agent A2A v1 exchange, MV3 permissions, conflicting declarations, and the absence of payment authority from WebMCP.&lt;/p&gt;

&lt;p&gt;The release gate separately requires provider evidence: PayPal sandbox success, cancellation, refusal and idempotent retry; a separately confirmed live 2 USD capture; Solana devnet acceptance, cancellation, mismatched recipient/amount/reference and finality; keyboard, screen-reader, mobile and Chrome passes; GitHub Actions; TLS; and the public deployment.&lt;/p&gt;

&lt;p&gt;At the September 5 verification checkpoint, 103 automated tests passed and GitHub Actions was green. Production checks exercised signed A2A exchanges and all four native WebMCP tools. PayPal sandbox success, cancellation and idempotent retry were verified; documented provider negative testing covered failure responses. A merchant screenshot showed a completed live 2 USD payment from a separate consenting payer. A 0.001 SOL devnet transfer was independently verified as finalized to the configured recipient, and Thanks2Go verified its signed receipt. Remaining work includes correlating and verifying the live PayPal application receipt, the outstanding browser QA, and the final demo recording.&lt;/p&gt;


&lt;h3&gt;
  
  
  The part that surprised me
&lt;/h3&gt;

&lt;p&gt;I entered the weekend thinking I was building a small generosity tool. I ended up seeing my own last five years differently.&lt;/p&gt;

&lt;p&gt;The technical work matters: strict contracts, a minimal extension, two payment rails, agent cards, verifiable receipts, threat models, tests. But the more important realization is that knowledge can become invisible to the person who carries it every day. The way back to curiosity was to place that knowledge in service of someone else—and then be disciplined enough to protect them from what the software should never decide.&lt;/p&gt;

&lt;p&gt;Gratitude can travel quickly. Approval should still belong to a person.&lt;/p&gt;
&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;I am entering &lt;strong&gt;Best Use of Solana&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Thanks2Go uses &lt;code&gt;@solana-commerce/kit&lt;/code&gt; 0.1.1 in tip mode on devnet. Commerce Kit prepares the bounded headless tip request; Thanks2Go constructs the native SOL transfer and adds a mandate-derived reference and memo, then verifies finality, recipient, exact amount, reference, memo, signature, and time window on the server before issuing a receipt. The interface identifies this rail as a devnet demonstration at every decision point.&lt;/p&gt;
&lt;h2&gt;
  
  
  Project Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Live profile: &lt;a href="https://thanks2go.securedme.ca/p/securedme" rel="noopener noreferrer"&gt;https://thanks2go.securedme.ca/p/securedme&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;a href="https://github.com/SeCuReDmE-main-dev/thanks2go" rel="noopener noreferrer"&gt;https://github.com/SeCuReDmE-main-dev/thanks2go&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Challenge: &lt;a href="https://dev.to/challenges/weekend-2026-09-03"&gt;https://dev.to/challenges/weekend-2026-09-03&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Companion podcast
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Why Thanks2Go rejects frictionless design&lt;/em&gt; — companion audio; &lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://drive.google.com/file/d/1PEK0g0vrJ7w2Dt1AeBe4puPHPFOUHB-b/view?usp=sharing" rel="noopener noreferrer" class="c-link"&gt;
            Why Thanks2Go rejects frictionless design - Google Drive
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fssl.gstatic.com%2Fdocs%2Fdoclist%2Fimages%2Fdrive_favicon_2026_32dp.png" width="32" height="32"&gt;
          drive.google.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1vq91cmar9vs9gab4g2c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1vq91cmar9vs9gab4g2c.png" alt="Thanks2Go: Human Approved Gratitude Rail, by Jean-Sébastien Beaulieu. A golden railway curves through mountains toward sunrise, illustrating appreciation and a stronger developer community." width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>a2a</category>
      <category>fintech</category>
    </item>
    <item>
      <title>Summer Gate: What WebMCP-QCG Taught Me About A2A and Human Authority</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Wed, 02 Sep 2026 17:03:08 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/summer-gate-what-webmcp-qcg-taught-me-about-a2a-and-human-authority-1i4m</link>
      <guid>https://dev.to/jsb-securedme/summer-gate-what-webmcp-qcg-taught-me-about-a2a-and-human-authority-1i4m</guid>
      <description>&lt;p&gt;During the final days of WebMCP-QCG, I stopped asking what else I could add.&lt;/p&gt;

&lt;p&gt;I started asking a harder question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Could someone understand and verify this project without me standing beside them?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That question changed the work.&lt;/p&gt;

&lt;p&gt;WebMCP-QCG is a browser-native preflight workbench for quantum-development decisions. It can inspect a bounded artefact, evaluate a proposed action, present a recommendation, stop for human authorization, run a supported local classical simulation, and export an evidence receipt.&lt;/p&gt;

&lt;p&gt;It does not reach a QPU. It does not promise quantum advantage. Most importantly, it does not allow an agent to make the final decision for the human.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjas5bgmz2x78qkfilja7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjas5bgmz2x78qkfilja7.png" alt="3 tools, 1 human" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Three surfaces, one shared truth
&lt;/h2&gt;

&lt;p&gt;The project now operates across three connected surfaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the Web application, where the artefact and human decision remain;&lt;/li&gt;
&lt;li&gt;a QCG panel inside browser DevTools;&lt;/li&gt;
&lt;li&gt;a persistent Companion side panel for inspection, collaboration, accessibility and evidence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These surfaces share the same sanitized state, but they do not share every capability.&lt;/p&gt;

&lt;p&gt;Raw quantum source remains inside the page. Consent tokens, credentials and private paths never cross into the extension. The Companion can inspect, explain and coordinate, but it cannot create consent or quietly transform a recommendation into authorization.&lt;/p&gt;

&lt;p&gt;This separation became my most important lesson from the hackathon.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1iTan2tY2cmqweRs_CaxZ9KczmO3CvWUF/view?usp=sharing" rel="noopener noreferrer"&gt;Listen to the short Companion podcast&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiqdlsgrgkp2vjpdq9yjj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiqdlsgrgkp2vjpdq9yjj.png" alt="The key moment" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What A2A should protect
&lt;/h2&gt;

&lt;p&gt;Before this project, agent-to-agent communication felt like an architectural possibility. After building the Companion, it became tangible.&lt;/p&gt;

&lt;p&gt;One agent can inspect. Another can challenge the first analysis. A human can compare their observations. The application can enforce its local boundary. A receipt can preserve what happened afterward.&lt;/p&gt;

&lt;p&gt;That is the A2A-shaped collaboration I want to continue building: several systems contributing without merging their responsibilities.&lt;/p&gt;

&lt;p&gt;Gemini participates through a deliberately manual and sanitized handoff. I am not claiming a native Gemini DevTools API or a complete authenticated A2A server. The useful mechanism is simpler and already real: recommendations can travel while human authority remains visible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Clarity helps agents and humans
&lt;/h2&gt;

&lt;p&gt;Direct use exposed another important problem. The first Light version of the Companion was too bright and visually tiring. Controls that looked acceptable on a large design canvas became harder to read inside a narrow persistent panel.&lt;/p&gt;

&lt;p&gt;I refined the palette, contrast, focus indicators and accessibility controls through actual browser use. That reinforced a lesson I want to carry forward: clarity created for agents is also useful to humans.&lt;/p&gt;

&lt;p&gt;Named states, explicit controls, readable history and predictable navigation reduce ambiguity for everyone. Accessibility is not decoration added after the engine. It is part of the interaction contract.&lt;/p&gt;

&lt;h2&gt;
  
  
  I invited cold judges into the process
&lt;/h2&gt;

&lt;p&gt;By Day 7, I was too close to the project to trust familiarity alone.&lt;/p&gt;

&lt;p&gt;I used external AI reviewers as cold judges. Their role was not to praise the architecture. Their role was to approach the repository like unfamiliar evaluators, identify fragile assumptions and force every concern back against the real code.&lt;/p&gt;

&lt;p&gt;Some findings became corrections. Some became tests. Some required documentation. Others were rejected because the claimed defect did not match the implementation.&lt;/p&gt;

&lt;p&gt;The human decision remained mine, but the counter-analysis made that decision stronger.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frc41k7z74m9610j411ln.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frc41k7z74m9610j411ln.png" alt="What the data tells us" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I continued
&lt;/h2&gt;

&lt;p&gt;During these days, I helped an expert collaborator transform specialized knowledge into a professional publication. His passion was real, the purpose was visible, and I could strengthen the delivery without taking ownership of his work.&lt;/p&gt;

&lt;p&gt;At the same time, an unclear professional request reminded me how quickly hope and intellectual attention can be consumed when identity, scope and commitment remain undefined.&lt;/p&gt;

&lt;p&gt;Those situations were two views of the same avenue.&lt;/p&gt;

&lt;p&gt;I want to help people build meaningful tools, even when they arrive without perfect technical language. But generosity needs trust, purpose and boundaries.&lt;/p&gt;

&lt;p&gt;I did not finish this project only for a prize. I finished because I want to be ready when someone writes with a real dream and honestly asks for help.&lt;/p&gt;

&lt;h2&gt;
  
  
  Read the full Summer field report
&lt;/h2&gt;

&lt;p&gt;The complete English and French editions belong to one canonical publication family:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://doi.org/10.5281/zenodo.22240281" rel="noopener noreferrer"&gt;Summer Gate: The Ending Belongs to the Evidence / La porte de l’été : la conclusion appartient aux preuves&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The final video and submission remain outside this journal. If you want to see how the story ends, the evidence is public:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://qcg.securedme.ca/" rel="noopener noreferrer"&gt;Open the QCG application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/SeCuReDmE-main-dev/webmcp-hackathon-2026" rel="noopener noreferrer"&gt;Inspect the public repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I built the gate so decisions would follow evidence.&lt;/p&gt;

&lt;p&gt;I intend to close the hackathon the same way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Protect Your Heritage. Secure Our Legacy.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>opensource</category>
      <category>mcp</category>
    </item>
    <item>
      <title>Day 5 of WebMCP-QCG: I Stopped Adding and Started Proving</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Mon, 31 Aug 2026 20:10:30 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/day-5-of-webmcp-qcg-i-stopped-adding-and-started-proving-51ol</link>
      <guid>https://dev.to/jsb-securedme/day-5-of-webmcp-qcg-i-stopped-adding-and-started-proving-51ol</guid>
      <description>&lt;p&gt;Day 5 began with one of the most dangerous moments in software development:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;the product worked.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That is exactly when my brain becomes a hackathon vending machine. I press one successful feature and six new ideas fall out. More providers. More languages. More panels. Better graphics. Deeper memory. A smarter agent. Another integration that will &lt;em&gt;only take twenty minutes&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This time, I stopped.&lt;/p&gt;

&lt;p&gt;WebMCP-QCG already had a working foundation. My job had changed. I needed to turn it into a product I could demonstrate, measure, defend, and finish.&lt;/p&gt;

&lt;p&gt;Day 5 became the day I stopped collecting possibilities and started collecting proof.&lt;/p&gt;

&lt;h2&gt;
  
  
  The gate had to earn every next action
&lt;/h2&gt;

&lt;p&gt;WebMCP-QCG operates before a costly or consequential quantum operation.&lt;/p&gt;

&lt;p&gt;A quantum artefact enters the browser. QCG computes its real SHA-256 digest, identifies its capabilities, evaluates the intended operation, explains one recommendation, asks for a human decision when authority is required, and produces an evidence receipt.&lt;/p&gt;

&lt;p&gt;Its four quantum tools cover four responsibilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;inspect the experiment;&lt;/li&gt;
&lt;li&gt;evaluate the proposed call;&lt;/li&gt;
&lt;li&gt;run a bounded local simulation;&lt;/li&gt;
&lt;li&gt;export the evidence report.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The decision engine can recommend reuse, rejection, recompilation, local simulation, or readiness for a later external workflow. Readiness describes evidence. Authority belongs to the person operating the gate.&lt;/p&gt;

&lt;p&gt;An agent can recommend. The application can validate. &lt;strong&gt;I decide.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv53efjeqyir8ho4oymlv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv53efjeqyir8ho4oymlv.png" alt="From momentum to proof: the Day 5 sequence" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The feature freeze became part of that architecture. It redirected the remaining effort toward accessibility, recovery, testing, interface coherence, documentation, deployment, and receipts.&lt;/p&gt;

&lt;p&gt;For once, my backlog did not get to eat my release alive.&lt;/p&gt;

&lt;h2&gt;
  
  
  The interface had to become mine
&lt;/h2&gt;

&lt;p&gt;The seasonal interface helped me discover the product, but the application needed a durable technical identity. The four seasons now belong to the editorial series: Autumn for emergence, Winter for discipline, Spring for proof, and Summer for closure.&lt;/p&gt;

&lt;p&gt;QCG itself became a browser console.&lt;/p&gt;

&lt;p&gt;A navigation rail controls a central workbench. Inspector, Console, WebMCP, Decisions, Sources, Receipts, and Activity each have a real job. A persistent evidence panel keeps integrity, recommendation, authority, participants, and review requests visible.&lt;/p&gt;

&lt;p&gt;The same sanitized state can appear across three surfaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the website;&lt;/li&gt;
&lt;li&gt;a dedicated QCG panel inside Chrome DevTools;&lt;/li&gt;
&lt;li&gt;a browser companion side panel.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Accessibility became architecture during the redesign. Keyboard navigation, visible focus, semantic labels, responsive reflow, contrast, reduced motion, and an accessible splitter improve the experience for people while giving browser agents a clearer interface to understand.&lt;/p&gt;

&lt;p&gt;Dark and Light became the product themes. Cyan identifies active technical state. Emerald marks safe primary actions. Gold identifies human authority. Red is reserved for refusal and error.&lt;/p&gt;

&lt;p&gt;The console finally looked and behaved like QCG.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsvadhautgc9r5c2cihtw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsvadhautgc9r5c2cihtw.png" alt="The WebMCP-QCG review architecture across the site, DevTools, the companion panel, and human authority" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conversation became useful because authority stayed separate
&lt;/h2&gt;

&lt;p&gt;I wanted Codex, Gemini-oriented clients, the website, DevTools, and the side panel to contribute to one investigation.&lt;/p&gt;

&lt;p&gt;The practical solution was shared, bounded application state.&lt;/p&gt;

&lt;p&gt;Compatible MCP clients can target the same browser page, read sanitized context, post observations, challenge a hypothesis, and request human review. QCG records the declared actor, intent, confidence, references, sequence, and resolution state.&lt;/p&gt;

&lt;p&gt;Gemini inside DevTools follows a visible human relay. QCG prepares a sanitized handoff package. I can copy it into Gemini, review the response, preview the structured result, and explicitly import it into the ledger.&lt;/p&gt;

&lt;p&gt;That boundary gives the collaboration its strength. Agents can debug, search, find, brainstorm, and request a decision. The person applies the disposition. A collaboration message carries evidence; quantum consent comes from the active human workflow.&lt;/p&gt;

&lt;p&gt;My goal is to give the human a much better loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ten profiles, two executable paths
&lt;/h2&gt;

&lt;p&gt;The quantum surface expanded through explicit capability contracts.&lt;/p&gt;

&lt;p&gt;QCG now recognizes ten ecosystem profiles. Q# and OpenQASM earned executable status through the same bounded QDK/WebAssembly Worker. Eight additional profiles support static inspection: Qiskit, Cirq/TensorFlow Quantum, TorchQuantum, PennyLane, CUDA-Q Python, CUDA-Q C++, Amazon Braket, and textual QIR.&lt;/p&gt;

&lt;p&gt;Recognition means QCG can identify relevant structure, calculate a real digest, expose capability facts, and produce a reviewable recommendation. Execution means the runtime has earned that status through limits, fixtures, tests, cancellation, receipts, and human consent.&lt;/p&gt;

&lt;p&gt;I am building a preflight workbench. Every future adapter now has a clear graduation path: define the capability, implement the boundary, test the state, preserve the receipt, and identify the authority required for the next effect.&lt;/p&gt;

&lt;h2&gt;
  
  
  Then I made the numbers mean something
&lt;/h2&gt;

&lt;p&gt;I finished Day 5 with a staged E2B campaign against the deterministic decision engine.&lt;/p&gt;

&lt;p&gt;The campaign progressed from local validation to 10 sandboxes, then 50, then 100 concurrent sandboxes. Two complete million-operation passes produced matching digests across all 100 environments.&lt;/p&gt;

&lt;p&gt;The consolidated record contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2.6 million validated decision-engine operations;&lt;/li&gt;
&lt;li&gt;100/100 matching sandbox digests;&lt;/li&gt;
&lt;li&gt;zero unauthorized effects;&lt;/li&gt;
&lt;li&gt;zero missing receipts;&lt;/li&gt;
&lt;li&gt;zero decision mismatches;&lt;/li&gt;
&lt;li&gt;zero surviving sandboxes after cleanup.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These numbers measure reproducibility in QCG's decision and evidence engine. Quantum performance belongs to a different experiment.&lt;/p&gt;

&lt;p&gt;I tested delivery separately. A deliberately small cPanel canary sent 80 requests to the public origin. All 80 returned HTTP 200, with zero errors and zero timeouts. That receipt measures delivery health.&lt;/p&gt;

&lt;p&gt;Measurements become useful when I let them describe the system they actually measured.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuyrytf73r5rotovriuk3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuyrytf73r5rotovriuk3.png" alt="What the Day 5 data says about reproducibility and delivery" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The canonical application is now live. The regression suite remained green, the reviewed build matched the deployed origin, and the functional product entered feature freeze.&lt;/p&gt;

&lt;p&gt;I still have ideas. Of course I do. My brain opened several imaginary repositories while I wrote this sentence.&lt;/p&gt;

&lt;p&gt;They can wait.&lt;/p&gt;

&lt;p&gt;This work matters to me because I think about my children and the learners whose hardware, geography, or budget narrows their access to advanced systems. A browser-native gate can reduce the knowledge and coordination cost of approaching quantum work responsibly. It can help a person understand what can run locally, what should be reused, what needs another target, what evidence exists, and who controls the next action.&lt;/p&gt;

&lt;p&gt;Spring is often described as uncontrolled growth. I learned another version of it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Growth becomes durable when the roots, branches, and limits develop together.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On Day 5, I stopped adding. I started proving.&lt;/p&gt;

&lt;h2&gt;
  
  
  Explore the project
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://qcg.securedme.ca/" rel="noopener noreferrer"&gt;Try WebMCP-QCG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/SeCuReDmE-main-dev/webmcp-hackathon-2026" rel="noopener noreferrer"&gt;Follow the open build on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devpost.com/software/webmcp-qcg-quantum-call-gate" rel="noopener noreferrer"&gt;See the WebMCP Challenge project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1mmF3xp53iWWAxcx4iWfhnxd-tkMgPB6j/view" rel="noopener noreferrer"&gt;Read the complete English Spring Gate field report&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Research-partner disclosure
&lt;/h3&gt;

&lt;p&gt;I used Codex and Gemini in Browser to its fullest potential as a research partner—for code mapping, source comparison, evidence organization, consistency checks, editorial control, and deliverable preparation. I formulated the intent, defined the scope, interpreted the results, arbitrated the conclusions, and preserved every public decision. This collaboration expands my investigative capacity; judgment, responsibility, authorship, and final signature remain under my authority.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>quantum</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>let go 12 years old hen i wish i was that awake at 12 let gooooo i will follow and encourage you for sure let gooooo keep on building</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Sun, 30 Aug 2026 16:23:31 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/let-go-12-years-old-hen-i-wish-i-was-that-awake-at-12-let-gooooo-i-will-follow-and-encourage-you-2ai</link>
      <guid>https://dev.to/jsb-securedme/let-go-12-years-old-hen-i-wish-i-was-that-awake-at-12-let-gooooo-i-will-follow-and-encourage-you-2ai</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/koda2026/announcing-the-first-ever-koda-code-jam-218n" class="crayons-story__hidden-navigation-link"&gt;🚨 ANNOUNCING: The First Ever "KODA Code Jam"!&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/koda2026" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4089803%2F1c9aa9af-f5cd-4465-8570-01266a69fd97.jpg" alt="koda2026 profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/koda2026" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Harun - solo dev 
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Harun - solo dev 
                
                
              
              &lt;div id="story-author-preview-content-4491946" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/koda2026" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4089803%2F1c9aa9af-f5cd-4465-8570-01266a69fd97.jpg" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Harun - solo dev &lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/koda2026/announcing-the-first-ever-koda-code-jam-218n" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 26&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/koda2026/announcing-the-first-ever-koda-code-jam-218n" id="article-link-4491946"&gt;
          🚨 ANNOUNCING: The First Ever "KODA Code Jam"!
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/koda2026/announcing-the-first-ever-koda-code-jam-218n" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;6&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/koda2026/announcing-the-first-ever-koda-code-jam-218n#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Winter Gate: My Browser Waited for My Decision</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Sun, 30 Aug 2026 15:20:54 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/winter-gate-my-browser-waited-for-my-decision-gmp</link>
      <guid>https://dev.to/jsb-securedme/winter-gate-my-browser-waited-for-my-decision-gmp</guid>
      <description>&lt;p&gt;&lt;em&gt;Days 3–4 of building WebMCP-QCG&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I slept before Day 3.&lt;/p&gt;

&lt;p&gt;That sounds like a small achievement in a development journal, but it changed the architecture. My most useful optimization was giving the human operator a full night of RAM.&lt;/p&gt;

&lt;p&gt;I returned to WebMCP-QCG rested enough to see the project clearly. I had begun with an ambitious quantum router spanning frameworks, simulators, providers, notebooks, processors, and several futures at once. The map was exciting. The product was hiding inside it.&lt;/p&gt;

&lt;p&gt;Then one question gave the project its purpose:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Before an agent asks a quantum system to do something, has that call earned the right to run?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That question turned the router into a gate.&lt;/p&gt;

&lt;h2&gt;
  
  
  One artifact enters the browser
&lt;/h2&gt;

&lt;p&gt;The transaction begins with a real Q# file selected by the human.&lt;/p&gt;

&lt;p&gt;QCG reads it locally, computes its SHA-256 digest, records its provenance, and compiles it through a bounded browser Worker. The agent receives a structured artifact identity rather than a loose description of the experiment. It can inspect the manifest and evaluate the intended action against explicit limits.&lt;/p&gt;

&lt;p&gt;The result is one recommendation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reuse fresh evidence;&lt;/li&gt;
&lt;li&gt;reject an unsupported call;&lt;/li&gt;
&lt;li&gt;recompile for the selected target;&lt;/li&gt;
&lt;li&gt;simulate locally first; or&lt;/li&gt;
&lt;li&gt;mark the experiment technically ready for a later external workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Technical readiness is a statement about evidence. Authority is a decision made by a person.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F625f1te93aq18e8qj8e4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F625f1te93aq18e8qj8e4.png" alt="Four WebMCP tools, five quantum decisions, and one human authority boundary" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The moment the machine waited
&lt;/h2&gt;

&lt;p&gt;My favorite state is &lt;code&gt;simulate_first&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The recommendation appears. The reason codes are visible. The proposed limits are visible. Then the system waits.&lt;/p&gt;

&lt;p&gt;That pause is the product.&lt;/p&gt;

&lt;p&gt;If I accept, QCG creates a short-lived, single-use consent for one bounded local simulation. The Q# Worker runs the experiment, returns its histogram, and consumes the consent. If I defer, the experiment remains where it is. If I override the recommendation, the receipt preserves my choice and justification instead of rewriting the history into a cleaner story.&lt;/p&gt;

&lt;p&gt;In the validated Bell path, the browser completed 64 correlated shots. The effect counters recorded one local simulation and zero provider or QPU submissions. The receipt linked the artifact digest, compiler version, policy, recommendation, human decision, and measured effect.&lt;/p&gt;

&lt;p&gt;For the first time, I could follow the whole chain and explain every transition.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1cyxrf2drg24hrtmjddx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1cyxrf2drg24hrtmjddx.png" alt="A local quantum decision becomes a portable evidence receipt" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Four tools with four responsibilities
&lt;/h2&gt;

&lt;p&gt;WebMCP-QCG now exposes a deliberately small surface:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;inspect_quantum_experiment&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;evaluate_quantum_call&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;run_bounded_qsharp_simulation&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;export_quantum_evidence_report&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The third tool only appears when the recommendation, application state, and visible human consent all agree. The fourth exports what already happened; it does not silently re-evaluate the experiment.&lt;/p&gt;

&lt;p&gt;This separation gives each tool one responsibility and gives the browser a history that both a human and an agent can inspect.&lt;/p&gt;

&lt;p&gt;The current codebase passes 34 automated tests across six files and builds 127 TypeScript/Vite modules. Those numbers matter because they describe the proof I actually have. They also reveal the next work: live browser lifecycle testing, the optional QCG panel in Chrome DevTools, deployment parity, and a clean multi-agent handoff.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftqolq2guoenf3nudv6t9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftqolq2guoenf3nudv6t9.png" alt="Measured evidence separates demonstrated behavior from the next proof" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A room for agents, with one human gate
&lt;/h2&gt;

&lt;p&gt;I am now extending this discipline into DevTools.&lt;/p&gt;

&lt;p&gt;The goal is a shared debugging room where Codex can map contracts and regression risks, a Gemini-oriented client can challenge the browser diagnosis, and I can compare both contributions. Each observation will keep its declared actor, evidence references, confidence, and review state.&lt;/p&gt;

&lt;p&gt;The collaboration tools may read context, post an observation, request human review, and export a handoff. Quantum consent and execution remain in the primary QCG workflow.&lt;/p&gt;

&lt;p&gt;This is the future of browser agents that interests me: several capable systems contributing evidence while their responsibilities stay legible. Intelligence can be distributed. Authority still needs an address.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Winter matters
&lt;/h2&gt;

&lt;p&gt;The first article belonged to Autumn. It captured discovery: gold light, a closed gate, and ideas arriving faster than I could classify them.&lt;/p&gt;

&lt;p&gt;Winter represents structure. Bare branches reveal the load-bearing parts. Footprints remain visible. Every feature must show the evidence that earned its place.&lt;/p&gt;

&lt;p&gt;I am building this for more than a hackathon. I see a future where students, independent researchers, and developers with ordinary computers can prepare meaningful quantum work through a browser. Local simulation, cloud infrastructure, and physical processors will keep different roles. A clear gate can help people understand which path fits their experiment before cost, complexity, or automation carries them forward.&lt;/p&gt;

&lt;p&gt;That matters to SecuredMe. It matters to the educational tools I want my children and future students to inherit. Powerful systems should teach judgment alongside capability.&lt;/p&gt;

&lt;p&gt;At the end of Days 3 and 4, the project felt alive for a new reason. It had learned how to wait.&lt;/p&gt;

&lt;p&gt;The browser can inspect. The policy can recommend. I decide when the gate opens.&lt;/p&gt;




&lt;h2&gt;
  
  
  Explore the work
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://qcg.securedme.ca/" rel="noopener noreferrer"&gt;Try WebMCP-QCG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/SeCuReDmE-main-dev/webmcp-hackathon-2026" rel="noopener noreferrer"&gt;Follow the open build on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1lb8hs_PMcIXPCRl8dACvl7nCk_MyM0A9/view?usp=drivesdk" rel="noopener noreferrer"&gt;Read the complete Winter Gate field report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://doi.org/10.5281/zenodo.22167091" rel="noopener noreferrer"&gt;Canonical research record — DOI 10.5281/zenodo.22167091&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1hNFQXkZFXQJ4FhZN5omBEEmmYpA8m3zy/view?usp=sharing" rel="noopener noreferrer"&gt;Listen to the companion short podcast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devjournal</category>
      <category>webdev</category>
      <category>ai</category>
      <category>quantum</category>
    </item>
    <item>
      <title>Day 2 of Building a WebMCP Quantum Tool: My Brain Filed a Complaint</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Fri, 28 Aug 2026 05:17:49 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/day-2-of-building-a-webmcp-quantum-tool-my-brain-filed-a-complaint-4eop</link>
      <guid>https://dev.to/jsb-securedme/day-2-of-building-a-webmcp-quantum-tool-my-brain-filed-a-complaint-4eop</guid>
      <description>&lt;p&gt;Day 2 of this hackathon research phase was not a calm engineering day.&lt;/p&gt;

&lt;p&gt;It was a full-contact learning marathon.&lt;/p&gt;

&lt;p&gt;I went through webinars, repositories, specifications, quantum tooling, WebMCP material, Qiskit refreshers, Azure Quantum memories, CUDA-Q direction, Colab possibilities, browser execution models, and enough “let me just read one more thing” moments to make my eyes negotiate directly with gravity.&lt;/p&gt;

&lt;p&gt;At one point, I was so tired that I almost fell asleep on the keyboard, woke up half-panicked, and became convinced I had erased something important.&lt;/p&gt;

&lt;p&gt;I had not.&lt;/p&gt;

&lt;p&gt;My keyboard survived. My project survived. My mind is still under review.&lt;/p&gt;

&lt;p&gt;And somewhere in the middle of all this beautiful technical indigestion, the project became clearer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Project Is Now Quantum
&lt;/h2&gt;

&lt;p&gt;At the beginning, I still had multiple possible directions.&lt;/p&gt;

&lt;p&gt;One idea was WebCCP: a continuity contract between surfaces, tools, and agents. I still believe there is something important there. But after the WebMCP/CCP article, I understand the weight problem better. Context has a cost. Carrying continuity blindly can become expensive very quickly.&lt;/p&gt;

&lt;p&gt;So WebCCP stays on the bench.&lt;/p&gt;

&lt;p&gt;Another idea was a WebMCP website design assistant. Honestly, that one would probably be easier to present. It would be practical, visual, and much simpler to explain in a demo.&lt;/p&gt;

&lt;p&gt;But simple is not always the project that teaches the most.&lt;/p&gt;

&lt;p&gt;The direction I am choosing is quantum.&lt;/p&gt;

&lt;p&gt;More precisely: a WebMCP Quantum Call Gate.&lt;/p&gt;

&lt;p&gt;Not a full quantum IDE. Not a replacement for Qiskit, CUDA-Q, TensorFlow Quantum, TorchQuantum, Azure Quantum, or Colab.&lt;/p&gt;

&lt;p&gt;A call gate.&lt;/p&gt;

&lt;p&gt;A decision layer.&lt;/p&gt;

&lt;p&gt;A tool that helps an AI agent decide what should happen before a quantum execution is launched.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fht91jn9uhuw5nzpz4wt7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fht91jn9uhuw5nzpz4wt7.png" alt="Architecture and systeme" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Problem
&lt;/h2&gt;

&lt;p&gt;Quantum work is expensive in multiple ways.&lt;/p&gt;

&lt;p&gt;It costs attention. It costs compute. It costs cloud access. It costs shots. It costs time. It also costs mistakes, because a weak prompt or a badly framed execution can send work to the wrong backend for the wrong reason.&lt;/p&gt;

&lt;p&gt;A quantum specialist does daily work like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;build circuits from gates&lt;/li&gt;
&lt;li&gt;compile circuits for execution&lt;/li&gt;
&lt;li&gt;use primitives to build and execute experiments&lt;/li&gt;
&lt;li&gt;visualize circuits and analyze results&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those actions are normal in quantum workflows.&lt;/p&gt;

&lt;p&gt;But when an AI agent enters the browser and starts helping, another question appears:&lt;/p&gt;

&lt;p&gt;Should this action run at all?&lt;/p&gt;

&lt;p&gt;Should it run in the browser?&lt;/p&gt;

&lt;p&gt;Should it run in Colab?&lt;/p&gt;

&lt;p&gt;Should it target Qiskit?&lt;/p&gt;

&lt;p&gt;Should it use CUDA-Q?&lt;/p&gt;

&lt;p&gt;Should it stay as a local simulation?&lt;/p&gt;

&lt;p&gt;Should it ask for confirmation before burning real resources?&lt;/p&gt;

&lt;p&gt;That is the space I want to explore.&lt;/p&gt;

&lt;h2&gt;
  
  
  What The Webinars Taught Me
&lt;/h2&gt;

&lt;p&gt;The webinars were useful, even when my soul briefly left the room.&lt;/p&gt;

&lt;p&gt;Some of them were exciting. Some were technically valuable but delivered with the emotional temperature of a filing cabinet. That is not an insult. It is just the reality of learning while tired. When you already understand part of a topic, the speaker’s energy matters. A lot.&lt;/p&gt;

&lt;p&gt;The Azure Quantum material reminded me of something important: quantum in the browser is already possible. WebAssembly, browser-hosted tooling, VS Code web experiences, and fast feedback loops are real. That matters because it proves that the browser is not only a documentation surface. It can be a technical surface.&lt;/p&gt;

&lt;p&gt;CUDA-Q pushed the idea further: the useful abstraction is not only the circuit. It is the target. The backend. The processor. The place where the work will actually run.&lt;/p&gt;

&lt;p&gt;That changed my MVP thinking.&lt;/p&gt;

&lt;p&gt;I do not want to build a toy that says “here is a circuit.”&lt;/p&gt;

&lt;p&gt;I want to build a tool that says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“This request should run here, for this reason, with these limits, and these risks.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is much more useful.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkyq05v54nbprkusfr2dj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkyq05v54nbprkusfr2dj.png" alt="why the QCG" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Funny Part: I Am Doing This To Stay Grounded
&lt;/h2&gt;

&lt;p&gt;There is a moment in every serious learning marathon where the brain starts asking spiritual questions.&lt;/p&gt;

&lt;p&gt;Why am I watching another webinar?&lt;/p&gt;

&lt;p&gt;Why am I reading another specification?&lt;/p&gt;

&lt;p&gt;Why am I comparing four quantum ecosystems when I could be sleeping?&lt;/p&gt;

&lt;p&gt;Why did I think this was a normal Tuesday?&lt;/p&gt;

&lt;p&gt;Then I remember.&lt;/p&gt;

&lt;p&gt;I am doing this for SecuredMe.&lt;/p&gt;

&lt;p&gt;I am doing this for the education suite.&lt;/p&gt;

&lt;p&gt;I am doing this for my kids.&lt;/p&gt;

&lt;p&gt;I am doing this because I want advanced technical systems to become more accessible to people who do not have perfect hardware, perfect funding, perfect institutional access, or perfect timing.&lt;/p&gt;

&lt;p&gt;That part matters to me.&lt;/p&gt;

&lt;p&gt;My laptop is not a supercomputer. It can run code. It can compile. It can build. But it is not the right place to run a heavy local AI agent or a large quantum stack.&lt;/p&gt;

&lt;p&gt;So the architecture has to respect that reality.&lt;/p&gt;

&lt;p&gt;Local orchestration. Browser interaction. Cloud or Colab when needed. Clear routing. Clear proof. Clear decision.&lt;/p&gt;

&lt;p&gt;That constraint is not weakness. It is product truth.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tool I Want To Build
&lt;/h2&gt;

&lt;p&gt;The working name is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WebMCP-QCG: WebMCP Quantum Call Gate&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The MVP should demonstrate one clean vertical path:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A user asks for a quantum action from the browser.&lt;/li&gt;
&lt;li&gt;WebMCP exposes a small set of non-overlapping tools.&lt;/li&gt;
&lt;li&gt;The call gate evaluates the request.&lt;/li&gt;
&lt;li&gt;It identifies the likely framework and execution surface.&lt;/li&gt;
&lt;li&gt;It explains the decision.&lt;/li&gt;
&lt;li&gt;It either approves a safe local/browser/Colab action or refuses/defers a risky one.&lt;/li&gt;
&lt;li&gt;It produces a short trace that a human can inspect.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That trace is important.&lt;/p&gt;

&lt;p&gt;I do not want an agent that silently “does quantum.”&lt;/p&gt;

&lt;p&gt;I want an agent that can justify why it chose a backend, why it avoided another one, and what evidence it used.&lt;/p&gt;

&lt;p&gt;That is the real product.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Am Not Building This Week
&lt;/h2&gt;

&lt;p&gt;This part is where I have to be disciplined.&lt;/p&gt;

&lt;p&gt;Because my brain immediately wants the full system.&lt;/p&gt;

&lt;p&gt;Circuit builder. Gate designer. Custom gates. Multi-framework export. Colab execution. CUDA-Q backend selection. Qiskit integration. Azure adapter. TensorFlow Quantum compatibility. TorchQuantum bridge. Visual debugger. Educational mode. Research report generator. Cost estimator. Classroom mode. Children’s learning layer.&lt;/p&gt;

&lt;p&gt;All of that is interesting.&lt;/p&gt;

&lt;p&gt;All of that can exist later.&lt;/p&gt;

&lt;p&gt;This week, the MVP must prove the call gate.&lt;/p&gt;

&lt;p&gt;The win is not to build the entire quantum universe inside a browser tab.&lt;/p&gt;

&lt;p&gt;The win is to show that an AI agent can pause before execution, inspect the request, select the right surface, and explain the decision in a way that protects the user from wasted compute and bad assumptions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiqfg0yifc47d9p9wvjej.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiqfg0yifc47d9p9wvjej.png" alt="what the data tell us" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hackathon Angle
&lt;/h2&gt;

&lt;p&gt;I am entering this hackathon knowing that my location may prevent me from winning.&lt;/p&gt;

&lt;p&gt;That changes nothing about the value of the work.&lt;/p&gt;

&lt;p&gt;I will still respect the rules. I will still build in public. I will still submit the project properly. I will still keep the repository open as the work evolves.&lt;/p&gt;

&lt;p&gt;For me, this hackathon is not only a contest.&lt;/p&gt;

&lt;p&gt;It is a nine-day training camp.&lt;/p&gt;

&lt;p&gt;It is a way to force myself to understand AI in the browser before 2027 makes this normal.&lt;/p&gt;

&lt;p&gt;It is a way to sharpen SecuredMe’s future architecture.&lt;/p&gt;

&lt;p&gt;It is also a way to open my process and make the competition stronger. If someone reads my notes and builds something better, good. That means the field moved.&lt;/p&gt;

&lt;p&gt;I would rather contribute loudly than wait quietly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Codex In The Process
&lt;/h2&gt;

&lt;p&gt;I used Codex to its fullest potential as a research partner: for code mapping, source comparison, evidence organization, consistency checks, editorial control, and deliverable preparation.&lt;/p&gt;

&lt;p&gt;I formulated the intent, defined the scope, interpreted the results, arbitrated the conclusions, and preserved every public decision.&lt;/p&gt;

&lt;p&gt;This collaboration enhances my investigative capacity; it places judgment, responsibility, and signature under my authority.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;The AI partner helps me move faster.&lt;/p&gt;

&lt;p&gt;The decision remains mine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 2 Conclusion
&lt;/h2&gt;

&lt;p&gt;Day 2 hurt a little.&lt;/p&gt;

&lt;p&gt;In a good way.&lt;/p&gt;

&lt;p&gt;It was the kind of day where learning becomes physical. Eyes tired. Brain saturated. Notes everywhere. Webinars half-finished. Ideas arriving faster than I can organize them. A few moments of genuine confusion. A few moments of clarity strong enough to keep going.&lt;/p&gt;

&lt;p&gt;The project is now clearer:&lt;/p&gt;

&lt;p&gt;I am not building a general quantum platform.&lt;/p&gt;

&lt;p&gt;I am building a WebMCP call gate for quantum work.&lt;/p&gt;

&lt;p&gt;A small, inspectable, useful decision layer that helps an AI agent decide before it executes.&lt;/p&gt;

&lt;p&gt;That is the right size for the hackathon.&lt;/p&gt;

&lt;p&gt;That is the right bridge between WebMCP and quantum tooling. Habitually i do vid and podcast and trilangue fuck that tonight im fabergast i still have produce a full editorial &lt;a href="https://zenodo.org/records/22135277" rel="noopener noreferrer"&gt;long english companion article&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;but only in english sorry for those fictive reader that read my spanish version who know maybee one day i will have a spanish reader!!!!&lt;/p&gt;

&lt;p&gt;And tonight, now at the right moment I am going to sleep on it.&lt;/p&gt;

&lt;p&gt;Because after 37 hours in 48 hours, the next architectural review belongs to my dreams.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>quantum</category>
      <category>webdev</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>I Judged an AI Ops Alpha Too Quickly—Then I Read Its Security Boundary</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Wed, 26 Aug 2026 04:55:52 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/i-judged-an-ai-ops-alpha-too-quickly-then-i-read-its-security-boundary-25b0</link>
      <guid>https://dev.to/jsb-securedme/i-judged-an-ai-ops-alpha-too-quickly-then-i-read-its-security-boundary-25b0</guid>
      <description>&lt;p&gt;At 2:01 a.m., Zheng Qi sent me a question that shaped the next twenty-two hours of my life:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What would you trust an incident-triggered AI operations engineer to do?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I opened NoPager expecting to evaluate an ambitious Alpha. The visible product felt younger than the promise. My first instinct focused on the interface, the setup experience and the distance between an early screen and a production-grade claim.&lt;/p&gt;

&lt;p&gt;Then I read the code.&lt;/p&gt;

&lt;p&gt;That changed the entire investigation.&lt;/p&gt;

&lt;p&gt;Behind the early interface, Zheng had built something far more serious: a security boundary designed to keep AI reasoning separate from production mutation.&lt;/p&gt;

&lt;p&gt;This article is the short version of what I learned—and why I changed my mind.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real question is authority
&lt;/h2&gt;

&lt;p&gt;People often ask whether an AI agent is intelligent enough to operate infrastructure.&lt;/p&gt;

&lt;p&gt;I now think that question arrives too early.&lt;/p&gt;

&lt;p&gt;The first question should be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Which authority can this system exercise when its reasoning becomes wrong, incomplete or surprising?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A language model can produce a brilliant diagnosis and still generate an unsafe next step. Reliability therefore comes from architecture rather than confidence in the model’s judgment.&lt;/p&gt;

&lt;p&gt;NoPager approaches this by dividing the system into distinct powers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an external monitor detects repeated health failures;&lt;/li&gt;
&lt;li&gt;an AI worker receives bounded evidence and proposes an action;&lt;/li&gt;
&lt;li&gt;deterministic policy decides whether the proposal fits the operator’s rules;&lt;/li&gt;
&lt;li&gt;a narrow privileged helper validates and executes the permitted mutation;&lt;/li&gt;
&lt;li&gt;an independent signal verifies recovery;&lt;/li&gt;
&lt;li&gt;the operator retains the Kill Switch and escalation path.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fslz8bi3iajmvkiu40ghp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fslz8bi3iajmvkiu40ghp.png" alt="The authority boundary in NoPager" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The model receives the power to propose. The helper receives the power to perform a tiny catalogue of operations. The operator retains the power to define the catalogue.&lt;/p&gt;

&lt;p&gt;That is a much stronger foundation than asking an AI to “be careful.”&lt;/p&gt;

&lt;h2&gt;
  
  
  Six dimensions changed how I evaluate agents
&lt;/h2&gt;

&lt;p&gt;During the review, I began mapping production authority across six dimensions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Actor&lt;/strong&gt; — Which authenticated component is asking?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verb&lt;/strong&gt; — Which exact operation may it request?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Target&lt;/strong&gt; — Which enrolled resource may receive it?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quantity&lt;/strong&gt; — How many mutations fit inside the policy?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time&lt;/strong&gt; — Which cooldown, deadline or TTL limits the action?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proof&lt;/strong&gt; — Which durable record and independent signal establish the outcome?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This map gives us a practical way to evaluate automation.&lt;/p&gt;

&lt;p&gt;A read-only evidence collector can receive broad observational access inside a bounded incident window. A container restart can receive narrow automatic authority for one immutable target. A database failover, durable WAF change or destructive operation belongs behind explicit human approval until field evidence supports a safer contract.&lt;/p&gt;

&lt;p&gt;The AI can reason widely. Its mutation authority remains small.&lt;/p&gt;

&lt;h2&gt;
  
  
  The worker/helper split is the heart of the design
&lt;/h2&gt;

&lt;p&gt;The most important change I studied came through NoPager’s worker/helper architecture.&lt;/p&gt;

&lt;p&gt;The worker runs with restricted privileges. It lacks direct Docker authority. It produces a typed request selected from a pre-approved action catalogue.&lt;/p&gt;

&lt;p&gt;The host-side helper holds the narrow privilege. It validates the Unix peer identity, a local credential, the enrolled Docker target and control-plane exclusions. The helper receives a structured request rather than a free-form shell command.&lt;/p&gt;

&lt;p&gt;This creates a physical gap between reasoning and execution.&lt;/p&gt;

&lt;p&gt;Even a deeply confused model reaches the same narrow gate.&lt;/p&gt;

&lt;h2&gt;
  
  
  A green test suite is the beginning of trust
&lt;/h2&gt;

&lt;p&gt;Source review showed strong implementation discipline. Yet production trust requires several kinds of evidence.&lt;/p&gt;

&lt;p&gt;I use three levels:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Code confidence&lt;/strong&gt; — the intended controls and invariants exist;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Laboratory confidence&lt;/strong&gt; — those controls survive concurrency, corrupted state, timeouts and interrupted dependencies;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Field confidence&lt;/strong&gt; — a real operator can install, understand, approve, interrupt and recover the system under realistic pressure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frges5j1e1vkby7s7nwmk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frges5j1e1vkby7s7nwmk.png" alt="Three laboratories around a synthetic failure" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This distinction matters for every AI product. Unit tests can prove a policy branch. A disposable Linux environment can prove socket behavior during failure. A design partner can prove whether the operator actually understands the boundary at 3 a.m.&lt;/p&gt;

&lt;p&gt;Each proof answers a different question.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ambiguity is a first-class state
&lt;/h2&gt;

&lt;p&gt;One of the most valuable lessons came from the durable request journal.&lt;/p&gt;

&lt;p&gt;An operation may be ready, active, completed or historically ambiguous.&lt;/p&gt;

&lt;p&gt;That last state deserves special attention. Imagine a helper restarting a container while the process, Docker daemon or host loses connectivity. The system may lose the ability to prove exactly what happened.&lt;/p&gt;

&lt;p&gt;A careless orchestrator retries. A safer system records the uncertainty, freezes the mutation path and escalates to a human.&lt;/p&gt;

&lt;p&gt;This is where idempotency becomes more than duplicate protection. It becomes a statement about operational truth.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhbn596t2v3reyiiirjup.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhbn596t2v3reyiiirjup.png" alt="What the evidence says about NoPager" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The lesson travels far beyond container restarts:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An unknown outcome deserves an explicit recovery path.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Security must become visible in the interface
&lt;/h2&gt;

&lt;p&gt;The code changed my judgment of NoPager. The next opportunity is helping the interface communicate what the engine already protects.&lt;/p&gt;

&lt;p&gt;A solo operator should be able to answer five questions quickly:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What happened?&lt;/li&gt;
&lt;li&gt;Which evidence supports the diagnosis?&lt;/li&gt;
&lt;li&gt;Which action is proposed?&lt;/li&gt;
&lt;li&gt;Which policy grants that action authority?&lt;/li&gt;
&lt;li&gt;Which recovery path activates when history becomes ambiguous?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The product journey can make the authority flow visible:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Detection → Evidence → Proposal → Policy → Approval or Allow → Execution → Verification → Recovery or Escalation&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Safe Mode then becomes a learning path. Autopilot becomes an earned transition for specific actions whose boundaries have already been observed, tested and accepted.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I am carrying into my own work
&lt;/h2&gt;

&lt;p&gt;This investigation gave me three lessons I want to retain:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First:&lt;/strong&gt; reasoning capability and execution authority are separate design problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Second:&lt;/strong&gt; a security control gains product value when the operator can see it at the moment of consequence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Third:&lt;/strong&gt; reviewing a project deeply enough to revise an initial judgment is part of responsible technical work.&lt;/p&gt;

&lt;p&gt;Zheng builds NoPager as a solo maintainer. The repository shows an impressive pace and a serious effort to reduce authority before asking operators to trust the product.&lt;/p&gt;

&lt;p&gt;I chose to contribute through research, an article, field-test protocols and public attention. The code remains under Zheng’s technical authority.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/SuZ9YCvE0H0"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Explore the complete work
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://doi.org/10.5281/zenodo.22103419" rel="noopener noreferrer"&gt;Read the bilingual case study&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nopager/nopager" rel="noopener noreferrer"&gt;Visit the NoPager repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nopager/nopager/issues/59" rel="noopener noreferrer"&gt;Read Zheng’s trust-boundary question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nopager/nopager/pull/80" rel="noopener noreferrer"&gt;Study the worker/helper security change&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this question matters to you, visit the project and offer one focused thing: an operator perspective, a design-partner experiment, a careful review or a word of encouragement.&lt;/p&gt;

&lt;p&gt;For a solo developer, precise attention can become a meaningful contribution.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>cybersecurity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Tried to Add Memory to WebMCP. The Experiment Told Me Not To.</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Sat, 22 Aug 2026 14:18:06 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/i-tried-to-add-memory-to-webmcp-the-experiment-told-me-not-to-1bg8</link>
      <guid>https://dev.to/jsb-securedme/i-tried-to-add-memory-to-webmcp-the-experiment-told-me-not-to-1bg8</guid>
      <description>&lt;p&gt;I had a problem that looked like memory.&lt;/p&gt;

&lt;p&gt;I could work for hours with an agent on my laptop, move into the browser, and discover that the objective had survived—but the decisions, constraints, evidence, and next action had not. The new surface knew what I wanted in general. It did not always know what had already been ruled out, what was still unproven, or what should happen next.&lt;/p&gt;

&lt;p&gt;My first idea was straightforward: perhaps WebMCP needed a compact continuity package.&lt;/p&gt;

&lt;p&gt;I called it &lt;strong&gt;CCP—the Context Continuity Package&lt;/strong&gt;. It would be small, origin-scoped, read-only, rejectable, and designed to carry only the state needed to resume a task. I imagined it as a bridge between Codex, ChatGPT in Chrome, Antigravity, and Edge.&lt;/p&gt;

&lt;p&gt;Then I did the thing that changed the entire project: before proposing a new primitive, I read WebMCP as if I were preparing for surgery.&lt;/p&gt;

&lt;p&gt;The result was not the victory I expected. It was more useful.&lt;/p&gt;

&lt;p&gt;I learned that the continuity problem is real, that a CCP can reduce part of its visible cost, and that &lt;strong&gt;WebMCP is probably not the layer that should own agent memory&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This is the story of the experiment, the code, the failures, and the architectural boundary I found.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftkkruk1mc2fiato58yut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftkkruk1mc2fiato58yut.png" alt="The nine code and proof surgeries used in the WebMCP and CCP study" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I chose WebMCP
&lt;/h2&gt;

&lt;p&gt;I have followed WebMCP since its early development. For a long time, I watched the repository and its discussions more than I participated. I did not yet trust my understanding enough to enter a specification conversation with Chrome engineers.&lt;/p&gt;

&lt;p&gt;Meanwhile, my own work kept returning to the same question: what makes an agentic system genuinely useful?&lt;/p&gt;

&lt;p&gt;Swarm size is not enough. A hundred agents with poor tools can still fail in the same place. RAG, human-in-the-loop workflows, memory systems, and orchestration matter, but eventually an agent must act through the interfaces it is given. The quality of those interfaces determines what it can discover, what it must absorb, and what it can safely do.&lt;/p&gt;

&lt;p&gt;That made WebMCP the right place to learn. It exposes structured page capabilities to agents. It sits close to the moment where intention becomes action.&lt;/p&gt;

&lt;p&gt;But being close to a problem does not mean owning it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The audit changed the question
&lt;/h2&gt;

&lt;p&gt;I started with the question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Where should CCP be placed inside WebMCP?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After auditing the repository, WebIDL, Bikeshed algorithms, lifecycle rules, origin boundaries, security notes, contribution history, and 247 GitHub objects, the question became:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Can the existing imperative WebMCP tool carry a rejectable continuity packet, and what defect—if any—would still belong to the platform?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That reformulation was decisive.&lt;/p&gt;

&lt;p&gt;WebMCP exposes capabilities from a page. The browser mediates those capabilities. The agentic harness decides what the model sees, retains, compacts, or forgets. The product decides how conversations, sessions, telemetry, and model selection are presented.&lt;/p&gt;

&lt;p&gt;CCP could travel through WebMCP without becoming WebMCP memory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9aykmt1qbxaoxjkfq6f7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9aykmt1qbxaoxjkfq6f7.png" alt="The boundary between the WebMCP page, browser, agentic harness, and cross-surface CCP" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This boundary also corrected several security assumptions.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;readOnlyHint&lt;/code&gt; and &lt;code&gt;untrustedContentHint&lt;/code&gt; are annotations, not enforcement.&lt;/li&gt;
&lt;li&gt;Same-origin limits scope, but it does not make content truthful or harmless.&lt;/li&gt;
&lt;li&gt;A digest proves that canonical bytes did not change; it does not prove that provenance is authentic.&lt;/li&gt;
&lt;li&gt;A tool visible in a browser is not necessarily discovered or invoked by the agentic product.&lt;/li&gt;
&lt;li&gt;CDP automation, DOM reading, and native WebMCP invocation are different evidence chains.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last distinction became central to every test.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building a packet the agent could refuse
&lt;/h2&gt;

&lt;p&gt;The laboratory remained outside the upstream WebMCP checkout. I did not modify the specification repository.&lt;/p&gt;

&lt;p&gt;The experimental contract, &lt;code&gt;ccp.webmcp.experiment.v1&lt;/code&gt;, contained:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an origin and task scope;&lt;/li&gt;
&lt;li&gt;declared producer, revision, creation time, and digest;&lt;/li&gt;
&lt;li&gt;objective, constraints, decisions, evidence references, completed work, blockers, and next actions;&lt;/li&gt;
&lt;li&gt;freshness and expiration state.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The initial limits were intentionally experimental: 8 KiB maximum, bounded arrays, and a 24-hour expiration window. The packet excluded transcripts, secrets, cookies, account identifiers, personal data, and cross-origin authority.&lt;/p&gt;

&lt;p&gt;The validator parsed before building the business object, rejected duplicate keys, canonicalized JSON independently, checked RFC 8785 vectors, measured exact UTF-8 bytes, and returned stable error codes. The tests included hostile but correctly hashed content, false provenance, foreign origins, altered digests, expired packets, oversized payloads, Unicode edge cases, and forbidden data.&lt;/p&gt;

&lt;p&gt;The most important finding was not that validation worked. It was understanding what validation &lt;strong&gt;could not&lt;/strong&gt; establish.&lt;/p&gt;

&lt;p&gt;A valid packet can still lie.&lt;/p&gt;

&lt;h2&gt;
  
  
  Five conditions designed to contradict me
&lt;/h2&gt;

&lt;p&gt;I did not want a demonstration that made CCP look good. I wanted an experiment capable of showing that it was unnecessary.&lt;/p&gt;

&lt;p&gt;Every condition came from the same controlled snapshot:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;no context;&lt;/li&gt;
&lt;li&gt;full history;&lt;/li&gt;
&lt;li&gt;a free summary matched to the CCP byte budget;&lt;/li&gt;
&lt;li&gt;CCP copied manually;&lt;/li&gt;
&lt;li&gt;CCP retrieved through WebMCP.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The scorer checked required facts, the correct next action, stale-state contamination, hallucinated claims, unsupported certainty, clarification requests, and task completion. The order was counterbalanced across repetitions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2vkpqzwsmm055xhmx775.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2vkpqzwsmm055xhmx775.png" alt="The five-condition protocol comparing no context, history, summary, manual CCP, and CCP through WebMCP" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The protocol created &lt;strong&gt;100 trial slots&lt;/strong&gt; across four surfaces, five conditions, and five repetitions. Eighty manual trials were recorded, while the twenty WebMCP or relayed positions were classified separately so that a browser response could not masquerade as a native invocation.&lt;/p&gt;

&lt;p&gt;The manual CCP performed well on the controlled resumption task: it recovered the correct action in 19 of 20 completed manual trials, the same count as full history. The matched free summary recovered it in 14 of 20.&lt;/p&gt;

&lt;p&gt;That was evidence that structured continuity could be useful.&lt;/p&gt;

&lt;p&gt;It was not evidence that WebMCP needed a memory primitive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Origin Trial activation was only the beginning
&lt;/h2&gt;

&lt;p&gt;The Origin Trial was activated on the registered laboratory origin. The server delivered the token through the &lt;code&gt;Origin-Trial&lt;/code&gt; header, Chrome accepted it with the experimental flag returned to its default state, &lt;code&gt;document.modelContext&lt;/code&gt; became available, the tool registered, and the page-side hook executed.&lt;/p&gt;

&lt;p&gt;Those observations proved activation.&lt;/p&gt;

&lt;p&gt;They did not prove product discovery.&lt;/p&gt;

&lt;p&gt;The test chain had to remain explicit:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;token delivered → token accepted → API present → tool registered → tool discovered → tool invoked → result used&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Antigravity produced two server-confirmed native invocations out of five attempts in the relevant series, and one produced a usable resumption report. In the observed ChatGPT/Chrome and Edge configurations, the server confirmed no native invocation. Codex produced useful external relays, but those relays were labeled as relays rather than native WebMCP discovery.&lt;/p&gt;

&lt;p&gt;This was not one generic failure called “unsupported.” It was a map of where each chain stopped.&lt;/p&gt;

&lt;h2&gt;
  
  
  The token-efficiency experiment complicated the result
&lt;/h2&gt;

&lt;p&gt;My daily concern was not only continuity. It was cost.&lt;/p&gt;

&lt;p&gt;When an agent enters the browser, visible context can include the operator prompt, previous history or CCP, tool names, descriptions, schemas, call arguments, results, and the final answer. Shrinking only the memory component does not necessarily shrink the whole interaction.&lt;/p&gt;

&lt;p&gt;I therefore added an appendix experiment in Antigravity with five configurations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;eager_full&lt;/code&gt;: complete history, twelve full tool contracts, verbose results;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;eager_ccp&lt;/code&gt;: optimized CCP, twelve full contracts, verbose results;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;progressive_full&lt;/code&gt;: complete history with progressive capability discovery;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;bounded_full&lt;/code&gt;: complete history with bounded results;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;optimized_combined&lt;/code&gt;: CCP, progressive discovery, and bounded results.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I measured exact UTF-8 bytes and used a pinned local Hugging Face tokenizer as a reproducible proxy. I also recorded the visible Antigravity quota gauge, but never converted it into internal Gemini tokens.&lt;/p&gt;

&lt;p&gt;In completed trials, &lt;code&gt;eager_ccp&lt;/code&gt; reduced average visible context by approximately &lt;strong&gt;27% in bytes&lt;/strong&gt; and &lt;strong&gt;25.1% in proxy tokens&lt;/strong&gt; compared with &lt;code&gt;eager_full&lt;/code&gt;. Bounded results reduced another independent component by about &lt;strong&gt;21.2% in bytes&lt;/strong&gt; and &lt;strong&gt;19.6% in proxy tokens&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The theoretical optimized combination exceeded 50% before execution.&lt;/p&gt;

&lt;p&gt;It did not pass the native pilot.&lt;/p&gt;

&lt;p&gt;The progressive router was not reliably discovered, and the experiment ended &lt;code&gt;PARTIAL&lt;/code&gt;. Only one of nine completed trials preserved all seven expected decision elements. The next action survived in eight of nine, but the complete micro-task succeeded only once.&lt;/p&gt;

&lt;p&gt;So I cannot claim a 50% operational reduction. I can claim something more precise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CCP reduced one real component;&lt;/li&gt;
&lt;li&gt;bounded responses reduced another;&lt;/li&gt;
&lt;li&gt;tool selection behavior could still double visible cost;&lt;/li&gt;
&lt;li&gt;progressive discovery had the greatest theoretical potential and the weakest native evidence;&lt;/li&gt;
&lt;li&gt;compression without decision fidelity is not optimization.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I will not propose
&lt;/h2&gt;

&lt;p&gt;I will not propose an RFC that adds CCP memory to WebMCP.&lt;/p&gt;

&lt;p&gt;The experiment gave CCP a better address: the harness or agentic product. There it can remain a versioned, rejectable handoff contract. A complete envelope can serve the system, while a smaller projection can serve the model. The model does not “learn” by changing its weights during these handoffs; the surrounding system improves what it preserves, selects, and presents.&lt;/p&gt;

&lt;p&gt;The questions most directly related to WebMCP are different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How should a page expose many capabilities without front-loading every schema?&lt;/li&gt;
&lt;li&gt;How can agents discover tools progressively?&lt;/li&gt;
&lt;li&gt;How should results be bounded without hiding necessary evidence?&lt;/li&gt;
&lt;li&gt;How can invocation be observed clearly enough to distinguish native integration from browser automation?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions already connect with ongoing WebMCP discussions about &lt;a href="https://github.com/webmachinelearning/webmcp/issues/73" rel="noopener noreferrer"&gt;length and context inflation&lt;/a&gt;, &lt;a href="https://github.com/webmachinelearning/webmcp/issues/88" rel="noopener noreferrer"&gt;tool filtering&lt;/a&gt;, &lt;a href="https://github.com/webmachinelearning/webmcp/issues/167" rel="noopener noreferrer"&gt;dynamic definitions&lt;/a&gt;, and &lt;a href="https://github.com/webmachinelearning/webmcp/issues/222" rel="noopener noreferrer"&gt;batch or code-mode execution&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;My experiment does not resolve those issues. It provides a concrete case where initial context reduction is measurable, native discovery is uneven, and decision quality remains the guardrail.&lt;/p&gt;

&lt;h2&gt;
  
  
  A negative architectural result can still be a successful contribution
&lt;/h2&gt;

&lt;p&gt;I began this work hoping to find a place for CCP inside WebMCP.&lt;/p&gt;

&lt;p&gt;Instead, I found a reason not to put it there.&lt;/p&gt;

&lt;p&gt;That is not arriving empty-handed. The work produced a repository audit, an external laboratory, an Origin Trial activation chain, 108 passing local tests, a 100-slot cross-surface matrix, 50 ablation results, a context-cost experiment, and a hypothesis that was corrected by evidence.&lt;/p&gt;

&lt;p&gt;For me, the deeper lesson is about open-source participation. A professional contribution is not measured by how much architecture I can add. Sometimes it is measured by recognizing that the architecture already has the right boundary—and by returning with a smaller, more useful question.&lt;/p&gt;

&lt;p&gt;Before building more agents, examine their tools.&lt;/p&gt;

&lt;p&gt;Before adding memory to a protocol, identify who already owns retention.&lt;/p&gt;

&lt;p&gt;Before celebrating fewer tokens, verify that the right decision survived.&lt;/p&gt;

&lt;p&gt;And before writing an RFC, let the experiment earn the question.&lt;/p&gt;

&lt;h2&gt;
  
  
  Read or listen
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://doi.org/10.5281/zenodo.22049347" rel="noopener noreferrer"&gt;Full trilingual monograph and evidence package on Zenodo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1CQRfdNqnumy41DzyaloCewxEa6HyiVKl/view?usp=sharing" rel="noopener noreferrer"&gt;Companion podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/webmachinelearning/webmcp" rel="noopener noreferrer"&gt;WebMCP repository&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>opensource</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>Your Equation Is Not a Bridge: What Developers Can Teach Interdisciplinary Science</title>
      <dc:creator>Jean-Sebastien Beaulieu</dc:creator>
      <pubDate>Wed, 19 Aug 2026 00:58:40 +0000</pubDate>
      <link>https://dev.to/jsb-securedme/your-equation-is-not-a-bridge-what-developers-can-teach-interdisciplinary-science-jhl</link>
      <guid>https://dev.to/jsb-securedme/your-equation-is-not-a-bridge-what-developers-can-teach-interdisciplinary-science-jhl</guid>
      <description>&lt;p&gt;&lt;strong&gt;Full trilingual paper:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://doi.org/10.5281/zenodo.22003225" rel="noopener noreferrer"&gt;https://doi.org/10.5281/zenodo.22003225&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Video essay:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://youtu.be/frC1GCKFwME" rel="noopener noreferrer"&gt;https://youtu.be/frC1GCKFwME&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;I was reviewing a video generated from my latest article when an equation appeared on the screen:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;E = mc² + Σ(φ) − ∞&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It looked scientific.&lt;/p&gt;

&lt;p&gt;It was also meaningless.&lt;/p&gt;

&lt;p&gt;There was no defined summation domain, no dimensional consistency, and no valid reason to subtract infinity. The equation contributed nothing except mathematical decoration.&lt;/p&gt;

&lt;p&gt;That tiny moment exposed the exact problem my article investigates.&lt;/p&gt;

&lt;p&gt;A formula can compile visually while failing every meaningful type check.&lt;/p&gt;
&lt;h2&gt;
  
  
  Science also needs interfaces
&lt;/h2&gt;

&lt;p&gt;Developers distrust a function when nobody can explain its inputs, output, contract, or failure conditions.&lt;/p&gt;

&lt;p&gt;Yet interdisciplinary arguments regularly move between mathematics, physics, biology, neuroscience, and consciousness without declaring those interfaces.&lt;/p&gt;

&lt;p&gt;A fractal pattern becomes a physical mechanism.&lt;br&gt;&lt;br&gt;
A frequency becomes biological information.&lt;br&gt;&lt;br&gt;
A neural signal becomes consciousness.&lt;br&gt;&lt;br&gt;
A mathematical limitation becomes evidence about matter.&lt;/p&gt;

&lt;p&gt;Each transition sounds plausible because the vocabulary remains technical. But technical vocabulary cannot replace a valid transformation.&lt;/p&gt;

&lt;p&gt;If this were software, we would reject the pull request.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bridge(
    object,
    scale,
    observable,
    operator,
    evidence
) -&amp;gt; defensible_inference
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remove one argument and the bridge becomes ambiguous.&lt;/p&gt;

&lt;p&gt;Change the object halfway through and the program should throw an error:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;InferenceError:
The conclusion refers to a different object
than the one that was measured.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is the central idea behind &lt;em&gt;Fractals, Waves, and Consciousness&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  A snowflake is not automatically a fractal
&lt;/h2&gt;

&lt;p&gt;The word &lt;em&gt;fractal&lt;/em&gt; has become dangerously convenient.&lt;/p&gt;

&lt;p&gt;A branching tree, a coastline, a neural network, a snowflake, or an irregular signal may resemble familiar fractal forms. Visual resemblance can generate a hypothesis, but genuine fractality requires a defined object, a range of scales, a measurement procedure, and an estimation method.&lt;/p&gt;

&lt;p&gt;The box-counting relation&lt;/p&gt;

&lt;p&gt;&lt;code&gt;N(ε) ~ ε⁻ᴰ&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;has meaning only after defining what is counted, how resolution changes, and over which scaling window the relation remains stable.&lt;/p&gt;

&lt;p&gt;A beautiful pattern is an observation.&lt;/p&gt;

&lt;p&gt;A reproducible scaling law is evidence.&lt;/p&gt;

&lt;p&gt;They are related, but they are not interchangeable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvmk7plg0wezag402eo0q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvmk7plg0wezag402eo0q.png" alt="Infographic distinguishing exact self-similarity, statistical self-similarity, physical prefractals, multifractals, random fractals, and visual resemblance, with the box-counting relation, classical dimensions, and a reliable scaling window" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Fourier uncertainty is not an ontology generator
&lt;/h2&gt;

&lt;p&gt;Fourier analysis gives us one of mathematics' most powerful structural lessons: localization in one representation constrains localization in its transform domain.&lt;/p&gt;

&lt;p&gt;The fractal uncertainty principle sharpens this idea for particular geometric supports. Results involving regular fractal sets and line porosity reveal how geometry can restrict simultaneous concentration.&lt;/p&gt;

&lt;p&gt;That is extraordinary mathematics.&lt;/p&gt;

&lt;p&gt;It still does not prove that every object displaying a fractal pattern vibrates, that every biological system inherits the theorem, or that consciousness follows from a Fourier inequality.&lt;/p&gt;

&lt;p&gt;A theorem specifies its own domain.&lt;/p&gt;

&lt;p&gt;Exporting it into another domain requires an adapter, not enthusiasm alone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9ymmyxycz0ncg99qpdy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9ymmyxycz0ncg99qpdy4.png" alt="Infographic connecting Fourier uncertainty to the fractal uncertainty principle, comparing major uncertainty theorems and showing why fractal dimension, line porosity, exact support, and approximate concentration must remain distinct" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What do the measurements actually support?
&lt;/h2&gt;

&lt;p&gt;The article travels through four difficult territories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;neutrino oscillations;&lt;/li&gt;
&lt;li&gt;electrical behavior associated with microtubules;&lt;/li&gt;
&lt;li&gt;anesthesia and consciousness;&lt;/li&gt;
&lt;li&gt;the decomposition of proton spin.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These subjects do not occupy the same evidential level.&lt;/p&gt;

&lt;p&gt;Neutrino flavor oscillations are supported by replicated experimental results.&lt;/p&gt;

&lt;p&gt;Electrical oscillations involving microtubule preparations can be investigated experimentally, but a local signal does not establish a theory of consciousness.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;613 ± 8 THz&lt;/code&gt; value discussed in the article comes from computational molecular modeling of tubulin and anesthetic interactions. It is an interesting modeled result, not a direct measurement inside a living brain.&lt;/p&gt;

&lt;p&gt;The perturbational complexity index provides an operational way to analyze the complexity of brain responses following stimulation. It does not solve consciousness; it measures a defined response using a defined procedure.&lt;/p&gt;

&lt;p&gt;Proton spin is experimentally established as a global property, while its decomposition among quark spin, gluons, and orbital angular momentum remains an active research problem.&lt;/p&gt;

&lt;p&gt;The responsible conclusion is not that everything is uncertain.&lt;/p&gt;

&lt;p&gt;It is that different statements possess different kinds of support.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdrr9tcete063ffd5mt4h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdrr9tcete063ffd5mt4h.png" alt="Evidence map comparing neutrino oscillations, microtubule measurements, anesthesia and consciousness research, and proton-spin decomposition across established results, local experiments, review consensus, testable hypotheses, and unresolved questions" width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The developer's advantage
&lt;/h2&gt;

&lt;p&gt;Developers already possess useful instincts for this problem.&lt;/p&gt;

&lt;p&gt;We ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is the data type?&lt;/li&gt;
&lt;li&gt;Where is the schema?&lt;/li&gt;
&lt;li&gt;Which transformation was applied?&lt;/li&gt;
&lt;li&gt;Is the output deterministic?&lt;/li&gt;
&lt;li&gt;What assumptions entered the function?&lt;/li&gt;
&lt;li&gt;What test would make it fail?&lt;/li&gt;
&lt;li&gt;Did the implementation silently change the meaning of a variable?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those questions belong in scientific reasoning too.&lt;/p&gt;

&lt;p&gt;A productive interdisciplinary hypothesis should survive something resembling an interface-contract review:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;evaluate_claim&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;mathematical_object&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;physical_carrier&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;measurement_scale&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;observable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;transformation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;falsification_test&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="bp"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If &lt;code&gt;physical_carrier&lt;/code&gt; is &lt;code&gt;None&lt;/code&gt;, we have an analogy.&lt;/p&gt;

&lt;p&gt;If &lt;code&gt;observable&lt;/code&gt; is undefined, we have a narrative.&lt;/p&gt;

&lt;p&gt;If &lt;code&gt;falsification_test&lt;/code&gt; is missing, we have a protected belief.&lt;/p&gt;

&lt;p&gt;None of these are automatically useless. Analogies can inspire research. Narratives can organize questions. Beliefs can motivate years of work.&lt;/p&gt;

&lt;p&gt;They simply need honest labels.&lt;/p&gt;

&lt;h2&gt;
  
  
  The equation that failed successfully
&lt;/h2&gt;

&lt;p&gt;That fake equation in my video bothered me because it violated the argument being presented.&lt;/p&gt;

&lt;p&gt;But it also gave me a perfect example.&lt;/p&gt;

&lt;p&gt;The equation looked sophisticated, passed the visual test, and failed the mathematical contract. That is precisely how weak interdisciplinary arguments survive: they resemble valid work closely enough to avoid immediate rejection.&lt;/p&gt;

&lt;p&gt;The solution is not to stop imagining.&lt;/p&gt;

&lt;p&gt;The solution is to make imagination testable.&lt;/p&gt;

&lt;p&gt;My collaboration with Hector Fernando Aguilar, M.D., reinforced that division of responsibility. Biological interpretation and mathematical formalization can inform each other without pretending to be the same expertise.&lt;/p&gt;

&lt;p&gt;That is where productive collaboration begins: not when every participant knows everything, but when every transformation can be inspected.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I now require from a bridge
&lt;/h2&gt;

&lt;p&gt;Before accepting a claim connecting two fields, I want five things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The object being studied.&lt;/li&gt;
&lt;li&gt;The scale at which it is studied.&lt;/li&gt;
&lt;li&gt;The observable actually measured.&lt;/li&gt;
&lt;li&gt;The operator connecting input to output.&lt;/li&gt;
&lt;li&gt;A test capable of proving the proposed connection wrong.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That standard does not eliminate speculative research.&lt;/p&gt;

&lt;p&gt;It gives speculation somewhere solid to stand.&lt;/p&gt;

&lt;p&gt;Mathematics offers more than impressive symbols. It gives us invariants, limits, transformations, and contradiction tests. Development offers more than implementation. It gives us contracts, reproducibility, failure handling, and adversarial debugging.&lt;/p&gt;

&lt;p&gt;Together, they provide a practical discipline:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Never let an elegant output hide an undefined interface.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Read the complete English, French, and Spanish editions:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://zenodo.org/records/22003225" rel="noopener noreferrer"&gt;https://zenodo.org/records/22003225&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Watch the companion video:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://youtu.be/frC1GCKFwME" rel="noopener noreferrer"&gt;https://youtu.be/frC1GCKFwME&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Scientific note: some equations appearing briefly in the generated video visuals are illustrative and are not claims made by the article. The reported &lt;code&gt;613 ± 8 THz&lt;/code&gt; shift refers to a computational molecular-modeling result, not a direct measurement in living neural tissue.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>science</category>
      <category>algorithms</category>
      <category>programming</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
