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 22,880 GitHub stars. SynthScan v2.0 examined 301,239 lines of code across 1182 source files, recording 1283 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 9.7 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 1283 distinct pattern matches across 14 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 | 207 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 209 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 218 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 220 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 255 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 257 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 265 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 267 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 274 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 276 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 432 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 434 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 441 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | …experimental/archon-fix-github-issue-experimental.yaml | 443 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 46 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 48 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 135 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 141 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 321 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 323 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 417 | # ═══════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | …experimental/archon-fix-github-issue-experimental.yaml | 419 | # ═══════════════════════════════════════════════════════════════ | 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 |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 83 | # ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | .archon/workflows/experimental/archon-release.yaml | 85 | # ─────────────────────────────────────────────────────────────────── | COMMENT |
| 541 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 60 | ### Step 2: Explore the Codebase | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 69 | ### Step 3: Present Your Understanding | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 101 | ### Step 1: Process Their Response | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 108 | ### Step 2: Do Targeted Research | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 116 | ### Step 3: Present Updated Understanding | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 121 | ### Step 4: Converge or Continue | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 192 | ## Step 1: Read the Codebase (Again) | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 201 | ## Step 2: Plan File Location | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 206 | ## Step 3: Write the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 269 | ## Step 4: Verify the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 276 | ## Step 5: Report | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 309 | ## Step 1: Read the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 313 | ## Step 2: Process Feedback | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 556 | ## Step 1: Read the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 560 | ## Step 2: Review All Changes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 568 | ## Step 3: Check Against Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 573 | ## Step 4: Run Validation | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 579 | ## Step 5: Fix Obvious Issues | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 631 | ## Step 1: Read Context | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 635 | ## Step 2: Process Feedback | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 654 | ## Step 3: Full Validation | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 660 | ## Step 4: Commit Fixes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 714 | ## Step 1: Push Changes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 720 | ## Step 2: Generate Summary | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 729 | ## Step 3: Create PR (if not already created) | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 44 | ### Step 1: Parse the Input | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 90 | ### Step 4: Ask Targeted Questions | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 338 | ## Step 3: Show Changes | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 590 | ## Step 6: Present Review | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 679 | ## Step 5: Report | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 746 | ## Step 4: Output Summary | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-ralph-dag.yaml | 32 | ## Step 1: Detect worktree | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-ralph-dag.yaml | 37 | ## Step 2: Classify the input | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-ralph-dag.yaml | 54 | ## Step 3: Auto-discover existing ralph PRDs | COMMENT |
| LOW⚡ | .archon/workflows/defaults/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 |
| 241 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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/config-loader.ts | 70 | function getRegisteredProviderNames(): string[] { | CODE |
| LOW | packages/core/src/config/config-loader.ts | 294 | function sanitizeRecommendedWorkflows(raw: unknown, configPath: string): string[] | undefined { | CODE |
| LOW | packages/core/src/workflows/store-adapter.ts | 96 | 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/state/session-transitions.ts | 54 | export function detectPlanToExecuteTransition( | CODE |
| LOW | packages/core/src/operations/workflow-operations.ts | 319 | export async function resetWorkflowNodeSessions(filter: { | CODE |
| LOW | packages/core/src/operations/isolation-operations.ts | 168 | export async function cleanupMergedEnvironments( | CODE |
| LOW | packages/core/src/db/conversations.ts | 32 | export async function findConversationByPlatformId( | CODE |
| LOW | packages/core/src/db/conversations.ts | 46 | export async function getConversationByPlatformId( | CODE |
| LOW | packages/core/src/db/conversations.ts | 57 | export async function getOrCreateConversation( | CODE |
| LOW | packages/core/src/db/conversations.ts | 169 | export async function getConversationByIsolationEnvId(envId: string): Promise<Conversation | null> { | CODE |
| LOW | packages/core/src/db/conversations.ts | 180 | export async function getConversationsByIsolationEnvId( | CODE |
| LOW | packages/core/src/db/workflow-events.ts | 192 | export async function getCompletedDagNodeOutputs( | 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 | 187 | export async function findWorkflowRunsByIdPrefix( | CODE |
| LOW | packages/core/src/db/workflows.ts | 277 | export async function getActiveWorkflowRunByPath( | CODE |
| LOW | packages/core/src/db/workflows.ts | 338 | export async function findLatestRunByWorkingPath(workingPath: string): Promise<WorkflowRun | null> { | CODE |
| LOW | packages/core/src/db/workflows.ts | 410 | export async function findResumableRunByParentConversation( | CODE |
| LOW | packages/core/src/db/workflows.ts | 531 | export async function getWorkflowRunByWorkerPlatformId( | CODE |
| LOW | packages/core/src/db/workflows.ts | 737 | function buildDashboardWhereClauses( | CODE |
| LOW | packages/core/src/db/messages.ts | 72 | export async function getRecentWorkflowResultMessages( | CODE |
| LOW | packages/core/src/db/connection.ts | 98 | 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 | 280 | export async function listDecryptedUserProviderCredentials( | CODE |
| LOW | packages/core/src/db/isolation-environments.ts | 241 | export async function listAllActiveWithCodebase(): 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 | 462 | export async function getWorktreeStatusBreakdown( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 72 | function ensureIsolationConfigured(): void { | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 110 | export async function validateAndResolveIsolation( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 110 | export async function validateAndResolveIsolation( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator.ts | 289 | export async function dispatchBackgroundWorkflow( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 95 | function applyPresetToRequestOptions( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 324 | async function resolveUserProviderEnvForChat(userId: string): Promise<Record<string, string>> { | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 362 | async function resolveUserAiPrefsForChat(userId: string): Promise<UserAiPrefs> { | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 433 | export function parseOrchestratorCommands( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 547 | function formatPriorRunPromptPreview(message: string | null): string { | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 558 | function buildFailedRunResumePrompt( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 612 | async function dispatchOrchestratorWorkflow( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2207 | async function handleWorkflowInvocationResult( | CODE |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 2274 | async function handleProjectRegistrationResult( | CODE |
| LOW | packages/core/src/orchestrator/post-message-reminder.ts | 23 | export async function reportUnpushedWorkInSource( | CODE |
| LOW | packages/core/src/orchestrator/prompt-builder.ts | 52 | export function formatWorkflowContextSection(results: readonly WorkflowResultContext[]): string { | CODE |
| LOW | packages/core/src/orchestrator/prompt-builder.ts | 79 | export function buildRoutingRulesWithProject(projectName?: string): string { | CODE |
| LOW | packages/core/src/orchestrator/prompt-builder.ts | 228 | export function buildRunManagementSection(): string { | CODE |
| LOW | packages/core/src/orchestrator/prompt-builder.ts | 253 | export function buildOrchestratorSystemAppend( | CODE |
| LOW | packages/core/src/credentials/openai-oauth.ts | 75 | export function createOpenAiAuthorizeFlow(): OpenAiAuthorizeFlow { | CODE |
| LOW | packages/core/src/credentials/openai-oauth.ts | 101 | export function parseOpenAiAuthorizationInput(input: string): { code?: string; state?: string } { | CODE |
| LOW | packages/core/src/credentials/openai-oauth.ts | 224 | function credentialsFromTokenResponse( | CODE |
| LOW | packages/core/src/credentials/openai-oauth.ts | 269 | export async function exchangeOpenAiAuthorizationCode( | CODE |
| LOW | packages/core/src/credentials/openai-oauth.ts | 294 | export async function refreshOpenAiOAuthCredentials( | CODE |
| LOW | packages/core/src/credentials/oauth-bridge.ts | 450 | export function resetOAuthSessionsForTest(): void { | CODE |
| LOW | packages/core/src/credentials/config.ts | 21 | export function isPerUserProviderKeysEnabled(_env: NodeJS.ProcessEnv = process.env): boolean { | CODE |
| LOW | packages/core/src/credentials/config.ts | 31 | export function assertProviderKeysKeyAtBoot(env: NodeJS.ProcessEnv = process.env): void { | CODE |
| LOW | packages/core/src/credentials/delivery.ts | 38 | export function normalizeCredentialVendor(id: string): string { | CODE |
| LOW | packages/core/src/credentials/catalog.ts | 180 | export function buildAgentCredentialMatrix( | CODE |
| 93 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/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 | 146 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 170 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 261 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 857 | { kind: 'pat', token: 'fake-token-for-testing' }, | CODE |
| LOW | packages/adapters/src/forge/github/adapter.test.ts | 962 | { kind: 'pat', token: 'fake-token' }, | CODE |
| LOW | packages/adapters/src/forge/github/context.test.ts | 194 | 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 |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 275 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 288 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| LOW | …es/adapters/src/community/chat/discord/adapter.test.ts | 301 | const adapter = new DiscordAdapter('fake-token-for-testing'); | CODE |
| 20 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-entrypoint.sh | 41 | # Git 2.35.2+ (CVE-2022-24765) rejects repos owned by a different UID. | 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/workflows/experimental/archon-release.yaml | 641 | # rewriting dev's history shifts every PR's merge-base to a much older | 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 | …kflows/test-workflows/e2e-copilot-all-nodes-smoke.yaml | 1 | # E2E smoke test — Copilot provider, every CI-compatible node type | 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/archon/examples/dag-workflow.yaml | 1 | # Example: Workflow demonstrating multiple node types | COMMENT |
| LOW | scripts/install.sh | 1 | #!/usr/bin/env bash | 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 | # claude: | 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/db/workflows.ts | 301 | // | COMMENT |
| LOW | packages/core/src/db/workflows.ts | 441 | // Split into UPDATE + SELECT to support both PostgreSQL and SQLite | COMMENT |
| LOW | packages/core/src/db/adapters/sqlite.test.ts | 141 | describe('datetime() chronological vs lexical comparison', () => { | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 221 | const INVOKE_WORKFLOW_PREFIX_RE = /^\/invoke-workflow\s/m; | COMMENT |
| LOW | packages/core/src/orchestrator/orchestrator-agent.ts | 261 | }; | COMMENT |
| LOW | packages/core/src/credentials/oauth-bridge.ts | 241 | const provider = normalizeCredentialVendor(providerId); | COMMENT |
| LOW | …periments/console/builder/components/BuilderCanvas.tsx | 241 | COMMENT | |
| LOW | packages/web/src/components/workflows/WorkflowLogs.tsx | 61 | error: meta.error, | COMMENT |
| LOW | packages/providers/src/claude/provider.ts | 981 | // ANTHROPIC_API_KEY, so mirror it or solo .env installs never authenticate | COMMENT |
| LOW | packages/providers/src/codex/provider.ts | 301 | // on every object schema (HTTP 400 invalid_json_schema otherwise). Workflow | COMMENT |
| LOW | packages/providers/src/shared/structured-output.ts | 81 | COMMENT | |
| LOW | packages/providers/src/community/pi/provider.test.ts | 261 | COMMENT | |
| LOW | packages/providers/src/community/pi/event-bridge.ts | 441 | } catch (err: unknown) { | COMMENT |
| LOW | packages/providers/src/community/pi/provider.ts | 21 | import { withResumedOutcome, resumedOutcome } from '../../shared/resumed'; | COMMENT |
| LOW | packages/providers/src/community/pi/provider.ts | 121 | // from the installed pi-ai SDK (full backend coverage) — see | COMMENT |
| LOW | packages/providers/src/community/pi/provider.ts | 161 | requestOptions?: SendQueryOptions | COMMENT |
| LOW | packages/providers/src/community/pi/provider.ts | 401 | }; | COMMENT |
| LOW | packages/providers/src/community/pi/provider.ts | 421 | for (const { scope, error: err } of settingsErrors) { | COMMENT |
| LOW | packages/providers/src/community/pi/provider.ts | 521 | ...(thinkingLevel ? { thinkingLevel } : {}), | COMMENT |
| LOW | packages/docs-web/public/brand/logo.jsx | 1 | /* eslint-disable react/prop-types */ | COMMENT |
| LOW | packages/docs-web/public/brand/tweaks-panel.jsx | 1 | COMMENT | |
| LOW | packages/docs-web/public/brand/tweaks-panel.jsx | 21 | // const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); | COMMENT |
| LOW | packages/docs-web/public/brand/tweaks-panel.jsx | 181 | // availability — if the announce ran first, the host's activate could land | COMMENT |
| LOW | …ocs-web/src/content/docs/guides/authoring-workflows.md | 121 | webSearchMode: live # Codex only | COMMENT |
| LOW | packages/docs-web/src/content/docs/deployment/docker.md | 181 | # Domain — your domain or subdomain pointing to this server | COMMENT |
| LOW | …s/docs-web/src/content/docs/reference/configuration.md | 161 | # Recommended workflows for this project (declared order = pin order in the UI) | COMMENT |
| LOW | packages/workflows/src/executor.ts | 421 | userId, | COMMENT |
| LOW | packages/workflows/src/executor.ts | 621 | // Skipped when `workflow.mutates_checkout` is false — the author asserts | COMMENT |
| LOW | packages/workflows/src/executor.ts | 761 | getLog().debug({ artifactsDir, logDir }, 'workflow_paths_resolved'); | COMMENT |
| LOW | packages/workflows/src/dag-executor.ts | 2501 | // Determine this iteration's terminal output (first completed terminal node in | COMMENT |
| LOW | packages/workflows/src/dag-executor.ts | 4341 | // result; we keep it and persist its fresh session id below. Surface the | COMMENT |
| LOW | packages/workflows/src/validator.ts | 601 | }); | COMMENT |
| LOW | packages/workflows/src/schemas/dag-node.ts | 181 | // YAML workflows: string-only. The wider SystemPromptInput (preset object) is used | COMMENT |
| LOW | packages/server/src/index.ts | 241 | adapterGitlab: Boolean(process.env.GITLAB_TOKEN && process.env.GITLAB_WEBHOOK_SECRET), | COMMENT |
| LOW | packages/server/src/index.ts | 321 | // Note: orphaned-run cleanup intentionally NOT called at server startup. | COMMENT |
| LOW | packages/server/src/index.ts | 681 | return c.json({ error: 'Internal server error' }, 500); | COMMENT |
| LOW | packages/server/src/index.ts | 881 | } | COMMENT |
| LOW | packages/server/src/routes/api.ts | 1341 | return normalizedCwd === base || normalizedCwd.startsWith(base + sep); | COMMENT |
| LOW | packages/cli/src/cli.ts | 401 | const repoRoot = await git.findRepoRoot(cwd); | COMMENT |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 60 | ### Step 2: Explore the Codebase | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 69 | ### Step 3: Present Your Understanding | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 101 | ### Step 1: Process Their Response | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 108 | ### Step 2: Do Targeted Research | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 116 | ### Step 3: Present Updated Understanding | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 121 | ### Step 4: Converge or Continue | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 192 | ## Step 1: Read the Codebase (Again) | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 201 | ## Step 2: Plan File Location | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 206 | ## Step 3: Write the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 269 | ## Step 4: Verify the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 276 | ## Step 5: Report | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 309 | ## Step 1: Read the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 313 | ## Step 2: Process Feedback | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 556 | ## Step 1: Read the Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 560 | ## Step 2: Review All Changes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 568 | ## Step 3: Check Against Plan | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 573 | ## Step 4: Run Validation | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 579 | ## Step 5: Fix Obvious Issues | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 631 | ## Step 1: Read Context | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 635 | ## Step 2: Process Feedback | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 654 | ## Step 3: Full Validation | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 660 | ## Step 4: Commit Fixes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 714 | ## Step 1: Push Changes | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 720 | ## Step 2: Generate Summary | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-piv-loop.yaml | 729 | ## Step 3: Create PR (if not already created) | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 44 | ### Step 1: Parse the Input | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 90 | ### Step 4: Ask Targeted Questions | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 338 | ## Step 3: Show Changes | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 590 | ## Step 6: Present Review | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 679 | ## Step 5: Report | COMMENT |
| LOW | .archon/workflows/defaults/archon-piv-loop.yaml | 746 | ## Step 4: Output Summary | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-ralph-dag.yaml | 32 | ## Step 1: Detect worktree | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-ralph-dag.yaml | 37 | ## Step 2: Classify the input | COMMENT |
| LOW⚡ | .archon/workflows/defaults/archon-ralph-dag.yaml | 54 | ## Step 3: Auto-discover existing ralph PRDs | COMMENT |
| LOW⚡ | .archon/workflows/defaults/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 | 33 | "archon-investigate-issue": "---\ndescription: Investigate a GitHub issue or problem - analyze codebase, create plan, | CODE |
| LOW⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 68 | "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 | 70 | "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 | 132 | // Step 1: Check if directory exists | COMMENT |
| LOW | packages/git/src/worktree.ts | 144 | // Step 2: Check if .git entry exists (directory exists at this point) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …workflows/defaults/archon-comprehensive-pr-review.yaml | 4 | Triggers: "review this PR", "review PR #123", "comprehensive review", "full PR review", | CODE |
| MEDIUM | .archon/workflows/defaults/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 | 23 | "archon-create-plan": "---\ndescription: Create comprehensive feature implementation plan with codebase analysis and r | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 25 | "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 | 27 | "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 | 29 | "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 | 30 | "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 | 33 | "archon-investigate-issue": "---\ndescription: Investigate a GitHub issue or problem - analyze codebase, create plan, | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 35 | "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 | 44 | "archon-synthesize-review": "---\ndescription: Synthesize all review agent findings into consolidated report and post | CODE |
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 50 | "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 | 52 | "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 | 58 | "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 | 58 | "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 | 61 | "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 | 68 | "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 | 74 | "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 | 2387 | // 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 | .claude/skills/archon/examples/dag-workflow.yaml | 52 | # output contains backticks (e.g. markdown code spans in AI-generated content). | COMMENT |
| HIGH | packages/providers/src/claude/provider.ts | 448 | // Phase 4 of #975 — enable AI-generated progress summaries for subagents | COMMENT |
| HIGH | packages/providers/src/claude/provider.ts | 448 | // Phase 4 of #975 — enable AI-generated progress summaries for subagents | COMMENT |
| HIGH⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 68 | "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⚡ | .archon/workflows/defaults/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 | 64 | "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 | 71 | "archon-refactor-safely": "name: archon-refactor-safely\ndescription: |\n Use when: User wants to refactor code safel | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 68 | "archon-piv-loop": "name: archon-piv-loop\ndescription: |\n Use when: User wants guided Plan-Implement-Validate devel | 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 |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 49 | "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 | 50 | "archon-validate-pr-report": "---\ndescription: Synthesize all validation findings into a final PR verdict report\narg | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/install.sh | 237 | # Check if in PATH | COMMENT |
| LOW⚡ | …s/workflows/src/defaults/bundled-defaults.generated.ts | 35 | "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 | 48 | "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 | 49 | "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 | 443 | 'Here is the JSON you requested:\n{"ok":true}\nLet me know if you need anything else.'; | CODE |