OCAE CLI - versioned OpenCode agent ecosystem with 13 governed agents, capability profiles, MCP preflight, source-lock integrity and rollback.
Drift inferred · capture-to-capture
- HIGH code analysis flagged committed secret in xxammaxx/OpenCode-Agenten-Oekosystem
- HIGH code analysis flagged committed secret in xxammaxx/OpenCode-Agenten-Oekosystem
transport http counts 8 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
apply
-
discover_source
-
dry_run
-
get_status
-
inspect_target
-
rollback
-
second_apply
-
verify
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 45f9393 · analyzer v33 · 2d ago
skills & prompt files 40
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.agents/skills/coordinate-blackboard-swarm/SKILL.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/approval-coordinator.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/architecture-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/compliance-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/documentation-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/executor.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/frontend-design-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/issue-orchestrator.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/migration-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/playwright-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/research-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/review-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/security-agent.md
- agent-rules Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/agents/ux-review-agent.md
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/compliance-check.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/funding-generator.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/migration-review.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/security-review.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/spec-constitution.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/spec-implement.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/spec-plan.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/spec-specify.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/spec-tasks.txt
- prompt-file Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/prompts/visual-review.txt
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/anti-fake-execution/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/architecture-review/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/audit-trail-enforcer/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/checkpoint-and-rollback/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/context-engineering/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/frontend-design-build/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/funding-document-generator/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/github-source-of-truth/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/hermes-handoff/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/living-truth-mirror/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/mcp-selection/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/migration-review/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/owner-approval-gate/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/playwright-visual-review/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/privacy-data-minimization/SKILL.md
- skill Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/skills/project-bootstrap/SKILL.md
danger signals2
- committed secret OpenAI key Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/evidence/real-worker-soak-repeat/sessions/rw-01-isolated-bugfix/worker-artifacts/research.json :4
sk-6c0…(35 chars, redacted) - committed secret OpenAI key Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/test/routing/observability.test.mjs :87
sk-sup…(24 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 327
filesystem 170
- fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.agent-governance/bin/evaluate.mjs :5
import fs from "node:fs" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.agents/skills/coordinate-blackboard-swarm/adapters/opencode/swarm.ts :4
import { existsSync } from "node:fs" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.opencode/plugins/canonical-governance.mjs :2
import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'node:fs'; - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/bootstrap.mjs :3
import fs from "node:fs/promises" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/bootstrap/lib/handoff.mjs :1
import fsSync from "node:fs" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/bootstrap/verify.mjs :3
import fs from "node:fs/promises" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/coordinate-blackboard-swarm.zip!/coordinate-blackboard-swarm/adapters/opencode/swarm.ts :4
import { existsSync } from "node:fs" - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/integrations/github-delivery/tests/test-fake-github.js :9
import fs from 'fs'; - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/integrations/github-delivery/tests/test-lifecycle.js :9
import fs from 'fs'; - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/integrations/github-delivery/tests/test-workflow-security.js :9
import fs from 'fs'; - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/integrations/spec-kit/extensions/opencode-evidence/scripts/run-bridge.mjs :3
import { existsSync, lstatSync, realpathSync, statSync, writeSync } from 'node:fs'; - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/agent/run-state.mjs :6
import fs from "node:fs/promises"
show 28 more
- fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/approval/approval-audit.mjs :2
import fs from 'node:fs/promises' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/approval/approval-engine.mjs :8
import fs from 'node:fs' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/approval/approval-receipt.mjs :3
import fs from 'node:fs/promises' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/approval/capability-registry.mjs :2
import fs from 'node:fs' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/baseline/capability-preflight.mjs :13
import fs from 'node:fs' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/bootstrap/task-bootstrap.mjs :11
import fs from "node:fs" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/gates/evaluate-action.mjs :9
import fs from 'node:fs' - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/harness/live-qualification.mjs :4
import fs from 'node:fs/promises' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/mcp/server-registry.mjs :14
import fs from 'node:fs' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/observability/events.mjs :1
import fs from "node:fs/promises" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/observability/run-events.mjs :9
import fs from 'node:fs/promises' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/pipeline/research.mjs :9
import fs from 'node:fs/promises' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/reviews/analyze.mjs :10
import fs from 'node:fs' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/routing/health-probe.mjs :24
import fs from 'node:fs' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/run.mjs :26
import fs from 'node:fs/promises' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/secret-path-policy.mjs :1
import fs from "node:fs/promises" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/secure-bootstrap-ai.mjs :2
import fs from "node:fs/promises" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/secure-bootstrap-exec.mjs :2
import fs from "node:fs/promises" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/secure-target-fs.mjs :1
import fs from "node:fs/promises" - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/visual/browser-evidence.mjs :8
import fs from 'node:fs/promises' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/visual/vision-reviewer.mjs :7
import fs from 'node:fs' - fs Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/visual/visual-qa.mjs :8
import fs from 'node:fs/promises' - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/apply-repository-overlay.mjs :4
import fs from "node:fs/promises" - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/bootstrap-project.mjs :4
import fs from "node:fs/promises" - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/evaluate-gates.mjs :20
import { existsSync } from 'node:fs'; - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/evaluate-governance-v2.mjs :2
import fs from 'node:fs' - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/evaluate-operation.mjs :9
import { existsSync, lstatSync, realpathSync, statSync, readFileSync, writeSync } from 'node:fs'; - fs (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/evaluate-prompt-governance.mjs :3
import fs from 'node:fs'
130 more not shown — this panel samples each group; the count above is the real total.
shell / exec 86
- shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/.agents/skills/coordinate-blackboard-swarm/adapters/opencode/swarm.ts :20
const p = Bun.spawn(["python3", script, "--db", db, ...args], { cwd: directory, stdout: "pipe", stderr: "pipe" }) - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/bootstrap.mjs :6
import { spawnSync } from "node:child_process" - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/bootstrap/verify.mjs :6
import { spawnSync } from "node:child_process" - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/coordinate-blackboard-swarm.zip!/coordinate-blackboard-swarm/adapters/opencode/swarm.ts :20
const p = Bun.spawn(["python3", script, "--db", db, ...args], { cwd: directory, stdout: "pipe", stderr: "pipe" }) - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/integrations/spec-kit/extensions/opencode-evidence/scripts/run-bridge.mjs :4
import { spawnSync } from 'node:child_process'; - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/baseline/capability-preflight.mjs :15
import { spawnSync } from 'node:child_process' - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/bootstrap/task-bootstrap.mjs :14
import { execFileSync } from "node:child_process" - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/controller/verify.mjs :9
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/harness/live-qualification.mjs :7
import { spawn } from 'node:child_process' - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/mcp/tool-executor.mjs :18
import { spawn } from 'node:child_process' - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/routing/health-probe.mjs :26
import { spawnSync } from 'node:child_process' - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/secure-bootstrap-ai.mjs :3
import { execFileSync, spawn } from "node:child_process"
show 28 more
- shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/secure-bootstrap-controller.mjs :1
import { execFileSync } from "node:child_process" - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/secure-bootstrap-exec.mjs :3
import { spawnSync } from "node:child_process" - shell Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/visual/vision-reviewer.mjs :9
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/check-governance-drift.mjs :2
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/classify-visual-qa-diff.mjs :3
import { spawnSync } from "node:child_process" - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/fresh-install-sentinel.mjs :31
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/generate-docs-data.mjs :3
import { execFileSync } from "node:child_process" - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/generate-issue-43-free-model-preflight-matrix.mjs :4
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/install-governance.mjs :7
import { execSync, execFileSync } from "node:child_process" - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/lib/discovery.mjs :3
import { spawnSync } from "node:child_process" - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/lib/gates/approval.mjs :21
import { execFileSync } from 'node:child_process'; - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/lib/mcp-preflight.mjs :4
import { spawnSync } from "node:child_process" - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/lib/runtimes/hermes.mjs :309
const { execSync } = await import('node:child_process'); - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/lib/runtimes/odysseus.mjs :422
const { execSync } = await import('node:child_process'); - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/lib/runtimes/opencode.mjs :287
const { execSync } = await import('node:child_process'); - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/mcp/guarded-call.mjs :2
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/real-worker-soak.mjs :33
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/routing/run-availability-session.mjs :36
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/routing/run-routed-worker-session.mjs :33
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-governed-opencode.mjs :19
import { spawnSync, spawn } from "node:child_process" - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-issue-33-confirmatory-evaluation.mjs :13
import { spawn } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-issue-33-live-evaluation.mjs :13
import { spawn } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-issue-43-causal-factor-experiment.mjs :6
import { execFileSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-issue-43-glm52-free-observation-interposition-canary.mjs :6
import { spawnSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-issue-43-live-qualification.mjs :6
import { execFileSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-issue-43-observation-interposition-canary.mjs :6
import { execFileSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-issue-43-transport-portability-canary.mjs :6
import { execFileSync } from 'node:child_process' - shell (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/run-secure-bootstrap-adversarial-e2e.mjs :5
import { execFileSync } from "node:child_process"
46 more not shown — this panel samples each group; the count above is the real total.
network 3
- net (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/docs/assets/site.js :49
fetch("release-data.json", { credentials: "same-origin" }) - net Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :1
import http from "node:http" - net (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/test/integration/secure-bootstrap-controller.test.mjs :201
const response = await fetch(broker.url, {
secrets 1
- secrets (weak) Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/scripts/lib/mcp.mjs :6
const hasGithubToken = Boolean(process.env.GITHUB_TOKEN)
tool registrations 8
- discover_source Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :5
- inspect_target Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :10
- dry_run Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :21
- apply Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :26
- verify Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :31
- second_apply Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :36
- rollback Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :41
- get_status Mueller-Systems-Lab-OpenCode-Agenten-Oekosystem-45f9393/runtime/security/bootstrap-mcp-server.mjs :46