<?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: AsterXing</title>
    <description>The latest articles on DEV Community by AsterXing (@asterxing).</description>
    <link>https://dev.to/asterxing</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%2F3993619%2F81106ee1-8d1f-4a38-8d1b-f666dc7924dd.jpg</url>
      <title>DEV Community: AsterXing</title>
      <link>https://dev.to/asterxing</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/asterxing"/>
    <language>en</language>
    <item>
      <title>I kept seeing AI agents overreach permissions, so I made a tiny readiness kit</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Thu, 30 Jul 2026 08:06:32 +0000</pubDate>
      <link>https://dev.to/asterxing/i-kept-seeing-ai-agents-overreach-permissions-so-i-made-a-tiny-readiness-kit-2adl</link>
      <guid>https://dev.to/asterxing/i-kept-seeing-ai-agents-overreach-permissions-so-i-made-a-tiny-readiness-kit-2adl</guid>
      <description>&lt;p&gt;Most agent demos look fine right until they touch real repos, real secrets, or a teammate’s machine.&lt;/p&gt;

&lt;p&gt;I kept seeing the same failure pattern: the team could tell the model was smart, but not whether the workflow was actually safe to let loose.&lt;/p&gt;

&lt;p&gt;So I turned our internal checklist into a tiny readiness kit.&lt;/p&gt;

&lt;p&gt;What it checks in a lightweight way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;where permissions are broader than the task needs&lt;/li&gt;
&lt;li&gt;where prompts and tools can leak data across sessions&lt;/li&gt;
&lt;li&gt;where “works in demo” breaks once the agent hits production-like context&lt;/li&gt;
&lt;li&gt;where handoff, rollback, and audit evidence are missing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn’t a big platform pitch. It’s a practical preflight for teams testing coding agents or internal AI helpers before they create a very expensive surprise.&lt;/p&gt;

&lt;p&gt;If you’re already using agents in repo, ops, or internal workflow environments, I’d love to know which failure mode shows up first for you: permissions, tool sprawl, missing audit trail, or rollback gaps?&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>security</category>
      <category>testing</category>
    </item>
    <item>
      <title>Three small quality gates that make AI coding workflows cheaper and safer</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Thu, 30 Jul 2026 01:24:58 +0000</pubDate>
      <link>https://dev.to/asterxing/three-small-quality-gates-that-make-ai-coding-workflows-cheaper-and-safer-26d5</link>
      <guid>https://dev.to/asterxing/three-small-quality-gates-that-make-ai-coding-workflows-cheaper-and-safer-26d5</guid>
      <description>&lt;p&gt;A pattern I keep seeing: teams add an AI coding tool, get a burst of speed, and then quietly lose time on rollback, retesting, and noisy diffs.&lt;/p&gt;

&lt;p&gt;The fix usually is not a bigger model. It is three boring gates:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A preflight gate before generation.&lt;br&gt;
Ask: what files can change, what tests must pass, and what budget should this task stay under? A 30-second checklist prevents most oversized runs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A validation gate after generation.&lt;br&gt;
Run lint, unit tests, and one focused regression check tied to the task. If the agent changed auth, billing, or deploy code, add one explicit safety check instead of trusting a green summary.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A cost gate after merge.&lt;br&gt;
Track token spend and rerun rate per task class. In practice, cheap models often win on narrow refactors, while expensive models only pay off on ambiguous multi-file work.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One simple rule of thumb: route easy edits to the cheapest model that can keep structure, and reserve premium models for planning, debugging, and risky migrations.&lt;/p&gt;

&lt;p&gt;The interesting part is cultural: once people see cost, retry rate, and escaped bugs on the same board, prompts get shorter and handoff quality gets better.&lt;/p&gt;

&lt;p&gt;Curious what gate catches the most failures for your team today: preflight, validation, or cost review?&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>A simple readiness checklist before you let an AI agent touch production</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Sat, 25 Jul 2026 08:10:05 +0000</pubDate>
      <link>https://dev.to/asterxing/a-simple-readiness-checklist-before-you-let-an-ai-agent-touch-production-1p1e</link>
      <guid>https://dev.to/asterxing/a-simple-readiness-checklist-before-you-let-an-ai-agent-touch-production-1p1e</guid>
      <description>&lt;p&gt;If you’re letting an AI agent touch production, a green unit test is not enough. The failure mode is rarely “the model was dumb” — it’s usually missing guardrails around scope, rollback, credentials, or observability.&lt;/p&gt;

