diff --git a/.generated-work-records.json b/.generated-work-records.json new file mode 100644 index 0000000..5c5892b --- /dev/null +++ b/.generated-work-records.json @@ -0,0 +1 @@ +{"version": 1, "repo_slug": "railiance-infra"} diff --git a/.generated-work-records.mk b/.generated-work-records.mk new file mode 100644 index 0000000..105dae0 --- /dev/null +++ b/.generated-work-records.mk @@ -0,0 +1,8 @@ +# Explicit opt-in recipe; no environment files or external make includes. +CUSTODIAN_SOURCE ?= /home/worsch/the-custodian +GENERATED_REPO_SLUG ?= railiance-infra +.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 diff --git a/Makefile b/Makefile index 5baa7d9..c8c6f94 100644 --- a/Makefile +++ b/Makefile @@ -383,3 +383,10 @@ converge-check: ## Dry-run (no changes), great for previews converge-diff: ## Show file/templating diffs while applying changes cd $(ANS_DIR) && ansible-playbook $(PLAY) $(ANSIBLE_USER_FLAG) --diff + +# CUST-WP-0079: explicit staged work-record generation, using the owner renderer. +.PHONY: generated-work-records generated-work-records-check +generated-work-records: ## Generate and stage WORK-RECORDS from staged sources + $(MAKE) --no-print-directory -f .generated-work-records.mk generated-work-records +generated-work-records-check: ## Verify staged index without writes or publication + $(MAKE) --no-print-directory -f .generated-work-records.mk generated-work-records-check diff --git a/SCOPE.md b/SCOPE.md index 4ece2e4..7af642c 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -224,3 +224,16 @@ keywords: [capacity, evidence, hosteurope, resource-control, inventory] The exact differences between this operational scope and the aspirational mission in `INTENT.md` are assessed in `history/2026-08-23-scope-against-intent.md`. + +## Staged work-record generation — 2026-10-19 + +The repository explicitly opts into the shared staged work-record generator via +`.generated-work-records.json` and its dedicated `.generated-work-records.mk`. +`make generated-work-records` uses the existing State Hub renderer through the +Custodian adapter, stages only `WORK-RECORDS.md`, and refuses unreconciled +unstaged index edits. `make generated-work-records-check` checks without writes. +The shared commit hook retains its generated-only guard and repository-specific +scanner routing; meaningful source commits regenerate the index before any +configured scan. +Generation performs no Hub calls, commits, pushes, credential access or live +changes. Source inventories and other generated artifacts retain their owners. diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index e66ace2..01f49a3 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -51,7 +51,7 @@ | task | RAIL-HO-WP-0011-T06 | done | — | workplans/RAIL-HO-WP-0011-reproducible-s1-declaration-and-handoff.md | | task | RAIL-HO-WP-0011-T07 | done | — | workplans/RAIL-HO-WP-0011-reproducible-s1-declaration-and-handoff.md | | task | RAIL-HO-WP-0011-T08 | wait | — | workplans/RAIL-HO-WP-0011-reproducible-s1-declaration-and-handoff.md | -| task | RAIL-HO-WP-0011-T09 | wait | — | workplans/RAIL-HO-WP-0011-reproducible-s1-declaration-and-handoff.md | +| task | RAIL-HO-WP-0011-T09 | done | — | workplans/RAIL-HO-WP-0011-reproducible-s1-declaration-and-handoff.md | | task | RAIL-HO-WP-0012-T01 | done | — | workplans/RAIL-HO-WP-0012-s1-backup-recovery-loop.md | | task | RAIL-HO-WP-0012-T02 | done | — | workplans/RAIL-HO-WP-0012-s1-backup-recovery-loop.md | | task | RAIL-HO-WP-0012-T03 | done | — | workplans/RAIL-HO-WP-0012-s1-backup-recovery-loop.md |