New We sign every review. Reviewer never equals author.

Autonomous engineering, under review

Autonomous software, orchestrated.

We run a disciplined fleet of specialized AI engineers that plan, build, review, and ship production code. Every change is planned, built and reviewed by separate agents, tested in a real browser, and shipped only when it passes. You set the rules; deterministic code enforces them.

Alex Fox, Principal: a technology director who has shipped and operated agent systems in production, inside a real organization with real constraints. Background and history.

Start a conversation See how it works

  • Risk-tiered approvals
  • Browser-tested changes
  • Reviewer ≠ author

Mission control, representative run

principal-and-agent/web · mission-control
main ← pna-herogate: human Representative, non-live snapshot

The Fleet

  • Architect , status: active
  • Engineer , status: active
  • QA , status: active
  • SEO , status: active

This run

This fleet maintains and operates pna.agency itself. The cards above are real, shipped changes to this site — not client work.

  1. Plan

    1

    Architect

    card hover contrast fix merged

    PlanFix the card-hover text contrast regression by correcting the token.

    Checks4.88:1 ratio verified manually for the corrected --bg-card-hover token; the automated check-contrast.mjs hover-pair check was first added in PR #29.

    Reviewer--bg-card-hover moved to #0d110e, lifting hover-state body text from a regressed 4.24:1 to 4.88:1.

  2. Build

    1

    Engineer

    LinkedIn sameAs in schema verified on live site

    PlanAdd the company LinkedIn URL to the Organization schema's sameAs array.

    ChecksRendered page source on pna.agency checked for the LinkedIn URL in sameAs.

    ReviewersameAs now lists the company LinkedIn profile alongside the existing identity links, confirmed live.

  3. Review

    1

    QA

    security headers: allowlist scaffold merged

    PlanStand up the security-headers allowlist and filter, with header values held back for later PRs.

    ChecksReviewed the agent-owned src/data/security-headers.ts data file and the allowlist/filter kept in worker/index.ts.

    ReviewerPR #18 shipped SECURITY_HEADERS as an empty object, an ALLOWED_SECURITY_HEADERS allowlist and a withSecurityHeaders() filter in worker/index.ts — no header values yet. nosniff shipped in PR #19. CSP was deliberately held back pending contact-form/Turnstile QA, and followed in PR #26.

  4. Ship

    1

    SEO

    per-page sitemap lastmod verified on live site

    PlanGive each page in the sitemap its own lastmod instead of one build-time date for the whole site.

    ChecksChecked astro.config.mjs's pageLastmod() against git history and the generated sitemap.xml.

    Reviewerlastmod is conservative, not exact: it's the latest commit to that page's own src/pages file, or to any file under the shared src/layouts, src/components, src/data or src/styles directories — whichever is newer. A shared-component change bumps every page's lastmod, so it isn't an independent per-page content date.

  5. Gate history

    2

    QA

    card-hover contrast: regression, fix, hardened gate merged

    PlanFix the card-hover contrast regression, then harden the gate that didn't check that pair yet.

    ChecksPR #28's token fix was verified manually (4.88:1), since the hover pair wasn't in scripts/check-contrast.mjs's checked list yet; PR #29 added it to the automated gate.

    ReviewerCard-hover body text had regressed to 4.24:1 and passed the contrast gate, because the hover pair wasn't checked yet. PR #28 fixed the token (--bg-card-hover to #0d110e), reaching 4.88:1. PR #29 then added the hover pair to scripts/check-contrast.mjs, so the same regression would now fail the build.

pipeline
plan ✓build ✓review ✓ship ✓

Why us

Built by a principal who runs systems like yours

Not a lab. Not a research team. Our principal has shipped AI agents into production inside a real organization, with real constraints: procurement, audit, identity, on-call, and people who did not ask for a new tool. The systems we build for you are the ones we run ourselves.

The best agent is one your team doesn't have to think about. It runs, it reports, and it makes the next problem easier to solve, not harder. Alex Fox, on why we build this way

Ready to put AI agents to work?

Tell us what you are trying to build. If it is a fit, in thirty minutes we will identify one high-impact automation opportunity together.

Start a conversation