The first open-source harness builder for AI coding. Make AI coding deterministic and repeatable.
This report summarizes scanner evidence for coleam00/Archon, a TypeScript project with 23,659 GitHub stars. SynthScan examined 512,504 lines of code across 2176 source files, recording 1377 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 4.6 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 908 finding(s).
Are imports declared and package/API names verified? 98 finding(s).
Are wrappers, guards, and repeated structures necessary? 824 finding(s).
Which changes need focused human review? 1377 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1377 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | docker-compose.yml | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | docker-compose.yml | 3 | # ============================================================================= | COMMENT |
| MEDIUM | docker-compose.yml | 36 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker-compose.yml | 38 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker-compose.yml | 65 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker-compose.yml | 68 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker-compose.yml | 90 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker-compose.yml | 93 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker-compose.yml | 113 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker-compose.yml | 118 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .archon/config.example.yaml | 10 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .archon/config.example.yaml | 12 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .archon/config.example.yaml | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .archon/config.example.yaml | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .archon/config.example.yaml | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .archon/config.example.yaml | 51 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .archon/config.example.yaml | 60 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .archon/config.example.yaml | 62 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .archon/config.example.yaml | 75 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .archon/config.example.yaml | 77 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .archon/config.example.yaml | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .archon/config.example.yaml | 85 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .archon/workflows/e2e-opencode-all-nodes-smoke.yaml | 14 | # ─── AI node types ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .archon/workflows/e2e-opencode-all-nodes-smoke.yaml | 60 | # ─── Deterministic node types (no AI) ─────────────────────────────────── | COMMENT |
| MEDIUM | .archon/workflows/e2e-opencode-all-nodes-smoke.yaml | 79 | # ─── DAG features ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .archon/workflows/e2e-opencode-all-nodes-smoke.yaml | 101 | # ─── Final assertion ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 85 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 87 | # ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 90 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 383 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 385 | # ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 388 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 568 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 570 | # ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 574 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 661 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 663 | # ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 667 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 713 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 715 | # ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 719 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 911 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 913 | # ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 916 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 33 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 35 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 170 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 172 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 258 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 260 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 433 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 435 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 606 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/experimental/archon-release.yaml | 608 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/maintainer/maintainer-review-pr.yaml | 28 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/maintainer/maintainer-review-pr.yaml | 30 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/maintainer/maintainer-review-pr.yaml | 48 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/maintainer/maintainer-review-pr.yaml | 50 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/maintainer/maintainer-review-pr.yaml | 84 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | .archon/workflows/maintainer/maintainer-review-pr.yaml | 86 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| 311 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/check-schema-upgrades.ts | 191 | function isExpectedMissingConstraint(catalogName: string, line: string): boolean { | CODE |
| LOW | scripts/test-inventory.test.ts | 203 | export function isCollectedByRepositoryTest( | CODE |
| LOW | scripts/generate-bundled-defaults.ts | 63 | async function assertTrackedPackagedFiles(paths: readonly string[]): Promise<void> { | CODE |
| LOW | scripts/check-cli-import-boundary.ts | 14 | function staticallyReachableInputs(metafile: BuildMetafile, start: string): string[] { | CODE |
| LOW | packages/core/src/github-auth/config.ts | 25 | export function resolveGitHubTokenFromEnv( | CODE |
| LOW | packages/core/src/github-auth/config.ts | 107 | export function assertEncryptionKeyAtBoot(env: NodeJS.ProcessEnv = process.env): void { | CODE |
| LOW | packages/core/src/github-auth/auth.ts | 88 | export function createGitHubAppAuthProvider(config: GitHubAppConfig): IGitHubAppAuthProvider { | CODE |
| LOW | packages/core/src/github-auth/auth.ts | 187 | async function getOctokitForInstallation(owner: string, repo: string): Promise<Octokit> { | CODE |
| LOW | packages/core/src/platforms/registry.ts | 25 | export function getRegisteredPlatformPolicies(): readonly PlatformPolicy[] { | CODE |
| LOW | packages/core/src/types/message-metadata.ts | 19 | export function toPersistedMessageMetadata( | CODE |
| LOW | packages/core/src/test/codebase-path-contract.ts | 9 | export async function verifyCodebasePathContract(db: IDatabase): Promise<void> { | CODE |
| LOW | packages/core/src/config/run-config.ts | 119 | export function normalizeRunConfigSemantics(layer: WorkflowRunConfigLayer): WorkflowRunConfigLayer { | CODE |
| LOW | packages/core/src/config/run-config.ts | 210 | export async function loadWorkflowRunConfigFile(path: string): Promise<WorkflowRunConfigInput> { | CODE |
| LOW | packages/core/src/config/provider-concurrency.ts | 35 | export async function loadProviderConcurrencyCaps(): Promise<ReadonlyMap<string, number>> { | CODE |
| LOW | packages/core/src/config/run-config-handoff.ts | 11 | export function unsealWorkflowRunConfigStructure( | CODE |
| LOW | packages/core/src/config/run-config-handoff.ts | 36 | export function decodeWorkflowRunConfigHandoff(payload: string): WorkflowRunConfigInput { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 71 | function getRegisteredProviderNames(): string[] { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 280 | function validateWorkflowContinuationConfig(parsed: unknown, configPath: string): void { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 311 | function validateAssistantDefaults(parsed: unknown, configPath: string): void { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 349 | function validateModelBindingConfig(parsed: unknown, configPath: string): void { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 386 | async function readGlobalConfigOrDegrade(configPath: string): Promise<GlobalConfig> { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 431 | function sanitizeRecommendedWorkflows(raw: unknown, configPath: string): string[] | undefined { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 810 | async function readGlobalConfigForUpdate(configPath: string): Promise<GlobalConfig> { | CODE |
| LOW | packages/core/src/providers/process-registration.ts | 16 | export function processProviderRegistration( | CODE |
| LOW | packages/core/src/workflows/continuation-host.test.ts | 13 | async function scanDueWorkflowContinuations( | CODE |
| LOW | packages/core/src/workflows/resource-start-host.ts | 441 | export async function startAdmittedResourceStart( | CODE |
| LOW | packages/core/src/workflows/continuation-host.ts | 27 | export async function resumeWorkflowContinuation( | CODE |
| LOW | packages/core/src/workflows/continuation-host.ts | 123 | export async function wakeDueWorkflowContinuations( | CODE |
| LOW | packages/core/src/workflows/child-isolation-resolver.ts | 113 | export function createCodebaseChildResolver( | CODE |
| LOW | packages/core/src/workflows/store-adapter.ts | 76 | function collectOAuthCredentialValues( | CODE |
| LOW | packages/core/src/workflows/store-adapter.ts | 186 | export function registerGitHubAppAuthProvider(provider: IGitHubAppAuthProvider | null): void { | CODE |
| LOW | packages/core/src/workflows/store-adapter.ts | 190 | export function initializeWorkflowGitHubAppAuth( | CODE |
| LOW | packages/core/src/workflows/sql-host.ts | 35 | export function createSqlWorkflowOperations( | CODE |
| LOW | packages/core/src/workflows/sql-host.ts | 68 | export async function subscribeToSqlRunDoorbell( | CODE |
| LOW | packages/core/src/utils/workflow-source-root.ts | 36 | export async function resolveWorkflowSourceRoot(cwd: string): Promise<string | undefined> { | CODE |
| LOW | packages/core/src/state/session-transitions.ts | 71 | export function detectPlanToExecuteTransition( | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 155 | function resolvedNodeCompletedStepName(approval: ApprovalContext): string { | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 330 | export function workflowOperationErrorMessage( | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 525 | export function describeReleasedWorktrees(released: readonly ReleasedWorktree[] = []): string[] { | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 892 | async function reclaimCancelledRunContainer(run: WorkflowRun): Promise<string[]> { | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 1319 | async function abandonResumableRunsForConversation( | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 1743 | async function respondToWorkflowWithDeclaredDecision( | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 1831 | async function resetWorkflowNodeSessions( | CODE |
| LOW | packages/core/src/operations/isolation-operations.ts | 201 | export async function cleanupMergedEnvironments( | CODE |
| LOW | packages/core/src/db/provider-attempts.ts | 71 | export async function listProviderAttemptHolders(): Promise<ProviderAttemptHolder[]> { | CODE |
| LOW | packages/core/src/db/provider-attempts.ts | 105 | export async function releaseProviderAttemptHolder( | CODE |
| LOW | packages/core/src/db/conversations.ts | 43 | export async function findConversationByPlatformId( | CODE |
| LOW | packages/core/src/db/conversations.ts | 57 | export async function getConversationByPlatformId( | CODE |
| LOW | packages/core/src/db/conversations.ts | 68 | export async function getOrCreateConversation( | CODE |
| LOW | packages/core/src/db/conversations.ts | 187 | export async function getConversationByIsolationEnvId(envId: string): Promise<Conversation | null> { | CODE |
| LOW | packages/core/src/db/conversations.ts | 198 | export async function getConversationsByIsolationEnvId( | CODE |
| LOW | packages/core/src/db/conversations.ts | 308 | export async function detachConversationProject(input: { | CODE |
| LOW | packages/core/src/db/workflow-run-node-sessions.ts | 20 | export async function listWorkflowRunNodeSessions( | CODE |
| LOW | packages/core/src/db/workflow-events.ts | 155 | export async function persistWorkflowEventIfRunning( | CODE |
| LOW | packages/core/src/db/workflow-events.ts | 489 | export async function listActiveWorkflowNodeIds( | CODE |
| LOW | packages/core/src/db/user-github-token-store.ts | 106 | export async function getUserGithubNoreplyEmail(userId: string): Promise<string | null> { | CODE |
| LOW | packages/core/src/db/workflows.ts | 327 | export async function resolveAndCancelApprovalGate( | CODE |
| LOW | packages/core/src/db/workflows.ts | 517 | export async function recordWorkflowRunCheckoutBaseline( | CODE |
| LOW | packages/core/src/db/workflows.ts | 584 | export async function findWorkflowRunsByIdPrefix( | CODE |
| LOW | packages/core/src/db/workflows.ts | 683 | export async function cancelResumableRunsForConversation( | CODE |
| 393 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/workshop/part2-guide.md | 57 | #### Step 1: Show the skill file | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 112 | #### Step 2: Create tasks to save | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 126 | #### Step 3: Invoke the skill | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 140 | #### Step 4: Show what the skill installed | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 158 | #### Step 5: Show the hook verification script | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 216 | #### Step 1: Show both files side by side | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 273 | #### Step 2: Show the dynamic context injection | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 287 | #### Step 3: Create a test issue (if all issues are already labeled) | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 295 | #### Step 4: Invoke the skill | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 308 | #### Step 5: Show the result | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 324 | #### Step 6: Verify on GitHub | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 422 | #### Step 1: Show the skill file | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 443 | #### Step 2: Show the agent file | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 498 | #### Step 3: Test the safety hook live | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 519 | #### Step 4: Show the Slack notification hook | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 530 | #### Step 5: Show the settings-level SubagentStop hook | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 547 | #### Step 6: Invoke the rulecheck | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 565 | #### Step 7: While the agent works, explain the memory system | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 577 | #### Step 8: Show outputs (when agent completes) | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 629 | #### Step 1: Connect to the rulecheck memory | COMMENT |
| LOW | .claude/workshop/part2-guide.md | 638 | #### Step 2: Show the global auto-memory | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 161 | #### Step 1: Show current state | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 169 | #### Step 2: Create a worktree session | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 175 | #### Step 3: Show what happened (in another terminal) | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 182 | #### Step 4: Make a change inside the worktree session | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 188 | #### Step 5: Prove isolation | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 197 | #### Step 6: Exit and show cleanup | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 246 | #### Step 1: Show the problem | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 253 | #### Step 2: Run `/batch` | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 261 | #### Step 3: Review the decomposition plan | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 266 | #### Step 4: Approve | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 270 | #### Step 5: Watch parallel execution | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 275 | #### Step 6: Show the PRs | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 338 | #### Step 1: Start a Claude Code session | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 345 | #### Step 2: Start working on something | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 353 | #### Step 3: Enable Remote Control | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 361 | #### Step 4: Connect from phone | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 368 | #### Step 5: Return to terminal | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 435 | #### Step 1: Send a task to the cloud | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 441 | #### Step 2: Show it running on claude.ai | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 445 | #### Step 3: Check status from terminal | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 452 | #### Step 4: Teleport it back to local | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 460 | #### Step 5: Continue working locally | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 467 | # Step 1: Plan in read-only mode | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 471 | # Step 2: Send the plan to cloud for execution | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 474 | # Step 3: Monitor from phone (Remote Control) or web | COMMENT |
| LOW⚡ | .claude/workshop/part1-guide.md | 475 | # Step 4: Teleport back when done | COMMENT |
| LOW | .claude/workshop/part1-guide.md | 67 | #### Step 1: Start Claude in tmux | COMMENT |
| LOW | .claude/workshop/part1-guide.md | 74 | #### Step 2: Give a multi-faceted task | COMMENT |
| LOW | .claude/workshop/part1-guide.md | 86 | #### Step 3: Show the audience | COMMENT |
| LOW | .claude/workshop/part1-guide.md | 92 | #### Step 4: Navigate teammates | COMMENT |
| LOW | .claude/workshop/part1-guide.md | 103 | #### Step 5: Show delegate mode | COMMENT |
| LOW⚡ | .claude/agents/codebase-analyst.md | 48 | ### Step 1: Find Entry Points | COMMENT |
| LOW⚡ | .claude/agents/codebase-analyst.md | 54 | ### Step 2: Trace the Code Path | COMMENT |
| LOW⚡ | .claude/agents/codebase-analyst.md | 61 | ### Step 3: Document What You Find | COMMENT |
| LOW | .claude/agents/code-reviewer.md | 35 | ### Step 1: Gather Context | COMMENT |
| LOW | .claude/agents/code-reviewer.md | 41 | ### Step 2: Review Against Guidelines | COMMENT |
| LOW | .claude/agents/code-reviewer.md | 67 | ### Step 3: Detect Bugs | COMMENT |
| LOW | .claude/agents/code-reviewer.md | 78 | ### Step 4: Assess Quality | COMMENT |
| LOW | .claude/agents/code-reviewer.md | 87 | ### Step 5: Score and Filter | COMMENT |
| 191 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-entrypoint.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker-compose.yml | 1 | # ============================================================================= | COMMENT |
| LOW | docker-compose.yml | 21 | # | COMMENT |
| LOW | docker-compose.override.example.yml | 1 | # Docker Compose override for user-extended builds (development / local Docker). | COMMENT |
| LOW | .archon/config.example.yaml | 1 | # Example per-run config for `archon workflow run --config <path>`. | COMMENT |
| LOW | .archon/config.example.yaml | 21 | # and aliases the repo's own workflows reference. Do not | COMMENT |
| LOW | .archon/config.example.yaml | 41 | # aliases: { '@name': { provider, model, effort? } } | COMMENT |
| LOW | .archon/config.example.yaml | 61 | # Example: cheap models for a high-volume dogfood batch | COMMENT |
| LOW | .archon/config.example.yaml | 81 | # '@mini': { provider: pi, model: minimax/MiniMax-M3 } | COMMENT |
| LOW | .archon/workflows/experimental/archon-release.yaml | 641 | # | COMMENT |
| LOW | .archon/workflows/maintainer/repo-triage-minimax.yaml | 21 | # State precondition — the single deterministic gate every state-reading node | COMMENT |
| LOW | .archon/workflows/maintainer/repo-triage.yaml | 21 | # downstream of this node (directly or transitively). It is the sole root of | COMMENT |
| LOW | .archon/workflows/test-workflows/e2e-minimax-smoke.yaml | 81 | exit 1 | COMMENT |
| LOW | .archon/workflows/test-workflows/e2e-pi-smoke.yaml | 1 | # E2E smoke test — Pi community provider | COMMENT |
| LOW | …chon/workflows/test-workflows/e2e-container-smoke.yaml | 1 | # E2E smoke test — container isolation for folder projects (Phase B, #2153) | COMMENT |
| LOW | …kflows/test-workflows/e2e-copilot-all-nodes-smoke.yaml | 1 | # E2E smoke test — Copilot provider, every CI-compatible node type | COMMENT |
| LOW | .archon/workflows/sdlc/deliver/archon-deliver.yaml | 41 | # Error review can be forced on or off. Seams always runs; code and tests run on | COMMENT |
| LOW | .archon/workflows/sdlc/deliver/archon-deliver.yaml | 141 | with: | COMMENT |
| LOW | .archon/workflows/sdlc/deliver/archon-deliver.yaml | 221 | # Validate the authored verdict before it controls a costly branch. `ready` | COMMENT |
| LOW | .archon/workflows/sdlc/deliver/archon-deliver.yaml | 361 | # none_failed_min_one_success joins the mutually exclusive paths as bound | COMMENT |
| LOW | .archon/workflows/sdlc/deliver/archon-deliver.yaml | 461 | intent: "$sync-pr-body.output.intent" | COMMENT |
| LOW | .archon/workflows/sdlc/deliver/archon-deliver.yaml | 781 | with: | COMMENT |
| LOW | .archon/workflows/sdlc/review/archon-review.yaml | 221 | # reviews receive the complete prior report and correction delta. | COMMENT |
| LOW | .archon/workflows/sdlc/ship/archon-ship.yaml | 101 | # complete with the report that explains them; delivery is reported from the | COMMENT |
| LOW | .archon/scripts/maintainer-standup-gh-data.ts | 181 | COMMENT | |
| LOW | deploy/cloud-init.yml | 1 | #cloud-config | COMMENT |
| LOW | deploy/cloud-init.yml | 21 | # Note: On VPS with <2GB RAM, the docker build step can OOM without swap. | COMMENT |
| LOW | deploy/docker-compose.yml | 1 | # ============================================================================= | COMMENT |
| LOW | deploy/docker-compose.yml | 41 | # - postgres_data:/var/lib/postgresql/data | COMMENT |
| LOW | deploy/docker-compose.override.example.yml | 1 | # Docker Compose override for user-extended builds (server / deploy). | COMMENT |
| LOW | .claude/skills/rulecheck/hooks/slack-notify.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .claude/skills/release/SKILL.md | 81 | # Compile for the native target only (not full cross-compile — that's CI's job). | COMMENT |
| LOW | .claude/skills/release/SKILL.md | 161 | COMMENT | |
| LOW | .claude/skills/release/SKILL.md | 361 | ### Step 9: Tag, Release, and Sync After Merge | COMMENT |
| LOW | scripts/install.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/node-ref-parity.test.ts | 241 | "$INPUTS.my-input == 'x'", | COMMENT |
| LOW | scripts/build-binaries.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/test-telemetry-off.ts | 1 | // `bun test` preload: tests never send telemetry. Bun reads bunfig.toml only | COMMENT |
| LOW | packages/core/src/github-auth/git-credential-archon.sh | 1 | #!/bin/sh | COMMENT |
| LOW | packages/core/src/config/config-loader.ts | 201 | # assistants: | COMMENT |
| LOW | packages/core/src/workflows/child-isolation-resolver.ts | 141 | // `configureIsolation` is what gives `WorktreeProvider` the repo-config loader; | COMMENT |
| LOW | packages/core/src/utils/port-allocation.test.ts | 221 | COMMENT | |
| LOW | packages/core/src/operations/workflow-operations.ts | 1381 | COMMENT | |
| LOW | packages/core/src/operations/workflow-operations.ts | 1541 | expectedGate?: ExpectedApprovalGate | COMMENT |
| LOW | packages/core/src/operations/workflow-operations.ts | 1621 | // rework the workflow never declared — and the resume path takes its prompt from | COMMENT |
| LOW | packages/core/src/operations/workflow-operations.ts | 1641 | COMMENT | |
| LOW | packages/core/src/db/workflows.ts | 801 | // with similar timestamps could mutually see each other and both abort. | COMMENT |
| LOW | packages/core/src/db/workflows.ts | 1001 | export async function resumeWorkflowRun( | COMMENT |
| LOW | packages/core/src/db/workflows.ts | 1021 | // The original creation time can be recovered from workflow_events | COMMENT |
| LOW | packages/core/src/db/workflow-events.test.ts | 1801 | // an axis it does not know about is dropped from every resumed run's total. | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 361 | prSha?: string; | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 981 | COMMENT | |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2101 | return; | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2161 | // `codebases` runs far below (the guard just under this line is the one that | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2181 | // `&& conversation.cwd === null` is load-bearing. Dropping it while leaving the | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2221 | // commands (including `/workflow approve|reject`), the stale-worktree guard and | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2381 | session = await sessionDb.transitionSession(conversation.id, 'first-message', { | COMMENT |
| LOW | …periments/console/builder/components/BuilderCanvas.tsx | 241 | COMMENT | |
| LOW | packages/providers/src/shared/structured-output.ts | 61 | // breaking the conservative-failure contract callers rely on. | COMMENT |
| LOW | packages/providers/src/community/pi/event-bridge.ts | 441 | // requested a JSON schema; otherwise stays empty and the terminal chunk | COMMENT |
| 117 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .archon/scripts/__tests__/forge-delivery.test.ts | 109 | GH_TOKEN: 'fake-token', | CODE |
| LOW | .claude/skills/playwright-cli/SKILL.md | 39 | playwright-cli fill e5 "user@example.com" --submit | CODE |
| LOW | .claude/skills/playwright-cli/SKILL.md | 363 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 27 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 29 | # await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | COMMENT |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 50 | await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 122 | await expect(page.getByRole('textbox', { name: 'Email' })).toHaveValue('user@example.com'); | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 309 | playwright-cli fill e3 "John Doe" # -> page.getByRole('textbox', {...}).fill(...) | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 328 | // 2. Type 'John Doe' into the username field | COMMENT |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 329 | await page.getByRole('textbox', { name: 'username' }).fill('John Doe'); | CODE |
| LOW | …laude/skills/playwright-cli/references/running-code.md | 223 | await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | CODE |
| LOW⚡ | …aude/skills/playwright-cli/references/storage-state.md | 238 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …skills/playwright-cli/references/session-management.md | 17 | playwright-cli -s=auth fill e1 "user@example.com" | CODE |
| LOW | packages/paths/src/child-plugins-home.test.ts | 56 | "const args = shape === 'detached' ? ['--internal-detached-run-config', 'placeholder'] : [];\n" + | CODE |
| LOW | packages/cli/src/cli.test.ts | 471 | [probe, '--internal-detached-run-config', 'placeholder'], | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 37 | expect(new TelegramAdapter('fake-token-for-testing').capabilities.canDetachProject).toBe(true); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 42 | const adapter = new TelegramAdapter('fake-token-for-testing', 'batch'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 47 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 52 | const adapter = new TelegramAdapter('fake-token-for-testing', 'stream'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 62 | adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 172 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 181 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 190 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 199 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 208 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 219 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 225 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 233 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 240 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 255 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 278 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 289 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 309 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 318 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 335 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 360 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 561 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 788 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 982 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 1590 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 1686 | { kind: 'pat', token: 'fake-token' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 2201 | { kind: 'pat', token: 'fake-token' }, | CODE |
| LOW | packages/adapters/src/forge/github/context.test.ts | 219 | const adapter = new GitHubAdapter({ kind: 'pat', token: 'fake-token' }, WEBHOOK_SECRET, { | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 112 | const adapter = new DiscordAdapter('fake-token-for-testing', 'batch'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 117 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 122 | const adapter = new DiscordAdapter('fake-token-for-testing', 'stream'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 129 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 136 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 145 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 182 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 187 | expect(client.login).toHaveBeenCalledWith('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 191 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 200 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 334 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 343 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 352 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 361 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 601 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 610 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 620 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| 30 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | packages/workflows/src/unbound-exec-inputs.test.ts | 30 | print(os.environ["INPUTS_PY_BRACKET"]) | CODE |
| HIGH⚡ | packages/workflows/src/unbound-exec-inputs.test.ts | 31 | print(os.environ['INPUTS_PY_SINGLE']) | CODE |
| HIGH⚡ | packages/workflows/src/unbound-exec-inputs.test.ts | 32 | print(os.environ.get('INPUTS_PY_GET', '')) | CODE |
| HIGH⚡ | packages/workflows/src/unbound-exec-inputs.test.ts | 184 | print(os.environ[key]) | CODE |
| HIGH⚡ | packages/workflows/src/unbound-exec-inputs.test.ts | 185 | print(os.getenv("INPUTS_GETENV")) | CODE |
| HIGH⚡ | packages/workflows/src/unbound-exec-inputs.test.ts | 187 | print(env["INPUTS_ALIAS"]) | CODE |
| HIGH | packages/workflows/src/unbound-exec-inputs.test.ts | 258 | print(fix, repetitions) | CODE |
| HIGH | packages/workflows/src/unbound-exec-inputs.test.ts | 449 | print(os.environ["INPUTS_MISSING"]) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .archon/workflows/experimental/archon-release.yaml | 320 | # String.raw template substitution. Necessary because AI-generated content | COMMENT |
| HIGH | …ude/skills/archon-cli/authoring-workflows/variables.md | 30 | - **`script:` bodies** — like `bash:`, user-controlled variables (`$ARGUMENTS`, `$USER_MESSAGE`, `$LOOP_USER_INPUT`, `$L | CODE |
| HIGH | packages/providers/src/claude/provider.ts | 834 | // Phase 4 of #975 — enable AI-generated progress summaries for subagents | COMMENT |
| HIGH | packages/providers/src/claude/provider.ts | 834 | // Phase 4 of #975 — enable AI-generated progress summaries for subagents | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .archon/workflows/e2e-opencode-inline-multi-agents.yaml | 1 | # E2E smoke test — OpenCode multi-agent parallel execution | COMMENT |
| MEDIUM⚡ | .archon/workflows/e2e-opencode-inline-multi-agents.yaml | 2 | # Verifies OpenCode's agents: adaptation with true multi-agent support: | COMMENT |
| MEDIUM⚡ | .archon/workflows/e2e-opencode-inline-multi-agents.yaml | 6 | # Note: agents: is Claude-only per spec; OpenCode now fully supports multi-agent. | COMMENT |
| MEDIUM⚡ | …ckages/providers/src/community/pi/event-bridge.test.ts | 1286 | // ─── node usage across the agentic loop (#2800) ──────────────────────────── | COMMENT |
| MEDIUM | …cs-web/src/content/docs/getting-started/quick-start.md | 13 | 2. [Install Claude Code](/getting-started/ai-assistants/#claude-code) — Archon orchestrates it but does not bundle it | CODE |
| MEDIUM | packages/workflows/src/dry-run.test.ts | 394 | // must satisfy is one the stub must satisfy too. The generated-scaffold route | COMMENT |
| MEDIUM | …s/workflows/src/defaults/bundled-defaults.generated.ts | 36 | "__archon_pack__bundled:sdlc:simplify::simplify": "# Simplify — The Smallest Coherent Shape\n\nWriting code is cheap; | CODE |
| MEDIUM | …s/workflows/src/defaults/bundled-defaults.generated.ts | 90 | "sdlc": {"files":{".shared/checkout.ts":"/**\n * The commit a checkout observation names.\n *\n * The engine samples t | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .archon/workflows/test-workflows/e2e-pi-smoke.yaml | 16 | # 1. Simple prompt — verifies Pi harness starts, AsyncQueue bridge yields | COMMENT |
| MEDIUM | …b/src/experiments/console/components/RunGraphPanel.tsx | 65 | // Only set edges whose source exists (robust against malformed DAGs). | COMMENT |
| MEDIUM | …s/workflows/src/defaults/bundled-defaults.generated.ts | 35 | "__archon_pack__bundled:sdlc:review::review-tests": "# Test Review — Regression Protection\n\nFind one defect: **the c | CODE |
| MEDIUM | packages/git/src/git.test.ts | 3574 | // Original errno is preserved on the wrapped error for robust | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | packages/paths/src/env-integration.test.ts | 90 | // Step 2: stripCwdEnv (same as entry point) | COMMENT |
| LOW⚡ | packages/paths/src/env-integration.test.ts | 93 | // Step 3: Load ~/.archon/.env with override — user's Archon config wins | COMMENT |
| LOW⚡ | packages/paths/src/env-integration.test.ts | 98 | // Step 4: Return subprocess env snapshot | COMMENT |
| LOW | packages/git/src/worktree.ts | 151 | // Step 1: Check if directory exists | COMMENT |
| LOW | packages/git/src/worktree.ts | 163 | // Step 2: Check if .git entry exists (directory exists at this point) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | docker-compose.yml | 5 | # Usage: | COMMENT |
| LOW⚡ | deploy/docker-compose.yml | 5 | # Usage: | COMMENT |
| LOW | scripts/install.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/build-runner-image.sh | 8 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ckages/providers/src/community/pi/event-bridge.test.ts | 537 | 'Here is the JSON you requested:\n{"ok":true}\nLet me know if you need anything else.'; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/install.sh | 315 | # Check if in PATH | COMMENT |