56 lines
2.1 KiB
Markdown
56 lines
2.1 KiB
Markdown
# Repository registers v0.1
|
|
|
|
Repository registers are ordinary, versioned YAML files under `registers/`.
|
|
They are authoritative in the repository; Repo Manager's index is a replaceable
|
|
projection.
|
|
|
|
## Shared envelope
|
|
|
|
Each register uses one file named `registers/<kind>.yaml`:
|
|
|
|
```yaml
|
|
schema: repo-manager.register.v0
|
|
kind: technical-debt
|
|
entries:
|
|
- id: TD-001
|
|
title: Coupled persistence
|
|
status: open
|
|
severity: high
|
|
created: "2026-08-21T10:00:00+00:00"
|
|
updated: "2026-08-21T10:00:00+00:00"
|
|
notes: []
|
|
```
|
|
|
|
Entry ids are stable within their register. `created` is immutable; mutations
|
|
advance `updated`. Deletion-compatible routes map to `defer`, preserving the
|
|
entry and Git history. Notes are append-only objects with `content`, `author`,
|
|
and `created`.
|
|
|
|
## Kinds and compatibility fields
|
|
|
|
| Kind | Required create data | State Hub compatibility |
|
|
| --- | --- | --- |
|
|
| `sbom-inventory` | `package_name`, `ecosystem` | package/version/licence entries; snapshots and reports are derived |
|
|
| `repo-goals` | `description` | repository goal records |
|
|
| `upstream-contributions` | `type` | contribution type and target metadata |
|
|
| `technical-debt` | none beyond id/title | severity, debt type, location, notes |
|
|
| `extension-points` | none beyond id/title | priority, extension type, location |
|
|
| `register-entries` | `register_kind` | generic extension register entries |
|
|
|
|
Additional kind-specific fields are retained as YAML scalars, lists, or
|
|
mappings. The envelope fields `id`, `title`, `status`, `notes`, `created`, and
|
|
`updated` may only be changed through their governed command parameters.
|
|
|
|
## Commands
|
|
|
|
```bash
|
|
rmgr register put --kind technical-debt --entry-id TD-001 \
|
|
--title "Coupled persistence" --data-json '{"severity":"high"}'
|
|
rmgr register list --kind technical-debt
|
|
rmgr register note --kind technical-debt --entry-id TD-001 --note "Owner assigned."
|
|
rmgr register defer --kind technical-debt --entry-id TD-001
|
|
```
|
|
|
|
Mutations use the same expected-HEAD, idempotency, Git commit, optional
|
|
push-seal, normalized-event, reindex, and dual-run-meter mechanism as workplan
|
|
and task mutations.
|