feat: harden work-record and SBOM client contracts

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
This commit is contained in:
tegwick 2026-08-22 23:19:36 +02:00
parent 2577379e36
commit 84952c5212
16 changed files with 605 additions and 30 deletions

View file

@ -347,12 +347,18 @@ def main(argv: list[str] | None = None) -> int:
help="Deprecated compatibility commands delegated to SBOM Nexus",
)
sbom_sub = p_sbom.add_subparsers(dest="sbom_command")
p_sbom_scan = sbom_sub.add_parser("scan", help="Scan recognised lockfiles and tool manifests")
p_sbom_scan = sbom_sub.add_parser(
"scan",
help="Run a local non-authoritative preview through the SBOM Nexus CLI",
)
p_sbom_scan.add_argument("--path", default=".")
p_sbom_scan.add_argument("--slug", default=None)
p_sbom_scan.add_argument("--output", default=None, help="Write the derived snapshot as JSON")
p_sbom_scan.add_argument("--force", action="store_true", help="Replace an existing --output file")
p_sbom_report = sbom_sub.add_parser("licence-report", help="Report licences from a fresh file scan")
p_sbom_report = sbom_sub.add_parser(
"licence-report",
help="Preview licences locally without persisting or advancing Nexus state",
)
p_sbom_report.add_argument("--path", default=".")
p_sbom_report.add_argument("--slug", default=None)