Repository navigation
feat!: a version-2 verdict proves every leg it records - #1239
Merged
Merged
Conversation
ValidKey exposes the source-key grammar and Unfiled reports which of a set of keys a corpus carries no entry for, reading the corpus once and keeping ErrNoCorpus distinct, so a caller that cites a source by key can tell "nothing to resolve against" from "not filed". Assisted-by: Claude:claude-opus-5-5
The verdict payload moves to schema version 2 (spc-2610142138047122). It carries the sources the idea came from; the record grill says what it searched (terms, places, count); the adversarial leg keeps each reviewer's kill attempts, verdict and sources under its own label, with the ruling that settled a split; a reframed verdict carries its reframing in a field of its own; and a claim may be marked quoted. `ideate record` now refuses, writing nothing: a record id in any leg that does not resolve, naming the leg and the id; a primary source that is not an https:// address, a filed source key or a record id; an empty grill with no searches; a reframed verdict without a reframing; reviewers who disagree with no ruling; a verified claim resting on the idea's own source; and a version-1 payload, with a message naming version 2. The research note renders the origins, the searches, each reviewer's section, the ruling and the reframing. The command page moves to the same shape and tells the runner to give each reviewer one idea per context. Assisted-by: Claude:claude-opus-5-5
The record front door hands the core the person's default sources corpus, so a source:<key> citation is checked against it when it exists and accepted on its shape when it does not. The human result shows the quoted claims, the grill's searches and the number of reviewers. Assisted-by: Claude:claude-opus-5-5
Assisted-by: Claude:claude-opus-5-5
The version-2 verdict resolves every record id in every leg, checks the shape of each primary source, records the grill's searches, keeps each reviewer under its own label, refuses a split with no ruling and tells a quoted claim from a verified one, so the five issues it was planned to fix move to resolved/. Resolves: iss-2610141647304982 Resolves: iss-2610141647307807 Resolves: iss-2610141647308358 Resolves: iss-2610141647315880 Resolves: iss-2610141647313018 Refs: itd-2610141646454347 Refs: spc-2610142138047122 Assisted-by: Claude:claude-opus-5-5
The ideate chapter now names the quoted claim status and the three primary-source shapes, the grill's recorded searches, the per-reviewer sections and the ruling a split needs, the origin sources and the reframing, and the refusals that guard them. Refs: itd-2610141646454347 Refs: spc-2610142138047122 Assisted-by: Claude:claude-opus-5-5
…es by meaning A version-1 payload an older command page composed carries its kill attempts on the adversarial leg, so the strict decode stopped at that field and never said to compose version 2; the version is now read first. A claim marked verified against the idea's own source written another way (a trailing slash, an anchor, a host's case, a padded record id, or a source named inside a longer origin entry) is refused as a self-quotation. An address is checked for every kind of space, and an id-shaped segment inside a web address is no longer read as a citation of a record in this repository. Refs: itd-2610141646454347 Refs: spc-2610142138047122 Assisted-by: Claude:claude-opus-5-5
…sources only whole An address in running text now ends at a quote, bracket, comma or semicolon, so an id written straight after one is still resolved. An origin's words count as its sources only when they are an address or a filed source key, as written or with punctuation trimmed, so an address ending in a bracket matches; a record id counts only as a whole origin entry, so a claim checked against a record an origin merely mentions is a primary check, not a self-quotation. Refs: itd-2610141646454347 Refs: spc-2610142138047122 Assisted-by: Claude:claude-opus-5-5
The brief chapter and the command page said every record id anywhere in the verdict is resolved; the recorder resolves the ids in the claims, sources, notes, kill attempts, the ruling's reason, the rejected alternatives, the origin sources and the reframing, outside web addresses, and leaves the grill's searches unchecked by design. The chapter also now says what happens when a rolled-back verdict cannot be removed. Refs: itd-2610141646454347 Refs: spc-2610142138047122 Assisted-by: Claude:claude-opus-5-5
Every acceptance criterion of the version-2 verdict is built and tested, so the spec moves to closed/ and its intent to shipped/. Delivers: itd-2610141646454347 Refs: spc-2610142138047122 Assisted-by: Claude:claude-opus-5-5
…'s author An unresolved id written in a reviewer's label or in who ruled was recorded; both are part of the adversarial leg, so they are now resolved like the rest of it, and the brief chapter and command page list them. Refs: itd-2610141646454347 Refs: spc-2610142138047122 Assisted-by: Claude:claude-opus-5-5
The fidelity audit of the delivered range judged all nine acceptance criteria met and all three scope conditions survived. Refs: itd-2610141646454347 Refs: spc-2610142138047122 Assisted-by: Claude:claude-opus-5-5
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.
An ideate verdict now proves each of its three legs. The recorder takes schema version 2, and refuses a verdict whose legs claim more than they show.
https://address, a filedsource:<key>(resolved against the sources corpus where one exists) or a record id.verifiedagainst one of those sources is refused as a self-quotation. Its proper status isquoted. This holds however the source is written: a trailing slash, an anchor, the host's case, a padded id, or a source named inside a longer origin entry.The ideate brief chapter describes the new shape.
Tests: each of the nine acceptance criteria has a case in
internal/core/ideate/v2_test.go. Each case was watched fail with its rule removed from a copy of the code and pass with it in place. The review pair's findings (the version-1 decode, normalising sources in the self-quotation check, any kind of space in an address, ids inside addresses) were fixed test-first, and each new case was watched fail against the earlier code.A docs review of the ideate brief chapter and command page was recorded for the branch head, and an intent fidelity audit of the delivered range judged all nine criteria met.
Delivers: itd-2610141646454347
Refs: spc-2610142138047122
Resolves: iss-2610141647304982
Resolves: iss-2610141647307807
Resolves: iss-2610141647308358
Resolves: iss-2610141647315880
Resolves: iss-2610141647313018
Refs: iss-2610141647309012
Assisted-by: Claude:claude-opus-5-5