Imported from dylanebert/agentic-engineering (
AGENTS.md). Install upstream withnpx skills add dylanebert/agentic-engineering. Copyright stays with the author.
Agentic Engineering consumer contract
The active root is an application: it supports the uncommitted local source override and immutable candidate staging. There is no saved link, local directory, short ref, mutable tag, or artifact stage. Stable published exit is not admitted until a compatible Shallot release exists.
Entry and carrier
The installed shallot bin is the carrier for this repository's warranted Shallot
population. Use these commands; they never reach a host checkout or a private
node_modules/@dylanebert/shallot/src or scripts path:
"$BUN" run list
"$BUN" run test
"$BUN" run check
"$BUN" run workflow
The carrier's fixed public-capture row is separate from the application's Svelte,
TypeScript, build, Playwright, and product gates. "$BUN" run test -- <args> forwards its
arguments to the carrier; while no integration row exists, --integration --all is
refused there with selector matched no integration rows, the expected answer. The independent
gates include bun run build, bun run hero, bun run runtime,
bun run instrument, and bun run shot; general Playwright evidence is diagnostic and is
not a Shallot frame claim.
Instrument and display/live-engine gates are explicit evidence producers, not edit-loop defaults. Use bun run instrument -- --runtime-witnesses --project <project> --grep <exact-title> for one runtime witness and bun run shot for the independent shot gate; run the full bun run instrument population only when an active spec names it. They remain separate from bun run test.
Live Shallot claims use only public package exports and the public
captureFrame contract: final-canvas 1280x720@1 rgba8-tight. Capture drivers fix that
geometry and record real Chromium adapter identity. Missing WebGPU, a software/fallback
adapter, missing display, or missing build output refuses; no CPU reconstruction,
private source import, copied transport, or unsupported state is evidence. Frozen
experiment records under examples/**/evidence are historical general Playwright and
agent evidence.
Identity proof and state transitions
Record producer and consumer HEAD/dirt, then SHA-256 hashes of package.json and
bun.lock. Local entry runs bun link in the Shallot producer and
bun link @dylanebert/shallot --no-save here. The installed package realpath must equal
the producer, while manifest and lock hashes remain unchanged. Exit local state with
bun install --force --frozen-lockfile --cache-dir <new-empty-cache>, prove the realpath
is no producer path and the manifest, lock, installed metadata, and full SHA agree, then
rerun the focused gate. Candidate staging uses a newly empty explicit cache and
bun install --frozen-lockfile --cache-dir <cache>; source identity is the complete
40-hex SHA in both manifest and lock. Temporary caches, packs, captures, and generated
projects belong under /tmp.