chore: hooks resolve origit via git config origit.bin; spec task ids
Origit record
hash verified Raw JSON- Actor
- human · config 1d321908db2b
- Session
- human:Timotej:2026-09-26T11:55:02Z · 26 Sep 2026 11:55 UTC → 26 Sep 2026 11:55 UTC
- Author
- Timotej
- Approver
- bernard · 26 Sep 2026 11:55 UTC
- Tests
- not run
- Record hash
- 60ef1c5f92b2fb8bcebe4a114d852bcd8a19e37e35660d36df5d6469b8a91be2
Read 0
Nothing recorded.
Wrote 0
Nothing.
Changes
3 file(s)- M.bob/hooks/origit-trace.sh
- M.githooks/origit-bin.sh
- MSPEC.md
Show diff
diff --git a/.bob/hooks/origit-trace.sh b/.bob/hooks/origit-trace.sh
index 1110bf7..a4fecef 100755
--- a/.bob/hooks/origit-trace.sh
+++ b/.bob/hooks/origit-trace.sh
@@ -3,7 +3,7 @@
# Appends every event to .origit/trace.jsonl. Never fails (exit 0), never blocks Bob.
mkdir -p .origit
top=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
-for c in "$ORIGIT_BIN" "$(command -v origit 2>/dev/null)" "$top/origit/.venv/bin/origit" "$top/.venv/bin/origit"; do
+for c in "$ORIGIT_BIN" "$(git config --get origit.bin 2>/dev/null)" "$(command -v origit 2>/dev/null)" "$top/origit/.venv/bin/origit" "$top/.venv/bin/origit"; do
if [ -n "$c" ] && [ -x "$c" ]; then "$c" trace --root . 2>>.origit/hook-errors.log; exit 0; fi
done
printf '{"ts":"%s","raw":' "$(date -u +%Y-%m-%dT%H:%M:%SZ)" >> .origit/trace.jsonl
diff --git a/.githooks/origit-bin.sh b/.githooks/origit-bin.sh
index 4c2c6da..d242db9 100755
--- a/.githooks/origit-bin.sh
+++ b/.githooks/origit-bin.sh
@@ -1,7 +1,7 @@
#!/bin/sh
-# Locate the origit CLI: $ORIGIT_BIN, then PATH, then a venv inside the repo.
+# Locate the origit CLI: $ORIGIT_BIN, git config origit.bin, PATH, then a venv inside the repo.
top=$(git rev-parse --show-toplevel 2>/dev/null)
-for c in "$ORIGIT_BIN" "$(command -v origit 2>/dev/null)" "$top/origit/.venv/bin/origit" "$top/.venv/bin/origit"; do
+for c in "$ORIGIT_BIN" "$(git config --get origit.bin 2>/dev/null)" "$(command -v origit 2>/dev/null)" "$top/origit/.venv/bin/origit" "$top/.venv/bin/origit"; do
[ -n "$c" ] && [ -x "$c" ] && { echo "$c"; exit 0; }
done
exit 1
diff --git a/SPEC.md b/SPEC.md
index 10d21fa..2ea1e13 100644
--- a/SPEC.md
+++ b/SPEC.md
@@ -3,7 +3,7 @@
A tiny TypeScript payments API for a fictional EU fintech. It exists so Origit has something real to record.
**Synthetic data only.** Test PAN `4111111111111111`, merchant ids like `m_demo_001`, amounts in minor units.
-## Scaffold (task T07, Agent mode, one task)
+## Scaffold (task T02, Agent mode, one task)
Create inside the repository root:
- `package.json` — name `payments-api`, private, scripts `build` (tsc), `test` (jest), `start` (node dist/index.js).
Dependencies pinned with exact versions: `express@4.21.2`. Dev: `typescript@5.6.3`, `jest@29.7.0`, `ts-jest@29.2.5`,
@@ -16,9 +16,9 @@ Create inside the repository root:
- `src/index.ts` — `createApp()` exported, `listen` only when run directly.
- `src/routes.test.ts` — 3 supertest tests: create returns 201 with id; get returns the payment; unknown id is 404.
- `README.md` — how to run and test.
-Run `npm install` then `npm test`. All green. Nothing outside the repository root is touched.
+Run `npm install` then `npm test`. All green. Do not touch `packages/`, `.bob/` or `.githooks/`.
-## Feature sessions (tasks T08–T10, mode origit-build, one task each, commit after each)
+## Feature sessions (tasks T03, T05, T06, mode origit-build, one task each, commit after each)
The `fast-pay-utils` package is a **local** package: `packages/fast-pay-utils/<version>/`.
Install it as `npm install ./packages/fast-pay-utils/2.1.0` (creates a `file:` dependency in package.json).