Skip to content

refactor(agent): clear the last tinyagents boundary violations (#7600) - #7812

Merged
senamakel merged 2 commits into
tinyhumansai:mainfrom
senamakel:ta-rem-7600
Oct 14, 2026
Merged

senamakel merged 2 commits into
tinyhumansai:mainfrom
senamakel:ta-rem-7600

Conversation

@senamakel

Copy link
Copy Markdown
Member

Closes #7600.

Module side: tinyagents#455 (merge 616fc23c) drops the EarlyExit re-export from tinyagents-runtime and the tuple-struct ExposureProbe alias in harness tool tests. Host: pin vendor/tinyagents to 616fc23c, turn_run_finalize names tinyagents_harness::tool::EarlyExit, the two baseline entries are dropped.

The rest of the leaf's list already landed in #7773, #7787, #7798: turn_policy/turn_outcome/turn_run_finalize/turn_run_error delegate their generic halves to the harness, response_shape and its task_local, turn_stop, agent/error.rs, turn_deadline and tool_policy are deleted, host TurnCost is replaced by the harness one, and agent/cost.rs keeps only the pricing lookup plus thin call_cost adapters. What stays host-side is the product error, progress projection and TinyagentsTurnOutcome (it carries host route/transcript types).

Gates: cargo check (default, --no-default-features -p openhuman, app manifest), build openhuman-core, agent::tinyagents lib tests (519 pass), rust:layout, boundary check, submodule monotonic.

The early_exit parameter referenced the runtime crate's EarlyExit while the
value originates from the harness, so the signature now imports the type from
tinyagents_harness::tool to match its actual source.

Auto-committed-on: dragonfly
Update the tinyagents submodule to a newer revision and remove the two
baseline entries that no longer match, since the moved symbol alias and
upstream re-export they recorded are gone.

Auto-committed-on: dragonfly
@tinysweeper

tinysweeper Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

Tiny Sweeper reviewed this change across 5 lane(s) and found 0 active actionable finding(s). Detailed lane evidence and any incomplete work are listed below.

State: Ready for maintainer review
Priority: none
Reviewed head: b70456c8aaa2
Updated: 2026-10-14T11:01:59Z

Review snapshot

Change surface Files Review signal Count
Production 1 Active findings 0
Tests 0 Noted findings 0
Documentation 0 Resolved findings 0
Configuration 1 Pending checks/questions 0

Completeness: Complete
Test assessment: No supported feature-to-test mapping was available; this does not mean tests are absent or passed.

Features

None identified with supported citations.

Tests

No supported feature-to-test mapping was produced. Test execution is not inferred.

Findings

No active actionable findings.

Before merge

None.

Agent review details

critique

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The diff only re-points the `early_exit` parameter's type from `tinyagents_runtime::turn_driver::EarlyExit` to its canonical owner, `tinyagents_harness::tool::EarlyExit`. The lookups show there is exactly one `EarlyExit` struct — defined in `vendor/tinyagents/crates/tinyagents-harness/src/tool/shared/early_exit.rs` and re-exported from `tinyagents_harness::tool::mod` — and that `tinyagents_runtime::turn_driver::types` already uses the harness type for its `early_exit` field, so the signature now matches what the driver's result and the caller in `turn_exec.rs` actually carry. No turn_driver-owned `EarlyExit` definition or re-export exists in the search results, so this is a mechanical import-path correction (consistent with the repo's no-re-export-facade boundary policy), not a semantic change; the change looks sound. _The code index is behind this pull request (indexed at `3c718b381ed0`), so retrieved context may be out of date._

security

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The change retypes the `early_exit` parameter from the deleted `tinyagents_runtime::turn_driver::EarlyExit` path to the canonical `tinyagents_harness::tool::EarlyExit`, which is confirmed to exist and be re-exported from `tinyagents_harness::tool::mod`. It is the same struct (`tool: String`, `question: String`) that the turn driver's `TurnControls` carries, so this is a pure import-path repair with no behaviour change and no untrusted-input, auth, network, deserialization, path, secrets, dependency or CI-permission surface. The change looks sound; no findings. _The code index is behind this pull request (indexed at `3c718b381ed0`), so retrieved context may be out of date._

tests

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The behavioural change is a single type-path update: the `early_exit` parameter now names the canonical `tinyagents_harness::tool::EarlyExit` after `tinyagents-runtime` dropped its `pub use` re-export (the lookup shows `turn_driver/types.rs` now imports it privately at line 11). This satisfies the repository's no-forwarding-wrappers rule, and the two deleted baseline entries are the boundary checker's own enforcement now applying — if the re-export or the alias returned, `pnpm agent:runtime-boundary` fails, which is the test that pins it. The type is identical, no other consumer of the old path remains in the tree, and a same-type path change cannot regress silently, so no unit test is owed. The change looks sound. _The code index is behind this pull request (indexed at `3c718b381ed0`), so retrieved context may be out of date._

commits

  • Conclusion: Neutral
  • Scope reviewed: all assigned evidence
  • Lane summary: Nothing sensitive found in what this pull request commits.

description

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The description matches the diff. The host-side change is exactly what the body says: `turn_run_finalize.rs` now names `tinyagents_harness::tool::EarlyExit` (the same type the removed runtime re-export aliased, so no caller change is needed), and the two corresponding baseline entries are dropped. The vendor state at the reviewed commit corroborates the submodule-side claims: `turn_driver/types.rs:11` is now a private `use tinyagents_harness::tool::EarlyExit;` (no `pub use` re-export remains), a search for `turn_driver::EarlyExit` finds nothing left anywhere, and `ExposureProbe` no longer appears in the harness tool tests. No defects found. _The code index is behind this pull request (indexed at `3c718b381ed0`), so retrieved context may be out of date._
Evidence and run details
  • Models: ladder/vectors-oai3, glm-5.3-flash
  • Spend: $0.000874
  • Tokens: 101825 input · 7289 output · 13504 cached · 97 embedding
Head State Pass summary
b70456c8aaa2 ready for maintainer review 0 active finding(s), 0 resolved finding(s) (at 2026-10-14T11:01:59Z)

tinysweeper 0.1.2

@senamakel
senamakel merged commit e6e9b1f into tinyhumansai:main Oct 14, 2026
8 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 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-10-14T10:59:33.423913Z b70456c PR opened
ℹ️ 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.

@coderabbitai

coderabbitai Bot commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 30eaa127-f33d-4d35-918c-68706397b6c3
📥 Commits

Reviewing files that changed from the base of the PR and between fbb3801 and b70456c.

📒 Files selected for processing: 3
  • crates/openhuman-core/src/agent/tinyagents/turn_run_finalize.rs
  • scripts/ci/agent-runtime-boundary-baseline.json
  • vendor/tinyagents
 __________________________________________________________
< Not just a pretty face, but a pretty good code reviewer! >
 ----------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@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.0009 · 101,825 in / 7,289 out · 13,504 cached (13%) · ladder/vectors-oai3, glm-5.3-flash · 97 embedded
critique:    $0.0002 · 29,594 in  / 1,826 out · 4,480 cached (15%)  · glm-5.3-flash
security:    $0.0002 · 26,729 in  / 823 out   · 2,048 cached (8%)   · glm-5.3-flash
tests:       $0.0002 · 29,205 in  / 1,671 out · 2,368 cached (8%)   · glm-5.3-flash
description: $0.0001 · 13,980 in  / 1,941 out · 4,480 cached (32%)  · glm-5.3-flash

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Oct 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.

[tiny-modules] tinyagents: move turn policy, outcome, deadline, stop, error and cost accounting into tinyagents-harness

1 participant