Skip to content

feat(hope): sync durable holistic studies - #140

Open
swang22 wants to merge 1 commit into
Power-Agent:mainfrom
swang22:hope-holistic-validation-sync
Open

swang22 wants to merge 1 commit into
Power-Agent:mainfrom
swang22:hope-holistic-validation-sync

Conversation

@swang22

@swang22 swang22 commented Oct 24, 2026

Copy link
Copy Markdown

Summary

  • sync the HOPE-owned MCP core and holistic protocol tests from HOPE.jl commit dc4d1fc
  • expose reconnect-safe holistic run status plus coordinator/executor/auditor study tools through PowerMCP
  • document the durable annual-GTEP/monthly-PCM validation workflow and source provenance

Verification

  • managed sync check: passed
  • uv run python -m unittest discover -s tests -v: 45 passed, 3 opt-in solver tests skipped
  • uv run --with pytest pytest tests -q -rs: 45 passed, 3 opt-in solver tests skipped
  • the solver-backed annual GTEP / July PCM workflow was previously validated in HOPE.jl PR feat: integrate powerio as the cross-server case exchange substrate #28 and accepted by all 19 audit checks

@qian-harvard qian-harvard left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks, the coordinator/executor/auditor study workflow is a good addition, and all the holistic-run fixes from #135 are here too. Two things need fixing before this can merge:

  1. The powermcp config hook is gone again. This branch was cut from main before #135 landed, so it doesn't have powermcp_adapter.py, and the synced core.py drops main's _hope_setting(). Suppose hope.repo_root, hope.julia_bin and hope.julia_depot_path are set through powermcp config and the environment variables aren't. Then this branch resolves repo_root to the package's parent directory, runs julia from PATH, and sets no depot. That is the regression #135 fixed.

    I'm merging #135 first, so please rebase onto main after that. Six HOPE files will conflict. One resolution works: take this branch's copies of the synced files and keep the apply_powermcp_hope_config() call in server.py. I tried it locally, and the config paths were honoured again.

  2. test_registered_validation_profile_materializes_pinned_cases fails on macOS. The study manifest stores resolved paths, but the test compares them against self.studies, which is built from an unresolved TemporaryDirectory(). On macOS /var is a symlink to /private/var, so is_relative_to returns false. CI runs on Linux and doesn't catch it. Setting self.root = Path(self.temporary.name).resolve() in setUp fixes it, and with that change the HOPE suite passes on macOS. The test is synced from HOPE.jl, so the fix belongs upstream.

This branch has not been deployed

No deployments
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