Skip to content

refactor(directory): rename worker iii-directory -> directory#266

Open
guibeira wants to merge 1 commit into
mainfrom
refactor/rename-iii-directory
Open

refactor(directory): rename worker iii-directory -> directory#266
guibeira wants to merge 1 commit into
mainfrom
refactor/rename-iii-directory

Conversation

@guibeira

@guibeira guibeira commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Renames the in-repo worker iii-directory -> directory (Task 1 of the remove-iii-prefix plan). This is a coordinated rename: folder, crate/bin/lib identifiers, worker manifest name:, dependency keys, CI allowlists, release tag pattern, console TS, and docs all change together.

The publish CI enforces that a worker's iii.worker.yaml name: must equal its folder name (validate_worker.py), so folder rename + manifest name: + CI allowlists are coupled and changed in one commit.

Changes

  • git mv iii-directory -> directory
  • directory/Cargo.toml: package/[[bin]]/[lib] name -> directory (the iii-sdk dependency line is untouched)
  • directory/iii.worker.yaml: name: directory, bin: directory
  • Lib identifier iii_directory -> directory across all Rust sources/tests
  • Worker dependency keys: harness/iii.worker.yaml and harness/src/harness/iii.worker.yaml iii-directory -> directory
  • CI: release.yml tag pattern directory/v*, create-tag.yml allowlist, validate_worker.py ALLOWED entry, parse_publish_workers_input.py allowed-set entry
  • Display/string refs in console TS, README, harness docs, shell README, and the worker's own README/SKILL/e2e harness

Verification

  • cargo build in directory/: PASS
  • cargo test --lib: 243 passed, 0 failed
  • cargo test --test bdd -- --tags @pure: compiles + runs clean (no @pure-tagged scenarios exist in feature files; engine-bound scenarios skip without a running engine — unrelated to the rename)
  • validate_worker.py --worker directory --base-ref main --source-changed '["directory"]': exit 0 (name now matches folder)
  • Straggler grep for iii-directory/iii_directory (excluding target/ + node_modules): empty
  • External SDK deps (iii-sdk, iii-state, iii-stream, iii-queue, iii-observability) left byte-identical — confirmed no external-dep lines in the Cargo.toml diff

Notes

  • Worker name must match folder per validate_worker.py.
  • Shared CI files edited (release tag pattern, allowlists); other workers' entries untouched.
  • External SDK deps are out of scope (source lives in the SDK repo) and were not modified.

Summary by CodeRabbit

  • Chores
    • Updated the directory worker identifier from iii-directory to directory across configurations, GitHub Actions workflows, documentation, and all code references.

@vercel

vercel Bot commented Jun 15, 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 19, 2026 11:29am

Request Review

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The worker previously known as iii-directory is renamed to directory across the entire repository. This touches the Rust crate's Cargo.toml, WorkerMetadata, CONFIG_ID, log messages, test fixtures, e2e harness scripts, CI/CD workflows and scripts, harness manifests and LLM prompt files, web console fixtures, and all documentation.

Changes

Worker rename: iii-directory → directory

