Agentic Spec-Driven Development

Contribution you can trust, even when agents write the code.

ASDD is a governed contribution pipeline for open-source projects built with AI agents. Drop it into any GitHub repo. It handles what breaks when AI is involved: undisclosed authorship, unchecked security, and agents that auto-merge things they should not.

We set out to make agent contributions trustworthy, not to write a standard

Agents that could write real code, a review model that assumed a human did, and the failures in between became ASDD.

The shift

Agents started writing real code

Coding agents stopped being a novelty. They open pull requests, refactor modules, and fix bugs at a pace no review process was built for.

The gap

Review assumed a human wrote it

Every safeguard in open source, from disclosure to sign-off, assumed a person behind the commit. When an agent writes it and a person rubber-stamps it, the safeguards quietly stop working.

The failures

Hidden authorship, skipped checks, silent merges

Three things break in practice: nobody can tell what an agent wrote, security review gets treated as advisory, and agents merge changes a human never truly approved.

The result: ASDD

A pipeline that governs how agents contribute

So we built the contribution layer the tools left out: authorship is disclosed, security and quality are hard gates, and a human owns every merge. A standard plus a CLI, ready to run on Goose.

The problem is not the code. It is who wrote it, and who let it in.

A pull request from an agent looks like any other. That is exactly the problem.

Spec-driven development made the spec the artifact and the code a build output. That works for one developer and one agent. ASDD extends it from a single loop to multi-contributor governance, where the people merging cannot personally vouch for every line.

The questions a maintainer has to answer do not change: did an agent write this, was it reviewed for security, and is a human accountable for the merge. ASDD makes the answers explicit and enforced, on every pull request, including the maintainers own.

An airlock, hard gates, and a human on every merge

ASDD runs contributions through an airlock: two agent-held membranes between an untrusted public side and the trusted development side. Only a validated spec, or a review-ready change, crosses inward. Merges are tiered by change class: humans merge everything by default, auto-merge is earned and narrow, and protected paths stay human-approved permanently.

$ bash cli/init.sh --goose ./your-repo

# every pull request carries a disclosed authorship trailer:
Agent: goose (developer), gpt-oss (reviewer)
Gates: intake OK  security-lens OK
Merge: human-approved
WhatA conformant project
Intake gateRuns on every pull request, including maintainers own. Fails hard.
AuthorshipEvery pull request and commit discloses any AI involvement.
Write scopeThe publish job keeps write access isolated from the rest of the pipeline.
Policy pointAll publish actions route through a decision point that denies merge by default.
SecurityFindings are never suppressed without a visible comment.

Three rules every ASDD project guarantees

Disclose agents

If an AI agent helped write the code, the pull request and the commit trailer say so. Every change stays attributable.

Humans own the merges

Agents review and recommend. A human approves and merges. Nothing merges automatically, ever.

Quality and security are gates

Not advisory on the things that matter. The intake gate fails hard, and the security lens blocks on real findings.

A standard, a CLI, and a ready-to-run operate layer

  • STANDARD.md The specification: the airlock, the merge tiers, and the conformance requirements, in full.
  • The gates An intake gate, a security lens, and a policy decision point that denies merge by default.
  • cli/init.sh One command drops ASDD into a repo, with an optional Goose setup.
  • ASDD-with-GooseRuns today A ready-to-run operate layer on unmodified Goose, so a project gets a governed agentic loop out of the box.
  • Agent roles The reviewer, tester, and support roles, provider-neutral, with the developer bring-your-own.

Adopt it, run it, help shape it

ASDD is a standard plus a CLI. Any project can adopt it, and any tool can implement it. Read the standard, drop it into a repo, and run the loop on Goose. Contributions are welcome under a simple sign-off.

Runs on Goose. ASDD-with-Goose is a ready-to-run operate layer on unmodified Goose, no fork. One command installs it, then you configure and run the loop.

Stewardship. ASDD is stewarded by the OneHill Foundation. The tooling is Apache-2.0 and the standard is CC-BY-4.0.