Skip to content

Improve Managed Runtime Feedback and Cross-Platform Validation - #71

Merged
PSchmiedmayer merged 2 commits into
mainfrom
feature/beta4-cross-platform-validation
Jul 21, 2026
Merged

Improve Managed Runtime Feedback and Cross-Platform Validation#71
PSchmiedmayer merged 2 commits into
mainfrom
feature/beta4-cross-platform-validation

Conversation

@PSchmiedmayer

Copy link
Copy Markdown
Contributor

♻️ Current Situation & Problem

Live beta 4 validation on native Linux, the standard container, Terra, and Carina identified gaps in runtime identity, model guidance, tool paths, approval feedback, setup progress, and platform instructions.

Advances #25, #42, and #51.

⚙️ Release Notes

  • Distinguish downloaded, selected, and actively served local models across shared gateway and browser projections.
  • Resolve relative file-editor paths within the current project and report grouped approval outcomes only after confirmed resolution.
  • Add visible setup and model-discovery progress, and recommend the tool-validated Qwen2.5 7B AWQ model for 16 GB GPUs.
  • Prepare all package, image, Skill, fixture, and documentation versions for 0.2.0-beta.5.

📚 Documentation

  • Clarify Terra compute recreation, retained disks, selectable memory tiers, release verification, and the Heartwood notebook kernel.
  • Clarify automatic Carina partition selection and root-only native Jupyter setup.

✅ Testing

  • 689 Python tests with 90.31% coverage; 72 browser unit tests; three Playwright workflows.
  • Strict documentation build, typing, formatting, linting, ShellCheck, Actionlint, release governance, and source-version verification.
  • Exact native candidate packaging, synthetic installer tests, and a real empty-Ubuntu install covering local inference, browser startup, Jupyter kernel startup, notebook integration, and tamper recovery.
  • Exact standard AMD64 image covering offline OpenHands interaction, grouped approvals, persistence, and mounted inference with Docker networking disabled.
  • Beta 4 was also exercised live on Terra and Carina; beta 5 platform retesting follows release publication.

Code of Conduct & Contributing Guidelines

By creating and submitting this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

Copilot AI review requested due to automatic review settings July 21, 2026 04:37
@github-project-automation github-project-automation Bot moved this to Backlog in Heartwood Jul 21, 2026

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.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@PSchmiedmayer, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 46 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7800b3ae-6de5-4cfd-ae60-5e3c0b2b69a6

📥 Commits

Reviewing files that changed from the base of the PR and between 8f4af14 and ad671e2.

📒 Files selected for processing (3)
  • deploy/tests/native_installer_real_smoke.sh
  • fixtures/synthetic/approvals/skill-approval.json
  • packages/adapters/src/heartwood/adapters/conformance.py
📝 Walkthrough

Walkthrough

The project version is advanced from 0.2.0-beta.4 to 0.2.0-beta.5 across package metadata, images, installers, documentation, fixtures, and tests. Native smoke coverage now exercises the Jupyter service and notebook bridge. CLI runtime launches propagate model artifact identity and progress output uses stderr. Gateway readiness and model responses expose active and selected state. The Web UI reflects running model status and records grouped confirmation decisions. Project file edits now resolve paths within the project boundary.

Sequence Diagram(s)

