AV production & rental · build status

Rigfold

Inventory, availability, maintenance and the feasibility gate for AV production. Generated from the build ledger, never hand-edited.

generated 2026-08-03 20:11 UTC tree 8c16552 (uncommitted changes present) 32 slices from docs/BUILD-LEDGER.md

Overall

44%complete
14 complete1 blocked17 not started 32 total

Phases

Phase 1 — Foundation

T1 – T4 · 4 slices

4 complete

Phase 2 — Inventory and the warehouse

T5 – T9 · 5 slices

5 complete

Phase 3 — The signature modules

T10 – T15 · 6 slices

5 complete · 1 blocked

Phase 4 — Crew

T16 – T19 · 4 slices

4 not started

Phase 5 — Money and execution

T20 – T21 · 2 slices

2 not started

Phase 6 — The ecosystem

T22 – T23 · 2 slices

2 not started

Phase 7 — Depth

T24 – T29 · 6 slices

6 not started

Phase 8 — The suite

T30 – T32 · 3 slices

3 not started

Every module

SliceNameStatusThe ledger’s note
Phase 1 — Foundation
T1Scaffold, tokens, health fingerprint
657e9f1 · 2026-08-02
completeverify-T1.sh exits 0. Design system pinned at 12 files
T2Company, warehouse, audit
1786b78 · 2026-08-02
completeverify-T2.sh exits 0, 63 checks since T3 amended its API section. Independently confirmed by the coordinator. membership moved to T3 — D-030
T3Authentication and authorisation
2e903ec · 2026-08-02
completeverify-T3.sh exits 0, 111 checks. membership landed here — D-030
T4Taxonomy, configuration, demo fixture
aae99dc · 2026-08-03
completeverify-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
T5Job, phases, client
4c8a25d · 2026-08-03
completeverify-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
T6Catalogue
ec2e175 · 2026-08-03
completeverify-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
T7Assets, bulk stock, warehouses
see merge · 2026-08-03
completeverify-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
T8Kits, containers, dependencies
a45f081 · 2026-08-03
completeverify-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
T9Prep screen, scanning, movements
a291178 · 2026-08-03
completeverify-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
T10M2 Venue Playbook
d55ccc5 · 2026-08-03
completeverify-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
T11Availability engine
ed59d6e · 2026-08-03
completeverify-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
T12M3 Maintenance and inspection
e9bb034 · 2026-08-03
completeverify-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
T13Sub-rental, holds, suppliers, POs
641afc9 · 2026-08-03
completeverify-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
T14M1 Feasibility GateblockedProtected. 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
T15M4a Rate card and quote
a280add · 2026-08-03
completeProtected. 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
T16People, skills, certificationsnot started
T17Availability, requirements, offersnot started
T18Labour rule enginenot startedProtected
T19Call sheets, timesheets, crew appnot started
Phase 5 — Money and execution
T20M4b Settlement and variancenot startedProtected
T21Form engine, guided procedures, QCnot started
Phase 6 — The ecosystem
T22event.clinic couplingsnot started
T23Technical requirement draftnot started
Phase 7 — Depth
T24Dashboards, transport, templatesnot started
T25Invoicing, currency, tax, signaturenot started
T26Asset P&L, utilisation, capexnot started
T27RFID, cross-hire, stocktakenot started
T28Import, export, onboardingnot started
T29Safety, risk, travel, payroll exportnot startedQ-003 gates 13.3 reaching a shared DB
Phase 8 — The suite
T30Procurevent RFP, Estate couplingnot startedWill be partial until Q-005 — 07 §3.2
T31Frameworks, accounting, siblingsnot started
T32Search and public APInot started

What “done” means here

Done means a verification script exited zero on the committed tree. Not that somebody opened the screen and it looked right, and not that an agent reported success. Every slice marked complete above has a script named 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.

Run every gate at once:
for f in scripts/verify-T*.sh; do bash "$f" local || { echo "FAILED: $f"; break; }; done

Run it locally

# 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.

Screens with data

Screen
Open at
What is on it
Overview
entry point
http://localhost:5179/
Landing screen. Everything else is reached from the left nav
Jobs
T5 · data
left nav → Jobs
Jobs, phases and clients; the occupancy window held equal to its phases by a deferred guard
Clients
T5 · data
left nav → Clients
Client records behind the jobs
Catalogue
T6 · data
left nav → Catalogue
97 products; bulk 52 > serialised 45; rate history immutable once in force
Kits
T8 · data
left nav → Kits
Kits nest, cycles refused at write time. A kit's price is not the sum of its parts
Fleet
T7 · data
left nav → Fleet
476 units, 104 bulk lines · 7 196 units, three distinct money figures
Warehouses
T7 · data
left nav → Warehouses
Warehouse structure and bulk stock
★ Prep
T9 · signature
left nav → Prep
Scanning and movements. 200 scans across a killed API replay as exactly 200
★ Availability
T11 · signature
left nav → Availability
The trough is real: 0 free swept against 2 at the endpoints. A shortfall is data, not an error
★ Maintenance
T12 · signature
left nav → Maintenance
A blocking fault at Wednesday's check-in takes the cabinet out of Friday's supply (39 → 38)
Sub-rental
T13 · data
left nav → Sub-rental
A2 structural in three places; the console enquiry contributes 0 and the job is short by 1
★ Venues
T10 · signature
left nav → Venues
M2 Venue Playbook. Validity is derived, never stored
Team
T3 · data
left nav → Team
People and membership
Configuration
T4 · data
left nav → Configuration
Taxonomy and jurisdiction; demo only
Feasibility gate
blocked
does not exist yet
Not built — T14 is blocked on T18. Nothing to open