<?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: 윤대한</title>
    <description>The latest articles on DEV Community by 윤대한 (@_76dca2218d5cc98e685ca).</description>
    <link>https://dev.to/_76dca2218d5cc98e685ca</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%2F4118778%2F93a550c1-738e-466f-9258-bda8f209df30.png</url>
      <title>DEV Community: 윤대한</title>
      <link>https://dev.to/_76dca2218d5cc98e685ca</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_76dca2218d5cc98e685ca"/>
    <language>en</language>
    <item>
      <title>Describe Review Approve Inspect: A Coding Agent Loop Built for Control</title>
      <dc:creator>윤대한</dc:creator>
      <pubDate>Thu, 10 Sep 2026 08:14:37 +0000</pubDate>
      <link>https://dev.to/_76dca2218d5cc98e685ca/describe-review-approve-inspect-a-coding-agent-loop-built-for-control-lai</link>
      <guid>https://dev.to/_76dca2218d5cc98e685ca/describe-review-approve-inspect-a-coding-agent-loop-built-for-control-lai</guid>
      <description>&lt;p&gt;Most local coding agents force a false choice: &lt;strong&gt;YOLO the desktop&lt;/strong&gt;, or &lt;strong&gt;approve every tool call until you give up&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Cue is built for a third path. It is a Windows 11 Electron coding agent (MIT) that uses Codex CLI for the model path on the host, runs workspace actions under AppContainer workers, and freezes a human-readable &lt;strong&gt;execution envelope&lt;/strong&gt; &lt;em&gt;before&lt;/em&gt; anything mutates your files. You describe a goal, review the scope, approve once, then inspect a ledger — or hit Stop.&lt;/p&gt;

&lt;p&gt;This post is about that control loop. If you want the sandbox-primitive deep dive (why AppContainer is Cue’s floor), that lives in Day1 — one link at the end. Here we stay on what using it feels like.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/zenovis2-create/cue" rel="noopener noreferrer"&gt;https://github.com/zenovis2-create/cue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Demo (34s): &lt;a href="https://github.com/zenovis2-create/cue/blob/main/docs/assets/cue-demo-en.mp4" rel="noopener noreferrer"&gt;https://github.com/zenovis2-create/cue/blob/main/docs/assets/cue-demo-en.mp4&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The false choice — YOLO desktop vs approval fatigue
&lt;/h2&gt;

&lt;p&gt;Two failure modes dominate desktop agents today.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;YOLO desktop.&lt;/strong&gt; The agent gets a wide trust surface because “real developer work” needs shells, helpers, caches, and whatever the next step invents. You move fast until something lands outside the folder you thought you meant. The product rarely shows a frozen boundary you can point at later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Approval fatigue.&lt;/strong&gt; The other extreme asks you to click through every tool, every path, every spawn. It feels safer for an afternoon, then you start auto-approving because the friction is the product. Control collapses into ritual.&lt;/p&gt;

&lt;p&gt;Neither mode is “wrong” for every threat model. But both leave a gap for people who want &lt;strong&gt;one human decision that actually bounds the run&lt;/strong&gt; — not unlimited trust, and not infinite micro-prompts.&lt;/p&gt;

&lt;p&gt;Cue does not claim to “solve agent security forever.” It claims a narrower product contract: freeze the envelope before workers run, keep mutation inside the approved worktree, and make outcomes inspectable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four-step loop
&lt;/h2&gt;

&lt;p&gt;Cue’s loop is deliberately short:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Describe&lt;/strong&gt; — Enter a natural-language coding goal and pick a workspace (plus an autonomy level).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review&lt;/strong&gt; — Read a three-line scope summary and the execution envelope: where it can work, what it may do, what it leaves untouched.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Approve&lt;/strong&gt; — Or cancel. No approval, no task execution.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inspect&lt;/strong&gt; — Watch ledger-backed progress and a result of completed, blocked, or human-required. Stop anytime.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Fail-closed matters as much as the happy path. If you cancel at the workspace picker, execution does not start. Cue retains cancel evidence under README Verification (P12 cancel) for that fail-closed behavior — this post will not reprint those tables.&lt;/p&gt;

&lt;p&gt;The security story is not “trust the model, then restrict whatever it tried.” It is “freeze the envelope, then run only inside it.”&lt;/p&gt;

&lt;h2&gt;
  
  
  What “execution envelope” means here
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;An execution envelope, in Cue, is the human-approved scope for a coding run: the worktree and allowed actions frozen before workspace workers start. After approval, the envelope does not expand.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That definition is the product. Everything else is implementation detail.&lt;/p&gt;

