Skip to content

fix(operator): expose optional workflow readiness - #3000

Merged
dotnetpower merged 3 commits into
mainfrom
fix/lite-unavailable-surface-audit
Nov 10, 2026
Merged

dotnetpower merged 3 commits into
mainfrom
fix/lite-unavailable-surface-audit

Conversation

@dotnetpower

Copy link
Copy Markdown
Owner

Summary

  • return a secret-free configured: false Teams Workflow projection when optional deployment-owned binding storage is absent
  • keep reveal and every write fail-closed until the deployment provides the store
  • document the read contract in both interface owners and refresh the System Knowledge catalog
  • distinguish the fixed read-path failure from external prerequisites that must remain explicit rather than synthetic

Measured evidence

  • authenticated Lite route audit identified the Teams binding metadata read as the remaining avoidable HTTP 503
  • deployed analyzer run after minimum-scope Log Analytics/Event Hubs identity binding: 109 candidates, 5 evaluated, 2 findings, 104 held, 2 published, 0 publication failures, 0 analyzer errors

Validation

  • uv run pytest -q services/operator-service/tests/test_operator_iam_family.py — passed, 63 tests
  • uv run ruff check services/operator-service/src/fdai_operator_service/families/iam/settings.py services/operator-service/tests/test_operator_iam_family.py — passed
  • uv run mypy — passed, 4,150 source files
  • bash scripts/verify.sh --fast --diff origin/main...HEAD — passed
  • FILE_LOC_MODE=enforce bash scripts/quality/architecture/check-file-loc.sh — passed, 0 failures
  • SUBSYSTEM_FANOUT_MODE=enforce bash scripts/quality/architecture/check-subsystem-fanout.sh — passed, 0 failures
  • bash scripts/quality/repository/check-doc-links.sh — passed, 0 broken links
  • repository pre-push validation — passed

Operational caveats

  • Teams/Slack endpoints, an independent T2 secondary publisher, and browser notification permission still require provider/operator configuration.
  • Trial activation remains unchanged because the deployment's original installation binding and creation anchor are unavailable; this PR does not invent or renew entitlement evidence.
  • Measured Chaos remains absent because no fault-injection authorization was supplied.

Refs #2999

Return a secret-free unconfigured projection for optional Teams Workflow reads when deployment-owned binding storage is absent. Keep reveal and writes fail-closed, and document the runtime contract.\n\nRefs #2999\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document the fail-closed missing-store contract in the route-selected Console owner and refresh generated System Knowledge pins.\n\nRefs #2999\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Preserve the optional workflow contract without expanding the shared route context and refresh translation and System Knowledge pins.\n\nRefs #2999\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnetpower
dotnetpower merged commit 06d85c8 into main Nov 10, 2026
38 checks passed
@dotnetpower
dotnetpower deleted the fix/lite-unavailable-surface-audit branch November 10, 2026 11:37
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