3,010 rows. Stage-0 intake with no judgment applied; row count is explicitly NOT a measure of shelf quality.
3,010 sources discovered. 0 admitted. The pipeline has never completed end to end.
This page answers "where are we at" by query, not by reading twelve documents. It is generated from data/state.json, which is computed from named source files on every build and independently re-derived by a second program before it may ship. No figure on this page was typed by hand.
The assembly funnel
A total is not a state. "3,010 sources" is the number that let an agent conclude the shelf was stocked while zero blocks were admitted, so this page publishes the pipeline and its blockage instead. Each stage is a predicate over a named source file, not a maintained integer — the definitions are below, and every count is re-derivable.
What each stage means
- Discovered
- A row exists in the capability source registry.
- Triaged
- A human or process assigned a disposition, or moved the verdict off the default discovery_candidate.
- Rated
- Carries at least one observed fact about the source itself. Stars, tags, age and README claims are explicitly NOT evidence (R3).
- Forked
- We own the code: an Actionist block declares this source as its donor at a pinned revision.
- Built
- A block manifest exists with linked records under blocks/.
- Qualified
- Qualification status is an affirmatively qualified value. Read by allowlist: an absent or unrecognised status is never qualified.
- Admitted
- Admitted for a named host and tenant scope, read by allowlist. Never "reusable on the internet", and never inferred from the absence of a rejection.
Data lanes and freshness
Per-lane budgets, never uniform. Local lanes are measured every build; external lanes are declared and never triggered by the front door. Budgets are per-lane and justified, never uniform: a gate that cries wolf is worse than no gate. Currently 7 fresh, 0 overdue, 0 unreachable, 2 declared.
Two prototypes, zero admitted.
Canonical original. The copy under site/system-map/task-graph/frameworks/ is generated, never edited.
Drives nav, cmd-K, sections and ordering. Route/registry closure is enforced by verify-site.mjs.
Single source for the 15 part pages, the front-page map and the inline card data.
3,509 component directories with real source. Private: built by a mechanism 21st.dev's terms prohibit.
Actionist answers GQ-004 and instantiates GQ-006. Read-only from here.
1,358,200 repo_card rows, 465k identities, 386k categorisations. UNREACHABLE when last probed (2026-08-29, connection timed out). Deliberately NOT probed at build time: the front door never opens an SSH session. Its row counts are cited in research as historical observations and must never be rendered as current.
577 rows admitted at stage 0 in the last wave. Declared, never triggered by a page load.
Blocks
Every block currently built, with its donor, reuse shape and qualification status. Admission is always scoped to a named host and tenant, never "reusable on the internet".
actionist/affine-workspaceactionist/teable-data-gridKnown structural defects
Computed from the estate on every build, not maintained by hand — each entry disappears on its own when the underlying defect is fixed. A written-down defect list goes stale the moment someone fixes something, and an organ reporting a problem that no longer exists is the same cry-wolf failure as a bad freshness gate.
Two blocks can be reconciled by hand. A shelf heading for hundreds cannot. Every consumer currently re-implements the same field-shape guesswork, and each one can guess differently — this has already produced one wrong published number: a reader expecting object-shaped family entries silently counted AFFiNE's passing family as zero, and the error reached a client-facing artifact before it was caught.
| block id | id field | admission vocabulary | dossier status field | family value shape |
|---|---|---|---|---|
actionist/affine-workspace | block_id | admission_status + execution_status | qualification_status | bare_string |
actionist/teable-data-grid | block_id | admission_status + execution_status | status | object_with_status |
Anything joining on donor identity silently fails to match rather than erroring. state.json normalises on the way out, so consumers are protected, but the underlying records still disagree.
| block id | raw | canonical |
|---|---|---|
actionist/affine-workspace | https://github.com/toeverything/AFFiNE | toeverything/AFFiNE |
actionist/teable-data-grid | https://github.com/teableio/teable.git | teableio/teable |
Every published number, and where it comes from
Each row names the file it was computed from and the method used. verify-state.mjs re-derives all of them by a different mechanism and fails the build on any disagreement.
| Measurement | Value | Source | Method |
|---|---|---|---|
| sources registered | 3,010 | knowledge/capability-shelf/source-registry.jsonl | JSONL line count |
| blocks built | 2 | blocks/*/actionist-block.json | manifest count |
| blocks admitted | 0 | blocks/*/actionist-block.json | lifecycle.admission_status in {admitted, admitted_for_scope} AND admission_scope names at least one tenant or application. Allowlist, not a negation against a sentinel — an absent or unrecognised status is never counted as admitted. |
| parts mapped | 15 | site/system-map/data/parts.json | array length |
| frameworks registered | 24 | knowledge/frameworks/framework-register.json | frameworks[] length |
| published routes | 206 | site/system-map/data/page-registry.json | pages[] where !external |
| components with source | 3,507 | SISO_Knowledge/design-system/library/21st-dev/ | directory count excluding _utils |
| great library works | 33 | Great_Library_of_SISO/registry/works/ | *.json file count |
Who owns what
One owner per domain; contracts own the seams. If you need something from another domain, go through its contract rather than reading its internals. Anything crossing a seam is a contract change, not a local edit.
| Domain | Owns | Exposes |
|---|---|---|
| Components | The UI corpus: acquisition, taxonomy, curation, storage | Canonical entity + alias set, normalised author/slug identity, Dynamic Search wire format |
| Blocks | Repo→block conversion, forks, the catalog | The seven linked records; actionist/<name>@<semver> identity |
| Discovery | Mining all seams (Mini corpus, GitHub, industry scrapes) | Rated candidates with provenance and evidence class |
| Composition | Fitting blocks into an app | AssemblyPlan, CompatibilityProof, UNDERDETERMINED questions |
| Host | Identity, tenancy, data, settings, navigation, connectors | HostContract |
| Front door | INTENT.md, the site, the state record | INTENT.md, STATE.json, the published map |