internal/

directory
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2026 License: MIT

Directories

Path Synopsis
Package atomicfile writes a file atomically: a reader opening or reading the file sees either the old content or the new content in full, never a part of either.
Package atomicfile writes a file atomically: a reader opening or reading the file sees either the old content or the new content in full, never a part of either.
Package bounded is the one shape every listing in this repo prints, and the reason it exists is an incident: a line running on a 260K-context model died reading a single 674-line return from a verb that lists its state.
Package bounded is the one shape every listing in this repo prints, and the reason it exists is an incident: a line running on a 260K-context model died reading a single 674-line return from a verb that lists its state.
Package buildinfo answers one question in one place: WHICH BUILD IS THIS.
Package buildinfo answers one question in one place: WHICH BUILD IS THIS.
Package bus is the machinery under nova-bus: the bus's participant config, the note header, the id, the answered rule, the receipts file, and the push protocol.
Package bus is the machinery under nova-bus: the bus's participant config, the note header, the id, the answered rule, the receipts file, and the push protocol.
Package cairn is the mechanical half of nova-cairn, the optional checkpoint tool from nova-tools #248.
Package cairn is the mechanical half of nova-cairn, the optional checkpoint tool from nova-tools #248.
Package cardhdr is the card header's vocabulary: the kinds and routes a card's KIND and ROUTE lines may carry, and the one reader of a `KEY: value` header line.
Package cardhdr is the card header's vocabulary: the kinds and routes a card's KIND and ROUTE lines may carry, and the one reader of a `KEY: value` header line.
Package check implements six of the nine record-layer checks behind nova-check; the other three live elsewhere because none is about one self repo.
Package check implements six of the nine record-layer checks behind nova-check; the other three live elsewhere because none is about one self repo.
ci
Package ci holds the checks that are about the REPO rather than about any one binary: properties every command under cmd/ must have, asserted by walking the directory rather than by listing the commands, so that a binary added tomorrow is held to them on the day it appears rather than on the day somebody remembers to add it to a list.
Package ci holds the checks that are about the REPO rather than about any one binary: properties every command under cmd/ must have, asserted by walking the directory rather than by listing the commands, so that a binary added tomorrow is held to them on the day it appears rather than on the day somebody remembers to add it to a list.
allowlist
Package allowlist is the one reader and the one writer of the exception lists the class tests in internal/ci keep under internal/ci/testdata (nova-tools#4339).
Package allowlist is the one reader and the one writer of the exception lists the class tests in internal/ci keep under internal/ci/testdata (nova-tools#4339).
functional
Package functional is the machine behind cmd/nova-ci's `functional` verb: which of a change's packages carry functional tests, and which tests those are.
Package functional is the machine behind cmd/nova-ci's `functional` verb: which of a change's packages carry functional tests, and which tests those are.
slowtests
Package slowtests is the machine behind cmd/nova-ci's `slowtests` verb in docs/SPEC-CI.md, "The per-package test time budget".
Package slowtests is the machine behind cmd/nova-ci's `slowtests` verb in docs/SPEC-CI.md, "The per-package test time budget".
timing
Package timing is the machine behind the committed script cmd/nova-ci/timing.go, which prints one pull request's time from open to all-green split into queue, setup and test per job, for the last 200 pull requests of mas-bandwidth/schema and mas-bandwidth/nova-tools (ideas #791).
Package timing is the machine behind the committed script cmd/nova-ci/timing.go, which prints one pull request's time from open to all-green split into queue, setup and test per job, for the last 200 pull requests of mas-bandwidth/schema and mas-bandwidth/nova-tools (ideas #791).
Package cireceipt is the run receipt the ci-ok job of .github/workflows/ci.yml writes at the end of every run: one ev:github row of the workflow_run shape, sender "runner", appended through internal/ghevent.
Package cireceipt is the run receipt the ci-ok job of .github/workflows/ci.yml writes at the end of every run: one ev:github row of the workflow_run shape, sender "runner", appended through internal/ghevent.
Package civerdict is the one reader of a commit's CI verdict record, ci:<owner/repo>:<head>:<gid>, shared by nova-sprint's land and nova-merge.
Package civerdict is the one reader of a commit's CI verdict record, ci:<owner/repo>:<head>:<gid>, shared by nova-sprint's land and nova-merge.
Package config is nova-config's library: the permanent, non-ephemeral configuration of the fleet, kept in Postgres (schema `config`) and applied into Redis so Redis is always a rebuildable copy (Glenn 2026-09-26: "redis is good as a hot store of data that can be rebuilt"; docs/SPEC-CONFIG.md).
Package config is nova-config's library: the permanent, non-ephemeral configuration of the fleet, kept in Postgres (schema `config`) and applied into Redis so Redis is always a rebuildable copy (Glenn 2026-09-26: "redis is good as a hot store of data that can be rebuilt"; docs/SPEC-CONFIG.md).
Package converge answers one question mechanically: are we converging?
Package converge answers one question mechanically: are we converging?
Package ctxindex is the per-repo context index a card cutter reads so a worker starts from the spec paragraph, the guarding test and the file list instead of exploring for them (nova-tools#2498 S2: an OK card cost 39k-108k input tokens, almost all exploration).
Package ctxindex is the per-repo context index a card cutter reads so a worker starts from the spec paragraph, the guarding test and the file list instead of exploring for them (nova-tools#2498 S2: an OK card cost 39k-108k input tokens, almost all exploration).
An answer is checked against the question that asked it (edges 22 and 23 of the non-author's read of #1327).
An answer is checked against the question that asked it (edges 22 and 23 of the non-author's read of #1327).
questions
Package questions is the one place a typed question lives: its closed answer set, its stopping members, its tamper answer, its evidence bound and truncation rule, its instructions and its criteria, keyed by name and version (deprecated/docs/SPEC-DECIDE.md D3, :757-789).
Package questions is the one place a typed question lives: its closed answer set, its stopping members, its tamper answer, its evidence bound and truncation rule, its instructions and its criteria, keyed by name and version (deprecated/docs/SPEC-DECIDE.md D3, :757-789).
Package dogfood answers one question about a tool that its own tests cannot: has somebody who did not write it actually run it?
Package dogfood answers one question about a tool that its own tests cannot: has somebody who did not write it actually run it?
Package events is the card event stream of nova-tools #2563 and the SQLite fold that is its record: every card transition XADDs one entry to `cards:done`, and one consumer folds the stream into a SQLite file whose views answer "how many, how much, per model, per route, per bench, per day".
Package events is the card event stream of nova-tools #2563 and the SQLite fold that is its record: every card transition XADDs one entry to `cards:done`, and one consumer folds the stream into a SQLite file whose views answer "how many, how much, per model, per route, per bench, per day".
Package fleet holds the machines registry: the one file that says what each machine in the fleet IS, and therefore what may be placed on it.
Package fleet holds the machines registry: the one file that says what each machine in the fleet IS, and therefore what may be placed on it.
state
Package state is the fleet-state verb's one decision: a bench is UP, DOWN or HELD by its heartbeat key and that key's TTL.
Package state is the fleet-state verb's one decision: a bench is UP, DOWN or HELD by its heartbeat key and that key's TTL.
Package fuse is the STATE half of the ingestion fuse: reading and writing the box, the JSON file the two emergency powers live in.
Package fuse is the STATE half of the ingestion fuse: reading and writing the box, the JSON file the two emergency powers live in.
Package gh is the one GitHub client (nova-tools #4343): every REST call a nova-sprint verb makes goes through Client.Do, which counts the call per verb and endpoint in Redis, records X-RateLimit-Remaining, paces writes through one per-second writer, and retries a 403 or 429 secondary limit after its Retry-After instead of surfacing it.
Package gh is the one GitHub client (nova-tools #4343): every REST call a nova-sprint verb makes goes through Client.Do, which counts the call per verb and endpoint in Redis, records X-RateLimit-Remaining, paces writes through one per-second writer, and retries a 403 or 429 secondary limit after its Retry-After instead of surfacing it.
Package ghevent turns one GitHub webhook delivery into one entry on the Redis stream ev:github (nova-tools #2657, #2685).
Package ghevent turns one GitHub webhook delivery into one entry on the Redis stream ev:github (nova-tools #2657, #2685).
wire
Package wire holds the stream identity shared by GitHub event writers and readers.
Package wire holds the stream identity shared by GitHub event writers and readers.
Package goenv builds the environment a tool hands to a child `go` command.
Package goenv builds the environment a tool hands to a child `go` command.
Package hygiene is the one place that answers "is this diff clean", for the accept gate, for the merge lane and for a hand.
Package hygiene is the one place that answers "is this diff clean", for the accept gate, for the merge lane and for a hand.
Package jev is Jev's mechanical passes over one pull request (nova-tools #3631): lint (every typed body line present, once, in its one form), scope (every changed file inside PATHS) and base (the PR targets a trunk, the one its body names).
Package jev is Jev's mechanical passes over one pull request (nova-tools #3631): lint (every typed body line present, once, in its one form), scope (every changed file inside PATHS) and base (the PR targets a trunk, the one its body names).
Package jobs is the job graph of deprecated/docs/SPEC-JOBS.md section 1: typed edges needs and blocks, a seeded graph refused acyclic by validator rule 3, and the mechanical ready set launch reads.
Package jobs is the job graph of deprecated/docs/SPEC-JOBS.md section 1: typed edges needs and blocks, a seeded graph refused acyclic by validator rule 3, and the mechanical ready set launch reads.
Package keyshape recognises the FORM of a key in text a worker produced, so nothing carrying one is pushed to a forge (nova-tools #1814).
Package keyshape recognises the FORM of a key in text a worker produced, so nothing carrying one is pushed to a forge (nova-tools #1814).
Package lanes is deprecated/docs/SPEC-JOBS.md section 5: the four priority lanes a cut writes and a pull drains.
Package lanes is deprecated/docs/SPEC-JOBS.md section 5: the four priority lanes a cut writes and a pull drains.
Package log is the one structured event line every part writes BESIDE the one human line it already writes.
Package log is the one structured event line every part writes BESIDE the one human line it already writes.
Package memindex is the index half of nova-memory: membership in a markdown corpus as a LOOKUP, never a scan.
Package memindex is the index half of nova-memory: membership in a markdown corpus as a LOOKUP, never a scan.
Package merge is nova-merge's engine: the lane's state file, its locks, its records, the one merge predicate and the one pass that applies it.
Package merge is nova-merge's engine: the lane's state file, its locks, its records, the one merge predicate and the one pass that applies it.
Package metrics is the one Prometheus surface the queue verbs share (card nx-g61-promhttp-in-verbs; recut of nova-tools #2720).
Package metrics is the one Prometheus surface the queue verbs share (card nx-g61-promhttp-in-verbs; recut of nova-tools #2720).
metricstest
Package metricstest scrapes a metrics.Set through the handler it registers, so each verb's test reads /metrics the way Prometheus does.
Package metricstest scrapes a metrics.Set through the handler it registers, so each verb's test reads /metrics the way Prometheus does.
nsprint
acl
Package acl is `nova-sprint acl check` (nova-tools #4333): the store's live Redis ACL (ACL LIST, read as the admin user) against the declared rows, one drift line per user whose rules differ.
Package acl is `nova-sprint acl check` (nova-tools #4333): the store's live Redis ACL (ACL LIST, read as the admin user) against the declared rows, one drift line per user whose rules differ.
adopt
Package adopt is the adoption matrix read from Redis receipts (nova-tools #3186, the matrix slice).
Package adopt is the adoption matrix read from Redis receipts (nova-tools #3186, the matrix slice).
beat
Package beat is the one judgement of a friend's presence (nova-tools #4233): a friend is up when its beat, friend:<f>:beat, carries an at under Window old.
Package beat is the one judgement of a friend's presence (nova-tools #4233): a friend is up when its beat, friend:<f>:beat, carries an at under Window old.
benchrole
Package benchrole is the bench registry's role column (nova-tools #3634; Glenn 2026-09-24 6:15 PM: "Studio is for friends.
Package benchrole is the bench registry's role column (nova-tools #3634; Glenn 2026-09-24 6:15 PM: "Studio is for friends.
brief
Package brief renders a child brief from the task record and lints a brief against it (nova-tools#3154 rev 6).
Package brief renders a child brief from the task record and lints a brief against it (nova-tools#3154 rev 6).
capacity
Package capacity implements the machine child-ceiling invariant of spec 2.4: the sum of desired slots over every FRIEND whose machine is m MUST NOT exceed machine:<m>:ceiling, and a bench's share MUST NOT exceed it on its own.
Package capacity implements the machine child-ceiling invariant of spec 2.4: the sum of desired slots over every FRIEND whose machine is m MUST NOT exceed machine:<m>:ceiling, and a bench's share MUST NOT exceed it on its own.
card
Package card is one nova-sprint card attempt.
Package card is one nova-sprint card attempt.
card/harvestcopy
Package harvestcopy is the boundary step of a work copy (nova-tools #4227): the one outward write a bench makes for a consumer copy.
Package harvestcopy is the boundary step of a work copy (nova-tools #4227): the one outward write a bench makes for a consumer copy.
ci
Package ci is the nova-sprint CI verbs (#2756 section 10, nova-tools #2936): a CI pass is a script card, and ci:<repo>:<head>:<gid> is the one verdict record every reader consults.
Package ci is the nova-sprint CI verbs (#2756 section 10, nova-tools #2936): a CI pass is a script card, and ci:<repo>:<head>:<gid> is the one verdict record every reader consults.
consume
Package consume implements the nova-sprint consumers of #2756 4.5.
Package consume implements the nova-sprint consumers of #2756 4.5.
cost
Package cost is `nova-sprint cost import` (nova-tools #3159): a provider's usage export, one CSV file, reconciled per UTC day and written to Redis as `cost:<provider>:<day>` hashes indexed by the `cost:idx` zset.
Package cost is `nova-sprint cost import` (nova-tools #3159): a provider's usage export, one CSV file, reconciled per UTC day and written to Redis as `cost:<provider>:<day>` hashes indexed by the `cost:idx` zset.
deal
Package deal is the reconciler's deal pass (nova-sprint #2756 section 5.3).
Package deal is the reconciler's deal pass (nova-sprint #2756 section 5.3).
digest
Package digest is nova-sprint digest (nova-tools#3158): what landed, which holds were routed and which reads were scored in a window [since, until), read from three Redis sources only (THE BOUNDARY, 2026-09-25):
Package digest is nova-sprint digest (nova-tools#3158): what landed, which holds were routed and which reads were scored in a window [since, until), read from three Redis sources only (THE BOUNDARY, 2026-09-25):
disposition
Package disposition is the one strict parser for typed review lines (nova-tools #3092 rev 7): `DISPOSITION who=<f> head=<sha40> verdict=<APPROVE|HOLD> score=<k>` and `REPAIR who=<f> head=<sha40> ready=<true|false>`, and the read rubric's `SCORE who=<f> head=<sha40> score=<k>[/10]` and `HOLD who=<f> head=<sha40> [score=<k>]` (#3612), each with an optional `:` inline tail.
Package disposition is the one strict parser for typed review lines (nova-tools #3092 rev 7): `DISPOSITION who=<f> head=<sha40> verdict=<APPROVE|HOLD> score=<k>` and `REPAIR who=<f> head=<sha40> ready=<true|false>`, and the read rubric's `SCORE who=<f> head=<sha40> score=<k>[/10]` and `HOLD who=<f> head=<sha40> [score=<k>]` (#3612), each with an optional `:` inline tail.
file
Package file is `nova-sprint file` (nova-tools #3089, #2756 spec 4.11, control 50): file an issue or a comment by REST from a body FILE, lint the body before anything is posted, and read the stored body back.
Package file is `nova-sprint file` (nova-tools #3089, #2756 spec 4.11, control 50): file an issue or a comment by REST from a body FILE, lint the body before anything is posted, and read the stored body back.
fleet
Package fleet implements the nova-sprint fleet presence and state machine (#2046).
Package fleet implements the nova-sprint fleet presence and state machine (#2046).
fleetbuild
Package fleetbuild is `nova-sprint fleet build` (#3310): one release, built once on the builder, installed on every bench and on this machine, from the fleet Redis rather than from a script's hardcoded lists.
Package fleetbuild is `nova-sprint fleet build` (#3310): one release, built once on the builder, installed on every bench and on this machine, from the fleet Redis rather than from a script's hardcoded lists.
fn
Package fn assembles and installs the nova-sprint Redis Function library.
Package fn assembles and installs the nova-sprint Redis Function library.
fold
Package fold is `nova-sprint fold <S>` (nova-tools #2618, #2756 sections 0.5 and 4.1): it reads a closed sprint from the store, counts landed, done and useful cards, prices them per route in dollars per useful card and per landed card, writes that record into nova-work as ONE commit, and records the commit's sha on the sprint hash with status folded.
Package fold is `nova-sprint fold <S>` (nova-tools #2618, #2756 sections 0.5 and 4.1): it reads a closed sprint from the store, counts landed, done and useful cards, prices them per route in dollars per useful card and per landed card, writes that record into nova-work as ONE commit, and records the commit's sha on the sprint hash with status folded.
friend
Package friend keeps friend:<f>:state, the friend ladders and the declared wake path (nova-tools #3101; spec #2756 v6 2.2, 4.4, 5.5).
Package friend keeps friend:<f>:state, the friend ladders and the declared wake path (nova-tools #3101; spec #2756 v6 2.2, 4.4, 5.5).
jev
Package jev is the Jev decision ledger (nova-tools #4316, Glenn 2026-09-26 ~11:05 AM ET: "we have Jev, it's cool.
Package jev is the Jev decision ledger (nova-tools #4316, Glenn 2026-09-26 ~11:05 AM ET: "we have Jev, it's cool.
land
Package land provides the lander service state contract, record model, and decision logic over Redis and git (Issue #3139 rev 7).
Package land provides the lander service state contract, record model, and decision logic over Redis and git (Issue #3139 rev 7).
land/fenced
Package fenced is the stream-PR lander of nova-tools #2942 rev 6: nova-sprint land run takes offered stream PRs (stream/<slug> -> <base>) from Redis oldest first, checks four facts at each head H (ci:<repo>:<H> OK, a clean merge with the base tip T, no open typed HOLD at H, a body first line that is not HOLD/BLOCKED), and lands each as one atomic git push of the base fast-forward plus a child fence commit under a lease on refs/nova-land/<base>.
Package fenced is the stream-PR lander of nova-tools #2942 rev 6: nova-sprint land run takes offered stream PRs (stream/<slug> -> <base>) from Redis oldest first, checks four facts at each head H (ci:<repo>:<H> OK, a clean merge with the base tip T, no open typed HOLD at H, a body first line that is not HOLD/BLOCKED), and lands each as one atomic git push of the base fast-forward plus a child fence commit under a lease on refs/nova-land/<base>.
land/guard
Package guard is the merged-tree guard suite (nova-tools #3629): the class checks that caught the 2026-09-24 interaction breaks, PRs green alone and red together, run on one merged tree BEFORE its batch test.
Package guard is the merged-tree guard suite (nova-tools #3629): the class checks that caught the 2026-09-24 interaction breaks, PRs green alone and red together, run on one merged tree BEFORE its batch test.
land/stream
Package stream is the stream lander (nova-tools#3598; the PR records of #3611-#3613): the flow Rowan lands by hand, as verbs with all state in Redis.
Package stream is the stream lander (nova-tools#3598; the PR records of #3611-#3613): the flow Rowan lands by hand, as verbs with all state in Redis.
launch
Package launch is the bench side of a deal pass: `nova-sprint card launch --stdin` (#2756 4.3, #2931).
Package launch is the bench side of a deal pass: `nova-sprint card launch --stdin` (#2756 4.3, #2931).
lessons
Package lessons appends and supersedes reviewed operational lessons in a repository's bounded docs/LESSONS.md active view (nova-tools#2498 S9).
Package lessons appends and supersedes reviewed operational lessons in a repository's bounded docs/LESSONS.md active view (nova-tools#2498 S9).
life
Package life implements the global presence verbs of #2756 v5: a friend's hello/beat/bye/wake and a bench's beat.
Package life implements the global presence verbs of #2756 v5: a friend's hello/beat/bye/wake and a bench's beat.
line
Package line is the typed-line record machinery that is not the parser: the diff digest a read is taken at, and the carry of a typed line across an identical-diff head move (nova-tools #3630).
Package line is the typed-line record machinery that is not the parser: the diff digest a read is taken at, and the carry of a typed line across an identical-diff head move (nova-tools #3630).
mirror
Package mirror keeps a bench's bare --mirror clones under ~/nova-bench/mirror fresh and records each pass in Redis (nova-tools #2922).
Package mirror keeps a bench's bare --mirror clones under ~/nova-bench/mirror fresh and records each pass in Redis (nova-tools #2922).
note
Package note is the MERGE-NOTE record (nova-tools #4324, part 4): the typed lines a merge card ends with (a conflict it resolved, a wrong pattern it found, what the tree now expects), written on the stream's or the sprint's record so the deal pass renders them into every copy's brief at deal.
Package note is the MERGE-NOTE record (nova-tools #4324, part 4): the typed lines a merge card ends with (a conflict it resolved, a wrong pattern it found, what the tree now expects), written on the stream's or the sprint's record so the deal pass renders them into every copy's brief at deal.
pipeerr
Package pipeerr is the one reading of a go-redis pipeline result that misses no command's error (Glenn 2026-09-26: no verb fails silently).
Package pipeerr is the one reading of a go-redis pipeline result that misses no command's error (Glenn 2026-09-26: no verb fails silently).
pitstop
Package pitstop is the sprint pit stop (nova-tools #3371): one Redis hash per sprint, s:<S>:pitstop {by, why, at, scope}.
Package pitstop is the sprint pit stop (nova-tools #3371): one Redis hash per sprint, s:<S>:pitstop {by, why, at, scope}.
pr
Package pr reads the reap fields of one #3139 unit record, s:<S>:u:<unit> (nova-tools#3091 rev 5).
Package pr reads the reap fields of one #3139 unit record, s:<S>:u:<unit> (nova-tools#3091 rev 5).
preflight
Package preflight is `nova-sprint preflight` (#2756 section 7): one line per check, GREEN or RED with its number, and any RED refuses the sprint.
Package preflight is `nova-sprint preflight` (#2756 section 7): one line per check, GREEN or RED with its number, and any RED refuses the sprint.
prkey
Package prkey names the PR record: pr:<name>:<n>, keyed by the bare repository name (nova-tools, rowan-tools), never owner/name.
Package prkey names the PR record: pr:<name>:<n>, keyed by the bare repository name (nova-tools, rowan-tools), never owner/name.
read
Package read builds a friend's read brief from Redis and the bench mirror and stores the typed line the read produces (nova-tools#3599, umbrella #3594: GitHub is a git remote only).
Package read builds a friend's read brief from Redis and the bench mirror and stores the typed line the read produces (nova-tools#3599, umbrella #3594: GitHub is a git remote only).
ready
Package ready is `nova-sprint ready`: the ready antichain and, for one id, the first blocker (nova-tools #3109, #2756 v6 build line v6-51, spec 4.11 and 3.1).
Package ready is `nova-sprint ready`: the ready antichain and, for one id, the first blocker (nova-tools #3109, #2756 v6 build line v6-51, spec 4.11 and 3.1).
reap
Package reap closes stale superseded sprint PRs (nova-tools#3156): nova-sprint pr reap.
Package reap closes stale superseded sprint PRs (nova-tools#3156): nova-sprint pr reap.
reconcile
Package reconcile holds the nova-sprint reconciler's duties (#2756 section 5).
Package reconcile holds the nova-sprint reconciler's duties (#2756 section 5).
redisauth
Package redisauth is the one fleet Redis seat every tool dials with from the environment (#3461): the ACL user and the variable holding its password.
Package redisauth is the one fleet Redis seat every tool dials with from the environment (#3461): the ACL user and the variable holding its password.
route
Package route carries the router's allowed_routes table (#2895): which provider routes a card may run on, per rung (flash, pro) and work type, with the ranking numbers that put each route where it is.
Package route carries the router's allowed_routes table (#2895): which provider routes a card may run on, per rung (flash, pro) and work type, with the ranking numbers that put each route where it is.
spec
Package spec is the specs table in Redis (nova-tools#3370, part of #3364): a typed SPEC line's facts go onto the record pr:<name>:<n> in the same call that stores the line, the second distinct 10 at the current rev moves the spec from specs:<stream>:working to specs:<stream>:done and releases every task waiting on spec:<name>#<n>, and the list reads only Redis.
Package spec is the specs table in Redis (nova-tools#3370, part of #3364): a typed SPEC line's facts go onto the record pr:<name>:<n> in the same call that stores the line, the second distinct 10 at the current rev moves the spec from specs:<stream>:working to specs:<stream>:done and releases every task waiting on spec:<name>#<n>, and the list reads only Redis.
sprint
Sprint plan (#2380 rev 4): one plan file, validated in full, applied in one atomic step by an authorised seat, and readable by any seat.
Sprint plan (#2380 rev 4): one plan file, validated in full, applied in one atomic step by an authorised seat, and readable by any seat.
store
Package store provides the Redis client shared by nova-sprint verbs.
Package store provides the Redis client shared by nova-sprint verbs.
table
clear.go: `nova-sprint table clear` (#3637).
clear.go: `nova-sprint table clear` (#3637).
task
Package task implements the nova-sprint task transitions that are one Redis Function call each: push is create-only (#2756 3.1, control 3) and take claims with an attempt and a fenced token (#2756 4.2, control 4).
Package task implements the nova-sprint task transitions that are one Redis Function call each: push is create-only (#2756 3.1, control 3) and take claims with an attempt and a fenced token (#2756 4.2, control 4).
taskcard
moves.go: the table moves (nova-tools #3929; rowan-new specs/table-moves.md).
moves.go: the table moves (nova-tools #3929; rowan-new specs/table-moves.md).
testutil
Package testutil starts the throwaway Redis the nova-sprint controls share.
Package testutil starts the throwaway Redis the nova-sprint controls share.
testutil/pg
Package pg starts the throwaway Postgres the nova-config functional tests share, the way internal/nsprint/testutil starts a throwaway Redis: initdb and pg_ctl from the binaries on PATH (or the well-known install directories, or NOVA_PG_BIN), a free loopback port, everything under the test's temporary directory, trust authentication, and the cleanup stops it.
Package pg starts the throwaway Postgres the nova-config functional tests share, the way internal/nsprint/testutil starts a throwaway Redis: initdb and pg_ctl from the binaries on PATH (or the well-known install directories, or NOVA_PG_BIN), a free loopback port, everything under the test's temporary directory, trust authentication, and the cleanup stops it.
verbflag
Package verbflag is the one seam every living tool's verbs parse their flags through (#3254; the verb-help rule, the CLI style's rule (b), #4505).
Package verbflag is the one seam every living tool's verbs parse their flags through (#3254; the verb-help rule, the CLI style's rule (b), #4505).
verbs
Package verbs is `nova-sprint verbs unused` (nova-tools #3160): the verbs the dev build ships that nobody ran in the window, read mechanically from the binaries' own help, the use receipts on the sprint streams in Redis and the non-author dogfood receipts, and appended as one entry to verbs:unused:log.
Package verbs is `nova-sprint verbs unused` (nova-tools #3160): the verbs the dev build ships that nobody ran in the window, read mechanically from the binaries' own help, the use receipts on the sprint streams in Redis and the non-author dogfood receipts, and appended as one entry to verbs:unused:log.
webhook
Package webhook is the GitHub leg of CI results in Redis (nova-tools #3597): the check_run and workflow_run deliveries the signed receiver (`nova-post hook`, deprecated/internal/post/hook, #2657) appends to ev:github become ci:<repo>:<sha>:gh, and every reader of a GitHub check state reads that hash.
Package webhook is the GitHub leg of CI results in Redis (nova-tools #3597): the check_run and workflow_run deliveries the signed receiver (`nova-post hook`, deprecated/internal/post/hook, #2657) appends to ev:github become ci:<repo>:<sha>:gh, and every reader of a GitHub check state reads that hash.
ws
epoch.go: THE SPRINT EPOCH (nova-tools#4238; Glenn 2026-09-26 9:25 AM ET: "have a uint64 sequence number that increments, thus, if the numbers from the async things are not the same sequence as current table view, the display is zero").
epoch.go: THE SPRINT EPOCH (nova-tools#4238; Glenn 2026-09-26 9:25 AM ET: "have a uint64 sequence number that increments, thus, if the numbers from the async things are not the same sequence as current table view, the display is zero").
ws/wstest
Package wstest builds the ws index fixtures the ws package and the nova-sprint ws, scope and stream verbs are timed on: a throwaway redis-server (testutil.Start) with the nova_sprint library loaded, and N tasks across S streams written straight into the ws keys.
Package wstest builds the ws index fixtures the ws package and the nova-sprint ws, scope and stream verbs are timed on: a throwaway redis-server (testutil.Start) with the nova_sprint library loaded, and N tasks across S streams written straight into the ws keys.
Package ntable is a general, Redis-backed table built from one primitive: the ordered set (Glenn 2026-09-27: "at an even simpler level, I think there should be a concept of ordered sets" / "The work stream table is really just a series of ordered sets, per-cell" / "and the value printed, happens to be for each cell, |s|" / "(but it doesn't need to be always)").
Package ntable is a general, Redis-backed table built from one primitive: the ordered set (Glenn 2026-09-27: "at an even simpler level, I think there should be a concept of ordered sets" / "The work stream table is really just a series of ordered sets, per-cell" / "and the value printed, happens to be for each cell, |s|" / "(but it doesn't need to be always)").
Package onboarding reads the two things docs/ONBOARDING.md makes every command in this repo carry — the `example:` block at the foot of its usage banner, and its `### First run` section in docs/TESTS.md — and reduces an output line to the part that document promises.
Package onboarding reads the two things docs/ONBOARDING.md makes every command in this repo carry — the `example:` block at the foot of its usage banner, and its `### First run` section in docs/TESTS.md — and reduces an output line to the part that document promises.
Package oneline is the one escape every binary in this repo renders caller-supplied or stored text through before it reaches an event line.
Package oneline is the one escape every binary in this repo renders caller-supplied or stored text through before it reaches an event line.
audit
Package audit is the source-level tripwire behind the one-line guarantee, shared by every binary in this repo.
Package audit is the source-level tripwire behind the one-line guarantee, shared by every binary in this repo.
Package play implements shared reading annotations.
Package play implements shared reading annotations.
Package presence is the friend heartbeat of nova-tools #2610: one hash per friend, written by that friend's window with a TTL, and read by everyone who is about to hand that friend work.
Package presence is the friend heartbeat of nova-tools #2610: one hash per friend, written by that friend's window with a TTL, and read by everyone who is about to hand that friend work.
Package record holds the token ledger: the index of nova-tokens' day TSVs in the fleet Redis, one hash per day (docs/SPEC-STATE.md test 17, #2201).
Package record holds the token ledger: the index of nova-tokens' day TSVs in the fleet Redis, one hash per day (docs/SPEC-STATE.md test 17, #2201).
Package records is the core of the retained token record format: the canonical envelope, exact numeric strings with presence kept, and the structural validation the publisher boundary performs.
Package records is the core of the retained token record format: the canonical envelope, exact numeric strings with presence kept, and the structural validation the publisher boundary performs.
Package redisconn is the one way a nova tool opens its Redis connection.
Package redisconn is the one way a nova tool opens its Redis connection.
Package redisfn builds, loads and checks a Redis function library from Lua source held in a file system, which for a tool is the Lua it embeds.
Package redisfn builds, loads and checks a Redis function library from Lua source held in a file system, which for a tool is the Lua it embeds.
Package redisq is the live-state half of docs/SPEC-STATE.md that a bench uses beside the directory queue: the pull queue built on Redis Streams with one consumer group per stream, the slot lease whose renew and release are a Lua compare-and-release, and the in-flight cap whose admission is one atomic Lua script.
Package redisq is the live-state half of docs/SPEC-STATE.md that a bench uses beside the directory queue: the pull queue built on Redis Streams with one consumer group per stream, the slot lease whose renew and release are a Lua compare-and-release, and the in-flight cap whose admission is one atomic Lua script.
Package release is the last mile: a green commit on main becomes a version, a set of binaries, and the same binaries answering for themselves on every bench in the fleet.
Package release is the last mile: a green commit on main becomes a version, a set of binaries, and the same binaries answering for themselves on every bench in the fleet.
Package safepath is the one way a path this tool COMPUTED is removed.
Package safepath is the one way a path this tool COMPUTED is removed.
The egress wall is the card's OUTBOUND half: the filesystem wall this package builds everywhere else says what a card may read and write, and this file says what it may talk to.
The egress wall is the card's OUTBOUND half: the filesystem wall this package builds everywhere else says what a card may read and write, and this file says what it may talk to.
Package scaffold provides the shared write-confinement and template engine for scaffolding verbs across this repository (nova-tools#2498 S5).
Package scaffold provides the shared write-confinement and template engine for scaffolding verbs across this repository (nova-tools#2498 S5).
Package seatcred resolves a seat's fleet Redis user and password in the process that needs them (nova-tools#4052).
Package seatcred resolves a seat's fleet Redis user and password in the process that needs them (nova-tools#4052).
seattest
Package seattest builds a real nova-secrets store for a test: a git working copy with an upstream, recovery.pub, .sops.yaml and one seat's file sealed by sops to a fresh age key, laid out where internal/seatcred looks by default under a temporary HOME.
Package seattest builds a real nova-secrets store for a test: a git working copy with an upstream, recovery.pub, .sops.yaml and one seat's file sealed by sops to a fresh age key, laid out where internal/seatcred looks by default under a temporary HOME.
Package secrets implements the credential-layer machinery described in docs/SPEC-SECRETS.md.
Package secrets implements the credential-layer machinery described in docs/SPEC-SECRETS.md.
Package selftalk finds first-person claims about what the writer of a text permanently IS or permanently CANNOT do, and classifies each as a dated record or a standing claim.
Package selftalk finds first-person claims about what the writer of a text permanently IS or permanently CANNOT do, and classifies each as a dated record or a standing claim.
Package sprintline is the sprint table's x/y z% -> ~eta line, and nothing else.
Package sprintline is the sprint table's x/y z% -> ~eta line, and nothing else.
Package sprinttable is what keeps the sprint table's refresh alive across a unit restart: ApplyOwnSession puts the refresh in its own session, and AbandonProcessGroup checks the loop plist stops launchd signalling the unit's process group.
Package sprinttable is what keeps the sprint table's refresh alive across a unit restart: ApplyOwnSession puts the refresh in its own session, and AbandonProcessGroup checks the loop plist stops launchd signalling the unit's process group.
Benches: a remote bench reached by ssh, named by one row of a TSV table (deprecated/docs/SPEC-SWARM.md "Benches").
Benches: a remote bench reached by ssh, named by one row of a TSV table (deprecated/docs/SPEC-SWARM.md "Benches").
Package testbin places a built program into a test's directory.
Package testbin places a built program into a test's directory.
Package testguard refuses to let a unit test reach a real host.
Package testguard refuses to let a unit test reach a real host.
Package testpg is a throwaway Postgres for one test, or for one package's tests through its TestMain.
Package testpg is a throwaway Postgres for one test, or for one package's tests through its TestMain.
Package testredis is a throwaway redis-server for one test.
Package testredis is a throwaway redis-server for one test.
Package testverbhelp is the per-tool check of the verb-help rule (the CLI style's rule (b), #4505; internal/nsprint/verbflag is the one seam that implements it): `<tool> <verb> -h` and `--help` print that verb's help on stdout and exit 0, with nothing on stderr, no file written and no dial.
Package testverbhelp is the per-tool check of the verb-help rule (the CLI style's rule (b), #4505; internal/nsprint/verbflag is the one seam that implements it): `<tool> <verb> -h` and `--help` print that verb's help on stdout and exit 0, with nothing on stderr, no file written and no dial.
Package textbody filters line-oriented message bodies without transport, storage, parsing of typed records, or decision policy.
Package textbody filters line-oriented message bodies without transport, storage, parsing of typed records, or decision policy.
Package tokens is the accounting layer: the one message shape every source produces, the one fold over a stream of them, the day file, and the readers for the five declared source kinds.
Package tokens is the accounting layer: the one message shape every source produces, the one fold over a stream of them, the day file, and the readers for the five declared source kinds.
Package typedrec is the one typed parser: the home of every typed line a nova tool reads, the RESULT v2 record and DISPOSITION line first, and the Lua replies (the PATHS gate's refusal) and any other typed line with them.
Package typedrec is the one typed parser: the home of every typed line a nova tool reads, the RESULT v2 record and DISPOSITION line first, and the Lua replies (the PATHS gate's refusal) and any other typed line with them.
Package update implements the shared, explicit version inventory behind nova-update and nova-version.
Package update implements the shared, explicit version inventory behind nova-update and nova-version.
Package wake is nova-wake's machinery: the state file that makes a change a change, the three sources it polls, the view over a bus checkout's commits that says whether a line has gone silent, and the serve loop that wakes a harness from outside a session.
Package wake is nova-wake's machinery: the state file that makes a change a change, the three sources it polls, the view over a bus checkout's commits that says whether a line has gone silent, and the serve loop that wakes a harness from outside a session.
Package worklang is the bounded reader for a `.work` plan (docs/SPEC-WORKLANG.md).
Package worklang is the bounded reader for a `.work` plan (docs/SPEC-WORKLANG.md).
Package yield is the one place a process steps behind CI (nova-tools#4293, Glenn 2026-09-26 ~12:00 PM ET: "CI over work is a permanent setting.
Package yield is the one place a process steps behind CI (nova-tools#4293, Glenn 2026-09-26 ~12:00 PM ET: "CI over work is a permanent setting.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL