package manager: torb audit #23
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Readiness lists
auditamong the package manager's commands (CONCEPT:torb auditchecks the locked graph). This issue builds the part the registry index already carries: yanked and deprecated versions. The advisory database ("advised-against" versions) does not exist yet and is split off into #309.Source
Acceptance criteria
torb audit [--project <directory>]readsproject.lock.trb(never writes it) and, for every locked registry package (direct and transitive;path:packages are skipped), fetches and verifies its index astorb adddoesdeprecatenotice is reported with itsusepackage and reasoncompiler/tests/over afile:registry fixture: clean lock, yanked pin, unyanked pin, deprecated package, transitive finding,path:package skipped, missing locktorb auditappears in the usage text (compiler/src/cli/usage.trb), dispatch (compiler/src/main.trb) and the command table ofdocs/tooling/the-torb-command.mddocs/tooling/torb-audit.md(frontmatter per the other tooling pages, listed indocs/tooling/index.md, related links fromtorb-yank.mdandtorb-deprecate.md);skills/regeneratedSeed impact
None expected: TorbScript code in
compiler/src/cliandcompiler/src/packageonly, no new native, no syntax change, no driver flag, no std name looked up by string.Size
One PR, one or two Conventional Commits (
feat(cli): add torb audit,docs(tooling): document torb audit).Dependencies
None open. The advisory database part is #309 (blocked on an owner decision).
Moved from the planning lists of the docs; the design record stays the specification.
[loop:torbscript] intake: in scope (author orion, label loop).
torb auditper RELEASE.md readiness; client only, no collision with CONCEPT "Open Questions", no seed impact expected. Where the advisory data comes from (index field) is to settle in refine, possible owner decision. Release freeze for 0.1.0 (2026-10-06) holds new PRs, next: refine (queued)[loop:torbscript] refine: still queued behind the intake order. next: waiting (ready buffer full: #4, #163, #164, #223 are ready) until 2026-10-10T04:00:00Z
[loop:torbscript] claim refine by session:loop-torbscript-20261012 until 2026-10-12T08:53Z
[loop:torbscript] release refine: worker aborted before any work (model profile anthropic:theorben hit its weekly limit, resets 2026-10-13 22:00 Berlin). Nothing left half done; the next tick re-dispatches on another profile.
[loop:torbscript] release: the worker on anthropic:theorben died on its weekly limit before its first reply; respawning on the next profile.
[loop:torbscript] claim refine by session:loop-torbscript-20261012 until 2026-10-12T08:58Z
torb auditadvisory database #309[loop:torbscript] decided by the loop: (1) Scope: this issue covers what the index already carries, yanked versions and deprecated packages. "Advised-against" has no data source yet (RELEASE.md 7.6 describes an advisory repository that does not exist), so it is split into #309, which needs an owner decision before it can be ready (a public repository is an external commitment). (2) Data source: the same verified index fetch
torb adduses (fetchIndex+verifiedIndex), no new network protocol. (3) Exit codes: 0 clean, 1 findings, 2 usage or fetch/verify failure (findings are not a refusal, so they get their own code, usage keeps 2 as inyank). (4) Both direct and transitive locked packages are checked, because a yanked transitive pin is the realistic case. (5) No seed impact, one PR.[loop:torbscript] refine: definition of ready met (goal, testable criteria, design links, no seed impact, one PR; advisory part split into #309), label
readyset, next: implement. Worker usage: ~60k tokens (sonnet).[loop:torbscript] claim implement by session:loop-torbscript-20261012 until 2026-10-12T13:01Z
[loop:torbscript] implement: PR #319 open, CI green on
db1867cc(gates success), review requested from argus (the worker died on the account session limit after opening the PR), next: review (merge gate)torb audit --advisories <directory>(step 1 of #309) #451torb auditadvisory database #309