repo-manager/SCOPE.md
tegwick 05046fb974 build: compose opt-in work-record generation with shared guards
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a15374-f59f-7a31-86d2-d23b5d2ed181
2026-10-19 11:34:02 +02:00

92 lines
4.5 KiB
Markdown

# Scope
## One-liner
Long-lived **tooling** component: repository representation, file-backed record
indexing, consistency reconciliation, and governed repository control for
HelixForge.
## In scope
- Repository registration, identity, classification, and lifecycle.
- Local checkout, host-path, remote, revision, and synchronization awareness.
- Discovery, parsing, validation, and indexing of repository-owned records.
- Workplan, task, decision, capability, service, policy, and relationship
declarations when their authoritative form is stored in a repository.
- Consistency reconciliation between files and replaceable projections.
- Controlled repository mutation through explicit commands and policy checks.
- Repository event emission, idempotency, audit evidence, and recovery.
- Repository-specific coach, lead, and director agent assignments.
- APIs and adapters through which hub-core addresses repositories
(`port.repo`, `port.work` in the extension architecture).
## Out of scope
- Cross-domain inboxes, conversations, and message routing: `hub-core`.
- General work or issues without a repository authority: `issue-core`.
- Recurring scheduling and workflow execution: `activity-core`.
- Authentication, user directories, and identity proofing: identity authorities.
- Authorization policy decisions: `flex-auth` or its successor.
- Credential custody: OpenBao/platform credential services.
- Git hosting: Forgejo or another source-code forge.
- Domain-specific operational, financial, security, or governance truth.
- A universal knowledge store or search engine.
- Hosting production domain-hub business data or operator consoles.
## Coordination
| Item | Location |
| --- | --- |
| Parent project | `prj-state-hub-retirement` |
| Stream | S1 in `architecture/child-workplan-map_v0.1.md` |
| Foundation workplan | `RMGR-WP-0001` |
| Disposition inventory | `prj-state-hub-retirement/inventory/` (repo-* capabilities) |
## Initial extraction source
The first implementation may reuse proven State Hub behavior for repository
registration, host paths, workplan parsing, consistency reconciliation, and
file-backed status changes. Extraction must preserve behavior with compatibility
tests while removing assumptions that Repo Manager owns cross-domain state.
## API boundary
External consumers use versioned contracts. They must not depend on Repo
Manager's persistence schema. Commands distinguish requested action from
confirmed repository state; a successful command is not complete until the
resulting repository revision and normalized event are recorded.
## Implemented local reuse surfaces
- `rmgr sync --path <checkout> --push` is the normal file-record closeout:
assign missing deterministic identifiers, verify the pushed Forgejo revision
and primary checkout, then request central reconciliation. A queued receipt
remains pending; repository files remain authoritative.
- `rmgr provenance install` configures the shared hook directory. The current
`.githooks/pre-commit` composes the Custodian generated-only commit guard with
staged-secret detection for its explicit checkout allowlist. It preserves the
provenance hooks; local hooks remain bypassable.
- The generated-only guard implementation belongs to
`the-custodian/scripts/check_generated_only_commit.py`. Sharing this hook does
not generate indexes, prove fleet generator adoption, or prove a week without
standalone generated commits (CUST-WP-0079-T05).
- `registry/capabilities/capability.security.repository-secret-prevention.md`
declares the bounded source/CLI capability for reuse-surface. Its local
checkout coverage and discovery maturity are distinct from fleet enforcement.
Per-repository Make targets and build pipelines own their generated artifacts.
Repository reconciliation and hook installation do not transfer that ownership
or establish a general generated-file pipeline.
## Staged work-record generator adoption
The tracked `.generated-work-records.json` opts this repository into the shared
pre-commit generation lane. `make generated-work-records` uses the isolated
`.generated-work-records.mk` recipe and the Custodian adapter to render from
staged Markdown with the existing State Hub renderer. `make
generated-work-records-check` verifies the staged result without writes.
Unstaged source edits are preserved; unstaged generated-file edits and unresolved
conflicts stop the commit. The existing generated-only guard and secret scan
remain in place. This adoption covers WORK-RECORDS.md only; other owner indexes
retain their own generators. It makes no schedule or public-release change.