Skip to content

fix: preserve multimodal evidence through deep workflows - #778

Merged
seonghobae merged 6 commits into
fix/auto-reasoning-effort-contract-rebasedfrom
fix/multimodal-synthesis-evidence
Aug 20, 2026
Merged

fix: preserve multimodal evidence through deep workflows#778
seonghobae merged 6 commits into
fix/auto-reasoning-effort-contract-rebasedfrom
fix/multimodal-synthesis-evidence

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Buyer-visible gap

An authorized, non-identifying five-image runtime check completed transport and stored five captions but zero OCR characters. The conducted workflow had converted the source pixels into a text marker before thinker, worker, verifier, and synthesizer execution, so successful transport was not successful evidence extraction.

Behavior

  • Normalizes Responses input_image URL blocks into the existing Chat image_url representation without provider-specific routing.
  • Preserves the original image blocks beside every evidence-bearing workflow instruction while Conductor access lists continue to isolate prior model outputs.
  • Selects and fails over image work only through agents explicitly tagged vision; it fails before provider I/O when the pool has no such agent.
  • Keeps text-only routing unchanged and updates multimodal HTTP fixtures to declare their synthetic mock capability honestly.
  • Records the decision in ADR 0018 with APA 7 references to Fugu, TRINITY, Conductor, and the official OpenAI API contracts.

Verification

  • python -m pytest -q -> 1471 passed in 539.13s
  • Focused multimodal regression -> 6 passed
  • Focused HTTP compatibility regression -> 30 passed
  • python -m compileall -q contextual_orchestrator tests/test_multimodal_workflow_evidence.py
  • git diff --check
  • codegraph sync && codegraph status -> healthy, up to date

Stack contract

This PR is intentionally based on #765 at exact head d3f9a9b96523ed572b908c8abba1afa527eb49dc. It does not modify #765's gateway/reasoning work or #776's inbound-framing work. ADR 0018 avoids the concurrent ADR 0017 allocation in #776.

Remaining runtime acceptance

Repository behavior and contracts are verified here. A follow-up private LineageWeave backfill must restore non-empty OCR and region evidence before this is represented as live product recovery; only aggregate, non-identifying evidence will be reported.


Open in Devin Review

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0b4dfe7f-1df3-4fcf-8131-c6b52e0c6092

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent Please review the exact current head 6e0daf8. Verify that every evidence-bearing workflow step retains source image blocks, Responses input_image normalization stays provider-neutral, and image failover never selects a text-only agent.

@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent Review exact current HEAD 6e0daf8 only. Verify that image source blocks survive Responses-to-Chat normalization and every evidence-bearing workflow step, VISION-tag failover never selects text-only agents, no-VISION pools fail before I/O, access lists remain intact, and the ADR explicitly separates transport/evidence preservation from the pending LineageWeave OCR backfill. Submit a formal exact-head verdict without modifying the branch.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Validated the exact stack head 6e0daf8: multimodal/HTTP focused suite 30 passed, full suite 1471 passed in 531.30s, compileall and git diff --check passed. The implementation preserves typed source images for each evidence step and explicitly leaves non-empty OCR/backfill as a separate LineageWeave acceptance gate. No provider-specific routing or model-name inference was added. Await the independent exact-head review and protected Checks.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Runtime acceptance update for exact HEAD 6e0daf859813e600e6c5fdef4f948a781dfd7169: after the consuming LineageWeave bootstrap removed Docker env-file outer quotes, auto discovery produced 7 VISION-tagged agents and 0 empty-model agents. A generated synthetic PNG containing SYNTHETIC TEST 42 completed through the real provider-neutral endpoint with 96 caption characters, 17 OCR characters, 3 tags, and the expected TEST/42 text present. No provider model was named or selected locally. The authorized five-image aggregate backfill remains the final downstream acceptance gate.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Current-head review refresh: the remote branch has advanced beyond the previously reviewed 6e0daf8; current exact head is 918654711e9d70ff327c9368e57ec0129866c5b7. Revalidate multimodal source-image preservation, vision eligibility/failover, Responses normalization, and LineageWeave recovery on this SHA only. The stacked base has no independent required Checks until its parent is integrated.

@seonghobae

Copy link
Copy Markdown
Contributor Author

OpenCode review requested for exact current head 49c6d93. The new boundary regression exposed that an explicit text-only primary could bypass required_tags=(vision); the shared failover candidate builder now excludes capability-ineligible primaries and fails closed when no matching agent exists. Focused multimodal and provider-reliability verification: 21 passed.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Private consumer-runtime aggregate evidence for the image propagation path (non-identifying): the authorized LineageWeave run obtained image analysis for all 5 source images and persisted 776 image-OCR characters, 5 Markdown table signals, 31 visual regions, and 773 region-OCR characters. This runtime used the image-propagation implementation from 6e0daf8; exact-head 49c6d93 additionally closes the explicit-primary required-tag bypass and is verified by 21 focused multimodal/reliability tests.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head verification update for 49c6d93: the complete local suite passes, 1472 passed in 527.42s. A correctly configured private consumer structure request also returned complete cardinality (23 input semantic units, 23 structured decisions); no private content or identifiers are included.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Remote exact head advanced to 9aa99731f8ee242f10114b16f082608d9411191f. Review found 14 repository-wide Ruff defects in this stacked snapshot (mostly stale __main__ test calls plus one unused import/duplicate test key); fixed them at the shared test baseline. Focused multimodal/evidence/API/security suite: 94 passed; Ruff and diff-check pass. Revalidate this SHA; prior 49c6d93 Checks are stale after the push.

@seonghobae

Copy link
Copy Markdown
Contributor Author

@seonghobae

Copy link
Copy Markdown
Contributor Author

@devin review exact current HEAD 915f780. This branch was updated onto current parent b225e13; the merge preserves multimodal evidence changes, parent capability/temperature/provider changes, and inbound framing/deadline. Integrated focused suite passes (58 passed) with changed-file Ruff/diff clean. Revalidate this exact head only.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@seonghobae

Copy link
Copy Markdown
Contributor Author

@devin review exact current HEAD f696daa. Parent is now 61337d9; this stack preserves multimodal evidence, provider negotiation, deadline-boundary correctness, and static-check cleanup. Integrated focused suite passes (61 passed) with full Ruff/diff clean. Revalidate this exact head only.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Current exact HEAD: 915f780aec8d7d0ae6a35141a221aec9b9cbc40c.

  • Devin Review: no issues found; CodeRabbit status is the configured base-branch skip.
  • Exact-head local proof: multimodal/evidence/provider focused suite 55 passed; full suite 1506 passed in 547.06s; Ruff, compileall, and diff checks pass.
  • The branch is reconciled with the current stacked base without force-push.

Normal auto-squash merge is now armed; no approval or bypass is used.

@seonghobae
seonghobae merged commit 0a3ab0b into fix/auto-reasoning-effort-contract-rebased Aug 20, 2026
1 of 2 checks passed
@seonghobae
seonghobae deleted the fix/multimodal-synthesis-evidence branch August 20, 2026 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant