The first open-source harness builder for AI coding. Make AI coding deterministic and repeatable.
This report presents the forensic synthetic code analysis of coleam00/Archon, a TypeScript project with 23,294 GitHub stars. SynthScan v2.0 examined 412,480 lines of code across 1409 source files, recording 1629 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 8.1 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1629 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| 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/workflows/e2e-opencode-all-nodes-smoke.yaml | 14 | # ─── AI node types ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .archon/workflows/e2e-opencode-all-nodes-smoke.yaml | 61 | # ─── Deterministic node types (no AI) ─────────────────────────────────── | COMMENT |
| MEDIUM | .archon/workflows/e2e-opencode-all-nodes-smoke.yaml | 80 | # ─── DAG features ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .archon/workflows/e2e-opencode-all-nodes-smoke.yaml | 100 | # ─── Final assertion ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 328 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 330 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 339 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 341 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 449 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 451 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 459 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 461 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 715 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 717 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 724 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 726 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 49 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 51 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 118 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 120 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 256 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 262 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 388 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 390 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 506 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 508 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 688 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 690 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 216 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 218 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 227 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 229 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 264 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 266 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 273 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 275 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 282 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 284 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 438 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 440 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 447 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …lows/experimental/archon-fix-github-issue-minimax.yaml | 449 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …lows/experimental/archon-fix-github-issue-minimax.yaml | 57 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …lows/experimental/archon-fix-github-issue-minimax.yaml | 59 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …lows/experimental/archon-fix-github-issue-minimax.yaml | 144 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …lows/experimental/archon-fix-github-issue-minimax.yaml | 150 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …lows/experimental/archon-fix-github-issue-minimax.yaml | 329 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …lows/experimental/archon-fix-github-issue-minimax.yaml | 331 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …lows/experimental/archon-fix-github-issue-minimax.yaml | 423 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …lows/experimental/archon-fix-github-issue-minimax.yaml | 425 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| 575 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 60 | ### Step 2: Explore the Codebase | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 69 | ### Step 3: Present Your Understanding | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 101 | ### Step 1: Process Their Response | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 108 | ### Step 2: Do Targeted Research | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 116 | ### Step 3: Present Updated Understanding | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 121 | ### Step 4: Converge or Continue | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 192 | ## Step 1: Read the Codebase (Again) | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 201 | ## Step 2: Plan File Location | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 206 | ## Step 3: Write the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 269 | ## Step 4: Verify the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 276 | ## Step 5: Report | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 309 | ## Step 1: Read the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 313 | ## Step 2: Process Feedback | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 556 | ## Step 1: Read the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 560 | ## Step 2: Review All Changes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 568 | ## Step 3: Check Against Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 573 | ## Step 4: Run Validation | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 579 | ## Step 5: Fix Obvious Issues | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 631 | ## Step 1: Read Context | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 635 | ## Step 2: Process Feedback | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 654 | ## Step 3: Full Validation | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 660 | ## Step 4: Commit Fixes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 714 | ## Step 1: Push Changes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 720 | ## Step 2: Generate Summary | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 729 | ## Step 3: Create PR (if not already created) | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 44 | ### Step 1: Parse the Input | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 90 | ### Step 4: Ask Targeted Questions | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 338 | ## Step 3: Show Changes | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 590 | ## Step 6: Present Review | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 679 | ## Step 5: Report | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 750 | ## Step 4: Output Summary | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-ralph-dag.yaml | 32 | ## Step 1: Detect worktree | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-ralph-dag.yaml | 37 | ## Step 2: Classify the input | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-ralph-dag.yaml | 54 | ## Step 3: Auto-discover existing ralph PRDs | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-ralph-dag.yaml | 61 | ## Step 4: Take action based on classification | COMMENT |
| 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 |
| 228 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .archon/workflows/sdlc/deliver/scripts/check-ci.py | 53 | def repo_has_active_workflows() -> bool | None: | CODE |
| LOW | scripts/check-schema-upgrades.ts | 191 | function isExpectedMissingConstraint(catalogName: string, line: string): boolean { | CODE |
| LOW | scripts/generate-bundled-defaults.ts | 183 | async function assertTrackedPackagedFiles(paths: readonly string[]): Promise<void> { | CODE |
| LOW | packages/core/src/github-auth/config.ts | 50 | export function assertEncryptionKeyAtBoot(env: NodeJS.ProcessEnv = process.env): void { | CODE |
| LOW | packages/core/src/github-auth/auth.ts | 56 | export function createGitHubAppAuthProvider(config: GitHubAppConfig): IGitHubAppAuthProvider { | CODE |
| LOW | packages/core/src/github-auth/auth.ts | 143 | async function getOctokitForInstallation(owner: string, repo: string): Promise<Octokit> { | CODE |
| LOW | packages/core/src/config/run-config.ts | 117 | function normalizeRunConfigSemantics(layer: WorkflowRunConfigLayer): WorkflowRunConfigLayer { | CODE |
| LOW | packages/core/src/config/run-config.ts | 220 | export async function loadWorkflowRunConfigFile(path: string): Promise<WorkflowRunConfigInput> { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 71 | function getRegisteredProviderNames(): string[] { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 261 | function validateWorkflowContinuationConfig(parsed: unknown, configPath: string): void { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 311 | function sanitizeRecommendedWorkflows(raw: unknown, configPath: string): string[] | undefined { | CODE |
| LOW | packages/core/src/workflows/child-isolation-resolver.ts | 135 | export function createChildWorktreeResolver( | CODE |
| LOW | packages/core/src/workflows/store-adapter.ts | 51 | function collectOAuthCredentialValues( | CODE |
| LOW | packages/core/src/workflows/store-adapter.ts | 128 | export function registerGitHubAppAuthProvider(provider: IGitHubAppAuthProvider | null): void { | CODE |
| LOW | packages/core/src/utils/path-validation.ts | 36 | export function validateAndResolvePath(targetPath: string, basePath?: string): string { | 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 | 179 | async function reclaimCancelledRunContainer(run: WorkflowRun): Promise<void> { | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 235 | function resolvedNodeCompletedStepName(approval: ApprovalContext): string { | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 510 | export async function abandonResumableRunsForConversation( | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 929 | async function respondToWorkflowWithDeclaredDecision( | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 1008 | export async function resetWorkflowNodeSessions(filter: { | CODE |
| LOW | packages/core/src/operations/isolation-operations.ts | 183 | export async function cleanupMergedEnvironments( | CODE |
| LOW | packages/core/src/db/conversations.ts | 33 | export async function findConversationByPlatformId( | CODE |
| LOW | packages/core/src/db/conversations.ts | 47 | export async function getConversationByPlatformId( | CODE |
| LOW | packages/core/src/db/conversations.ts | 58 | export async function getOrCreateConversation( | CODE |
| LOW | packages/core/src/db/conversations.ts | 194 | export async function getConversationByIsolationEnvId(envId: string): Promise<Conversation | null> { | CODE |
| LOW | packages/core/src/db/conversations.ts | 205 | export async function getConversationsByIsolationEnvId( | CODE |
| LOW | packages/core/src/db/workflow-run-node-sessions.ts | 13 | export async function listWorkflowRunNodeSessions( | CODE |
| LOW | packages/core/src/db/workflow-events.ts | 135 | export async function persistWorkflowEventIfRunning( | CODE |
| LOW | packages/core/src/db/user-github-token-store.ts | 104 | export async function getUserGithubNoreplyEmail(userId: string): Promise<string | null> { | CODE |
| LOW | packages/core/src/db/workflows.ts | 300 | export async function resolveAndCancelApprovalGate( | CODE |
| LOW | packages/core/src/db/workflows.ts | 494 | export async function findWorkflowRunsByIdPrefix( | CODE |
| LOW | packages/core/src/db/workflows.ts | 593 | export async function cancelResumableRunsForConversation( | CODE |
| LOW | packages/core/src/db/workflows.ts | 660 | export async function getActiveWorkflowRunByPath( | CODE |
| LOW | packages/core/src/db/workflows.ts | 855 | export async function findResumableRunByParentConversation( | CODE |
| LOW | packages/core/src/db/workflows.ts | 1040 | export async function recoverCancelledFanOutRun(id: string): Promise<WorkflowRun> { | CODE |
| LOW | packages/core/src/db/workflows.ts | 1097 | export async function getWorkflowRunByWorkerPlatformId( | CODE |
| LOW | packages/core/src/db/workflows.ts | 1528 | export async function listDueWorkflowContinuations( | CODE |
| LOW | packages/core/src/db/workflows.ts | 1573 | export async function deferWorkflowContinuation( | CODE |
| LOW | packages/core/src/db/workflows.ts | 1762 | function buildDashboardWhereClauses( | CODE |
| LOW | packages/core/src/db/messages.ts | 74 | export async function getRecentWorkflowResultMessages( | CODE |
| LOW | packages/core/src/db/connection.ts | 121 | export function getDbNotificationListener(): DbNotificationListener | null { | CODE |
| LOW | packages/core/src/db/users.ts | 71 | export async function findOrCreateUserByPlatformIdentity( | CODE |
| LOW | packages/core/src/db/user-provider-key-store.ts | 146 | export async function getDecryptedProviderCredential( | CODE |
| LOW | packages/core/src/db/user-provider-key-store.ts | 292 | export async function listDecryptedUserProviderCredentials( | CODE |
| LOW | packages/core/src/db/isolation-environments.ts | 110 | export async function findLatestByCodebaseAndWorkingPath( | CODE |
| LOW | packages/core/src/db/isolation-environments.ts | 358 | export async function listAllActiveWithCodebase(): Promise< | CODE |
| LOW | packages/core/src/db/isolation-environments.ts | 413 | export async function listActiveContainerEnvironments(): Promise< | CODE |
| LOW | packages/core/src/db/workflow-node-sessions.ts | 38 | export async function upsertWorkflowNodeSession( | CODE |
| LOW | packages/core/src/db/workflow-node-sessions.ts | 88 | export async function deleteWorkflowNodeSessions(filter: { | CODE |
| LOW | packages/core/src/services/cleanup-service.ts | 128 | export async function listContainerEnvironments(): Promise<readonly ContainerEnvSummary[]> { | CODE |
| LOW | packages/core/src/services/cleanup-service.ts | 163 | export async function cleanupContainerEnvironments( | CODE |
| LOW | packages/core/src/services/cleanup-service.ts | 658 | export async function getWorktreeStatusBreakdown( | CODE |
| LOW | …ckages/core/src/services/codebase-checkout-resolver.ts | 33 | export async function findCodebaseForCheckoutPath( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 98 | function ensureIsolationConfigured(): void { | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 136 | export async function validateAndResolveIsolation( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 136 | export async function validateAndResolveIsolation( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 345 | async function dispatchBackgroundWorkflowOwned( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 779 | export async function dispatchBackgroundWorkflow( | CODE |
| 248 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 | …experimental/archon-fix-github-issue-experimental.yaml | 41 | COMMENT | |
| LOW | …experimental/archon-fix-github-issue-experimental.yaml | 81 | COMMENT | |
| LOW | …experimental/archon-fix-github-issue-experimental.yaml | 101 | # Independent of the model's own report, for the one ecosystem we can check | COMMENT |
| LOW | …experimental/archon-fix-github-issue-experimental.yaml | 361 | # Bridge: ensure investigation.md exists for the implement step | COMMENT |
| LOW | …experimental/archon-fix-github-issue-experimental.yaml | 401 | # `implement` can decline to change anything — a blocked precondition, an unclear | COMMENT |
| LOW | …experimental/archon-fix-github-issue-experimental.yaml | 501 | echo "$PR_URL" > "$ARTIFACTS_DIR/.pr-url" | COMMENT |
| LOW | …experimental/archon-fix-github-issue-experimental.yaml | 541 | depends_on: [create-pr] | COMMENT |
| LOW | …experimental/archon-fix-github-issue-experimental.yaml | 641 | scope=$classify.output.scope | COMMENT |
| LOW | .archon/workflows/experimental/archon-release.yaml | 641 | # rewriting dev's history shifts every PR's merge-base to a much older | 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 | 61 | - id: pr | COMMENT |
| LOW | .archon/workflows/sdlc/deliver/archon-deliver.yaml | 121 | with: | COMMENT |
| LOW | .archon/workflows/sdlc/deliver/archon-deliver.yaml | 261 | # the body (and so the group) immediately; a concluded probe skips the pause | COMMENT |
| LOW | .archon/workflows/sdlc/review/archon-review.yaml | 141 | # loop terminates on. Full reviews receive complete lens files; continuation | 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 | scripts/install.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/node-ref-parity.test.ts | 241 | // The only entry that catches the reserved-id rule being DELETED (the two below | COMMENT |
| LOW | scripts/build-binaries.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/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 | // without it the factory falls back to `() => Promise.resolve(null)` and the | COMMENT |
| LOW | packages/core/src/workflows/child-isolation-resolver.ts | 201 | created_by_platform: config.createdByPlatform, | COMMENT |
| LOW | packages/core/src/workflows/child-isolation-resolver.ts | 221 | // deleted, the node takes the fresh-spawn path and calls `resolve()` again. | COMMENT |
| LOW | packages/core/src/utils/error-formatter.ts | 61 | // chance to match, so a `Codex rate_limit:` wrap routes to usage-cap | COMMENT |
| LOW | packages/core/src/utils/error-formatter.ts | 121 | // Not logged in — no credential reached the subprocess. On a multi-user | COMMENT |
| LOW | packages/core/src/utils/error-formatter.test.ts | 421 | }); | COMMENT |
| LOW | packages/core/src/utils/port-allocation.test.ts | 81 | // 4. Multiple worktrees: Start in 2+ worktrees → different ports | COMMENT |
| LOW | packages/core/src/operations/workflow-operations.ts | 781 | // rework the workflow never declared — and the resume path takes its prompt from | COMMENT |
| LOW | packages/core/src/operations/workflow-operations.ts | 801 | COMMENT | |
| LOW | packages/core/src/db/workflow-events.ts | 421 | // truncation cap; the full bytes were spilled to `node_output_spill_path` at write | COMMENT |
| LOW | packages/core/src/db/workflows.ts | 701 | // | COMMENT |
| LOW | packages/core/src/db/workflows.ts | 901 | // We accept losing the original creation time here — `started_at` for | COMMENT |
| LOW | packages/core/src/db/workflow-events.test.ts | 1121 | // Its writer is in @archon/workflows, and that half is guarded there under the | COMMENT |
| LOW | packages/core/src/handlers/command-handler.test.ts | 41 | const mockResumeWorkflowRun = mock(() => Promise.resolve({ id: 'run-id', status: 'running' })); | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 361 | // different file (#1764), so the class declaration alone cannot catch it. Checked HERE, | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 321 | COMMENT | |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 821 | COMMENT | |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 841 | (await workflowDb.findResumableRunByParentConversation( | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 881 | // AFTER resume detection, on purpose. A continuation must execute the source its run | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 941 | if (!freshCaptured) return; // capture failed, message already sent | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 1401 | // Reaching this branch means `resumableRun?.working_path` is falsy, which implies | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2061 | // path that tears a worktree down (`archon isolation cleanup`, the periodic | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2121 | COMMENT | |
| 146 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/playwright-cli/SKILL.md | 38 | playwright-cli fill e5 "user@example.com" | CODE |
| LOW | .claude/skills/playwright-cli/SKILL.md | 232 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 21 | playwright-cli fill e1 "user@example.com" | CODE |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 23 | # await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | COMMENT |
| LOW | …de/skills/playwright-cli/references/test-generation.md | 44 | await page.getByRole('textbox', { name: 'Email' }).fill('user@example.com'); | CODE |
| LOW | …laude/skills/playwright-cli/references/running-code.md | 214 | await page.fill('input[name=email]', '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 | .claude/skills/agent-browser/SKILL.md | 215 | agent-browser fill @e1 "user@example.com" | CODE |
| LOW | packages/cli/src/cli.test.ts | 336 | [probe, '--internal-detached-run-config', 'placeholder'], | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 35 | const adapter = new TelegramAdapter('fake-token-for-testing', 'batch'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 40 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 45 | const adapter = new TelegramAdapter('fake-token-for-testing', 'stream'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 52 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 64 | adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 171 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 180 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 189 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 198 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 207 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 218 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 224 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 232 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | packages/adapters/src/chat/telegram/adapter.test.ts | 239 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 254 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 277 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 288 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/chat/telegram/adapter.test.ts | 308 | const adapter = new TelegramAdapter('fake-token-for-testing'); | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 285 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 309 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 407 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 601 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 1173 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 1278 | { kind: 'pat', token: 'fake-token' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 1754 | { kind: 'pat', token: 'fake-token' }, | CODE |
| LOW | packages/adapters/src/forge/github/context.test.ts | 229 | const adapter = new GitHubAdapter({ kind: 'pat', token: 'fake-token' }, WEBHOOK_SECRET, { | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 85 | const adapter = new DiscordAdapter('fake-token-for-testing', 'batch'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 90 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 95 | const adapter = new DiscordAdapter('fake-token-for-testing', 'stream'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 102 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 109 | const adapter = new DiscordAdapter('fake-token-for-testing'); | 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 | 126 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 163 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 168 | expect(client.login).toHaveBeenCalledWith('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 172 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 181 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 315 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 324 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 333 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 342 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 585 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 594 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW⚡ | …es/adapters/src/community/chat/discord/adapter.test.ts | 604 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 137 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 147 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 193 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 213 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 240 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 264 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .archon/workflows/sdlc/upkeep/scripts/outcome.py | 0 | the discoveries section for a terminal report, or empty when there is nothing to report. presentation only (#2884): disc | STRING |
| HIGH | .archon/workflows/sdlc/deliver/scripts/outcome.py | 0 | the discoveries section for a terminal report, or empty when there is nothing to report. presentation only (#2884): disc | STRING |
| HIGH | .archon/workflows/sdlc/ship/scripts/outcome.py | 0 | the discoveries section for a terminal report, or empty when there is nothing to report. presentation only (#2884): disc | STRING |
| HIGH | .archon/workflows/sdlc/stabilize/scripts/outcome.py | 0 | the discoveries section for a terminal report, or empty when there is nothing to report. presentation only (#2884): disc | STRING |
| HIGH | .archon/workflows/sdlc/upkeep/scripts/outcome.py | 0 | the producer sidecars of a run that died before review consolidated them (#2940). a failed run is where a discovery matt | STRING |
| HIGH | .archon/workflows/sdlc/deliver/scripts/outcome.py | 0 | the producer sidecars of a run that died before review consolidated them (#2940). a failed run is where a discovery matt | STRING |
| HIGH | .archon/workflows/sdlc/ship/scripts/outcome.py | 0 | the producer sidecars of a run that died before review consolidated them (#2940). a failed run is where a discovery matt | STRING |
| HIGH | .archon/workflows/sdlc/stabilize/scripts/outcome.py | 0 | the producer sidecars of a run that died before review consolidated them (#2940). a failed run is where a discovery matt | STRING |
| HIGH | .archon/workflows/sdlc/upkeep/scripts/outcome.py | 0 | the caveat for red this run's green gate deliberately let through (#2939). the gate fails on red the change introduced a | STRING |
| HIGH | .archon/workflows/sdlc/deliver/scripts/outcome.py | 0 | the caveat for red this run's green gate deliberately let through (#2939). the gate fails on red the change introduced a | STRING |
| HIGH | .archon/workflows/sdlc/ship/scripts/outcome.py | 0 | the caveat for red this run's green gate deliberately let through (#2939). the gate fails on red the change introduced a | STRING |
| HIGH | .archon/workflows/sdlc/stabilize/scripts/outcome.py | 0 | the caveat for red this run's green gate deliberately let through (#2939). the gate fails on red the change introduced a | STRING |
| HIGH | .archon/workflows/sdlc/upkeep/scripts/outcome.py | 0 | everything a terminal report owes its reader beyond the result itself. both sections exist because their channel is othe | STRING |
| HIGH | .archon/workflows/sdlc/deliver/scripts/outcome.py | 0 | everything a terminal report owes its reader beyond the result itself. both sections exist because their channel is othe | STRING |
| HIGH | .archon/workflows/sdlc/ship/scripts/outcome.py | 0 | everything a terminal report owes its reader beyond the result itself. both sections exist because their channel is othe | STRING |
| HIGH | .archon/workflows/sdlc/stabilize/scripts/outcome.py | 0 | everything a terminal report owes its reader beyond the result itself. both sections exist because their channel is othe | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 60 | ### Step 2: Explore the Codebase | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 69 | ### Step 3: Present Your Understanding | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 101 | ### Step 1: Process Their Response | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 108 | ### Step 2: Do Targeted Research | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 116 | ### Step 3: Present Updated Understanding | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 121 | ### Step 4: Converge or Continue | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 192 | ## Step 1: Read the Codebase (Again) | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 201 | ## Step 2: Plan File Location | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 206 | ## Step 3: Write the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 269 | ## Step 4: Verify the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 276 | ## Step 5: Report | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 309 | ## Step 1: Read the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 313 | ## Step 2: Process Feedback | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 556 | ## Step 1: Read the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 560 | ## Step 2: Review All Changes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 568 | ## Step 3: Check Against Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 573 | ## Step 4: Run Validation | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 579 | ## Step 5: Fix Obvious Issues | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 631 | ## Step 1: Read Context | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 635 | ## Step 2: Process Feedback | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 654 | ## Step 3: Full Validation | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 660 | ## Step 4: Commit Fixes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 714 | ## Step 1: Push Changes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 720 | ## Step 2: Generate Summary | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 729 | ## Step 3: Create PR (if not already created) | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 44 | ### Step 1: Parse the Input | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 90 | ### Step 4: Ask Targeted Questions | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 338 | ## Step 3: Show Changes | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 590 | ## Step 6: Present Review | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 679 | ## Step 5: Report | COMMENT |
| LOW | .archon/workflows/defaults/legacy/archon-piv-loop.yaml | 750 | ## Step 4: Output Summary | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-ralph-dag.yaml | 32 | ## Step 1: Detect worktree | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-ralph-dag.yaml | 37 | ## Step 2: Classify the input | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-ralph-dag.yaml | 54 | ## Step 3: Auto-discover existing ralph PRDs | COMMENT |
| LOW⚡ | .archon/workflows/defaults/legacy/archon-ralph-dag.yaml | 61 | ## Step 4: Take action based on classification | COMMENT |
| 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⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 62 | "archon-investigate-issue": "---\ndescription: Investigate a GitHub issue or problem - analyze codebase, create plan, | CODE |
| LOW⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 101 | "archon-piv-loop": "name: archon-piv-loop\ndescription: |\n Use when: User wants guided Plan-Implement-Validate devel | CODE |
| LOW⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 105 | "archon-ralph-dag": "name: archon-ralph-dag\ndescription: |\n Use when: User wants to run a Ralph implementation loop | CODE |
| 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 |
|---|---|---|---|---|
| MEDIUM | …ws/defaults/legacy/archon-comprehensive-pr-review.yaml | 4 | Triggers: "review this PR", "review PR #123", "comprehensive review", "full PR review", | CODE |
| MEDIUM | …/workflows/defaults/legacy/archon-adversarial-dev.yaml | 68 | # Create directory structure for harness communication | COMMENT |
| 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 | 64 | // Only set edges whose source exists (robust against malformed DAGs). | COMMENT |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 42 | "__archon_pack__bundled:sdlc:review::review-tests": "# Test Review — Regression Protection\n\nFind one defect: **the c | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 52 | "archon-create-plan": "---\ndescription: Create comprehensive feature implementation plan with codebase analysis and r | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 54 | "archon-docs-impact-agent": "---\ndescription: Check if PR changes require documentation updates (CLAUDE.md, docs/, ag | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 56 | "archon-finalize-pr": "---\ndescription: Commit changes, create PR with template, mark ready for review\nargument-hint | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 59 | "archon-implement-issue": "---\ndescription: Implement a fix from investigation artifact - code changes, PR, and self- | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 60 | "archon-implement-review-fixes": "---\ndescription: Implement CRITICAL and HIGH fixes from review, add tests, report r | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 62 | "archon-investigate-issue": "---\ndescription: Investigate a GitHub issue or problem - analyze codebase, create plan, | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 65 | "archon-plan-setup": "---\ndescription: Setup for plan execution - read plan, ensure branch ready, write context artif | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 74 | "archon-synthesize-review": "---\ndescription: Synthesize all review agent findings into consolidated report and post | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 81 | "archon-validate-pr-report": "---\ndescription: Synthesize all validation findings into a final PR verdict report\narg | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 82 | "archon-web-research": "---\ndescription: Research web sources for context relevant to a GitHub issue or feature\nargu | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 88 | "archon-adversarial-dev": "name: archon-adversarial-dev\ndescription: |\n Use when: User wants to build a complete ap | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 88 | "archon-adversarial-dev": "name: archon-adversarial-dev\ndescription: |\n Use when: User wants to build a complete ap | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 91 | "archon-comprehensive-pr-review": "name: archon-comprehensive-pr-review\ndescription: |\n Use when: User wants a comp | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 101 | "archon-piv-loop": "name: archon-piv-loop\ndescription: |\n Use when: User wants guided Plan-Implement-Validate devel | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 112 | "archon-smart-pr-review": "name: archon-smart-pr-review\ndescription: |\n Use when: User wants a smart, efficient PR | CODE |
| MEDIUM | packages/git/src/git.test.ts | 3131 | // Original errno is preserved on the wrapped error for robust | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .archon/workflows/experimental/archon-release.yaml | 318 | # 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 | 711 | // Phase 4 of #975 — enable AI-generated progress summaries for subagents | COMMENT |
| HIGH | packages/providers/src/claude/provider.ts | 711 | // Phase 4 of #975 — enable AI-generated progress summaries for subagents | COMMENT |
| HIGH⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 101 | "archon-piv-loop": "name: archon-piv-loop\ndescription: |\n Use when: User wants guided Plan-Implement-Validate devel | CODE |
| 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⚡ | …/workflows/defaults/legacy/archon-refactor-safely.yaml | 205 | # PHASE 4: EXECUTE REFACTOR — Implements the plan with guardrails | 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⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 40 | "__archon_pack__bundled:sdlc:review::review-simplify": "# Simplify Review — The Smallest Coherent Shape\n\nWriting cod | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 46 | "__archon_pack__bundled:sdlc:validate::validate": "# Validate\n\nRun the project's own checks and report the truth. Yo | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 61 | "archon-implement-tasks": "---\ndescription: Execute plan tasks with type-checking after each change\nargument-hint: ( | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 95 | "archon-fix-github-issue": "name: archon-fix-github-issue\ndescription: |\n Use when: User wants to FIX, RESOLVE, or | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 106 | "archon-refactor-safely": "name: archon-refactor-safely\ndescription: |\n Use when: User wants to refactor code safel | CODE |
| 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 |
|---|---|---|---|---|
| HIGH⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 101 | "archon-piv-loop": "name: archon-piv-loop\ndescription: |\n Use when: User wants guided Plan-Implement-Validate devel | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 80 | "archon-validate-pr-e2e-main": "---\ndescription: Start Archon from main branch, use agent-browser to reproduce the bu | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 81 | "archon-validate-pr-report": "---\ndescription: Synthesize all validation findings into a final PR verdict report\narg | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …s/workflows/src/defaults/bundled-defaults.generated.ts | 139 | "__archon_pack__bundled:sdlc:deliver::check-ci": {"content":"\"\"\"Classify the current branch PR's check state, once. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/install.sh | 315 | # Check if in PATH | COMMENT |
| LOW⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 65 | "archon-plan-setup": "---\ndescription: Setup for plan execution - read plan, ensure branch ready, write context artif | CODE |
| LOW⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 79 | "archon-validate-pr-e2e-feature": "---\ndescription: Start Archon from the feature branch, use agent-browser to verify | CODE |
| LOW⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 80 | "archon-validate-pr-e2e-main": "---\ndescription: Start Archon from main branch, use agent-browser to reproduce the bu | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ckages/providers/src/community/pi/event-bridge.test.ts | 475 | 'Here is the JSON you requested:\n{"ok":true}\nLet me know if you need anything else.'; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …hon/workflows/sdlc/implement/scripts/assert-changed.py | 43 | CODE |