sequenceDiagram
  participant CLI
  participant ManagedRuntime
  participant Gateway
  participant WebUI
  CLI->>ManagedRuntime: Launch selected artifact with runtime identity
  ManagedRuntime-->>Gateway: Expose active artifact state
  Gateway-->>WebUI: Return active and selected model flags
  WebUI-->>WebUI: Render running or restart-required status
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 14.81% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the main scope of managed runtime feedback and validation changes.
Description check ✅ Passed The description clearly summarizes the runtime, documentation, testing, and version-bump changes.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@deploy/tests/native_installer_real_smoke.sh`:
- Around line 58-68: Update cleanup_services to guard web_pid with the same
non-empty check used for jupyter_pid before calling kill and wait, then invoke
the existing cleanup function at the end so the temporary workspace is removed
when the EXIT trap runs.

In `@packages/adapters/tests/test_conformance.py`:
- Around line 119-124: Update the conformance test around verify_skill and
assert_registry_adapter_conforms so the verification result itself is checked,
not only verification.reason. Add a direct assertion that verification.verified
is true, or incorporate that assertion into the helper while preserving the
existing reason validation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 482d36b5-5649-4290-a8f8-1964a21541de

📥 Commits

Reviewing files that changed from the base of the PR and between 70223d4 and 8f4af14.

⛔ Files ignored due to path filters (2)
  • packages/webui/package-lock.json is excluded by !**/package-lock.json
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (68)
  • README.md
  • VERSION.toml
  • deploy/tests/native_installer_real_smoke.sh
  • docker-bake.hcl
  • documentation/contribute/releases.md
  • documentation/models/offline.md
  • documentation/platforms/carina.md
  • documentation/platforms/containers.md
  • documentation/platforms/native-linux.md
  • documentation/platforms/terra.md
  • documentation/use/notebooks.md
  • fixtures/synthetic/skills/omop-cohort-summary/SKILL.md
  • fixtures/synthetic/skills/omop-cohort-summary/metadata.json
  • images/generic/local-runtime/snapshots.toml
  • packages/adapters/pyproject.toml
  • packages/adapters/src/heartwood/adapters/__init__.py
  • packages/adapters/src/heartwood/adapters/conformance.py
  • packages/adapters/tests/test_conformance.py
  • packages/audit/pyproject.toml
  • packages/audit/src/heartwood/audit/__init__.py
  • packages/cli/pyproject.toml
  • packages/cli/src/heartwood/cli/__init__.py
  • packages/cli/src/heartwood/cli/_launch.py
  • packages/cli/tests/test_cli.py
  • packages/cli/tests/test_launch.py
  • packages/compliance/pyproject.toml
  • packages/compliance/src/heartwood/compliance/__init__.py
  • packages/compliance/tests/test_container_assets.py
  • packages/compliance/tests/test_release_governance.py
  • packages/core-adapter/pyproject.toml
  • packages/core-adapter/src/heartwood/core_adapter/__init__.py
  • packages/detector/pyproject.toml
  • packages/detector/src/heartwood/detector/__init__.py
  • packages/fixtures/pyproject.toml
  • packages/fixtures/src/heartwood/fixtures/__init__.py
  • packages/gateway/pyproject.toml
  • packages/gateway/src/heartwood/gateway/_gateway.py
  • packages/gateway/src/heartwood/gateway/_project_file_editor.py
  • packages/gateway/src/heartwood/gateway/_readiness.py
  • packages/gateway/tests/test_gateway_contract.py
  • packages/gateway/tests/test_local_models.py
  • packages/gateway/tests/test_model_snapshots.py
  • packages/gateway/tests/test_project_file_editor.py
  • packages/gateway/tests/test_readiness.py
  • packages/model-policy/pyproject.toml
  • packages/model-policy/src/heartwood/model_policy/__init__.py
  • packages/notebook/pyproject.toml
  • packages/notebook/src/heartwood/notebook/__init__.py
  • packages/schemas/pyproject.toml
  • packages/schemas/src/heartwood/schemas/__init__.py
  • packages/schemas/tests/test_schema_records.py
  • packages/session/pyproject.toml
  • packages/session/src/heartwood/session/__init__.py
  • packages/skills/pyproject.toml
  • packages/webui/package.json
  • packages/webui/src/App.test.tsx
  • packages/webui/src/client.test.ts
  • packages/webui/src/components/UtilitySheet.tsx
  • packages/webui/src/e2e/app.spec.ts
  • packages/webui/src/types.ts
  • packages/webui/src/viewModel.test.ts
  • packages/webui/src/viewModel.ts
  • skills/verified/aggregate-export/SKILL.md
  • skills/verified/aggregate-export/metadata.json
  • skills/verified/baseline-model/SKILL.md
  • skills/verified/baseline-model/metadata.json
  • skills/verified/omop-cohort-summary/SKILL.md
  • skills/verified/omop-cohort-summary/metadata.json

Comment thread deploy/tests/native_installer_real_smoke.sh
Comment thread packages/adapters/tests/test_conformance.py
@PSchmiedmayer
PSchmiedmayer merged commit bfcce75 into main Jul 21, 2026
26 of 27 checks passed
@PSchmiedmayer
PSchmiedmayer deleted the feature/beta4-cross-platform-validation branch July 21, 2026 04:56
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Heartwood Jul 21, 2026
@PSchmiedmayer PSchmiedmayer self-assigned this Jul 24, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Aug 7, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants