1
00:00:03,000 --> 00:00:12,260
LAYAK — Indonesian for fit to operate. Inspection certificates for cranes, written as Arkiv entities whose lifetime is the validity period.

2
00:00:13,060 --> 00:00:22,300
Same question at the gate: is this crane fit? On a normal database the expired certificate is still a row — one forgotten WHERE clause and it shows green.

3
00:00:23,100 --> 00:00:33,950
On Arkiv the lifetime is the validity. When it lapses, the row no longer exists to be returned. Zero rows means the machine does not move. No date comparison anywhere.

4
00:00:34,750 --> 00:00:43,150
Testing against the regulations found a conflict: the statutory report must be kept for the life of the machine — but the certificate must vanish.

5
00:00:43,950 --> 00:00:54,460
So one riksa uji writes two entities with opposite lifetimes, in one batch. A failed exam writes the record and no certificate — absence is the fail state.

6
00:00:55,260 --> 00:01:06,370
Arkiv executes nothing, and only the owner can extend. Both limits pushed the design somewhere better: a separate Prohibition, a recorded GateCheck, escalation as a new entity.

7
00:01:07,170 --> 00:01:16,990
The queries the product lives on — the gate check is two trivial predicates, and the extension anomaly makes “never extended” a checkable statement, by anyone.

8
00:01:17,790 --> 00:01:28,130
This is not pseudocode. The sketch type-checks with tsc --strict against the published SDK, installed from npm — which corrected the first draft in four places.

9
00:01:28,930 --> 00:01:39,750
Then it is executed: nine invariants against a cited spec of the documented semantics, all passing. One test's first run failed — the test was wrong, the design was right.

10
00:01:40,550 --> 00:01:48,210
Read against the September architecture, 0.8.0-dev: the design gets smaller, and the protocol feedback still stands.

11
00:01:49,010 --> 00:01:59,760
Why Arkiv: the party holding the data is the party the data is about. Expiry must be a guarantee, not a filter. The reader is a stranger. The record must outlive the operator.

12
00:02:00,560 --> 00:02:12,180
The weekend slice: a certificate with a two-minute lifetime. Green. Wait. Refresh. Red — with no code run, no job fired, no date compared. Nothing is deployed.
