dev07-6-2-2 · hold a series
What an IT professional does to host their team's run histories: stand a holder up on a box the team already runs, and bound what it may spend of that box. The projects that push to it are in dev07-6 · append the run to the series; the endpoint this flow stands up is the holder an adopter declares there.
dev07-6-2-2-1 stand the holder up Nothing holds it
As an IT professional whose team's histories outgrow their machines I want one service that holds them and hands them back, so that custody is something we run rather than something we owe anybody.
Requirements (10)
- dev07-6-2-2-1-ur1what the holder accepts — routes, the batch cap, which refusal means what — is served from the holder itself
- dev07-6-2-2-1-ur2a store on storage the system clears without warning is named at startup
- dev07-6-2-2-1-sr1it binds to the local interface and expects the host's own proxy for transport security
- dev07-6-2-2-1-sr2a hand-over is appended verbatim and renumbered onto this store's own sequence
- dev07-6-2-2-1-sr3a refusal says which kind it is: too large is split and resent, unreadable is terminal, no room is retryable
- dev07-6-2-2-1-sr4two runs of one project arriving together exclude each other per series, and housekeeping holds the same lock
- dev07-6-2-2-1-nfr1the series surface touches no manifest, fills no slot and moves no story's status
- dev07-6-2-2-1-nfr2it authenticates nobody; what it protects is a disk
- dev07-6-2-2-1-nfr3it depends on the standard library alone — no dependency tree to keep patched, no build step to host
- dev07-6-2-2-1-nfr4the reply never waits for housekeeping; compaction runs after it
dev07-6-2-2-2 set what it may spend Unproven
As an IT professional sharing a volume with things that matter more I want the bounds to be mine, so that holding histories can never take out what else lives on the host.
the citations that passed reached nothing wired — what ran was the implementation on its own, which is not evidence the story holds where it is used
The tests that cite it (1)
tests/test_series.py::test_a_compacted_history_still_answers_when— passed, ungrounded
Requirements (11)
- dev07-6-2-2-2-ur1the headroom left for the rest of the host is the operator's number, read from the disk on every write
- dev07-6-2-2-2-ur2under the reserve the holder stops accepting and never starts discarding
- dev07-6-2-2-2-ur3the pool is one bound over everything held; a pool at or above the whole filesystem is named as no bound
- dev07-6-2-2-2-ur4startup says what is free, what writes are refused under, and the most it will hold
- dev07-6-2-2-2-sr1eviction drops whole series, least-recently-retrieved first — reading a history is what keeps it
- dev07-6-2-2-2-sr2a series already reduced to its record of discard is never an eviction candidate, and its bytes stay counted
- dev07-6-2-2-2-sr3a discarded series is replaced by the record that it was discarded, and a half-written record is never read as the store
- dev07-6-2-2-2-sr4compaction fires on a write once a log stores more than the ratio of what it says, and never fails a held record
- dev07-6-2-2-2-sr5a free-space figure that cannot be read refuses nothing
- dev07-6-2-2-2-sr6compaction keeps when each fact last changed and when the history was last looked at, and reclaims only the changes in between, so a compacted history still answers when
- dev07-6-2-2-2-nfr1the compaction policy lives in one place, and the numbers it needs are asked of the holder