&lt;p&gt;Practically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You approve a &lt;strong&gt;worktree&lt;/strong&gt; and an allowed action set &lt;em&gt;before&lt;/em&gt; workers run.
&lt;/li&gt;
&lt;li&gt;After approval, the envelope &lt;strong&gt;does not expand&lt;/strong&gt;. New folders, “just this one helper,” or silent scope creep are not part of the contract.
&lt;/li&gt;
&lt;li&gt;Workspace mutation stays in the &lt;strong&gt;approved worktree only&lt;/strong&gt;. Callers cannot supply &lt;code&gt;cwd&lt;/code&gt;; the server fixes it to that worktree.
&lt;/li&gt;
&lt;li&gt;Model talk stays on the &lt;strong&gt;host&lt;/strong&gt; (Codex CLI / app-server path). Cue is not offline-only. Workspace actions run in &lt;strong&gt;AppContainer workers&lt;/strong&gt; under the approved envelope.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Adjacent honesty from README Current limits: Cue does not remove Windows UAC/elevation friction, does not claim syscall-enforced network isolation for all paths (P3-16 is detect-and-stop, not syscall forcing), and does not support nested worker child processes in v0.1.&lt;/p&gt;

&lt;p&gt;So “envelope” is not marketing fog. It is a freeze point you can review, then a hard refusal to grow after you click Approve.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you see after — completed, blocked, human-required
&lt;/h2&gt;

&lt;p&gt;A control loop without an honest ending is just a prettier YOLO.&lt;/p&gt;

&lt;p&gt;Cue’s ledger surfaces provenance and outcome classes you can inspect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Completed&lt;/strong&gt; — The run finished inside the approved envelope with a recorded result.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blocked&lt;/strong&gt; — The system stopped work rather than quietly drifting. Blocked is a &lt;strong&gt;product signal&lt;/strong&gt;, not a hidden failure to hide under a green check.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human-required&lt;/strong&gt; — The agent needs you again; the ledger says so instead of inventing progress.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That triad is how Cue answers “did it stay inside what I approved?” without asking you to scrub raw logs for every run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stop&lt;/strong&gt; is part of the same contract. Hitting Stop terminates the active &lt;strong&gt;controller and workers&lt;/strong&gt; — not a soft UI pause that leaves orphans chewing your worktree. If you care about mid-run kill-switches for coding agents, that is the behavior to verify against the README’s Stop evidence path, not a marketing slide.&lt;/p&gt;

&lt;h2&gt;
  
  
  A 34-second demo (and what it does &lt;em&gt;not&lt;/em&gt; prove)
&lt;/h2&gt;

&lt;p&gt;Watch the clip: &lt;a href="https://github.com/zenovis2-create/cue/blob/main/docs/assets/cue-demo-en.mp4" rel="noopener noreferrer"&gt;cue-demo-en.mp4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is a &lt;strong&gt;34-second edited&lt;/strong&gt; recording of a real small file-changing flow (checklist-style generation). You should see goal → envelope review → approve → ledger. That is the proof this post leans on: the control UX, not a wall of isolation tables.&lt;/p&gt;

&lt;p&gt;What it does &lt;strong&gt;not&lt;/strong&gt; prove:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Completion-time promises (edited length ≠ “your goal finishes in 34 seconds”).
&lt;/li&gt;
&lt;li&gt;Unlimited tooling or nested worker children.
&lt;/li&gt;
&lt;li&gt;That the UI language is English everywhere — the shipping UI is currently &lt;strong&gt;Korean&lt;/strong&gt;; the demo is captioned/recorded for English viewers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Good first tasks vs wrong-fit tasks (v0.1)
&lt;/h2&gt;

&lt;p&gt;v0.1 is aimed at &lt;strong&gt;small, inspectable file-changing goals&lt;/strong&gt; on Windows 11:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a focused file and open it.
&lt;/li&gt;
&lt;li&gt;Update a local page or checklist you can click through.
&lt;/li&gt;
&lt;li&gt;Make a change whose before/after you can hash and eyeball.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Wrong-fit (for now):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Goals that need &lt;strong&gt;nested worker subprocesses&lt;/strong&gt; / child process trees inside a worker.
&lt;/li&gt;
&lt;li&gt;Research-only or summarize-only goals that change no files (goal verification is built around file-changing outcomes).
&lt;/li&gt;
&lt;li&gt;“Operate like a full unsupervised desktop developer” across the whole machine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those limits are intentional coherence, not temporary bashfulness. If your first experiment needs nested tooling or open-ended YOLO scope, Cue will feel frustrating — correctly. Start with a disposable worktree and a one-file goal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Want the sandbox primitive story?
&lt;/h2&gt;