&lt;p&gt;Here’s the lightweight checklist I’d want before any agent can run outside a sandbox:&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Make the blast radius obvious
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What files, APIs, repos, or environments can it touch?&lt;/li&gt;
&lt;li&gt;What is strictly read-only?&lt;/li&gt;
&lt;li&gt;What is the one command or path that would hurt the most if it went wrong?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2) Require a human-readable plan first
&lt;/h2&gt;

&lt;p&gt;Before execution, force the agent to say:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what it thinks the problem is&lt;/li&gt;
&lt;li&gt;what it plans to change&lt;/li&gt;
&lt;li&gt;what it will not change&lt;/li&gt;
&lt;li&gt;how it will verify success&lt;/li&gt;
&lt;li&gt;how to undo the change&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a human cannot read the plan in 30 seconds, the task is still too vague.&lt;/p&gt;

&lt;h2&gt;
  
  
  3) Separate “inspect” from “write”
&lt;/h2&gt;

&lt;p&gt;A lot of teams mix safe diagnosis with risky execution.&lt;br&gt;
Keep them split:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;inspect / search / diff / dry-run&lt;/li&gt;
&lt;li&gt;then explicit approval&lt;/li&gt;
&lt;li&gt;then write / deploy / publish&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That one boundary removes a surprising amount of risk.&lt;/p&gt;

&lt;h2&gt;
  
  
  4) Add a rollback sentence, not just a rollback script
&lt;/h2&gt;

&lt;p&gt;You want both:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the command to revert&lt;/li&gt;
&lt;li&gt;the plain-language condition for when to revert&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example: “If checkout latency rises or 5xx errors spike after deploy, revert immediately.”&lt;/p&gt;

&lt;h2&gt;
  
  
  5) Log the exact action, not just the result
&lt;/h2&gt;

&lt;p&gt;For every production-touching run, capture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prompt or task summary&lt;/li&gt;
&lt;li&gt;changed files / commands&lt;/li&gt;
&lt;li&gt;approver&lt;/li&gt;
&lt;li&gt;timestamps&lt;/li&gt;
&lt;li&gt;verification output&lt;/li&gt;
&lt;li&gt;follow-up owner&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without that trail, postmortems become guesswork.&lt;/p&gt;

&lt;h2&gt;
  
  
  6) Don’t let analytics gaps masquerade as success
&lt;/h2&gt;

&lt;p&gt;“Nothing broke” is not the same as “it worked.”&lt;br&gt;
If you cannot observe the key event, you cannot close the loop.&lt;br&gt;
At minimum, define one thing you expect to move after the change.&lt;/p&gt;

&lt;h2&gt;
  
  
  7) Start with a manual service before a full product
&lt;/h2&gt;

&lt;p&gt;One thing I keep seeing: teams want a full “agent governance platform” before they’ve done five manual audits.&lt;br&gt;
Usually the faster move is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;run the checklist manually&lt;/li&gt;
&lt;li&gt;find repeat failures&lt;/li&gt;
&lt;li&gt;turn only the repeated parts into product&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That gives you better language, clearer scope, and fewer fake features.&lt;/p&gt;

&lt;p&gt;I’m experimenting with a small Agent Readiness / Governance Audit workflow around exactly this problem. Not a full platform claim — more a practical preflight for teams that want to catch the obvious mistakes before an agent touches production.&lt;/p&gt;

&lt;p&gt;Curious where your own process still feels weakest today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;approvals&lt;/li&gt;
&lt;li&gt;rollback&lt;/li&gt;
&lt;li&gt;credentials&lt;/li&gt;
&lt;li&gt;observability&lt;/li&gt;
&lt;li&gt;task scoping&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>3 gates I now use before letting an AI coding agent touch production</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Sat, 25 Jul 2026 01:24:18 +0000</pubDate>
      <link>https://dev.to/asterxing/3-gates-i-now-use-before-letting-an-ai-coding-agent-touch-production-5dim</link>
      <guid>https://dev.to/asterxing/3-gates-i-now-use-before-letting-an-ai-coding-agent-touch-production-5dim</guid>
      <description>&lt;p&gt;AI coding agents are great at speed, but I only trust them in production after three gates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gate 1: scope gate&lt;/strong&gt;&lt;br&gt;
