Skip to content

convention: codify batch-1 operator precedents — two-lane defaults (discover via setup, never pre-prescribe) + built-in-first customization gate #557

Description

@kyle-sexton

Source

Operator decision-session batch 1 (2026-07-19) produced two fleet-wide precedents inside issue-specific rulings. They constrain every plugin, so they belong in docs/PLUGIN-PHILOSOPHY.md (and the portability lint lane #531 should eventually enforce them), not buried in issue comments.

Precedent 1 — two-lane convention posture (from the #415 ruling, operator verbatim there)

  1. Shipped defaults must be good-practice defaults that cannot conflict in an arbitrary consuming repo.
  2. The general path: the plugin's setup action/skill discovers the consuming repo's conventions (branch naming, commit structure, patterns) and externalizes them as configuration extensibility points. Pre-prescribed conventions are hardcoded assumptions — dependencies to be externalized.

Precedent 2 — built-in-first customization gate (from the #423 ruling, operator verbatim there)

Before building any custom config surface (YAML concern files, bespoke seams), verify against current official Claude Code plugin documentation whether native mechanisms (plugin userConfig, environment, built-in per-repo config) can host the need. Custom extensibility points are the fallback only where the built-in surface genuinely cannot support it.

Acceptance

Cross-links

#415, #423 (source rulings) · #531 (enforcement lane) · #556 (decision-session skill that produced these)

Activity

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.status: readyTriaged, unblocked, and fully specified; eligible to pick up.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions