-
Notifications
You must be signed in to change notification settings - Fork 1.5k
feat(coding): omp core-tool contract + engines + benchmark arm (issue #7392, slices 1-4) #7435
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
0171455
f2f7e4f
be19078
2a7b37d
a53c7ea
c8e7f14
6d5f87e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -636,7 +636,12 @@ fn reborn_contracts_crates_carry_a_checked_size_ceiling() { | |||||||||||||||||||
| // sandbox transport now exposes graceful lifecycle release. This is | ||||||||||||||||||||
| // contract vocabulary; execution and provider cleanup remain in the | ||||||||||||||||||||
| // sandbox runtime lane. | ||||||||||||||||||||
| ("ironclaw_host_api", 18_799), | ||||||||||||||||||||
| // Raised 18_799 -> 18_808 (2026-08-08, #7392 slice 3): the additive | ||||||||||||||||||||
| // `provider_tool_name` override field on CapabilityDescriptor (serde | ||||||||||||||||||||
| // default None + skip_serializing_if) plus its doc comment — pure | ||||||||||||||||||||
| // declarative vocabulary, 9 lines. Count read from this test's own | ||||||||||||||||||||
| // failure message. | ||||||||||||||||||||
| ("ironclaw_host_api", 18_808), | ||||||||||||||||||||
| // 14_479 -> 13_949 (2026-08-07, #7157): downward re-capture after the | ||||||||||||||||||||
| // delivery-heuristic vocabulary (stored trigger delivery targets and | ||||||||||||||||||||
| // their run-profile plumbing) left this crate with the two-lane | ||||||||||||||||||||
|
|
@@ -1768,6 +1773,34 @@ fn provider_tool_names_stay_at_model_protocol_boundaries() { | |||||||||||||||||||
| "crates/ironclaw_host_api/src/ids.rs", | ||||||||||||||||||||
| "crates/ironclaw_safety/src/lib.rs", | ||||||||||||||||||||
| "crates/ironclaw_safety/src/provider_validation.rs", | ||||||||||||||||||||
| // Issue #7392 provider-name resolver: the additive declarative field | ||||||||||||||||||||
| // (`provider_tool_name`) lives on the capability declaration and the | ||||||||||||||||||||
| // runtime descriptor as plain serialized data, validated as | ||||||||||||||||||||
| // `ProviderToolName` only where it becomes provider-protocol identity | ||||||||||||||||||||
| // (manifest parse + the loop boundary). These files are declarative | ||||||||||||||||||||
| // storage/propagation, not routing or product logic. | ||||||||||||||||||||
| "crates/ironclaw_host_api/src/capability.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_registry/src/v2.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_registry/src/v3.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_registry/src/package.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_registry/src/hosted_mcp_discovery.rs", | ||||||||||||||||||||
| // Host-owned manifest/descriptor builders that carry the additive | ||||||||||||||||||||
| // declarative field through to the descriptor (same storage role as | ||||||||||||||||||||
| // the registry mappings above). | ||||||||||||||||||||
| "crates/ironclaw_extension_host/src/active.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_host/src/generic_host.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_host/src/hosted_mcp_manifest.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_host/src/mcp.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_manager/src/admin_configuration_capability.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_manager/src/extension_lifecycle_capabilities.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_manager/src/operator_config_capability.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_manager/src/skill_auto_activate_capability.rs", | ||||||||||||||||||||
| "crates/ironclaw_extension_manager/src/ironhub/capabilities.rs", | ||||||||||||||||||||
| "crates/ironclaw_host_runtime/src/first_party_tools/mod.rs", | ||||||||||||||||||||
| // Test-support-gated omp registration seam (issue #7392 slice 3): | ||||||||||||||||||||
| // builds the builtin package plus the five omp capabilities with | ||||||||||||||||||||
| // their exact-name overrides; compiled out of production binaries. | ||||||||||||||||||||
| "crates/ironclaw_host_runtime/src/first_party_tools/omp.rs", | ||||||||||||||||||||
|
Comment on lines
+1800
to
+1803
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win The allowlist justification claims a gate that does not exist. The comment states the omp registration seam is "Test-support-gated" and "compiled out of production binaries". This allowlist is a provider-protocol boundary control. A future reviewer reading this entry will conclude the seam cannot reach a shipped binary. Record the real justification: an unconditional, temporary production registration seam for the 📝 Proposed fix- // Test-support-gated omp registration seam (issue `#7392` slice 3):
- // builds the builtin package plus the five omp capabilities with
- // their exact-name overrides; compiled out of production binaries.
+ // ⚠️ TEMPORARY omp registration seam (issue `#7392` slice 3): builds
+ // the builtin package plus the five omp capabilities with their
+ // exact-name overrides. NOT feature-gated — it ships in production
+ // builds for the /benchmark arm and is removed at cutover.
"crates/ironclaw_host_runtime/src/first_party_tools/omp.rs",📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||
| // Host loop/run/thread protocol structs that preserve exact model | ||||||||||||||||||||
| // provider names for tool-result roundtrips and historical replay. | ||||||||||||||||||||
| // The provider-tool-call DTOs live in the `capability` submodule of the | ||||||||||||||||||||
|
|
||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: nearai/ironclaw
Length of output: 4949
🏁 Script executed:
Repository: nearai/ironclaw
Length of output: 47202
Rename the integration-test target to match the repo invariant.
.claude/rules/testing.md:30,tests/integration/CLAUDE.md:161,scripts/ci/reborn-coverage-int-tier-tests.sh:9, anddocs/internal/testing-playbook.md:267require integration tests undertests/integration/be registered asname = "reborn_integration_<name>".reborn_omp_registrationviolates that invariant; update the target name and any matching references toreborn_integration_omp_registration.🤖 Prompt for AI Agents
Source: Coding guidelines