feat: centralize script reference and stable Level 0 source path - #76
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the home-baseline workspace bootstrap to use ~/home-baseline-source as the stable Level‑0 source checkout and adds a generated central script reference (plus CI validation) so scripts, docs, and governance stay consistent across the workspace family.
Changes:
- Introduces/validates a generated bilingual script inventory + catalog schema and enforces drift checks in CI.
- Switches Level‑0 path references from
home-baseline-tmptohome-baseline-source, and adopts the shared Level‑0 resolver in more scripts. - Updates manpages, learning-series docs, and statistics config to reflect the new source path and catalog migration.
Reviewed changes
Copilot reviewed 71 out of 71 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/windows-test.ps1 | Updates Windows platform test script to point at the new stable Level‑0 path. |
| scripts/update-spec-kit.sh | Uses the shared resolver to discover Level‑0 and selects templates from the resolved source. |
| scripts/test-script-reference.ps1 | Adds deterministic PowerShell tests to validate script-reference rendering/idempotency. |
| scripts/propagate-security-guidance.sh | Updates Level‑0 source path used as canonical guidance input. |
| scripts/propagate-learning-series.sh | Updates Level‑0 path mention for learning-series propagation docs. |
| scripts/prepare-rl-se-checklist-selbstpruefung.sh | Updates fallback template lookup path to the new Level‑0 source directory. |
| scripts/prepare-rl-se-checklist-selbstpruefung.ps1 | Same as above for PowerShell variant. |
| scripts/maintain-agentic-workspace.sh | Delegation logic now resolves canonical repo script via shared resolver (when invoked from ~/scripts). |
| scripts/maintain-agentic-workspace.ps1 | Same delegation update for PowerShell using Resolve-HBSourceRepository. |
| scripts/lib/secure-development-hardening.sh | Updates Level‑0 secure-development baseline fallback to new source path. |
| scripts/lib/secure-development-hardening.ps1 | Same as above for PowerShell. |
| scripts/lib/hg-git-scope.sh | Updates git-scope check messages/logic to expect includeIf for ~/home-baseline-source/. |
| scripts/config/script-catalog.schema.json | Adds JSON Schema for the script catalog used by the renderer/validator. |
| scripts/audit-antigravity-migration.sh | Uses shared resolver and passes resolved Level‑0 path into embedded Python discovery. |
| docs/work-items/2026-06-29-level-2-rl-se-checklist-selbstpruefung.md | Updates Level‑0 secure-development baseline path in the work item prompt. |
| docs/scripts/README.md | Adds documentation entry point for generated script reference and safe execution sequence. |
| docs/project-statistics.config.json | Adds a new slot entry for the script catalog/source migration work. |
| docs/man/sync-home.1.md | Updates manpage to describe syncing from ~/home-baseline-source. |
| docs/man/setup-gitlab-release.1.md | Updates usage examples to new Level‑0 path. |
| docs/man/render-script-reference.1.md | Adds manpage for the new script-reference renderer/validator. |
| docs/man/propagate-agentic-toolchain-maintenance.1.md | Updates canonical Level‑0 path reference. |
| docs/man/migrate-level0-source-checkout.1.md | Adds manpage for the Level‑0 checkout migration tool. |
| docs/man/audit-agent-changes.1.md | Updates usage examples to the new Level‑0 path. |
| docs/learning-units/templates/Lernreihe-Vorlage.md | Updates Level‑0 name in learning-series template. |
| docs/learning-units/Secure-ServiceHarvester-Lernreihe.md | Updates recommended structure to use home-baseline-source as Level‑0. |
| docs/learning-units/Secure-OrderDesk-Lernreihe.md | Same update for OrderDesk learning series. |
| docs/learning-units/Secure-CaseTracker-Unterrichtsleitfaden.md | Updates Level‑0 path mention in teaching guide. |
| docs/learning-units/Secure-CaseTracker-Lernreihe.md | Same update for CaseTracker learning series. |
| docs/learning-units/README.md | Updates the Level‑0 working-model description to home-baseline-source. |
| docs/learning-units/Lernreihen-Blueprint.md | Updates the blueprint’s Level‑0 naming. |
| docs/learning-units/Lastenheft_Secure-ServiceHarvester-Lernreihe.md | Updates Level‑0 path mention in master intake. |
| docs/learning-units/Lastenheft_Secure-OrderDesk-Lernreihe.md | Same update for OrderDesk master intake. |
| docs/learning-units/Lastenheft_Secure-CaseTracker-Lernreihe.md | Same update for CaseTracker master intake. |
| constitution.md | Updates Spec‑Kit lifecycle rules to reference ~/home-baseline-source as Level‑0. |
| .specify/memory/constitution.md | Keeps Spec‑Kit memory constitution aligned with the updated Level‑0 path. |
| .github/workflows/homogeneity-check.yml | Adds CI step to validate generated script reference drift. |
| .gitconfig | Updates includeIf to match the new Level‑0 path. |
Comment on lines
178
to
+182
| for candidate in \ | ||
| "$SCRIPT_DIR/templates/rl-se-checklist-selbstpruefung-lastenheft.md" \ | ||
| "$repo_dir/scripts/templates/rl-se-checklist-selbstpruefung-lastenheft.md" \ | ||
| "$HOME/scripts/templates/rl-se-checklist-selbstpruefung-lastenheft.md" \ | ||
| "$HOME/home-baseline-tmp/scripts/templates/rl-se-checklist-selbstpruefung-lastenheft.md"; do | ||
| "$HOME/home-baseline-source/scripts/templates/rl-se-checklist-selbstpruefung-lastenheft.md"; do |
Comment on lines
134
to
141
| function Get-RlSeTemplateFile { | ||
| $repoDir = Split-Path -Parent $ScriptDir | ||
| foreach ($candidate in @( | ||
| (Join-Path $ScriptDir 'templates/rl-se-checklist-selbstpruefung-lastenheft.md'), | ||
| (Join-Path $repoDir 'scripts/templates/rl-se-checklist-selbstpruefung-lastenheft.md'), | ||
| (Join-Path $HOME 'scripts/templates/rl-se-checklist-selbstpruefung-lastenheft.md'), | ||
| (Join-Path $HOME 'home-baseline-tmp/scripts/templates/rl-se-checklist-selbstpruefung-lastenheft.md') | ||
| (Join-Path $HOME 'home-baseline-source/scripts/templates/rl-se-checklist-selbstpruefung-lastenheft.md') | ||
| )) { |
Comment on lines
160
to
+163
| for candidate in \ | ||
| "$repo_dir/docs/secure-development" \ | ||
| "$HOME/docs/secure-development" \ | ||
| "$HOME/home-baseline-tmp/docs/secure-development"; do | ||
| "$HOME/home-baseline-source/docs/secure-development"; do |
Comment on lines
248
to
+252
| for candidate in \ | ||
| "$script_dir/templates/secure-development-hardening-lastenheft.md" \ | ||
| "$repo_dir/scripts/templates/secure-development-hardening-lastenheft.md" \ | ||
| "$HOME/scripts/templates/secure-development-hardening-lastenheft.md" \ | ||
| "$HOME/home-baseline-tmp/scripts/templates/secure-development-hardening-lastenheft.md"; do | ||
| "$HOME/home-baseline-source/scripts/templates/secure-development-hardening-lastenheft.md"; do |
Comment on lines
115
to
119
| foreach ($candidate in @( | ||
| (Join-Path $repoDir 'docs/secure-development'), | ||
| (Join-Path $HOME 'docs/secure-development'), | ||
| (Join-Path $HOME 'home-baseline-tmp/docs/secure-development') | ||
| (Join-Path $HOME 'home-baseline-source/docs/secure-development') | ||
| )) { |
Comment on lines
202
to
+206
| foreach ($candidate in @( | ||
| (Join-Path $ScriptDir 'templates/secure-development-hardening-lastenheft.md'), | ||
| (Join-Path $repoDir 'scripts/templates/secure-development-hardening-lastenheft.md'), | ||
| (Join-Path $HOME 'scripts/templates/secure-development-hardening-lastenheft.md'), | ||
| (Join-Path $HOME 'home-baseline-tmp/scripts/templates/secure-development-hardening-lastenheft.md') | ||
| (Join-Path $HOME 'home-baseline-source/scripts/templates/secure-development-hardening-lastenheft.md') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Zusammenfassung / Summary
~/home-baseline-sourceals dauerhaften Level-0-Checkout mit gemeinsamer pfadportabler Aufloesung einValidierung / Validation
bash -n)Migration boundary
This PR does not move a developer checkout during CI. After merge and Home Sync, the local migration is run from the stable
~/scripts/copy using check-only, preview, and then the writing command. The legacy path remains a temporary compatibility link until explicit finalization.