Skip to content

fix(opencode): install compiled home runtime - #3113

Open
Dante-dan wants to merge 3 commits into
affaan-m:mainfrom
Dante-dan:fix/3112-opencode-home-dist
Open

Dante-dan wants to merge 3 commits into
affaan-m:mainfrom
Dante-dan:fix/3112-opencode-home-dist

Conversation

@Dante-dan

@Dante-dan Dante-dan commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • install the compiled OpenCode plugin and tool JavaScript at the active plugins/ and tools/ paths while retaining the complete dist/ payload
  • remove obsolete unchanged managed TypeScript sources and compiled plugin/tool JavaScript during upgrades, while preserving entries still present in the current install plan
  • keep runtime cleanup fail-closed on trusted paths, recorded SHA-256 digests, and regular-file checks; modified or unverifiable files are preserved by rejecting the migration
  • require the compiled plugin and tool entry barrels during install validation; handle an absent build output without masking other filesystem errors
  • cover runtime upgrades with cross-platform fixtures and immutable test-state construction

Why This Change

OpenCode loads ./plugins from the installed configuration, but the home installer copied the TypeScript source tree there. Those sources use NodeNext-style .js specifiers whose adjacent JavaScript exists only in the compiled output, causing ERR_MODULE_NOT_FOUND. Installing the compiled runtime at OpenCode's active paths preserves the intended import contract.

Fixes #3112

Testing Done

  • node tests/lib/install-targets.test.js — 53 passed, 0 failed
  • node tests/lib/install-executor.test.js — 21 passed, 0 failed
  • install lifecycle suite — 66 passed; legacy migration suite — 9 passed
  • node scripts/build-opencode.js — passed
  • isolated-home clean install — compiled plugin/tool entrypoints present, TypeScript runtime entrypoints absent
  • isolated-home managed upgrade — stale TypeScript runtime sources removed, compiled JavaScript installed, final install state migrated
  • scoped ESLint and git diff --check — passed

Type of Change

  • fix: Bug fix

Security & Quality Checklist

  • No secrets or API keys committed
  • No sensitive data exposed in logs or output
  • Follows conventional commits format
  • Edge cases for stale compiled JavaScript, current-plan replacements, modified/unverifiable files, and non-file managed targets are tested

Signed-off-by: Dante <duanjl.china@gmail.com>
@Dante-dan
Dante-dan requested a review from affaan-m as a code owner September 13, 2026 21:47
@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Security Evidence

Commit: 098e8be9b7f508832c50bf7e26321e36b03f4aad

Security evidence gate passed (success)

No security-sensitive scanner-evidence gap detected.

Mode: enforce

Scanned 5 changed file(s). No missing scanner-evidence signal was detected.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Risk Taxonomy

Commit: 098e8be9b7f508832c50bf7e26321e36b03f4aad

PR taxonomy review recommended (neutral)

Detected 1 PR taxonomy bucket(s): CI/CD Recommendation.

Scanned 5 changed file(s).

Roadmap taxonomy buckets:

CI/CD Recommendation

CI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work.

Signals:

  • 2 CI or workflow path(s) changed

Paths:

  • tests/lib/install-executor.test.js
  • tests/lib/install-targets.test.js

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Reference Set Readiness

Commit: 098e8be9b7f508832c50bf7e26321e36b03f4aad

Reference set readiness gaps detected (neutral)

Reference evidence present for 0/7 areas (0%) across 5 changed file(s).

This check is based on files changed in this PR. Repository-level readiness is still reported by /ecc-tools analyze comments and generated manifests.

Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Hosted Promotion Readiness

Commit: 098e8be9b7f508832c50bf7e26321e36b03f4aad

Hosted promotion readiness passed (success)

No hosted promotion evidence gaps detected across 5 changed file(s); 0 corpus scenarios had matching evidence.

This check compares PR file changes against the evaluator/RAG promotion corpus in src/analyzers/fixtures/evaluator-rag-corpus.ts.
Hosted output scoring inspected 0 completed cached hosted job results.

No evaluator corpus scenarios matched this PR.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 60de1bcb-2ffe-4985-a554-bc23fb516fdd

📥 Commits

Reviewing files that changed from the base of the PR and between 144e726 and f3cd38c.

📒 Files selected for processing (1)
  • tests/lib/install-executor.test.js

Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (37)
  • GitHub Check: Packed Install (macos-latest)
  • GitHub Check: Packed Install (windows-latest)
  • GitHub Check: Greptile Review
  • GitHub Check: Test (windows-latest, Node 22.x, pnpm)
  • GitHub Check: Test (ubuntu-latest, Node 18.x, pnpm)
  • GitHub Check: Test (ubuntu-latest, Node 20.x, bun)
  • GitHub Check: Test (windows-latest, Node 18.x, npm)
  • GitHub Check: Test (ubuntu-latest, Node 18.x, bun)
  • GitHub Check: Test (windows-latest, Node 18.x, pnpm)
  • GitHub Check: Test (ubuntu-latest, Node 22.x, bun)
  • GitHub Check: Test (ubuntu-latest, Node 20.x, pnpm)
  • GitHub Check: Test (ubuntu-latest, Node 18.x, npm)
  • GitHub Check: Test (macos-latest, Node 22.x, yarn)
  • GitHub Check: Test (windows-latest, Node 22.x, yarn)
  • GitHub Check: Test (macos-latest, Node 22.x, npm)
  • GitHub Check: Test (windows-latest, Node 20.x, yarn)
  • GitHub Check: Test (macos-latest, Node 18.x, yarn)
  • GitHub Check: Test (macos-latest, Node 20.x, npm)
  • GitHub Check: Test (macos-latest, Node 18.x, pnpm)
  • GitHub Check: Test (macos-latest, Node 18.x, bun)
  • GitHub Check: Test (ubuntu-latest, Node 18.x, yarn)
  • GitHub Check: Test (ubuntu-latest, Node 20.x, yarn)
  • GitHub Check: Test (ubuntu-latest, Node 22.x, pnpm)
  • GitHub Check: Test (macos-latest, Node 22.x, pnpm)
  • GitHub Check: Test (macos-latest, Node 22.x, bun)
  • GitHub Check: Test (macos-latest, Node 20.x, pnpm)
  • GitHub Check: Test (macos-latest, Node 20.x, bun)
  • GitHub Check: Test (windows-latest, Node 20.x, pnpm)
  • GitHub Check: Test (ubuntu-latest, Node 20.x, npm)
  • GitHub Check: Test (windows-latest, Node 18.x, yarn)
  • GitHub Check: Test (macos-latest, Node 20.x, yarn)
  • GitHub Check: Test (macos-latest, Node 18.x, npm)
  • GitHub Check: Test (ubuntu-latest, Node 22.x, npm)
  • GitHub Check: Test (windows-latest, Node 22.x, npm)
  • GitHub Check: Test (windows-latest, Node 20.x, npm)
  • GitHub Check: Test (ubuntu-latest, Node 22.x, yarn)
  • GitHub Check: Coverage
🧰 Additional context used
📓 Path-based instructions (18)
Lightweight agents with frequent invocation Pair programming and code generation Worker agents in multi-agent systems Main development work Orchestrating multi-agent workflows Complex coding tasks Complex architectural decisions Maximum rea...

📄 CodeRabbit inference engine (.cursor/rules/common-performance.md)

Files:

  • tests/lib/install-executor.test.js
NEVER hardcode secrets in source code - ALWAYS use environment variables or a secret manager

📄 CodeRabbit inference engine (.cursor/rules/common-security.md)

Files:

  • tests/lib/install-executor.test.js
No hardcoded secrets (API keys, passwords, tokens) - validate before any commit

📄 CodeRabbit inference engine (.cursor/rules/common-security.md)

Files:

  • tests/lib/install-executor.test.js
Always create new objects, never mutate existing ones.

📄 CodeRabbit inference engine (.cursor/rules/common-coding-style.md)

Files:

  • tests/lib/install-executor.test.js
Use parameterized queries to prevent SQL injection

📄 CodeRabbit inference engine (.cursor/rules/common-security.md)

Files:

  • tests/lib/install-executor.test.js
Implement XSS prevention by sanitizing HTML output

📄 CodeRabbit inference engine (.cursor/rules/common-security.md)

Files:

  • tests/lib/install-executor.test.js
All user inputs must be validated Enable CSRF protection on all state-changing endpoints Verify authentication and authorization for all protected endpoints Implement rate limiting on all endpoints to prevent abuse Ensure error messages do...

📄 CodeRabbit inference engine (.cursor/rules/common-security.md)

Files:

  • tests/lib/install-executor.test.js
Write tests before implementation (test-driven development); target 80%+ coverage Achieve minimum 80% test coverage across all three layers: Unit, Integration, and E2E Use AAA structure (Arrange / Act / Assert) in tests with descriptive tes...

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Files:

  • tests/lib/install-executor.test.js
Do not hardcode secrets, API keys, passwords, or tokens

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Files:

  • tests/lib/install-executor.test.js
Always create new objects and never mutate in place; return new copies instead Keep files between 200–400 lines typical, with a maximum of 800 lines Extract helpers when a file exceeds 200 lines Handle errors explicitly at every level; neve...

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Files:

  • tests/lib/install-executor.test.js
HTML output must be sanitized where applicable

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Files:

  • tests/lib/install-executor.test.js