The task has to be narrow enough that a human reviewer can explain the expected diff in one sentence. If I can't describe the change clearly, the agent usually expands the blast radius.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gate 2: verification gate&lt;/strong&gt;&lt;br&gt;
Before merge, I want at least one fast test, one failure-path check, and one plain-English review note. "It ran" is not enough. I need to know what was checked and what was intentionally left unchecked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gate 3: cost + rollback gate&lt;/strong&gt;&lt;br&gt;
If the agent triggers extra APIs, background jobs, or long CI runs, I estimate the cost first. And if I can't roll the change back in minutes, it should not ship automatically.&lt;/p&gt;

&lt;p&gt;The pattern that helped most: let the agent draft, let tests narrow the risk, and let humans own the final release decision.&lt;/p&gt;

&lt;p&gt;Curious what your gate is before AI-generated code touches prod: permissions, tests, or rollback?&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>Palworld 1.0 breeding: why owned-Pal route planning is different from pair calculators</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Fri, 24 Jul 2026 07:45:06 +0000</pubDate>
      <link>https://dev.to/asterxing/palworld-10-breeding-why-owned-pal-route-planning-is-different-from-pair-calculators-2ho6</link>
      <guid>https://dev.to/asterxing/palworld-10-breeding-why-owned-pal-route-planning-is-different-from-pair-calculators-2ho6</guid>
      <description>&lt;p&gt;Most Palworld breeding calculators answer a very useful question: if I pick two parents, what child do I get? Or, if I want a target Pal, what parent pairs can produce it?&lt;/p&gt;

&lt;p&gt;After Palworld 1.0 changed a lot of breeding data, that is still the first thing players need. But there is another planning problem that shows up once you have a messy Palbox:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Given the Pals I already own, what is the shortest practical route to the target Pal?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is a slightly different workflow from a pair calculator.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pair calculators are good for direct lookup
&lt;/h2&gt;

&lt;p&gt;A normal breeding calculator is best when you already know the search shape:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;choose Parent A + Parent B and see the child&lt;/li&gt;
&lt;li&gt;choose a target Pal and browse all possible parent pairs&lt;/li&gt;
&lt;li&gt;compare direct parent combinations&lt;/li&gt;
&lt;li&gt;check whether 1.0 data changed a known combo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, if you are only asking “what makes Anubis?”, a target-to-parent calculator is enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  Route planning starts from your actual Palbox
&lt;/h2&gt;

&lt;p&gt;Owned-Pal route planning starts from a different constraint: you do not own every possible parent.&lt;/p&gt;

&lt;p&gt;A route planner needs to treat your current Pals as the starting nodes, then walk the breeding graph until it finds a reachable path. That lets it answer questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can I reach Anubis from only early-game Pals?&lt;/li&gt;
&lt;li&gt;What is the next missing parent I should breed first?&lt;/li&gt;
&lt;li&gt;Is there a shorter route if I already own a mid-game Pal?&lt;/li&gt;
&lt;li&gt;Which target is impossible from my current Palbox without one more reachable parent?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is closer to a shortest-path problem than a simple lookup table.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example: route pages should show real steps
&lt;/h2&gt;

&lt;p&gt;Thin pages that only say “breed X” are not very useful. A better route page should show the actual chain, the assumptions, and a way to reproduce the result.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anubis route example: &lt;a href="https://palroutes.com/palworld-breeding-routes/anubis" rel="noopener noreferrer"&gt;https://palroutes.com/palworld-breeding-routes/anubis&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Aegidron route example: &lt;a href="https://palroutes.com/palworld-breeding-routes/aegidron" rel="noopener noreferrer"&gt;https://palroutes.com/palworld-breeding-routes/aegidron&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Direhowl route example: &lt;a href="https://palroutes.com/palworld-breeding-routes/direhowl" rel="noopener noreferrer"&gt;https://palroutes.com/palworld-breeding-routes/direhowl&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These pages are meant to be route examples, not a replacement for checking every passive, IV, gender edge case, or mutation plan.&lt;/p&gt;

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

