Skip to content

Fix orchestration progress, workbook citations, and message cleanup - #1900

Merged
Paul Lizer (paullizer) merged 1 commit into
paullizer-react-v2-uifrom
paullizer-special-broccoli
Nov 6, 2026
Merged

Paul Lizer (paullizer) merged 1 commit into
paullizer-react-v2-uifrom
paullizer-special-broccoli

Conversation

@paullizer

Copy link
Copy Markdown
Contributor

Summary

  • Running workbook audits could show "Execution status not confirmed" despite successful progress reads. Keep the confirmed task/phase visible, distinguish real disconnection from execution state, and fence stale reads without replaying work.
  • Native workbook comment references could render as literal text and could not resolve as indexed passages. Preserve explicit document and committed evidence identity, validate current access/source version, and open exact note/comment evidence first with a separate workbook preview. Ambiguous or unavailable references do not become guessed citations.
  • Message deletion returned HTTP 500 because saved-analysis cleanup passed three arguments to a two-argument thought helper. Correct the call and add signature-accurate, owner-scoped cleanup and HTTP regression coverage.

Linked issue

N/A. The user chose not to create an issue for this work.

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.416 -> 0.261.417. No deployer changes.

Testing / validation

All results below are local regression validation, not deployed verification. No production data was changed and no deployment or run replay was performed.

Python setup:

$env:PYTHONPATH="$PWD\application\single_app;$PWD\functional_tests"
  • 128 functional tests passed:
python -m pytest functional_tests\test_saved_analysis_cleanup.py functional_tests\test_saved_analysis_cleanup_http.py functional_tests\test_orchestration_attachment_native_evidence.py functional_tests\test_orchestration_native_citation_delivery.py functional_tests\test_orchestration_search_citation_delivery.py functional_tests\test_orchestration_analysis_citation_delivery.py functional_tests\test_orchestration_citation_persistence.py functional_tests\test_orchestration_dependency_citations.py functional_tests\test_orchestration_followup_citation_provenance.py functional_tests\test_v2_citations.py functional_tests\test_v2_enhanced_citations.py functional_tests\test_saved_analysis_cosmos_owner_contract.py functional_tests\test_v2_public_source_owner_sdk.py -q --disable-warnings --basetemp=.test-artifacts\functional-final --tb=short --maxfail=2
  • 93 browser tests passed: real controller/components, reconnect/stale-read behavior, native evidence, reload, keyboard opening, desktop/mobile, separate preview, and denied-source states.
python -m pytest ui_tests\test_v2_orchestration_recovery.py ui_tests\test_v2_orchestration_quiet_activity.py ui_tests\test_v2_stream_citation_delivery.py ui_tests\test_v2_excel_citation_inspection.py -q --disable-warnings --basetemp=.test-artifacts\ui-final --tb=short --maxfail=2
  • 42 Node tests passed, also rerun immediately before committing:
node --test functional_tests\test_native_workbook_citation_parser.mjs functional_tests\test_v2_orchestration_progress_lane.mjs functional_tests\test_v2_orchestration_run_progress_status.mjs functional_tests\test_v2_stream_citation_delivery.mjs functional_tests\test_v2_web_iq_citations.mjs
  • npm --prefix .\application\v2_ui run build: passed, with the existing bundle-size warning.
  • python functional_tests\route_tests\test_route_blueprint_policy_inventory.py: 15/15 passed.
  • python functional_tests\route_tests\test_route_unauthenticated_policy_contract.py: 10/10 passed.
  • python functional_tests\route_tests\test_route_policy_test_coverage.py: 3/3 passed.
  • python scripts\build_docs_inventory.py: passed; regenerated inventory has no semantic change.
  • python functional_tests\test_docs_app_surface_coverage.py: 7/7 passed.
  • python functional_tests\test_docs_site_quality.py: 6/6 passed.
  • python scripts\check_broken_access_control.py application\single_app\route_backend_documents.py application\single_app\functions_orchestration_result_runtime.py application\single_app\functions_saved_analysis.py: passed.
  • python scripts\check_xss_sinks.py application\single_app\static\js\chat\chat-citations.js application\v2_ui\src\components\chat\CitationChip.tsx application\v2_ui\src\lib\citations.ts: passed.
  • node --check application\single_app\static\js\chat\chat-citations.js: passed.
  • git diff --check: passed.

Full Cosmos boundary gate: 2,005 tests and 431 subtests passed, zero review gaps.

$env:PYTEST_ADDOPTS='--basetemp=.test-artifacts\cosmos-pytest'
python -u -c "import pathlib,runpy,tempfile; tempfile.tempdir=str(pathlib.Path('.test-artifacts').resolve()); runpy.run_path('scripts/check_cosmos_response_boundaries.py',run_name='__main__')" --run-contracts

Known baseline failures, not introduced here: test_citation_revision_lookup_fix.py expects obsolete public-lookup wiring; test_logging_tag_standardization.py detects seven existing mixed-case tags. The affected assertions/tags were checked against unchanged HEAD. Details and full validation evidence are recorded in docs/explanation/fixes/ORCHESTRATION_PROGRESS_NATIVE_CITATIONS_CLEANUP_FIX.md.

Documentation

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

Updated orchestration feature documentation, workbook-inspection and plan-review guides, chat controls, and the citation logging tag reference. Added versioned fix documentation. Release notes are not updated; a separate release-notes edit has not been requested.

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 new Flask route or settings-to-browser surface was added. The existing authenticated citation route validates native producer ownership, conversation, committed result identity, exact record pairing, and current workbook access/version before returning retained evidence. Cleanup does not broaden deletion permissions or delete upstream/mirrored results.

Keep confirmed task progress distinct from transport uncertainty, resolve native annotation citations against retained authorized evidence, and correct the thought cleanup call contract. Add regression coverage and related documentation for version 0.261.417.

Co-authored-by: Copilot App <[email protected]>
@paullizer
Paul Lizer (paullizer) merged commit a78255a into paullizer-react-v2-ui Nov 6, 2026
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.

1 participant