<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>kotona.app notes</title><description>Project notes and system notes from kotona.app.</description><link>https://kotona.app/</link><item><title>Judge agents by the next prompt</title><link>https://kotona.app/notes/judge-agents-by-the-next-prompt/</link><guid isPermaLink="true">https://kotona.app/notes/judge-agents-by-the-next-prompt/</guid><description>New agents carry more work from intent to evidence, but that changes rather than removes the supervision problem. The next prompt reveals whether the result needs repair or is ready to extend.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate><category>agent workflow</category><category>agents</category><category>evaluation</category><category>workflow</category></item><item><title>The ref nobody adds</title><link>https://kotona.app/notes/the-ref-nobody-adds/</link><guid isPermaLink="true">https://kotona.app/notes/the-ref-nobody-adds/</guid><description>The sprint database held 831 work items and seven doc refs, six of them the same document. The reference command existed the whole time. The missing piece was never a tool — it was placement on the path the agent actually walks.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate><category>agent workflow</category><category>agents</category><category>workflow</category><category>documentation</category></item><item><title>Delivered energy</title><link>https://kotona.app/notes/delivered-energy/</link><guid isPermaLink="true">https://kotona.app/notes/delivered-energy/</guid><description>A business plan for battery-swap delivered energy that works in one narrow niche and matters most for what it implies about EVs, home batteries, and off-grid design.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate><category>energy systems</category><category>batteries</category><category>off-grid</category><category>ev</category></item><item><title>Layering you can&apos;t violate by accident</title><link>https://kotona.app/notes/layering-you-cant-violate-by-accident/</link><guid isPermaLink="true">https://kotona.app/notes/layering-you-cant-violate-by-accident/</guid><description>homelab-analytics enforces its layer boundaries with pytest. A documented architecture is a request; a tested one is a constraint.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>software architecture</category><category>architecture</category><category>contracts</category></item><item><title>Moving a live cluster to a new subnet</title><link>https://kotona.app/notes/moving-a-live-cluster-to-a-new-subnet/</link><guid isPermaLink="true">https://kotona.app/notes/moving-a-live-cluster-to-a-new-subnet/</guid><description>Migrating a Talos cluster from a legacy subnet to its own VLAN while it kept serving. The design was mostly an ordering problem, plus one bootstrap loop: the network controller lives inside the network it manages.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>cluster operations</category><category>operations</category><category>kubernetes</category></item><item><title>NFC tokens pointing at a manifest</title><link>https://kotona.app/notes/nfc-tokens-pointing-at-a-manifest/</link><guid isPermaLink="true">https://kotona.app/notes/nfc-tokens-pointing-at-a-manifest/</guid><description>Cassettes, diskettes, and cartridges as physical handles for digital media. The rule that makes the whole family of projects work: the tag points, it never hosts.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>hardware contracts</category><category>hardware</category><category>contracts</category></item><item><title>Subprocess, not service</title><link>https://kotona.app/notes/subprocess-not-service/</link><guid isPermaLink="true">https://kotona.app/notes/subprocess-not-service/</guid><description>actionq-dispatcher runs agent work as subprocesses inside a per-invocation coordinator. The rejected alternative was a long-running agent service, and the rejection is most of the design.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>agent workflow</category><category>agents</category><category>workflow</category></item><item><title>The aftertaste of resolution</title><link>https://kotona.app/notes/the-aftertaste-of-resolution/</link><guid isPermaLink="true">https://kotona.app/notes/the-aftertaste-of-resolution/</guid><description>Conversational refinement produces the feeling of having thought clearly, which is not the same thing as having thought clearly. The fix was not discipline. It was writing the stop rule into the counterpart.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>agent workflow</category><category>workflow</category><category>agents</category><category>llm</category></item><item><title>The coordinator never touches the repo</title><link>https://kotona.app/notes/the-coordinator-never-touches-the-repo/</link><guid isPermaLink="true">https://kotona.app/notes/the-coordinator-never-touches-the-repo/</guid><description>Sprint work is split into plan, build, and review dispatches, and the orchestrating session is structurally barred from editing deliverables. The bar is the point.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>agent workflow</category><category>agents</category><category>workflow</category></item><item><title>Log as system</title><link>https://kotona.app/notes/log-as-system/</link><guid isPermaLink="true">https://kotona.app/notes/log-as-system/</guid><description>A reference design for audit-native systems where code, layout, control decisions, and data are all log artifacts.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><category>data architecture</category><category>event-sourcing</category><category>audit</category><category>systems</category></item><item><title>Schema on split</title><link>https://kotona.app/notes/schema-on-split/</link><guid isPermaLink="true">https://kotona.app/notes/schema-on-split/</guid><description>A pipeline rule: land raw, split deterministically, enrich point-in-time, then shape for consumers.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><category>data architecture</category><category>data-platforms</category><category>replay</category><category>audit</category></item><item><title>The missing layer is binding, not intelligence</title><link>https://kotona.app/notes/the-missing-layer-is-binding-not-intelligence/</link><guid isPermaLink="true">https://kotona.app/notes/the-missing-layer-is-binding-not-intelligence/</guid><description>The useful workflow layer for solo agent work is not a giant orchestration stack. It is a local-first system that remembers claims, checkpoints, routing choices, and promotion boundaries without pretending one operator needs a whole platform team.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate><category>agent workflow</category><category>workflow</category><category>agents</category></item><item><title>A GitOps rollback needs time to reach Git</title><link>https://kotona.app/notes/a-gitops-rollback-needs-time-to-reach-git/</link><guid isPermaLink="true">https://kotona.app/notes/a-gitops-rollback-needs-time-to-reach-git/</guid><description>A live rollback fixed a crashlooping workload, but the more interesting part was needing to suspend reconciliation long enough for the fix to become the desired state instead of a temporary lie.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><category>GitOps operations</category><category>operations</category><category>gitops</category></item><item><title>Compatibility reports should be a little rude</title><link>https://kotona.app/notes/compatibility-reports-should-be-a-little-rude/</link><guid isPermaLink="true">https://kotona.app/notes/compatibility-reports-should-be-a-little-rude/</guid><description>Backend-owned contracts only become useful release artifacts once the compatibility tooling is conservative enough to complain about real breakage instead of politely missing it.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><category>contract governance</category><category>contracts</category><category>release-engineering</category></item><item><title>The boring auth boundary was right</title><link>https://kotona.app/notes/the-boring-auth-boundary-was-right/</link><guid isPermaLink="true">https://kotona.app/notes/the-boring-auth-boundary-was-right/</guid><description>Homelab analytics had enough auth surface to accidentally grow a second identity product. The useful decision was to keep identity proof upstream, keep authorization local, and demote local login to a narrow break-glass path.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><category>authentication architecture</category><category>auth</category><category>architecture</category></item></channel></rss>