&lt;p&gt;This article intentionally does &lt;strong&gt;not&lt;/strong&gt; re-litigate OpenAI’s AppContainer rejection for Codex-shaped workloads. Cue’s isolation floor (capability-zero AppContainer workers, approved worktree, host vs worker split) is covered here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/_76dca2218d5cc98e685ca/why-cue-still-uses-appcontainer-after-codex-rejected-it-for-windows-agents-5h1b"&gt;Why Cue still uses AppContainer after Codex rejected it for Windows agents&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For verification entry points without a Day2 evidence dump, see the README Verification section in the repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it / star if the loop is what you want
&lt;/h2&gt;

&lt;p&gt;If your pain is “I want to approve before a coding agent runs — once, with a real envelope — then inspect what happened,” Cue is for that moment.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Star / clone: &lt;a href="https://github.com/zenovis2-create/cue" rel="noopener noreferrer"&gt;https://github.com/zenovis2-create/cue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Watch the demo: &lt;a href="https://github.com/zenovis2-create/cue/blob/main/docs/assets/cue-demo-en.mp4" rel="noopener noreferrer"&gt;https://github.com/zenovis2-create/cue/blob/main/docs/assets/cue-demo-en.mp4&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;On Windows 11 with Codex CLI authenticated: &lt;code&gt;npm install&lt;/code&gt; then &lt;code&gt;npm start&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Star if you want more envelope-first Windows agent work. Open an issue if an approved envelope was exceeded.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That feedback is more useful than applause. The product bet only holds if the freeze point stays frozen.&lt;/p&gt;

</description>
      <category>windows</category>
      <category>electron</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Why Cue still uses AppContainer after Codex rejected it for Windows agents</title>
      <dc:creator>윤대한</dc:creator>
      <pubDate>Thu, 10 Sep 2026 07:27:43 +0000</pubDate>
      <link>https://dev.to/_76dca2218d5cc98e685ca/why-cue-still-uses-appcontainer-after-codex-rejected-it-for-windows-agents-5h1b</link>
      <guid>https://dev.to/_76dca2218d5cc98e685ca/why-cue-still-uses-appcontainer-after-codex-rejected-it-for-windows-agents-5h1b</guid>
      <description>&lt;h1&gt;
  
  
  Why Cue still uses AppContainer after Codex rejected it for Windows agents
&lt;/h1&gt;

&lt;p&gt;OpenAI’s write-up on enabling Codex on Windows is blunt: &lt;strong&gt;AppContainer is the wrong shape for an open-ended coding agent&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That’s a serious claim. Cue — a Windows 11 desktop coding agent that &lt;em&gt;does&lt;/em&gt; run Codex CLI under capability-zero AppContainer — has to answer it without marketing fog.&lt;/p&gt;

&lt;p&gt;This post is that answer: what Codex optimized for, what Cue deliberately narrowed, and where the honest limits still are.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/zenovis2-create/cue" rel="noopener noreferrer"&gt;https://github.com/zenovis2-create/cue&lt;/a&gt;&lt;br&gt;
Demo (mp4): &lt;a href="https://github.com/zenovis2-create/cue/blob/main/docs/assets/cue-demo-en.mp4" rel="noopener noreferrer"&gt;https://github.com/zenovis2-create/cue/blob/main/docs/assets/cue-demo-en.mp4&lt;/a&gt;&lt;br&gt;
Product Hunt: &lt;a href="https://www.producthunt.com/products/cue-24?launch=cue-bea6eb17-4a05-470a-b95e-329e9a81ef8d" rel="noopener noreferrer"&gt;https://www.producthunt.com/products/cue-24?launch=cue-bea6eb17-4a05-470a-b95e-329e9a81ef8d&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Codex needed (and why AppContainer lost)
&lt;/h2&gt;

&lt;p&gt;From OpenAI’s public Windows sandbox notes (and independent summaries of those primitives):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A coding agent doesn’t look like a packaged app with a &lt;strong&gt;fixed, known-up-front capability set&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It drives open-ended workflows: shells, Git, interpreters, package managers, build tools — binaries chosen at runtime.&lt;/li&gt;
&lt;li&gt;AppContainer is a &lt;strong&gt;capability-based&lt;/strong&gt; model built for apps that can declare access ahead of time.&lt;/li&gt;
&lt;li&gt;Firewall rules tied to a restricted-token identity also don’t cleanly follow child processes the way agent workloads need.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So Codex moved to a different composition (synthetic SIDs, write-restricted tokens, dedicated local principals, etc.) — optimized for “operate like a developer” with a broader workspace story.&lt;/p&gt;

&lt;p&gt;That critique is real. Cue does not pretend otherwise.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Cue is optimizing for instead
&lt;/h2&gt;

&lt;p&gt;Cue is not trying to win “most open-ended agent on Windows.”&lt;/p&gt;

