Record ADLC-CR-0001 Open — awaiting implementationControl points 8Packages 29Human attestations 2
Subject
Adopt the Agentic Development Lifecycle
Class
Process change · software delivery
Scope
macOS · Linux · Node 18+
Back-out
revert the repo · uninstall the CLI separately
§1 Statement

The SDLC defends against human failure. Your agents fail differently.

Models fail confidently, quickly, and at scale — a process built for forgetting and fatigue is not adequate for hallucination and reward hacking. ADLC gives every phase an explicit exit contract: deterministic gates leave machine-checkable evidence, and two human gates record attestation.

§2 Implement

Install the toolkit and your agent integrations

curl -fsSL https://www.agenticlifecycle.ai/install.sh | sh

macOS and Linux, Node 18+. Then adlc init in your repository. Cursor and OpenCode need one manual step, which the installer prints — see what gets installed. Windows is not supported.

Enforcement

In-session hooks are best-effort and harness-dependent. The commit-time CI gate is the unbypassable control.

§3 Chain

Eight control points. A gate closes every one.

Each phase ends on an exit code: 0 passes, 1 is an operational error, and 2 means the gate refused. That is what makes the lifecycle executable in CI rather than aspirational in a wiki.

  1. P0
    Triage
    routed
    adlc ticket
    PASS0
  2. P1
    Interrogate
    human gate
    A person
    ATTEST
  3. P2
    Decompose
    cold-start
    adlc coldstart
    PASS0
  4. P3
    Rail
    RED gate
    adlc rails-guard
    PASS0
  5. P4
    Build
    green gate
    adlc build-gate
    PASS0
  6. P5
    Prosecute
    zero findings
    adlc prosecute
    PASS0
  7. P6
    Integrate
    human gate
    A person
    ATTEST
  8. P7
    Distill
    feeds the next run
    adlc lesson-foundry
    PASS0
Six gates a machine can checkTwo a person has to closeEvidence lands in .adlc/manifest.jsonl

Explore the phases and gates →

§4 The problem

Eight ways agents fail. None of them human.

Each one is answered by a specific gate at a specific phase, which is the only reason the register is worth writing down.

F1
Premature satisfaction
Declares victory the moment code plausibly compiles.
spec-lint · P1
F2
Sycophancy
Agrees with whatever framing the prompt implies.
prosecute · P5
F3
Context rot
Loses the plot as the session grows.
coldstart · P2
F4
Confident hallucination
Invents APIs, files, and facts with total certainty.
premortem · P1
F5
Reward hacking
Games the check instead of doing the work.
hollow-test · P3
F6
Finding-count prior
Stops at the usual dozen findings, whether or not more exist.
review-calibration · P5
F7
Generative bloat
Writes ten files where a diff would do.
lesson-foundry · P7
F8
Coherence loss
Switches models mid-task and leaves the seams showing.
model-router · P4

See which gate kills each one →

§5 Exhibits

Attached to this record: the gate, the question, and the verdict.

Two of these are refusals. They are here because a record that only attaches its passes is not evidence, it is marketing — and because a gate that never refuses is not a gate. The commands and the exit codes are real; the verdict line under each is the record's own one-line summary of the result, not a verbatim transcript of what the tool prints.

EXHIBIT 5.1Is the spec executable?
adlc spec-lintEXIT 0 — PASS
$ adlc spec-lint ticket.md
✓ PASS: every acceptance criterion names a verification method
EXHIBIT 5.2Are the frozen tests untouched?
adlc rails-guardEXIT 2 — REFUSED
$ adlc rails-guard --base main --ticket T42 --tickets .adlc/tickets.json
✗ FAIL: a frozen rail changed
EXHIBIT 5.3Do the tests detect behavior changes?
adlc hollow-testEXIT 2 — REFUSED
$ adlc hollow-test --test-cmd "npm test" --base main
✗ FAIL: one changed-code mutant survived
EXHIBIT 5.4Would review catch a planted defect?
adlc review-calibrationEXIT 0 — PASS
$ adlc review-calibration --review-cmd "adlc review --base {base}" --plants 3
✓ PASS: planted-defect recall met the configured threshold

All 29 packages, grouped by phase →

§7 Economics

Spend heavy at the ends, light in the middle.

The unit of account is cost per merged, verified change. Not tokens per developer per month.

This is the SDLC inverted, because misbuilding is expensive and building is cheap. Review stops being the bottleneck, and it goes deeper than a human team could sustain anyway. Every merge carries an evidence manifest, so auditors get an answer without an engineer translating. Seniortime goes to the two human gates instead of rubber-stamping diffs. And each run costs a little less than the last, as findings distill into lints and skills nobody has to learn twice.

The lifecycle gets cheaper ↗ADLC vs the enterprise SDLC →

§8 Disposition

Rolling this out across an org?

Unreviewable agent output is an audit problem, not just an engineering problem. ADLC produces a gate-by-gate evidence trail your auditors can actually read, and 6 of the 8 gates need no human in the loop to produce it.

Attestation · P1 Interrogate

Is this what I meant?

SIGNED BY A PERSON
Attestation · P6 Integrate

Is this what I meant, running?

SIGNED BY A PERSON
READ THE ROLLOUT →ATTESTThe other 6 close without one
ADLC gates this repository in its own CI — rails-guard on frozen paths, cross-model attestation on trust-root changes, and a mutation gate that refuses to report a kill rate when the baseline is red. The original essay series ↗This page is laid out as a change record. The commands, exit codes, gate names, and counts are real. The verdict line in each exhibit is this record's one-line summary of the result rather than a verbatim transcript — adlc spec-lint really prints a per-criterion table. ADLC-CR-0001 and its status are an illustrative framing, not a live ticket.
ADLC began as an essay series. Read the original theory at voodootikigod.com ↗MIT · @adlc on npmPrivacy