Agent memory that compiles instead of retrieves. Local-first context + wiki store for AI coding agents. No embeddings.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 34 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
create_context
-
delete_context
-
get_context
-
list_contexts
-
search_contexts
-
update_context
-
whoami
-
wiki_datatable_new
-
wiki_get
-
wiki_graph
-
wiki_ingest
-
wiki_ingest_status
-
wiki_link
-
wiki_lint
-
wiki_list_properties
-
wiki_new
-
wiki_patch_section
-
wiki_path
-
wiki_query
-
wiki_related
-
wiki_replace
-
wiki_search
-
wiki_set_prop
-
wiki_table_add_column
-
wiki_table_add_row
-
wiki_table_delete_column
-
wiki_table_delete_row
-
wiki_table_get
-
wiki_table_rename_column
-
wiki_table_set_cell
-
wiki_unlink
-
wiki_update
-
wiki_verify
-
wiki_view_new
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 53b38b8 · analyzer v33 · 15h ago
skills & prompt files 4
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 204
filesystem 49
- fs (weak) dialnco-braincontext-cli-53b38b8/scripts/stress/local.mts :9
import { mkdtempSync, readFileSync, rmSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/scripts/stress/remote.mts :12
import { mkdtempSync, readFileSync, rmSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/scripts/stress/worker.mts :13
import { writeFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/commands/file.ts :1
import { readFile } from 'node:fs/promises' - fs dialnco-braincontext-cli-53b38b8/src/commands/project.ts :1
import { mkdirSync, rmSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/commands/status.ts :1
import { existsSync, readFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/core/db.ts :1
import { mkdirSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/core/lock.ts :1
import { closeSync, mkdirSync, openSync, readFileSync, rmSync, statSync, writeSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/core/paths.ts :1
import { existsSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/core/registry.ts :1
import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/export/store.ts :1
import { readdirSync, readFileSync, rmSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/export/write.ts :1
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/lib/pkg.ts :1
import { readFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/lib/root.ts :1
import { existsSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/lib/stdin.ts :1
import { readFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/mcp/run.ts :1
import { mkdirSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/skillbundles/parse.ts :1
import { lstatSync, readdirSync, readFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/skillbundles/reconstruct.ts :1
import { chmodSync, mkdirSync, writeFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/skills/index.ts :1
import { existsSync, readdirSync, readFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/skills/install.ts :13
} from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/studio/assets.ts :1
import { existsSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/studio/run.ts :1
import { existsSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/studio/server.ts :1
import { existsSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/studio/stores.ts :1
import { mkdirSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/sync/import.ts :1
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/wiki/drift.ts :2
import { readFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/wiki/export.ts :1
import { mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs' - fs dialnco-braincontext-cli-53b38b8/src/wiki/import.ts :1
import { readdirSync, readFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/_db.ts :1
import { mkdtempSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/audit.test.ts :1
import { existsSync, mkdirSync, mkdtempSync, rmSync, symlinkSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/concurrency.test.ts :1
import { mkdtempSync, rmSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/export.test.ts :1
import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/hardening.test.ts :1
import { existsSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/lock.test.ts :1
import { existsSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/online.test.ts :1
import { mkdtempSync, rmSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/query.test.ts :1
import { mkdtempSync, rmSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/registry.test.ts :1
import { mkdtempSync, readFileSync, rmSync, statSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/skill-init.test.ts :10
} from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/skillbundle.test.ts :9
} from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/skills-docs.test.ts :1
import { existsSync, readdirSync, readFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/studio-api.test.ts :1
import { mkdtempSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/studio-auth.test.ts :1
import { mkdtempSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/studio-files.test.ts :1
import { mkdtempSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/studio-health.test.ts :1
import { mkdtempSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/studio.test.ts :1
import { mkdtempSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/sync.test.ts :1
import { mkdtempSync, readdirSync, readFileSync, rmSync, unlinkSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/tier23.test.ts :1
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/transclusion.test.ts :1
import { mkdtempSync, rmSync } from 'node:fs' - fs (weak) dialnco-braincontext-cli-53b38b8/test/wikiexport.test.ts :1
import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
shell / exec 3
- shell (weak) dialnco-braincontext-cli-53b38b8/scripts/stress/local.mts :8
import { spawn } from 'node:child_process' - shell (weak) dialnco-braincontext-cli-53b38b8/scripts/stress/remote.mts :11
import { spawn } from 'node:child_process' - shell dialnco-braincontext-cli-53b38b8/src/lib/open.ts :5
import { spawn } from 'node:child_process'
network 1
- net dialnco-braincontext-cli-53b38b8/studio/src/api/client.ts :20
const res = await fetch(`/api${path}`, {
secrets 3
- secrets (weak) dialnco-braincontext-cli-53b38b8/scripts/stress/remote.mts :27
const TOKEN = process.env.BCTX_RTOKEN ?? '' - secrets (weak) dialnco-braincontext-cli-53b38b8/scripts/stress/worker.mts :30
const token = process.env.BCTX_STRESS_TOKEN || undefined - secrets dialnco-braincontext-cli-53b38b8/src/core/registry.ts :233
return process.env.BCTX_KEY || undefined
tool registrations 34
- whoami dialnco-braincontext-cli-53b38b8/src/mcp/server.ts :74
- search_contexts dialnco-braincontext-cli-53b38b8/src/mcp/server.ts :115
- get_context dialnco-braincontext-cli-53b38b8/src/mcp/server.ts :132
- list_contexts dialnco-braincontext-cli-53b38b8/src/mcp/server.ts :146
- create_context dialnco-braincontext-cli-53b38b8/src/mcp/server.ts :164
- update_context dialnco-braincontext-cli-53b38b8/src/mcp/server.ts :185
- delete_context dialnco-braincontext-cli-53b38b8/src/mcp/server.ts :227
- wiki_search dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :116
- wiki_get dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :146
- wiki_new dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :223
- wiki_datatable_new dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :267
- wiki_query dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :298
- wiki_list_properties dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :332
- wiki_set_prop dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :343
- wiki_view_new dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :376
- wiki_update dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :411
- wiki_patch_section dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :474
- wiki_replace dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :497
- wiki_link dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :526
- wiki_unlink dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :547
- wiki_ingest dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :568
- wiki_ingest_status dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :599
- wiki_verify dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :614
- wiki_lint dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :647
- wiki_graph dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :677
- wiki_related dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :703
- wiki_path dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :728
- wiki_table_get dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :768
- wiki_table_set_cell dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :801
- wiki_table_add_row dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :829
- wiki_table_delete_row dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :855
- wiki_table_add_column dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :881
- wiki_table_delete_column dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :921
- wiki_table_rename_column dialnco-braincontext-cli-53b38b8/src/mcp/wiki-tools.ts :946
install hooks 1
- prepublishOnly dialnco-braincontext-cli-53b38b8/package.json :56
npm run typecheck && npm run typecheck:studio && npm run lint && npm run test && npm run build && npx publint
declared dependencies 26
- @modelcontextprotocol/sdk@^1.29.0
- @aws-sdk/client-s3@^3.1080.0
- @aws-sdk/s3-request-presigner@^3.1080.0
- @hono/node-server@^2.0.6
- @libsql/client@^0.17.4
- @libsql/kysely-libsql@^0.4.1
- commander@^15.0.0
- hono@^4.12.27
- kysely@^0.29.2
- ulidx@^2.4.1
- yaml@^2.9.0
- zod@^4.4.3
- @biomejs/biome@^2.5.1
- @types/node@^26.0.1
- @types/react@^19.2.17
- @types/react-dom@^19.2.3
- @vitejs/plugin-react@^6.0.3
- jsdom@^29.1.1
- publint@^0.3.21
- react@^19.2.7
- react-dom@^19.2.7
- tsup@^8.5.1
- tsx@^4.22.4
- typescript@^6.0.3
- vite@^8.1.0
- vitest@^4.1.9