Auto-format JavaScript/TypeScript files using Prettier after edit Warn about `console.log` statements in edited files Check all modified files for `console.log` statements before session ends

📄 CodeRabbit inference engine (.cursor/rules/typescript-hooks.md)

Files:

  • tests/lib/install-executor.test.js
Never hardcode secrets; always use environment variables for sensitive credentials like API keys Throw an error when required environment variables are not configured to fail fast and ensure security prerequisites are met

📄 CodeRabbit inference engine (.cursor/rules/typescript-security.md)

Files:

  • tests/lib/install-executor.test.js
Use Playwright as the E2E testing framework for critical user flows in TypeScript/JavaScript

📄 CodeRabbit inference engine (.cursor/rules/typescript-testing.md)

Files:

  • tests/lib/install-executor.test.js
Use spread operator for immutable updates in TypeScript/JavaScript instead of direct mutation Use async/await with try-catch for error handling in TypeScript/JavaScript Use Zod for schema-based input validation in TypeScript/JavaScript No c...

📄 CodeRabbit inference engine (.cursor/rules/typescript-coding-style.md)

Files:

  • tests/lib/install-executor.test.js
Use the ApiResponse interface pattern with generic type parameter: `interface ApiResponse { success: boolean; data?: T; error?: string; meta?: { total: number; page: number; limit: number; } }` Implement custom React hooks following the...

📄 CodeRabbit inference engine (.cursor/rules/typescript-patterns.md)

Files:

  • tests/lib/install-executor.test.js
Required environment variables must be validated at startup

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Files:

  • tests/lib/install-executor.test.js
Use parameterized queries for all database writes (no string interpolation) Auth/authz must be checked server-side for every sensitive path Rate limiting must be applied to all public endpoints

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Files:

  • tests/lib/install-executor.test.js
🔇 Additional comments (1)
tests/lib/install-executor.test.js (1)

721-728: LGTM!


📝 Summary

Summary by CodeRabbit

  • New Features

    • OpenCode installations now include compiled JavaScript plugin and tool entry files.
    • Installation previews now show planned OpenCode runtime files and exclude incompatible platform paths.
  • Bug Fixes

    • Upgrades migrate managed OpenCode TypeScript runtime files to compiled JavaScript versions.
    • Migration is blocked when existing files are modified, unverifiable, or not regular files, preventing unsafe replacement.
    • Verified legacy runtime sources are removed after successful installation.

Walkthrough

The OpenCode home target now installs compiled plugin and tool JavaScript files. The install flow validates and removes obsolete managed TypeScript runtime sources. Tests cover planning, validation, integrity checks, replacement, cleanup, and persisted install state.

Changes

OpenCode runtime installation

Layer / File(s) Summary
Compiled runtime planning
scripts/lib/install-targets/opencode-home.js, tests/lib/install-targets.test.js, tests/lib/install-lifecycle.test.js
The target now requires compiled plugins/index.js and tools/index.js files. It recursively plans compiled JavaScript files, preserves native .opencode entries, excludes source runtime entries, filters foreign-platform paths, and registers the planning callback. Tests cover compiled entry installation, validation failures, absent compiled directories, and permission errors.
Legacy runtime migration
scripts/lib/install/opencode-runtime-migration.js, scripts/lib/install/apply.js, tests/lib/install-executor.test.js
The install flow verifies managed legacy TypeScript files with trusted-path, regular-file, symlink, existence, and SHA-256 checks. Verified obsolete sources are removed from install state and deleted after installation. Tests cover missing digests, directories, modified files, successful replacement, and persisted state cleanup.

Priority: ⬆️ High

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

Change: Bug fix · Severity of issue fixed: High

Sequence Diagram(s)

sequenceDiagram
  participant InstallPlan
  participant OpenCodeHomeTarget
  participant InstallState
  participant RuntimeMigration
  InstallPlan->>OpenCodeHomeTarget: plan compiled plugin and tool files
  OpenCodeHomeTarget-->>InstallPlan: return managed operations
  InstallPlan->>RuntimeMigration: prepare legacy source migration
  RuntimeMigration->>InstallState: read prior managed operations
  RuntimeMigration-->>InstallPlan: return verified removals
  InstallPlan->>InstallState: persist compiled operations
Loading

Merge Risk: 🔵 Low · up to f3cd3

If installation fails after compiled files are written, old and new OpenCode layouts can coexist and later retry or uninstall may leave orphaned runtime files. Repair remains available, so this is a bounded follow-up risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 18 functions across 6 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes satisfy the coding requirements in issue #3112. opencode-home validates .opencode/dist/plugins/index.js and .opencode/dist/tools/index.js, installs compiled JavaScript into active `p…
Out of Scope Changes check ✅ Passed The changes stay within issue #3112 scope. They update the OpenCode home installation plan, preserve compiled output, migrate obsolete runtime sources safely, validate compiled entrypoints, and add fo…
Title check ✅ Passed The title clearly and concisely describes the main change: installing the compiled OpenCode home runtime.
Description check ✅ Passed The description directly explains the compiled runtime installation, migration behavior, validation changes, testing, and linked issue.
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@greptile-apps

greptile-apps Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

Safe to merge.

Summary

  • This PR updates OpenCode home installation to deploy compiled JavaScript at active plugin and tool paths while retaining the complete compiled payload. It removes obsolete unchanged managed TypeScript and compiled JavaScript runtime files during upgrades, while failing closed for modified, unverifiable, symbolic-link, and non-file targets. Regression coverage now uses immutable fixture construction.

Reviews (3) · Last reviewed commit: "test(opencode): avoid mutating runtime f..."

Comment thread scripts/lib/install/opencode-runtime-migration.js Outdated
Signed-off-by: Dante <duanjl.china@gmail.com>
@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Security Evidence

Commit: 144e726f672ef4b9e4478f6f33e3c5a4c09d0975

Security evidence gate passed (success)

No security-sensitive scanner-evidence gap detected.

Mode: enforce

Scanned 6 changed file(s). No missing scanner-evidence signal was detected.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Risk Taxonomy

Commit: 144e726f672ef4b9e4478f6f33e3c5a4c09d0975

PR taxonomy review recommended (neutral)

Detected 1 PR taxonomy bucket(s): CI/CD Recommendation.

Scanned 6 changed file(s).

Roadmap taxonomy buckets:

CI/CD Recommendation

CI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work.

Signals:

  • 3 CI or workflow path(s) changed

Paths:

  • tests/lib/install-executor.test.js
  • tests/lib/install-lifecycle.test.js
  • tests/lib/install-targets.test.js

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Reference Set Readiness

Commit: 144e726f672ef4b9e4478f6f33e3c5a4c09d0975

Reference set readiness gaps detected (neutral)

Reference evidence present for 0/7 areas (0%) across 6 changed file(s).

This check is based on files changed in this PR. Repository-level readiness is still reported by /ecc-tools analyze comments and generated manifests.

Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Hosted Promotion Readiness

Commit: 144e726f672ef4b9e4478f6f33e3c5a4c09d0975

Hosted promotion readiness passed (success)

No hosted promotion evidence gaps detected across 6 changed file(s); 0 corpus scenarios had matching evidence.

This check compares PR file changes against the evaluator/RAG promotion corpus in src/analyzers/fixtures/evaluator-rag-corpus.ts.
Hosted output scoring inspected 0 completed cached hosted job results.

No evaluator corpus scenarios matched this PR.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

Comment thread tests/lib/install-executor.test.js Outdated
Signed-off-by: Dante <duanjl.china@gmail.com>
@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Security Evidence

Commit: f3cd38ca9fa11bfe8ffce92f32d76abd3d26b0d0

Security evidence gate passed (success)

No security-sensitive scanner-evidence gap detected.

Mode: enforce

Scanned 6 changed file(s). No missing scanner-evidence signal was detected.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / PR Risk Taxonomy

Commit: f3cd38ca9fa11bfe8ffce92f32d76abd3d26b0d0

PR taxonomy review recommended (neutral)

Detected 1 PR taxonomy bucket(s): CI/CD Recommendation.

Scanned 6 changed file(s).

Roadmap taxonomy buckets:

CI/CD Recommendation

CI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work.

Signals:

  • 3 CI or workflow path(s) changed

Paths:

  • tests/lib/install-executor.test.js
  • tests/lib/install-lifecycle.test.js
  • tests/lib/install-targets.test.js

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Reference Set Readiness

Commit: f3cd38ca9fa11bfe8ffce92f32d76abd3d26b0d0

Reference set readiness gaps detected (neutral)

Reference evidence present for 0/7 areas (0%) across 6 changed file(s).

This check is based on files changed in this PR. Repository-level readiness is still reported by /ecc-tools analyze comments and generated manifests.

Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

@ecc-tools

ecc-tools Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

ECC Tools / Hosted Promotion Readiness

Commit: f3cd38ca9fa11bfe8ffce92f32d76abd3d26b0d0

Hosted promotion readiness passed (success)

No hosted promotion evidence gaps detected across 6 changed file(s); 0 corpus scenarios had matching evidence.

This check compares PR file changes against the evaluator/RAG promotion corpus in src/analyzers/fixtures/evaluator-rag-corpus.ts.
Hosted output scoring inspected 0 completed cached hosted job results.

No evaluator corpus scenarios matched this PR.

Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission.

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.

[Problem] Bug: OpenCode app stops responding after installing ECC (ERR_MODULE_NOT_FOUND on custom tools)

1 participant