Repository navigation
Model-reception closeout: real-weight smoke, bilingual model flows, return supplement v3, handbooks and handover - #43
Merged
Conversation
…p criterion entries Range line with undetermined applicability now reads 'applicable items X points, Y of which are undetermined' (2026-10-12 item 2); the coverage line shows item counts only (item 3). Criterion advice entries are skipped instead of failing the relation block (149 review P3-4). Existing assertions on the old copy are updated to the decided text.
…rk sentences (EXP-07) export --live --relation-units adds one relation record per R2.support sentence unit (r2-support-units-v1, the product's own splitting), so each exported sentence has the unit_hash the registered model judged. source-map entries carry relation_source (work_unit / assistant_answer), unit_policy, unit_index and unit_hash; model inputs keep their closed key set and carry no gold or rule bound. The default export is unchanged.
… the registered copy 145 review N1: model.json past 64 MiB is refused on its own (arrays small). 147 review P3: verify-return names fusion_selection_not_registered when the given record differs from the copy registered with a 145 fusion registration.
scripts/smoke/xlmr_base.py exports the downloaded FacebookAI/xlm-roberta-base through export_hf_return.py as pretrained_untrained_heads, seals, registers it synthetic_fixture, then reviews the scenario's zh/en decision examples twice in the normal runtime and reports load time, peak RSS, per-sentence token counts, over-limit abstentions and per-sentence seconds, with a MAX_UNITS suggestion (advice only, nothing changed). tests/optional_encoder/check_xlmr_smoke.py needs the encoder extra and the download.
scripts.regression.browser --suite model-flows serves one synthetic registration per phase (keyword linear return; keyword linear x linear fusion at alpha 0.75; linear plus loopback JUDGE and ASSISTANT slots) over real HTTP, a worker and vite preview, and runs tests/regression/model-flows.mjs: submit -> feedback -> identity, training data, per-sentence advice, evidence opening the source, synthetic mechanism title; reload reads stored feedback without a model run; a changed registered file shows as model files changed; the evaluation model line names the JUDGE slot and assistant generation is labelled and served by the ASSISTANT slot (loopback call log checked). Keyword weights contain no digits, so one business fact gives the same per-sentence results in both languages. --optional-encoder adds tiny-encoder, heterogeneous and XLM-R phases. published-flows runs exactly as before.
A sentence whose input passes the encoder's token limit is left unjudged, not cut; when every sentence is, the block says the model judged no sentence (tiny encoder, limit 256, on whole-material candidates). XLM-R (limit 512) judges these inputs.
144 (86), the five merged lines 145-149 (397 as listed by the 157 integration gate, including 146's renamed IDs) and this line's new IDs (4 backend, 9 frontend), all passed. One 149 frontend ID left the tree here: the 'criterion advice' rejection case is replaced by the criterion-skip tests (149 review P3-4); it was never in the baseline.
…lf-check docs/data/return-v3/README.md is the entry page for the responsible party; SHA256SUMS covers all 13 published files and check_package.py (standard library only) verifies it, refuses unlisted files such as .DS_Store, symlinks and unparsable JSON/JSONL. encoder-return.md lists registry-internal and per-prediction abstention codes and asks to delete hidden files before delivery (146 review P3); linear-return.md and fusion-selection.md describe the merged 147 verifier as current (145 review N3). tests/unit/test_return_v3_package.py (PKG-01..09) keeps the package and its sums in step.
README now describes the product after the model-receiving wave: how to run serve, worker and the v4 front end, the two credential variables, the four model slots, registration and verification entry points, and the gate layers. HANDOVER is one page for a new agent or person: services, check-fast and the full gate, contract re-export and re-signing, generated files, the v3 package and the follow-up list. check_fast runs lint plus backend unit and contract tests in about 1.5 minutes. frontend-style.md §2.1 records the model advice block as the one place that may show model IDs, versions and the word training (2026-10-12 decision).
…run) expansion-v3-w08.md: four registration kinds and the inference closure, linear return and fusion registration, encoder return v3 with dependency lock, XLM-R smoke and the MAX_UNITS suggestion, per-sentence consumption, cache and drift, model slots, feedback display, model-flows, verify-return v3 and one-time sealed test opening. W07: the --relation-units export and its source-map fields, sealed layout and v3 linear return roles. modules/W08.md: the 149 display, counts-only coverage and range copy, port override. Stale statements removed. Registration and switching commands were run as written (DOC-01); five places that did not match behaviour were corrected in the text. HANDOVER follow-ups gain candidate length, MAX_UNITS and the contract fix set.
…ck (158 P2-2) models/v3/core.py::evidence_missing (a successful non-INSUFFICIENT result with no selected evidence where evidence is evaluable) now decides both return_evidence_ selection_required in checked_prediction and grid eligibility in select_alpha: such points are computed and reported (evidence_complete=false) but never selected, so the 147 recompute and the format check agree. FSEL-01 adds the grid/format agreement case and the DOC-01 weights case (the only joint-positive point is incomplete, no choice). fusion-selection.md §3 and W08 state the rule; the sklearn reference exporter warns on SUPPORTED/CONTRADICTED rows without evidence (158 P3-1). SHA256SUMS recomputed.
…s --live (158 P2-1) relation_source is written for assistant-answer records only with --relation-units, so an export without the option has the same source-map entry keys as before (EXP-07 now asserts it). With --snapshot the option is refused (relation_units_requires_live_export) instead of silently ignored (158 P3-9). W07 wording corrected; the earlier commit message of 8f7dc31 overstated 'unchanged' for the default export.
…eline (158 P2-3) HANDOVER gains how to register a synthetic linear return with model_flows.build and see the synthetic mechanism block in the normal entry, the v3 package sending steps (copy by SHA256SUMS, send the sums' own hash), the full optional encoder command with check_xlmr_smoke, check-fast timing and the uv run note for the full gate (158 P3-2, P3-13). FLOW-02 now fails when no journal entry exists (158 P3-5); unused tag parameter and copy removed (P3-7). Baseline appends the three new FSEL-01/EXP-07 IDs.
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.
Closeout of the model-reception wave (task book 143, line 150): the returned-model path is exercised end to end with real pretrained weights, the bilingual model flows join the regression suite, the v3 return supplement is packaged for the data/model owner, and the repository documents how to take the work over.
What changes
scripts/smoke/xlmr_base.py, SMOKE-01..03):FacebookAI/xlm-roberta-basepretrained weights with untrained heads are registered as asynthetic_fixture(weights_stage=pretrained_untrained_heads) and driven through loading, sentence splitting and abstention. Measured on this machine: load 2.3–4 s, 0.12–0.34 s per sentence (pair variant), first review 2.8–4.8 s, second 1.4–3.3 s; when a candidate is a whole document every sentence exceeds 512 tokens and abstains as designed.MAX_UNITS=24is kept; a recommendation (12, or batched forward passes on slower hosts) is recorded, not applied.apps/web/tests/regression/model-flows.mjs,scripts.regression.browser --suite model-flows, FLOW-01..05): zh/en runs with a keyword-built linear return and a linear×linear fusion show the synthetic demo block, per-sentence results, evidence buttons opening the source, registration identity and training data, refresh without re-inference, drift after a registry file changes, the assistant generation label from the ASSISTANT slot and the evaluation model name from the JUDGE slot. The same business fact yields the same six sentence verdicts in both languages. Encoder, heterogeneous fusion and XLM-R run in the optional encoder suite.docs/data/return-v3/): README, the linear/encoder/fusion/dataset/prediction/test-opening specs, reference exporters, golden vectors and a standard-library self-check, bound bySHA256SUMS(13 files; removing, adding or altering any file fails the check).docs/data/expansion-v3-w07.md,expansion-v3-w08.md,docs/modules/expansion-v3/W08.mdrewritten to the current commands (four model slots, multi-registration, v3 returns, one-time test opening, tolerance, selection rule); stale statements removed.README.mdupdated from its 2026-10-05 state; newdocs/HANDOVER.mdcovers environment,scripts/check_fast.py(unit + contract + lint, about 1.5–2 minutes), the full gate, contract regeneration, generated files, a no-owner-artifacts demo path viamodel_flows.build("linear", …), the v3 package sending steps and the follow-up list.models/v3/core.py::evidence_missing): a grid point whose own dev predictions contain evidence-less SUPPORTED/CONTRADICTED rows is computed but ineligible, so the recomputation and the return format check can no longer disagree.--relation-unitson the authorised export, EXP-07): one relation record per learner sentence using the samer2-support-units-v1splitter as inference; without the flag the export's structure and keys are unchanged.tests/regression/test-baseline.json; the two 2026-10-12 feedback-copy decisions (denominator line "适用项共 X 分,其中 Y 分适用性待确认"; coverage shown as item counts only); LIN-02model.json> 64 MiB case; FSEL-01fusion_selection_not_registered; criterion entries are skipped instead of failing the block;frontend-style.mdexception for model identity in the advice block.Review and verification
080-review-150.md: first round sent back (default export wrote an extra key; selection and format check disagreed on evidence-less rows; HANDOVER assumed an owner artifact), fixed in438fb37/fbe587b/b3423e5; the reviewer also took over the repository from scratch using only README and HANDOVER. Second round: see the review's re-check section.91310f0(before the three small fixes): lint 0 new; backend 3678 passed / 31 skipped; frontend 448 / 7; 72 state checks; build; per-ID "0 problems" againstmain92aa0eb; browser 20 steps zh+en; MCP bilingual; model-flows 16 default + 12 optional steps; optional encoder suite 23. The fixes were verified with the targeted suites (384 passed, 22 new IDs, 0 missing / 0 regressed), model-flows 16/16, check-fast and lint; the full suite runs again in CI onmain.Not claimed / registered
Model quality is not verified; no owner artifact has arrived; no real test opening has happened (each one is confirmed by the user). Open product questions recorded for the next wave: R2.support candidates are whole materials, so a 512-token encoder abstains on them (candidate granularity is a product decision); heterogeneous fusion therefore shows no labels in the normal entry yet; model-flows is not chained into
run --browser. Criterion-head reception, Judge SFT input export and GRPO stay in the handover list (§8). Receipt: 完成回执/claude-coordination/150-冒烟与中英收口.md.