Skip to content

Fix workspace document discovery and metadata outcomes - #1780

Merged
Paul Lizer (paullizer) merged 1 commit into
paullizer-react-v2-uifrom
paullizer-workspace-document-reliability
Oct 19, 2026
Merged

Paul Lizer (paullizer) merged 1 commit into
paullizer-react-v2-uifrom
paullizer-workspace-document-reliability

Conversation

@paullizer

Copy link
Copy Markdown
Collaborator

Summary

  • Older public documents could disappear from chat source selection because the API ignored search and paging before truncating recent results. Apply filename/title filtering, allowlisted sorting, filtered totals, and pagination after canonical visibility and current-revision selection on both storage read paths.
  • Report partial document/tag lookup failures with an explicit retry in shared Documents and # pickers, while retaining successful results and never widening the selected scope.
  • Fix the public-only metadata extraction feature gate and persist independent metadata outcomes across personal, group, and public workspaces. Failed or empty analysis preserves indexed-content readiness and existing metadata; authorized users can retry without fabricating missing authors or bypassing execution-time guards.
  • Align application-owned fixtures with the real API, add executable cross-scope and installed-SDK regressions, and document the behavior in version 0.261.347.

Existing populated metadata is preserved rather than regenerated wholesale. Existing records are not migrated or automatically retried. Configured providers, screening/publication restrictions, and access rules are unchanged.

Linked issue

Fixes #1778

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: 0.261.346 -> 0.261.347. No deployer changes.

Testing / validation

Python commands used the isolated validation environment with repository-pinned dependencies. The complete Cosmos gate blocks network access.

  • python -B scripts\check_cosmos_response_boundaries.py --run-contracts - passed: 1,088 tests and 244 subtests; 1,066 owners, 410 doubles, zero review gaps.
  • python -B -m pytest -p no:cacheprovider -q --disable-warnings --tb=short --maxfail=1 functional_tests\test_public_chat_document_list_pending_artifacts.py functional_tests\test_workspace_metadata_outcomes.py functional_tests\test_document_auto_metadata_extraction_consistency.py functional_tests\test_multiselect_metadata_extraction.py functional_tests\test_content_screening_upload_only_intake.py - 227 passed.
  • python -B -m pytest -p no:cacheprovider -q --disable-warnings --tb=short functional_tests\test_v2_public_chat_scope.py functional_tests\test_public_document_fixture_parity.py functional_tests\test_group_document_fixture_parity.py - 193 passed.
  • python -B -m pytest -p no:cacheprovider -q --disable-warnings --tb=short --maxfail=2 functional_tests\test_public_document_management.py functional_tests\test_group_document_management.py -k 'metadata or worker or queue' - 88 passed.
  • python -B -m pytest -p no:cacheprovider -q --disable-warnings --tb=short ui_tests\test_v2_chat_context_selection.py ui_tests\test_v2_public_chat_scope.py ui_tests\test_v2_public_documents.py ui_tests\test_v2_group_document_management.py - 202 passed, four pre-existing mobile-navigation failures. All four reproduce against unchanged HEAD frontend sources.
  • python -B -m pytest -p no:cacheprovider -q --disable-warnings --tb=short ui_tests\test_v2_workspace_authoring.py -k knowledge_sources - 1 passed. Broader agent-authoring failures were also reproduced against the unchanged frontend and are not changed here.
  • npm --prefix application\v2_ui run typecheck - passed.
  • npm --prefix application\v2_ui run build - passed; existing bundle-size warning remains.
  • 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 -B functional_tests\test_docs_app_surface_coverage.py - 7/7 passed; generated inventory is current.
  • python -B functional_tests\test_docs_site_quality.py - 6/6 passed.
  • git diff --check - passed.

No deployment or state-changing live validation was performed. The historical metadata-provider failure and effective deployed revision remain unconfirmed because the available Azure identity could not read the required processing records. Live source selection, metadata retry, and grounded answer/citation verification require a separately authorized workflow.

Documentation

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

Added docs/explanation/fixes/WORKSPACE_DOCUMENT_DISCOVERY_AND_METADATA_FIX.md; updated public-workspace and document-management guides, chat controls, and existing metadata fix documentation. Release-note update was offered but not approved, so docs/explanation/release_notes.md is unchanged. No new feature page is required for this fix.

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 routes or browser-facing settings payloads were introduced. Scope, screening, feature gates, and queued-job authorization remain enforced.

Filter public filename/title matches before paging, surface shared source lookup failures, and track metadata analysis independently from indexed-content readiness across workspace scopes. Add regression coverage and documentation for version 0.261.347.

Fixes #1778

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@paullizer
Paul Lizer (paullizer) merged commit 7f43446 into paullizer-react-v2-ui Oct 19, 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