Skip to content

chore(config-cascade): call the personal layer the personal override in the contract and shared lib #13182

Closed
2 of 2 issues completed

Description

@kyle-sexton

Parent

Refs: #12750. Epic: #12646. Source: PLAN Phase 10, topic planning-chain-consolidation.

Depends on

Outcome

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.

Demo: check-vocabulary --sense overlay docs lib scripts .github .gitignore 'plugins/*/lib' 'plugins/*/scripts/lib' exits 0.

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.

Out of scope

Activity

  1. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.
    on Nov 4, 2026
  2. added theissue type on Nov 4, 2026
  3. github-actions commented on Nov 4, 2026

    @github-actions
    Contributor

    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.

  4. melodic-automation-lanes commented on Nov 4, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane yet: sub-issue #13188 is open.

  5. melodic-automation-lanes commented on Nov 4, 2026

    @melodic-automation-lanes
    Contributor

    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.

  6. melodic-automation-lanes commented on Nov 4, 2026

    @melodic-automation-lanes
    Contributor

    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.

  7. kyle-sexton commented on Nov 4, 2026

    @kyle-sexton
    MemberAuthor

    Done when is met by its two split parts:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: mediumReal value, no hard deadline; normal backlog flow.work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions