Classify all 80 conflicted type names, and gate the classification - #2806
Merged
Conversation
Refs #2774 `tri types dup` reports which names have more than one definition and `tri types ratchet` holds that set. Neither can say what KIND of conflict a name is, and the two kinds want opposite repairs: DRIFT one concept that grew a second definition -- converge them DISTINCT two concepts that collided on a name -- rename, or judge and accept All 80 were opened and decided with the reading written down: 46 DRIFT, 34 DISTINCT. docs/TYPE_CONFLICTS.md is the summary, docs/reports/type_conflicts_classified.json is the record. A written reading of a tree stops being true without anything failing, so `tri types classified` re-takes it and fails in both directions -- UNJUDGED for a conflict nobody has read, STALE for a row about a name that is no longer conflicting. Passing over STALE is how a document becomes decoration. Wired into corpus-ratchet.yml; proven red both ways before landing. It earned itself on the first run: HealthStatus, the eightieth name, appeared when #2802 taught the field reader that `pub name: T` is a field. Recorded rather than hidden: four verdicts are reported CONFLICTED by the tool only because it cannot parse `variants : ,` on one side. Those verdicts came from reading the source; the tool agreeing is a coincidence. ci-gates 205-207.
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #2774
tri types dupreports which names have two definitions. It cannot say what kind of conflict each is, and the two kinds want opposite repairs. All 80 were opened and judged:docs/TYPE_CONFLICTS.mdis the summary;docs/reports/type_conflicts_classified.jsonholds the per-name reading that decided each verdict.One row is fixable today with no cross-module decision.
AdamWConfighas both definitions in ONE file (specs/ml/optimizer/adamw.t27lines 28 and 483), six of seven fields identical, and the file's own comment says the second was appended.The document is gated, in both directions
A written reading of a tree stops being true without anything failing.
tri types classifiedre-takes it:Only UNJUDGED feels like a failure. Passing over STALE is how a document becomes decoration. Both are red. Wired into
corpus-ratchet.yml.Proven red both ways before landing, then restored:
It earned itself on the first execution.
HealthStatus— the eightieth name — appeared when #2802 taught the field reader thatpub name: Tis a field. The classification run predated that change and never saw it.Recorded rather than hidden
Four verdicts (
Agent,AgentStatus,Color,HealthStatus) are reported CONFLICTED by the tool only because it cannot parse thevariants : ,enum idiom on one side — it compares an empty field list against a full one. Those four were decided by reading the source; the tool's agreement is a coincidence, not corroboration.docs/TYPE_CONFLICTS.mdsays so in its own section.ci-gates 205-207.