Skip to content

Fix orchestration publication verification after Cosmos numeric round trips - #1833

Merged
Paul Lizer (paullizer) merged 2 commits into
paullizer-react-v2-uifrom
paullizer-orchestration-failure-investigation-fc8
Oct 23, 2026
Merged

Paul Lizer (paullizer) merged 2 commits into
paullizer-react-v2-uifrom
paullizer-orchestration-failure-investigation-fc8

Conversation

@paullizer

Copy link
Copy Markdown
Contributor

Summary

  • Fix false orchestration publication failures when Cosmos persists an integral floating-point citation score such as 0.0 as 0. The answer was saved, but verification incorrectly failed the run and withheld the answer from the current stream.
  • Use shared, strict JSON numeric equivalence for normal publication, model-free delivery refresh, and lost-acknowledgement recovery. Accept only lossless numeric representation changes; preserve existing fingerprints, publication guard digests, ownership checks, ETags, and genuine storage-failure handling.
  • Add regressions for normal and lost-ack publication, refresh without reexecution, numeric precision, invalid JSON, and durable tampering. Update reviewed Cosmos boundary evidence and bump the application to 0.261.380.
  • This is a general publication-boundary fix, not a document-specific exception or harness workaround. No deployment or historical-run repair was performed. Harness-only observations remain in a separate session artifact and are not committed.

Linked issue

N/A. The user explicitly requested that no issue be created.

Release Notes & Latest Features

  • New Feature
  • Bug Fix
  • UI Enhancement
  • Breaking Change
  • Internal only

Is this visible to end users?

  • Yes
  • No

Is this admin-facing (Admin Settings, governance, deployment, config)?

  • Yes
  • No

Should this become a Latest Feature card?

  • Yes
  • No
  • Already added

Screenshot needed for the card?

  • Yes
  • No
  • Attached

Version bump

  • application/single_app/config.py VERSION third segment bumped, or not needed because this is docs-only
  • deployers/version.txt bumped, or not needed because deployers/ was not changed

Application version: 0.261.379 -> 0.261.380. No deployer changes.

Testing / validation

Python tests used PYTHONPATH containing application\single_app and functional_tests.

  • python -m pytest functional_tests\test_orchestration_harness_execution.py -k publication_numeric_roundtrip -q --tb=short before the fix: reproduced four integral-score failures; four fractional controls passed.
  • python -m pytest functional_tests\test_orchestration_harness_execution.py -k "publication or numeric_roundtrip or delivery_refresh" -q --tb=short: 82 passed after the fix.
  • python -m pytest functional_tests\test_orchestration_recovery_safety.py -q --tb=short: 39 passed.
  • python functional_tests\test_docs_site_quality.py: 6/6 checks passed.
  • python scripts\check_cosmos_response_boundaries.py: 1069 owners, 417 doubles, 0 review gaps.
  • python scripts\check_cosmos_response_boundaries.py --run-contracts, with PYTEST_ADDOPTS=-x and isolated pinned dependencies: 1 failed, 962 passed, 32 passing subtests. The existing test_selected_result_citations_reach_headless_message_cache_and_delivery[evidence-execute] expects one citation but receives two. Reproduced the same failure against original HEAD sources; neither citation behavior nor the assertion was changed.
  • Additional network-blocked validation with pinned Cosmos SDK 4.9.0, Flask 3.1.3, and Werkzeug 3.1.6: 52 new numeric regressions plus 39 recovery tests passed. The remaining contract targets, starting with the orchestration execution suite and excluding only the existing citation-test family, passed 943 tests and 112 subtests, with 12 cases deselected. These supplemental results do not constitute a passing complete contract gate.
  • Read-only verification against the incident's actual stored reply confirmed the original guard still binds the reconstructed expected message, the old comparison rejects the saved reply, and the fixed comparison accepts it. No live records were modified.
  • git diff --check: passed.

Documentation

  • Release notes updated, or not needed
  • Feature documentation updated, or not needed
  • Fix documentation updated, or not needed

Added docs/explanation/fixes/ORCHESTRATION_PUBLICATION_NUMERIC_ROUNDTRIP_FIX.md, including root cause, preserved invariants, validation limitations, and historical-run behavior. Release notes remain unchanged because the optional update was not explicitly approved.

Security checklist

  • New Flask routes include @swagger_route(security=get_auth_security())
  • Settings sent to non-admin frontends use sanitize_settings_for_user()
  • Browser JavaScript is served from local SimpleChat static assets only; no CDN-hosted JS
  • No secrets, keys, connection strings, or local-only artifacts are included

No routes, settings exposure, or browser assets were added or changed. Existing publication authority and content-integrity checks remain enforced.

Compare persisted replies using lossless JSON numeric equivalence while preserving publication guard digests and recovery safety. Add execution and delivery-refresh regressions, reviewed Cosmos boundary evidence, and fix documentation for version 0.261.380.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve result-read scoping and lossless numeric publication verification, regenerate merged owner fingerprints, and retain both branches' runtime evidence.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Comment thread application/single_app/functions_orchestration_execution.py
@paullizer
Paul Lizer (paullizer) merged commit c9d942d into paullizer-react-v2-ui Oct 23, 2026
11 of 12 checks passed
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.

2 participants