feat(queue): queue as data A1, journal, lock, CLI and verify (#1508)

packages/queue, scripts/queue-commit.sh, scripts/git-hooks and
scripts/test-queue.sh, plus docs/plans/BRIEF-TEMPLATE.md. There is no
queue.json yet, so verify skips until the genesis commit after A2.

Darkwing built it, and Filbert reviewed R0 (6933b885, changes requested)
and r1 (e464be6c, approved). The 20 files match manifest 85a8a453. The
nine suites passed on an index export, including the new queue suite.
test-queue.sh joins the suite list in AGENTS.md. Lead decisions 20, 23
and 26.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-09-26 19:07:48 -05:00
co-authored by Claude Opus 5.5
parent 91df7d6b54
commit 34a72af912
32 changed files with 11592 additions and 1 deletions
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
# Mosaic queue guard (docs 8.12). Installed as .git/hooks/pre-commit by
# `scripts/queue-commit.sh --install-hook`; never edit the installed copy.
# It refuses any commit whose index entries for the queue's two files differ
# from HEAD's. Only scripts/queue-commit.sh commits them, through
# commit-tree, which runs no hooks. Any failure of the check refuses too.
if git diff --cached --quiet HEAD -- docs/plans/queue.json docs/plans/QUEUE.md; then
exit 0
fi
echo "mosaic queue guard: refused: this commit would change docs/plans/queue.json or docs/plans/QUEUE.md; only scripts/queue-commit.sh commits them" >&2
echo "fix: git reset -q -- docs/plans/queue.json docs/plans/QUEUE.md" >&2
exit 1