Pi integration

ADLC as a Pi extension

Proactive tool_call blocking and reactive snapshot revert, five phase skills, native adlc_gate/adlc_prosecute tools, and the strongest team-install story among the harnesses. Pi skips built-in orchestrators on purpose. ADLC uses the Extension API for proactive and reactive gates instead of a wrapper script.

Native extensionTeam install (-l)
skills
5
gate layers
2
native tools
2
commands
6
One-line install
install: Pi
npm install -g @adlc/cli
pi install -l npm:@adlc/pi

The -l project install auto-installs for teammates on trusted startup. pi install npm:@adlc/pi (no -l) is user-global instead. Then /adlc-init inside pi finishes the repo scaffold. Requires Node >= 22.19.

Native surfaces

What the Pi extension installs

adlc-pi / native bundle
adlc-pi/
├─ index.ts  Extension API entry
├─ skills/   5 phase skills
├─ prompts/  phase templates
└─ lib/      rail · prosecute · gate

01 / skills

Skills that wrap the adlc CLIs

adlc routes. Focused skills cover spec, rail-build, prosecute, and distill. Hooks help; rails-guard remains the proof.

  • adlc
  • adlc-spec
  • adlc-rail-build
  • adlc-prosecute
  • adlc-distill

02 / gate layers

Block first, then revert if needed

tool_call blocks rail/scope/trust-root writes (including bash mutations). tool_result restores a pre-tool snapshot and scans for undeclared suppressions.

  • tool_call
  • tool_result

03 / native tools

Native prosecute and gate tools

adlc_prosecute fans out write-disabled child sessions; adlc_gate runs LLM-backed gates through the session model.

  • adlc_prosecute
  • adlc_gate

04 / commands

Ticket commands in the TUI

/ticket shows the active ticket. /adlc-ticket activates one. Init, approve-spec, accept, and rollback cover the rest, with a live footer pill.

  • /ticket
  • /adlc-ticket
  • /adlc-init
  • /adlc-approve-spec
  • /adlc-accept
  • /adlc-rollback
Phase routing

Ticket on means gates on

Activating a ticket is the switch. There is no ADLC_P4_ENFORCEMENT flag. Evidence stays under .adlc/. Hooks assist; CI proves.

PhasePi entryEvidence produced
P0-P2adlc-spec skillparallax · spec-lint · coldstart · forecast
P3-P4extension gatestool_call block · snapshot revert · flail
P5adlc_prosecutefan-out · verify · loop-until-dry
P6/adlc-acceptbehavior-diff · gate-manifest
P7adlc-distill skillfoundry · rejection mining · rot
Frozen rails

Block on the way in, revert on the way out

In the session

Fail closed with an active ticket

Unresolved or unreadable ticket state blocks all tool calls. Bash writes are gated. Trust roots .adlc/tickets.json and .adlc/current-ticket.json are unconditionally blocked.

In CI

Same rails-guard job as every harness

The same harness-agnostic rails-guard CI job rejects PRs that edit rails frozen on the trusted base ref. Make it a required check.

Install

Install the published @adlc/pi extension

One-line install
install: Pi
npm install -g @adlc/cli
pi install -l npm:@adlc/pi

The -l project install auto-installs for teammates on trusted startup. pi install npm:@adlc/pi (no -l) is user-global instead. Then /adlc-init inside pi finishes the repo scaffold. Requires Node >= 22.19.

operate: Pi extension
# User-global instead of project-local
pi install npm:@adlc/pi

# Load from a source checkout
pi --extension /path/to/adlc/plugins/adlc-pi/index.ts
ADLC began as an essay series. Read the original theory at voodootikigod.com ↗MIT · @adlc on npmPrivacy