Noema document multimodal envelope + proofreading checklist (#2280) - #2281
seonghobae wants to merge 35 commits into
Conversation
…). DOCX/HWPX figures now flow through ReviewContext into call_llm as data-URL image_url parts with fail-closed omission guards, and the reviewer prompt reuses humanize-korean and source-check proofreading rules. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Warning Review limit reachedNext included review available in 48 seconds. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (16)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Matches the contextual-orchestrator multimodal contract confirmed for free-pool image_url data-URI envelopes. Co-authored-by: Cursor <cursoragent@cursor.com>
seonghobae
left a comment
There was a problem hiding this comment.
Fleet review — exact head 183a2d8773ae023cc1d8285329c6459507bec072.
이 generation은 figure omission을 fail-closed로 바꾸는 방향 자체는 맞지만, 현재 상태를 merge-ready multimodal contract로 볼 수는 없습니다. 두 owner 경계가 아직 뒤섞여 있습니다.
첫째, .github가 DocumentImage.to_multimodal_parts()와 _user_message_content()에서 OpenAI-style text/image_url wire schema를 직접 생성합니다. CWL의 LLM wire/capability owner는 contextual-orchestrator(CO)이고, 이 PR이 명시적으로 짝지은 CO #1203도 현재 exact head 1cd4d3058cf8667270eb54988e43d04e39dcf84a의 open/unreleased prerequisite입니다. 소비자가 mutable sibling head의 wire shape를 source-copy해서 먼저 Ready가 되면 released-contract/ACL 원칙과 역전됩니다. CO가 document/image content-part schema + client/adapter를 immutable release로 제공하고, .github는 orchestrator/free + gateway token을 쓰는 thin caller로 그 released surface만 소비해야 합니다. capability가 아직 없다면 이 lane은 fail closed/Draft로 남기고 CO owner를 먼저 완성해야 합니다.
둘째, 현재 DOCX extraction은 실제 문서 관계/배치를 읽지 않고 word/media/*를 filename 정렬로 전부 image로 간주합니다. 새 test도 word/media/figure1.png를 넣지만 word/_rels/document.xml.rels와 a:blip r:embed=...가 없는 orphan media fixture입니다. 따라서 지금 GREEN은 ‘ZIP 안에 이미지 파일이 있으면 model payload에 들어간다’를 증명할 뿐, ‘문서에 실제로 배치된 figure가 정확한 source position/provenance와 함께 전달된다’를 증명하지 않습니다. 편집 과정에서 남은 미사용 media가 모델로 전송될 수 있고, 두 이미지의 문서 순서/문단·표·캡션 관계도 figure-N locator로 유실됩니다. HWPX도 suffix 기반 archive-wide media scan이라 같은 provenance 문제가 있습니다.
RED를 실제 OOXML relationship semantics로 고정해 주세요. 최소한 (a) 두 이미지의 lexical media filename 순서와 document drawing 순서가 반대인 DOCX, (b) word/media/ 안 orphan image 1개, (c) paragraph/table/caption 주변 drawing, (d) missing/duplicate/external or traversal relationship target을 포함한 fixture에서 실제로 r:embed로 참조된 image만 document order로 전달되고 orphan은 제외되며, locator가 path + document position + relationship id/target에 재현 가능하게 연결되고 unsafe/broken relationship은 fail closed여야 합니다. HWPX도 실제 section/reference contract에 같은 수준의 source/image position provenance를 요구합니다.
GREEN은 1) CO released multimodal schema/client prerequisite, 2) relationship-bound image selection, 3) source-position/provenance fixture, 4) exact-head consumer E2E에서 orchestrator/free가 그 released envelope를 실제 수신하고 image-capability absence에서 fail closed하는 것까지입니다. synthetic fixture는 unit/contract test에는 적절하지만, release acceptance에서 ‘figure review가 실제 문서 의미를 보존한다’는 claim은 right-cleared realistic document로 별도 확인해야 합니다.
현재 판정: multimodal omission prevention은 방향성 PASS, canonical-owner/released-dependency 및 source-image provenance는 FAIL. source-neutral restamp나 mutable CO head pin으로 GREEN 처리하지 말고 ordinary-forward로 수리해 주세요.
|
Lifecycle correction — exact head Verified prerequisite state:
Acceptance remains owner-first: CO RED → released multimodal schema/client contract → immutable version/pin → this consumer’s thin |
seonghobae
left a comment
There was a problem hiding this comment.
Fleet currentness follow-up on exact .github#2281@183a2d8773ae023cc1d8285329c6459507bec072; the earlier relationship/source-position finding remains open, and two moving prerequisites have changed since that review.
- Protected
.github/mainis nowe6334e229581a918e2f22de18733b76fa65d7e71after verified merge of #2279. This PR still reports base64aa08d7fa487deacd41c761c36277ca68cab6c9, so eventual exact-head acceptance must occur only after an ordinary/non-force adoption/reconciliation of the intervening protected-main delta. Pre-reconciliation local/hosted evidence cannot be terminal merge evidence for the reconciled generation. - CO #1203 has advanced beyond the body’s recorded
1cd4d305...; the live PR head is now1a9e066f619f5a56e9d75028c1050c8ff25c4fd9(two commits beyond its own currently documentedf8783af...). Its new exact-head Security/Semgrep/CodeQL runs are queued, and it remains Draft/unreleased. The #2281 dependency line therefore must not treat the older head as current owner authority or pin a mutable predecessor.
RED: exact-head release/readiness evidence must fail currentness if consumer ancestry omits the live protected base or if the recorded owner prerequisite SHA is no longer the live/released authority. GREEN order remains: CO #1203 reaches normal protected merge + immutable release/versioned schema/client → this lane adopts that released contract and current protected .github/main by ordinary/non-force ancestry → retain/fix the still-open OOXML/HWPX relationship + source-position provenance contract → reacquire all exact-head checks and independent review.
Do not use a source-neutral restamp or rerun on unchanged stale ancestry. This follow-up changes only prerequisite/ancestry acceptance; it does not supersede the prior figure-provenance review.
seonghobae
left a comment
There was a problem hiding this comment.
TRACEABILITY/current-owner finding on exact .github#2281@f3ab09d95c7bf2f435d4d4610737a8debf8a51c2.
The DOCX relationship/source-order repair is now materially better, and the Gap baseline correctly keeps HWPX provenance + immutable CO release as Proposed. However the same exact generation records three different upstream CO generations as if they were current: the PR body still says #1203 last checked at 1cd4d305…, the doctoring/gap docs record 1a9e066f…, while live canonical owner #1203 is now 0b80ab4933feaa443590baed4acfcf45b02eacce. #1203 itself is still Draft/unreleased, so none of those mutable SHAs is consumable release authority.
RED: one exact consumer generation must not present an older mutable owner SHA as current while a newer canonical owner head exists; hosted contract/E2E evidence must be bound to the immutable owner release/pin eventually consumed, not transferred from 1cd…/1a9e….
GREEN: in the existing .github owner lane, currentize coordination/TRACEABILITY to #1203@0b80ab49… (or fresh-read whatever succeeds it at mutation time), explicitly mark historical SHAs as historical evidence, and keep the consumer pin unchanged until ordinary protected merge + immutable CO release. After release, bump the released version/SHA once and rerun exact consumer API-schema/E2E/model-behavior/security/SBOM/provenance checks. Do not vendor/copy the mutable CO wire implementation into .github.
The remaining HWPX relationship/source-position provenance blocker is correctly still open; do not downgrade it merely because DOCX is repaired.
seonghobae
left a comment
There was a problem hiding this comment.
Re-review on exact 711b92d4aa385d082d4c74d63fbaa4aee605f508 after owner repair.
TRACEABILITY/current-owner: PASS. This generation now records the live canonical contextual-orchestrator owner as #1203@0b80ab4933feaa443590baed4acfcf45b02eacce, distinguishes mutable owner state from released authority, and keeps consumer pinning blocked until ordinary protected integration plus immutable CO release. Historical focused/full local evidence is correctly bound to this .github generation rather than treated as CO release authority.
DOCX figure provenance/source order: source-level PASS candidate. The current body and source/test lineage now bind DOCX figures through document.xml.rels, preserve a:blip source order, ignore orphan media, and fail closed on unresolved/out-of-bound targets. The focused 57 passed, 2 skipped and full 3376 passed, 28 skipped, 40 subtests are useful local exact-tree evidence, not substitutes for hosted/current independent review.
Remaining blocker: HWPX provenance FAIL. HWPX still discovers images by archive suffix rather than the authoritative section relationship/source-position mapping. RED should include archive filename order differing from section order, orphan media, reused relationship targets, broken/external/traversal targets, figures in table/text-run order, and duplicate binary reuse with distinct source positions. GREEN is relationship-bound extraction that emits the semantic unit plus section/paragraph/table/image position and provenance without filename-order inference.
Keep Draft/Proposed. Merge remains blocked on: #1203 exact-head acceptance → ordinary protected merge → immutable owner release/client/schema → one consumer pin update → fresh .github API-schema/E2E/model-behavior/security/SBOM/provenance evidence, plus the HWPX source-position repair and qualifying independent current-head approval. No mutable sibling-head consumption.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head review for 7a02d5e794b8c6484ff74bd05b5858921caca4c8 (tree 5881f563425c15df842d88beced529e72b4cd938).
The concurrent source-order repair and main-integration commits were preserved before this review. A test-first follow-up found four remaining relationship-boundary defects in the live implementation: duplicate IDs were last-write-wins, a traversal could normalize out of and back into word/media, lowercase external target mode was admitted, and the locator omitted relationship/media provenance. The four-case RED was 4 failed / 34 deselected.
The minimal repair rejects those ambiguous relationships before archive reads and binds each locator to body position + relationship ID + resolved media path. Verification on the exact integrated tree:
- document focused: 53 passed / 2 skipped;
- owned document reader: 294/294 statements and 106/106 branches (100%);
- full repository warnings-as-errors: 3,417 passed / 28 skipped / 40 subtests;
- compileall and diff check: PASS;
- protected main compare: 8 ahead / 0 behind, mergeable;
- unresolved review threads: 0 at review time.
No new source finding remains from this review. This COMMENT is exact-head evidence, not self-approval. The PR remains Draft/Proposed because contextual-orchestrator#1203 is unreleased/unpinned, HWPX authoritative source-order provenance remains open, hosted exact-head Checks are non-terminal, and an independent approval is absent.
|
Exact-head evidence receipt —
This receipt is not merge authority. Draft/Proposed remains correct until the canonical contextual-orchestrator contract is ordinarily merged, immutably released and pinned; HWPX source-order provenance is resolved; exact-head hosted Checks are terminal GREEN; and an independent non-author approval exists. |
Advance the canonical Gap baseline and doctoring record to contextual-orchestrator#1203 head 79fef32b, its exact tree, RED-to-GREEN streamed admission evidence, and the remaining owner release/consumer-pin gates.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head review at 19dcbc820e7b5c8869a75872e027ec050907e6dc.
RCA: predecessor dc47aa82faf4a838b96b63a84a459efea7e91c84 replaced the central Gap baseline by +11/-1,897, removing 28 of 59 protected level-two sections. This contradicted the repository's own PRD/TRD/governance authority while the leaf runtime diff remained otherwise independent.
RED 9ba78fe89f2d2dd19477650c5a26d42df5e4bd24 extends the existing baseline contract with six representative protected authorities. GREEN 19dcbc820e7b5c8869a75872e027ec050907e6dc restores protected main, adds the three Proposed Noema/owner/preservation rows, and updates the mutable owner trace to contextual-orchestrator#1203@9d0fa9a5….
Direct exact-blob verification: baseline compare is now +8/-0; 59/59 protected headings remain; all six new regression markers, the preservation Gap row, and current owner head are present. No leaf runtime file changed in this repair.
This is not an approval. The PR remains Draft because HWPX relationship/source-position provenance, owner merge/release/pin, six fresh hosted checks, and independent approval are still open.
seonghobae
left a comment
There was a problem hiding this comment.
P0 baseline-authority RED is live on the current exact head 9ba78fe89f2d2dd19477650c5a26d42df5e4bd24; the PR body is ahead of the branch state.
Fresh compare against protected main@e6334e229581a918e2f22de18733b76fa65d7e71 shows docs/product-technical-gap-baseline.md is still +11 / -1,897 on the actual head. The current head commit is only test(gap): preserve protected baseline authority with parent dc47aa82...; it adds the preservation RED but does not restore the deleted canonical sections. Therefore the new test is correctly a RED generation, not a completed repair. The PR body currently records dc47aa82... as “current head” and describes a later selected/docs-only repair that is not in the live branch ancestry.
The exact-head Actions evidence is also non-terminal: the current 9ba78fe... Agent Review Runtime Quality CI, Python Security, Semgrep, Security Scan, CodeQL and trusted-uv runs were cancelled. CodeRabbit/Devin status success does not replace the missing repository gates.
RED: keep test_baseline_preserves_protected_main_authority_sections failing against this generation and preserve the compare evidence that 1,897 baseline lines / protected authorities are missing.
GREEN: ordinary-forward from 9ba78fe...; restore the complete protected-main docs/product-technical-gap-baseline.md authority first, then add only the Noema/CO Proposed rows on top. The exact base→new-head compare for this file must show no unexplained protected-authority deletion, the preservation test must pass at the new exact head, and the PR body/doctoring must be updated to that actual head/tree rather than a future or stale generation. Reacquire fresh exact-head quality/security/CodeQL plus independent non-author review after the causal repair. Do not use an empty/no-op wake commit and do not transfer cancelled/predecessor checks.
Separate blockers remain unchanged after that repair: HWPX relationship/source-position provenance is still unresolved, and contextual-orchestrator#1203 is open/unreleased, so mutable owner source is not consumer authority.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head traceability review at 523b201f913c3e9f8c07bd06de8641ba45635e74.
The previous source ledger still bound CONTROL-NOEMA-MULTIMODAL-OWNER-02 to predecessor contextual-orchestrator#1203@5767e73c… after the owner advanced. Ordinary-forward commit 523b201f… updates that single Gap row to owner exact 4e596eb4…, tree 459bddcb…, and distinguishes the parent 117-test evidence from the current test-only Chat/Responses × "false"/0 matrix.
Compare 183b2a5f…→523b201f… is ahead 1 / behind 0 and changes one baseline line only. Direct exact-tree comparison against protected main@e6334e22… preserves all 59/59 level-two headings with none missing. Fresh six hosted runs are queued/nonterminal; this is not approval. Draft / Proposed remains correct because HWPX relationship/source-order provenance, terminal gates, independent approval, owner merge/release, and consumer pin are still absent.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head traceability review at dd4b7094988073d9c51079ade391cb8925ac6b30 (tree 4be2ab6301218d03d0f7cd9f08f0d59087eb9ffe).
Concurrent HWPX work was preserved rather than overwritten: RED 21eae9d5e9ce4ee43ee692776a1062c13c9f1a98 adds manifest/spine/section-order, orphan, reused-target, table-position and hostile package-boundary cases; GREEN 768860076068384552c9dfdb02bec1d8996962be replaces archive-suffix ordering with manifest-bound section traversal and stable source locators. The docs-only successor updates the canonical owner ledger to contextual-orchestrator#1203 exact 37435b5e82e9fe53abc67b032c67df83425c0250, including RED 7f69bacb… → GREEN 37435b5e… for free/image-qualified judge failover isolation.
Direct current-tree checks: compare to protected main@e6334e22… is 19 ahead / 0 behind; all 59/59 protected level-two Gap headings remain; unresolved threads are 0. Six exact-head workflows are queued/nonterminal, independent approval is absent, and contextual-orchestrator#1203 remains open/unreleased. This COMMENT is current evidence, not approval; Draft/Proposed remains correct.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head currentness repair at 765e92b67010587e9ced947b104ced47215eade8 (tree 7cd20542c26c0116d922d8b2cacfe4f567d3c469). The prior body named parent ec19054d… as current; 765e92b6… is its ordinary-forward docs-only child and updates only the canonical contextual-orchestrator owner row. The body now binds owner #1203 exact 9dbfb49b…, tree 5363cdc4…, while keeping source GREEN b7440092… and predecessor test evidence explicitly scoped. Compare to protected main@e6334e22… is 24 ahead / 0 behind across 13 paths; unresolved threads remain 0. Six exact-head workflows are queued and independent approval is absent, so Draft/Proposed remains correct.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head cross-file authority repair at 79a0a3e6d4a48ccb54622192ec42305097f44605 (tree 28a56cc1080a693bbf2c6c1003f8511fdaf0e395). RCA: the latest current-owner rewrite retained #1203 role-preflight/source-truncation evidence but silently dropped the independently verified judge-failover RED 7f69bacb… → GREEN 37435b5e…. RED 290c292a… adds an executable owner-row invariant and fails on exactly those two missing milestones. GREEN 79a0a3e6… carries all four required owner revisions: 7f69bacb…, 37435b5e…, b7440092…, and current 9dbfb49b….
Direct exact-blob evaluation has no missing milestone; compare to protected main@e6334e22… is 26 ahead / 0 behind across 13 paths; protected level-two headings remain 59/59; unresolved threads are 0. Six exact-head workflows are queued/nonterminal and independent approval is absent. This COMMENT is evidence, not approval; Draft/Proposed remains correct.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head traceability review for 79a0a3e6d4a48ccb54622192ec42305097f44605.
The current generation is an ordinary two-commit successor of 765e92b6… (ahead 2 / behind 0) and changes only the CONTROL-NOEMA-MULTIMODAL-OWNER-02 gap-baseline row plus its focused preservation test. The test binds that exact row to the complete verified owner lineage:
- judge-failover RED
7f69bacb0d35f00e6902df8e440efeafbe08dbe3 - judge-failover GREEN
37435b5e82e9fe53abc67b032c67df83425c0250 - source/role/truncation GREEN
b7440092d1cda47008271ed658fe372f536dd58f - live canonical owner head
ContextualWisdomLab/contextual-orchestrator#1203@9dbfb49b3eccd6b9dfc8c418e5826cb69234b8de
The upstream owner is still open/unreleased, so this review does not transfer or claim its hosted evidence. Against protected main@e6334e22…, this PR is ahead 26 / behind 0 with 13 effective paths, and there are no unresolved review threads.
No new source-level finding surfaced in this narrow lineage-preservation delta. Keep the PR Draft until the canonical owner is merged/released and pinned here, the current exact-head six-lane checks are terminal passing, and an independent approval is present. The currently queued runs are not passing evidence.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head owner-currentness GREEN at 59b23d961abc55f30a9163f294feec221e4aa6c2 (tree 3c6be342d41f6b61d87c6e01c9e3761d55984a9a). RED 68160b17… updates the executable leaf invariant from predecessor owner 9dbfb49b… to current contextual-orchestrator#1203 exact 5fa1c8b8…; the then-current baseline fails that currentness check. GREEN 59b23d96… advances only the owner evidence row to tree 027ee33b… and retains judge-failover 7f69bacb…→37435b5e… plus role-preflight/source restoration b7440092….
Direct exact-blob evaluation has no missing required owner milestone; compare to protected main@e6334e22… is 28 ahead / 0 behind across 13 paths; all 59/59 protected headings remain; unresolved threads are 0. Six exact-head workflows are queued/nonterminal and independent approval is absent. This is not approval; Draft/Proposed remains correct.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head review at 4f10b3bc748a780cc23f2f9fa36e98adce6f1e0e.
Two terminal hosted failures were causal repository defects, not transient runner noise.
-
Trusted uv run
35459690722, job105941203532, passed 108 focused tests with 100% coverage and then failed complete-suite collection in 11 Noema document modules becausedefusedxmlwas absent. RED4614971896dac7f52871eec4501f32338cca0375requires the document hash lock in trigger paths, setup-python cache authority, and the immutable install command. GREEN5521b8128c90d374eb05533aa00da31cc619eaa7installs both hash-locked requirement sets before the full suite. -
Runtime Quality run
35459690876, job105941203883, showed the production Strix gate correctly failing closed because synthetic repositories copiedstrix_quick_gate.shandstrix_model_utils.shbut omitted requiredstrix_evidence_binding.py. GREEN346e1160174926c59995e748f4d9ecb0652c1f41materializes that production dependency in all 25 model-utils fixture roots; all 24 direct gate roots are covered without weakening production admission.
Direct exact-blob verification: the workflow has the Noema lock in both path filters, cache, and install command; its executable contract requires all three; gate/binder fixture coverage is 24/24; the canonical Gap baseline remains 59/59 protected level-two headings and records both repair lineages. Compare to protected main@e6334e22… is 33 ahead / 0 behind across 16 effective paths. Unresolved review threads are 0.
Fresh exact-head Runtime Quality, Trusted uv, Python Security, Security Scan, SAST, and CodeQL are queued/pending. Independent approvals are 0. This COMMENT is evidence, not approval; Draft/Proposed remains correct and no merge authority exists yet.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head consumer-currentness review at 20f75242dec54dff558c5b7f9ed1a4c4d474ed71 (COMMENT, not approval).
The prior owner row named both 5fa1c8b8… and e4846673… as current while live contextual-orchestrator #1203 had advanced to ad45a74f…; it also omitted the new explicit-mode authority lineage.
RED 0770baaca8d9b0c516d0b0b5e83fcc2d57006f04 extends the existing owner-row contract with CO mode-alias RED 10f96453a6050ab47575e4975aa068cb4f899e23, GREEN c3e4e94cf6566f6a0187c502d279dccc6989d4a1, and current owner exact ad45a74f0acdddcd023646661413e76a120b88e3. GREEN 20f75242dec54dff558c5b7f9ed1a4c4d474ed71 makes 5fa1c8b8… and e4846673… explicitly historical, while preserving judge failover, role-aware preflight/source restoration, durable modality normalization, and current mode authority.
Direct exact-blob verification: all required owner milestones are present in the one canonical row; protected Gap headings remain 59/59; compare to protected main@e6334e22… is 35 ahead / 0 behind across 16 paths; unresolved threads are 0 and approvals are 0.
Six fresh exact-head runs are queued/pending. This is traceability evidence only. #2281 remains Draft/Proposed until the owner reaches ordinary protected merge + immutable release, the consumer pins that release, current hosted gates pass, and qualifying independent approval exists.
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head product diff. Coverage is a separate gate.
Changed files
.github/workflows/agent-review-runtime-quality-ci.yml— GitHub Actions review job.github/workflows/trusted-uv-materializer-quality-ci.yml— GitHub Actions review jobCHANGELOG.md— repository behaviordocs/doctoring/noema-document-multimodal-proofreading.md— operator or user guidancedocs/product-technical-gap-baseline.md— operator or user guidancescripts/ci/noema_review_document.py— review and security gate shell pathscripts/ci/noema_review_gate.py— review and security gate shell pathscripts/ci/test_strix_quick_gate.sh— review and security gate shell pathtests/test_noema_document_review_context.py— regression suitetests/test_noema_removed_file_context.py— regression suitetests/test_noema_review_document_multimodal.py— regression suitetests/test_noema_review_gate.py— regression suitetests/test_product_technical_gap_baseline.py— regression suitetests/test_repository_branch_coverage_javascript_and_noema.py— regression suitetests/test_repository_branch_coverage_reporting_edges.py— regression suitetests/test_trusted_uv_materializer_quality_workflow_contract.py— regression suite
Changed behavior
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: agent-review-runtime-quality-ci.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: agent-review-runtime-quality-ci.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Workflow: trusted-uv-materializer-quality-ci.yml"]
S2 --> I2["GitHub Actions review job"]
I2 --> R2["Review risk: Workflow: trusted-uv-materializer-quality-ci.yml"]
R2 --> V2["actionlint plus required checks"]
Evidence --> S3["Repository file: CHANGELOG.md"]
S3 --> I3["repository behavior"]
I3 --> R3["Review risk: Repository file: CHANGELOG.md"]
R3 --> V3["required checks"]
Evidence --> S4["Docs: noema-document-multimodal-proofreading.md (2 files)"]
S4 --> I4["operator or user guidance"]
I4 --> R4["Review risk: Docs: noema-document-multimodal-proofreading.md (2 files)"]
R4 --> V4["docs review"]
Evidence --> S5["CI script: noema_review_document.py"]
S5 --> I5["review and security gate shell path"]
I5 --> R5["Review risk: CI script: noema_review_document.py"]
R5 --> V5["bash -n plus Strix self-test"]
Evidence --> S6["CI script: noema_review_gate.py"]
S6 --> I6["review and security gate shell path"]
I6 --> R6["Review risk: CI script: noema_review_gate.py"]
R6 --> V6["bash -n plus Strix self-test"]
Evidence --> S7["CI script: test_strix_quick_gate.sh"]
S7 --> I7["review and security gate shell path"]
I7 --> R7["Review risk: CI script: test_strix_quick_gate.sh"]
R7 --> V7["bash -n plus Strix self-test"]
Evidence --> S8["Test: test_noema_document_review_context.py (8 files)"]
S8 --> I8["regression suite"]
I8 --> R8["Review risk: Test: test_noema_document_review_context.py (8 files)"]
R8 --> V8["targeted test run"]
Findings
No source-backed product finding is synthesized from the coverage gate. A coverage miss belongs in the status comment.
- Head SHA:
20f75242dec54dff558c5b7f9ed1a4c4d474ed71 - Workflow run: 35735869267
- Workflow attempt: 1
- Coverage gate:
failure
Review outcome
Coverage is a gate, not the review. This body reviews the changed product files.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: agent-review-runtime-quality-ci.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: agent-review-runtime-quality-ci.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Workflow: trusted-uv-materializer-quality-ci.yml"]
S2 --> I2["GitHub Actions review job"]
I2 --> R2["Review risk: Workflow: trusted-uv-materializer-quality-ci.yml"]
R2 --> V2["actionlint plus required checks"]
Evidence --> S3["Repository file: CHANGELOG.md"]
S3 --> I3["repository behavior"]
I3 --> R3["Review risk: Repository file: CHANGELOG.md"]
R3 --> V3["required checks"]
Evidence --> S4["Docs: noema-document-multimodal-proofreading.md (2 files)"]
S4 --> I4["operator or user guidance"]
I4 --> R4["Review risk: Docs: noema-document-multimodal-proofreading.md (2 files)"]
R4 --> V4["docs review"]
Evidence --> S5["CI script: noema_review_document.py"]
S5 --> I5["review and security gate shell path"]
I5 --> R5["Review risk: CI script: noema_review_document.py"]
R5 --> V5["bash -n plus Strix self-test"]
Evidence --> S6["CI script: noema_review_gate.py"]
S6 --> I6["review and security gate shell path"]
I6 --> R6["Review risk: CI script: noema_review_gate.py"]
R6 --> V6["bash -n plus Strix self-test"]
Evidence --> S7["CI script: test_strix_quick_gate.sh"]
S7 --> I7["review and security gate shell path"]
I7 --> R7["Review risk: CI script: test_strix_quick_gate.sh"]
R7 --> V7["bash -n plus Strix self-test"]
Evidence --> S8["Test: test_noema_document_review_context.py (8 files)"]
S8 --> I8["regression suite"]
I8 --> R8["Review risk: Test: test_noema_document_review_context.py (8 files)"]
R8 --> V8["targeted test run"]
OpenCode Review Overview
Coverage evidence did not pass, so approval is blocked. The formal pull-request review is the source-backed diff review, not this status comment. |
Summary
word/_rels/document.xml.rels+a:bliporder. HWPX resolvesContents/content.hpfmanifest/spine + sectionbinaryItemIDReforder.Exact evidence
20f75242dec54dff558c5b7f9ed1a4c4d474ed71.main@e6334e229581a918e2f22de18733b76fa65d7e71; compare is 35 ahead / 0 behind, mergeable, with 16 effective paths.4513708f47ee44b51d431272f91af753dda8a882.21eae9d5e9ce4ee43ee692776a1062c13c9f1a98proves filename-order inference, orphan admission, reused-target positions, table/text-run positions, duplicate IDs/entries, external/traversal/unresolved relationships, malformed XML, missing sections, and unreadable/empty media boundaries.768860076068384552c9dfdb02bec1d8996962be, tree3b8b28e6b815ec7b635458c456f0deb921a49ec8, replaces suffix scanning with manifest-bound section traversal and stable locators.59b23d96…document/Gap contract: 75 passed / 2 skipped / 4 subtests with warnings as errors;git diff --checkpassed. Later commits include the two CI/fixture repairs below, so that predecessor evidence is not transferred to current head; hosted acceptance remains required.72f14e70…, warnings-as-errors: 3,433 passed / 28 skipped / 40 subtests in 199.31s; source paths are unchanged by the current documentation-only owner-evidence commit. Current exact-head hosted execution remains required.290c292aac34ddeef097e009839aef83d65e4eeffailed because the current owner row had dropped judge-failover RED/GREEN7f69bacb…/37435b5e…; GREEN79a0a3e6d4a48ccb54622192ec42305097f44605retains those milestones alongside source-truncation/role-preflight GREENb7440092…and current owner9dbfb49b….68160b178598eb9e448a2cc141b5322380844788rejects predecessor owner9dbfb49b…; GREEN59b23d961abc55f30a9163f294feec221e4aa6c2binds current owner exact5fa1c8b8…, tree027ee33b…, while retaining every functional milestone.35459690722, job105941203532, passed 108 focused tests at 100% coverage, then failed complete-suite collection because 11 document-test modules could not importdefusedxml. RED4614971896…binds the missing lock contract; GREEN5521b812…installs both immutable requirement locks in path/cache/install authority.35459690876, job105941203883, proved the production Strix gate correctly failed closed while synthetic repositories omittedstrix_evidence_binding.py. GREEN346e1160…materializes that production dependency in all 25 model-utils fixture roots, including all 24 direct gate roots, without weakening admission.Fresh exact-head workflows are nonterminal:
Ownership and remaining gates
ad45a74f0acdddcd023646661413e76a120b88e3; consumer-currentness RED0770baac…and GREEN20f75242…retain its mode-alias RED10f96453…→ GREENc3e4e94c…. Source GREENb7440092d1cda47008271ed658fe372f536dd58frestores complete source blob1dd97e36fe1579c434413317a5366f9f27d6e766and preserves role-aware worker preflight. Current ownere4846673…additionally normalizes durable case-variantinput:*tags after restart while keeping explicit-modality precedence. It remains open/Draft/unreleased without terminal exact-head hosted acceptance or independent approval.Refs #2280.