research(ko): step-1 miss-review extractor, validator, blind kit, discovery manifest - #718
Merged
Merged
Conversation
…report (measure-only)
Implements the deferred step-1 tooling from the 2026-09-02 decision record
without touching analyzer behaviour, thresholds, patterns, lexicon or prompts.
- scripts/ko-miss-review-lib.mjs: schema ko-gpt-miss-review.v1, taxonomy
ko-gpt-miss-taxonomy.v1 (NEAR = 0.10), per-family gate deficits from the
production analyzer defaults, the source-free signal projection, extraction
from the frozen scored manifest + ignored private corpus, contract validation
(precondition triple, hash/provenance binding, population binding, no
Hangul/banned keys, regeneration + substring leak check when the private
corpus is present), blind-order permutation and label merging.
- ko-miss-review-extract.mjs: --on-drift fail|exclude for rows the current
analyzer now flags hot (recorded as exclusions, never classified).
- ko-miss-review-validate.mjs, ko-miss-review-kit.mjs (blind / adjudicate /
merge), ko-miss-review-report.mjs (counts only).
- docs/research/ko-gpt-miss-taxonomy-v1.md freezes the deficit encoding and
resolves the KO-diagnostics AND-gate and equality readings.
- tests/unit/ko-miss-review.test.js runs on synthetic KO fixtures in tmp dirs;
no private corpus needed.
- package.json scripts benchmark:ko-miss-review:{extract,validate,report};
artifacts/rebaseline-2025/.gitignore allowlists the two hash-only outputs.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ePnwo4nBWCWvFvpy1YgCN
…ition exclusions Extracted with `node scripts/ko-miss-review-extract.mjs --on-drift exclude --analyzed-at 2026-09-02T08:00:00Z` at commit eb3464d from the frozen scored manifest (sha256:a8cf8565…) and the ignored private corpus. - 56 KO GPT-family misses selected; 48 remain misses under the current analyzer and carry signals, margins and the computed miss_reason. - 8 rows now fire the KO ending-monotony gate (added after the 2026-05-22 scoring) and are recorded as precondition-violated exclusions, not labelled. - Hash-only: no text, spans, matched tokens or Hangul in either file. - Reviewer labels are not merged yet (review: null). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ePnwo4nBWCWvFvpy1YgCN
The substring leak check matched enumerated labels ("high", "clean") that
also occur as English words inside some private texts. It now scans only
reviewer notes, labels and adjudication rationale, and it slides a
12-character window so a quoted fragment embedded in a longer note is
caught; signal and margin blocks stay covered by the Hangul and banned-key
checks. Adds a positive leak test.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ePnwo4nBWCWvFvpy1YgCN
Eight of the 56 frozen candidates now fire the KO ending-monotony gate (added after the 2026-05-22 scoring); they are recorded as exclusions and the reviewed population is the remaining 48. Re-scoring the public claim manifest is left as an owner decision. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ePnwo4nBWCWvFvpy1YgCN
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…y report
- Two independent blinded reviewers (pseudonymous `reviewer-a`, a Claude
agent session, and `reviewer-b`, a GPT-5.5 agent session) labelled all 48
rows from their own permuted sheets: signal projection, gate settings and
margins only. Initial agreement 48/48; no adjudication needed; every final
label equals the extractor's computed tree.
- Manifest rows now carry `review` (both labels, disagreement flag, final
reason), `miss_reason`, `reviewer`, `reviewed_at`, `reviewer_notes`.
Validation with --require-review: population 56 = 48 + 8, regeneration
48/48 byte-identical, no Hangul, no leak window hit.
- docs/benchmarks/ko-gpt-miss-review-v1.{md,json}: population, register x
miss_reason, provider/model x miss_reason, closest family, family deficit
summary, agreement and confusion matrix. Counts only; reviewer kind is
disclosed; no threshold recommendation.
- Backlog step 1 annotated; benchmarks README indexes the report.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ePnwo4nBWCWvFvpy1YgCN
…tion tables 32 of 48 reviewed rows have two sentences, so the standard burstiness gate is blocked by its 3-sentence minimum there; on the 16 three-sentence rows the standard cv gate is live. Recorded as population properties, counts only. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ePnwo4nBWCWvFvpy1YgCN
…xonomy spec Raised by a blinded reviewer: the standard and ending-monotony burstiness gates can tie on the shared cv leaf. The family deficit is identical either way; the report counts ties. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ePnwo4nBWCWvFvpy1YgCN
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.
Summary
Implements the deferred step-1 tooling from
docs/research/ko-gpt-miss-review-step1-decision-20260902.md, commits the discovery manifest, the blinded two-reviewer labels and the measure-only report. No analyzer, threshold, pattern, lexicon, prompt or runtime change.scripts/ko-miss-review-lib.mjs— schemako-gpt-miss-review.v1, taxonomyko-gpt-miss-taxonomy.v1(NEAR = 0.10), per-family gate deficits from the production analyzer defaults, source-free signal projection, extraction, contract validation (precondition triple, hash/provenance/population binding, no Hangul or banned keys, byte-identical regeneration + 12-char leak window when the private corpus is present), blind-order permutation, label merge.ko-miss-review-extract.mjs(--on-drift fail|exclude),ko-miss-review-validate.mjs,ko-miss-review-kit.mjs(blind/adjudicate/merge),ko-miss-review-report.mjs(counts only). npm scriptsbenchmark:ko-miss-review:{extract,validate,report}.docs/research/ko-gpt-miss-taxonomy-v1.mdfreezes the deficit encoding and resolves the two open readings (KO diagnostics as one AND gate; deficit 0 at equality).artifacts/rebaseline-2025/ko-gpt-miss-review.v1.jsonl(48 hash-only rows, reviewed) +.exclusions.jsonl(8 rows).docs/benchmarks/ko-gpt-miss-review-v1.{md,json}— population, sentence-count and closer-burstiness-gate tables,register × miss_reason,provider/model × miss_reason, closest family, family deficit summary, reviewer agreement + confusion matrix.academic-summary, 1blog); recorded asprecondition-violated:document-hotexclusions, reviewed population 48. Re-scoring the public claim manifest (44% → 52% on this cell) is a claim-surface change left as an owner decision.Results (counts only)
Closest family is burstiness on 43 of the 44 far rows. 32 rows have two sentences (generation design), so the standard burstiness gate is blocked by its 3-sentence minimum there and only the KO ending-monotony gate can reach burstiness; on the 16 three-sentence rows the standard cv gate is live (closer gate on 12, tied on 4). Population property, not a threshold recommendation.
Review: two blinded reviewers (
reviewer-a= Claude agent session,reviewer-b= GPT-5.5 agent session; disclosed in the report) saw only blind ids, the signal projection, gate settings and margins. Initial agreement 48/48, no adjudication, all final labels equal the computed tree. The review verifies tree application from pre-computed family deficits, as clarification 1 of the decision record specifies.Test plan
npm run lint(syntax, eslint, tsc, cspell)npm test(unit + e2e;tests/unit/ko-miss-review.test.jsuses synthetic KO fixtures in tmp dirs, no private corpus)node scripts/ko-miss-review-validate.mjs --require-reviewwith the private corpus present: population 56 = 48 + 8, regeneration 48/48 byte-identical, PASSnpm run check:no-private-assetsdocs/benchmarksstale check: cleanMerge with a merge commit: every manifest row's
analysis_provenance.git_commitpoints ateb3464don this branch.🤖 Generated with Claude Code
https://claude.ai/code/session_018ePnwo4nBWCWvFvpy1YgCN