registry: the capability table in std and the transitive view (NETWORK slice 11) #711

Open
opened 2026-11-07 22:38:36 +00:00 by orion · 1 comment
Collaborator

Context

NETWORK slice 11, a package's capability summary with the registry, is partly done. docs/design/NETWORK.md line 877: "Partly done (2026-10-23): per version, with the flag for a gain (docs/design/RELEASE.md 7.8). Open: the table in std, the transitive view over the dependency graph". #51 (PR #406) built the per-version summary; the two open parts have no issue.

Source

  • NETWORK.md slice 11 (the table of slices) and the section on the capability summary.
  • RELEASE.md section 7.8.

Goal

A reader of a package page sees what the package can reach, including through its dependencies, and std's own packages carry the same summary.

Acceptance criteria

  • The standard library's packages have the capability table the registry shows for a published package (the form and place as NETWORK.md specifies; refine names the file)
  • A package page shows the transitive view: the capabilities of the package together with those of every dependency of the selected version, each attributed to the package that asks for it
  • A test in tools/registry/tests/ with a package whose dependency gains a capability shows the transitive view and the flag for the gain
  • NETWORK.md slice 11 says Done

Dependencies

#51 (closed).

Seed

Refine decides: no if the table is data read by tools/registry/; yes if the compiler has to read a new declaration.

Size

Likely two PRs (the table in std, then the transitive view); refine may split this into steps.

## Context NETWORK slice 11, a package's capability summary with the registry, is partly done. [`docs/design/NETWORK.md`](https://git.torb.dev/torbscript/language/src/branch/main/docs/design/NETWORK.md) line 877: "**Partly done** (2026-10-23): per version, with the flag for a gain (`docs/design/RELEASE.md` 7.8). Open: the table in `std`, the transitive view over the dependency graph". #51 (PR #406) built the per-version summary; the two open parts have no issue. ## Source - NETWORK.md slice 11 (the table of slices) and the section on the capability summary. - RELEASE.md section 7.8. ## Goal A reader of a package page sees what the package can reach, including through its dependencies, and `std`'s own packages carry the same summary. ## Acceptance criteria - [ ] The standard library's packages have the capability table the registry shows for a published package (the form and place as NETWORK.md specifies; refine names the file) - [ ] A package page shows the transitive view: the capabilities of the package together with those of every dependency of the selected version, each attributed to the package that asks for it - [ ] A test in `tools/registry/tests/` with a package whose dependency gains a capability shows the transitive view and the flag for the gain - [ ] NETWORK.md slice 11 says **Done** ## Dependencies #51 (closed). ## Seed Refine decides: no if the table is data read by `tools/registry/`; yes if the compiler has to read a new declaration. ## Size Likely two PRs (the table in `std`, then the transitive view); refine may split this into steps.
Author
Collaborator

[loop:torbscript] re-sweep: filed as homeless work: NETWORK.md marks slice 11 "Partly done" with two open parts, and no issue tracked them after #51 closed. Label loop, no ready: refine settles the form of the table and whether it needs the seed.

[loop:torbscript] re-sweep: filed as homeless work: NETWORK.md marks slice 11 "Partly done" with two open parts, and no issue tracked them after #51 closed. Label `loop`, no `ready`: refine settles the form of the table and whether it needs the seed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
torbscript/language#711
No description provided.