&lt;p&gt;I am building PalRoutes as a small fan-made planner for this exact owned-Pal workflow:&lt;/p&gt;

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

&lt;p&gt;The current scope is intentionally narrow: paste or select your owned Pals, choose a target, and look for a practical Palworld 1.0 breeding route. The data source and limits are visible because breeding tools can go stale fast after patches.&lt;/p&gt;

&lt;p&gt;I also wrote a short guide here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://palroutes.com/palworld-1-0-breeding-guide" rel="noopener noreferrer"&gt;https://palroutes.com/palworld-1-0-breeding-guide&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Caveat
&lt;/h2&gt;

&lt;p&gt;This does not solve every optimization layer. If you are min-maxing passives, IVs, mutations, gender-specific exceptions, or cake cost, you still need to check those constraints separately.&lt;/p&gt;

&lt;p&gt;The useful split for me is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use a breeding calculator for direct pair lookup&lt;/li&gt;
&lt;li&gt;use a route planner when your real constraint is the Pals you already own&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>3 deployment gates I now use before letting an AI coding agent touch production</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Wed, 22 Jul 2026 01:27:06 +0000</pubDate>
      <link>https://dev.to/asterxing/3-deployment-gates-i-now-use-before-letting-an-ai-coding-agent-touch-production-19e</link>
      <guid>https://dev.to/asterxing/3-deployment-gates-i-now-use-before-letting-an-ai-coding-agent-touch-production-19e</guid>
      <description>&lt;p&gt;I’m seeing more teams move from “AI can write code” to “AI can change real systems.” That second step is where most of the avoidable damage happens.&lt;/p&gt;

&lt;p&gt;After a few messy experiments, I now use three simple deployment gates before letting an AI coding agent touch anything production-adjacent.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Scope gate: can the task fail small?
&lt;/h2&gt;

&lt;p&gt;If the failure radius is unclear, the agent should not run with write access.&lt;/p&gt;

&lt;p&gt;My quick check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can I name the exact files, services, or environments it may touch?&lt;/li&gt;
&lt;li&gt;Is there a clean rollback path?&lt;/li&gt;
&lt;li&gt;Would a wrong action stay local, or cascade?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If I can’t answer those in two minutes, the task gets downgraded to draft-only or read-only.&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Evidence gate: what proof must exist before merge or deploy?
&lt;/h2&gt;

&lt;p&gt;A lot of “agent worked” claims are really “the tool returned success.” That’s not evidence.&lt;/p&gt;

&lt;p&gt;For each task I now ask for concrete proof:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;test output&lt;/li&gt;
&lt;li&gt;diff summary&lt;/li&gt;
&lt;li&gt;screenshot or URL for UI changes&lt;/li&gt;
&lt;li&gt;exact command results&lt;/li&gt;
&lt;li&gt;explicit note about what was not verified&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This sounds obvious, but it cuts out a huge amount of false confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  3) Cost gate: what is the maximum token/tool spend for this run?
&lt;/h2&gt;

&lt;p&gt;Runaway loops are not just reliability bugs; they are budget bugs.&lt;/p&gt;

&lt;p&gt;I put a ceiling on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;total turns&lt;/li&gt;
&lt;li&gt;total model spend&lt;/li&gt;
&lt;li&gt;retries per failing step&lt;/li&gt;
&lt;li&gt;tool classes allowed in the session&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cheap guardrails beat heroic postmortems.&lt;/p&gt;

&lt;h2&gt;
  
  
  The practical rule
&lt;/h2&gt;

&lt;p&gt;If a task can break prod, spend money indefinitely, or silently fake success, it should pass all three gates before autonomy expands.&lt;/p&gt;

