Read the namespace-scoped discriminator graph.
EXPERIMENTAL. Namespace-scoped discriminator graph read — the strand-world successor to cross-service-components. Lists catalog components (optionally filtered to one namespace) with the lineage mode and payload boundaries of each component’s latest scan, plus the projected strand edges touching the scope. Evaluates one on-demand roll-up per scanned code component per request; a scope spanning more components than the server’s bound is rejected with 422 rather than degrading into a timeout. detailLevel=fields adds each code component’s payload groups with their field-mapping rows and each boundary’s field names, and each data store’s registry schema, from the same roll-ups the summary already evaluates. A scanned code component carries the approval folded into that latest discriminator projection at either detail level. That body grows with the namespace; send Accept: application/octet-stream to receive it gzipped, as with cross-service-components.
Authorizations
Query Parameters
Filter to one namespace. When omitted, the whole catalog is in scope (still subject to the component-count bound).
summary (default) returns identity, lineage mode, boundaries and edges. fields additionally populates boundaries[].fields, payloadGroups on scanned code components, and schema on data stores.
summary, fields Response
The discriminator graph for the requested scope.
The namespace-scoped discriminator graph: every catalog component in scope with its lineage capability and boundaries, plus the projected strand edges touching the scope. The invariant that matters: boundaries and edges are the identical schemas the per-component discriminator_data read returns, so a consumer of one read renders the other without translation.
Projected strand edges with at least one endpoint among components, in the same shape as the component edges read, including endpoint display identity where the registry record was readable. Edges whose latest lifecycle event is a deletion appear with state deleted (audit channel), exactly as the component read reports them.
Count of stored edge lifecycle events whose persisted payload could not be interpreted.
Code components whose latest scan could not be evaluated: strand artifacts the engine could not read (a scan older than the pinned engine's format), a roll-up exceeding a discriminator resource bound, or a load still running when the read's time budget ran out. They are reported as NO_STRAND_DATA and their edges as pending rather than failing the whole read. A rescan fixes the first two (a smaller one, for an oversized scan); a later read may evaluate the last once its roll-up is cached. Absent when every component evaluated.