build: compose opt-in work-record generation with shared guards

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a15374-f59f-7a31-86d2-d23b5d2ed181
This commit is contained in:
tegwick 2026-10-19 11:34:02 +02:00
parent 027b54e49c
commit 05046fb974
6 changed files with 39 additions and 0 deletions

View file

@ -0,0 +1 @@
{"version":1,"repo_slug":"repo-manager"}

View file

@ -0,0 +1,8 @@
# Explicit opt-in recipe; no environment files or external make includes.
CUSTODIAN_SOURCE ?= /home/worsch/the-custodian
GENERATED_REPO_SLUG ?= repo-manager
.PHONY: generated-work-records generated-work-records-check
generated-work-records:
python3 "$(CUSTODIAN_SOURCE)/scripts/generate_staged_work_records.py" --repo . --repo-slug "$(GENERATED_REPO_SLUG)"
generated-work-records-check:
python3 "$(CUSTODIAN_SOURCE)/scripts/generate_staged_work_records.py" --repo . --repo-slug "$(GENERATED_REPO_SLUG)" --check

View file

@ -2,6 +2,7 @@
# CUST-WP-0080 / RMGR-WP-0021: preserve generated-only guard and exact local scan scope.
set -eu
python3 /home/worsch/the-custodian/scripts/check_generated_only_commit.py --staged
python3 /home/worsch/the-custodian/scripts/run_generated_work_records_hook.py
case "$(git rev-parse --show-toplevel)" in
/home/worsch/access-engine|/home/worsch/approval-engine|/home/worsch/audit-core|/home/worsch/gate-house|/home/worsch/glas-harness|/home/worsch/key-cape|/home/worsch/kings-guard|/home/worsch/maturity-engine|/home/worsch/net-kingdom|/home/worsch/ops-mason|/home/worsch/ops-warden|/home/worsch/policy-nexus|/home/worsch/railiance-forge|/home/worsch/railiance-platform|/home/worsch/repo-manager|/home/worsch/role-engine|/home/worsch/secrets-engine|/home/worsch/security-canon|/home/worsch/tenant-engine|/home/worsch/the-custodian|/home/worsch/user-engine|/home/worsch/zone-engine)
exec python3 /home/worsch/repo-manager/src/repo_manager/secret_scan.py --path . --binary /home/worsch/.local/lib/repo-manager/gitleaks/8.30.1/gitleaks

View file

@ -40,3 +40,10 @@ container-build:
--build-arg VERSION=0.1.0 \
--build-arg VCS_REF=$$(git rev-parse HEAD) \
-t $(IMAGE_REPOSITORY):$(IMAGE_TAG) .
# CUST-WP-0079-T05: staged-source generation; hook uses the isolated recipe.
.PHONY: generated-work-records generated-work-records-check
generated-work-records:
$(MAKE) --no-print-directory -f .generated-work-records.mk generated-work-records
generated-work-records-check:
$(MAKE) --no-print-directory -f .generated-work-records.mk generated-work-records-check

View file

@ -77,3 +77,16 @@ resulting repository revision and normalized event are recorded.
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.

View file

@ -32,6 +32,7 @@
| workplan | RMGR-WP-0018 | finished | — | workplans/RMGR-WP-0018-publisher-registry-image-refresh.md |
| workplan | RMGR-WP-0019 | finished | — | workplans/RMGR-WP-0019-historical-source-admission.md |
| workplan | RMGR-WP-0020 | blocked | — | workplans/RMGR-WP-0020-bounded-freshness-runner.md |
| workplan | RMGR-WP-0021 | active | — | workplans/RMGR-WP-0021-secret-detection-controls.md |
| task | RMGR-WP-ADHOC-2026-09-06-T01 | done | — | workplans/ADHOC-2026-09-06.md |
| task | RMGR-WP-ADHOC-2026-09-09-T01 | done | — | workplans/ADHOC-2026-09-09.md |
| task | RMGR-WP-ADHOC-2026-09-11-T01 | done | — | workplans/ADHOC-2026-09-11.md |
@ -134,11 +135,19 @@
| task | RMGR-WP-0019-T01 | done | — | workplans/RMGR-WP-0019-historical-source-admission.md |
| task | RMGR-WP-0019-T02 | done | — | workplans/RMGR-WP-0019-historical-source-admission.md |
| task | RMGR-WP-0019-T03 | done | — | workplans/RMGR-WP-0019-historical-source-admission.md |
| task | RMGR-WP-0019-T04 | done | — | workplans/RMGR-WP-0019-historical-source-admission.md |
| task | RMGR-WP-0019-T05 | done | — | workplans/RMGR-WP-0019-historical-source-admission.md |
| task | RMGR-WP-0019-T06 | done | — | workplans/RMGR-WP-0019-historical-source-admission.md |
| task | RMGR-WP-0020-T01 | done | — | workplans/RMGR-WP-0020-bounded-freshness-runner.md |
| task | RMGR-WP-0020-T02 | done | — | workplans/RMGR-WP-0020-bounded-freshness-runner.md |
| task | RMGR-WP-0020-T03 | done | — | workplans/RMGR-WP-0020-bounded-freshness-runner.md |
| task | RMGR-WP-0020-T04 | wait | — | workplans/RMGR-WP-0020-bounded-freshness-runner.md |
| task | RMGR-WP-0020-T05 | wait | — | workplans/RMGR-WP-0020-bounded-freshness-runner.md |
| task | RMGR-WP-0021-T01 | done | — | workplans/RMGR-WP-0021-secret-detection-controls.md |
| task | RMGR-WP-0021-T02 | done | — | workplans/RMGR-WP-0021-secret-detection-controls.md |
| task | RMGR-WP-0021-T03 | progress | — | workplans/RMGR-WP-0021-secret-detection-controls.md |
| task | RMGR-WP-0021-T04 | todo | — | workplans/RMGR-WP-0021-secret-detection-controls.md |
| task | RMGR-WP-0021-T05 | done | — | workplans/RMGR-WP-0021-secret-detection-controls.md |
| intake | RMGR-IN-0001 | closed | — | intakes/intakes.md |
| intake | RMGR-IN-0002 | closed | — | intakes/intakes.md |
| intake | RMGR-IN-0004 | closed | — | intakes/intakes.md |