&lt;p&gt;I’m curious what others are using here. Do you have a preflight checklist for coding agents, or are you relying more on sandboxing plus human review?&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>Building Pal Routes: shortest Palworld breeding paths from your owned Pals</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Sat, 18 Jul 2026 08:50:54 +0000</pubDate>
      <link>https://dev.to/asterxing/building-pal-routes-shortest-palworld-breeding-paths-from-your-owned-pals-5281</link>
      <guid>https://dev.to/asterxing/building-pal-routes-shortest-palworld-breeding-paths-from-your-owned-pals-5281</guid>
      <description>&lt;p&gt;I built a small fan-made web tool for Palworld players: &lt;a href="https://palroutes.com/" rel="noopener noreferrer"&gt;Pal Routes&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Most Palworld breeding calculators answer a local question: "which parent pair makes this Pal?" That is useful, but while playing I often wanted a more route-oriented workflow:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Given the Pals I already own, what is the shortest species path to a target Pal?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What Pal Routes does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Uses Palworld 1.0 breeding data shown in the app as 299 Pals and 44,851 breeding pairs&lt;/li&gt;
&lt;li&gt;Lets you paste/type your current Palbox species&lt;/li&gt;
&lt;li&gt;Lets you pick a target such as Anubis, Direhowl, or Aegidron&lt;/li&gt;
&lt;li&gt;Returns a step-by-step species breeding route&lt;/li&gt;
&lt;li&gt;Keeps the output copyable so it can be used while playing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What it does not do yet
&lt;/h2&gt;

&lt;p&gt;This is intentionally narrow. It is &lt;strong&gt;species-route only&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It does not optimize passive skills, IVs, gender checks, Cake/resource costs, mutation, or save editing. Players should still verify routes in game before spending resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I am sharing it here
&lt;/h2&gt;

&lt;p&gt;The product decision I am testing is whether a narrow “owned Pals → shortest route” workflow is valuable enough before adding adjacent features. For game utility tools, it is easy to keep adding filters and calculators; I am trying to keep the first workflow very focused.&lt;/p&gt;

&lt;p&gt;If you build game tools or play Palworld, I would love feedback on two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Is the route output format clear enough?&lt;/li&gt;
&lt;li&gt;What is the next constraint you would add: passive skills, resource cost, gender, or something else?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Disclosure: Pal Routes is independent and is not affiliated with, endorsed by, or sponsored by Pocketpair.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>webdev</category>
    </item>
    <item>
      <title>A practical preflight checklist for AI coding agents</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Sat, 18 Jul 2026 01:23:23 +0000</pubDate>
      <link>https://dev.to/asterxing/a-practical-preflight-checklist-for-ai-coding-agents-ig1</link>
      <guid>https://dev.to/asterxing/a-practical-preflight-checklist-for-ai-coding-agents-ig1</guid>
      <description>&lt;p&gt;AI coding agents are getting good enough that the bottleneck is often not generation anymore. The bottleneck is deciding what can safely be delegated, what evidence counts as done, and when a human should step back in.&lt;/p&gt;

&lt;p&gt;Here is the small preflight checklist I use before letting an agent touch a non-trivial codebase.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Write the task as a contract, not a vibe
&lt;/h2&gt;

&lt;p&gt;A weak task says: "improve the checkout flow".&lt;/p&gt;

&lt;p&gt;A safer task says:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;change only the checkout summary component and its tests&lt;/li&gt;
&lt;li&gt;preserve the existing payment provider integration&lt;/li&gt;
&lt;li&gt;do not modify database schema or environment variables&lt;/li&gt;
&lt;li&gt;success means the current checkout tests pass and one new regression test covers the empty-cart state&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent needs boundaries more than enthusiasm.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Separate exploration from editing
&lt;/h2&gt;

&lt;p&gt;I like to run agent work in two passes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;read-only reconnaissance: map files, risks, dependencies, and likely test commands&lt;/li&gt;
&lt;li&gt;implementation: make the smallest change that satisfies the contract&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This prevents the common failure mode where the agent starts editing before it understands the code path.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Require a verification plan before code changes
&lt;/h2&gt;

