Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
100 lines
3.3 KiB
Markdown
100 lines
3.3 KiB
Markdown
---
|
|
id: RMGR-WP-0011
|
|
type: workplan
|
|
title: "SBOM Nexus production client and explicit preview semantics"
|
|
domain: infotech
|
|
repo: repo-manager
|
|
status: ready
|
|
owner: codex
|
|
topic_slug: infotech
|
|
created: "2026-08-22"
|
|
updated: "2026-08-22"
|
|
parent_workplan: SBOM-WP-0002
|
|
related:
|
|
- CUST-WP-0062
|
|
- RMGR-WP-0008
|
|
state_hub_workstream_id: "a6cd9248-e591-51fc-82b0-a0f3799c3939"
|
|
---
|
|
|
|
# SBOM Nexus production client and explicit preview semantics
|
|
|
|
## Goal
|
|
|
|
Complete Repo Manager's caller cutover to SBOM Nexus without reintroducing a
|
|
second SBOM product. Repo Manager retains repository identity, active status,
|
|
and checkout-path authority; SBOM Nexus owns `sbom-nexus.snapshot.v1`, ingest
|
|
outcomes, licence evaluation, freshness, and immutable history.
|
|
|
|
RMGR-WP-0008 already removed Repo Manager's duplicate scanner and changed the
|
|
legacy commands into thin delegates to the Nexus CLI. This workplan addresses
|
|
the remaining production boundary: distinguish a persisted Nexus operation
|
|
from a local, non-authoritative preview and provide a configured service client
|
|
for callers that require authoritative state.
|
|
|
|
## Pin the consumer contract
|
|
|
|
```task
|
|
id: RMGR-WP-0011-T01
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "b3b0f4d9-de14-5429-bc4d-a14d014491b0"
|
|
```
|
|
|
|
Document and test the consumed `sbom-nexus.snapshot.v1` fields and the
|
|
authoritative service routes. Treat additive fields as compatible, reject an
|
|
unknown schema, and do not couple Repo Manager to Nexus database tables or
|
|
migration internals.
|
|
|
|
## Add the authoritative Nexus service client
|
|
|
|
```task
|
|
id: RMGR-WP-0011-T02
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "280cfa84-1561-5cb9-8943-aa0775c57be6"
|
|
```
|
|
|
|
Provide an explicitly configured HTTP client for the Nexus repository
|
|
projection, ingest, latest-snapshot, and licence-report surfaces needed by Repo
|
|
Manager. Preserve bounded timeouts and actionable failures; credentials, when
|
|
introduced through the platform path, must never enter files, output, or logs.
|
|
|
|
## Make local scanning an explicit preview
|
|
|
|
```task
|
|
id: RMGR-WP-0011-T03
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "5cd717de-d696-5676-9abe-f1a701e48e7e"
|
|
```
|
|
|
|
Keep repository-source scanning usable through the Nexus-owned CLI when the
|
|
service is unavailable, but mark the result unambiguously as local,
|
|
non-authoritative, and not persisted. The compatibility aliases must not imply
|
|
that a preview advanced `last_attempt_at`, `last_success_at`, or snapshot
|
|
history.
|
|
|
|
## Prove cutover and remove ambiguity
|
|
|
|
```task
|
|
id: RMGR-WP-0011-T04
|
|
status: todo
|
|
priority: medium
|
|
state_hub_task_id: "81fed060-3431-5d9b-819b-fcc7d629c364"
|
|
```
|
|
|
|
Add contract, failure, and CLI compatibility tests; update operator docs; and
|
|
prove by source inspection that Repo Manager has no scanner implementation,
|
|
snapshot store, freshness evaluation, catch-up policy, or licence classifier.
|
|
Capture the exact production handoff evidence required by SBOM-WP-0002.
|
|
|
|
## Acceptance
|
|
|
|
- Authoritative mode talks to SBOM Nexus and returns its pinned snapshot
|
|
contract without local persistence.
|
|
- Preview mode is visibly non-authoritative and cannot be mistaken for an
|
|
ingest receipt.
|
|
- Existing `rmgr sbom scan|licence-report` users receive a documented migration
|
|
path and deterministic errors.
|
|
- Repo Manager remains authoritative only for repository identity and paths;
|
|
SBOM Nexus remains the sole durable SBOM owner.
|