Skip to content

chore(workers): declare iii.worker.yaml dependency graph for the 1.0.0 set - #288

Merged
ytallo merged 3 commits into
mainfrom
chore/declare-worker-dependencies
Jun 18, 2026
Merged

chore(workers): declare iii.worker.yaml dependency graph for the 1.0.0 set#288
ytallo merged 3 commits into
mainfrom
chore/declare-worker-dependencies

Conversation

@ytallo

@ytallo ytallo commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

What

Adds dependencies: blocks to the seven workers in the harness dependency tree and updates the harness's own dependency ranges, forming the explicit worker dependency graph for the coordinated 1.0.0 release.

Dependency graph

Worker Declares
harness iii-state, iii-queue, configuration, iii-directory, session-manager, context-manager, llm-router, approval-gate
iii-directory configuration
session-manager configuration
context-manager configuration, llm-router
llm-router iii-state, configuration
provider-anthropic iii-state, llm-router
provider-openai iii-state, llm-router
approval-gate iii-state, configuration, iii-directory, session-manager

System workers (iii-state, iii-queue, configuration) pinned to ^0.19.0; inter-worker edges to ^1.0.0.

Notes

  • Edges derived from real (non-test) call-sites: router::chat / router::models::get, state::*, configuration::*, session::get / session::deleted, engine::functions/workers::list. Test-fixture references (shell::exec, web::fetch) and gated-function data (shell::run) were excluded.
  • Two cycle-forming edges intentionally omitted: approval-gate → harness (best-effort callback that degrades gracefully) and llm-router → providers (providers self-register via router::provider::register).
  • The ^1.0.0 inter-worker ranges become resolvable once the whole set is published at 1.0.0 — merging this commits the workers to the coordinated 1.0.0 release.
  • Graph is acyclic. Publish order is dependency-first: iii-directory / session-manager / llm-routercontext-manager / providers / approval-gateharness.

https://claude.ai/code/session_013LM3EaciHB9zGF8zRvjzxD

Summary by CodeRabbit

  • Chores
    • Added explicit dependency declarations with specific version constraints to configuration manifests across multiple system components throughout the application architecture
    • Updated critical system dependencies to ^1.0.0 across various interconnected system modules to maintain consistency across the entire system
    • Removed several deprecated placeholder configuration files and outdated permissions policy specifications from various components

…0 set

Add evidence-based `dependencies:` blocks to the workers in the harness
dependency tree and align the harness's own ranges to the coordinated
1.0.0 release. Inter-worker edges use ^1.0.0 (resolve once the whole set
ships at 1.0.0); system workers use ^0.19.0.

- harness: iii-directory/session-manager/context-manager/llm-router/approval-gate -> ^1.0.0
- iii-directory, session-manager: configuration
- context-manager: configuration, llm-router
- llm-router: iii-state, configuration
- provider-anthropic, provider-openai: iii-state, llm-router
- approval-gate: iii-state, configuration, iii-directory, session-manager

Cycle-forming edges omitted by design: approval-gate->harness (soft
callback) and llm-router->providers (providers self-register).

Claude-Session: https://claude.ai/code/session_013LM3EaciHB9zGF8zRvjzxD
@vercel

vercel Bot commented Jun 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
workers Ready Ready Preview, Comment Jun 18, 2026 2:12pm

Request Review

@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@ytallo, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 39 minutes and 38 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

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 credits.

🚦 How do rate limits work?

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

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, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f49d9306-426b-4ba0-bba7-641812fccefd

📥 Commits

Reviewing files that changed from the base of the PR and between 284b128 and c93dfb8.

📒 Files selected for processing (2)
  • iii-directory/src/configuration.rs
  • iii-directory/src/main.rs
📝 Walkthrough

Walkthrough

Multiple worker YAML manifests (approval-gate, context-manager, iii-directory, llm-router, provider-anthropic, provider-openai, session-manager) each gain a new dependencies block with version-pinned constraints. The harness manifest bumps four downstream dependencies to ^1.0.0 and adds approval-gate: ^1.0.0. The llm-router/config.yaml placeholder and llm-router/iii-permissions.yaml permissions policy are both removed.

Changes

Worker manifest dependency declarations and harness version bumps

Layer / File(s) Summary
Leaf worker dependency declarations
iii-directory/iii.worker.yaml, session-manager/iii.worker.yaml, llm-router/iii.worker.yaml, context-manager/iii.worker.yaml, approval-gate/iii.worker.yaml, provider-anthropic/iii.worker.yaml, provider-openai/iii.worker.yaml
Each worker manifest adds a new dependencies block declaring version-pinned constraints for shared workers (iii-state: ^0.19.0, configuration: ^0.19.0, llm-router: ^1.0.0, etc.).
Harness version bumps and new approval-gate dependency
harness/iii.worker.yaml
Bumps iii-directory, session-manager, context-manager, and llm-router to ^1.0.0 (from previous ^0.x) and adds approval-gate: ^1.0.0.
llm-router cleanup
llm-router/config.yaml, llm-router/iii-permissions.yaml
Removes the placeholder config.yaml (comment-only, no-op) and deletes the entire iii-permissions.yaml policy that had denied agent-callable access to routing/provider/model mutation operations while allowing a limited read surface.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • iii-hq/workers#134: Directly modifies harness/iii.worker.yaml's dependencies block, pruning and reordering the same dependencies list that this PR extends with version bumps and approval-gate.
  • iii-hq/workers#258: Modifies llm-router worker permissions logic (denying !provider::* direct calls), directly related to the llm-router/iii-permissions.yaml file deleted in this PR.

Suggested reviewers

  • sergiofilhowz

Poem

🐇 Hoppity-hop through the YAML maze,
Dependencies declared in versioned haze!
The harness gets approval-gate brand new,
Old permission files? We bid them adieu.
^1.0.0 for all — a stable spring,
The rabbit stamps the manifests: just the thing! 🌸

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: declaring worker dependency graphs in iii.worker.yaml files for the 1.0.0 release, which aligns with all file modifications across eight workers.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/declare-worker-dependencies

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 and usage tips.

@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 22 skipped (no docs/).

Layer Result
structure
vale
ai
render

Four for four. Nicely done.

Deleted obsolete `config.yaml` and `iii-permissions.yaml` files from the llm-router, as they are no longer needed for the current architecture and configuration management. This cleanup helps streamline the codebase and reduce confusion regarding configuration sources.
…andlers

The publish step's `collect_worker_interface.py --assert-typed-schemas`
(added in #274) rejects functions whose request/response serialize as
untyped AnyValue. `directory::on-config-change` and the internal
`directory::__on_worker_added` were registered with `serde_json::Value`,
producing empty schemas and failing publish.

Give each a typed request/response struct deriving `schemars::JsonSchema`
(matching the worker's existing `ListPromptsInput {}` convention), so the
collected interface carries real schemas. No behavioural change — both
handlers still ignore/forward the same fields.

Claude-Session: https://claude.ai/code/session_013LM3EaciHB9zGF8zRvjzxD
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.

1 participant