&lt;p&gt;Before accepting edits, ask for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;commands it expects to run&lt;/li&gt;
&lt;li&gt;tests it expects to add or update&lt;/li&gt;
&lt;li&gt;what it will not verify and why&lt;/li&gt;
&lt;li&gt;rollback points if the change touches multiple files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the verification plan is vague, the implementation will usually be vague too.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Put hard stops around sensitive areas
&lt;/h2&gt;

&lt;p&gt;For most projects, I do not let agents change these without explicit approval:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;auth/session logic&lt;/li&gt;
&lt;li&gt;billing and subscriptions&lt;/li&gt;
&lt;li&gt;migrations or production data scripts&lt;/li&gt;
&lt;li&gt;security headers and permission checks&lt;/li&gt;
&lt;li&gt;analytics events used for decisions&lt;/li&gt;
&lt;li&gt;deployment configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to distrust AI. It is to keep high-blast-radius changes under human control.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Review for behavior, not just diff size
&lt;/h2&gt;

&lt;p&gt;Small diffs can still change behavior. I check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;did it alter an API contract?&lt;/li&gt;
&lt;li&gt;did it remove an edge-case branch?&lt;/li&gt;
&lt;li&gt;did it make a test weaker to pass?&lt;/li&gt;
&lt;li&gt;did it introduce hidden cost, latency, or privacy impact?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The best agent workflows treat tests, screenshots, logs, and rollback notes as part of the deliverable, not as afterthoughts.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple rule of thumb
&lt;/h2&gt;

&lt;p&gt;Delegate implementation when the task has clear boundaries and cheap verification. Keep planning, architecture, security, billing, and product tradeoffs human-led.&lt;/p&gt;

&lt;p&gt;AI agents are most useful when they are treated like fast junior teammates with excellent recall: give them context, define done, inspect the evidence, and keep the dangerous switches out of reach until you are ready.&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>A lightweight preflight checklist before trusting an AI coding agent</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Wed, 15 Jul 2026 08:04:25 +0000</pubDate>
      <link>https://dev.to/asterxing/a-lightweight-preflight-checklist-before-trusting-an-ai-coding-agent-16o</link>
      <guid>https://dev.to/asterxing/a-lightweight-preflight-checklist-before-trusting-an-ai-coding-agent-16o</guid>
      <description>&lt;p&gt;Most AI-coding failures I see are not model failures. They are missing preflight checks: unclear repo state, unreviewed permissions, no rollback path, and no tiny verification step after the agent finishes.&lt;/p&gt;

&lt;p&gt;Here is the lightweight checklist I now use before I let an agent touch a project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define the one allowed change&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Write one sentence: "The agent may only change ___ to achieve ___." If you cannot write that sentence, the task is probably still too vague.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Freeze the starting state&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Before the agent starts, record:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;current branch and commit&lt;/li&gt;
&lt;li&gt;whether the working tree is clean&lt;/li&gt;
&lt;li&gt;which files or directories are in scope&lt;/li&gt;
&lt;li&gt;which production systems are off limits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This avoids the classic "it also cleaned up a few unrelated things" problem.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;State forbidden actions explicitly&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;do not deploy&lt;/li&gt;
&lt;li&gt;do not touch billing or payment config&lt;/li&gt;
&lt;li&gt;do not read private customer data&lt;/li&gt;
&lt;li&gt;do not rotate keys&lt;/li&gt;
&lt;li&gt;do not rewrite history&lt;/li&gt;
&lt;li&gt;do not change prompts or security policy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For agents, an unstated boundary is often not a boundary.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Require a rollback note before execution&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The rollback does not have to be fancy. It can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;revert commit X&lt;/li&gt;
&lt;li&gt;restore file Y from git&lt;/li&gt;
&lt;li&gt;disable feature flag Z&lt;/li&gt;
&lt;li&gt;re-run previous deployment command&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If there is no rollback path, the task is probably too large for one agent turn.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use the smallest meaningful verification gate&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pick one real check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;unit test&lt;/li&gt;
&lt;li&gt;typecheck&lt;/li&gt;
&lt;li&gt;build&lt;/li&gt;
&lt;li&gt;lint&lt;/li&gt;
&lt;li&gt;screenshot&lt;/li&gt;
&lt;li&gt;direct browser check&lt;/li&gt;
&lt;li&gt;curl against a health endpoint&lt;/li&gt;
&lt;li&gt;manual inspection of the exact changed file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do not accept "looks good" if no gate was run.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Separate read-only research from write actions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An agent can search docs and inspect logs in a broad way, but writes should be narrow and auditable. I treat external posting, account settings, production deploys, billing, privacy data, and scheduler changes as separate permission zones.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Keep a short handoff&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;At the end, ask for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what changed&lt;/li&gt;
&lt;li&gt;what was not changed&lt;/li&gt;
&lt;li&gt;what check passed&lt;/li&gt;
&lt;li&gt;what remains risky&lt;/li&gt;
&lt;li&gt;exact files touched&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am experimenting with a small readiness workflow around this for early AI-agent projects: a preflight card that turns a vague task into scope, forbidden actions, rollback, and verification before the agent starts. Not a full platform pitch yet; I am mainly validating whether this checklist catches the mistakes teams actually care about.&lt;/p&gt;

