Skip to content

Quarantine contradictory provisional canonical feature claims - #306

Merged
tzhouam merged 1 commit into
mainfrom
fix/kb-discovery-canonical-guard-20261006
Oct 5, 2026
Merged

tzhouam merged 1 commit into
mainfrom
fix/kb-discovery-canonical-guard-20261006

Conversation

@tzhouam

@tzhouam tzhouam commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator

Two independently approved new feature candidates can both claim to be canonical for the same capability and explicitly name each other. Catalog rendering now quarantines both proposals as unknown instead of publishing duplicate canonical entries; it retains their original native decisions and receipts. The guard applies only to consolidated provisional additions, preserving existing formal IDs and the original consolidation input set.

A separate renderer marker makes completed unpublished previews rerender through the official entry point without model calls. Published history stays immutable, and prepared publications from an earlier renderer remain blocked until a separate preview is reviewed.

Validation: 202 discovery, boundary, consolidation, stage, report, integration, index and depth-handoff tests passed; diff check passed. Cases include mutual versus one-way or unrelated claims, exact-ID boundaries, negation, new-plus-supplement relations, original IDs, and cached no-model migration.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-05T19:04:26.057701Z d920ee0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d920ee01c5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +362 to +365
canonical = re.search(r"\bcanonical(?:\s+\S+){0,8}\s+(?:capability|feature|boundary|entry|implementation)\b|"
r"\bthis\s+id\s+(?:is|as|remains)(?:\s+the)?\s+canonical\b", sentence, re.I)
if exact.search(sentence) and canonical and not re.search(
r"\b(?:not|never|non)[ -]+(?:the[ ]+)?canonical\b", sentence, re.I):

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Bind canonical wording to the referenced candidate

When two distinct candidates receive reasons such as This ID is canonical, while web is a distinct feature and the converse for backend, this treats them as mutually contradictory because it only requires the other ID and any canonical phrase to occur in the same sentence. catalog() then changes both independently accepted features to unknown, dropping legitimate entries. The check needs to establish that the canonical claim actually applies to the referenced candidate rather than relying on sentence co-occurrence.

Useful? React with 👍 / 👎.

@tzhouam
tzhouam merged commit 8ae7b8d into main Oct 5, 2026
2 of 4 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.

1 participant