The free coding agent
This report summarizes scanner evidence for CodebuffAI/freebuff, a TypeScript project with 13,902 GitHub stars. SynthScan examined 466,894 lines of code across 2246 source files, recording 1181 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 2.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1158 finding(s).
Are imports declared and package/API names verified? 17 finding(s).
Are wrappers, guards, and repeated structures necessary? 909 finding(s).
Which changes need focused human review? 1181 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1181 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | evals/buffbench/eval-plane.json | 380 | "diff": "Index: apps/api/plane/app/serializers/page.py\n====================================================== | CODE |
| LOW | evals/buffbench/eval-plane.json | 405 | "diff": "Index: apps/api/plane/utils/content_validator.py\n=================================================== | CODE |
| LOW | evals/buffbench/eval-plane.json | 656 | "diff": "Index: apps/api/plane/app/views/page/base.py\n======================================================= | CODE |
| LOW | evals/buffbench/eval-plane.json | 666 | "diff": "Index: apps/api/plane/tests/unit/bg_tasks/test_copy_s3_objects.py\n================================== | CODE |
| LOW | evals/buffbench/eval-plane.json | 701 | "diff": "Index: packages/editor/src/core/helpers/find-suggestion-match.ts\n=================================== | CODE |
| LOW | evals/buffbench/eval-plane.json | 778 | "diff": "Index: packages/editor/src/core/extensions/table/table/table-view.tsx\n============================== | CODE |
| LOW | evals/buffbench/eval-plane.json | 1359 | "diff": "Index: apps/api/plane/tests/unit/utils/test_url.py\n================================================= | CODE |
| LOW⚡ | evals/buffbench/eval-plane.json | 1675 | "diff": "Index: apiserver/plane/tests/contract/app/test_project_app.py\n====================================== | CODE |
| LOW | evals/buffbench/eval-manifold.json | 214 | "diff": "Index: common/src/api/market-types.ts\n============================================================== | CODE |
| LOW | evals/buffbench/eval-manifold.json | 224 | "diff": "Index: common/src/tier.ts\n===================================================================\n--- c | CODE |
| LOW | evals/buffbench/eval-manifold.json | 384 | "spec": "Implement probability-based user metric updates for contracts without recent betting activity and optimiz | CODE |
| LOW | evals/buffbench/eval-manifold.json | 431 | "diff": "Index: backend/shared/src/update-contract-metrics-core.ts\n========================================== | CODE |
| LOW | evals/buffbench/eval-manifold.json | 748 | "diff": "Index: .cursor/rules/general-knowledge.mdc\n========================================================= | CODE |
| LOW | evals/buffbench/eval-manifold.json | 1027 | "diff": "Index: backend/shared/src/update-user-metrics-with-bets.ts\n========================================= | CODE |
| LOW | evals/buffbench/eval-manifold.json | 1425 | "spec": "Implement profit restoration on unresolve by reverting each user's contract metric profit to the previous | CODE |
| LOW | evals/buffbench/setup-test-repo.ts | 41 | async function executeGitCommandWithRetry( | CODE |
| LOW | evals/buffbench/gen-evals.ts | 33 | async function extractFileDiffsFromCommit( | CODE |
| LOW | …ts/reviewer/multi-prompt/code-reviewer-multi-prompt.ts | 11 | export function createCodeReviewerMultiPrompt(): Omit< | CODE |
| LOW | agents/e2e/context-pruning-threshold.e2e.test.ts | 279 | function verifyToolCallPairIntegrity(messages: Message[]) { | CODE |
| LOW | agents/e2e/base2-free-summary-format.e2e.test.ts | 115 | function createSummarizedConversation(): Message { | CODE |
| LOW | agents/e2e/base2-free-summary-format.e2e.test.ts | 177 | function createComplexMidTurnPrunedConversation(): Message[] { | CODE |
| LOW | agents/base2/base-deep.ts | 104 | function buildDeepInstructionsPrompt(noAskUser: boolean, noLearning: boolean): string { | CODE |
| LOW | agents/base2/base2.ts | 471 | function buildImplementationInstructionsPrompt({ | CODE |
| LOW | agents/base2/base2.ts | 524 | function buildPlanOnlyInstructionsPrompt({}: {}) { | CODE |
| LOW | cli/release-core/launcher.js | 269 | function shouldExitAlternateScreen(code, signal) { | CODE |
| LOW | cli/release-core/launcher.js | 347 | function stderrReportsMissingCpuFeature(code, signal, stderrTail) { | CODE |
| LOW | cli/release-core/launcher.js | 732 | function getBaselineFallbackTargetKey() { | CODE |
| LOW | cli/release-core/launcher.js | 738 | function isTargetAllowedForThisMachine(target) { | CODE |
| LOW | cli/release-core/launcher.js | 1408 | function getRequiredWrapperVersion(currentVersion) { | CODE |
| LOW | cli/release-core/launcher.js | 1758 | async function adoptOrphanedStagedUpdates() { | CODE |
| LOW | cli/release-core/launcher.js | 1943 | function printBaselineOverrideHint() { | CODE |
| LOW | cli/scripts/build-binary.ts | 296 | function openTuiNativePackageFolder(target: OpenTuiNativeTarget): string { | CODE |
| LOW | cli/scripts/build-binary.ts | 301 | function prepareOpenTuiNativeBundle(targetInfo: TargetInfo) { | CODE |
| LOW | cli/scripts/build-binary.ts | 369 | function getInstalledOpenTuiPackage( | CODE |
| LOW | cli/scripts/prebuild-agents.ts | 92 | function generateBundledAgentsFile(agents: Record<string, AgentDefinition>): string { | CODE |
| LOW | cli/scripts/prebuild-agents.ts | 116 | export function getBundledAgentsAsLocalInfo(): LocalAgentInfo[] { | CODE |
| LOW | cli/scripts/open-tui-native-bundle.ts | 42 | export function ensureOpenTuiNativeBundle({ | CODE |
| LOW | cli/scripts/open-tui-native-bundle.ts | 97 | function recoverInterruptedReplacement( | CODE |
| LOW | cli/scripts/open-tui-native-bundle.ts | 293 | function getOpenTuiNativePackageName(targetInfo: OpenTuiNativeTarget): string { | CODE |
| LOW | cli/src/smoke/terminal-command-broker.ts | 134 | function createConsoleReaderScript( | CODE |
| LOW | cli/src/smoke/terminal-command-broker.ts | 160 | export async function runPackagedTerminalBrokerSmoke({ | CODE |
| LOW | cli/src/ads/served-display-ads.ts | 119 | export async function announcedDisplayPlacements(): Promise<readonly string[]> { | CODE |
| LOW | cli/src/ads/served-display-ads.ts | 240 | export function setServedDisplayAdBillingForTests( | CODE |
| LOW | cli/src/ads/served-display-ads.ts | 247 | export function recordServedDisplayImpression(sponsor: CliServedSponsor): void { | CODE |
| LOW | cli/src/ads/served-display-ads.ts | 285 | export function useServedDisplayImpression( | CODE |
| LOW | cli/src/ads/partner-ads.ts | 164 | async function announcedPartnerPlacements(): Promise<readonly string[]> { | CODE |
| LOW | cli/src/ads/display-ads-telemetry.ts | 37 | export function setCliDisplayAdTrackerForTests(next?: Track): void { | CODE |
| LOW | cli/src/ads/display-ads-telemetry.ts | 67 | export function useCliDisplayAdImpression( | CODE |
| LOW | cli/src/ads/ad-client-context.ts | 1176 | export function collectCliAdClientContext(): AdClientContext | undefined { | CODE |
| LOW | cli/src/ads/click-return.ts | 108 | export function noteUserTurnForAdClickReturn(): void { | CODE |
| LOW⚡ | cli/src/ads/ad-signals.ts | 114 | export function setAdTranscriptScrolledUp(scrolledUp: boolean): void { | CODE |
| LOW⚡ | cli/src/ads/ad-signals.ts | 118 | export function getAdTranscriptScrolledUp(): boolean | null { | CODE |
| LOW⚡ | cli/src/ads/ad-signals.ts | 126 | export function registerAdTranscriptViewport( | CODE |
| LOW | cli/src/ads/ad-signals.ts | 201 | export function ensureAdTerminalFocusWatch(): void { | CODE |
| LOW | cli/src/ads/use-ad-engagement.ts | 158 | export function setAdEngagementRegistryForTests( | CODE |
| LOW | cli/src/agents/bundled-agents.generated.d.ts | 12 | export declare function getBundledAgentsAsLocalInfo(): LocalAgentInfo[] | CODE |
| LOW | cli/src/utils/sponsored-brief.ts | 19 | export function takePendingSponsoredBrief(): string | null { | CODE |
| LOW | cli/src/utils/survey-events.ts | 37 | export function createCliSurveyEventSender( | CODE |
| LOW | cli/src/utils/survey-events.ts | 82 | export function setCliSurveyEventSinkForTests(next: SurveyEventSink | null) { | CODE |
| LOW | cli/src/utils/active-run.ts | 38 | export function applyActiveRunQueuePolicy( | CODE |
| 843 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | agents/__tests__/base3-fast.test.ts | 121 | expect(guidance).toContain('really, really helpful') | COMMENT |
| LOW | agents/e2e/context-pruning-threshold.e2e.test.ts | 461 | // TOKEN_COUNT_FUDGE_FACTOR > maxContextLength`, so both could hold only if | COMMENT |
| LOW | agents/e2e/context-pruning-threshold.e2e.test.ts | 501 | // | COMMENT |
| LOW | agents/researcher/researcher-web.ts | 41 | // the model is never asked for anything, so it ends the step after thinking | COMMENT |
| LOW | cli/bunfig.toml | 1 | [test] | COMMENT |
| LOW | cli/release-core/launcher.js | 621 | // Everything else assumes AVX2 — true of every x64 CPU since ~2013. | COMMENT |
| LOW | cli/release-core/launcher.js | 2161 | // otherwise sticks for good. | COMMENT |
| LOW | cli/scripts/smoke-binary.ts | 41 | COMMENT | |
| LOW | cli/scripts/smoke-binary.ts | 101 | // Windows GitHub Actions runners intermittently hang the binary's startup | COMMENT |
| LOW | cli/src/index.tsx | 501 | process.on('uncaughtException', earlyFatalHandler) | COMMENT |
| LOW | cli/src/chat.tsx | 461 | }, | COMMENT |
| LOW | cli/src/pre-init/tree-sitter-wasm.ts | 1 | // Find tree-sitter.wasm so the SDK's tree-sitter parser singleton can load | COMMENT |
| LOW | cli/src/pre-init/tree-sitter-wasm.ts | 21 | COMMENT | |
| LOW | cli/src/utils/run-state-storage.ts | 401 | COMMENT | |
| LOW | cli/src/utils/exit-cleanly.ts | 61 | if (exitPromise) return exitPromise | COMMENT |
| LOW | cli/src/utils/theme-system.ts | 681 | // index.tsx skips detectTerminalTheme() when platform === 'win32' — so | COMMENT |
| LOW | cli/src/utils/keyboard-actions.ts | 221 | // Escape is claimed here and NOWHERE ELSE, and only while the panel is | COMMENT |
| LOW | cli/src/utils/sdk-event-handlers.ts | 521 | // These handlers only project SDK events onto the chat UI, but they run INSIDE | COMMENT |
| LOW | cli/src/utils/renderer-cleanup.ts | 221 | const handleExitRequest = () => { | COMMENT |
| LOW | cli/src/utils/freebuff-session-relaunch.ts | 61 | } catch { | COMMENT |
| LOW | cli/src/utils/__tests__/settings.test.ts | 121 | // preference is the longest-lived way to hold a dead id: it survives every | COMMENT |
| LOW | cli/src/components/freebuff-referral-banner.tsx | 481 | // and that is the visible shape of the reward moving. The reward there is no | COMMENT |
| LOW | cli/src/components/freebuff-model-selector.tsx | 281 | * answered by an Enter meant for something else. */ | COMMENT |
| LOW | cli/src/components/freebuff-model-selector.tsx | 301 | // drift from what is actually charged. | COMMENT |
| LOW | cli/src/components/freebuff-model-selector.tsx | 501 | // price findable instead — it is the first thing on the row's second | COMMENT |
| LOW | cli/src/components/freebuff-model-selector.tsx | 821 | // selection IS the recommended model — a returning user whose preference is a | COMMENT |
| LOW | cli/src/components/freebuff-model-selector.tsx | 921 | }), | COMMENT |
| LOW | cli/src/components/freebuff-model-selector.tsx | 1041 | ) | COMMENT |
| LOW | cli/src/components/freebuff-model-selector.tsx | 1061 | // while collapsed, so leaving them out would let the card jump width the | COMMENT |
| LOW | cli/src/components/freebuff-model-selector.tsx | 1081 | // whichever is actually drawn, silently, because wrapMode is 'none'. | COMMENT |
| LOW | …/components/__tests__/freebuff-model-selector.test.tsx | 321 | // 48 rows since 2026-09-23: Solar Mini 4 and Space Bunny Alpha made the | COMMENT |
| LOW | …/components/__tests__/freebuff-model-selector.test.tsx | 461 | // | COMMENT |
| LOW | …/components/__tests__/freebuff-model-selector.test.tsx | 781 | // is ordinary slack from the widest row in the set. | COMMENT |
| LOW | cli/src/__tests__/terminal-watchdog.test.ts | 21 | afterAll(() => { | COMMENT |
| LOW | cli/src/hooks/use-freebuff-session.ts | 561 | afterCatalog(() => { | COMMENT |
| LOW | cli/src/hooks/use-freebuff-session.ts | 781 | // response after a user pick, whatever that response turns out to be. | COMMENT |
| LOW | cli/src/hooks/use-freebuff-session.ts | 881 | // Server says the requested model isn't available right now. Flip | COMMENT |
| LOW | cli/src/hooks/helpers/send-message.ts | 601 | case 'session_model_mismatch': | COMMENT |
| LOW | cli/src/commands/command-registry.ts | 261 | // The sponsored-proposal channel's controls (COD-376). Separate from | COMMENT |
| LOW | common/src/ads/sponsored-capabilities.ts | 321 | code: 'traversal', | COMMENT |
| LOW | common/src/ads/sponsored-local-execution.ts | 521 | env.USERPROFILE = paths.home | COMMENT |
| LOW | common/src/ads/sponsored-proposal-target.ts | 61 | // Strip the scheme and credentials, then the host, leaving the path. The | COMMENT |
| LOW | common/src/tools/params/tool/set-output.ts | 1 | import z from 'zod/v4' | COMMENT |
| LOW | common/src/types/ad-client-context.ts | 1 | import { z } from 'zod/v4' | COMMENT |
| LOW | common/src/types/dynamic-agent-template.ts | 261 | "outputSchema requires outputMode to be explicitly set to 'structured_output'.", | COMMENT |
| LOW | common/src/types/dynamic-agent-template.ts | 281 | // }, | COMMENT |
| LOW | common/src/util/freebuff-picker-sections.ts | 81 | // Unlimited | COMMENT |
| LOW | common/src/util/model-utils.ts | 1 | // Compatibility export for callers that imported the old utility path. The | COMMENT |
| LOW | common/src/util/error.ts | 441 | 'ConnectionClosed', | COMMENT |
| LOW | common/src/constants/free-agents.ts | 541 | 'base2-free-muse-spark', | COMMENT |
| LOW | common/src/constants/free-agents.ts | 841 | 'base2-free': new Set([ | COMMENT |
| LOW | common/src/constants/free-agents.ts | 861 | // routing are untouched. | COMMENT |
| LOW | common/src/constants/free-agents.ts | 881 | // root's prompt and history, so its allowlist entry is what lets the fan-out | COMMENT |
| LOW | common/src/constants/free-agents.ts | 981 | 'base2-free-llama-4-maverick': new Set([FREEBUFF_LLAMA_4_MAVERICK_MODEL_ID]), | COMMENT |
| LOW | common/src/constants/free-agents.ts | 1001 | // allowed both `google/` models would be a door onto Pro from an ordinary | COMMENT |
| LOW | common/src/constants/free-agents.ts | 1121 | FREEBUFF_GEMINI_38_FLASH_MODEL_ID, | COMMENT |
| LOW | common/src/constants/freebuff-models.ts | 1501 | */ | COMMENT |
| LOW | common/src/constants/freebuff-models.ts | 1521 | // | COMMENT |
| LOW | common/src/constants/freebuff-models.ts | 1541 | // an observed rejection, and the asymmetry here punishes guessing high. | COMMENT |
| LOW | common/src/constants/freebuff-models.ts | 1621 | // a build we may not hand over. | COMMENT |
| 105 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | agents/__tests__/base-chat.test.ts | 113 | // Step 1: prune, then STEP. | COMMENT |
| LOW⚡ | agents/__tests__/base-chat.test.ts | 116 | // Step 2: prunes again — a multi-step turn (subagent spawns) must not skip | COMMENT |
| LOW | agents/e2e/context-pruning-threshold.e2e.test.ts | 533 | // Step 1: CALIBRATION RUN — measure true token count with 200k limit (no pruning) | COMMENT |
| LOW | agents/e2e/context-pruning-threshold.e2e.test.ts | 585 | // Step 2: TEST RUN — continue the calibration run with a 100k limit | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 317 | // Step 1: Set "fresh" data | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 321 | // Step 2: Invalidate to simulate staleness (sets dataUpdatedAt to 0) | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 921 | // Step 1: Simulate first fetch failure setting retry count to 1 | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 925 | // Step 2: OLD CODE would call clearRetryState here, which resets count to 0: | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 931 | // Step 3: When the retry fires after 1s, it reads count as 0 | COMMENT |
| LOW⚡ | sdk/scripts/verify.ts | 183 | // Step 1: Clean and Build | COMMENT |
| LOW⚡ | sdk/scripts/verify.ts | 188 | // Step 2: TypeScript Check | COMMENT |
| LOW⚡ | sdk/scripts/verify.ts | 191 | // Step 3: Smoke Test | COMMENT |
| LOW⚡ | sdk/scripts/verify.ts | 194 | // Step 4: Compatibility Tests | COMMENT |
| LOW⚡ | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 452 | // Step 1: Read files and capture initial state | COMMENT |
| LOW⚡ | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 460 | // Step 2: Search for patterns based on file content | COMMENT |
| LOW⚡ | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 468 | // Step 3: Create a plan based on findings | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 479 | // Step 4: Add subgoal for tracking | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 492 | // Step 5: Write analysis file | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 504 | // Step 6: Update subgoal status | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 516 | // Step 7: Set final output with comprehensive data | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 530 | // Step 8: Transition to STEP_ALL to continue processing | COMMENT |
| LOW⚡ | …ckages/agent-runtime/src/__tests__/n-parameter.test.ts | 310 | // Step 1: Request multiple generations | COMMENT |
| LOW⚡ | …ckages/agent-runtime/src/__tests__/n-parameter.test.ts | 314 | // Step 2: Use the responses | COMMENT |
| LOW | …ages/agent-runtime/src/__tests__/propose-tools.test.ts | 650 | // Step 1: Should have received tool result with unified diff | COMMENT |
| LOW | …ages/agent-runtime/src/__tests__/propose-tools.test.ts | 661 | // Step 2: Should have received tool result with unified diff | COMMENT |
| LOW | …ages/agent-runtime/src/__tests__/propose-tools.test.ts | 672 | // Step 3: Should have received tool result with unified diff for new file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | agents/__tests__/base-chat.test.ts | 113 | // Step 1: prune, then STEP. | COMMENT |
| LOW⚡ | agents/__tests__/base-chat.test.ts | 116 | // Step 2: prunes again — a multi-step turn (subagent spawns) must not skip | COMMENT |
| LOW | agents/e2e/context-pruning-threshold.e2e.test.ts | 533 | // Step 1: CALIBRATION RUN — measure true token count with 200k limit (no pruning) | COMMENT |
| LOW | agents/e2e/context-pruning-threshold.e2e.test.ts | 585 | // Step 2: TEST RUN — continue the calibration run with a 100k limit | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 317 | // Step 1: Set "fresh" data | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 321 | // Step 2: Invalidate to simulate staleness (sets dataUpdatedAt to 0) | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 921 | // Step 1: Simulate first fetch failure setting retry count to 1 | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 925 | // Step 2: OLD CODE would call clearRetryState here, which resets count to 0: | COMMENT |
| LOW⚡ | cli/src/hooks/__tests__/use-activity-query.test.ts | 931 | // Step 3: When the retry fires after 1s, it reads count as 0 | COMMENT |
| LOW⚡ | sdk/scripts/verify.ts | 183 | // Step 1: Clean and Build | COMMENT |
| LOW⚡ | sdk/scripts/verify.ts | 188 | // Step 2: TypeScript Check | COMMENT |
| LOW⚡ | sdk/scripts/verify.ts | 191 | // Step 3: Smoke Test | COMMENT |
| LOW⚡ | sdk/scripts/verify.ts | 194 | // Step 4: Compatibility Tests | COMMENT |
| LOW⚡ | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 452 | // Step 1: Read files and capture initial state | COMMENT |
| LOW⚡ | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 460 | // Step 2: Search for patterns based on file content | COMMENT |
| LOW⚡ | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 468 | // Step 3: Create a plan based on findings | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 479 | // Step 4: Add subgoal for tracking | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 492 | // Step 5: Write analysis file | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 504 | // Step 6: Update subgoal status | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 516 | // Step 7: Set final output with comprehensive data | COMMENT |
| LOW | …nt-runtime/src/__tests__/run-programmatic-step.test.ts | 530 | // Step 8: Transition to STEP_ALL to continue processing | COMMENT |
| LOW⚡ | …ckages/agent-runtime/src/__tests__/n-parameter.test.ts | 310 | // Step 1: Request multiple generations | COMMENT |
| LOW⚡ | …ckages/agent-runtime/src/__tests__/n-parameter.test.ts | 314 | // Step 2: Use the responses | COMMENT |
| LOW | …ages/agent-runtime/src/__tests__/propose-tools.test.ts | 650 | // Step 1: Should have received tool result with unified diff | COMMENT |
| LOW | …ages/agent-runtime/src/__tests__/propose-tools.test.ts | 661 | // Step 2: Should have received tool result with unified diff | COMMENT |
| LOW | …ages/agent-runtime/src/__tests__/propose-tools.test.ts | 672 | // Step 3: Should have received tool result with unified diff for new file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | cli/src/state/profile-survey-store.ts | 250 | print(sponsoredCompletionLine(response.rewardedFreebucks)) | CODE |
| HIGH | cli/src/state/profile-survey-store.ts | 276 | print( | CODE |
| HIGH | cli/src/state/profile-survey-store.ts | 311 | print( | CODE |
| HIGH | common/src/ads/agentic-ad-lab-batch.ts | 200 | print(json.dumps({ | CODE |
| HIGH⚡ | sdk/test/tree-sitter-queries/test-query-files.js | 40 | return False | CODE |
| HIGH⚡ | sdk/test/tree-sitter-queries/test-query-files.js | 42 | return True | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cli/src/utils/env.ts | 96 | // `bun run dev:agentic-ads cli` only: force one LOCAL campaign on the offer | COMMENT |
| MEDIUM | cli/src/utils/env.ts | 98 | // campaign (`common/src/ads/local-agentic-test.ts`). | COMMENT |
| MEDIUM | cli/src/hooks/use-send-message.ts | 970 | // `docs/ads/agentic/step-checks.md`): a driven run's steps are | COMMENT |
| MEDIUM | common/src/ads/agentic-ad-lab-desktop.ts | 25 | return `freebuff://agentic-lab?${new URLSearchParams(parsed)}` | CODE |
| MEDIUM | common/src/ads/agentic-bench-v2-snapshots.json | 265 | "packages/promptetheus/pyproject.toml": "[build-system]\nrequires = [\"hatchling\"]\nbuild-backend = \"hatchling.bui | CODE |
| MEDIUM | common/src/ads/agentic-bench-v2-snapshots.json | 410 | "evals/quality_eval/requirements.txt": "# Required\nlangchain-openai>=0.1.0\npython-dotenv>=1.0.0\n\n# Optional: hal | CODE |
| MEDIUM | common/src/ads/sponsored-offer-plan.ts | 145 | // card, the grader and the agentic-runs page count. | COMMENT |
| MEDIUM | common/src/constants/agentic-ad-events.ts | 114 | // The client-and-server funnel (agentic ads revamp, 2026-10-23, COD-935). | COMMENT |
| MEDIUM | sdk/src/__tests__/sponsored-sandbox.test.ts | 1464 | // The agentic:e2e shape: its shim dir lives under the temp dir, which the | COMMENT |
| MEDIUM | sdk/src/__tests__/sponsored-sandbox.test.ts | 1749 | // agentic:e2e's shape: a shim dir under the temp dir, symlinking the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | evals/buffbench/eval-plane.json | 390 | "diff": "Index: apps/api/plane/app/serializers/workspace.py\n================================================= | CODE |
| CRITICAL | cli/src/utils/sdk-event-handlers.ts | 142 | state.streaming.streamRefs.state.rootStreamBuffer.includes('</PLAN>') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | evals/buffbench/eval-plane.json | 727 | "diff": "Index: apps/api/plane/app/views/project/base.py\n==================================================== | CODE |
| MEDIUM | evals/buffbench/eval-plane.json | 1359 | "diff": "Index: apps/api/plane/tests/unit/utils/test_url.py\n================================================= | CODE |
| MEDIUM⚡ | evals/buffbench/eval-plane.json | 1670 | "diff": "Index: apiserver/plane/tests/conftest.py\n=========================================================== | CODE |
| MEDIUM⚡ | evals/buffbench/eval-plane.json | 1675 | "diff": "Index: apiserver/plane/tests/contract/app/test_project_app.py\n====================================== | CODE |
| MEDIUM | agents/base2/base2.ts | 556 | ## Creating a spec | COMMENT |
| MEDIUM | cli/scripts/test-sdk-file-hooks.sh | 47 | # Create a temporary SDK file to trigger the hooks | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | evals/logger.ts | 19 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/logger.ts | 21 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/src/utils/logger.ts | 86 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/src/utils/logger.ts | 88 | // ────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | evals/buffbench/eval-plane.json | 1675 | "diff": "Index: apiserver/plane/tests/contract/app/test_project_app.py\n====================================== | CODE |
| LOW | agents/tmux-cli.ts | 196 | # Check if session is alive | COMMENT |
| LOW | scripts/tmux/tmux-start.sh | 106 | # Check if next arg is a path (not another flag or missing) | COMMENT |
| LOW | scripts/tmux/tmux-start.sh | 188 | # Check if tmux is available | COMMENT |
| LOW | scripts/tmux/tmux-start.sh | 262 | # Output result | COMMENT |
| LOW | scripts/tmux/tmux-stop.sh | 129 | # Check if session name was provided | COMMENT |
| LOW | scripts/tmux/tmux-send.sh | 240 | # Check if text was provided | COMMENT |
| LOW | scripts/tmux/tmux-cli.sh | 110 | # Check if output looks like JSON | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | evals/buffbench/eval-plane.json | 1675 | "diff": "Index: apiserver/plane/tests/contract/app/test_project_app.py\n====================================== | CODE |
| MEDIUM | common/src/ads/agentic-bench-v2-snapshots.json | 7 | ".coderabbit.yaml": "# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json\n\n# CodeRabb | CODE |
| MEDIUM | sdk/src/tools/code-search.ts | 108 | // Use JSON output for robust parsing and early stopping | COMMENT |
| MEDIUM | scripts/tmux/tmux-viewer/components/theme.ts | 48 | // This is a simple heuristic - a more robust solution would use OSC detection | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | evals/buffbench/eval-manifold.json | 1665 | "diff": "Index: web/components/ai-forecast.tsx\n============================================================== | CODE |
| HIGH | evals/buffbench/pick-commits.ts | 83 | - Auto-generated code (generated files, build outputs) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | agents/browser-use/run-browser-use.ts | 49 | 'Navigate to https://httpbin.org/forms/post and fill out the form with: customer name "Test User", telephone "555- | CODE |
| LOW | agents/e2e/file-explorer.e2e.test.ts | 41 | return { id, name: 'John Doe' } | CODE |
| LOW | cli/src/__tests__/integration/api-integration.test.ts | 75 | JSON.stringify({ id: 'user', email: 'user@example.com' }), | CODE |
| LOW | …/hooks/__tests__/use-suggestion-engine-mention.test.ts | 58 | const result = parseAtInLine('user@example.com') | CODE |
| LOW | sdk/src/__tests__/database.test.ts | 110 | return new Response(JSON.stringify({ email: 'user@example.com' }), { | CODE |
| LOW | sdk/src/__tests__/database.test.ts | 133 | expect(second).toEqual({ email: 'user@example.com' }) | CODE |
| LOW | sdk/src/__tests__/database.test.ts | 140 | expect(third).toEqual({ id: 'user-123', email: 'user@example.com' }) | CODE |
| LOW | sdk/src/__tests__/code-search.test.ts | 1113 | expect(value.stdout).not.toContain('placeholder') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | cli/src/hooks/__tests__/use-directory-browser.test.ts | 109 | // In this implementation, ~user is not specially handled | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | evals/buffbench/README.md | 430 | CODEBUFF_API_KEY=your-api-key | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sdk/test/tree-sitter-queries/test-query-files.js | 47 | def process_data(items: List[str]) -> List[str]: | CODE |
| LOW | sdk/e2e/examples/sdk-refactor.example.ts | 11 | function processData(data) { | CODE |
| LOW | sdk/src/__tests__/code-search.test.ts | 185 | createRgJsonContext('code.ts', 5, 'function processData() {'), | CODE |
| LOW | sdk/src/__tests__/code-search.test.ts | 200 | expect(value.stdout).toContain('function processData() {') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | agents/file-explorer/file-lister-max.ts | 12 | - List out the full paths of 20 files that are relevant to the prompt, separated by newlines. Each file path is relative | CODE |
| LOW | agents/file-explorer/file-lister.ts | 41 | - List out the full paths of 12 files that are relevant to the prompt, separated by newlines. Each file path is relative | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | common/src/ads/agentic-ad-lab-batch.ts | 171 | except Exception: | CODE |
| LOW | common/src/ads/agentic-ad-lab-batch.ts | 197 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdk/src/__tests__/code-search.test.ts | 186 | createRgJsonMatch('code.ts', 6, ' // TODO: implement this'), | CODE |