Kairos — Time Ledger Caveats
What
time_ledger.pycannot say about itself. Read this before quoting any Kairos hour or euro figure to Lee, Šaras, Robertas or an invoice. The instrument is honest about what it detects; these are the three things it cannot detect, so they live here instead of nowhere.
Read the number from the instrument, never from a document
python3 90-system/skills/kairos-sync/scripts/time_ledger.py report --since "2026-08-10T00:00:00+03:00"
Any hour figure written into a note — including this one — is a snapshot that stops being true the moment the next clock closes. The ledger at 90-system/agent-state/kairos-time/events.jsonl is the record; a document quoting it is a copy.
Caveat 1 — the headline total is permanently withheld, and closing the clocks will not release it
Three lee supervised intervals exceed the 16-hour guard and are marked INVALID: 019f950b, 019fdcd3, 019fdc77 — all Codex-side. The report therefore prints MEASUREMENT WITHHELD for Lee occupied and session load, and gives a known-valid figure alongside.
Closing an invalid clock does not rehabilitate it. 019fdc77 was already closed and is still invalid. time_ledger.py has no void operation and Lee decided on 2026-08-11 not to build one — prevention at source beats retrospective correction. Unless Talos produces session evidence that lets those three intervals be reconstructed, they stand as permanent acknowledged artifacts. Do not tell anyone a certified all-time total is coming. The defensible number is the known-valid one, quoted with its name.
Caveat 2 — session load is inflated by roughly 3.58h, on purpose
On 2026-08-10 a correction entry duplicated meeting and adjustment records a sibling session had already filed. The cause was a hand-rolled reader matching start/end while manual entries use started_at/ended_at, so the existing record read as absent.
Occupied wall time is unaffected — it is a union of intervals and dedupes overlap. Session load is a sum, so it double-counts. No numeric adjustment was filed deliberately: an adjustment subtracts from occupied, which would corrupt the billing figure to cosmetically repair a load metric. So occupied is billable and sound; session load since 2026-08-10 is an upper bound, not a measurement.
Caveat 3 — the cap is combined, but only half of it is instrumented
The terms (Kairos — MASTER STATE.md, corrected 2026-07-24) are €50/hour per team member with a 200 combined-hour monthly cap, unless Robertas suggests or approves another.
Two things follow that are easy to get wrong:
No split is defined — and the even split was explicitly superseded. The 07-23 proposal did say 100 hours each; Šaras's 07-24 correction replaced that with 200 combined and allocated nothing (MASTER STATE insight 32). The "split evenly → Lee ~100h → ~€5k/mo" figure still in MASTER STATE sits inside a tax analysis and carries the retired wording as an assumption, not a term. Treat any per-person half as Lee's planning convenience, never as an entitlement he can point at.
Šaras has no clock. Every event in the ledger carries actor: lee or an agent; Šaras appears only as a subject inside notes. So the combined pool cannot be measured — only Lee's contribution to it. At Day 1's 7.15h, Lee alone reaches 100h in about fourteen working days; if Šaras is logging at any comparable rate the combined 200 arrives sooner than either side would notice, and the first signal would be an invoice dispute.
Raising the split with Robertas before the cap is approached is Lee's call and Lee's send.
Related
Kairos — MASTER STATE · ledger 90-system/agent-state/kairos-time/events.jsonl · script 90-system/skills/kairos-sync/scripts/time_ledger.py · canon 90-system/skills/kairos-sync/SKILL.md
Ownership: the ledger machinery is Talos's (90-system/domain-table.md); every published figure is Lee's. No agent sets a number that reaches Lee or Šaras.