Skip to content

Fix native workflow alerts in chat proposals and AI Assist - #1742

Merged
Paul Lizer (paullizer) merged 1 commit into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-workflow-alert-awareness
Oct 9, 2026
Merged

Paul Lizer (paullizer) merged 1 commit into
microsoft:paullizer-react-v2-uifrom
paullizer:paullizer-workflow-alert-awareness

Conversation

@paullizer

Copy link
Copy Markdown
Collaborator

Summary

  • AI Assist could claim acknowledgment was unsupported while the editor exposed it, and chat proposals could only express quiet bell-only run-status alerts. Align both AI authoring contracts with the existing native alert engine.
  • Add targeted existing-rule edits for acknowledgment, sound, size, conditions and delivery without recreating rules. Extend chat blueprints with bounded conditional rules and deterministic task references while preserving legacy quiet proposals.
  • Improve planner capability guidance without keyword-routing heuristics: distinguish native monitoring alerts from email and external alarm configuration. Explicit strongest-attention requests propose critical pop-ups, acknowledgment, repeating sound and full-screen size, subject to user constraints and review.
  • Disclose alert consequences on proposal cards before approval. Preserve personal-owner audience limits, device sound preferences, existing authorization, and draft-only AI Assist behavior.

Linked issue

N/A. No issue is associated with 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

Release-note updates were offered but not confirmed, so release notes remain unchanged.

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.314 -> 0.261.315. No deployer changes.

Testing / validation

  • python -m pytest -q functional_tests\test_workflow_ai_alert_capability_parity.py functional_tests\test_workflow_assist_scenarios.py functional_tests\test_workflow_assist_operations_security.py functional_tests\test_workflow_assist_field_parity.py functional_tests\test_workflow_assist_candidate_parity.py functional_tests\test_workflow_draft_service.py functional_tests\test_workflow_draft_save_parity.py functional_tests\test_workflow_draft_v2_round_trip.py functional_tests\test_workflow_alert_rules.py functional_tests\test_workflow_alert_acknowledgment.py - 381 passed. Covers targeted rule edits, invalid options, native conditions, real dry-run/create and production editor/save round trips.
  • python -m pytest -q ui_tests\test_v2_orchestration_workflow_proposal_card.py - 49 passed, including desktop/light and mobile/dark disclosure and inert planner text. Uses the shared local/Azure Playwright connection fixture, run locally.
  • node --test functional_tests\test_v2_workflow_proposal_alerts.mjs functional_tests\test_v2_workflow_proposal_merge.mjs - 6 passed.
  • npm --prefix application\v2_ui run typecheck - passed.
  • npm --prefix application\v2_ui run build -- --outDir ..\..\ui_tests\artifacts\orchestration-plan-editor - passed, with the existing large-chunk warning.
  • python .\functional_tests\test_docs_app_surface_coverage.py - 7/7 passed, inventory remains current.
  • python .\functional_tests\test_docs_site_quality.py - 6/6 passed.
  • With application/test paths on PYTHONPATH, python -m pytest -q functional_tests\test_orchestration_workflow_propose_capability.py::test_the_proposal_module_creates_nothing_and_never_imports_flask - 1 passed.
  • git diff --cached --check - passed before committing.

Validation limits: Broader proposal-route and hand-off integration suites were attempted but blocked by their fixture's pre-existing functions_public_workspaces / functions_search import cycle. An existing round-trip test reproduced the same failure when changed application modules were loaded from original HEAD source. Bootstrapping authentication first exposed an unrelated installed OpenSSL/cryptography incompatibility (GEN_EMAIL missing). Neither issue was changed or suppressed. Independent real builder/editor/save tests pass. Live provider-backed model-selection evaluation was not run; scripted model tests verify contracts, not selection quality on every paraphrase.

Documentation

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

Updated AI Assist, chat proposal, draft-service and workflow creation guidance. Added WORKFLOW_AI_ALERT_CAPABILITY_PARITY_FIX.md with root causes, behavior, coverage and validation limitations. Release notes await confirmation.

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 routes or settings payloads. New schemas are closed and bounded, reject raw IDs/group audience/recipients, and use existing native validation. Proposal text renders through escaped React text; local test build artifacts are not committed.

Expose conditional alert rules and acknowledgment options through closed authoring schemas, preserve existing-rule edits, and disclose attention options before proposal approval. Improve model capability guidance without keyword routing, add regression coverage, and bump the app to 0.261.315.

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