Skip to content

refactor(attribution): read audit settings through one YAML-first reader #10538

Description

@kyle-sexton

Slice 1 of #9729, which tracks the move of the attribution settings from .claude/attribution.json to docs/conventions/attribution.yaml. The split and its basis are in the re-triage record on #9729.

Outcome

The attribution audit reads its settings through one reader, YAML first. plugins/attribution/skills/audit/scripts/lib.sh resolves each layer's YAML (<home>/attribution.yaml, <home>/attribution.local.yaml, per ADR 0075) and falls back to the old JSON file only when the YAML is absent (per file, not per key, as plugins/ai-slop/skills/audit/scripts/detect.sh:224-233 does). One shared reader serves all four scripts (check-stamps.sh, list-corpus.sh, score-golden.sh, sweep-ledger.sh), replacing their per-script jq readers, and names the layer behind each value. No YAML is committed in this slice, so this repository still reads .claude/attribution.json and behavior is unchanged.

Blocks: slice 2 and slice 3 of #9729.

Done when

  • scripts/run-test-file.sh plugins/attribution/skills/audit/scripts/check-stamps.test.sh exits 0.
  • scripts/run-test-file.sh plugins/attribution/skills/audit/scripts/list-corpus.test.sh exits 0.
  • scripts/run-test-file.sh plugins/attribution/skills/audit/scripts/sweep-ledger.test.sh exits 0.
  • The reader's tests include: the YAML wins when both exist, the old location is read when the YAML is absent, and the resolver names the layer that supplied each value.
  • scripts/check-changelog-fragments.sh --check-required origin/main exits 0.

Activity

  1. added theissue type on Oct 27, 2026
  2. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 27, 2026
  3. github-actions commented on Oct 27, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Medium
    Uncertainty: Known
    Flags: none
    Blocked by: none

    Understood: slice 1 of #9729. Add one YAML-first shared settings reader in the attribution audit's lib.sh. It falls back to the old JSON per file, names the layer behind each value, and replaces the per-script jq readers in the four scripts. Behavior is unchanged here because no YAML is committed. The outcome and done-when items are specific, and I found no duplicate among the open issues.

    Automated triage, applied by the lanes App.

  4. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 27, 2026
  5. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Oct 27, 2026
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

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions