Repository navigation
Add admin diagnostic support ZIP exports - #1919
Merged
Paul Lizer (paullizer) merged 2 commits intoNov 11, 2026
Merged
Paul Lizer (paullizer) merged 2 commits into
Paul Lizer (paullizer) merged 2 commits into
Conversation
Build scoped, privacy-reviewed support bundles and owner-approved personal conversation snapshots in the classic and V2 admin interfaces. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve support exports and incoming native-audit improvements; resolve the application version at 0.261.428. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
Paul Lizer (paullizer)
merged commit Nov 11, 2026
5a873ff
into
microsoft:Development
13 of 14 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Review focus: owner-only consent and snapshot authorization, fresh AI destination binding, and worker fencing/cleanup. Limits are seven days, 20 conversations, 100,000 records, 50 MiB uncompressed and at most 24 hours of ZIP availability.
Linked issue
Closes #1916
Release Notes & Latest Features
Is this visible to end users?
Owners receive consent requests; export tooling itself remains admin-only.
Is this admin-facing (Admin Settings, governance, deployment, config)?
Should this become a Latest Feature card?
Pending maintainer publication decision. The documentation feature catalog is updated; an application Latest Feature card is not included.
Screenshot needed for the card?
N/A until the card publication decision. No media or local-only verification artifacts are included.
Version bump
application/single_app/config.pyVERSIONthird segment bumped, or not needed because this is docs-onlydeployers/version.txtbumped, or not needed becausedeployers/was not changedApplication: 0.261.427 -> 0.261.428 after merging the latest Development base. No deployer changes.
Testing / validation
Implementation-session validation (before the latest base merge):
python .\scripts\check_cosmos_response_boundaries.py --run-contractspython -m pytest .\ui_tests\test_admin_support_export.py .\ui_tests\test_v2_admin_support_export.py .\ui_tests\test_support_export_consent.py -q --disable-warnings --tb=shortpython -m pytest .\functional_tests\test_admin_support_export_startup.py .\functional_tests\test_admin_support_export_model_budget.py -q --disable-warnings --tb=shortnpm --prefix .\application\v2_ui run typechecknpm --prefix .\application\v2_ui run buildnode .\functional_tests\test_v2_admin_support_export_logic.mjsnode --check .\application\single_app\static\js\support-exports.jspython .\functional_tests\route_tests\test_route_blueprint_policy_inventory.pypython .\functional_tests\route_tests\test_route_unauthenticated_policy_contract.pypython .\functional_tests\route_tests\test_route_policy_test_coverage.pypython .\functional_tests\test_docs_app_surface_coverage.pypython .\functional_tests\test_docs_site_quality.pygit -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol diff --checkThe combined targeted support-export/logging selection also passed 68 tests. Feature-specific access-control checks, full new-file XSS checks, actual worktree-added-line integration checks and the final UI detector passed.
Post-merge validation against
origin/Developmentat5f2390160, with the application version resolved to 0.261.428:python -m pytest .\functional_tests\test_admin_support_export_filters.py .\functional_tests\test_admin_support_export_privacy.py .\functional_tests\test_admin_support_export_jobs.py .\functional_tests\test_admin_support_export_sources.py .\functional_tests\test_admin_support_export_api.py .\functional_tests\test_admin_support_export_logging.py .\functional_tests\test_admin_support_export_model_budget.py .\functional_tests\test_admin_support_export_startup.py .\functional_tests\test_unified_logging_entrypoint.py .\functional_tests\test_log_credential_key_redaction.py -q --disable-warnings --tb=short$env:PYTHONPATH = '.\application\single_app;.\functional_tests'; python -m pytest .\functional_tests\test_native_audit_answer_delivery.py .\functional_tests\test_native_audit_reliability.py .\functional_tests\test_native_document_fidelity.py .\functional_tests\test_native_document_fidelity_http.py .\functional_tests\test_native_document_fidelity_pipeline.py .\functional_tests\test_native_inspection_request_contract.py .\functional_tests\test_orchestration_document_action_end_to_end.py .\functional_tests\test_document_accessibility_report_action.py .\functional_tests\test_excel_inventory_persistence.py -q --disable-warnings --tb=shortpython -m pytest .\functional_tests\test_workflow_authoring_sdk_boundaries.py::test_search_upload_owners_consume_real_sdk_point_documents -q --disable-warnings --tb=shortpython -m pytest .\ui_tests\test_admin_support_export.py .\ui_tests\test_v2_admin_support_export.py .\ui_tests\test_support_export_consent.py -q --disable-warnings --tb=shortnpm --prefix .\application\v2_ui run typechecknpm --prefix .\application\v2_ui run buildnode --check .\application\single_app\static\js\support-exports.js && node .\functional_tests\test_v2_admin_support_export_logic.mjspython .\scripts\check_cosmos_response_boundaries.pypython .\functional_tests\test_docs_app_surface_coverage.pypython .\functional_tests\test_docs_site_quality.pygit diff --cached --checkKnown baseline limitation:
python -m pytest .\functional_tests\test_content_screening_model.py -q --disable-warningsfailed during setup because its unchanged AST adapter fixture requestsendpoint_uses_openai_style_protocolas a local definition, although the current client imports it. New real-engine tests cover the changed budget/binding behavior without that stale fixture, and the reviewed Cosmos contract runner passed.Live Azure deployment permissions, retention and ingestion were not exercised. Deployment must configure monitoring read permissions, resource-context workspace access and private application Blob storage; the admin workflow provides Test source access. No cloud roles or diagnostic settings are changed by this PR.
Documentation
A feature release-note entry was offered separately and is not included without confirmation. Incoming Development release notes are preserved. Added the feature technical notes and support-export guide; updated Operations, owner approvals, logging tags, the feature catalog and generated surface inventory/stub. Separate fix documentation is not needed for this new capability.
Security checklist
@swagger_route(security=get_auth_security())sanitize_settings_for_user()No raw settings payload is added to a non-admin frontend. Owner-facing endpoints emit allowlisted consent data and scrubbed previews, with subject-level authorization independent of admin roles. Test credentials and identities are synthetic.