Repository navigation
refactor(attribution): move the .claude/attribution.json settings to docs/conventions/attribution.yaml #9729
Copy link
Copy link
Open
Labels
needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.Human-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.
Description
Parent
Refs #5906
Depends on
- none: on the frontier now
Outcome
The attribution settings this repository keeps in .claude/attribution.json resolve from docs/conventions/attribution.yaml,
validated by a schema the plugin ships. The old location is read only when the YAML is absent, for one release.
The setup skill, if the plugin has one, writes the YAML.
Decisions
- ADR 0064 Decision 1: a plugin's team settings live in one
docs/conventions/<concern>.yaml, validated by a
JSON Schema atplugins/<plugin>/schemas/<concern>.schema.json(Decision 6), checked in CI by
scripts/check-convention-yaml.sh(Decision 7). Script readers use the shared readerlib/parse-concern-value.sh. - ADR 0075: layers are plugin default <
userConfig< team<home>/<concern>.yaml< personal
<home>/<concern>.local.<ext>; every resolver reports the layer that supplied each value. - Migrate per-skill .claude config files to userConfig, one conventions doc, or the cascade (ADR 0018) #5906 (comment 2026-10-04): each reader keeps reading the old file for one release when the new file is
absent, and this repository keeps its old file until the cleanup slice.
Key interfaces
- The attribution audit's config reader and reference.
Done when
-
docs/conventions/attribution.yamlcarries every value of.claude/attribution.jsonandscripts/check-convention-yaml.sh --checkexits 0 againstplugins/attribution/schemas/attribution.schema.json. -
scripts/run-test-file.sh plugins/attribution/skills/audit/scripts/check-stamps.test.shexits 0. -
scripts/run-test-file.sh plugins/attribution/skills/audit/scripts/list-corpus.test.shexits 0. -
scripts/run-test-file.sh plugins/attribution/skills/audit/scripts/sweep-ledger.test.shexits 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.
- No skill body tells an agent to read or write the old location:
git grep -nfor it underplugins/attributionprints only compatibility-read code, its tests and changelog lines. - The PR body lists each migrated setting with its new home and schema.
-
scripts/check-changelog-fragments.sh --check-required origin/mainexits 0.
Out of scope
- Deleting this repository's old file or block (the cleanup slice under Migrate per-skill .claude config files to userConfig, one conventions doc, or the cascade (ADR 0018) #5906).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.Human-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.
Type
Fields
No fields configured for Task.
Activity
melodic-automation-lanes commentedon Oct 24, 2026
The work-resolve-issue run that
agent-readystarted failed or was cancelled before it reported, or it stopped or the token broker refused it because its workflow files differ from main's. work-unblock removed and addedagent-readyback to start a fresh run on main's workflow files. It does this once per version of those files, so if this run fails the same way, a person looks at it.melodic-automation-lanes commentedon Oct 24, 2026
The work-resolve-issue lane stopped on its usage limit, not on this issue. It keeps
agent-ready, and work-unblock starts it again after 2026-10-25T16:00:00Z.Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/40140298272
melodic-automation-lanes commentedon Oct 25, 2026
The work-resolve-issue lane stopped on this issue: turn cap 75 reached. It keeps
agent-ready, and work-unblock starts it again from the branch, or fresh from the default branch once the branch is behind it.Partial work is on the branch
work-resolve-issue/issue-9729-40186537977-1; a restart or retry continues from it while it is not behind the default branch, and otherwise starts fresh. Delete the branch first to always start fresh.Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/40186537977
melodic-automation-lanes commentedon Oct 25, 2026
The work-resolve-issue lane stopped on this issue: turn cap 75 reached. It has used its restarts, so it needs a person.
Partial work is on the branch
work-resolve-issue/issue-9729-40190696088-1; a restart or retry continues from it while it is not behind the default branch, and otherwise starts fresh. Delete the branch first to always start fresh.Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/40190696088
To retry (from the branch while it is not behind the default branch, else fresh), remove
needs-humanand addagent-readyagain; a smaller issue, or a larger Size or Complexity field, may fit the cap.