&lt;p&gt;Cue’s bet is the other failure mode people feel day to day:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;YOLO defaults&lt;/strong&gt; — wide desktop session, hard to trust&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Endless approval loops&lt;/strong&gt; — safe-feeling, exhausting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cue’s shape:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Natural-language goals via &lt;strong&gt;Codex CLI&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Only inside &lt;strong&gt;approved worktrees&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capability-zero AppContainer&lt;/strong&gt; isolation&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;execution envelope that does not expand after approval&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Credentials &lt;strong&gt;not&lt;/strong&gt; written into the UI or a ledger&lt;/li&gt;
&lt;li&gt;MIT, Windows 11 + Electron today&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In other words: Cue treats AppContainer’s “narrowness” as a &lt;strong&gt;feature of the product contract&lt;/strong&gt;, not a bug to paper over.&lt;/p&gt;

&lt;p&gt;If the agent shouldn’t be a free-roaming developer identity on the whole machine, then a boundary that &lt;em&gt;wants&lt;/em&gt; a declared envelope is aligned with the UX: &lt;strong&gt;approve the worktree once; don’t silently widen it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AppContainer vs “sandbox theater”
&lt;/h2&gt;

&lt;p&gt;“Sandbox” on the desktop often means hope plus a checkbox.&lt;/p&gt;

&lt;p&gt;Cue’s claim is smaller and more checkable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which folders were approved?&lt;/li&gt;
&lt;li&gt;Did the envelope grow after approval? (It shouldn’t.)&lt;/li&gt;
&lt;li&gt;Are credentials being journaled into the product UI/ledger? (They shouldn’t.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That still is &lt;strong&gt;not&lt;/strong&gt; a proof of “no bypass ever.” AppContainer is an OS boundary with tradeoffs. If you can show a concrete bypass path, open a GitHub issue — that’s higher signal than a launch-day upvote.&lt;/p&gt;

&lt;h2&gt;
  
  
  UAC / elevated friction (honest)
&lt;/h2&gt;

&lt;p&gt;Windows agent setups hit &lt;strong&gt;UAC / elevated&lt;/strong&gt; friction. Cue does not advertise that away.&lt;/p&gt;

&lt;p&gt;Depending on what the agent needs to run, elevated prompts can still appear. The product focus is the &lt;strong&gt;approved-worktree + AppContainer&lt;/strong&gt; envelope for Codex CLI — not a promise that Windows will stop asking hard questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to read the Codex rejection next to Cue
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Codex Windows sandbox direction&lt;/th&gt;
&lt;th&gt;Cue&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Workload shape&lt;/td&gt;
&lt;td&gt;Open-ended “developer-like” agent&lt;/td&gt;
&lt;td&gt;Envelope-first coding agent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AppContainer&lt;/td&gt;
&lt;td&gt;Rejected as wrong shape for that workload&lt;/td&gt;
&lt;td&gt;Chosen because Cue’s workload is &lt;em&gt;declared folders&lt;/em&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Success metric&lt;/td&gt;
&lt;td&gt;Capable agent under a custom Windows composition&lt;/td&gt;
&lt;td&gt;Readable boundaries; stars + critical issues&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mac/Linux&lt;/td&gt;
&lt;td&gt;Separate story&lt;/td&gt;
&lt;td&gt;Not claimed (Win11 only now)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Different objective functions. Same underlying tension: &lt;strong&gt;isolation primitives must match the agent’s freedom budget.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What feedback actually helps
&lt;/h2&gt;

&lt;p&gt;Useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repro: “I approved X; the agent reached Y”&lt;/li&gt;
&lt;li&gt;Threat notes on envelope expansion or credential handling&lt;/li&gt;
&lt;li&gt;Comparisons to other Windows isolation stacks you’ve shipped&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Less useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Just trust the model”&lt;/li&gt;
&lt;li&gt;Name collisions with unrelated “Cue” products (this one is zenovis2-create/cue; not Maestro Cue)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/zenovis2-create/cue" rel="noopener noreferrer"&gt;https://github.com/zenovis2-create/cue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Product Hunt launch: &lt;a href="https://www.producthunt.com/products/cue-24?launch=cue-bea6eb17-4a05-470a-b95e-329e9a81ef8d" rel="noopener noreferrer"&gt;https://www.producthunt.com/products/cue-24?launch=cue-bea6eb17-4a05-470a-b95e-329e9a81ef8d&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’ve shipped sandboxed desktop tooling and think AppContainer is still the wrong primitive &lt;em&gt;even for an approved-worktree agent&lt;/em&gt;, say why — ideally with a failure mode, not a vibe.&lt;/p&gt;

</description>
      <category>windows</category>
      <category>security</category>
      <category>sandbox</category>
      <category>electron</category>
    </item>
  </channel>
</rss>