&lt;p&gt;If you use coding agents in a real repo, what is the one preflight check you wish you had enforced earlier?&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>A small readiness checklist before letting AI coding agents touch deployment</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Wed, 15 Jul 2026 01:25:24 +0000</pubDate>
      <link>https://dev.to/asterxing/a-small-readiness-checklist-before-letting-ai-coding-agents-touch-deployment-1ak3</link>
      <guid>https://dev.to/asterxing/a-small-readiness-checklist-before-letting-ai-coding-agents-touch-deployment-1ak3</guid>
      <description>&lt;p&gt;AI coding agents are getting good enough that the bottleneck is no longer only code generation. The risk has moved into workflow design: what permissions the agent has, when CI runs, who reviews the diff, and how much money an automated loop can spend before a human notices.&lt;/p&gt;

&lt;p&gt;Here is the lightweight checklist I use before letting an agent work near a deploy path:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define the target outcome, not just the task. “Reduce flaky checkout tests” is safer than “fix tests” because it gives reviewers a measurable bar.&lt;/li&gt;
&lt;li&gt;Put the agent in a branch or worktree with a clear rollback path. Never let experimental agent work start from an uncommitted local state.&lt;/li&gt;
&lt;li&gt;Require tests or a reproducible verification command in the prompt. If the agent cannot run it, it should explain why.&lt;/li&gt;
&lt;li&gt;Add a deployment cost brake. Preview builds, CI minutes, serverless invocations, and model calls all multiply when agents make many small commits.&lt;/li&gt;
&lt;li&gt;Review the diff for permission, data, and migration boundaries before reviewing style. The expensive failures are usually “the agent touched the wrong thing,” not “the code is ugly.”&lt;/li&gt;
&lt;li&gt;Keep a short failure log. When an agent loops, over-edits, or invents constraints, turn that into a new guardrail instead of just retrying.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;My rule of thumb: treat an AI coding agent like a fast junior teammate connected to automation. Give it context, a sandbox, tests, budget limits, and a human merge gate. That keeps the speed while avoiding the hidden costs.&lt;/p&gt;

&lt;p&gt;Recent prompt for discussion: agent workflows are becoming less about “which model is smartest?” and more about “which workflow keeps permissions, CI, and budget under control?” I think that is the right shift.&lt;/p&gt;

</description>
      <category>programming</category>
    </item>
    <item>
      <title>Tiny UX notes from building an unofficial fan sentiment tracker</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Thu, 02 Jul 2026 08:07:12 +0000</pubDate>
      <link>https://dev.to/asterxing/tiny-ux-notes-from-building-an-unofficial-fan-sentiment-tracker-1np0</link>
      <guid>https://dev.to/asterxing/tiny-ux-notes-from-building-an-unofficial-fan-sentiment-tracker-1np0</guid>
      <description>&lt;p&gt;I recently built a tiny, unofficial fan sentiment tracker for reality-TV conversations. The product is simple, but a few UX lessons were more useful than the code itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Make the boundary obvious
&lt;/h2&gt;

&lt;p&gt;Fans are used to official voting, polls, spoilers, predictions, and recaps all being mixed together. If a tool is not an official vote, the page has to say that clearly before asking anyone to interact.&lt;/p&gt;

