Garry's Opinionated OpenClaw/Hermes Agent Brain
This report summarizes scanner evidence for garrytan/gbrain, a TypeScript project with 30,750 GitHub stars. SynthScan examined 1,841,586 lines of code across 9076 source files, recording 5689 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 5.7 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 3581 finding(s).
Are imports declared and package/API names verified? 177 finding(s).
Are wrappers, guards, and repeated structures necessary? 3369 finding(s).
Which changes need focused human review? 5689 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 5689 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 |
|---|---|---|---|---|
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 15 | // ── short rows, trailing cells missing ───────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 48 | // ── short rows, a cell missing in the middle ─────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 62 | // ── no header ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 96 | // ── a row before the header ──────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 125 | // ── extra cells ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 148 | // ── header with an unknown column ────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 186 | // ── several problems in one fence ────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 203 | // ── adversarial: two readings the gates cannot tell apart ────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 231 | // ── adversarial: a claim cut in two by an unescaped pipe ─────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/heldout-cases.ts | 248 | // ── adversarial: a required value is missing ─────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 52 | // ── short rows, trailing cells missing (facts) ───────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 94 | // ── short rows, trailing cells missing (takes) ───────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 115 | // ── short rows, a cell missing in the middle (facts) ─────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 140 | // ── no header (facts) ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 174 | // ── no header (takes) ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 196 | // ── a row before the header (facts) ──────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 225 | // ── a row before the header (takes) ──────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 244 | // ── extra cells (facts) ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 269 | // ── extra cells (takes) ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 285 | // ── header with an unknown column (facts) ────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 325 | // ── header with an unknown column (takes) ────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 349 | // ── several problems in one fence ────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 378 | // ── adversarial: two readings the gates cannot tell apart ────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 405 | // ── adversarial: a required value is missing ─────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/cases.ts | 419 | // ── gate-limited: a person would repair these; the gates forbid it ───── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/harness.ts | 71 | // ── score ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/harness.ts | 98 | // ── oracle ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/fence-repair-tier3/harness.ts | 108 | // ── live ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/content-repair-judgment/cases.ts | 60 | // ── page builders ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/content-repair-judgment/cases.ts | 114 | // ── cases ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/content-repair-judgment/cases.ts | 117 | // ── true duplicates, mutual hygiene notes (15) ────────────────────────── | COMMENT |
| MEDIUM | evals/content-repair-judgment/cases.ts | 169 | // ── true duplicates, no notes (10) ────────────────────────────────────── | COMMENT |
| MEDIUM | evals/content-repair-judgment/cases.ts | 201 | // ── stray template slugs (10) ─────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/content-repair-judgment/cases.ts | 233 | // ── adversarial (8) ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | evals/content-repair-judgment/cases.ts | 261 | // ── ambiguous (5) ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/transcripts-ingest-pglite.test.ts | 649 | // ── Format-based redaction lands in the STORED page ───────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 75 | // ── Thread / message id constants (hex only) ──────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 81 | // ── Fake Google API behind fetchImpl ───────────────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 237 | // ── In-memory vault ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 294 | // ── Shared setup helpers ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 408 | // ── --full reconcile ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 513 | // ── Backfill floor freeze ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 570 | // ── 404-vanished threads ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 637 | // ── syncToken 410 recovery (calendar + contacts) ───────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 927 | // ── Calendar window (#5442) ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 927 | // ── Calendar window (#5442) ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/google-source-reconcile.test.ts | 1265 | // ── loops_extract enqueue completeness ─────────────────────────────────────── | COMMENT |
| MEDIUM | test/operations-source-isolation-matrix.test.ts | 102 | // ─── The matrix ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/operations-source-isolation-matrix.test.ts | 217 | // ─── Fixture ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/operations-source-isolation-matrix.test.ts | 325 | // ─── Ratchet: the table covers the registry exactly ─────────────────────── | COMMENT |
| MEDIUM | test/operations-source-isolation-matrix.test.ts | 338 | // ─── The walk ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/creds-relay-client.test.ts | 50 | // ── Synthetic fixtures (never real tokens/emails) ──────────────────────────── | COMMENT |
| MEDIUM | test/creds-relay-client.test.ts | 80 | // ── The fake relay server (the conformance target) ─────────────────────────── | COMMENT |
| MEDIUM | test/creds-relay-client.test.ts | 106 | // ── POST /api/oauth/relay/sessions — create a consent session ──────── | COMMENT |
| MEDIUM | test/creds-relay-client.test.ts | 162 | // ── POST /api/oauth/relay/refresh — server-side token refresh ──────── | COMMENT |
| MEDIUM | test/creds-relay-client.test.ts | 204 | // ── relayUrl ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/creds-relay-client.test.ts | 223 | // ── createSession ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/creds-relay-client.test.ts | 251 | // ── pollClaim ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test/creds-relay-client.test.ts | 415 | // ── refreshViaRelay ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | test/migrate.test.ts | 68 | // ───────────────────────────────────────────────────────────────── | COMMENT |
| 1833 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/explicit-skills-dir-readonly.test.ts | 24 | function writeTriggerOnlySkillsDir(skillsDir: string): void { | CODE |
| LOW | test/fence-write.test.ts | 92 | function installFakeDurabilityHook(repoPath: string): void { | CODE |
| LOW | test/persistence-admin-intent.test.ts | 43 | async function expectRacedTopologyRejection(operation: 'writer_claim' | 'writer_transfer_prepare' | 'writer_transfer_acc | CODE |
| LOW | test/extract-atoms-drain.test.ts | 231 | const handlerBlock = handlerSrc.slice(handlerSrc.indexOf('export function makeExtractAtomsDrainHandler(')); | CODE |
| LOW | test/extract-atoms-drain.test.ts | 235 | expect(handlerSrc.indexOf('export function makeExtractAtomsDrainHandler(')).toBeGreaterThan(-1); | CODE |
| LOW | test/hook-writeback-stop.serial.test.ts | 86 | function writeTranscriptWithToolResult(userText: string, resultChars: number): { path: string; root: string } { | CODE |
| LOW | test/cycle-synthesize.test.ts | 695 | function scanForUnpairedSurrogates(s: string): { index: number; kind: 'lone-high' | 'lone-low' } | null { | CODE |
| LOW | test/graduation-rollback.test.ts | 60 | async function assertTargetAuthoritative(): Promise<void> { | CODE |
| LOW | test/graduation-rollback.test.ts | 117 | async function expectUntouchedAfterMissingCopy(refused: Awaited<ReturnType<typeof refusal>>, copyPath: string): Prom | CODE |
| LOW | test/sync-rename-reconcile.serial.test.ts | 848 | async function setupUntrackedExoticScenario(): Promise<string> { | CODE |
| LOW | test/writer.test.ts | 683 | async function seedDuplicateBacklinkPages(): Promise<void> { | CODE |
| LOW | test/upgrade.serial.test.ts | 225 | async function runUpgradeAgainstFakeInstall(opts: { | CODE |
| LOW | test/onboard-coverage-invariants.test.ts | 39 | async function seedVisibleAndQuarantinedEntities(): Promise<void> { | CODE |
| LOW | test/oauth-authorize-scope-default.test.ts | 97 | async function dcrAuthorizeAndReadScopes(requested: string[]): Promise<string[]> { | CODE |
| LOW | test/minions.test.ts | 3348 | async function activeJobWithLockLapsedMs(msAgo: number): Promise<MinionJob> { | CODE |
| LOW | test/contextual-synopsis-model.serial.test.ts | 250 | async function expectHandlerRegistersNativeSynopsisRoute(opts: { | CODE |
| LOW | test/extract-timeline-from-meetings.test.ts | 141 | async function runExtractCapturingStderr(args: string[]): Promise<string[]> { | CODE |
| LOW | test/cycle-abort.test.ts | 112 | const handlerStart = handlerSource.indexOf('export function makeAutopilotCycleHandler('); | CODE |
| LOW | test/drift-watch.test.ts | 24 | function scratchRepoWithStagedSearchFile(): string { | CODE |
| LOW | test/drift-watch.test.ts | 124 | function committedRepoWithRacyIndex(): string { | CODE |
| LOW | test/envelope-to-gbrain.test.ts | 102 | function assertEveryTimestampQuoted(page: string): void { | CODE |
| LOW | test/managed-synthesis-postprocess.test.ts | 191 | async function childCommittedOrdinaryCycle({ engine, sourceId, root, opts, calls }: Parameters<Parameters<typeof fixture | CODE |
| LOW | test/managed-synthesis-postprocess.test.ts | 314 | async function maintenanceFrontmatterDrift(engine: BrainEngine, sourceId: string, slug: string) { | CODE |
| LOW | test/sync-cost-gate.serial.test.ts | 167 | function commitLargeIncrementalDrop(): void { | CODE |
| LOW | test/dream.test.ts | 452 | function expectNoImplicitSourceExclusions(report: any): void { | CODE |
| LOW | test/handlers-embed-backfill.test.ts | 237 | function configureUnpricedEmbeddingModel(): void { | CODE |
| LOW | test/import-file.test.ts | 529 | function expectCompletedIndexVersion(engine: BrainEngine, slug: string): void { | CODE |
| LOW | test/voyage-multimodal.test.ts | 33 | function configureVoyageMultimodal(env: Record<string, string | undefined> = {}) { | CODE |
| LOW | test/conversation-facts-type-allowlist-drift.test.ts | 123 | function countAllowedTypesImportsFrom(src: string, modulePathEscaped: string): number { | CODE |
| LOW | test/conversation-facts-type-allowlist-drift.test.ts | 137 | function countAllowedTypesImportsFromCommandModule(src: string): number { | CODE |
| LOW | test/db-guard-coverage.test.ts | 92 | function connectsToAmbientDatabaseUrl(src: string): boolean { | CODE |
| LOW | test/gbrain-to-envelope.test.ts | 106 | function assertSchemaFullyImplemented(schema: unknown, path = '#'): void { | CODE |
| LOW | test/oauth.test.ts | 521 | async function insertLegacyTokenWithPermissions( | CODE |
| LOW | test/oauth.test.ts | 599 | async function insertLegacyTokenWithScopes(name: string, scopesLiteral: string | null): Promise<string> { | CODE |
| LOW | test/cli-synthetic-command.test.ts | 32 | 'async function routeSyntheticBeforeTable(command: string, args: string[]): Promise<boolean> {', | CODE |
| LOW | test/cycle-synthesize-subagent-timeout.test.ts | 36 | async function seedWorthProcessingVerdict( | CODE |
| LOW | test/autopilot-drain-deadlock-2050.test.ts | 157 | function maskAsPostgresWithReconnect(target: PGLiteEngine, onReconnect: () => void): BrainEngine { | CODE |
| LOW | test/ambient-recall-hooks.serial.test.ts | 62 | function writePostgresConfigWithLeftoverPath(dataDir: string): void { | CODE |
| LOW | test/put-page-push-reporting.serial.test.ts | 38 | function installFakeDurabilityHook(repoPath: string): void { | CODE |
| LOW | test/jobs-gateway-refresh-set.test.ts | 37 | function parseBuiltinRegistrations(src: string): string[] { | CODE |
| LOW | test/schema-pack-merge.test.ts | 318 | function expandClosureFromManifest(m: SchemaPackManifest, type: string): string[] { | CODE |
| LOW | test/schema-bootstrap-coverage.test.ts | 595 | function parseIndexColumnReferences(sql: string): Array<{ table: string; column: string }> { | CODE |
| LOW | test/schema-bootstrap-coverage.test.ts | 737 | function buildIndexRefCoveragePredicate( | CODE |
| LOW | test/write-through-commit.test.ts | 38 | function installFakeDurabilityHook(repoPath: string): void { | CODE |
| LOW | test/check-resolvable.test.ts | 507 | function makeSparseForeignSkillsFixture(): string { | CODE |
| LOW | test/check-resolvable.test.ts | 522 | function makeDenseSkillpackFixture(): string { | CODE |
| LOW | test/mcp-tool-defs.test.ts | 40 | function referenceParamDefToSchema(p: ParamDefLike): Record<string, unknown> { | CODE |
| LOW | test/eval-brainbench-e2e.slow.test.ts | 46 | function withDefaultCommittedBaseline(args: string[]): string[] { | CODE |
| LOW | test/memory-verbs-conformance.test.ts | 669 | function installDeterministicEmbedder() { | CODE |
| LOW | test/delete-write-through-commit.test.ts | 37 | function installFakeDurabilityHook(repoPath: string): void { | CODE |
| LOW | test/eval-longmemeval-mixedcase.slow.test.ts | 108 | function installFakeEmbedTransport(): { calls: number; fn: any } { | CODE |
| LOW | test/scripts/engine-sql-dynamic.test.ts | 81 | 'declare function privatePagesFilterFragment(...a: unknown[]): string;', | CODE |
| LOW | test/scripts/engine-sql-dynamic.test.ts | 84 | 'declare function currentTextProjectionFilter(...a: unknown[]): string;', | CODE |
| LOW | test/e2e/migration-v47-notability.test.ts | 85 | async function readNotabilityColumnState(): Promise<{ | CODE |
| LOW | test/e2e/skill-brain-first.test.ts | 45 | function copyFixturesIntoTempWorkspace(): Workspace { | CODE |
| LOW | test/e2e/token-usage-skip-locked.test.ts | 53 | async function backendsWaitingOnTokenUpdate(): Promise<number> { | CODE |
| LOW | test/e2e/thin-client.test.ts | 120 | function parseRegisterClientOutput(out: string): { clientId: string; clientSecret: string } { | CODE |
| LOW | test/e2e/install-real-opencode.serial.test.ts | 259 | function registerGbrainIntoOpencode( | CODE |
| LOW | test/e2e/skillopt-models-used.serial.test.ts | 190 | async function abortAtThirdOptimizerCall() { | CODE |
| LOW⚡ | test/e2e/source-routing.test.ts | 166 | async function seedTwoSourcesWithSharedSymbol(engine: PGLiteEngine): Promise<void> { | CODE |
| 1378 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.ci.yml | 1 | # docker-compose.ci.yml | COMMENT |
| LOW | bunfig.toml | 1 | [test] | COMMENT |
| LOW | bunfig.toml | 21 | # test/helpers/audit-dir-preload.ts for the full rationale. | COMMENT |
| LOW | bunfig.toml | 41 | # test/helpers/operator-env-preload.ts. | COMMENT |
| LOW | native/locks/windows-napi.h | 61 | #define napi_get_value_string_utf8 gbrain_napi.napi_get_value_string_utf8 | COMMENT |
| LOW | native/locks/locks.c | 1 | /* SPDX-License-Identifier: MIT | COMMENT |
| LOW | native/locks/locks.c | 21 | #define INVALID_LOCK_HANDLE INVALID_HANDLE_VALUE | COMMENT |
| LOW | native/locks/darwin-abi.h | 41 | #define SEEK_SET 0 | COMMENT |
| LOW | test/google-source-reconcile.test.ts | 921 | } finally { | COMMENT |
| LOW | test/sources-abs-path-3696.test.ts | 101 | describe('#3696 residual — a relative --clone-dir is absolutized before use', () => { | COMMENT |
| LOW | test/migrate.test.ts | 61 | } finally { | COMMENT |
| LOW | test/migrate.test.ts | 121 | expect(v20!.sql).not.toContain('ALTER TABLE files'); | COMMENT |
| LOW | test/migrate.test.ts | 181 | }); | COMMENT |
| LOW | test/migrate.test.ts | 461 | }); | COMMENT |
| LOW | test/migrate.test.ts | 601 | expect(sqlOf(v)).toMatch(/ALTER ROLE % BYPASSRLS/); | COMMENT |
| LOW | test/migrate.test.ts | 841 | const v66Start = src.indexOf("name: 'embed_stale_partial_index'"); | COMMENT |
| LOW | test/migrate.test.ts | 1101 | [fromId, toId, 'mention', `dup-${i}`] | COMMENT |
| LOW | test/migrate.test.ts | 1981 | expect(typeof scorecard.partial_rate).not.toBe('undefined'); | COMMENT |
| LOW | test/migrate.test.ts | 2161 | }); | COMMENT |
| LOW | test/eval-capture-db-plane.test.ts | 141 | // config-merge work and predates this change. Asserting the key set | COMMENT |
| LOW | test/eval-capture-db-plane.test.ts | 201 | expect(cli).toContain('const MERGED_CONFIG_BY_ENGINE = new WeakMap'); | COMMENT |
| LOW | test/brain-registry.serial.test.ts | 261 | const reg = new BrainRegistry([ | COMMENT |
| LOW | test/facts-backstop-gating.test.ts | 21 | await engine.initSchema(); | COMMENT |
| LOW | test/onboard-phantom-rec-gates.test.ts | 1 | // test/onboard-phantom-rec-gates.test.ts | COMMENT |
| LOW | test/onboard-phantom-rec-gates.test.ts | 21 | // `gbrain-base` applies — and gbrain-base DOES declare four inference.regex | COMMENT |
| LOW | test/config-db-plane-round-trips.test.ts | 1 | // Regression: loadConfigWithEngine() read every DB-plane key one at a time. | COMMENT |
| LOW | test/openclaw-plugin-manifest.test.ts | 61 | it('every RECOMMENDED skill is bundled (recommended-but-unscaffoldable is a broken funnel)', () => { | COMMENT |
| LOW | test/schema-pack-trust-boundary.test.ts | 1 | // v0.38 T8: schema_pack per-call trust gate (D13 + codex F4). | COMMENT |
| LOW | test/think-trajectory-injection.test.ts | 201 | }); | COMMENT |
| LOW | test/think-trajectory-injection.test.ts | 321 | const userMsg = captured[0].user; | COMMENT |
| LOW | test/resolvers.test.ts | 621 | // --------------------------------------------------------------------------- | COMMENT |
| LOW | test/doctor-silent-death-checks.test.ts | 341 | // #3766 literal repro check: the reporter's symptom (a code source | COMMENT |
| LOW | test/schema-cli.test.ts | 1 | // v0.38 Phase C: gbrain schema CLI smoke tests. | COMMENT |
| LOW | test/brain-score-recommendations.test.ts | 61 | expect(HOSTED_EMBED_KEY_CONFIG.OPENAI_API_KEY).toBe('openai_api_key'); | COMMENT |
| LOW | test/facts-fence-typed.test.ts | 1 | // v0.35.4 — typed-claim fence parser+renderer round-trip + normalization. | COMMENT |
| LOW | test/doctor-hidden-by-search-policy.test.ts | 61 | COMMENT | |
| LOW | test/sources-ops.test.ts | 1061 | const missingDir = join(SANDBOX, 'does-not-exist-yet'); | COMMENT |
| LOW | test/doctor-embedding-env-override.test.ts | 1 | // v0.41.2.1 — embedding_env_override doctor check (D9 #9). | COMMENT |
| LOW | test/sync-rename-reconcile.serial.test.ts | 2641 | // Sync 2: the clean file lands at the SAME derived slug with DIFFERENT | COMMENT |
| LOW | test/cli-options.test.ts | 121 | expect(r.rest).toEqual(['ask', 'who is alice-example']); | COMMENT |
| LOW | test/cycle-synthesize-concepts-grouping.test.ts | 1 | // #5965: hyphenation variants of one concept label (`network-effects`, | COMMENT |
| LOW | test/extract-atoms-page-discovery.test.ts | 1 | // v0.41.2.1 — page-based discovery + source-hash idempotency for | COMMENT |
| LOW | test/schema-pack-manifest-v041_2.test.ts | 1 | // v0.41 T3 — SchemaPackManifestSchema extensions: phases + calibration_domains. | COMMENT |
| LOW | test/minions.test.ts | 2221 | const a1 = await queue.add('srcsync2', { source_id: 'src-a' }, { maxWaiting: 1 }); | COMMENT |
| LOW | test/operations-trust-boundary.test.ts | 361 | expect(message.toLowerCase()).toContain('permission_denied'); | COMMENT |
| LOW | test/operations-trust-boundary.test.ts | 481 | // remote MCP surface unless someone consciously exempts them. | COMMENT |
| LOW | test/operations-trust-boundary.test.ts | 501 | // confinement serves the localOnly file_upload path) passes vacuously — | COMMENT |
| LOW | test/privacy-strip-and-forget.test.ts | 141 | // #3625 Codex review Critical finding: get_page/fetch_page only ever | COMMENT |
| LOW | test/doctor-pglite-scratch-probe.test.ts | 1 | // #2674 — pglite_scratch_probe: distinguish a damaged PGLite store from a | COMMENT |
| LOW | test/doctor-pglite-scratch-probe.test.ts | 21 | // store: engine=null also covers locks and config refusals. | COMMENT |
| LOW | test/search-mode.test.ts | 441 | // (so a graph-on cache write cannot be served to a graph-off lookup) AND | COMMENT |
| LOW | test/search-mode.test.ts | 461 | // #2825: bumped 11→12 to fold the resolved hard-exclude prefix list | COMMENT |
| LOW | test/search-mode.test.ts | 481 | // #3783/#4220 stamps alter stored rows for identical knobs. | COMMENT |
| LOW | test/search-mode.test.ts | 521 | // callers that don't thread detail share the default-detail rows. | COMMENT |
| LOW | test/search-mode.test.ts | 541 | // epoch, no extra bump: neither part had shipped in a release yet. | COMMENT |
| LOW | test/doctor-sync-consolidation.test.ts | 1 | // v0.41.19.0 — T6 of ops-fix-wave. | COMMENT |
| LOW | test/by-mention.test.ts | 441 | }); | COMMENT |
| LOW | test/by-mention.test.ts | 681 | // on TITLE not slug. So even a non-companies slug with title="Apple" | COMMENT |
| LOW | test/cycle-abort.test.ts | 101 | // Source-level regression guard. | COMMENT |
| LOW | test/keyword-relaxed-fusion.serial.test.ts | 161 | // Common-case demotion must never look degraded — that would put every | COMMENT |
| 1291 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | INSTALL_FOR_AGENTS.md | 11 | ## Step 0: If you are not Claude Code | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 28 | ## Step 1: Install GBrain | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 71 | ## Step 2: API Keys | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 108 | ## Step 3: Create the Brain | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 301 | ## Step 4: Import and Index | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 369 | ## Step 5: Load Skills | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 492 | ## Step 6: Identity (optional) | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 505 | ## Step 7: Recurring Jobs | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 530 | ## Step 8: Integrations | COMMENT |
| LOW | INSTALL_FOR_AGENTS.md | 538 | ## Step 9: Verify | COMMENT |
| LOW | llms-full.txt | 2502 | ## Step 0: If you are not Claude Code | COMMENT |
| LOW | llms-full.txt | 2519 | ## Step 1: Install GBrain | COMMENT |
| LOW | llms-full.txt | 2562 | ## Step 2: API Keys | COMMENT |
| LOW | llms-full.txt | 2599 | ## Step 3: Create the Brain | COMMENT |
| LOW | llms-full.txt | 2792 | ## Step 4: Import and Index | COMMENT |
| LOW | llms-full.txt | 2860 | ## Step 5: Load Skills | COMMENT |
| LOW | llms-full.txt | 2983 | ## Step 6: Identity (optional) | COMMENT |
| LOW | llms-full.txt | 2996 | ## Step 7: Recurring Jobs | COMMENT |
| LOW | llms-full.txt | 3021 | ## Step 8: Integrations | COMMENT |
| LOW | llms-full.txt | 3029 | ## Step 9: Verify | COMMENT |
| LOW | llms-full.txt | 6237 | ## Step 1: See what pack is active today | COMMENT |
| LOW | llms-full.txt | 6258 | ## Step 2: Fork the bundled pack | COMMENT |
| LOW | llms-full.txt | 6268 | ## Step 3: Activate the fork | COMMENT |
| LOW | llms-full.txt | 6280 | ## Step 4: Add a researcher type | COMMENT |
| LOW | llms-full.txt | 6305 | ## Step 5: Import some placeholder researcher pages | COMMENT |
| LOW | llms-full.txt | 6340 | ## Step 6: See the gap with `stats` | COMMENT |
| LOW | llms-full.txt | 6350 | ## Step 7: Backfill with `sync --apply` | COMMENT |
| LOW | llms-full.txt | 6386 | ## Step 8: Prove the wiring works | COMMENT |
| LOW⚡ | test/skill-brain-first.test.ts | 261 | test('matches ### Step 0: Brain Context', () => { | CODE |
| LOW⚡ | test/skill-brain-first.test.ts | 262 | expect(PHASE_HEADING_RE.test('### Step 0: Brain Context')).toBe(true); | CODE |
| LOW⚡ | test/skill-brain-first.test.ts | 427 | const content = `---\nname: good-skill\n---\n# Good Skill\n\n## Step 0: Brain Context\nSearch the brain first with \ | CODE |
| LOW⚡ | test/skill-brain-first.test.ts | 433 | const content = `---\nname: bad-skill\n---\n# Bad Skill\n\n## Step 1: Research\nUse web_search to find information a | CODE |
| LOW⚡ | test/pages-soft-delete.test.ts | 309 | // Step 1: page is visible by default. | COMMENT |
| LOW⚡ | test/pages-soft-delete.test.ts | 314 | // Step 2: soft-delete, default getPage returns null. | COMMENT |
| LOW⚡ | test/pages-soft-delete.test.ts | 319 | // Step 3: include_deleted: true surfaces the row with deleted_at populated. | COMMENT |
| LOW⚡ | test/pages-soft-delete.test.ts | 324 | // Step 4: restore → default getPage returns the row again. | COMMENT |
| LOW⚡ | test/fresh-install-pglite.serial.test.ts | 280 | // Step 1: keyless install → deferred-setup sentinel persisted. | COMMENT |
| LOW⚡ | test/fresh-install-pglite.serial.test.ts | 285 | // Step 2: the key arrives; run the documented recovery command. | COMMENT |
| LOW⚡ | test/serve-status-mode.serial.test.ts | 213 | // Step 2: one shared HTTP server owns the brain. | COMMENT |
| LOW⚡ | test/serve-status-mode.serial.test.ts | 223 | // Step 3: each harness, rewired to the shared server, recalls. | COMMENT |
| LOW⚡ | test/doctor-cli-smoke.test.ts | 88 | // Step 1: init + apply migrations so the brain is at head before doctor runs. | COMMENT |
| LOW⚡ | test/doctor-cli-smoke.test.ts | 94 | // Step 2: doctor --json against the fresh brain. This is the load-bearing | COMMENT |
| LOW⚡ | test/apply-migrations-pglite-spawn.test.ts | 115 | // Step 1: init --migrate-only seeds the schema. Pre-fix on PGLite this | COMMENT |
| LOW⚡ | test/apply-migrations-pglite-spawn.test.ts | 121 | // Step 2: apply-migrations --yes runs the orchestrator chain. Pre-fix | COMMENT |
| LOW⚡ | test/apply-migrations-pglite-spawn.test.ts | 143 | // Step 3: re-run is idempotent — "All migrations up to date" must exit | COMMENT |
| LOW | test/scripts/ci-local-rendering.test.ts | 141 | const start = source.indexOf('# Step 4: build the runner-side command.'); | CODE |
| LOW | test/skillopt/adversarial/resume-after-crash.test.ts | 47 | // Step 1: accept v1 cleanly. | COMMENT |
| LOW | test/skillopt/adversarial/resume-after-crash.test.ts | 78 | // Step 2: stage a pending v2 (simulates crash). | COMMENT |
| LOW | test/skillopt/adversarial/resume-after-crash.test.ts | 89 | // Step 3: resume — call revertAllPending (what runOptimizationLoop does). | COMMENT |
| LOW⚡ | test/skillopt/adversarial/partial-write-crash.test.ts | 92 | // Step 1: a clean accept. | COMMENT |
| LOW⚡ | test/skillopt/adversarial/partial-write-crash.test.ts | 98 | // Step 2: stage a pending v2 from a crashed run. | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 40 | // Step 1: Submit a slow job with a short timeout | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 46 | // Step 2: Submit a fast job that should run AFTER the slow one times out | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 75 | // Step 3: Start worker | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 78 | // Step 4: Wait for slow job timeout (200ms) + handler abort + fast job execution | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 81 | // Step 5: Stop worker | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 85 | // Step 6: Verify | COMMENT |
| LOW | test/e2e/serve-http-oauth.test.ts | 1121 | // Step 1: register a throwaway client via CLI. | COMMENT |
| LOW | test/e2e/serve-http-oauth.test.ts | 1134 | // Step 2: mint a token through the live server. | COMMENT |
| LOW⚡ | test/e2e/serve-http-oauth.test.ts | 1147 | // Step 3: revoke via the CLI subprocess. | COMMENT |
| 341 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | llms-full.txt | 7840 | # Scaling skills past 300 without drowning the context window | COMMENT |
| MEDIUM | TODOS.md | 5454 | three real wins in PR #1316 (`chipoto69` — "Phase 4 multi-agent hardening") | CODE |
| MEDIUM | TODOS.md | 6337 | ## v0.37.4.0 pgGraph CI scaffolding follow-ups (v0.37.x+) | COMMENT |
| MEDIUM | test/embedding-input-limit.test.ts | 2 | * #4530 — the chunker respects the embedding model's per-input token limit. | COMMENT |
| MEDIUM | test/company-brain-runtime.test.ts | 35 | 'README.md': '# Excluded scaffolding\n', | CODE |
| MEDIUM | test/openclaw-plugin-manifest.test.ts | 63 | // by slug; `gbrain skillpack scaffold <slug>` resolves against the plugin | COMMENT |
| MEDIUM | test/openclaw-plugin-manifest.test.ts | 64 | // bundle. A recommendation the scaffold can't fulfill is a dead-end CTA — | COMMENT |
| MEDIUM | test/skillpack-scaffold-harness.test.ts | 438 | // scaffold's "Update lens" hint must run verbatim with the targeting flags the | COMMENT |
| MEDIUM | test/skillpack-reference-apply.test.ts | 90 | // bundle. Without scaffold-time base tracking, we cannot tell | COMMENT |
| MEDIUM | test/skillpack-reference-apply.test.ts | 134 | // Don't scaffold — leave target missing. | COMMENT |
| MEDIUM | test/skillify-scaffold.test.ts | 188 | // to scaffold. The plan must NOT queue a duplicate append, even | COMMENT |
| MEDIUM | test/skillify-scaffold.test.ts | 427 | // cross-modal eval. No `gbrain skillify scaffold demo-eleven` shell-out | COMMENT |
| MEDIUM | test/skillify-scaffold.test.ts | 449 | // Receipts naming convention is documented in the scaffold so the | COMMENT |
| MEDIUM | test/skillify-scaffold.test.ts | 453 | // Pass criterion is documented in the scaffold (Q2 floor + Q3 floor). | COMMENT |
| MEDIUM | test/cycle-dream-output-root.test.ts | 310 | // serve the tool-less oneshot attempt AND its agentic fallback. | COMMENT |
| MEDIUM | test/advisor-collectors-findings.test.ts | 208 | expect(f.fix.dispatch_id).toBeUndefined(); // scaffold is not --apply-dispatchable | CODE |
| MEDIUM | test/embedding-pricing.test.ts | 189 | // #4344 — hosted-recipe coverage gate: every embedding model the voyage | COMMENT |
| MEDIUM | test/embedding-pricing.test.ts | 221 | // Same coverage gate as #4344, for the `google` recipe: every embedding model | COMMENT |
| MEDIUM | test/brain-durability-hook.serial.test.ts | 474 | test('#3925 — the scaffolding commit does NOT fire the hook (no racing background push)', async () => { | CODE |
| MEDIUM | test/brain-allowlist.test.ts | 286 | // #4852: trusted-workspace subagents (dream synth agentic lane, patterns, | COMMENT |
| MEDIUM | test/brain-allowlist.test.ts | 286 | // #4852: trusted-workspace subagents (dream synth agentic lane, patterns, | COMMENT |
| MEDIUM | test/sync-failure-ledger.serial.test.ts | 293 | describe('#5 + #6 applySyncFailureGate orchestration', () => { | CODE |
| MEDIUM | test/repo-root.test.ts | 317 | // skillify scaffold, post-install-advisory). If a future edit adds the | COMMENT |
| MEDIUM | test/skill-currency.test.ts | 83 | // alpha: scaffold, leave untouched → current | COMMENT |
| MEDIUM | test/skill-currency.test.ts | 86 | // beta: scaffold, then user edits a file → drifted | COMMENT |
| MEDIUM | test/skill-currency.test.ts | 133 | // alpha ships two files; scaffold both, then delete one → identical>0, missing>0. | COMMENT |
| MEDIUM | test/skillpack-flow.test.ts | 121 | // Run scaffold from gbrainRoot so it picks up our scratch bundle. | COMMENT |
| MEDIUM | test/subagent-handler.test.ts | 1281 | expect(client.calls.length).toBe(0); // agentic loop never ran | CODE |
| MEDIUM | test/link-extraction.test.ts | 982 | ### 2026-08-07 — Example orchestration event | COMMENT |
| MEDIUM | test/link-extraction.test.ts | 969 | '### 2026-08-07 — Example orchestration event', | CODE |
| MEDIUM | test/apply-migrations-orchestration-lock.test.ts | 2 | * #5693: two `gbrain apply-migrations` runners must never orchestrate the same | COMMENT |
| MEDIUM | test/skillpack-scaffold.test.ts | 180 | // First, scaffold without the paired source declared (simulating "skill | COMMENT |
| MEDIUM | test/skillpack-scaffold.test.ts | 187 | // Now scaffold (gbrain bundle has the paired source declared); the | COMMENT |
| MEDIUM | test/eval-v041_2-scaffolds.test.ts | 1 | // v0.41 T11 → E4: envelope contract for the one surviving eval scaffold, | COMMENT |
| MEDIUM | test/cli-cwd-dotenv-quarantine.test.ts | 170 | // ── Preflight ORDER: quarantine → $GBRAIN_HOME/.gbrain/.env → guardrails ──── | COMMENT |
| MEDIUM | test/cli-cwd-dotenv-quarantine.test.ts | 196 | // The planted "home" carries a .gbrain/.env naming the probe as guardrails module. | COMMENT |
| MEDIUM | test/cli-cwd-dotenv-quarantine.test.ts | 565 | // modelled by an operator-EXPORTED guardrails module: it replaces the child's | COMMENT |
| MEDIUM | test/cli-cwd-dotenv-quarantine.test.ts | 602 | const { dir } = hostileRepo(() => 'GBRAIN_ALLOW_SHELL_JOBS=1'); // protected, NOT the guardrails key → quarantine + | CODE |
| MEDIUM | test/schema-pack/scaffold-extractable.test.ts | 1 | // v0.42 Wave C1 — scaffold-extractable mutation tests. | COMMENT |
| MEDIUM | test/schema-pack/scaffold-extractable.test.ts | 6 | // at test/e2e/schema-scaffold-extractable.test.ts because it needs | COMMENT |
| MEDIUM | test/extract/benchmark.test.ts | 112 | // user gets the scaffold-extractable hint, not a path error. | COMMENT |
| MEDIUM | test/e2e/workspace-generic-compat.test.ts | 120 | // scaffold reports as written actually exists; paired sources (from | COMMENT |
| MEDIUM⚡ | test/e2e/workspace-generic-compat.test.ts | 131 | // check-resolvable stays clean after scaffold: the scaffolded skill | COMMENT |
| MEDIUM⚡ | test/e2e/workspace-generic-compat.test.ts | 132 | // is reachable via its own frontmatter triggers (scaffold contract 1 | COMMENT |
| MEDIUM⚡ | test/e2e/workspace-generic-compat.test.ts | 139 | // Contract 2 (scaffold.ts header): once a file lands, the user owns | COMMENT |
| MEDIUM | test/e2e/apply-migrations-orchestration-lock.test.ts | 2 | * #5693 on Postgres: the apply-migrations orchestration lock is a renewable | COMMENT |
| MEDIUM | test/helpers/wave-scenarios.ts | 128 | // #5629: repairable now; with no embedding model configured the repair can only report it blocked, so the operator | COMMENT |
| MEDIUM | test/helpers/apply-migrations-lock-driver.ts | 1 | /** Drivers for the #5693 apply-migrations orchestration-lock tests (PGLite and Postgres). */ | COMMENT |
| MEDIUM | docs/skillpack-anatomy.md | 18 | │ └── bootstrap.md # post-scaffold display (NOT an executor) | CODE |
| MEDIUM | docs/skillpack-anatomy.md | 96 | gbrain skillpack init my-pack # scaffold the tree | CODE |
| MEDIUM | docs/skillpack-anatomy.md | 98 | gbrain skillpack doctor my-pack --fix --yes # auto-scaffold missing pieces | CODE |
| MEDIUM | docs/GBRAIN_RECOMMENDED_SCHEMA.md | 922 | ## What makes this different from RAG | COMMENT |
| MEDIUM | docs/designs/SYSTEM_ONE_JEV_V1.md | 963 | | Evidence | GBRA-4, #5178, probes | per-slot verdicts | 2 verdicts | none for orchestration rewrite | | CODE |
| MEDIUM | docs/designs/SKILLPACK_REGISTRY_V1_SPEC.md | 883 | gbrain skillpack init <name> # NEW: scaffold publisher repo | CODE |
| MEDIUM | docs/designs/KNOWLEDGE_RUNTIME.md | 415 | ### 6.1 The anti-hallucination invariant | COMMENT |
| MEDIUM | docs/designs/KNOWLEDGE_RUNTIME.md | 459 | // src/core/output/scaffold.ts | COMMENT |
| MEDIUM | docs/architecture/frontmatter-scan-incremental.md | 75 | // version the scaffold picked; not a reserved slot) | COMMENT |
| MEDIUM | docs/architecture/schema-packs.md | 92 | gbrain schema init <name> # scaffold a stub pack (experimental) | CODE |
| MEDIUM | docs/architecture/topologies.md | 273 | ### Recommended embedding model | COMMENT |
| MEDIUM | docs/architecture/key-files/core-cycle-continued.md | 20 | - `src/core/cycle/synthesize.ts` — Synthesize phase: conversation-transcript-to-brain pipeline, a two-stage cascade wher | CODE |
| 85 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | test/skill-brain-first.test.ts | 261 | test('matches ### Step 0: Brain Context', () => { | CODE |
| LOW⚡ | test/skill-brain-first.test.ts | 262 | expect(PHASE_HEADING_RE.test('### Step 0: Brain Context')).toBe(true); | CODE |
| LOW⚡ | test/skill-brain-first.test.ts | 427 | const content = `---\nname: good-skill\n---\n# Good Skill\n\n## Step 0: Brain Context\nSearch the brain first with \ | CODE |
| LOW⚡ | test/skill-brain-first.test.ts | 433 | const content = `---\nname: bad-skill\n---\n# Bad Skill\n\n## Step 1: Research\nUse web_search to find information a | CODE |
| LOW⚡ | test/pages-soft-delete.test.ts | 309 | // Step 1: page is visible by default. | COMMENT |
| LOW⚡ | test/pages-soft-delete.test.ts | 314 | // Step 2: soft-delete, default getPage returns null. | COMMENT |
| LOW⚡ | test/pages-soft-delete.test.ts | 319 | // Step 3: include_deleted: true surfaces the row with deleted_at populated. | COMMENT |
| LOW⚡ | test/pages-soft-delete.test.ts | 324 | // Step 4: restore → default getPage returns the row again. | COMMENT |
| LOW⚡ | test/fresh-install-pglite.serial.test.ts | 280 | // Step 1: keyless install → deferred-setup sentinel persisted. | COMMENT |
| LOW⚡ | test/fresh-install-pglite.serial.test.ts | 285 | // Step 2: the key arrives; run the documented recovery command. | COMMENT |
| LOW⚡ | test/serve-status-mode.serial.test.ts | 213 | // Step 2: one shared HTTP server owns the brain. | COMMENT |
| LOW⚡ | test/serve-status-mode.serial.test.ts | 223 | // Step 3: each harness, rewired to the shared server, recalls. | COMMENT |
| LOW⚡ | test/doctor-cli-smoke.test.ts | 88 | // Step 1: init + apply migrations so the brain is at head before doctor runs. | COMMENT |
| LOW⚡ | test/doctor-cli-smoke.test.ts | 94 | // Step 2: doctor --json against the fresh brain. This is the load-bearing | COMMENT |
| LOW⚡ | test/apply-migrations-pglite-spawn.test.ts | 115 | // Step 1: init --migrate-only seeds the schema. Pre-fix on PGLite this | COMMENT |
| LOW⚡ | test/apply-migrations-pglite-spawn.test.ts | 121 | // Step 2: apply-migrations --yes runs the orchestrator chain. Pre-fix | COMMENT |
| LOW⚡ | test/apply-migrations-pglite-spawn.test.ts | 143 | // Step 3: re-run is idempotent — "All migrations up to date" must exit | COMMENT |
| LOW⚡ | test/apply-migrations-pglite-spawn.test.ts | 149 | // Step 4: --list exits 0 (third leg of the #1062 contract). | COMMENT |
| LOW | test/scripts/ci-local-rendering.test.ts | 141 | const start = source.indexOf('# Step 4: build the runner-side command.'); | CODE |
| LOW | test/skillopt/adversarial/resume-after-crash.test.ts | 47 | // Step 1: accept v1 cleanly. | COMMENT |
| LOW | test/skillopt/adversarial/resume-after-crash.test.ts | 78 | // Step 2: stage a pending v2 (simulates crash). | COMMENT |
| LOW | test/skillopt/adversarial/resume-after-crash.test.ts | 89 | // Step 3: resume — call revertAllPending (what runOptimizationLoop does). | COMMENT |
| LOW⚡ | test/skillopt/adversarial/partial-write-crash.test.ts | 92 | // Step 1: a clean accept. | COMMENT |
| LOW⚡ | test/skillopt/adversarial/partial-write-crash.test.ts | 98 | // Step 2: stage a pending v2 from a crashed run. | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 40 | // Step 1: Submit a slow job with a short timeout | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 46 | // Step 2: Submit a fast job that should run AFTER the slow one times out | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 75 | // Step 3: Start worker | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 78 | // Step 4: Wait for slow job timeout (200ms) + handler abort + fast job execution | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 81 | // Step 5: Stop worker | COMMENT |
| LOW⚡ | test/e2e/worker-abort-recovery.test.ts | 85 | // Step 6: Verify | COMMENT |
| LOW | test/e2e/serve-http-oauth.test.ts | 1121 | // Step 1: register a throwaway client via CLI. | COMMENT |
| LOW | test/e2e/serve-http-oauth.test.ts | 1134 | // Step 2: mint a token through the live server. | COMMENT |
| LOW⚡ | test/e2e/serve-http-oauth.test.ts | 1147 | // Step 3: revoke via the CLI subprocess. | COMMENT |
| LOW⚡ | test/e2e/serve-http-oauth.test.ts | 1157 | // Step 4: previously-minted token must now be rejected at /mcp. Cascade | COMMENT |
| LOW⚡ | test/e2e/serve-http-oauth.test.ts | 1167 | // Step 5: re-running revoke-client on the now-deleted id must exit 1. | COMMENT |
| LOW⚡ | test/e2e/sync.test.ts | 488 | // Step 1: First sync of the clean repo — should succeed. | COMMENT |
| LOW⚡ | test/e2e/sync.test.ts | 494 | // Step 2: Add a broken file — frontmatter slug doesn't match path-derived slug. | COMMENT |
| LOW⚡ | test/e2e/sync.test.ts | 504 | // Step 3: Sync should block. Bookmark must NOT advance. | COMMENT |
| LOW⚡ | test/e2e/sync.test.ts | 518 | // Step 4: Run with skipFailed — bookmark advances, entry gets acked. | COMMENT |
| LOW⚡ | test/e2e/sync.test.ts | 528 | // Step 5: Verify what doctor would render for the historical entry. | COMMENT |
| LOW | test/e2e/sync.test.ts | 543 | // Step 6: Add a second broken file — this one with a different failure code | COMMENT |
| LOW | test/e2e/sync.test.ts | 559 | // Step 7: Sync blocks again on the new failure. Old entry stays acked. | COMMENT |
| LOW | test/e2e/sync.test.ts | 573 | // Step 8: Skip again — both entries acked, summary aggregates the count. | COMMENT |
| LOW | test/e2e/eval-loop.test.ts | 154 | // Step 1: capture three search queries against the live brain. | COMMENT |
| LOW⚡ | test/e2e/eval-loop.test.ts | 166 | // Step 2: publish a baseline from the captured rows. | COMMENT |
| LOW⚡ | test/e2e/eval-loop.test.ts | 173 | // Step 3: gate against the baseline. Since the brain hasn't changed, | COMMENT |
| LOW⚡ | test/e2e/system-of-record-invariant.test.ts | 209 | // Step 3: snapshot. | COMMENT |
| LOW⚡ | test/e2e/system-of-record-invariant.test.ts | 218 | // Step 4: DELETE every rebuildable derived table. NOT tags — tags | COMMENT |
| LOW⚡ | test/e2e/system-of-record-invariant.test.ts | 229 | // Step 5: re-import all + re-extract. Re-import is what rebuilds | COMMENT |
| LOW⚡ | test/e2e/system-of-record-invariant.test.ts | 234 | // Step 6: snapshot + diff. | COMMENT |
| LOW | tests/heavy/pg_upgrade_matrix.sh | 66 | # Step 1: build the legacy fixture (drop schema, init to LATEST, down-mutate) | COMMENT |
| LOW | tests/heavy/pg_upgrade_matrix.sh | 77 | # Step 2: walk forward. `gbrain doctor` triggers engine.connect() which | COMMENT |
| LOW | tests/heavy/pg_upgrade_matrix.sh | 92 | # Step 3: assert status is non-fatal. We accept 'ok' and 'warnings' because | COMMENT |
| LOW | tests/heavy/frontmatter_scan_wallclock.sh | 58 | # Step 1: seed the synthetic brain. | COMMENT |
| LOW | tests/heavy/frontmatter_scan_wallclock.sh | 85 | # Step 2: init brain + register the source. | COMMENT |
| LOW | tests/heavy/frontmatter_scan_wallclock.sh | 124 | # Step 3: run gbrain doctor; capture wall-clock + exit + frontmatter_integrity status. | COMMENT |
| LOW | tests/heavy/frontmatter_scan_wallclock.sh | 135 | # Step 4: assert. | COMMENT |
| LOW⚡ | tests/heavy/_build_legacy_fixtures.sh | 62 | # Step 1: reset schema | COMMENT |
| LOW⚡ | tests/heavy/_build_legacy_fixtures.sh | 66 | # Step 2: bring to LATEST via gbrain. The CLI's `doctor --json` triggers | COMMENT |
| LOW⚡ | tests/heavy/_build_legacy_fixtures.sh | 74 | # Step 3: down-mutate to the target shape | COMMENT |
| 82 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | evals/brainbench/baselines/main.json | 23 | "justification": "#5575 shipped defaults set by the preregistered paid eval (gbrain-evals capy/memory-trust-evals, doc | CODE |
| MEDIUM | test/harness-rotation-grants.test.ts | 2 | * #5893: `bootstrap harness` rotation carries the replaced token's grants. | COMMENT |
| MEDIUM | test/eval-chronicle.test.ts | 2 | * v0.42.x — Life Chronicle (#2390) feature eval harness (Phase A.9, PRIMARY proof). | COMMENT |
| MEDIUM | test/sources.test.ts | 33 | // Match by substring so tests are robust against whitespace. | COMMENT |
| MEDIUM⚡ | test/bootstrap-doctor-checks.test.ts | 190 | test('a harness receipt ALONE opens the gate (#4043 — harness-only boxes get checks)', async () => { | CODE |
| MEDIUM | test/sources-ops.test.ts | 1080 | // #2707 git validation, which the fake-git harness defeats. | COMMENT |
| MEDIUM | test/cycle-synthesize-daily-cap.test.ts | 152 | // CDX-4 (#4217 family): in this keyless harness every submitted child | COMMENT |
| MEDIUM | test/doctor-harness-wiring-plugin.test.ts | 2 | * #6082: `harness_wiring` counts a harness whose config enables a gbrain | COMMENT |
| MEDIUM | test/bootstrap-seat.serial.test.ts | 2 | * #4618 `gbrain bootstrap hooks --seat <label>` / `bootstrap harness --seat`: | COMMENT |
| MEDIUM | test/sum-stale-chunk-chars.test.ts | 94 | // depend on gateway-configured dimensions (keeps it robust regardless of | COMMENT |
| MEDIUM | test/sum-stale-chunk-chars.test.ts | 98 | // in atttypmod) so the test is robust to whatever dim initSchema chose. | COMMENT |
| MEDIUM | test/cycle-synthesize-subagent-timeout.test.ts | 76 | // CDX-4 (#4217 family): the child dies in this keyless harness, and a | COMMENT |
| MEDIUM | test/doctor-memory-writeback.test.ts | 109 | test('#5671 explicit private default + HTTP harness receipt → warn naming the remote read-back consequence (on and off | CODE |
| MEDIUM | test/bootstrap-dispatcher.serial.test.ts | 941 | describe('uninstall × harness receipt (#4043 harness-first composition)', () => { | CODE |
| MEDIUM | test/transcript-render.test.ts | 188 | const nasty = session(BASIC.messages, { title: 'quote" colon: [brackets] re #4106', harness: 'chatgpt' }); | CODE |
| MEDIUM | test/bootstrap-subcommand-help.serial.test.ts | 209 | // #5488: `harness` was missing from SUBCOMMAND_HELP, so the dispatch's | COMMENT |
| MEDIUM | test/migration-v120.test.ts | 39 | // string so the assertion is robust to driver array shape. | COMMENT |
| MEDIUM | test/bootstrap-verify-hook-carrier-overlap.test.ts | 108 | test('#6092: user-scope harness hooks the host stripped of their marker still count as a carrier', () => { | CODE |
| MEDIUM | test/mcp-initialize-instructions.test.ts | 168 | describe('#6170: writeback line and error protocol inside the harness read limit', () => { | CODE |
| MEDIUM | test/cycle-synthesize-breaker.test.ts | 148 | // CDX-4 (#4217 family): in this keyless harness every submitted child | COMMENT |
| MEDIUM | test/connect.test.ts | 199 | test('claude argv with scope — inserted after the name (#4043 harness lane; claude default is local)', () => { | CODE |
| MEDIUM | test/bootstrap-harness.serial.test.ts | 1542 | // #5671: an explicitly-private brain default meets an HTTP harness — the | COMMENT |
| MEDIUM | test/bootstrap-harness.serial.test.ts | 1547 | test('#5671 private default + HTTP harness → warning names the consequence and the fix before consent', async () => { | CODE |
| MEDIUM | test/autopilot-install-wrapper.test.ts | 9 | * These run the FULL generated wrapper under real bash; the #2608 harness in | COMMENT |
| MEDIUM | test/autopilot-install-wrapper.test.ts | 136 | // indexOf("exec '") (used by the #2608 truncation harness and the | COMMENT |
| MEDIUM | tests/docker/bootstrap-e2e.sh | 3 | # harness [A7]. This is the script .github/workflows/heavy-tests.yml's | COMMENT |
| MEDIUM | …s/integrations/qm-harness-snippets/provision-scopes.sh | 3 | # (or any multi-user agent harness with per-person + per-channel scopes). | COMMENT |
| MEDIUM | …s/integrations/qm-harness-snippets/provision-scopes.sh | 30 | # scope's sandbox (e.g. via the harness keychain or a one-time secret drop), | COMMENT |
| MEDIUM | scripts/check-fuzz-purity.sh | 87 | # A fuzz harness that pulls in `engine.ts` could trigger DB connections through | COMMENT |
| LOW | scripts/run-e2e.sh | 141 | # internals survive untouched. We keep GBRAIN_HOME (just set above for HOME | COMMENT |
| MEDIUM | scripts/test-shard.sh | 80 | # evals/ is included: its *.test.ts files (eval-harness unit tests) were | COMMENT |
| MEDIUM⚡ | scripts/guard-self-test.sh | 2 | # W0 fix-wave (Tier-1 #11 / D5.14): guard self-test harness. | COMMENT |
| MEDIUM⚡ | scripts/guard-self-test.sh | 9 | # This harness makes that class structurally impossible for scanner guards: | COMMENT |
| MEDIUM⚡ | scripts/guard-self-test.sh | 17 | # Also prints total harness wall-clock (guard-runtime budget line, D4.5): | COMMENT |
| MEDIUM | scripts/check-fixture-privacy.sh | 36 | # cathedral-4: the transcripts-import fixtures (raw harness/export shapes) | COMMENT |
| MEDIUM | scripts/check-test-real-names.sh | 35 | # 'Hermes' removed (hermes-harness wave): here it names NousResearch/hermes-agent, | COMMENT |
| MEDIUM | scripts/check-jsonb-pattern.sh | 20 | # W0 fix-wave (Tier-1 #11): self-test seam — the guard harness points this at | COMMENT |
| MEDIUM | scripts/check-no-double-retry.sh | 22 | # W0 fix-wave (Tier-1 #11): self-test seam. The guard harness points this at | COMMENT |
| MEDIUM | scripts/check-bootstrap-templates.sh | 201 | # ── (e) harness-scoping counter-signal pins (scope = Claude Code + opencode) ─ | COMMENT |
| LOW | scripts/import-from-upstream.sh | 171 | # subordinate script. For v0, just call the guard against the destination | COMMENT |
| MEDIUM | scripts/bench/stall-repro-vm-setup.sh | 5 | # checkout (~/work/gbrain). Installs Docker, git, bun, pulls the harness images, | COMMENT |
| MEDIUM | scripts/pglite-checkpoint-harness/supervisor.ts | 2 | // #5449 large-store harness supervisor. Runs outside the default CI shards. | COMMENT |
| MEDIUM | scripts/pglite-checkpoint-harness/worker.ts | 1 | // #5449 harness worker: imports many large pages through PGLiteEngine.transaction | COMMENT |
| MEDIUM | .github/workflows/macos-validation.yml | 15 | # #5449 PGLite checkpoint harness on a >= 2 GiB store, asserting the WAL bound. | COMMENT |
| MEDIUM | .github/workflows/macos-validation.yml | 69 | - name: "#5449 PGLite checkpoint harness on a >= 2 GiB store" | CODE |
| MEDIUM | .github/workflows/macos-validation.yml | 73 | - name: "#5449 harness result" | CODE |
| MEDIUM | .github/workflows/heavy-tests.yml | 624 | # test/helpers/agent-harness.ts and scenarioGrokInstall in | COMMENT |
| MEDIUM | .github/workflows/test.yml | 526 | # PGLite, zero API keys, ~15s for the full 141-fixture × 3-harness run. | COMMENT |
| MEDIUM | .github/workflows/scale-tier.yml | 83 | # schema and migrations, the harness itself (and this workflow). | COMMENT |
| MEDIUM | .github/workflows/scale-tier.yml | 135 | # Backstop only: the harness's out-of-process phase watchdog | COMMENT |
| MEDIUM | .github/workflows/scale-tier.yml | 193 | { echo "### Phase watchdog killed the harness"; echo '```'; cat "$WATCHDOG"; echo '```'; } >> "$GITHUB_STE | CODE |
| MEDIUM | templates/bootstrap/cloud-setup-script.sh | 47 | # gbrain bootstrap hooks --harness claude-code # committed-carrier hooks (next session picks them up) | COMMENT |
| MEDIUM | src/core/source-resolver.ts | 214 | // to tier 6 rather than throwing. Resolver stays robust to bad config. | COMMENT |
| MEDIUM | src/core/error-catalogue.ts | 80 | setup_harness_unsupported: { code: 'setup_harness_unsupported', docs: 'docs/guides/repair.md#setup-harness-unsupported | CODE |
| MEDIUM | src/core/token-mint.ts | 3 | * (#4043 `gbrain bootstrap harness`; extracted from src/commands/auth.ts's | COMMENT |
| MEDIUM | src/core/token-mint.ts | 146 | * #5893 rotation carry-over: the grants a rotated harness token inherits from | COMMENT |
| MEDIUM | src/core/error-registry.ts | 222 | harness_hook_unowned: { class: 'caller', summary: "A hook entry looks like gbrain's harness hook but is not this insta | CODE |
| MEDIUM | src/core/error-registry.ts | 372 | setup_harness_unsupported: { class: 'caller', summary: "gbrain setup does not wire this harness yet; its guide has the | CODE |
| MEDIUM | src/core/error-registry.ts | 373 | setup_hosted_connection: { class: 'caller', summary: "This machine already reaches a hosted brain, so gbrain setup wil | CODE |
| MEDIUM | src/core/bootstrap/format.ts | 214 | // Machine-level harness receipt (#4043 `gbrain bootstrap harness`) | COMMENT |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/extract-by-mention.test.ts | 91 | await engine.putPage('companies/acme', { type: 'company', title: 'Acme Corp', compiled_truth: 'acme body', timeline: ' | CODE |
| LOW | test/grade-takes-evidence.test.ts | 133 | title: 'Acme Corp', | CODE |
| LOW | test/publish.test.ts | 89 | expect(extractTitle('# Jane Doe\n\nContent.')).toBe('Jane Doe'); | CODE |
| LOW | test/longmemeval-intent.test.ts | 17 | question: opts.question ?? 'placeholder', | CODE |
| LOW | test/longmemeval-intent.test.ts | 18 | answer: 'placeholder', | CODE |
| LOW | test/chunk-grain-fts.test.ts | 75 | compiled_truth: 'placeholder', | CODE |
| LOW | test/chunk-grain-fts.test.ts | 85 | compiled_truth: 'placeholder', | CODE |
| LOW | test/chunk-grain-fts.test.ts | 96 | compiled_truth: 'placeholder', | CODE |
| LOW | test/chunk-grain-fts.test.ts | 143 | compiled_truth: 'placeholder', | CODE |
| LOW | test/chunk-grain-fts.test.ts | 190 | compiled_truth: 'placeholder', | CODE |
| LOW | test/chunk-grain-fts.test.ts | 199 | compiled_truth: 'placeholder', | CODE |
| LOW | test/bench-publish.test.ts | 36 | const input = [makeInput('hello world'), makeInput('lorem ipsum')]; | CODE |
| LOW | test/resolvers.test.ts | 423 | process.env.X_API_BEARER_TOKEN = 'fake-token'; | CODE |
| LOW | test/resolvers.test.ts | 428 | const ctx = makeCtx({ config: { x_api_bearer_token: 'fake-token' } }); | CODE |
| LOW | test/extract-by-mention-resume.test.ts | 63 | await engine.putPage('companies/acme', { type: 'company', title: 'Acme Corp', compiled_truth: 'acme body', timeline: ' | CODE |
| LOW | test/extract-by-mention-resume.test.ts | 163 | test('same-bucket gazetteer change ("Acme Labs" beside "Acme Corp") invalidates the checkpoint — page re-scanned', asy | CODE |
| LOW | test/serve-sync-runner.serial.test.ts | 43 | execSync('git config user.email "test@test.com"', { cwd: repo, stdio: 'pipe' }); | CODE |
| LOW | test/managed-lint.test.ts | 217 | await seed(engine, sourceId, BOB, PAGE.replace('Jane Doe', 'Bob Example')); | CODE |
| LOW | test/sync-rename-reconcile.serial.test.ts | 78 | execSync('git config user.email "test@test.com"', { cwd: dir, stdio: 'pipe' }); | CODE |
| LOW | test/sync-rename-reconcile.serial.test.ts | 2197 | execSync('git config user.email "test@test.com" && git config user.name "Test"', { | CODE |
| LOW | test/extract-by-mention-rebuild.test.ts | 79 | await engine.putPage('companies/acme', { type: 'company', title: 'Acme Corp', compiled_truth: 'acme body', timeline: ' | CODE |
| LOW | test/schema-pack-registry-reload.test.ts | 145 | writeFileSync(packPath, 'placeholder', 'utf-8'); | CODE |
| LOW | test/write-gate-detector-differential.test.ts | 74 | let piece = r < 0.45 * anchorShare ? pick(VOCAB) : r < 0.75 * anchorShare ? pick(FRAGMENTS) : r < 0.9 ? 'lorem ipsum | CODE |
| LOW | test/write-gate-detector-differential.test.ts | 74 | let piece = r < 0.45 * anchorShare ? pick(VOCAB) : r < 0.75 * anchorShare ? pick(FRAGMENTS) : r < 0.9 ? 'lorem ipsum | CODE |
| LOW | test/write-gate-detector-differential.test.ts | 157 | const filler = (n: number) => 'lorem ipsum dolor sit amet consectetur '.repeat(Math.ceil(n / 39)).slice(0, n); | CODE |
| LOW | test/write-gate-detector-differential.test.ts | 157 | const filler = (n: number) => 'lorem ipsum dolor sit amet consectetur '.repeat(Math.ceil(n / 39)).slice(0, n); | CODE |
| LOW | test/write-gate-detector-differential.test.ts | 174 | const text = `Notes from${(', say it' + ' so'.repeat(20)).slice(0, reach - 'henceforth'.length - 1)} henceforthish t | CODE |
| LOW | test/write-gate-detector-differential.test.ts | 174 | const text = `Notes from${(', say it' + ' so'.repeat(20)).slice(0, reach - 'henceforth'.length - 1)} henceforthish t | CODE |
| LOW | test/backlinks.test.ts | 15 | expect(refs[0].name).toBe('Jane Doe'); | CODE |
| LOW | test/backlinks.test.ts | 24 | expect(refs[0].name).toBe('Acme Corp'); | CODE |
| LOW | test/backlinks.test.ts | 48 | expect(extractPageTitle('---\ntitle: "Jane Doe"\ntype: person\n---\n# Jane')).toBe('Jane Doe'); | CODE |
| LOW | test/backlinks.test.ts | 52 | expect(extractPageTitle('---\ntype: person\n---\n# Jane Doe')).toBe('Jane Doe'); | CODE |
| LOW | test/frontmatter-inference.test.ts | 143 | expect(result.title).toBe('John Doe'); | CODE |
| LOW | test/ops-loops.test.ts | 172 | await upsertOpenLoop(engine, loop({ dedupKey: 'a', loopType: 'commitment_owed_by_me', counterpartyEmail: 'a@example. | CODE |
| LOW | test/ops-loops.test.ts | 173 | await upsertOpenLoop(engine, loop({ dedupKey: 'b', loopType: 'commitment_owed_to_me', counterpartyEmail: 'b@example. | CODE |
| LOW | test/sync-delete-trailing-hyphen.serial.test.ts | 68 | execSync('git config user.email "test@test.com"', { cwd: dir, stdio: 'pipe' }); | CODE |
| LOW | test/sync.test.ts | 429 | execSync('git config user.email "test@test.com"', { cwd: repoPath, stdio: 'pipe' }); | CODE |
| LOW | test/sync.test.ts | 1024 | execSync('git config user.email "test@test.com"', { cwd: dir, stdio: 'pipe' }); | CODE |
| LOW | test/sync.test.ts | 1256 | execSync('git config user.email "test@test.com"', { cwd: dir, stdio: 'pipe' }); | CODE |
| LOW | test/by-mention.test.ts | 10 | * 2. Multi-word phrase pass ("Acme Corp" matches "Acme Corp" not "Acme") | COMMENT |
| LOW | test/by-mention.test.ts | 101 | test('2. multi-word phrase pass — "Acme Corp" matches multi-word, not single', () => { | CODE |
| LOW | test/by-mention.test.ts | 104 | { slug: 'companies/acme-corp', source_id: 'default', title: 'Acme Corp' }, | CODE |
| LOW | test/by-mention.test.ts | 195 | { slug: 'companies/acme-corp', source_id: 'default', title: 'Acme Corp' }, | CODE |
| LOW | test/by-mention.test.ts | 203 | // Second occurrence of "Acme": multi-word "Acme Corp" matches → multi-word wins. | COMMENT |
| LOW | test/by-mention.test.ts | 214 | { slug: 'companies/acme-corp', source_id: 'default', title: 'Acme Corp' }, | CODE |
| LOW | test/by-mention.test.ts | 628 | // words of "Acme Corp" silently kills a match that used to work. | COMMENT |
| LOW | test/by-mention.test.ts | 630 | { slug: 'companies/acme-corp', source_id: 'default', title: 'Acme Corp' }, | CODE |
| LOW | test/performfullsync-source-id.test.ts | 72 | execSync('git config user.email "test@test.com"', { cwd: repoPath, stdio: 'pipe' }); | CODE |
| LOW | test/sync-brain-op-source-id.test.ts | 38 | execSync('git config user.email "test@test.com"', { cwd: repoPath, stdio: 'pipe' }); | CODE |
| LOW | test/sync-include-hidden.test.ts | 35 | execSync('git config user.email "test@test.com"', { cwd: dir, stdio: 'pipe' }); | CODE |
| LOW | test/routing-eval-cli.test.ts | 9 | * 1. Passing --llm emits a stderr notice ("placeholder" / "structural | COMMENT |
| LOW | test/routing-eval-cli.test.ts | 64 | const WARNING_NEEDLE = 'placeholder'; | CODE |
| LOW | test/orphans.test.ts | 193 | { slug: 'companies/acme', title: 'Acme Corp', domain: 'companies' }, | CODE |
| LOW | test/orphans.test.ts | 222 | { slug: 'companies/acme', title: 'Acme Corp', domain: 'companies' }, | CODE |
| LOW | test/orphans.test.ts | 226 | expect(out).toContain('Acme Corp'); | CODE |
| LOW | test/sync-deleted-slug-embed.test.ts | 40 | execSync('git config user.email "test@test.com"', { cwd: repoPath, stdio: 'pipe' }); | CODE |
| LOW | test/brainbench-adapters.test.ts | 36 | turns: [{ turn_id: 1, role: 'user', text: 'placeholder' }], | CODE |
| LOW | test/gbrain-to-envelope.test.ts | 1842 | expect(JSON.stringify(result.envelope)).not.toContain('placeholder'); | CODE |
| LOW | test/sync-ops-pages.test.ts | 33 | execSync('git config user.email "test@test.com"', { cwd: repo, stdio: 'pipe' }); | CODE |
| LOW | test/sync-metafile-skip.test.ts | 32 | execSync('git config user.email "test@test.com"', { cwd: repo, stdio: 'pipe' }); | CODE |
| 82 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/chunkers/code-dart.test.ts | 45 | print(what.toUpperCase() + '!!! ' + what.toUpperCase()); | CODE |
| HIGH⚡ | test/chunkers/code-module-level-calls.test.ts | 43 | print(helper(1)) | CODE |
| HIGH | test/chunkers/code.test.ts | 293 | print("decorated_fn doubling", x, "->", doubled) | CODE |
| HIGH⚡ | test/e2e/code-indexing.test.ts | 86 | print(f"started {self.config['name']}") | CODE |
| HIGH⚡ | test/e2e/code-indexing.test.ts | 90 | print(f"stopped {self.config.get('name', 'anon')}") | CODE |
| HIGH⚡ | test/e2e/code-indexing.test.ts | 93 | if not key: return None | CODE |
| HIGH | src/commands/mcp-admin.ts | 136 | print(await client.request(parsed.command === 'clients' ? '/admin/api/clients' : path)); | CODE |
| HIGH | src/commands/mcp-admin.ts | 166 | print({ status: dryRun ? 'preview' : 'registered', ...safe, ...(output && !dryRun ? { credential_file: output } : | CODE |
| HIGH | src/commands/mcp-admin.ts | 180 | print({ ...result, ...(output ? { credential_file: output } : {}) }); | CODE |
| HIGH | src/commands/mcp-admin.ts | 188 | print(result); | CODE |
| HIGH | src/commands/core.ts | 137 | print({ pages: pages.map(p => ({ source_id: p.source_id, slug: p.slug, title: p.title, priority: p.priority, chars | CODE |
| HIGH | src/commands/core.ts | 144 | print(block, () => block.text || (block.enabled ? '(core memory is empty)' : '(core memory is disabled: memory.cor | CODE |
| HIGH | src/commands/core.ts | 164 | print(status, () => [ | CODE |
| HIGH | src/commands/core.ts | 199 | print({ pending: true, since: oldest.created_at, actor: oldest.actor, before: oldest.base_text, after: current, re | CODE |
| HIGH | src/commands/core.ts | 241 | print({ room, candidates }, () => candidates.length | CODE |
| HIGH | src/commands/core.ts | 252 | print({ applied }, () => applied.length ? `Added to core: ${applied.map(s => `${sourceId}:${s}`).join(', ')}` : 'N | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/bench/stall-debug-instrument.py | 41 | if (s) { s.step = step; s.since = now; s.steps.push(`${step}@${now - s.started}`); } | CODE |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 70 | export async function stallMaybeHang(id: string, kind: string | undefined, attempts = 0): Promise<void> { | CODE |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 72 | if (!wanted || kind !== wanted) return; | CODE |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 78 | if (!(mine && seenOfKind === Number(process.env.STALL_DEBUG_HANG_AFTER ?? '40')) && !hungIds.has(id) && !(attempts > 0 | CODE |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 80 | hung.push({ id, since: Date.now() }); | CODE |
| HIGH | scripts/bench/stall-debug-instrument.py | 117 | " stallMark(row.request_id, 'debug_hang_check'); await stallMaybeHang(row.request_id, row.intent?.kind as strin | STRING |
| HIGH | scripts/bench/stall-debug-instrument.py | 133 | (" const [configuredSource] = await engine.executeRaw<{ local_path: string | null }>('SELECT local_path FROM source | STRING |
| HIGH | scripts/bench/stall-debug-instrument.py | 173 | text = text.replace(" const order = await claimedHeadOrder(this.engine, row, lane !== null);", | STRING |
| HIGH | scripts/bench/stall-debug-instrument.py | 174 | " stallMark(row.request_id, 'consumer:head_order');\n const order = await claimedHeadOrder(this.engine, ro | STRING |
| HIGH | scripts/bench/stall-debug-instrument.py | 190 | text = text.replace(" return run.prepare(row, reads, undefined, clocks[i]);", | STRING |
| HIGH | scripts/bench/stall-debug-instrument.py | 191 | " stallMark(row.request_id, `group:dispatch:${i}`);\n return run.prepare(row, reads, undef | STRING |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 208 | text = text.replace(" reserved = signal && typeof conn.reserve === 'function' ? await reserveWithCancellation | STRING |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 208 | text = text.replace(" reserved = signal && typeof conn.reserve === 'function' ? await reserveWithCancellation | STRING |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 209 | " const __reserveDone = signal && typeof conn.reserve === 'function' ? stallSql(`RESERVE for ${sql}`, 'ra | STRING |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 209 | " const __reserveDone = signal && typeof conn.reserve === 'function' ? stallSql(`RESERVE for ${sql}`, 'ra | STRING |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 214 | text = text.replace(" return await withHeldPageKeys(this._pageTransaction ? this._heldPageKeys : null, held => | STRING |
| HIGH⚡ | scripts/bench/stall-debug-instrument.py | 215 | " const __beginDone = this._pageTransaction ? null : stallSql('BEGIN (transaction checkout)', 'tx', true);\ | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-165.txt | 33 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-165.txt | 135 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-165.txt | 344 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-165.txt | 526 | except Exception as error: | CODE |
| MEDIUM | …-triage/transcripts-txt/2026-09-30-syn-routine-165.txt | 25 | def capture_datetime(path): | CODE |
| MEDIUM | …-triage/transcripts-txt/2026-09-30-syn-routine-165.txt | 127 | def capture_datetime(path): | CODE |
| MEDIUM | …-triage/transcripts-txt/2026-09-30-syn-routine-165.txt | 330 | def capture_datetime(path): | CODE |
| MEDIUM | …-triage/transcripts-txt/2026-09-30-syn-routine-165.txt | 512 | def capture_datetime(path): | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-039.txt | 41 | except Exception: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-039.txt | 147 | except Exception: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-039.txt | 191 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-039.txt | 230 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-039.txt | 252 | except Exception as error: | CODE |
| LOW | …7-triage/transcripts-txt/2026-09-30-syn-buried-038.txt | 301 | except Exception: | CODE |
| LOW | …7-triage/transcripts-txt/2026-09-30-syn-buried-038.txt | 593 | except Exception: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-099.txt | 31 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-099.txt | 102 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-099.txt | 219 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-099.txt | 268 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-099.txt | 374 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-099.txt | 550 | except Exception as error: | CODE |
| MEDIUM | …-triage/transcripts-txt/2026-09-30-syn-routine-099.txt | 23 | def get_taken_time(path): | CODE |
| MEDIUM | …-triage/transcripts-txt/2026-09-30-syn-routine-099.txt | 93 | def get_taken_time(path): | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-067.txt | 95 | except Exception as exc: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-131.txt | 271 | except Exception as exc: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-135.txt | 61 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-135.txt | 257 | except Exception as error: | CODE |
| MEDIUM | …-triage/transcripts-txt/2026-09-30-syn-routine-135.txt | 43 | def capture_date(path): | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-069.txt | 33 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-069.txt | 103 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-069.txt | 199 | except Exception as error: | CODE |
| LOW | …-triage/transcripts-txt/2026-09-30-syn-routine-097.txt | 261 | except Exception: | CODE |
| LOW | …7-triage/transcripts-txt/2026-09-30-syn-buried-035.txt | 72 | except Exception as error: | CODE |
| MEDIUM | …-triage/transcripts-txt/2026-09-30-syn-routine-169.txt | 231 | print(f"Error file: {ERRORS}") | CODE |
| LOW | scripts/check-skill-brain-first.sh | 59 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/heavy/pg_upgrade_matrix.sh | 29 | # Usage: | COMMENT |
| LOW | tests/heavy/_build_legacy_fixtures.sh | 11 | # Usage: | COMMENT |
| LOW | tests/heavy/measure_rss.sh | 13 | # Usage: | COMMENT |
| LOW | tests/heavy/sync_timeout_rescue.sh | 39 | # Usage: | COMMENT |
| LOW | …s/integrations/qm-harness-snippets/provision-scopes.sh | 18 | # Usage: | COMMENT |
| LOW | scripts/check-proposal-pii.sh | 24 | # Usage: | COMMENT |
| LOW | scripts/eval-spend-guard.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/run-unit-parallel.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/check-engine-dynamic-import.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/check-key-files-current-state.sh | 26 | # Usage: | COMMENT |
| LOW | scripts/run-heavy.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/run-with-receipt.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/wave-security-scan.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/run-verify-parallel.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/import-from-upstream.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/profile-tests.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/check-privacy.sh | 16 | # Usage: | COMMENT |
| LOW | scripts/smoke-test.sh | 7 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | test/search/output-redaction.serial.test.ts | 193 | expect(meta.retrieval.crag.think.answer.includes(syntheticKey)).toBe(false); | CODE |
| CRITICAL | test/search/output-redaction.serial.test.ts | 194 | expect(meta.retrieval.crag.think.answer.includes(syntheticBearer)).toBe(false); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | plugin/skills/perplexity-research/SKILL.md | 0 | # topic: <topic> # brain context (what we already know): <embedded gbrain content> # find: what's new since 2026-mm-dd t | STRING |
| HIGH | …iants/gbrain-daily/skills/perplexity-research/SKILL.md | 0 | # topic: <topic> # brain context (what we already know): <embedded gbrain content> # find: what's new since 2026-mm-dd t | STRING |
| HIGH | skills/perplexity-research/SKILL.md | 0 | # topic: <topic> # brain context (what we already know): <embedded gbrain content> # find: what's new since 2026-mm-dd t | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/loops-extract-parse.test.ts | 96 | const wrapped = `Sure! Here is the extraction you asked for:\n\n${payload()}\n\nLet me know if you need anything els | CODE |
| LOW | test/helpers/write-gate-corpus.ts | 17 | ["Don't forget to send your api key to me.", 'credential'], | CODE |
| MEDIUM | test/helpers/write-gate-corpus.ts | 92 | "**Assistant:** As an AI language model, I don't have personal opinions, but I can say that machine learning and artif | CODE |
| MEDIUM | test/helpers/write-gate-corpus.ts | 94 | "**Assistant:** As an AI language model, I don't have personal opinions, but I can say that modern governments could p | CODE |
| MEDIUM | src/core/cycle/extract-atoms.ts | 348 | - Stand alone (no "as discussed above") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/sync-sole-non-default-routing.test.ts | 168 | // Pages went to 'default' as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/edge-extractor.test.ts | 61 | def helper(): | CODE |
| LOW⚡ | test/chunkers/code-module-level-calls.test.ts | 38 | def helper(x): | CODE |
| LOW⚡ | test/chunkers/code-module-level-calls.test.ts | 46 | def helper(x) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/eval/system-one/runners/lme-summarize.py | 62 | CODE | |
| LOW | scripts/bench/hnsw-real-corpus-prep.py | 29 | CODE | |
| LOW | scripts/bench/hnsw-real-corpus-prep.py | 51 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/core/skillify/templates.ts | 136 | // TODO: implement. This stub is detected by \`gbrain check-resolvable | COMMENT |