Layer / File(s) Summary
Rust crate identity and worker registration
directory/Cargo.toml, directory/src/lib.rs, directory/iii.worker.yaml, directory/src/main.rs
[package].name, [lib].name, crate doc, worker YAML name, all use iii_directory:: imports, WorkerMetadata.name, seed-config comment, context strings, and startup/shutdown log lines are renamed.
Configuration module constants and registrations
directory/src/configuration.rs, directory/src/config.rs, directory/src/sources/mod.rs, directory/config.yaml.example
CONFIG_ID constant, schema registration payload, trigger registration description, reload log message, json_schema doc comment, HTTP_USER_AGENT doc comment, and config example seed comments are renamed.
Functions log messages, skills comments, and registry test fixtures
directory/src/functions/mod.rs, directory/src/functions/skills.rs, directory/src/sources/registry.rs
Registration completion tracing::info! messages, filter_to_registered doc/inline comments, and multiple unit test fixture strings and path assertions are renamed.
Rust integration tests and e2e harness
directory/tests/..., directory/examples/test_registry.rs, directory/skills/SKILL.md
Test common imports (workers.rs, world.rs), step doc comment, example import paths, SKILL.md frontmatter/title, and the full e2e harness (README, config.yaml, run-tests.sh) are renamed.
CI scripts and release workflows
.github/scripts/parse_publish_workers_input.py, .github/scripts/validate_worker.py, .github/scripts/collect_worker_interface.py, .github/scripts/tests/test_normalize_worker_interface.py, .github/workflows/create-tag.yml, .github/workflows/release.yml
ALLOWED_WORKERS, BOOTSTRAP_WORKERS, docstrings, the workflow_dispatch worker option list, and the on.push.tags glob pattern are updated.
Harness manifests and LLM prompts
harness/iii.worker.yaml, approval-gate/iii.worker.yaml, harness/prompts/*, harness/src/prompt/tests.rs
Dependency key in both YAML manifests, all five prompt file registry install instructions, and prompt test assertions (directory_bootstrap_degrade, default_variant_matches_legacy_default_body) are updated.
Console web fixtures, parsers, and hooks
console/web/src/components/chat/directory/parsers.ts, console/web/src/components/chat/worker/__tests__/parsers.test.ts, console/web/src/hooks/use-worker-lifecycle.ts, console/web/src/stories/fixtures/engine-fixtures.ts, console/web/src/stories/fixtures/worker-fixtures.ts
Header comments, worker::list parser test fixture, hook doc, and all engine/worker Storybook fixture name/worker_name values are updated.
Documentation
README.md, directory/README.md, shell/README.md, docs/architecture/*, docs/sops/*
Modules table entry, worker README title and examples, companion worker install instructions, PR validation table, CI docs, binary-worker reference link, and new-worker SOP naming examples and bootstrap worker lists are updated.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • iii-hq/workers#134: Modifies harness/iii.worker.yaml's dependencies block, the same manifest where this PR renames the iii-directory key to directory.
  • iii-hq/workers#267: Modifies directory/src/configuration.rs configuration worker wiring, the same file where this PR renames CONFIG_ID from "iii-directory" to "directory".
  • iii-hq/workers#288: Adds the dependencies block to approval-gate/iii.worker.yaml referencing iii-directory, which this PR renames to directory.

Suggested reviewers

  • sergiofilhowz
  • ytallo

Poem

🐇 Hippity-hop, the name's been shed,
iii-directory is gone — directory instead!
From Cargo.toml to prompts and more,
Every stray iii- shown the door.
The rabbit renamed with a flourish and flair,
Cleaner identifiers dancing in the air! ✨

🚥 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: renaming the worker from 'iii-directory' to 'directory', which is the primary focus of this comprehensive refactor across all components.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/rename-iii-directory

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 15, 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.

@guibeira guibeira marked this pull request as ready for review June 15, 2026 20:11
@guibeira guibeira marked this pull request as draft June 15, 2026 20:11

@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: 1

🧹 Nitpick comments (1)
directory/tests/e2e/run-tests.sh (1)

15-15: 💤 Low value

Remove the unused HERE variable.

Variable HERE is declared on line 15 but never referenced in the script. All assertions and operations use $ROOT_DIR or other variables directly.

Proposed fix
 HERE="$ROOT_DIR"                                   # assertion body refers to $HERE / $GLOBAL
-HERE="$ROOT_DIR"
 PORT="${PORT:-49134}"

Note: Remove the redundant assignment on line 15, or if HERE was intentionally added for future use, remove the misleading comment on line 15.

🤖 Prompt for 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.

In `@directory/tests/e2e/run-tests.sh` at line 15, The HERE variable is declared
and assigned the value of ROOT_DIR but is never referenced anywhere in the
script, making it redundant code. Remove the assignment of the HERE variable
since all assertions and operations in the script use ROOT_DIR or other
variables directly instead of the HERE alias.
🤖 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 `@directory/src/main.rs`:
- Around line 35-37: The multi-line import statement for download_worker_skills,
reconcile_decision, and InFlightGuard from directory::functions::download is
failing cargo fmt validation. Collapse this import block from its current
multi-line format into a single line by removing the line breaks and moving all
imported items onto one line while keeping the curly brace syntax intact.

---

Nitpick comments:
In `@directory/tests/e2e/run-tests.sh`:
- Line 15: The HERE variable is declared and assigned the value of ROOT_DIR but
is never referenced anywhere in the script, making it redundant code. Remove the
assignment of the HERE variable since all assertions and operations in the
script use ROOT_DIR or other variables directly instead of the HERE alias.
🪄 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

Run ID: 43e4f9c4-72a8-44c3-8fc5-b779df40b3ef

📥 Commits

Reviewing files that changed from the base of the PR and between 1ae7497 and e1eb4d7.

⛔ Files ignored due to path filters (1)
  • directory/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (69)
  • .github/scripts/parse_publish_workers_input.py
  • .github/scripts/validate_worker.py
  • .github/workflows/create-tag.yml
  • .github/workflows/release.yml
  • README.md
  • console/web/src/components/chat/directory/parsers.ts
  • console/web/src/components/chat/worker/__tests__/parsers.test.ts
  • console/web/src/hooks/use-worker-lifecycle.ts
  • console/web/src/stories/fixtures/engine-fixtures.ts
  • console/web/src/stories/fixtures/worker-fixtures.ts
  • directory/Cargo.toml
  • directory/README.md
  • directory/build.rs
  • directory/config.yaml
  • directory/examples/test_registry.rs
  • directory/iii.worker.yaml
  • directory/skills/SKILL.md
  • directory/src/config.rs
  • directory/src/fs_source.rs
  • directory/src/functions/download.rs
  • directory/src/functions/engine_fn.rs
  • directory/src/functions/error.rs
  • directory/src/functions/mod.rs
  • directory/src/functions/prompts.rs
  • directory/src/functions/registry.rs
  • directory/src/functions/skills.rs
  • directory/src/lib.rs
  • directory/src/main.rs
  • directory/src/manifest.rs
  • directory/src/sources/git.rs
  • directory/src/sources/mod.rs
  • directory/src/sources/registry.rs
  • directory/src/trigger_types.rs
  • directory/tests/bdd.rs
  • directory/tests/common/engine.rs
  • directory/tests/common/mod.rs
  • directory/tests/common/workers.rs
  • directory/tests/common/world.rs
  • directory/tests/e2e/.gitignore
  • directory/tests/e2e/README.md
  • directory/tests/e2e/config.yaml
  • directory/tests/e2e/reports/.gitkeep
  • directory/tests/e2e/run-tests.sh
  • directory/tests/features/download_registry.feature
  • directory/tests/features/download_repo.feature
  • directory/tests/features/prompts.feature
  • directory/tests/features/read.feature
  • directory/tests/features/registry_worker_info.feature
  • directory/tests/features/registry_worker_list.feature
  • directory/tests/steps/download_registry.rs
  • directory/tests/steps/download_repo.rs
  • directory/tests/steps/mod.rs
  • directory/tests/steps/prompts.rs
  • directory/tests/steps/read.rs
  • directory/tests/steps/registry.rs
  • docs/architecture/skills-and-permissions.md
  • docs/architecture/testing-and-ci.md
  • docs/sops/new-worker.md
  • harness/README.md
  • harness/docs/architecture.md
  • harness/docs/workers/harness.md
  • harness/iii.worker.yaml
  • harness/src/harness/iii.worker.yaml
  • harness/src/turn-orchestrator/prompt/anthropic.ts
  • harness/src/turn-orchestrator/prompt/default.ts
  • harness/src/turn-orchestrator/prompt/gpt.ts
  • harness/src/turn-orchestrator/prompt/kimi.ts
  • harness/tests/turn-orchestrator/system-prompt.test.ts
  • shell/README.md

Comment thread directory/src/main.rs Outdated
Rename worker folder, manifest name:, crate/lib, function namespace
(directory::*), worker dependencies (harness + approval-gate), CI
allowlists + interface scripts, turn-orchestrator prompts, console
fixtures, and docs from iii-directory to directory.

Binary stays 'iii-directory' (Cargo [[bin]].name + iii.worker.yaml bin: +
clap command name + invocation examples + e2e cargo artifact path); the
engine installs/loads it under the worker name 'directory'.

Update harness prompt golden length for the shortened worker name.
External SDK deps (iii-sdk, iii-state, ...) untouched.

@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: 1

🤖 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 `@directory/tests/e2e/run-tests.sh`:
- Line 55: The binary name in the cp command on line 55 is hardcoded as
`iii-directory` but after the Cargo.toml binary rename, the compiled binary is
now named `directory`. Update the source path in the cp command from
`$WORKER_SRC/target/debug/iii-directory` to `$WORKER_SRC/target/debug/directory`
to correctly reference the renamed binary.
🪄 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

Run ID: 5dabe5b4-5ccb-4ffd-b8cb-22136e62332a

📥 Commits

Reviewing files that changed from the base of the PR and between e3363e3 and 9133963.

⛔ Files ignored due to path filters (2)
  • directory/Cargo.lock is excluded by !**/*.lock
  • harness/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (71)
  • .github/scripts/collect_worker_interface.py
  • .github/scripts/parse_publish_workers_input.py
  • .github/scripts/tests/test_normalize_worker_interface.py
  • .github/scripts/validate_worker.py
  • .github/workflows/create-tag.yml
  • .github/workflows/release.yml
  • README.md
  • approval-gate/iii.worker.yaml
  • console/web/src/components/chat/directory/parsers.ts
  • console/web/src/components/chat/worker/__tests__/parsers.test.ts
  • console/web/src/hooks/use-worker-lifecycle.ts
  • console/web/src/stories/fixtures/engine-fixtures.ts
  • console/web/src/stories/fixtures/worker-fixtures.ts
  • directory/Cargo.toml
  • directory/README.md
  • directory/build.rs
  • directory/config.yaml.example
  • directory/examples/test_registry.rs
  • directory/iii.worker.yaml
  • directory/skills/SKILL.md
  • directory/src/config.rs
  • directory/src/configuration.rs
  • directory/src/fs_source.rs
  • directory/src/functions/download.rs
  • directory/src/functions/engine_fn.rs
  • directory/src/functions/error.rs
  • directory/src/functions/mod.rs
  • directory/src/functions/prompts.rs
  • directory/src/functions/registry.rs
  • directory/src/functions/skills.rs
  • directory/src/lib.rs
  • directory/src/main.rs
  • directory/src/manifest.rs
  • directory/src/sources/git.rs
  • directory/src/sources/mod.rs
  • directory/src/sources/registry.rs
  • directory/src/trigger_types.rs
  • directory/tests/bdd.rs
  • directory/tests/common/engine.rs
  • directory/tests/common/mod.rs
  • directory/tests/common/workers.rs
  • directory/tests/common/world.rs
  • directory/tests/e2e/.gitignore
  • directory/tests/e2e/README.md
  • directory/tests/e2e/config.yaml
  • directory/tests/e2e/reports/.gitkeep
  • directory/tests/e2e/run-tests.sh
  • directory/tests/features/download_registry.feature
  • directory/tests/features/download_repo.feature
  • directory/tests/features/prompts.feature
  • directory/tests/features/read.feature
  • directory/tests/features/registry_worker_info.feature
  • directory/tests/features/registry_worker_list.feature
  • directory/tests/steps/download_registry.rs
  • directory/tests/steps/download_repo.rs
  • directory/tests/steps/mod.rs
  • directory/tests/steps/prompts.rs
  • directory/tests/steps/read.rs
  • directory/tests/steps/registry.rs
  • docs/architecture/skills-and-permissions.md
  • docs/architecture/testing-and-ci.md
  • docs/sops/binary-worker.md
  • docs/sops/new-worker.md
  • harness/iii.worker.yaml
  • harness/prompts/anthropic.txt
  • harness/prompts/cli.txt
  • harness/prompts/default.txt
  • harness/prompts/gpt.txt
  • harness/prompts/kimi.txt
  • harness/src/prompt/tests.rs
  • shell/README.md
