Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/contracts/upstream-drift/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ Notable changes to the upstream-drift contract (SemVer). Changing a required par
name, or an enforceability verdict is a major bump; additive guidance is a minor bump; docs-only
clarification is a patch.

## [4.2.1] - 2026-11-05

Patch: records the owner's decision that the cleaned-state CI gate is deferred until a sweep applies
a disposition, with its recheck trigger, in the enforceability section. No required part,
canonical name, or enforceability tier changes.

## [4.2.0] - 2026-11-05

Minor under this contract's own rule: no required part, canonical name, or enforceability tier
Expand Down
24 changes: 24 additions & 0 deletions docs/contracts/upstream-drift/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -520,6 +520,30 @@ real signal into noise with an approved silencer.
upstream restatement from an in-repo one without a suppression list. Either event reopens the
shape question; neither is a date.

### Recorded decision: the cleaned-state gate is deferred until a sweep applies a disposition

**Decided 2026-11-05 UTC: no CI step fails a pull request on a new fix-eligible attribution
finding yet.** The owner chose to turn the gate on only after a sweep applies dispositions
([#9759, Q-9759-2 (b)](https://github.com/melodic-software/claude-code-plugins/issues/9759#issuecomment-6662333491)).

Why:

- The [disposition sweep of 2026-11-04](https://github.com/melodic-software/claude-code-plugins/issues/3465#issuecomment-6633945050)
applied 0 dispositions.
- One class is fix-eligible: the owner declared fingerprint-confirmed near-verbatim findings
eligible on 2026-11-02 (`plugins/attribution/CHANGELOG.md` 0.15.0; [CHANGELOG 4.2.0](CHANGELOG.md)),
superseding the 2026-10-30 ruling that none was. No sweep has applied one, so the gate waits on the
first applied disposition, not on an eligible class.
- The sweep's zero is not evidence the repository is clean: most files got only the automatic scan
and most closures hold candidates no panel judged ([CHANGELOG 4.2.0](CHANGELOG.md)). It does not
show the gate would pass, or that a predicate for it would be right.

- **Recheck trigger**: the first disposition sweep that applies at least one disposition, recorded
on [#3465](https://github.com/melodic-software/claude-code-plugins/issues/3465) or its successor
sweep record.
- **Built then**: a gate step in `pr-require-checks.yml` that fails on a new fix-eligible finding,
with a failing and a passing `.test.sh` fixture.

## Adopters

The rows below were migrated at this contract's 1.0.0 to the single name, each citing this doc with
Expand Down
Loading