You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(config-cascade): call the personal layer the personal override in the contract and shared lib #13182
The config cascade calls its personal layer (<home>/<concern>.local.<ext>) the personal override, matching the medium resolver's notices: the config-cascade contract and its consumer gotchas, docs/conventions/config-cascade, the shared lib (config-cascade.mjs, view-settings.mjs, setup-apply.mjs, config-root.sh, resolve-convention-pattern.sh and their tests and fixtures) with every synced plugin copy, the repository .gitignore comments, scripts/, .github/ and the rest of docs/ outside the exclusions. Printed text changes with it (for example setup-apply's "overlay ignore line" and view-settings' overlay <path>: ... warnings), and every test or eval that asserts that text moves in the same pull request.
The Brief (Problem, Goal, Constraints) is in the epic body.
Decisions
Q5-Q12: overlay (now personal override) for the cascade's personal layer.
D8: disk-hygiene's policy overlay, machine-health's catalog overlay and visual overlays stay (the checker slice's allowlist).
ADR 0019: each shared file has one canonical copy, drift-checked in CI, so the lib change and every synced copy land together.
Done when
AC3 for this sense: the Demo command exits 0.
Exported identifiers that carry the word (for example overlayApplies) are renamed with every caller, or the pull request states why one keeps its name.
The repository's sync and drift checks pass; every test that asserts changed printed text is updated in this pull request; evals that assert it validate with no FAIL; no model evals are run.
The config-cascade contract's version and CHANGELOG, and each plugin whose synced copy changed, carry their release record per AGENTS.md.
Proposed work class: work-class: structural
Basis: automated intake triage; the lanes App applied this class.
Size: Large
Complexity: Medium
Uncertainty: Known
Flags: none
Blocked by: #13178
Understood: rename the config cascade's personal layer from "overlay" to "personal override" across the contract, docs, shared lib with all synced plugin copies, printed text and the tests and evals that assert it. The Demo command then exits 0. Behaviour, file names and the .local. rule stay the same. The scope is spread over many files and every synced copy, so it may need splitting. The vocabulary checker from #13178 is still open and must land first. No duplicates found.
Automated split by the lanes App. Admission waits on this issue while a sub-issue is open; work-unblock closes it as completed once every sub-issue is closed as completed by a merge or a listed human and its done-when is covered.
AC3 Demo exits 0: check-vocabulary.py --sense overlay over docs, lib, scripts, .github, .gitignore and the plugin lib directories, run on chore(config-cascade): call the personal layer the personal override #13280's merged head. Quoted as the issue writes it, the globs are not expanded and the checker exits 2, so the run expanded them in the shell.
Activity
github-actions commentedon Nov 4, 2026
Proposed work class: work-class: structural
Basis: automated intake triage; the lanes App applied this class.
Size: Large
Complexity: Medium
Uncertainty: Known
Flags: none
Blocked by: #13178
Understood: rename the config cascade's personal layer from "overlay" to "personal override" across the contract, docs, shared lib with all synced plugin copies, printed text and the tests and evals that assert it. The Demo command then exits 0. Behaviour, file names and the
.local.rule stay the same. The scope is spread over many files and every synced copy, so it may need splitting. The vocabulary checker from #13178 is still open and must land first. No duplicates found.Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Nov 4, 2026
Not admitted to the issue lane yet: sub-issue #13188 is open.
melodic-automation-lanes commentedon Nov 4, 2026
Split at intake (owner Q93). This issue is Size Large, so its done-when is split into 2 sub-issues, each holding its task-list lines as written.
Automated split by the lanes App. Admission waits on this issue while a sub-issue is open; work-unblock closes it as completed once every sub-issue is closed as completed by a merge or a listed human and its done-when is covered.
melodic-automation-lanes commentedon Nov 4, 2026
Every sub-issue of this split is closed as completed by a listed human or a merge (#13187, #13188), so the lanes App closes it as completed.
kyle-sexton commentedon Nov 4, 2026
Done when is met by its two split parts:
check-vocabulary.py --sense overlayover docs, lib, scripts, .github, .gitignore and the plugin lib directories, run on chore(config-cascade): call the personal layer the personal override #13280's merged head. Quoted as the issue writes it, the globs are not expanded and the checker exits 2, so the run expanded them in the shell.overlayAppliesispersonalOverrideApplieswith every caller; none kept its name (chore(config-cascade): call the personal layer the personal override #13280).contract_versionchange, since the change is wording only (chore(config-cascade): record the personal override rename in the contract changelog #13320).Parts: chore\(config-cascade\): call the personal layer the personal override in the contract and shared lib - part 1 of 2 #13187 (chore(config-cascade): call the personal layer the personal override #13280), chore(config-cascade): call the personal layer the personal override in the contract and shared lib - part 2 of 2 #13188 (chore(config-cascade): record the personal override rename in the contract changelog #13320).