Repository navigation
Feedback UI for per-sentence model advice: synthetic demo block, counts first, registration identity - #42
Merged
Conversation
…ation Split each work subject by the r2-support-units-v1 rules, journal one advice request per sentence and aggregate: any contradicted sentence decides the work, all sentences supported gives SUPPORTED, everything else INSUFFICIENT. Synthetic registrations now show their labels and evidence as a mechanism demonstration (143 section 5.1 item 2).
Sentence units and synthetic labels change the advice semantics by design; request, job, whole-work input hash, registration and advisory flags stay byte-identical to the pre-move recording.
Each sentence request measures its input with the loaded model first; one over the registered token budget is journaled as abstained with unit_exceeds_encoder_limit and its measured size, and is never predicted.
…hanism labels Normal HTTP and worker runs with constructed marker weights: short and over-budget sentences are counted, insufficient sentences never make a supported work, one contradicted sentence decides it, a restarted job reads journaled sentences back, Chinese and English versions of one fact conclude alike, sentence inputs carry no probe, gold or rule derivations, and synthetic labels stay a marked mechanism that never changes scoring.
Each call checks the registration file hash and the size, mtime, ctime and inode of every registered file; any change means full verification again, so file drift still reaches new feedback as model_files_changed.
…s in feedback Read the new advice fields (sentence units, counts, kind, training data, fusion members, weights stage) and accept a synthetic registration's mechanism labels and evidence (2026-10-12 decision 2). The block is titled "Synthetic mechanism demo" for synthetic registrations, names the work-level conclusion and one line of sentence counts, lists each sentence with its own result and evidence, and names load failure, timeout and all-abstained states without adopting any result. The support section names the recorded evaluation model. Copy moves into a paired table.
…he summary's accessible name
… the criterion and pairing rejections
…eck the conclusion and member weights on read The folded first screen now leads with the sentence counts and follows with the work-level conclusion in a lighter colour (2026-10-12 decision 5: the interface leads with sentences). Reading recomputes the work-level relation from the sentences by 148's conservative rule and drops a suggestion whose recorded conclusion differs; fusion member weights must be one alpha's two shares even without the fusion record.
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.
Feedback UI line of the model-reception wave (task book 143, line 149; merges in the same batch as 148 or right after it). The v4 feedback page section "理由与证据的支持关系" now shows 148's per-sentence relation advice, which closes 148's user-visible gap: until this line, a synthetic registration showed "模型建议失败". The 2026-10-12 decisions apply here:
Per-criterion advice for the 14 items (UI-03) is out of scope by the 10-12 cut.
What changes
readRegisteredAdvice, signature unchanged, optional fields only):units,aggregation, and the identity fieldskind,dataset,components,fusionandweights_stage.status=synthetic_mechanism_onlyand the registration scope issynthetic_fixture. An external registration with a synthetic status, or a synthetic registration withcompleted, is rejected.criteria,rubric_versionorreconciliationis rejected.unavailable/model_prediction_invalid; other advice, rule results and the stored feedback are untouched. Read objects carry norequest_id,job_id,input_hashorunit_hash.updateRegisteredAdvice, signature unchanged):data-model-reference). An evidence button opens the source in the side panel.MODEL_ADVICE_COPY(model-advice-copy.ts), with identical zh/en keys and placeholders. Focus is restored per item, sentence, evidence and reference. Only existing v4 color variables are used, dark mode follows automatically, and there is no motion.apps/web/src/features/feedback-native/. No backend, contract, 144 or 148 file changed.contracts-v2.tsis byte-identical to the generator output for manifestbdeee6db….Review and verification
080-review-149.md(156) on592cab8: 可合入, no P1 or P2, 9 P3.ebc6238; the member weights 0.25 / 0.75 displayed correctly.ebc6238was conflict-free.2e56be1, the final head; no separate re-check of that commit is recorded.v4-slot.test.ts24,model-advice.test.ts12,model-advice.browser.mjs14. MODEL-02 was updated. Reds were taken on the base (node-base-red-full.txt,browser-base-red.txt,p3-base-red.txt), and 22 mutations on the final code all went red.2e56be1:tsc --noEmitpasses.2e56be1, synthetic linear registration, zh and en, 18 screenshots):11e53dd7…(146b765c88→ 14523fb9df→ 1471e2b85c→ 148261118e→ 1492e56be1, integration branch HEAD855b366; 157 receipt).Not claimed / registered
criterion_adviceis always None; when §8 resumes, skip such entries instead.docs/design/frontend-style.md§2.1 forbids model IDs and "training" wording, which conflicts with the required identity display; 150 registers the exception.docs/modules/expansion-v3/W08.mdstill says "机制验证" and hard-codes port 19810. The replacement text is in the receipt, for 150.Receipt: 完成回执/claude-coordination/149-反馈界面模型建议显示.md.