Skip to content

docs(meta-257): add the ratified conformance taxonomy - #6

Merged
qmarcelle merged 3 commits into
mainfrom
docs/meta-257-conformance-taxonomy
Aug 13, 2026
Merged

docs(meta-257): add the ratified conformance taxonomy#6
qmarcelle merged 3 commits into
mainfrom
docs/meta-257-conformance-taxonomy

Conversation

@qmarcelle

Copy link
Copy Markdown
Contributor

What this is

The taxonomy half of META-257: the ratified vocabulary separating standard conformance from first-party adapter parity from external consumer conformance.

docs/migration/identity-catalog.md already names this document as the taxonomy half's destination ("This catalog is input to META-257's taxonomy half (conformance vocabulary)"). This commit supplies it. The file had been sitting untracked on a working copy of main.

Why it matters

A contract harvested from one implementation is not a contract; it is a description.

Without this vocabulary, the first adapter's shape leaks into the contract by citation — "Codex does X, so the standard requires X." The three classes are made structurally distinct so that adapter behaviour cannot become normative by repetition, and so that a second adapter differing in an unspecified area reads as revealing an underspecification rather than as non-conformance.

Ratification status — please read before merging

The document is deliberately two-speed, and the PR should not be read as ratifying all of it:

Part Status
The three conformance classes + capability classification (native / adapted / unavailable) Ratified
Contract classes (final section) Provisional — pending second-adapter evidence (META-260)

Boundary ratification waits on META-260. That split is stated in the document itself (intro and §"Contract classes (provisional)").

One tension worth a reviewer's eye

§"Why this vocabulary exists" argues that "'Provisional' is not a load-bearing safeguard — provisional ratifications become canonical through repeated reference." The document then ends with a section of explicitly provisional contract classes.

This is answered rather than ignored — the closing §"Exit criteria for provisional interfaces" requires every provisional interface to declare what evidence would stabilise, retire, or change it, on the grounds that "an interface with no exit criteria is not provisional; it is permanent in disguise." But whether the contract classes in the preceding section actually carry those declared exit criteria yet is a fair review question, and the honest answer today is that they carry a pointer to META-260 rather than a per-interface set.

Scope

One file added, 91 lines. No code, no config, no behaviour change.

Records the vocabulary that separates standard conformance from
first-party adapter parity from external consumer conformance, so that
adapter behaviour cannot become the contract by citation.

The taxonomy half of META-257 is ratified. The contract classes in the
final section remain provisional pending second-adapter evidence
(META-260), and are marked as such in the document.

Companion to docs/migration/identity-catalog.md, which named this
document as the taxonomy half's destination.
Copilot AI lite review requested due to automatic review settings August 9, 2026 14:09

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

qmarcelle added a commit that referenced this pull request Aug 12, 2026
Calibration ran on PR #11 (canary, closed unmerged) against this policy.

All seven criteria observed. Greptile caught the positive control (P1 on
extension/src/pathMatch.ts at e22d6f5) citing the branch-local rule by name,
stayed silent on the reverted clean head (447a318, 0 comments), and retriggered
on push. Merge eligibility behaved as claimed: PR #10 sat at BLOCKED on one
unresolved thread.

Two results qualify how a required check should be read, and are recorded rather
than smoothed over:

- the Greptile check concluded success on the head carrying the P1, so the check
  encodes review completion, not absence of findings;
- GitHub auto-resolved the canary thread when the revert removed its lines, so
  required_conversation_resolution can be satisfied without anyone answering a
  finding.

Decision: Greptile Review is eligible as a required current-head gate. The
required-contexts mutation is deliberately not applied here — PR #6 is BEHIND and
predates the policy, so the change costs a PR this issue does not own.

Reconciles review findings on #10 individually:

- Greptile P2: corrected a false coverage claim. extension/test/intelligence.check.ts
  does exercise pathsMatch; the real limitation is that no gate runs that suite.
  Chasing it down found the suite is already red on main against pre-META-291
  assertions — filed as META-329, not repaired here.
- Sourcery 1: audited rules.md/config.json scope parity, all nine scoped rules
  match; config.json declared authoritative for scope so drift has a resolution
  direction.
- Sourcery 2: added a refresh procedure and measurement stamp to the branch
  protection section, which transcribes settings that can change externally.

Refs META-322, META-329
qmarcelle added a commit that referenced this pull request Aug 12, 2026
Records the 2026-08-12 branch-protection change: Greptile Review added to required contexts, pinned to app id 867647, with strict, both build-and-smoke contexts, and required_conversation_resolution preserved. Sourcery deliberately not promoted.

Also records the first post-policy proof on PR #12 at 76d495d and the accepted cost to stale PR #6.

Refs META-322

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qmarcelle has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qmarcelle has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@sonarqubecloud

Copy link
Copy Markdown

@qmarcelle
qmarcelle merged commit 243a5c9 into main Aug 13, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants