Skip to content

Refresh Power Platform operational evidence blocker#343

Merged
edithatogo merged 43 commits into
masterfrom
codex/power-platform-operational-evidence
Jul 4, 2026
Merged

Refresh Power Platform operational evidence blocker#343
edithatogo merged 43 commits into
masterfrom
codex/power-platform-operational-evidence

Conversation

@edithatogo

Copy link
Copy Markdown
Owner

Summary

  • add the 2026-07-03 aggregate Power Platform preflight refresh evidence
  • wire the operational evidence validator and tests to keep the current readiness state fail-closed
  • update Power Platform evidence docs, NSW readiness notes, and Conductor metadata to mark the track blocked and not archive-eligible

Validation

  • python3 scripts/validate_power_platform_operational_evidence.py
  • python3 scripts/preflight_power_platform_readiness.py
  • pac auth list
  • uv run ruff check scripts/validate_power_platform_operational_evidence.py tests/test_power_platform_deployment_evidence.py
  • PYTHONPATH=. uv run pytest -q tests/test_power_platform_deployment_evidence.py tests/test_power_platform_readiness_preflight.py tests/test_conductor_status_matrix.py
  • python3 scripts/validate_conductor_status_matrix.py
  • git diff --check

Status

Draft because the live Power Platform runtime gates remain blocked: service endpoint, GitHub live gate, PAC app/connection observations, flow smoke, DLP/monitoring, and subrepo closure.

edithatogo added 30 commits July 3, 2026 15:18
Update the CRAN registry submission evidence with a 2026-07-03 live probe. CRAN package page, archive, and crandb still return 404, so publication remains blocked.
Mark Swift Package Index, Open VSX, and vcpkg/ConanCenter surfaces as maintenance-only in the registry contract and supporting roadmap docs. Preserve existing publication evidence while removing them from active target language.
Update the conda-forge feedstock submission track with a 2026-07-03 live probe. The staged-recipes PR remains open, Anaconda API still returns 404, and no nwau-py entries appear in conda-forge noarch repodata, so the track remains blocked pending maintainer review and merge.
…h Python Bindings'

Move the completed Rust acute POC track into conductor/archive and remove it from the active tracks registry. The implementation was already complete; this commit only performs lifecycle cleanup.
Delete the stale active-path copy of the Rust Acute 2025 POC track after archiving it under conductor/archive. The archive copy remains as the preserved record.
edithatogo added 13 commits July 3, 2026 20:00
…lete

Commit notes:
- Marked Rust Migration Track Hardening complete in conductor/tracks.md and metadata.
- Removed the completed hardening track from incomplete/recommended status-matrix lists so Rust CLI migration is now the next Rust migration implementation track.
- Kept the status-order regression valid both before and after archive.

Validation:
- uv run pytest -q tests/test_rust_migration_track_hardening.py
- python3 scripts/validate_rust_migration_track_governance.py
- python3 scripts/validate_conductor_status_matrix.py
- uv run ruff check scripts/validate_rust_migration_track_governance.py tests/test_rust_migration_track_hardening.py
- python3 -m json.tool conductor/status-matrix.json
- python3 -m json.tool conductor/tracks/rust_migration_track_hardening_20260703/metadata.json
- git diff --check

@amazon-q-developer amazon-q-developer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary

This PR adds the 2026-07-03 aggregate Power Platform preflight readiness evidence refresh. The changes are well-structured and maintain proper fail-closed governance:

Key Changes:

  • ✅ New preflight evidence file documents all 6 blocked gates (endpoint, github, pac, flow_smoke, dlp, subrepo)
  • ✅ Validator properly wired to enforce fail-closed state with all production readiness claims false
  • ✅ Test coverage added for the new evidence file
  • ✅ Documentation updated to reflect blocked state and mark track not archive-eligible

Quality Assessment:

  • Code follows existing patterns and conventions
  • All validators enforce that production readiness claims remain false until live evidence exists
  • Proper validation of required fields, statuses, and claim boundaries
  • Maintains security-first approach with explicit blocking until real evidence captured

The implementation correctly maintains the operational evidence contracts while keeping the track blocked pending live Power Platform runtime evidence.


You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.


⚠️ This PR contains more than 30 files. Amazon Q is better at reviewing smaller PRs, and may miss issues in larger changesets.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request hardens the Rust CLI/MCP migration tracks by establishing explicit runtime selection boundaries, pinning the first implementation slice to acute 2025, and adding robust track-quality validation and tests. It introduces the --runtime option to the CLI and options.runtime to the MCP mchs.calculate tool, defaulting to Python while allowing opt-in Rust execution for acute 2025. Additionally, it updates the conductor status matrix, archives relevant tracks, and adds governance validation scripts. Feedback on the changes highlights a critical issue in nwau_py/mcp_server.py where pandas' .where(..., None) fails to preserve Python None values on float Series, potentially causing JSON serialization errors; a dictionary comprehension was suggested to safely convert NaN values.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread nwau_py/mcp_server.py
)
except ImportError as exc:
raise McpError("MCHS-MCP-RUST-UNAVAILABLE", str(exc)) from exc
row = output.iloc[0].where(pd.notna(output.iloc[0]), None).to_dict()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

In pandas, calling .where(..., None) on a Series with numeric/float dtypes does not preserve None as a Python None object; instead, pandas converts None back to NaN (float) because numpy/pandas float arrays cannot store None directly. When converted to a dictionary via .to_dict(), these float nulls remain nan (float), which serializes to invalid JSON NaN (or causes serialization errors depending on the JSON library configuration).

To guarantee that all missing values are properly converted to Python None (which serializes to null in JSON), use a dictionary comprehension or cast the DataFrame/Series to object dtype before replacing NaN with None.

Suggested change
row = output.iloc[0].where(pd.notna(output.iloc[0]), None).to_dict()
row = {k: (None if pd.isna(v) else v) for k, v in output.iloc[0].to_dict().items()}

@edithatogo
edithatogo marked this pull request as ready for review July 4, 2026 09:49
Copilot AI review requested due to automatic review settings July 4, 2026 09:49
@cursor

cursor Bot commented Jul 4, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@edithatogo
edithatogo merged commit 77f45af into master Jul 4, 2026
21 of 22 checks passed
@edithatogo
edithatogo deleted the codex/power-platform-operational-evidence branch July 4, 2026 09:50
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.

2 participants