Monorepo for Aesthetic.Computer aesthetic.computer
README.md

Instruction flow #

SCORE.md owns shared rules, WORKFLOWS.md owns shorthand definitions, and OPERATIONS.md holds the longer architecture and command recipes. AGENTS.md remains a symlink; root CLAUDE.md imports SCORE.

List or preload a task's guides:

node toolchain/instructions/context.mjs --route piece --path system/public/aesthetic.computer/disks/example.mjs
node toolchain/instructions/context.mjs --route piece --print
node toolchain/instructions/context.mjs --doctor

Routes are explicit task selections plus touched-path matches. Ancestor SCORE/AGENTS/CLAUDE guides are discovered for touched paths; unrelated domains are not recursively loaded. Ant colony rules require the explicit ants route. The doctor reports installed hook paths and whether their bytes match this checkout. It does not install hooks or enforce a new approval step.

Easel's portable authoring manifest lives in easel/src/context.mjs; its bundle generator and runtime share it. JavaScript, KidLisp and Lua select appropriate guides. A nested checkout uses local guides with per-file bundle fallback. Every user turn carries current publish state; toggles during an active turn reach the model on its next turn.

Prox exports carry optional objective/corrections/evidence/pending/next fields, checkout state, and digests of root/ancestor instruction files. These digests are an initial scope snapshot, not a claim that every task-specific guide was read. Resume refreshes the destination and asks the agent to resolve current guides and exposed capabilities. Missing destinations stop before native-store import, and existing native history is preserved. Bundles remain private.

Release writers use a shared remote Lith lock from checkout through rollback, artifact refresh, restart and verification. AC_DEPLOY_ARENA=1 retains that lock through the exact-SHA session-server deployment. Oskiewar additionally uses a common-Git-directory lock around receipt reads/writes. Dry runs do not write receipts. A crashed owner can leave a lock; inspect the recorded owner before removing it. No timer steals ownership.

Lith compares the full remote checkout/marker and public /api/version's seven-character deployed revision. Oskiewar also verifies decoded identity and Brotli source bytes. A receipt records observations at verification time; a later authorized release can replace production. Webhooks without an EXPECTED_COMMIT still select the latest branch head when their transaction starts. Both release entry points must be updated before their shared lock can protect them; older deployed scripts do not acquire it.

Focused validation (no deployment):

node --test toolchain/instructions/context.test.mjs toolchain/release-safety.test.mjs slab/test/prox-handoff.test.mjs easel/test/authoring-context.test.mjs easel/test/context.test.mjs xbox/tools/tests/oskiewar-release.test.mjs xbox/tools/oskiewar-release.test.mjs
node easel/bin/sync-context.mjs --check
fish -n lith/deploy.fish
bash -n lith/deploy-lock.sh
bash -n lith/webhook.sh
bash -n .githooks/post-commit
git diff --check

Validation baseline: slab/test/prox-mcp.test.mjs has seven resolver/Loopboy failures at base commit 799caa12df. All seven were reproduced using the untouched slab/bin/prox-mcp.mjs from that commit. The new handoff tests include an MCP export fixture and run separately from those preexisting failures.