Map decisions and research as typed graphs with provenance — TypeScript monorepo with CLI, MCP server, and local web UI. Plain JSON boards, no DB, no cloud.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 27 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
tm_add_node
-
tm_add_section
-
tm_cache_entry
-
tm_cache_get
-
tm_cache_put
-
tm_collisions
-
tm_create_board
-
tm_decompose
-
tm_gap
-
tm_grow
-
tm_link
-
tm_list_boards
-
tm_recall
-
tm_refresh_stale
-
tm_resolve
-
tm_set_alt_framing
-
tm_set_description
-
tm_set_guide
-
tm_set_image
-
tm_set_layout
-
tm_set_note
-
tm_set_provenance
-
tm_set_rationale
-
tm_set_section_layout
-
tm_set_status
-
tm_show
-
tm_verify
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit f15368b · analyzer v33 · 2d ago
skills & prompt files 1
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 50
filesystem 14
- fs (weak) Calvin1921-thinking-machine-f15368b/apps/web/server/sidecar.test.ts :3
import { mkdtempSync, rmSync, writeFileSync, existsSync } from "node:fs"; - fs Calvin1921-thinking-machine-f15368b/apps/web/server/sidecar.ts :6
import { existsSync } from "node:fs"; - fs Calvin1921-thinking-machine-f15368b/packages/cli/src/index.ts :3
import { existsSync, readFileSync } from "node:fs"; - fs (weak) Calvin1921-thinking-machine-f15368b/packages/cli/test/cli.test.ts :4
import { mkdtempSync, rmSync, readFileSync } from "node:fs"; - fs Calvin1921-thinking-machine-f15368b/packages/core/src/board.ts :2
import { readFileSync, writeFileSync, renameSync, openSync, closeSync, unlinkSync, existsSync } from "node:fs"; - fs Calvin1921-thinking-machine-f15368b/packages/core/src/boards.ts :4
import { readdirSync, statSync, mkdirSync, existsSync } from "node:fs"; - fs Calvin1921-thinking-machine-f15368b/packages/core/src/library.ts :5
import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs"; - fs Calvin1921-thinking-machine-f15368b/packages/core/src/recall.ts :4
import { existsSync, readdirSync } from "node:fs"; - fs (weak) Calvin1921-thinking-machine-f15368b/packages/core/test/board.test.ts :3
import { mkdtempSync, rmSync, readFileSync, writeFileSync, readdirSync } from "node:fs"; - fs (weak) Calvin1921-thinking-machine-f15368b/packages/core/test/boards.test.ts :3
import { mkdtempSync, rmSync, existsSync, writeFileSync, readdirSync } from "node:fs"; - fs (weak) Calvin1921-thinking-machine-f15368b/packages/core/test/library.test.ts :2
import { mkdtempSync, rmSync } from "node:fs"; - fs (weak) Calvin1921-thinking-machine-f15368b/packages/core/test/recall.test.ts :2
import { mkdtempSync, rmSync, writeFileSync } from "node:fs"; - fs Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :4
import { existsSync } from "node:fs"; - fs (weak) Calvin1921-thinking-machine-f15368b/packages/mcp/test/mcp.test.ts :2
import { mkdtempSync, rmSync, readFileSync } from "node:fs";
shell / exec 3
- shell Calvin1921-thinking-machine-f15368b/packages/cli/src/index.ts :4
import { spawn, execSync } from "node:child_process"; - shell Calvin1921-thinking-machine-f15368b/packages/cli/src/judge-cli.ts :4
import { spawn } from "node:child_process"; - shell (weak) Calvin1921-thinking-machine-f15368b/packages/cli/test/cli.test.ts :3
import { execFileSync } from "node:child_process";
network 3
- net (weak) Calvin1921-thinking-machine-f15368b/apps/web/server/sidecar.test.ts :20
fetch(`${base}${path}`, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(body) }); - net Calvin1921-thinking-machine-f15368b/apps/web/server/sidecar.ts :4
import type { Server } from "node:http"; - net Calvin1921-thinking-machine-f15368b/apps/web/src/api.ts :14
fetch(path, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(body) }).then((r) => r.json());
tool registrations 27
- tm_list_boards Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :39
- tm_recall Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :43
- tm_create_board Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :47
- tm_show Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :54
- tm_add_node Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :61
- tm_link Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :66
- tm_set_description Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :71
- tm_set_image Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :76
- tm_set_status Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :81
- tm_set_layout Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :86
- tm_add_section Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :91
- tm_set_note Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :106
- tm_set_section_layout Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :111
- tm_decompose Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :116
- tm_grow Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :135
- tm_gap Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :145
- tm_resolve Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :159
- tm_set_provenance Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :169
- tm_set_alt_framing Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :174
- tm_set_guide Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :184
- tm_collisions Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :189
- tm_verify Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :196
- tm_refresh_stale Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :208
- tm_cache_put Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :213
- tm_cache_get Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :217
- tm_set_rationale Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :221
- tm_cache_entry Calvin1921-thinking-machine-f15368b/packages/mcp/src/index.ts :226
declared dependencies 3
- typescript@^5.5.0
- vitest@^2.0.0
- @types/node@^20.0.0
perm:untrusted 2
- untrusted (weak) Calvin1921-thinking-machine-f15368b/apps/web/server/sidecar.test.ts :25
const list = await (await fetch(`${base}/api/boards`)).json(); - untrusted Calvin1921-thinking-machine-f15368b/apps/web/src/api.ts :14
fetch(path, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify(body) }).then((r) => r.json());