Skip to content

refactor(ai-slop): move the .claude/ai-slop.json settings to docs/conventions/ai-slop.yaml #9728

Closed

Description

@kyle-sexton

Parent

Refs #5906

Depends on

  • none: on the frontier now

Outcome

The ai-slop, harness-config settings this repository keeps in .claude/ai-slop.json resolve from docs/conventions/ai-slop.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 at plugins/<plugin>/schemas/<concern>.schema.json (Decision 6), checked in CI by
    scripts/check-convention-yaml.sh (Decision 7). Script readers use the shared reader lib/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 ai-slop audit's config reader and its documented config reference; harness-config's mentions of the file. The JSON _comment becomes YAML comments.

Done when

  • docs/conventions/ai-slop.yaml carries every value of .claude/ai-slop.json and scripts/check-convention-yaml.sh --check exits 0 against plugins/ai-slop/schemas/ai-slop.schema.json.
  • scripts/run-test-file.sh plugins/ai-slop/skills/audit/scripts/detect.test.sh exits 0.
  • scripts/run-test-file.sh plugins/ai-slop/skills/audit/scripts/cross-check.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.
  • No skill body tells an agent to read or write the old location: git grep -n for it under plugins/ai-slop, plugins/harness-config prints 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/main exits 0.

Out of scope

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.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions