Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA
1043 matches across 11 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | design/test/serve.test.ts | 50 | // ─── Serve as HTTP module (not subprocess) ──────────────────────── |
| MEDIUM | design/test/serve.test.ts | 280 | // ─── Path traversal protection in /api/reload ───────────────────── |
| MEDIUM | design/test/serve.test.ts | 413 | // ─── Full lifecycle: regeneration round-trip ────────────────────── |
| MEDIUM | design/test/feedback-roundtrip-daemon.test.ts | 63 | // ─── Submit round-trip ─────────────────────────────────────────── |
| MEDIUM | design/test/feedback-roundtrip-daemon.test.ts | 141 | // ─── Regenerate + reload round-trip ────────────────────────────── |
| MEDIUM | design/test/feedback-roundtrip-daemon.test.ts | 214 | // ─── Two-board, one-daemon attach behavior ─────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 44 | // ─── /health ───────────────────────────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 67 | // ─── POST /api/boards (publish) ───────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 147 | // ─── GET /boards/<id> trailing-slash redirect ──────────────────── |
| MEDIUM | design/test/daemon.test.ts | 176 | // ─── POST /boards/<id>/api/feedback ────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 257 | // ─── POST /boards/<id>/api/reload ──────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 311 | // ─── GET / (index) ─────────────────────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 346 | // ─── /shutdown ─────────────────────────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 378 | // ─── LRU + non-done protection ─────────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 438 | // ─── Idle + meaningful activity ────────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 456 | // ─── Malformed body negatives ──────────────────────────────────── |
| MEDIUM | design/test/daemon.test.ts | 522 | // ─── Unknown routes ────────────────────────────────────────────── |
| MEDIUM | design/test/feedback-roundtrip.test.ts | 130 | // ─── The critical test: browser click → file on disk ───────────── |
| MEDIUM | design/test/daemon-discovery.test.ts | 71 | // ─── healthCheck + readStateFile basics ────────────────────────── |
| MEDIUM | design/test/daemon-discovery.test.ts | 100 | // ─── ensureDaemon ──────────────────────────────────────────────── |
| MEDIUM | design/test/daemon-discovery.test.ts | 287 | // ─── publishBoard ──────────────────────────────────────────────── |
| MEDIUM | design/test/daemon-discovery.test.ts | 318 | // ─── shutdownDaemon / daemonStatus ─────────────────────────────── |
| MEDIUM | design/test/daemon-discovery.test.ts | 506 | // ─── Concurrent ensureDaemon race (one wins the lock) ─────────── |
| MEDIUM | design/test/daemon-discovery.test.ts | 546 | // ─── Stale-lock reclaim ────────────────────────────────────────── |
| MEDIUM | design/src/daemon.ts | 42 | // ─── Tunables (env overrides for tests) ────────────────────────── |
| MEDIUM | design/src/daemon.ts | 62 | // ─── Per-board state ───────────────────────────────────────────── |
| MEDIUM | design/src/daemon.ts | 108 | // ─── Helpers ───────────────────────────────────────────────────── |
| MEDIUM | design/src/daemon.ts | 192 | // ─── Shutdown ───────────────────────────────────────────────────── |
| MEDIUM | design/src/daemon.ts | 232 | // ─── Handlers ───────────────────────────────────────────────────── |
| MEDIUM | design/src/daemon.ts | 467 | // ─── Router ────────────────────────────────────────────────────── |
| MEDIUM | design/src/daemon.ts | 525 | // ─── Startup ───────────────────────────────────────────────────── |
| MEDIUM | design/src/daemon-client.ts | 216 | // ─── Internals ─────────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 86 | // ─── Chat path ripped ──────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 92 | // ─── Reload Sidebar ───────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 97 | // ─── Copy Cookies ─────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 33 | // ─── Connection State Machine ───────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 112 | // ─── Debug Tabs ───────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 155 | // ─── Activity Feed ────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 244 | // ─── SSE Connection ───────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 295 | // ─── Memory Footer Readout ────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 391 | // ─── Tab guardrail toast (D5 + Codex single-tab flag) ─────── |
| MEDIUM | extension/sidepanel.js | 583 | // ─── Refs Tab ─────────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 619 | // ─── Inspector Tab ────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 726 | // ─── Box Model Rendering ──────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 772 | // ─── Matched Rules Rendering ──────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 863 | // ─── Computed Styles Rendering ────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 888 | // ─── Quick Edit ───────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 962 | // ─── Send to Agent ────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 1019 | // ─── Quick Action Helpers (toolbar buttons) ────────────────────── |
| MEDIUM | extension/sidepanel.js | 1102 | // ─── Section Toggles ──────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 1117 | // ─── Inspector SSE ────────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 1149 | // ─── Server Discovery ─────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 1199 | // ─── Port Configuration ───────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 1228 | // ─── Reconnect / Copy Buttons ──────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 1339 | // ─── Message Listener ─────────────────────────────────────────── |
| MEDIUM | extension/sidepanel.js | 1382 | // ─── v1.44 pagehide: explicit PTY dispose on sidebar close ────────── |
| MEDIUM | extension/background.js | 16 | // ─── Port Discovery ──────────────────────────────────────────── |
| MEDIUM | extension/background.js | 33 | // ─── Auth Token Bootstrap ───────────────────────────────────── |
| MEDIUM | extension/background.js | 53 | // ─── Health Polling ──────────────────────────────────────────── |
| MEDIUM | extension/background.js | 132 | // ─── Command Proxy ───────────────────────────────────────────── |
| 609 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | design-html/SKILL.md | 1023 | on the plan or user description (never lorem ipsum). |
| LOW | design-html/SKILL.md | 1122 | - Real content extracted from the mockup (never lorem ipsum) |
| LOW | design-html/SKILL.md | 1449 | user's description. Never use "Lorem ipsum", "Your text here", or placeholder content. |
| LOW | design-consultation/SKILL.md | 1416 | 3. **Shows the product name** (not "Lorem Ipsum") as the hero heading |
| LOW | ios-qa/daemon/test/session-tokens.test.ts | 15 | identity: 'user@example.com', |
| LOW | ios-qa/daemon/test/session-tokens.test.ts | 20 | identity: 'user@example.com', |
| LOW | ios-qa/daemon/test/tailscale-localapi.test.ts | 20 | UserProfile: { LoginName: 'admin@example.com' }, |
| LOW | ios-qa/daemon/test/allowlist.test.ts | 33 | entries: [{ identity: 'user@example.com', capabilities: ['observe'], expires_at: null }], |
| LOW | ios-qa/daemon/test/allowlist.test.ts | 37 | expect(JSON.parse(raw).entries[0].identity).toBe('user@example.com'); |
| LOW | ios-qa/daemon/test/allowlist.test.ts | 43 | entries: [{ identity: 'user@example.com', capabilities: ['mutate' as const], expires_at: null }], |
| LOW | ios-qa/daemon/test/allowlist.test.ts | 45 | expect(findEntry(list, 'user@example.com')?.identity).toBe('user@example.com'); |
| LOW | ios-qa/daemon/src/types.ts | 58 | identity: string; // canonicalized: "user@example.com" or "tag:<name>" or "node:<key>" |
| LOW | ios-qa/daemon/src/tailscale-localapi.ts | 91 | * "UserProfile": { "LoginName": "user@example.com", ... }, |
| LOW | test/skill-e2e-session-intelligence.test.ts | 36 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-autoplan-chain.test.ts | 60 | gitRun(['config', 'user.email', 'test@test.com']); |
| LOW | test/gbrain-supabase-provision.test.ts | 101 | { id: 'deprec-1', slug: 'acme', name: 'Acme Inc' }, |
| LOW | test/gbrain-supabase-provision.test.ts | 112 | { slug: 'acme', name: 'Acme Inc' }, |
| LOW | test/skill-e2e-bws.test.ts | 189 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-bws.test.ts | 280 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 29 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 115 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 198 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 278 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 373 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 511 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 572 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 632 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan.test.ts | 750 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-office-hours.test.ts | 39 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-office-hours.test.ts | 110 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-plan-tune.test.ts | 36 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-review.test.ts | 29 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-review.test.ts | 102 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-review.test.ts | 174 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-review.test.ts | 276 | run('git', ['config', 'user.email', 'test@test.com'], dir); |
| LOW | test/skill-e2e-review.test.ts | 334 | run('git', ['config', 'user.email', 'test@test.com'], dir); |
| LOW | test/skill-e2e-review.test.ts | 548 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-deploy.test.ts | 27 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-deploy.test.ts | 99 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-deploy.test.ts | 178 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-deploy.test.ts | 254 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-deploy.test.ts | 315 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-deploy.test.ts | 380 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-context-skills.test.ts | 39 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e-office-hours-phase4.test.ts | 58 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 335 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 466 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 523 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 595 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 858 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 944 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 1027 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 1221 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 1321 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 1408 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 1543 | run('git', ['config', 'user.email', 'test@test.com'], dir); |
| LOW | test/skill-e2e.test.ts | 1596 | run('git', ['config', 'user.email', 'test@test.com'], dir); |
| LOW | test/skill-e2e.test.ts | 1725 | run('git', ['config', 'user.email', 'test@test.com']); |
| LOW | test/skill-e2e.test.ts | 1840 | run('git', ['config', 'user.email', 'test@test.com'], upgradeDir); |
| LOW | test/skill-e2e.test.ts | 1849 | run('git', ['config', 'user.email', 'test@test.com'], mockGstack); |
| 53 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | bunfig.toml | 1 | [test] |
| LOW | test-setup.ts | 21 | // pollution class where one test sets `process.env.PATH = '/test/bin:/usr/bin'` |
| LOW | design/test/daemon-discovery.test.ts | 361 | await publishBoard({ port: d.port, html: makeBoardHtml(workDir) }); |
| LOW | extension/sidepanel.js | 1381 | |
| LOW | ios-qa/daemon/src/tunnel-bootstrap.ts | 1 | // Bootstrap the CoreDevice tunnel to a connected iPhone running the iOS app |
| LOW | ios-qa/daemon/src/index.ts | 1 | // gstack-ios-qa-daemon entrypoint. |
| LOW | ios-qa/scripts/gen-accessors.ts | 1 | #!/usr/bin/env bun |
| LOW | ios-qa/scripts/gen-accessors-tool/Package.swift | 1 | // swift-tools-version:5.9 |
| LOW | test/catalog-trim.test.ts | 101 | // can't backtrack past a non-period char. For "DESIGN.md and v1.45.0.0 |
| LOW | test/brain-sync-windows-paths.test.ts | 1 | import { describe, test, expect } from 'bun:test'; |
| LOW | test/brain-sync-windows-paths.test.ts | 21 | // nothing and the drain silently stages/commits nothing. |
| LOW | test/skill-llm-eval-spec.test.ts | 21 | const describeEval = evalsEnabled ? describe : describe.skip; |
| LOW | test/skill-validation.test.ts | 1821 | .join(', '); |
| LOW | test/llm-judge-recommendation.test.ts | 101 | B) Client-side |
| LOW | test/skill-e2e-setup-gbrain-path4-local-pglite.test.ts | 1 | // E2E: /setup-gbrain Path 4 with Step 4.5 "Yes" — local PGLite for code search. |
| LOW | test/skill-e2e-ios-swift-build.test.ts | 1 | // Swift-build invariant tests. Runs against the fixture iOS app at |
| LOW | test/skill-e2e-ios.test.ts | 1 | // High-level E2E for /ios-qa skill flow. |
| LOW | test/skill-e2e-ios-device.test.ts | 1 | // GSTACK_HAS_IOS_DEVICE=1 device-path test. Runs only when: |
| LOW | test/skill-e2e-ios-device.test.ts | 121 | // `swift build --triple arm64-apple-ios` directly because SwiftPM |
| LOW | test/skill-e2e-ios-device.test.ts | 141 | // - test/fixtures/ios-qa/FixtureApp/FixtureApp.xcodeproj (or generated) |
| LOW | test/post-rename-doc-regen.test.ts | 1 | // Post-rename doc-regen regression: after `bun run gen:skill-docs`, no |
| LOW | test/skill-e2e-office-hours-brain-writeback.test.ts | 241 | console.log('--- gbrain calls log ---'); |
| LOW | test/setup-gbrain-path4-structure.test.ts | 1 | // setup-gbrain Path 4 structural lint. |
| LOW | test/benchmark-cli.test.ts | 101 | // On a dev machine with full auth configured, the default --dry-run output |
| LOW | test/skill-e2e-setup-gbrain-remote.test.ts | 1 | // E2E: /setup-gbrain Path 4 (Remote MCP) happy path via Agent SDK. |
| LOW | test/skill-e2e-plan-format.test.ts | 41 | // `Recommendation: <choice> because <reason>`, where <choice> is the bare |
| LOW | test/gstack-memory-ingest.test.ts | 621 | // last segment matching the session id. |
| LOW | test/plan-tune.test.ts | 361 | // that don't appear to map to any registry entry. |
| LOW | …/skill-e2e-ask-user-question-format-compliance.test.ts | 81 | await Bun.sleep(8000); |
| LOW | test/skill-e2e-setup-gbrain-bad-token.test.ts | 1 | // E2E: /setup-gbrain Path 4 with a bad bearer token via Agent SDK. |
| LOW | test/gen-skill-docs.test.ts | 321 | // when generate-brain-sync-block.ts gained the gbrain_mcp_mode probe + |
| LOW | test/helpers/touchfiles.ts | 101 | // fallback path (mcp__conductor__AskUserQuestion or plan-file flow) rather |
| LOW | test/helpers/touchfiles.ts | 381 | // Real-device path — only runs with GSTACK_HAS_IOS_DEVICE=1 + a paired |
| LOW | test/helpers/touchfiles.ts | 461 | |
| LOW | test/helpers/claude-pty-runner.ts | 281 | } |
| LOW | test/helpers/claude-pty-runner.ts | 301 | // LLM judge — "is the model waiting for user input, working, or hung?" |
| LOW | test/helpers/claude-pty-runner.ts | 521 | |
| LOW | test/helpers/claude-pty-runner.ts | 561 | export function parseNumberedOptions( |
| LOW | test/helpers/claude-pty-runner.ts | 1041 | * `obs.planFile` (artifact existing), not on `obs.outcome === 'plan_ready'`, |
| LOW | test/helpers/claude-pty-runner.ts | 1921 | // observer for gate-tier floor tests catching the May 2026 transcript bug |
| LOW | bin/gstack-gbrain-lib.sh | 1 | # gstack-gbrain-lib.sh — shared helpers for setup-gbrain bin scripts. |
| LOW | bin/gstack-gbrain-lib.sh | 21 | # |
| LOW | bin/gstack-pr-title-rewrite.sh | 1 | #!/usr/bin/env bash |
| LOW | bin/gstack-gbrain-sync.ts | 641 | // on local engine. The /sync-gbrain Step 1.5 pre-flight surfaces the user |
| LOW | bin/gstack-gbrain-sync.ts | 701 | ok: false, |
| LOW | bin/gstack-gbrain-sync.ts | 761 | // route to this source by default — no --source flag needed. |
| LOW | bin/gstack-memory-ingest.ts | 781 | tags, |
| LOW | bin/gstack-memory-ingest.ts | 801 | // → state.sessions[path] = { ... } for prepared files NOT in failed set |
| LOW | bin/gstack-memory-ingest.ts | 1481 | // Split-engine branch per plan D11: in remote-http MCP mode, we stage to a |
| LOW | supabase/config.sh | 1 | #!/usr/bin/env bash |
| LOW | scripts/detect-bump.ts | 1 | #!/usr/bin/env bun |
| LOW | scripts/test-free-shards.ts | 61 | { pattern: /\bwhich claude\b/, reason: 'which claude (use Bun.which)' }, |
| LOW | scripts/test-free-shards.ts | 81 | // Tests that spawn the browse server as a subprocess via `bun run server.ts`. |
| LOW | scripts/build-app.sh | 1 | #!/bin/bash |
| LOW | scripts/gen-skill-docs.ts | 21 | import { externalSkillName, extractHookSafetyProse as _extractHookSafetyProse, extractNameAndDescription as _extractName |
| LOW | scripts/gen-skill-docs.ts | 281 | |
| LOW | scripts/gen-skill-docs.ts | 901 | failures.push({ host: currentHost, error: new Error('Stale files detected') }); |
| LOW | scripts/compare-pr-version.ts | 1 | #!/usr/bin/env bun |
| LOW | scripts/resolvers/testing.ts | 161 | // Shared methodology for codepath tracing, ASCII diagrams, and test gap analysis. |
| LOW | scripts/resolvers/preamble.ts | 61 | import { generateMakePdfSetup } from './make-pdf'; |
| 52 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | design/src/daemon.ts | 179 | function findActiveBoardForSourceDir(sourceDir: string): Board | null { |
| LOW | design/src/design-to-code.ts | 22 | export async function generateDesignToCodePrompt( |
| LOW | design/src/daemon-client.ts | 315 | async function gracefulShutdownExistingDaemon(port: number): Promise<void> { |
| LOW | design/src/variants.ts | 222 | async function generateResponsiveVariants( |
| LOW | test/skill-e2e-plan-ceo-mode-routing.test.ts | 68 | async function navigateToModeAskUserQuestion( |
| LOW | test/skill-e2e-skillify.test.ts | 130 | function installBundledHackernewsSkill(workDir: string) { |
| LOW | test/extension-pty-inject-invariant.test.ts | 70 | function findEnclosingFunctionStart(content: string, callerPos: number): number { |
| LOW | test/gen-skill-docs.test.ts | 56 | function extractPreambleBeforeWorkflow(content: string, workflowMarkers: string[]): string { |
| LOW | test/helpers/agent-sdk-runner.ts | 144 | export function passThroughNonAskUserQuestion( |
| LOW | test/helpers/skill-parser.ts | 145 | export function extractRemoteSlugPatterns(rootDir: string, subdirs: string[]): Map<string, string[]> { |
| LOW | test/helpers/e2e-helpers.ts | 212 | export async function assertRecommendationQuality(opts: { |
| LOW | test/helpers/claude-pty-runner.ts | 227 | export function planFileHasDecisionsSection(planFile: string): boolean { |
| LOW | test/helpers/claude-pty-runner.ts | 265 | export function isPermissionDialogVisible(visible: string): boolean { |
| LOW | test/helpers/claude-pty-runner.ts | 286 | export function isNumberedOptionListVisible(visible: string): boolean { |
| LOW | test/helpers/claude-pty-runner.ts | 1008 | export function assertReviewReportAtBottom( |
| LOW | test/helpers/claude-pty-runner.ts | 1045 | export function assertReportAtBottomIfPlanWritten( |
| LOW | bin/gstack-gbrain-sync.ts | 345 | export function derivePathOnlyHashLegacyId(repoPath: string): string { |
| LOW | bin/gstack-gbrain-sync.ts | 372 | function gbrainSupportsSourcesRename(env?: NodeJS.ProcessEnv): boolean { |
| LOW | bin/gstack-gbrain-sync.ts | 441 | export function planHostnameFoldMigration( |
| LOW | bin/gstack-gbrain-sync.ts | 845 | export function ensureGbrainSourceGitignored(root: string): void { |
| LOW | bin/gstack-memory-ingest.ts | 1216 | function makePersistentTranscriptDir(): string { |
| LOW | scripts/gstack-schema-pack.ts | 261 | export function getSchemaPackMutationPayload(): { |
| LOW | scripts/gen-skill-docs.ts | 64 | function effectiveSuppressedResolvers(hostConfig: HostConfig): Set<string> { |
| LOW | scripts/gen-skill-docs.ts | 158 | function extractNameAndDescription(content: string): { name: string; description: string } { |
| LOW | scripts/gen-skill-docs.ts | 418 | function condenseOpenAIShortDescription(description: string): string { |
| LOW | scripts/psychographic-signals.ts | 253 | export function validateRegistrySignalKeys(): { |
| LOW | scripts/psychographic-signals.ts | 285 | export function normalizeToDimensionValue(total: number): number { |
| LOW | scripts/resolvers/testing.ts | 182 | function generateTestCoverageAuditInner(mode: CoverageAuditMode): string { |
| LOW | scripts/resolvers/testing.ts | 541 | export function generateTestCoverageAuditPlan(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/testing.ts | 545 | export function generateTestCoverageAuditShip(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/testing.ts | 549 | export function generateTestCoverageAuditReview(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/review-army.ts | 14 | function generateSpecialistSelection(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/review-army.ts | 85 | function generateSpecialistDispatch(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/gbrain.ts | 55 | export function generateGBrainContextLoad(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/gbrain.ts | 75 | export function generateGBrainSaveResults(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/gbrain.ts | 195 | export function generateBrainCacheRefresh(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/review.ts | 73 | export function generatePlanFileReviewReport(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/review.ts | 188 | export function generateAntiShortcutClause(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/review.ts | 305 | export function generateCodexSecondOpinion(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/review.ts | 733 | function generatePlanFileDiscovery(): string { |
| LOW | scripts/resolvers/review.ts | 769 | function generatePlanCompletionAuditInner(mode: PlanCompletionMode): string { |
| LOW | scripts/resolvers/review.ts | 1006 | export function generatePlanCompletionAuditShip(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/review.ts | 1010 | export function generatePlanCompletionAuditReview(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/review.ts | 1016 | export function generatePlanVerificationExec(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/question-tuning.ts | 50 | export function generateQuestionPreferenceCheck(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/question-tuning.ts | 68 | export function generateInlineTuneFeedback(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/design.ts | 69 | export function generateDesignMethodology(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/design.ts | 541 | export function generateDesignOutsideVoices(ctx: TemplateContext): string { |
| LOW | scripts/resolvers/design.ts | 912 | export function generateDesignShotgunLoop(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/utility.ts | 375 | export function generateChangelogWorkflow(_ctx: TemplateContext): string { |
| LOW | scripts/resolvers/codex-helpers.ts | 5 | export function extractNameAndDescription(content: string): { name: string; description: string } { |
| LOW | scripts/resolvers/codex-helpers.ts | 43 | export function condenseOpenAIShortDescription(description: string): string { |
| LOW | scripts/resolvers/confidence.ts | 19 | export function generateConfidenceCalibration(_ctx: TemplateContext): string { |
| LOW | …s/resolvers/preamble/generate-continuous-checkpoint.ts | 3 | export function generateContinuousCheckpoint(): string { |
| LOW | …resolvers/preamble/generate-writing-style-migration.ts | 3 | export function generateWritingStyleMigration(ctx: TemplateContext): string { |
| LOW | …s/resolvers/preamble/generate-vendoring-deprecation.ts | 3 | export function generateVendoringDeprecation(ctx: TemplateContext): string { |
| LOW | …esolvers/preamble/generate-brain-health-instruction.ts | 3 | export function generateBrainHealthInstruction(ctx: TemplateContext): string { |
| LOW | …ts/resolvers/preamble/generate-completeness-section.ts | 3 | export function generateCompletenessSection(ctx?: TemplateContext): string { |
| LOW | …s/resolvers/preamble/generate-spawned-session-check.ts | 3 | export function generateSpawnedSessionCheck(): string { |
| LOW | …ipts/resolvers/preamble/generate-confusion-protocol.ts | 3 | export function generateConfusionProtocol(ctx?: TemplateContext): string { |
| 19 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | design/test/serve.test.ts | 462 | // Step 1: User clicks regenerate |
| LOW | design/test/serve.test.ts | 472 | // Step 2: Progress shows regenerating |
| LOW | design/test/serve.test.ts | 476 | // Step 3: Agent generates new variants and reloads |
| LOW | design/test/serve.test.ts | 487 | // Step 4: Progress shows serving (board would auto-refresh) |
| LOW | design/test/serve.test.ts | 491 | // Step 5: User submits on round 2 |
| LOW | design/test/feedback-roundtrip.test.ts | 296 | // Step 1: User clicks Regenerate |
| LOW | design/test/feedback-roundtrip.test.ts | 312 | // Step 2: Agent generates new variants and creates a new board |
| LOW | design/test/feedback-roundtrip.test.ts | 321 | // Step 3: Agent POSTs /api/reload to swap the board |
| LOW | design/test/feedback-roundtrip.test.ts | 331 | // Step 4: Board auto-refreshes (simulated by navigating again) |
| LOW | design/test/feedback-roundtrip.test.ts | 340 | // Step 5: User picks variant C on round 2 and submits |
| LOW | design/src/evolve.ts | 35 | // Step 1: Analyze current screenshot |
| LOW | design/src/evolve.ts | 39 | // Step 2: Generate evolved version using analysis + brief |
| LOW | extension/sidepanel.js | 1262 | // Step 1: Ask background for the port |
| LOW | extension/sidepanel.js | 1284 | // Step 2: If background says connected + has token, use that |
| LOW | extension/sidepanel.js | 1294 | // Step 3: Background not connected yet. Try hitting /health directly. |
| LOW | ios-qa/daemon/src/tunnel-bootstrap.ts | 73 | // Step 1: pick a device |
| LOW | ios-qa/daemon/src/tunnel-bootstrap.ts | 92 | // Step 2: launch app (idempotent — devicectl returns success if already running) |
| LOW | ios-qa/daemon/src/tunnel-bootstrap.ts | 100 | // Step 3: resolve tunnel IPv6. Try devicectl `info details` first (most |
| LOW | ios-qa/daemon/src/tunnel-bootstrap.ts | 119 | // Step 4: wait for StateServer to become reachable, then scrape boot token. |
| LOW | ios-qa/daemon/src/tunnel-bootstrap.ts | 146 | // Step 5: rotate the boot token to a fresh in-memory-only one. |
| LOW | test/skill-validation.test.ts | 1207 | // Headings like "## Step 7: Test Coverage Audit" — NOT sub-steps like "## Step 8.1:" |
| LOW | test/regression-1624-retro-stale-base.test.ts | 45 | const step1 = body.indexOf("### Step 1: Gather Raw Data"); |
| LOW | test/skill-e2e-review.test.ts | 292 | const step0Start = full.indexOf('## Step 0: Detect platform and base branch'); |
| LOW | test/skill-e2e-review.test.ts | 293 | const step1Start = full.indexOf('## Step 1: Check branch'); |
| LOW | test/skill-e2e-review.test.ts | 349 | const step0Start = fullShipSkill.indexOf('## Step 0: Detect platform and base branch'); |
| LOW | test/skill-e2e-review.test.ts | 350 | const step0End = fullShipSkill.indexOf('## Step 1: Pre-flight'); |
| LOW | test/skill-llm-eval.test.ts | 627 | startMarker: '## Step 0: Nuclear Scope Challenge', |
| LOW | test/skill-llm-eval.test.ts | 696 | startMarker: '## Step 1: Pre-flight', |
| LOW | test/skill-llm-eval.test.ts | 732 | startMarker: '### Step 2: Detect platform', |
| LOW | test/skill-e2e.test.ts | 3295 | const step4Start = full.indexOf('## Step 4: Version bump'); |
| LOW | test/skill-e2e.test.ts | 3297 | const step7Start = full.indexOf('## Step 7: Push'); |
| LOW | test/skill-e2e-ios-swift-build.test.ts | 117 | // Step 1: clean + release build (Core only — UI/Touch can't build on macOS) |
| LOW | test/skill-e2e-ios-swift-build.test.ts | 129 | // Step 2: locate the built object file(s). SwiftPM puts .build artifacts |
| LOW | test/gen-skill-docs.test.ts | 307 | markers: ['# Mega Plan Review Mode', '## Step 0: Detect platform and base branch'], |
| LOW | bin/gstack-gbrain-sync.ts | 691 | // Step 1: Ensure source registered (idempotent). Single source of truth in lib — |
| LOW | bin/gstack-gbrain-sync.ts | 708 | // Step 2: Always run the page-creating file walk first, then (for --full) |
| LOW | bin/gstack-gbrain-sync.ts | 759 | // Step 3: Pin this worktree's CWD to the source via .gbrain-source. Subsequent |
| LOW | bin/gstack-gbrain-sync.ts | 775 | // Step 4: Deferred hostname-fold cleanup. |
| LOW | scripts/resolvers/utility.ts | 12 | return `## Step 0: Detect platform and base branch |
| LOW | scripts/resolvers/utility.ts | 376 | return `## Step 13: CHANGELOG (auto-generate) |
| LOW | browse/test/sidebar-ux.test.ts | 1343 | // Step 1: sidepanel sends sidebarOpened when connected |
| LOW | browse/test/sidebar-ux.test.ts | 1354 | // Step 2: background.js accepts and relays sidebarOpened |
| LOW | browse/test/sidebar-ux.test.ts | 1376 | // Step 3: content.js fires gstack-extension-ready ONLY on sidebarOpened |
| LOW | browse/test/sidebar-ux.test.ts | 1390 | // Step 4: welcome page hides arrow on gstack-extension-ready |
| LOW | browse/scripts/build-node-server.sh | 16 | # Step 1: Transpile server.ts to a single .mjs bundle (externalize runtime deps) |
| LOW | browse/scripts/build-node-server.sh | 31 | # Step 2: Post-process |
| LOW | browse/scripts/build-node-server.sh | 37 | # Step 3: Create the final file with polyfill header injected after the first line |
| LOW | browse/scripts/build-node-server.sh | 51 | # Step 4: Copy polyfill to dist/ |
| LOW | make-pdf/src/smartypants.ts | 32 | // Step 1: split into preserved + transformed zones. |
| LOW | make-pdf/src/smartypants.ts | 54 | // Step 2: restore preserved zones. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | test/setup-gbrain-path4-structure.test.ts | 86 | expect(tmpl).toMatch(/<YOUR_TOKEN>/); |
| HIGH | test/setup-gbrain-path4-structure.test.ts | 124 | // - <bearer>, <YOUR_TOKEN>, <TOKEN> (placeholder) |
| HIGH | test/setup-gbrain-path4-structure.test.ts | 130 | expect(line).toMatch(/Bearer (\$GBRAIN_MCP_TOKEN|<bearer>|<YOUR_TOKEN>|<TOKEN>|\.\.\."?)/); |
| HIGH | setup-gbrain/SKILL.md | 1545 | -H 'Authorization: Bearer <YOUR_TOKEN>' \ |
| HIGH | setup-gbrain/SKILL.md | 1551 | `<YOUR_TOKEN>` so the snippet is safe to copy into chat / share. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | test/ship-version-sync.test.ts | 49 | elif command -v bun >/dev/null 2>&1; then |
| HIGH | scripts/resolvers/design.ts | 959 | elif [ -f "$_DESIGN_DIR/feedback-pending.json" ]; then |
| HIGH | scripts/resolvers/confidence.ts | 47 | would live. If "dict.get() might return None", quote the dict initialization. |
| HIGH | scripts/resolvers/preamble/generate-brain-sync-block.ts | 120 | elif [ -d "$_GSTACK_HOME/.git" ] && [ "$_BRAIN_SYNC_MODE" != "off" ]; then |
| HIGH | scripts/resolvers/preamble/generate-preamble-bash.ts | 100 | elif [ "\${GSTACK_PLAN_MODE:-}" = "active" ]; then |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | test/skill-e2e-setup-gbrain-path4-local-pglite.test.ts | 15 | // Periodic-tier (codex #12: AgentSDK harness is non-deterministic; gate-tier |
| MEDIUM | test/skill-e2e-office-hours-brain-writeback.test.ts | 147 | // Set up the fake gbrain CLI with robust argv quoting + payload capture. |
| MEDIUM | test/helpers/touchfiles.ts | 116 | // Real-PTY E2E batch (#6 new tests on the harness). |
| MEDIUM | test/helpers/touchfiles.ts | 162 | // Periodic-tier per codex #12 (AgentSDK harness is non-deterministic). |
| MEDIUM | scripts/resolvers/testing.ts | 42 | ### B2. Research best practices |
| MEDIUM | scripts/resolvers/preamble/generate-preamble-bash.ts | 95 | # from CLAUDE_PLAN_FILE (set by the harness when plan mode is active) and |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | bin/gstack-gbrain-lib.sh | 3 | # This file is NOT executable; source it: |
| MEDIUM | scripts/build-app.sh | 181 | # Create a temporary directory for DMG contents |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/build-app.sh | 12 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | setup-gbrain/SKILL.md | 1350 | except Exception: |