<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Bartek Kus</title>
  <subtitle>AI can write the code; the unsolved problem is trusting what it wrote. I build the governance layer: specs as law, drift refused at merge, and evidence you can inspect.</subtitle>
  <link href="https://bartekus.com/atom.xml" rel="self" />
  <link href="https://bartekus.com" />
  <id>https://bartekus.com/</id>
  <updated>2026-11-08T04:00:03.831Z</updated>
  <author>
    <name>Bartek Kus</name>
    <email>bartekus@gmail.com</email>
  </author>
  <entry>
    <title>aicortex: memory that cannot instruct</title>
    <link href="https://bartekus.com/writing/aicortex-memory-that-cannot-instruct" />
    <id>https://bartekus.com/writing/aicortex-memory-that-cannot-instruct</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>Persistent memory for AI clients over MCP, built so that nothing recalled can ever be read as a command. The untrusted content boundary, and the five other refusals that make it hold.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Governance" />
    <category term="Rust" />
  </entry>
  <entry>
    <title>From EnRaHiTu to Rahi</title>
    <link href="https://bartekus.com/writing/from-enrahitu-to-rahi" />
    <id>https://bartekus.com/writing/from-enrahitu-to-rahi</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>The July chassis had four ingredients in one container. Rahi keeps two, moves everything to Rust, and becomes a library an application extends and never forks. What was traded, and what the proof actually covers.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Architecture" />
    <category term="Rust" />
    <category term="Identity" />
    <category term="Local-First" />
  </entry>
  <entry>
    <title>From the factory to small tools</title>
    <link href="https://bartekus.com/writing/from-factory-to-small-tools" />
    <id>https://bartekus.com/writing/from-factory-to-small-tools</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>In July I described one platform: a factory, a fleet plane, tenants, certificates. In October that shape was retired. What stands in public now is a family of small tools, each making one claim that can be graded.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Architecture" />
    <category term="Governance" />
  </entry>
  <entry>
    <title>Retiring six repositories under governance</title>
    <link href="https://bartekus.com/writing/retiring-six-repositories-under-governance" />
    <id>https://bartekus.com/writing/retiring-six-repositories-under-governance</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>On 2026-10-07 six repositories left the public family in one reviewed pull request. A retirement is a governed act with a record. This is what that record contains, what it does not, and why that matters.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Governance" />
    <category term="Architecture" />
  </entry>
  <entry>
    <title>rustev: proposals, never grants</title>
    <link href="https://bartekus.com/writing/rustev-proposals-never-grants" />
    <id>https://bartekus.com/writing/rustev-proposals-never-grants</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>An embeddable Rust engine for decisions over partially trusted information: a definition compiles into a plan, execution is bounded, every decision leaves evidence, and the output is always a proposal.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Architecture" />
    <category term="Rust" />
  </entry>
  <entry>
    <title>spec-spine at 0.32: check, delta, verify</title>
    <link href="https://bartekus.com/writing/spec-spine-check-delta-verify" />
    <id>https://bartekus.com/writing/spec-spine-check-delta-verify</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>Since June, spec-spine gained check, delta, verify, registry plan, a family exit-code contract, a JSON envelope, per-unit shards and a renumbered corpus, and lost init. Each exists because a PR branch is a stranger&apos;s bytes.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Governance" />
    <category term="Tooling" />
    <category term="Rust" />
  </entry>
  <entry>
    <title>statecraft-cli: acceptance is independent</title>
    <link href="https://bartekus.com/writing/statecraft-cli-independent-acceptance" />
    <id>https://bartekus.com/writing/statecraft-cli-independent-acceptance</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>What statecraft-cli is today: one machine, one repository, no account, and a judgment about an agent&apos;s work that the agent cannot write. Specified, implemented and tested; not released.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Tooling" />
    <category term="Rust" />
    <category term="Local-First" />
  </entry>
  <entry>
    <title>Three primitives: gate, ledger, canonical bytes</title>
    <link href="https://bartekus.com/writing/three-primitives-action-gate-attest-ledger-canonical-json" />
    <id>https://bartekus.com/writing/three-primitives-action-gate-attest-ledger-canonical-json</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>action-gate, attest-ledger and canonical-keysort-json are the three smallest claims in the family. Each refuses to do its neighbour&apos;s job, and that refusal is what lets the bigger tools make theirs.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Rust" />
    <category term="Governance" />
    <category term="Tooling" />
  </entry>
  <entry>
    <title>wire-witness: testimony, not authority</title>
    <link href="https://bartekus.com/writing/wire-witness-testimony-not-authority" />
    <id>https://bartekus.com/writing/wire-witness-testimony-not-authority</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-11-07T00:00:00.000Z</published>
    <summary>A capture proxy that records the actual HTTP traffic between an agent harness and a model provider, and is built so its output can never decide anything. Why that limitation is the feature.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Governance" />
    <category term="Rust" />
  </entry>
  <entry>
    <title>EnRaHiTu: the whole application in one container</title>
    <link href="https://bartekus.com/writing/enrahitu-the-whole-app-in-one-container" />
    <id>https://bartekus.com/writing/enrahitu-the-whole-app-in-one-container</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-07-23T00:00:00.000Z</published>
    <summary>Encore.ts for typed APIs, rauthy for identity, hiqlite for replicated SQLite, Turso&apos;s libSQL underneath: the template chassis Statecraft stamps, and why zero managed-infrastructure dependencies is the entire point.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Architecture" />
    <category term="Local-First" />
  </entry>
  <entry>
    <title>From Open Agentic Platform to Statecraft</title>
    <link href="https://bartekus.com/writing/from-open-agentic-platform-to-statecraft" />
    <id>https://bartekus.com/writing/from-open-agentic-platform-to-statecraft</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-07-23T00:00:00.000Z</published>
    <summary>This week I archived my flagship and rebuilt it ground-up in days. What died, what survived, and why a spec corpus made killing a quarter-million governed lines the cheap option.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Governance" />
  </entry>
  <entry>
    <title>One binary, two faces: statecraft-cli</title>
    <link href="https://bartekus.com/writing/one-binary-two-faces" />
    <id>https://bartekus.com/writing/one-binary-two-faces</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-07-23T00:00:00.000Z</published>
    <summary>I retired a desktop app and replaced it with a Rust binary that is a CLI for humans and an MCP server for agents. The interesting part is why those had to be the same binary.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Tooling" />
    <category term="Agentic AI" />
  </entry>
  <entry>
    <title>Rewriting under governance: notes from a four-day teardown</title>
    <link href="https://bartekus.com/writing/rewriting-under-governance" />
    <id>https://bartekus.com/writing/rewriting-under-governance</id>
    <updated>2026-07-23T00:00:00.000Z</updated>
    <published>2026-07-23T00:00:00.000Z</published>
    <summary>The rename essay tells you why the platform was rebuilt. This one is the mechanic&apos;s log: specs rewritten before code, authority transferred edge by edge, agents forbidden from bending the law to match their output, and the three boot defects the gates never promised to catch.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Governance" />
  </entry>
  <entry>
    <title>The factory is a service now</title>
    <link href="https://bartekus.com/writing/the-factory-is-a-service-now" />
    <id>https://bartekus.com/writing/the-factory-is-a-service-now</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-07-23T00:00:00.000Z</published>
    <summary>factory-encore promised a technology-agnostic software factory. Statecraft kept the factory and shot the framework: what changed when the contract moved from a technology-free document to a versioned template.toml with a gate behind it.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Governance" />
    <category term="Architecture" />
  </entry>
  <entry>
    <title>Yolo mode is earned: three layers of Claude Code settings</title>
    <link href="https://bartekus.com/writing/yolo-mode-is-earned" />
    <id>https://bartekus.com/writing/yolo-mode-is-earned</id>
    <updated>2026-07-23T00:00:00.000Z</updated>
    <published>2026-06-10T00:00:00.000Z</published>
    <summary>I run Claude Code with permission prompts off. That is safe only because of what sits underneath: a global deny floor, project hooks as reflexes, and a config that is itself governed.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Tooling" />
  </entry>
  <entry>
    <title>Inside spec-spine: a typed authority ledger over markdown</title>
    <link href="https://bartekus.com/writing/inside-spec-spine" />
    <id>https://bartekus.com/writing/inside-spec-spine</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-06-09T00:00:00.000Z</published>
    <summary>The governance spine I lifted out of my platform and open-sourced: typed ownership edges, two deterministic registries, and a PR gate that refuses code drifting from its owning spec.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Open Source" />
    <category term="Governance" />
  </entry>
  <entry>
    <title>Production in the dev loop: Hetzner, Flux, and a read-only MCP</title>
    <link href="https://bartekus.com/writing/production-in-the-dev-loop" />
    <id>https://bartekus.com/writing/production-in-the-dev-loop</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-06-06T00:00:00.000Z</published>
    <summary>My Kubernetes cluster behaves like an extension of local development: the agent can see everything and touch nothing, and the only write path is git.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Kubernetes" />
    <category term="Local-First" />
  </entry>
  <entry>
    <title>Agentic code collapse, and the substrate that prevents it</title>
    <link href="https://bartekus.com/writing/agentic-code-collapse" />
    <id>https://bartekus.com/writing/agentic-code-collapse</id>
    <updated>2026-07-23T00:00:00.000Z</updated>
    <published>2026-05-15T00:00:00.000Z</published>
    <summary>Agent-built codebases have a characteristic failure mode: each diff is locally plausible while the system slides into incoherence. Receipts from a quarter-million governed lines on why mine hasn&apos;t.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Architecture" />
  </entry>
  <entry>
    <title>Reading OWASP&apos;s Agentic Top 10 against a real platform</title>
    <link href="https://bartekus.com/writing/owasp-agentic-top-10-against-a-real-platform" />
    <id>https://bartekus.com/writing/owasp-agentic-top-10-against-a-real-platform</id>
    <updated>2026-07-23T00:00:00.000Z</updated>
    <published>2026-04-15T00:00:00.000Z</published>
    <summary>I mapped the OWASP ASI 2026 entries onto open-agentic-platform, control by control. The exercise kept landing on the same small set of governance mechanisms, and that is the finding.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Security" />
    <category term="Agentic AI" />
  </entry>
  <entry>
    <title>Architecting intent vs vibe coding</title>
    <link href="https://bartekus.com/writing/architecting-intent-vs-vibe-coding" />
    <id>https://bartekus.com/writing/architecting-intent-vs-vibe-coding</id>
    <updated>2026-11-07T00:00:00.000Z</updated>
    <published>2026-01-15T00:00:00.000Z</published>
    <summary>AI can write the code; the unsolved problem is trusting what it wrote. Why review doesn&apos;t scale, and how specs-as-law makes agentic output governable.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Governance" />
  </entry>
  <entry>
    <title>Probabilistic AI behind deterministic gates</title>
    <link href="https://bartekus.com/writing/probabilistic-ai-behind-deterministic-gates" />
    <id>https://bartekus.com/writing/probabilistic-ai-behind-deterministic-gates</id>
    <updated>2026-06-10T00:00:00.000Z</updated>
    <published>2025-10-15T00:00:00.000Z</published>
    <summary>LLMs are probabilistic by design; trustworthy systems are deterministic at the boundary. The architecture rule that makes agentic output admissible.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Agentic AI" />
    <category term="Architecture" />
  </entry>
  <entry>
    <title>Local-first, now governed</title>
    <link href="https://bartekus.com/writing/local-first-now-governed" />
    <id>https://bartekus.com/writing/local-first-now-governed</id>
    <updated>2026-07-23T00:00:00.000Z</updated>
    <published>2025-09-10T00:00:00.000Z</published>
    <summary>The local-first thesis grew a governance layer: why the agentic execution plane belongs on your machine, with no SaaS in the trust path.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Local-First" />
    <category term="Governance" />
  </entry>
  <entry>
    <title>Identity in practice: OIDC, SSI, and DID without the hype</title>
    <link href="https://bartekus.com/writing/identity-in-practice" />
    <id>https://bartekus.com/writing/identity-in-practice</id>
    <updated>2026-06-10T00:00:00.000Z</updated>
    <published>2025-05-01T00:00:00.000Z</published>
    <summary>Practical guidance on when to use each identity standard, what to avoid, and links to authoritative specs.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Identity" />
    <category term="Security" />
  </entry>
  <entry>
    <title>Design principles for resilient systems</title>
    <link href="https://bartekus.com/writing/design-principles-resilient-systems" />
    <id>https://bartekus.com/writing/design-principles-resilient-systems</id>
    <updated>2026-06-10T00:00:00.000Z</updated>
    <published>2025-01-15T00:00:00.000Z</published>
    <summary>Exploring simplicity, observability, blast radius, idempotency, and graceful degradation in distributed systems.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="Systems Design" />
    <category term="Architecture" />
  </entry>
  <entry>
    <title>RAG beyond the demo: failure modes and patterns</title>
    <link href="https://bartekus.com/writing/rag-beyond-demo" />
    <id>https://bartekus.com/writing/rag-beyond-demo</id>
    <updated>2026-06-10T00:00:00.000Z</updated>
    <published>2024-12-28T00:00:00.000Z</published>
    <summary>Exploring indexing strategies, chunking approaches, evaluation frameworks, observability, and guardrails for production RAG systems.</summary>
    <author>
      <name>Bartek Kus</name>
      <email>bartekus@gmail.com</email>
    </author>
    <category term="AI" />
    <category term="RAG" />
  </entry>
</feed>