github TypeScript analyzed fe6a84c

AdamMcIntosh/roland

github

Autonomous AI Loop Engineering system built around ClosedLoop templates. Executes goals with Cursor SDK, specialist agents, verification gates, and HITL approvals. Includes live dashboard + CLI.

maintainer
AdamMcIntosh
license
first seen
2026-06-06
last seen
2026-07-18
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×3 in AdamMcIntosh/roland
  2. HIGH code analysis flagged dynamic code execution ×3 in AdamMcIntosh/roland
  3. HIGH code analysis flagged dynamic code execution ×5 in AdamMcIntosh/roland
  4. HIGH code analysis flagged dynamic code execution ×5 in AdamMcIntosh/roland
capabilities 50 tools
transport stdio · http counts 50 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • advance_recipe
  • analyze_screenshot
  • assign_task
  • blackboard_patch
  • blackboard_post
  • blackboard_read
  • board_status
  • bus_poll
  • bus_send
  • complete_task
  • get_analytics
  • get_pm_events
  • get_pm_playbook
  • get_team_context
  • get_team_usage
  • git_commit
  • git_diff
  • git_log
  • git_status
  • health_check
  • hitl_status
  • list_recipes
  • list_team
  • list_team_recipes
  • load_migration_context
  • manage_budget
  • mark_blocked
  • mission_summary
  • pm_standup
  • poll_hitl_events
  • preview_changes
  • project_context
  • quality_signal
  • read_context
  • report_completion
  • report_usage
  • review_task
  • roland_hello
  • roland_run_team
  • route_model
  • session_context
  • spawn_task
  • start_recipe
  • start_team_recipe
  • suggest_mode
  • synthesize_deliverable
  • track_cost
  • triage
  • unblock_task
  • update_migration_context
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit fe6a84c · analyzer v33 · 4d ago

skills & prompt files 37

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 324