&lt;p&gt;The wording that worked best for me was plain: unofficial, fan-made, prediction/sentiment only.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Let people understand the result before they act
&lt;/h2&gt;

&lt;p&gt;A prediction tool should not feel like a black box. Even a small explanation like “this is based on public fan signals, not official results” reduces confusion and keeps the experience honest.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Optimise for quick sharing, not long onboarding
&lt;/h2&gt;

&lt;p&gt;For casual entertainment products, most visitors will not create an account first. A lightweight page, a direct result, and a shareable link matter more than a complex dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Track support intent separately from usage
&lt;/h2&gt;

&lt;p&gt;Page views are not enough. For a small fan tool, I now treat support clicks, share clicks, and feedback clicks as separate signals. They answer different questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Did people understand it?&lt;/li&gt;
&lt;li&gt;Did they think it was worth sharing?&lt;/li&gt;
&lt;li&gt;Did anyone care enough to support it?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The tiny project I used for these experiments is VillaVote: &lt;a href="https://www.villavote.com/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=star_growth_20260702_villavote" rel="noopener noreferrer"&gt;https://www.villavote.com/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=star_growth_20260702_villavote&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is still intentionally small, but building it reminded me that “simple” consumer UX often needs more explicit boundaries than developer tools do.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ux</category>
      <category>javascript</category>
    </item>
    <item>
      <title>What I learned building a tiny fan sentiment tracker during Love Island USA</title>
      <dc:creator>AsterXing</dc:creator>
      <pubDate>Sun, 28 Jun 2026 12:35:04 +0000</pubDate>
      <link>https://dev.to/asterxing/what-i-learned-building-a-tiny-fan-sentiment-tracker-during-love-island-usa-2hg0</link>
      <guid>https://dev.to/asterxing/what-i-learned-building-a-tiny-fan-sentiment-tracker-during-love-island-usa-2hg0</guid>
      <description>&lt;p&gt;I built a small side project around a very non-enterprise problem: following Love Island USA fan sentiment without manually checking a bunch of threads, polls, and recap posts.&lt;/p&gt;

&lt;p&gt;The interesting part was not the show itself as much as the product lesson: fan communities often have fast-moving opinions, but the data is scattered across comments, informal polls, and episode discussions. That creates a surprisingly clear UX problem.&lt;/p&gt;

&lt;p&gt;A few notes from the build:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Fan prediction is not official voting
&lt;/h2&gt;

&lt;p&gt;This boundary matters a lot. The official vote still happens through the official Love Island USA app during voting windows. A fan tracker should never imply that it replaces that.&lt;/p&gt;

&lt;p&gt;So the copy has to be explicit: this is unofficial, community-oriented, and only useful for reading sentiment or comparing predictions.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The best metric is not always the most complex one
&lt;/h2&gt;

&lt;p&gt;For this kind of project, a simple ranking or trend line can be more useful than a heavy model. Viewers want quick answers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;who seems safest right now?&lt;/li&gt;
&lt;li&gt;who is losing support?&lt;/li&gt;
&lt;li&gt;are Reddit polls different from general fan chatter?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That shaped the interface more than any technical preference.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Small niche tools still need trust signals
&lt;/h2&gt;

&lt;p&gt;Even when a tool is just for fun, users want to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;is this official or unofficial?&lt;/li&gt;
&lt;li&gt;where does the signal come from?&lt;/li&gt;
&lt;li&gt;can I submit or correct something?&lt;/li&gt;
&lt;li&gt;will the results be updated after each episode?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I added the project here as an example of the boundary and UX pattern: &lt;a href="https://thevillavote.com/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=star_growth_20260628_villavote_evening" rel="noopener noreferrer"&gt;https://thevillavote.com/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=star_growth_20260628_villavote_evening&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are building small community tools, I think the main lesson is to spend as much time on context and disclaimers as on the chart itself. The product can be lightweight, but the trust boundary cannot be vague.&lt;/p&gt;

&lt;p&gt;Would be curious how others handle unofficial/community-data wording in small fan or hobby projects.&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
  </channel>
</rss>