✅ Files skipped from review due to trivial changes (29)
  • directory/tests/steps/read.rs
  • harness/iii.worker.yaml
  • directory/src/config.rs
  • directory/Cargo.toml
  • console/web/src/hooks/use-worker-lifecycle.ts
  • .github/scripts/collect_worker_interface.py
  • harness/prompts/default.txt
  • .github/scripts/tests/test_normalize_worker_interface.py
  • directory/examples/test_registry.rs
  • console/web/src/components/chat/directory/parsers.ts
  • .github/workflows/create-tag.yml
  • directory/src/lib.rs
  • harness/prompts/kimi.txt
  • directory/tests/common/workers.rs
  • docs/sops/binary-worker.md
  • directory/README.md
  • README.md
  • harness/src/prompt/tests.rs
  • directory/tests/e2e/README.md
  • docs/architecture/testing-and-ci.md
  • directory/src/functions/mod.rs
  • directory/src/sources/mod.rs
  • directory/iii.worker.yaml
  • directory/skills/SKILL.md
  • directory/config.yaml.example
  • docs/architecture/skills-and-permissions.md
  • shell/README.md
  • .github/workflows/release.yml
  • directory/src/functions/skills.rs
🚧 Files skipped from review as they are similar to previous changes (10)
  • directory/tests/common/world.rs
  • .github/scripts/parse_publish_workers_input.py
  • console/web/src/stories/fixtures/worker-fixtures.ts
  • console/web/src/components/chat/worker/tests/parsers.test.ts
  • directory/src/sources/registry.rs
  • .github/scripts/validate_worker.py
  • directory/src/main.rs
  • directory/tests/e2e/config.yaml
  • console/web/src/stories/fixtures/engine-fixtures.ts
  • directory/src/configuration.rs

Comment thread directory/tests/e2e/run-tests.sh
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