filesystem 156

  • fs AdamMcIntosh-roland-fe6a84c/bin/roland-mcp.js :5 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/bin/roland.js :6 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/extensions/vscode/src/extension.ts :7 import * as fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/packages/roland-setup/src/index.ts :10 import * as fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/roland-web/scripts/setup-core.mjs :11 import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/roland-web/server/config.ts :1 import { readFileSync, existsSync, mkdirSync } from 'node:fs';
  • fs AdamMcIntosh-roland-fe6a84c/roland-web/server/db.ts :2 import { mkdirSync } from 'node:fs';
  • fs AdamMcIntosh-roland-fe6a84c/roland-web/server/github.ts :4 import { existsSync, mkdirSync, writeFileSync, unlinkSync, rmSync } from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/roland-web/server/logger.ts :1 import { createWriteStream, mkdirSync, type WriteStream } from 'node:fs';
  • fs AdamMcIntosh-roland-fe6a84c/roland-web/server/routes/projects.ts :3 import { existsSync, mkdirSync } from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/roland-web/server/routes/run.ts :4 import { existsSync } from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/backfill-usage.mjs :12 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/check-build.mjs :3 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/clean-dist.mjs :1 import { rmSync } from 'node:fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/copy-assets.js :3 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/export-ide-configs.ts :17 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/extract-legacy-pm.mjs :4 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/fetch-anthropic-models.js :9 import * as fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/fetch-google-models.js :9 import * as fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/fetch-grok-models.js :9 import * as fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/fetch-openai-models.js :9 import * as fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/init.ts :23 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/iterate.js :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/loop-e2e-sim.ts :13 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/pr-cleanup.ts :17 import { existsSync } from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/pre-release-check.mjs :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/roland-orchestrate.mjs :12 import { existsSync } from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/seed-usage-demo.mjs :12 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/scripts/test-task-counting.mjs :13 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/cli/dispatch.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/cli/doctor-cli.ts :5 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/cli/init-cli.ts :5 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/config/config-loader.ts :6 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/coordination/paths.ts :11 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/dashboard/simple-tui.ts :25 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/dashboard/tui.ts :16 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/act-validation.ts :8 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/closed-loop.ts :15 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/git-commit-approval.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-checkpoint.ts :7 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-config.ts :10 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-health.ts :5 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-memory.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-observability.ts :11 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-pm-session.ts :6 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-readiness.ts :8 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-state.ts :10 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-templates.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/loop-engine/verification/minimal-project.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/models/role-model-router.ts :17 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/orchestrator/quality-tracker.ts :11 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/persistence.ts :6 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/pm/event-log.ts :11 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/pm/playbook.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/pm/roster.ts :11 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/pm/team-recipes.ts :12 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/agentWorker.ts :14 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/board-report.ts :8 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/command-blackboard.ts :27 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/exportCursor.ts :5 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/git-commit-approval-cli.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/hitl-events.ts :7 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/hitl.ts :22 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/loadConfig.ts :5 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/message-bus.ts :13 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/mission-audit-cli.ts :8 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/mission-budget.ts :10 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/mission-dag.ts :13 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/mission-state.ts :10 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/notifications-config.ts :5 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/orchestrator.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/pr-format.ts :8 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/project-knowledge.ts :21 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/project-memory.ts :24 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/run-state.ts :10 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/stateLock.ts :5 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/supervisor.ts :33 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/task-git-workflow.ts :8 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/team-cli.ts :13 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/triage-structural.ts :8 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/unsc-agents.ts :8 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/usage-tracker.ts :11 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/rco/watch-cli.ts :16 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/server/project-context.ts :13 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/server/session-context.ts :13 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/server/tools/context.ts :7 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :7 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/server/tools/recipes.ts :7 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/server/tools/registry.ts :17 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/server/tools/triage.ts :7 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/sync.ts :6 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/telemetry.ts :16 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/budget-manager.ts :9 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/env-loader.ts :11 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/file-gatherer.ts :12 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/mcp-project-context.ts :15 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/migration-context.ts :13 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/package-version.ts :7 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/project-root.ts :15 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/safe-write.ts :7 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/screenshot.ts :10 import fs from 'fs';
  • fs AdamMcIntosh-roland-fe6a84c/src/utils/spawn-silent.ts :9 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/e2e/loop-critique-retry-escalation.test.ts :20 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/e2e/loop-full-team-coordinator.test.ts :15 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/e2e/phase4-release.test.ts :10 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/e2e/phase4-telemetry.test.ts :7 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/integration/coordination-mcp.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/integration/loop-engine-readiness.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/integration/mcp-mission-project-context.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/integration/pm-phase4.test.ts :7 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/integration/pm-tools.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/integration/pm-usage.test.ts :9 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/integration/project-context-alternating-missions.test.ts :7 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/phase3.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/rco/orchestrator.test.ts :9 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/rco/phase2.test.ts :7 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/act-validation.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/board-cleanup.test.ts :2 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/board-report.test.ts :2 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/closed-loop.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/command-blackboard.test.ts :2 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/coordination.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/dispatch-readiness.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/doctor-cli.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/env-loader.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/evaluation-gate.test.ts :5 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/git-commit-approval-cli.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/git-commit-approval.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/git-commit-hitl.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/hitl-events.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/hitl-run-active.test.ts :1 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/loop-agent-dispatch.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/loop-critique-model-label.test.ts :11 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/loop-engine.test.ts :14 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/loop-memory.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/loop-observability.test.ts :7 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/loop-orchestrator.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/loop-template-resolution.test.ts :22 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/mcp-project-context.test.ts :1 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/minimal-project-verification.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/mission-audit-cli.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/mission-dag.test.ts :2 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/mission-state.test.ts :1 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/new-modules.test.ts :10 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/package-version.test.ts :1 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/pm-integration.test.ts :11 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/pm-task-board.test.ts :8 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/project-root.test.ts :1 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/role-model-router.test.ts :10 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/safe-write.test.ts :3 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/sparrow-prompts.test.ts :2 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/spawn-silent.test.ts :2 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/specialist-spawner.test.ts :10 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/status-cli.test.ts :6 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/vanguard-prompts.test.ts :2 import fs from 'fs';
  • fs (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/worktree-guard.test.ts :8 import fs from 'fs';

shell / exec 26

  • shell AdamMcIntosh-roland-fe6a84c/packages/roland-setup/src/index.ts :13 import * as child_process from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/roland-web/server/github.ts :2 import { exec } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/roland-web/server/routes/run.ts :53 const activeRunsByProject = new Map<string, import('child_process').ChildProcess>();
  • shell (weak) AdamMcIntosh-roland-fe6a84c/scripts/init.ts :21 import { execSync } from 'child_process';
  • shell (weak) AdamMcIntosh-roland-fe6a84c/scripts/loop-e2e-sim.ts :146 const { spawnSync } = await import('child_process');
  • shell (weak) AdamMcIntosh-roland-fe6a84c/scripts/test-mcp-tools.mjs :24 import { spawn } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/cli/dispatch.ts :349 const { spawnSync } = await import('child_process');
  • shell AdamMcIntosh-roland-fe6a84c/src/cli/doctor-cli.ts :8 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/cli/init-cli.ts :9 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/loop-engine/act-validation.ts :10 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/rco/mission-audit-cli.ts :10 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/rco/notifier.ts :29 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/rco/orchestrator.ts :2 * RCO Recipe Orchestrator — legacy YAML workflow runner (child_process.fork).
  • shell AdamMcIntosh-roland-fe6a84c/src/rco/pr-cli.ts :17 import { execSync, spawnSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/rco/pr-format.ts :11 import { execSync, spawnSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/rco/task-git-workflow.ts :10 import { execSync, spawnSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/rco/triage-structural.ts :10 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/rco/watch-cli.ts :15 import { execSync, spawnSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/utils/file-gatherer.ts :11 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/utils/git-tools.ts :10 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/utils/screenshot.ts :9 import { execSync } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/utils/spawn-silent.ts :8 import { spawn, fork, type ChildProcess, type ForkOptions, type SpawnOptions } from 'child_process';
  • shell AdamMcIntosh-roland-fe6a84c/src/utils/worktree-guard.ts :7 import { execSync } from 'child_process';
  • shell (weak) AdamMcIntosh-roland-fe6a84c/tests/e2e/phase4-release.test.ts :9 import { execSync } from 'child_process';
  • shell (weak) AdamMcIntosh-roland-fe6a84c/tests/rco/orchestrator.test.ts :3 * Unit tests use injected runWorker (mock forks); integration uses real child_process.fork.
  • shell (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/worktree-guard.test.ts :11 import { execSync } from 'child_process';

network 15

  • net AdamMcIntosh-roland-fe6a84c/packages/roland-setup/src/index.ts :9 import * as https from 'https';
  • net AdamMcIntosh-roland-fe6a84c/roland-web/server/index.ts :4 import { createServer } from 'http';
  • net AdamMcIntosh-roland-fe6a84c/roland-web/src/app/dashboard/page.tsx :21 await fetch('/api/auth/logout', { method: 'POST', credentials: 'include' });
  • net AdamMcIntosh-roland-fe6a84c/roland-web/src/components/LoginForm.tsx :116 const res = await fetch('/api/auth/login', {
  • net AdamMcIntosh-roland-fe6a84c/roland-web/src/lib/api.ts :12 return fetch(url, {
  • net (weak) AdamMcIntosh-roland-fe6a84c/scripts/fetch-anthropic-models.js :40 const response = await fetch('https://api.anthropic.com/v1/models', {
  • net (weak) AdamMcIntosh-roland-fe6a84c/scripts/fetch-google-models.js :40 const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models?key=${apiKey}`, {
  • net (weak) AdamMcIntosh-roland-fe6a84c/scripts/fetch-grok-models.js :40 const response = await fetch('https://api.x.ai/v1/models', {
  • net (weak) AdamMcIntosh-roland-fe6a84c/scripts/fetch-openai-models.js :40 const response = await fetch('https://api.openai.com/v1/models', {
  • net AdamMcIntosh-roland-fe6a84c/src/orchestrator/advisory-model-router.ts :11 import http from 'http';
  • net AdamMcIntosh-roland-fe6a84c/src/orchestrator/complexity-classifier.ts :13 import https from 'https';
  • net AdamMcIntosh-roland-fe6a84c/src/rco/notifier.ts :27 import https from 'https';
  • net AdamMcIntosh-roland-fe6a84c/src/rco/task-git-workflow.ts :584 const res = await fetch(`https://api.github.com/repos/${target.owner}/${target.repo}/pulls`, {
  • net AdamMcIntosh-roland-fe6a84c/src/utils/file-gatherer.ts :14 import https from 'https';
  • net AdamMcIntosh-roland-fe6a84c/src/utils/screenshot.ts :107 const response = (await fetch('https://openrouter.ai/api/v1/chat/completions', {

secrets 25

  • secrets AdamMcIntosh-roland-fe6a84c/roland-web/server/auth.ts :13 const s = process.env.SESSION_SECRET;
  • secrets AdamMcIntosh-roland-fe6a84c/roland-web/server/config.ts :133 const patKey = process.env.PAT_ENCRYPTION_KEY ?? '';
  • secrets AdamMcIntosh-roland-fe6a84c/roland-web/server/crypto.ts :6 const hex = process.env.PAT_ENCRYPTION_KEY ?? '';
  • secrets AdamMcIntosh-roland-fe6a84c/roland-web/server/routes/auth.ts :14 if (!cursorApiKey && !process.env.CURSOR_API_KEY) {
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/scripts/roland-orchestrate.mjs :48 const apiKey = process.env.CURSOR_API_KEY;
  • secrets AdamMcIntosh-roland-fe6a84c/src/cli/doctor-cli.ts :150 envFiles.length > 0 || Boolean(process.env.CURSOR_API_KEY?.trim()),
  • secrets AdamMcIntosh-roland-fe6a84c/src/cli/init-cli.ts :123 CURSOR_API_KEY: process.env.CURSOR_API_KEY?.trim() ?? '',
  • secrets AdamMcIntosh-roland-fe6a84c/src/loop-engine/loop-agent-dispatch.ts :144 const apiKey = process.env.CURSOR_API_KEY;
  • secrets AdamMcIntosh-roland-fe6a84c/src/models/role-model-router.ts :582 return Boolean(process.env.CURSOR_API_KEY?.trim());
  • secrets AdamMcIntosh-roland-fe6a84c/src/orchestrator/complexity-classifier.ts :77 const apiKey = process.env.OPENROUTER_API_KEY;
  • secrets AdamMcIntosh-roland-fe6a84c/src/rco/agentWorker.ts :86 const apiKey = process.env.CURSOR_API_KEY;
  • secrets AdamMcIntosh-roland-fe6a84c/src/rco/orchestrator-prompts.ts :104 apiKey: process.env.CURSOR_API_KEY!,
  • secrets AdamMcIntosh-roland-fe6a84c/src/rco/task-git-workflow.ts :100 ?? process.env.ROLAND_GITHUB_TOKEN
  • secrets AdamMcIntosh-roland-fe6a84c/src/rco/team-cli.ts :372 if (!process.env.CURSOR_API_KEY) {
  • secrets AdamMcIntosh-roland-fe6a84c/src/server/tools/registry.ts :75 const apiKeyAvailable = Boolean(process.env.OPENROUTER_API_KEY);
  • secrets AdamMcIntosh-roland-fe6a84c/src/utils/file-gatherer.ts :195 const apiKey = process.env.OPENROUTER_API_KEY;
  • secrets AdamMcIntosh-roland-fe6a84c/src/utils/screenshot.ts :161 apiKey = process.env['OPENROUTER_API_KEY'] ?? '',
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/tests/integration/loop-engine-readiness.test.ts :38 process.env.CURSOR_API_KEY = 'test-readiness-key';
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/dispatch-readiness.test.ts :26 delete process.env.CURSOR_API_KEY;
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/doctor-cli.test.ts :16 const ORIGINAL_KEY = process.env.CURSOR_API_KEY;
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/doctor.test.ts :14 const ORIGINAL_KEY = process.env.CURSOR_API_KEY;
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/env-loader.test.ts :44 process.env.TEST_ROLAND_KEY = 'existing';
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/loop-agent-dispatch.test.ts :45 delete process.env.CURSOR_API_KEY;
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/role-model-router.test.ts :226 process.env.CURSOR_API_KEY = 'test-key';
  • secrets (weak) AdamMcIntosh-roland-fe6a84c/tests/unit/unsc-agents.test.ts :29 const originalApiKey = process.env.CURSOR_API_KEY;

tool registrations 50

  • board_status AdamMcIntosh-roland-fe6a84c/src/server/tools/board.ts :10
  • load_migration_context AdamMcIntosh-roland-fe6a84c/src/server/tools/context.ts :31
  • update_migration_context AdamMcIntosh-roland-fe6a84c/src/server/tools/context.ts :80
  • session_context AdamMcIntosh-roland-fe6a84c/src/server/tools/context.ts :153
  • project_context AdamMcIntosh-roland-fe6a84c/src/server/tools/context.ts :293
  • read_context AdamMcIntosh-roland-fe6a84c/src/server/tools/context.ts :378
  • blackboard_post AdamMcIntosh-roland-fe6a84c/src/server/tools/coordination.ts :11
  • blackboard_read AdamMcIntosh-roland-fe6a84c/src/server/tools/coordination.ts :49
  • blackboard_patch AdamMcIntosh-roland-fe6a84c/src/server/tools/coordination.ts :82
  • bus_send AdamMcIntosh-roland-fe6a84c/src/server/tools/coordination.ts :122
  • bus_poll AdamMcIntosh-roland-fe6a84c/src/server/tools/coordination.ts :148
  • route_model AdamMcIntosh-roland-fe6a84c/src/server/tools/cost.ts :86
  • track_cost AdamMcIntosh-roland-fe6a84c/src/server/tools/cost.ts :170
  • manage_budget AdamMcIntosh-roland-fe6a84c/src/server/tools/cost.ts :240
  • get_analytics AdamMcIntosh-roland-fe6a84c/src/server/tools/cost.ts :303
  • suggest_mode AdamMcIntosh-roland-fe6a84c/src/server/tools/cost.ts :386
  • quality_signal AdamMcIntosh-roland-fe6a84c/src/server/tools/cost.ts :461
  • git_status AdamMcIntosh-roland-fe6a84c/src/server/tools/git.ts :18
  • git_diff AdamMcIntosh-roland-fe6a84c/src/server/tools/git.ts :33
  • git_log AdamMcIntosh-roland-fe6a84c/src/server/tools/git.ts :46
  • git_commit AdamMcIntosh-roland-fe6a84c/src/server/tools/git.ts :56
  • hitl_status AdamMcIntosh-roland-fe6a84c/src/server/tools/hitl.ts :10
  • poll_hitl_events AdamMcIntosh-roland-fe6a84c/src/server/tools/hitl.ts :40
  • mission_summary AdamMcIntosh-roland-fe6a84c/src/server/tools/hitl.ts :116
  • report_completion AdamMcIntosh-roland-fe6a84c/src/server/tools/hitl.ts :123
  • get_pm_playbook AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :30
  • pm_standup AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :37
  • get_team_context AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :68
  • list_team AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :86
  • spawn_task AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :93
  • assign_task AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :121
  • mark_blocked AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :139
  • unblock_task AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :160
  • complete_task AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :179
  • review_task AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :208
  • synthesize_deliverable AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :227
  • list_team_recipes AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :234
  • start_team_recipe AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :241
  • report_usage AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :260
  • get_team_usage AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :283
  • get_pm_events AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :300
  • roland_hello AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :328
  • roland_run_team AdamMcIntosh-roland-fe6a84c/src/server/tools/pm.ts :448
  • list_recipes AdamMcIntosh-roland-fe6a84c/src/server/tools/recipes.ts :142
  • start_recipe AdamMcIntosh-roland-fe6a84c/src/server/tools/recipes.ts :152
  • advance_recipe AdamMcIntosh-roland-fe6a84c/src/server/tools/recipes.ts :194
  • health_check AdamMcIntosh-roland-fe6a84c/src/server/tools/registry.ts :52
  • preview_changes AdamMcIntosh-roland-fe6a84c/src/server/tools/registry.ts :91
  • analyze_screenshot AdamMcIntosh-roland-fe6a84c/src/server/tools/registry.ts :186
  • triage AdamMcIntosh-roland-fe6a84c/src/server/tools/triage.ts :87

install hooks 3

  • postinstall AdamMcIntosh-roland-fe6a84c/package.json :41 node scripts/check-build.mjs
  • prepublishOnly AdamMcIntosh-roland-fe6a84c/package.json :42 npm run build && node scripts/pre-release-check.mjs
  • prepublishOnly AdamMcIntosh-roland-fe6a84c/packages/roland-setup/package.json :10 npm run build

declared dependencies 23

  • @modelcontextprotocol/sdk@^1.0.4
  • @cursor/sdk@^1.0.17
  • @octokit/rest@^21.1.1
  • @sentry/node@^10.63.0
  • commander@^13.1.0
  • js-yaml@^4.1.0
  • ws@^8.18.0
  • yaml@^2.6.1
  • zod@^3.24.1
  • @types/js-yaml@^4.0.9
  • @types/node@^22.10.5
  • @types/sinon@^17.0.4
  • @types/ws@^8.5.10
  • @typescript-eslint/eslint-plugin@^8.20.0
  • @typescript-eslint/parser@^8.20.0
  • archiver@^7.0.1
  • esbuild@^0.28.0
  • eslint@^9.18.0
  • file-uri-to-path@^1.0.0
  • prettier@^3.4.2
  • sinon@^21.0.0
  • typescript@^5.7.3
  • vitest@^4.1.7

cursor-plugin 4

  • opaque (low) AdamMcIntosh-roland-fe6a84c/.cursor/mcp.json bundled .cursor/ plugin descriptor (AdamMcIntosh-roland-fe6a84c/.cursor/mcp.json) — presence-detected; review the descriptor
  • opaque (low) AdamMcIntosh-roland-fe6a84c/.cursor/rco-mcp-rco-1772379884950-ap4dyuc.json bundled .cursor/ plugin descriptor (AdamMcIntosh-roland-fe6a84c/.cursor/rco-mcp-rco-1772379884950-ap4dyuc.json) — presence-detected; review the descriptor
  • opaque (low) AdamMcIntosh-roland-fe6a84c/.cursor/rules/analyst.mdc bundled .cursor/ plugin descriptor (AdamMcIntosh-roland-fe6a84c/.cursor/rules/analyst.mdc) — presence-detected; review the descriptor
  • opaque (low) AdamMcIntosh-roland-fe6a84c/.cursor/test-roland.md bundled .cursor/ plugin descriptor (AdamMcIntosh-roland-fe6a84c/.cursor/test-roland.md) — presence-detected; review the descriptor