Skip to content

chore: clean up remaining iii-stream and pubsub references (MOT-3619) - #1353

Merged
guibeira merged 13 commits into
mainfrom
chore/mot-3619-stream-references-cleanup
Oct 9, 2026
Merged

guibeira merged 13 commits into
mainfrom
chore/mot-3619-stream-references-cleanup

Conversation

@guibeira

@guibeira guibeira commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Part of MOT-3619 Phase 3: clean up the remaining iii-stream / pubsub references in the workers repo that are not part of a consumer migration (see iii-hq/iii#2281). 11 commits, one per area; no behavior change beyond removing unused iii-stream / pubsub config.

Changes

  • harness: iii-stream removed from both test stacks (nothing in them uses streams); the stack unit test now asserts iii-stream is absent; manifest engine_builtins drops stream; stream / subscribe trigger docs marked deprecated. tests/manifest.rs guard (iii-stream is not a dependency) kept.
  • CI: stale "harness enables iii-stream" comment removed (iii-stream stays in ENGINE_BUILTIN_WORKERS).
  • fp / mcp / iii-permissions: keep blocking / hiding stream:: and keep the !stream::set deny, with comments explaining they cover the deprecated iii-stream.
  • lsp: stream, stream:join, stream:leave tagged deprecated in completions and hover (3 new tests).
  • docs: renamed the guidelines example id that suggested stream usage; iii-stream marked deprecated in docs/architecture/iii-worker-yaml.md; openwiki and console-ui hooks.d.mts examples point at owned/state triggers.
  • image-resize: unused iii-stream removed from the example engine config (it uses channels).
  • approval-gate: unused iii-pubsub removed from the testkit engine config.

Verification

  • Final repo-wide grep: every remaining hit classified (another Phase 3 PR / false positive such as Rust futures streams / pubsub worker itself / intentional guard / upstream-generated follow-up).
  • lsp 130/130, fp 61 (+1 ignored), mcp 38/38 (23 BDD scenarios), image-resize 58/58, harness 817/817, harness-integration 130/130 (+41 fixtures valid), approval-gate 190/190, .github/scripts pytest 304 passed / 3 skipped, openwiki 89/89; fmt and clippy clean where applicable.
  • Live harness integration on an engine without iii-stream: 35/35 (one earlier run had a single timeout under build load; the test passed 3/3 when rerun).

Follow-ups (not in this PR)

  • approval-gate testkit also enables inline iii-state, which engine 0.24 refuses, so its ~60 engine-backed tests always self-skip; needs a standalone state worker in the testkit.
  • template/ and kanban/ iii-browser-sdk.md still teach createStream; those skill files are generated from iii-hq/templates, so fix them there and re-sync.
  • Pre-existing: approval-gate Cargo.lock is stale for --locked; the harness-e2e crate does not compile on the base commit.

Summary by CodeRabbit

  • Documentation
    • Marked iii-stream and its related triggers and functions as deprecated across guidance, examples, and editor assistance.
    • Updated trigger examples to use a worker-owned trigger type.
  • Bug Fixes
    • Removed iii-stream from selected engine and example configurations while retaining existing restrictions on its functions.

@vercel

vercel Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
workers Ready Ready Preview Oct 9, 2026 11:54am UTC
workers-tech-spec Ready Ready Preview Oct 9, 2026 11:54am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 41 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d3074844-f617-41ef-be48-ad5afd9cce14

📥 Commits

Reviewing files that changed from the base of the PR and between d1d1e35 and 46d8296.


⛔ Files ignored due to path filters (1)
  • approval-gate/Cargo.lock is excluded by !**/*.lock

📒 Files selected for processing (24)
  • .github/scripts/build_publish_payload.py
  • .github/scripts/tests/test_build_publish_payload.py
  • DOCUMENTATION_GUIDELINES.md
  • approval-gate/src/testkit/engine.rs
  • docs/architecture/iii-worker-yaml.md
  • fp/README.md
  • fp/src/pipe.rs
  • harness/architecture/reactive-triggers.md
  • harness/tests/e2e/stack-config/engine.yaml
  • harness/tests/integration/src/stack/config.rs
  • harness/tests/integration/src/stack/manifest.rs
  • harness/tests/integration/src/stack/tests.rs
  • harness/tests/register-trigger-use-cases.md
  • iii-permissions.yaml
  • image-resize/example/README.md
  • image-resize/example/config.yaml
  • image-resize/src/main.rs
  • lsp/README.md
  • lsp/src/completions.rs
  • lsp/src/hover.rs
  • mcp/README.md
  • mcp/config.yaml
  • openwiki/src/lib/progress.mjs
  • packages/console-ui/hooks.d.mts


No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7841c1ea-a827-4dcd-b305-19470389dfb0

📥 Commits

Reviewing files that changed from the base of the PR and between fb138f6 and d1d1e35.


⛔ Files ignored due to path filters (1)
  • approval-gate/Cargo.lock is excluded by !**/*.lock

📒 Files selected for processing (24)
  • .github/scripts/build_publish_payload.py
  • .github/scripts/tests/test_build_publish_payload.py
  • DOCUMENTATION_GUIDELINES.md
  • approval-gate/src/testkit/engine.rs
  • docs/architecture/iii-worker-yaml.md
  • fp/README.md
  • fp/src/pipe.rs
  • harness/architecture/reactive-triggers.md
  • harness/tests/e2e/stack-config/engine.yaml
  • harness/tests/integration/src/stack/config.rs
  • harness/tests/integration/src/stack/manifest.rs
  • harness/tests/integration/src/stack/tests.rs
  • harness/tests/register-trigger-use-cases.md
  • iii-permissions.yaml
  • image-resize/example/README.md
  • image-resize/example/config.yaml
  • image-resize/src/main.rs
  • lsp/README.md
  • lsp/src/completions.rs
  • lsp/src/hover.rs
  • mcp/README.md
  • mcp/config.yaml
  • openwiki/src/lib/progress.mjs
  • packages/console-ui/hooks.d.mts

💤 Files with no reviewable changes (3)
  • harness/tests/e2e/stack-config/engine.yaml
  • image-resize/example/config.yaml
  • approval-gate/src/testkit/engine.rs

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 0 remain after this review.



📝 Walkthrough

Walkthrough

The changes mark legacy pubsub and iii-stream triggers as deprecated in guidance and LSP output. Several test and example configurations remove legacy services. Trigger examples and references are also updated.

Changes

Legacy Trigger Deprecation

Layer / File(s) Summary
Document legacy trigger status
docs/architecture/iii-worker-yaml.md, harness/architecture/reactive-triggers.md, harness/tests/register-trigger-use-cases.md, fp/README.md, fp/src/pipe.rs, iii-permissions.yaml, mcp/README.md, mcp/config.yaml
Guidance identifies deprecated pubsub and iii-stream triggers. Comments describe existing refusal, permission, and hidden-namespace rules.
Show deprecation in LSP
lsp/src/completions.rs, lsp/src/hover.rs, lsp/README.md
Completions and hover text mark stream, stream:join, and stream:leave as deprecated. Tests cover these IDs and examples that remain unmarked.
Remove legacy services from configurations
approval-gate/src/testkit/engine.rs, harness/tests/e2e/stack-config/engine.yaml, harness/tests/integration/src/stack/*, image-resize/example/*, image-resize/src/main.rs
Test and example configurations remove legacy worker entries. The integration test now checks that the rendered engine YAML omits iii-stream.
Update trigger examples and references
.github/scripts/build_publish_payload.py, .github/scripts/tests/test_build_publish_payload.py, DOCUMENTATION_GUIDELINES.md, openwiki/src/lib/progress.mjs, packages/console-ui/hooks.d.mts
Comments and examples replace legacy stream references with a worker-owned trigger or a state trigger. The test logic and declarations remain unchanged.

Priority: ⬇️ Low

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

Change: Other

Suggested reviewers: sergiofilhowz, andersonleal


Merge Risk: ⚪ Minimal · up to d1d1e

The changes consistently mark legacy triggers as deprecated and remove them from the described unused configurations; no concrete user-facing failure is established, so the PR appears mergeable after normal checks.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 52.94% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 11 files. (10 skipped… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title accurately summarizes the primary changes: removing remaining iii-stream and pubsub references and unused configuration.
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.

Full details: Docstring Coverage

Explanation

Docstring coverage is 52.94% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 11 files. (10 skipped: 10 unsupported.)



✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR

🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

A rabbit reads the trigger guide,
And spots the stream tags set aside.
New worker names hop into view,
While old configs lose a stanza or two.
The burrow hums with clearer signs,
And carrot crumbs mark tidy lines.

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

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 83 skipped (no docs/).

Layer Result
structure ✓
vale ✓
ai ✓
render ✓

Four for four. Nicely done.

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

🟢 Harness E2E · harness @ d1d1e35

4/4 passed
Run

@guibeira
guibeira marked this pull request as ready for review October 8, 2026 20:45
…OT-3619)

main drifted after #1329 (harness gained whatlang/regex; console-ui moved to iii-sdk 0.23.0). Adds whatlang 0.18.0 + allocator-api2 0.2.21 and dependency edges only; no existing crate version changes. Unblocks approval-gate rust lint + test and interface boot smoke.
@guibeira
guibeira merged commit ea5958c into main Oct 9, 2026
11 of 26 checks passed
andersonleal added a commit that referenced this pull request Oct 9, 2026
…rom ~37 min (#1359)

* ci(judge-e2e): skip the Rust engine suite on JS-only shared changes

packages/console-ui is a type-only surface and the root pnpm files only
reach the judge UIs, yet a PR touching just those ran the full ~37 min
real-engine suite (e.g. #1353, one .d.mts file). Keep the UI Vitest and
tsc builds on those paths and gate the toolchain, cache, llama.cpp tools,
engine install and engine tests on a change the engine suite builds.

Claude-Session: https://claude.ai/code/session_01WQhvPNhJJpri8PUFLGuQ5s

* ci(judge-e2e): build each shared unit once and llama.cpp CPU-only

The engine step spent ~36 of 37 min compiling: llama.cpp from scratch
for each of semif, decider, laya and clef (every CPU variant plus the
Vulkan shaders), and eight separate workspaces rebuilding the same deps.
The 11 cases themselves take ~27 s.

- crates/llama-native: III_LLAMA_CPP_MINIMAL=1 builds one CPU module and
  no Vulkan (test-only; published builds are unchanged).
- judge-e2e: one CARGO_TARGET_DIR for all suites plus the minimal build;
  drop rust-cache (PR-scoped, never reaches another PR, and it purges
  path crates) and the Vulkan apt step.

Local mirror run: 11/11 pass in 245 s, llama.cpp built twice (judge-laya
keeps its own opt-level 3 build).

Claude-Session: https://claude.ai/code/session_01WQhvPNhJJpri8PUFLGuQ5s

This branch was successfully deployed

2 active deployments
Preview – workers-tech-spec — 46d8296a Deployed Oct 9, 2026 by vercel[bot]
Preview – workers — 46d8296a Deployed Oct 9, 2026 by vercel[bot]
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