github TypeScript analyzed f15368b

Calvin1921/thinking-machine

github

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.

maintainer
Calvin1921
license
MIT
first seen
2026-08-05
last seen
2026-08-05
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 27 tools
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
skills & danger signals github-tarball
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

code evidence vHEAD · github-tarball
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());