AV production & rental · build status
Inventory, availability, maintenance and the feasibility gate for AV production. Generated from the build ledger, never hand-edited.
T1 – T4 · 4 slices
4 complete
T5 – T9 · 5 slices
5 complete
T10 – T15 · 6 slices
5 complete · 1 blocked
T16 – T19 · 4 slices
4 not started
T20 – T21 · 2 slices
2 not started
T22 – T23 · 2 slices
2 not started
T24 – T29 · 6 slices
6 not started
T30 – T32 · 3 slices
3 not started
| Slice | Name | Status | The ledger’s note |
|---|---|---|---|
| Phase 1 — Foundation | |||
| T1 | Scaffold, tokens, health fingerprint 657e9f1 · 2026-08-02 | complete | verify-T1.sh exits 0. Design system pinned at 12 files |
| T2 | Company, warehouse, audit 1786b78 · 2026-08-02 | complete | verify-T2.sh exits 0, 63 checks since T3 amended its API section. Independently confirmed by the coordinator. membership moved to T3 — D-030 |
| T3 | Authentication and authorisation 2e903ec · 2026-08-02 | complete | verify-T3.sh exits 0, 111 checks. membership landed here — D-030 |
| T4 | Taxonomy, configuration, demo fixture aae99dc · 2026-08-03 | complete | verify-T4.sh exits 0, 79 checks. Jurisdiction demo only — D-053, Q-001. Fixture is layered; later slices append — D-056 |
| Phase 2 — Inventory and the warehouse | |||
| T5 | Job, phases, client 4c8a25d · 2026-08-03 | complete | verify-T5.sh exits 0, 72 checks. The occupancy window is a stored range held equal to its phases by a deferred guard — D-064. Ladder seeded with the eight stated moves only — D-067, Q-023 |
| T6 | Catalogue ec2e175 · 2026-08-03 | complete | verify-T6.sh exits 0, 75 checks. 97 products, bulk 52 > serialised 45 — D-076. Rate history immutable once in force — D-077. Kit rates belong to T8 — D-078, Q-026 |
| T7 | Assets, bulk stock, warehouses see merge · 2026-08-03 | complete | verify-T7.sh exits 0. 476 units, 104 bulk lines · 7 196 units. Three distinct money figures — cost, book value (labelled estimate), declared at list. One hoist examination-overdue, two units firmware-unresolved, both deliberate fixture state for T12/T14. Slice built by an agent that hit the usage limit before the browser check and the ledger; the coordinator completed both |
| T8 | Kits, containers, dependencies a45f081 · 2026-08-03 | complete | verify-T8.sh exits 0, 103 checks. The worked example's two package rates land here — 82 000 and 14 000 — and with T6's five product lines reproduce the 1 263 000 equipment gross. A kit's price is not the sum of its parts — D-088, asserted as an inequality against the components' 138 040. Kits nest, cycles refused at write time, depth limits are configuration — D-093 |
| T9 | ★Prep screen, scanning, movements a291178 · 2026-08-03 | complete | verify-T9.sh exits 0, 92 checks. D-020 taken: the scan key is opaque and customer-supplied, and the GS1 identifier is an optional attribute that nothing in the scan path reads. 200 scans across a killed API, replayed from the start, land as exactly 200. The verdict lives in the DATABASE with the session locked — D-094, R12 |
| Phase 3 — The signature modules | |||
| T10 | ★M2 Venue Playbook d55ccc5 · 2026-08-03 | complete | verify-T10.sh exits 0, 133 checks. Validity is DERIVED, never stored — proved by hashing av.playbook_fact before and after a change event that voids 12 facts. All six lines of [03c §7](03c-playbook-addendum.md). The venue leg ships and is persisted; the gate is still T14's |
| T11 | ★Availability engine ed59d6e · 2026-08-03 | complete | verify-T11.sh exits 0, 124 checks. Two mechanisms, both raced for real: a serialised second write refused by commitment_no_double_book, a bulk second writer that waited on the row lock and refused by name. The fixture's competing job makes the trough real — 0 free swept against 2 at the endpoints. D-084 landed here — D-122. A shortfall is DATA, not an error — D-119, 0017 |
| T12 | ★M3 Maintenance and inspection e9bb034 · 2026-08-03 | complete | verify-T12.sh exits 0, 109 checks. The wedge holds end to end against the demo fixture: a blocking fault raised at Wednesday's check-in takes the cabinet out of Friday's supply (39 → 38), and a named exception is raised Thursday morning with 22 hours of notice — with the hold still firm and the job unmoved. Hungary seeded for real (Q-046). Two corrections found by the verification and shipped as 0020 and 0021 |
| T13 | Sub-rental, holds, suppliers, POs 641afc9 · 2026-08-03 | complete | verify-T13.sh exits 0, 108 checks. A2 is structural in three places: a foreign key, av.commitment_guard and av.subhire_guard — it takes three separately refused acts to make an unconfirmed sub-hire count. The fixture carries BOTH cases and the verification proves them against each other: the console enquiry contributes 0 and the job is short by 1, and accepting its purchase order inside a rolled-back transaction moves the number to 0. A1 ships as two columns — D-140. Q-045 ANSWERED, D-121 confirmed — D-138. The worked example's 117 000 / 158 400 / 41 400 / 2614 bp reproduces through av.subhire_margin |
| T14 | ★M1 Feasibility Gate | blocked | Protected. BLOCKED on T18 — D-019 and absolute rule 11. Three of its four legs exist (T11 equipment, T12 condition, T10 venue); the labour leg is T18's and does not exist. A gate that silently omits a leg is worse than no gate |
| T15 | ★M4a Rate card and quote a280add · 2026-08-03 | complete | Protected. verify-T15.sh exits 0, 86 checks. D-100 landed: depreciation and service are allocated PER ASSET and the flat 8% is retired — 76 243 → 76 845, and the margin variance did not move. Q-012 ANSWERED. The Danube quote reproduces 1 953 340 / 527 402 / 2 480 742, cost 815 945, margin 1 137 395. Two pricing paths, sub-hire as a cost inside its line, the total asserted equal to the sum of the lines by a DEFERRABLE trigger. Q-054 ANSWERED — a 30 s client timeout over a 27.9 s sweep, not a race |
| Phase 4 — Crew | |||
| T16 | People, skills, certifications | not started | — |
| T17 | Availability, requirements, offers | not started | — |
| T18 | ★Labour rule engine | not started | Protected |
| T19 | Call sheets, timesheets, crew app | not started | — |
| Phase 5 — Money and execution | |||
| T20 | ★M4b Settlement and variance | not started | Protected |
| T21 | Form engine, guided procedures, QC | not started | — |
| Phase 6 — The ecosystem | |||
| T22 | event.clinic couplings | not started | — |
| T23 | Technical requirement draft | not started | — |
| Phase 7 — Depth | |||
| T24 | Dashboards, transport, templates | not started | — |
| T25 | Invoicing, currency, tax, signature | not started | — |
| T26 | Asset P&L, utilisation, capex | not started | — |
| T27 | RFID, cross-hire, stocktake | not started | — |
| T28 | Import, export, onboarding | not started | — |
| T29 | Safety, risk, travel, payroll export | not started | Q-003 gates 13.3 reaching a shared DB |
| Phase 8 — The suite | |||
| T30 | Procurevent RFP, Estate coupling | not started | Will be partial until Q-005 — 07 §3.2 |
| T31 | Frameworks, accounting, siblings | not started | — |
| T32 | Search and public API | not started | — |
scripts/verify-T<n>.sh
that exits 0 against the code as committed; a slice whose script has not
exited 0 in a single run is not complete here, whatever else was built.
T14 is deliberately blocked, not late: three of its four legs exist and the labour leg is T18's. A gate that silently omits a leg is worse than no gate.
for f in scripts/verify-T*.sh; do bash "$f" local || { echo "FAILED: $f"; break; }; done
# 1 · API worker cd ~/Documents/av-management/api && npm run dev # 127.0.0.1:8795 # 2 · console app cd ~/Documents/av-management/app && npm run dev # :5179 # prove a slice on the committed tree cd ~/Documents/av-management && bash scripts/verify-T13.sh local
Rigfold holds the current screen in React state, so the URL never changes and there are no deep links. Open the root and navigate in-app; a reload always returns to Overview. Worth fixing — a screen you cannot link to is a screen you cannot send to anyone.
demo only