Stravica

AI software, properly.

The Requirements Confidence Framework (RCF).

Stravica is where I work out how to build software with AI, and where what gets built lives. RCF, the Requirements Confidence Framework, is the method. RCF Lite is the tooling, on npm today. A Digital Operator practises both, and the writing tracks what held up.

Wire your agent Start with the method

Receipts

Built with RCF Lite.

The dogfood run: Clerk auth, D1 persistence and Cloudflare deploy, composed cold from the blueprint shelf to a live production Worker.

Watchpost dashboard showing four monitors up, with response-time sparklines and last-checked timestamps

Watchpost, a self-hosted uptime monitor built end to end through the framework, here watching real Stravica surfaces.

$ rcf define blueprint add @stock/security-auth-magic-link
[rcf] blueprint add refused: 1 conflict(s) detected.

conflict on topic (authModel):
  incoming  blueprint security-auth-magic-link:
            Passwordless magic-link sign-in with server-issued
            opaque cookie sessions as the project's
            authentication model ...
  existing  blueprint security-auth-clerk:
            Clerk-hosted identity with server-verified session
            cookies as the project's authentication model ...
  refs:     ADR-501-security-auth-magic-link-model
            ADR-1001-security-auth-clerk-auth-model

  resolutions (pick one, honest options only):
    1. Adopt the incoming blueprint. ...
    2. Keep the existing blueprint. ...
    3. Author a project-level ADR that supersedes both. ...
    4. Declare the resolution on the add itself:
         rcf define blueprint add @stock/security-auth-magic-link
           --resolve authModel=project:<ADR-id>

Two auth blueprints on one project. The compose gate refuses, names the conflict and lists the honest ways out.

The rcf audit viewer's Requirements tab, listing blueprint-contributed requirements with approved status badges

rcf audit view, the live review surface over the same project's tree.

Three recipes off the shelf; thirty-nine blueprints on it. More in the build queue.

Methodology

RCF

The Requirements Confidence Framework. A working method for closing the gap between “the AI built something” and “the AI built what you asked for.” Requirements at the apex, acceptance criteria as the contract, traceability built into the data model. The full methodology, end to end, and the lineage that landed it.

Read RCF

Tooling

RCF Lite

The method, runnable. One npm package, plain JSON files that live in your own repository, and an MCP server your coding agent drives. Wire it once and your agent keeps a live chain from what you asked for, through requirements and acceptance criteria, into the tests that prove it. It’s 0.x and partly built, and the docs carry a status page that says which pieces are how far along, plainly.

Read the docs

Practice

Digital Operator

A digital counterpart to a human operator role. It does the work, records how I would have done it while doing it, and feeds what it learned into a shared library the rest of my Operators draw from. Two running today. The first one built this site.

Read more

Open source model reports

Reports

When the writing makes a claim about models, there’s a report behind it. Five real engineering tasks, the same harness each time, verdicts published whether the local model wins or loses.

Latest from the blog

New writing most weeks.

All posts
  • Governance moved inside the build.

    Security leaders and private equity operating partners in my feed are agreeing on AI governance. It needs to be built into the software and checked by machines on every change. Security did this when work moved beyond the perimeter. After a year running governance this way in production, I don't think an oversight office can keep up with coding agents.

  • Vibe coding at enterprise scale: the review that never happens.

    Vibe coding keeps climbing the search charts, and every enterprise governance post carries the same line about a senior engineer reviewing all AI-generated code before merge. Nobody has the hours, so the line stays in the policy and the review gets skipped. Last week I forced that review onto my own code twice, using two coding agents that argue about a codebase in front of a referee. Twelve real defects in four small files, and six of them were in the fixes for the first six.

  • Harness without a spec is a loop without a target.

    Harness engineering has the loop close to solved. Plan, act, verify, repeat, with humans steering rather than typing. But almost every harness points the verify step at proxies, tests the agent wrote, lint, a second model's opinion of the diff, and a loop aimed at a proxy converges on the proxy. A guard job in my own CI sat green for five weeks while blind to the one thing it existed to check. The missing half of the discipline is the target, a spec layer the loop can verify against.

Stravica is a body of work in public. The bar is software that holds up under real use, not software that looks good in a demo.