Skip to content

fix: restore post-merge Rust coverage compilation - #6248

Merged
senamakel merged 5 commits into
tinyhumansai:mainfrom
senamakel:post_merge_ci
Sep 14, 2026
Merged

senamakel merged 5 commits into
tinyhumansai:mainfrom
senamakel:post_merge_ci

Conversation

@senamakel

@senamakel senamakel commented Sep 14, 2026

Copy link
Copy Markdown
Member

Summary

Fixes the post-merge CI Lite Rust Core Coverage failure on main.

  • Registers the split skill resource resolver and uninstall-tool modules so the product build compiles and exercises them.
  • Routes the existing resource and uninstall behavior through those split modules.
  • Forwards the product feature set to openhuman-embed coverage runs, so its mcp and skills façades are measured.
  • Keeps openhuman-tui on its own featureless coverage invocation; it does not expose the embed/core product-feature vocabulary.
  • Removes an unreachable duplicate flows/types.rs left behind by the tinyflows-catalog migration.
  • Documents the intentionally product-excluded Medulla embed façade in the coverage allowlist.

Bugs found

CI Lite run 34807334015 produced no lcov records for six files. Two split skill files were not in their parent module graph; three embed façades were gated by features that the coverage runner did not pass to the embed package. The result was a coverage-policy failure despite passing tests.

The follow-up validation also exposed a stale Workflow import after moving the resolver, which clippy -D warnings correctly rejected. The initial coverage-helper repair was too broad: it would have passed unknown core features to the TUI package. Both are corrected here.

The next full coverage run found two final presence failures: flows/types.rs was an unreachable pre-migration duplicate, while openhuman-embed/src/medulla.rs is deliberately excluded from the Tauri product by the existing Medulla product-boundary policy.

The first final rerun was cancelled at the 90-minute job ceiling because openhuman-embed/tests/harness_embed.rs stalled on its first mocked provider turn. The same test passes locally both normally (3.60s) and coverage-instrumented (3.54s); this is tracked as an intermittent CI stall and the cancelled job has been rerun without altering product behavior.

Validation

  • cargo fmt --all -- --check passed.
  • Product-feature cargo clippy -p openhuman --features "$(bash scripts/ci/product-features.sh)" -- -D warnings passed locally after the import cleanup.
  • cargo llvm-cov --features "$(bash scripts/ci/product-features.sh)" --no-report --no-fail-fast -p openhuman-embed --test harness_embed -- --test-threads=1 passed locally.
  • CI is intentionally requested via this draft PR to rerun the exact Rust coverage lane.

Summary by CodeRabbit

  • Refactor
    • Reorganized workflow discovery and uninstallation components without changing their user-facing behavior.
    • Improved feature-specific handling for skills and workflow tools.
  • Maintenance
    • Updated coverage checks to include feature-enabled embedding components.
    • Removed legacy flow data definitions from the core package; integrations depending on these internal interfaces may require updates.

Co-authored-by: Medulla <medulla@tinyhumans.ai>
@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 3599ea0a-a28c-456b-9bbf-ba92130d0975

📥 Commits

Reviewing files that changed from the base of the PR and between 295d793 and f9a1417.

📒 Files selected for processing (7)
  • crates/openhuman-core/src/flows/types.rs
  • crates/openhuman-core/src/skills/mod.rs
  • crates/openhuman-core/src/skills/ops_discover/resource.rs
  • crates/openhuman-core/src/skills/tools.rs
  • crates/openhuman-core/src/skills/tools_uninstall.rs
  • scripts/ci/coverage-presence-allowlist.txt
  • scripts/ci/rust-coverage-changed.sh

📝 Walkthrough

Walkthrough

The change removes flow entity definitions, reorganizes feature-gated skills modules, extracts the uninstall tool module, and updates coverage commands for feature-enabled openhuman-embed builds.

Changes

Flow API removal

Layer / File(s) Summary
Remove flow entity definitions
crates/openhuman-core/src/flows/types.rs
Removes the flow-related public types, serde implementations, helper methods, documentation, and test import.

Skills module reorganization

Layer / File(s) Summary
Move resource resolution helper
crates/openhuman-core/src/skills/mod.rs, crates/openhuman-core/src/skills/ops_discover/resource.rs
Adds the feature-gated resource module and imports workflow resolution from it instead of using the removed local helper.
Extract uninstall tool module
crates/openhuman-core/src/skills/tools.rs, crates/openhuman-core/src/skills/tools_uninstall.rs
Moves the uninstall tool declaration and re-export to tools_uninstall.rs. The tool imports read_required_str directly from super::helpers.

Embed coverage updates

Layer / File(s) Summary
Run feature-enabled embed coverage
scripts/ci/coverage-presence-allowlist.txt, scripts/ci/rust-coverage-changed.sh
Adds the Medulla allowlist entry and runs full and scoped openhuman-embed coverage with PRODUCT_FEATURES.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Bug fix

Suggested reviewers: yellowsnnowmann

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

A rabbit checks the modules bright
Flow types vanish from sight
Skills hop into homes anew
Coverage counts the features too
The uninstall tool springs free
And carrots pass CI happily

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

senamakel and others added 4 commits September 14, 2026 09:26
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@senamakel
senamakel marked this pull request as ready for review September 14, 2026 11:22
@senamakel
senamakel requested a review from a team September 14, 2026 11:22
@senamakel
senamakel merged commit 1cc1f59 into tinyhumansai:main Sep 14, 2026
39 of 44 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 14, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-14T11:23:55.406461Z f9a1417 Draft marked ready
🔒 Security Review Completed 2026-09-14T11:24:59.326305Z f9a1417 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

tinysweeper found nothing blocking. Approving.

$0.0000 · 0 in / 0 out

@tinysweeper

tinysweeper Bot commented Sep 14, 2026

Copy link
Copy Markdown

How this change flows

2 changed behaviours across 11 relationships. 5 surrounding behaviours are shown (60 graph nodes walked). 30 further behaviours left out to keep the diagram readable.

flowchart LR
  n0["ops_create<br/>changed"]:::changed
  n1["read_workflow_resource_with_profile<br/>changed"]:::changed
  n2["from_value"]:::impacted
  n3["...w_resource_with_profile_resolution_matrix"]:::impacted
  n4["...input_def_deserializes_full_row_from_json"]:::impacted
  n5["...reate_input_def_required_defaults_to_true"]:::impacted
  n6["join"]:::impacted
  n1 -->|calls| n6
  n3 -->|calls| n1
  n3 -->|tests| n1
  n3 -->|calls| n6
  n3 -->|tests| n6
  n4 -->|uses| n0
  n4 -->|calls| n2
  n4 -->|tests| n2
  n5 -->|uses| n0
  n5 -->|calls| n2
  n5 -->|tests| n2
  classDef changed fill:#0d4429,stroke:#238636,color:#e6edf3
  classDef impacted fill:#161b22,stroke:#6e7681,color:#c9d1d9
  classDef flagged fill:#5a1e02,stroke:#d93f0b,color:#ffffff
  classDef blocking fill:#67060c,stroke:#f85149,color:#ffffff
Loading

Green: changed behaviour. Grey: surrounding behaviour. Arrows name the call, use, implementation, or test relationship. Orange: has findings. Red: has a finding that blocks the merge.

tinysweeper 0.1.0

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant