github TypeScript analyzed 79850e7

0xAddict/threadwork

github

Durable multi-agent harness for Claude Code: task-board MCP, persistent tmux agents, a memory state machine, and supervision daemons.

maintainer
0xAddict
license
MIT
first seen
2026-07-12
last seen
2026-07-22
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 counts 27 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • ack_directed_message
  • challenge_memory
  • claim_task
  • clear_status
  • close_subagent
  • complete_task
  • consolidate_memories
  • create_task
  • delegate_task
  • get_boot_briefing
  • get_memory_health_report
  • interrupt_agent
  • list_tasks
  • nudge_agent
  • pin_memory
  • poll_directed_messages
  • promote_memory
  • query_audit_log
  • read_status
  • recall_memories
  • save_memory
  • send_directed_message
  • send_note
  • spawn_subagent
  • supersede_memory
  • write_handoff
  • write_status
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 79850e7 · analyzer v33 · 3d ago

skills & prompt files 23

danger signals6

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 390

filesystem 198

  • fs (weak) 0xAddict-threadwork-79850e7/artifacts/10060825/harness/build_sample.ts :32 import { writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/artifacts/gap4/harness/sweep_gap4.ts :27 import { readFileSync, writeFileSync, rmSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/bin/tw-team-digest.ts :11 import { existsSync } from "fs";
  • fs 0xAddict-threadwork-79850e7/consolidate.ts :8 import { mkdirSync, writeFileSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/db.ts :2566 const fs = require('fs')
  • fs 0xAddict-threadwork-79850e7/dense.ts :26 import { readFileSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/inhibit-engine.ts :13 import { readFileSync, statSync, existsSync, appendFileSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/mcp-servers/task-board/consolidate.ts :6 import { mkdirSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/mcp-servers/task-board/tests/audit.test.ts :4 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/mcp-servers/task-board/tests/consolidate.test.ts :5 import { unlinkSync, existsSync, mkdirSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/mcp-servers/task-board/tests/db.test.ts :3 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/mcp-servers/task-board/tests/integration.test.ts :5 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/mcp-servers/task-board/tests/memory.test.ts :4 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/mcp-servers/task-board/tests/watchdog.test.ts :5 import { unlinkSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/notify.ts :2 import { existsSync, readFileSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/parked-picker-classifier.ts :20 import { readFileSync, statSync, existsSync, appendFileSync, mkdirSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/scripts/run-migration.ts :14 import { readFileSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/alert-review/emit-log.ts :16 import { appendFileSync, existsSync, mkdirSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/alert-review/index.ts :20 import { readFileSync, writeFileSync, existsSync, mkdirSync, appendFileSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/dedup/fingerprint.ts :16 import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/escalation-bridge/index.ts :26 } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/grouping/index.ts :21 import { writeFileSync, mkdirSync, existsSync, readdirSync, unlinkSync, statSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/loop-detector/index.ts :18 import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync, unlinkSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/restart-cap/tracker.ts :11 import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/silences/index.ts :21 import { readFileSync, writeFileSync, existsSync, mkdirSync, appendFileSync, statSync, renameSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/src/urgency-routing/index.ts :20 import { readFileSync, writeFileSync, existsSync, mkdirSync, statSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/addendum.test.ts :5 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/agent-family-registry.test.ts :14 import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/agent-messages-concurrency.test.ts :29 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/agent-messages.test.ts :15 import { unlinkSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/ambiguous-classification.test.ts :6 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/boss-not-human.test.ts :6 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/configurable-cron.test.ts :6 import { mkdtempSync, rmSync, readFileSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/delivery-and-read-receipt.test.ts :6 import { mkdtempSync, rmSync, existsSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/emit-log-contract.test.ts :5 import { mkdtempSync, rmSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/emit-log-coverage.test.ts :11 import { mkdtempSync, rmSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/empty-week.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/fp-classification.test.ts :6 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/persistent-classification.test.ts :6 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/rec-fp-rate.test.ts :7 import { mkdtempSync, rmSync, appendFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/rec-persistent.test.ts :7 import { mkdtempSync, rmSync, appendFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/rec-suppress-count.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/rec-zero-when-healthy.test.ts :6 import { mkdtempSync, rmSync, appendFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/report-sections.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/top-silenced-unique.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/alert-review/tp-classification.test.ts :6 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/audit.test.ts :4 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/autonomous-board-schema.test.ts :3 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/blocked-ttl.test.ts :5 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/consolidate.test.ts :6 import { unlinkSync, existsSync, mkdirSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/consolidator-reward-hook.test.ts :22 import { unlinkSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/consolidator.test.ts :6 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/cross-family-critique-critique-position-integration.test.ts :28 import { mkdtempSync, mkdirSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/cross-family-critique-p6-integration.test.ts :22 import { unlinkSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/cross-family-critique.test.ts :39 import { readFileSync, unlinkSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/db.test.ts :3 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/debrief.test.ts :18 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/decision-monitor.test.ts :7 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/decision.test.ts :5 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/clock-skew-fallthrough.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/concurrent-flock.test.ts :5 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/cooldown-expiry.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/corrupted-file.test.ts :5 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/different-fingerprints.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/env-hot-reload.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/meta-alert-at-12.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/raw-reason-distinct.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/restart-persistence.test.ts :5 import { mkdtempSync, rmSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/same-alert-suppressed.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dedup/state-transition-flush.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/delegation-brief.test.ts :24 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/dense.test.ts :16 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/all-paths-failed.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/audit-first-ordering.test.ts :6 import { mkdtempSync, rmSync, readFileSync, existsSync, chmodSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/boss-note-coalesce.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/episode-reset.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/multi-instance-flock.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/nudge-template-empty-status.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/parked-picker-pause.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/per-agent-enable.test.ts :6 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/sqlite-fallback.test.ts :5 import { mkdtempSync, rmSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/step1-nudge.test.ts :6 import { mkdtempSync, rmSync, readFileSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/step2-interrupt.test.ts :5 import { mkdtempSync, rmSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/step2-safeguard.test.ts :6 import { mkdtempSync, rmSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/escalation-bridge/step3-boss-note.test.ts :5 import { mkdtempSync, rmSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/failure-classification-escalation-integration.test.ts :25 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/failure-classification-verify-integration.test.ts :39 } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/failure-classification-watchdog-integration.test.ts :24 import { readFileSync, unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/failure-classification.test.ts :14 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/fixtures/concurrency-barrier.test.ts :17 import { readFileSync, unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/grouping/file-rotation.test.ts :8 import { mkdtempSync, rmSync, readdirSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/grouping/large-group-file-dump.test.ts :8 import { mkdtempSync, rmSync, readFileSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/cross-family-critique-position-regression-lock.test.ts :31 import { mkdtempSync, mkdirSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/cross-family-critique-scope-bleed.test.ts :31 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/escalation-bridge-onfailureclassified-wired.test.ts :53 import { readdirSync, readFileSync, statSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/no-direct-nudge-paths.test.ts :2 import { readdirSync, readFileSync, statSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/no-nudge-agent-signature-drift.test.ts :32 import { readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/pf1-4-wiring.guard.test.ts :69 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/pf2-5-wiring.guard.test.ts :33 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/retention-prune-hwm-isolation.guard.test.ts :16 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/retention-prune-imports.guard.test.ts :18 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/retention-prune-watchdog.guard.test.ts :14 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/t3-cross-family-critique-scope-bleed.test.ts :14 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/t3-epic03-decision-scope-bleed.test.ts :19 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/guardrails/ternary-reward-scope-bleed.test.ts :29 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/hooks/hook-sanitization.test.ts :26 import { unlinkSync, mkdtempSync, mkdirSync, copyFileSync, existsSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/hooks/ko3-rehydrate.test.ts :43 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/idle-nudge.test.ts :7 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/inhibit/hot-reload.test.ts :5 import { mkdtempSync, writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/inhibit/malformed-json.test.ts :5 import { mkdtempSync, writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/inhibit/session-dead-stuck.test.ts :10 import { mkdtempSync, readFileSync, existsSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/integration.test.ts :5 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/alternating-no-trigger.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/boot-guard.test.ts :6 import { mkdtempSync, rmSync, readFileSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/consecutive-n-trigger.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/empty-sentinel.test.ts :6 import { mkdtempSync, rmSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/gap-handling.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/idle-excluded.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/parked-picker-excluded.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/pipeline-integration.test.ts :7 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/progress-flag-not-recovery.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/recovery-on-hash-differ.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/restart-resilience.test.ts :6 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/loop-detector/windowed-supermajority.test.ts :5 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/managed-bots.test.ts :4 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/memory-handlers.test.ts :11 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/memory-integrity-cli.test.ts :17 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/memory-integrity.test.ts :9 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/memory-ordering-concurrency.test.ts :24 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/memory-ordering.test.ts :11 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/memory-sanitization-flag.test.ts :6 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/memory.test.ts :4 import { unlinkSync, readFileSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/memory_debrief_demote.test.ts :16 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/migrations/0009_state_contracts.test.ts :3 import { copyFileSync, unlinkSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/nudge.test.ts :2 import { readFileSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/null-agent-guard.test.ts :17 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/parked-picker/other-subtype.test.ts :5 import { mkdtempSync, writeFileSync, readFileSync, existsSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/parked-picker/plan-mode.test.ts :5 import { mkdtempSync, writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/parked-picker/scrollback-negative.test.ts :5 import { mkdtempSync, writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/parked-picker/signature-hot-reload.test.ts :5 import { mkdtempSync, writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/parked-picker/stale-one-shot.test.ts :5 import { mkdtempSync, writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/parked-picker/stale-ttl.test.ts :5 import { mkdtempSync, writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/parked-picker/tool-permission.test.ts :5 import { mkdtempSync, writeFileSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/probes/d3-acceptance.ts :26 import { readdirSync, readFileSync, statSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/reflection/outcome-feedback.test.ts :2 import { readFileSync, unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/reflection/pf1-4-sequence-behavior.test.ts :27 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/restart-window-suppression.test.ts :16 import { unlinkSync, mkdirSync, writeFileSync, utimesSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/retention-prune-server.test.ts :14 import { mkdtempSync, mkdirSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/retention-prune.test.ts :11 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/reward-consumer.test.ts :20 import { readFileSync, unlinkSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/server-pf2-watcher-tools-integration.test.ts :22 import { mkdtempSync, mkdirSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/audit-log-rotation.test.ts :8 import { mkdtempSync, rmSync, writeFileSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/empty-matchers-rejected.test.ts :7 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/eq-matcher.test.ts :8 import { mkdtempSync, rmSync, readFileSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/expiration-cleanup.test.ts :8 import { mkdtempSync, rmSync, readFileSync, existsSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/group-disposed-pre-flush.test.ts :9 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/group-member-removed.test.ts :9 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/hot-reload.test.ts :8 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/invalid-window-rejected.test.ts :7 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/overlapping-independent.test.ts :8 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/regex-matcher-js.test.ts :9 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/silences/resolved-not-silenced.test.ts :8 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/sprint-c1-card-statemachine.test.ts :4 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/sprint-c2-park-prep.test.ts :5 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/sprint3-integration.test.ts :7 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/state-contracts-migration.test.ts :4 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/state-contracts.test.ts :4 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/subagent-attribution.test.ts :5 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/t3-epic02-critique-position-attribution.test.ts :29 import { mkdtempSync, mkdirSync, rmSync, readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/t3-epic03-critique-attribution.test.ts :20 import { mkdtempSync, mkdirSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/t3-epic05-attribution-reeval.test.ts :13 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/t3-epic06-activation.test.ts :18 import { mkdtempSync, mkdirSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/ternary-reward-finalize-integration.test.ts :19 import { mkdtempSync, mkdirSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/ternary-reward-p6p7-integration.test.ts :25 import { unlinkSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/ternary-reward.test.ts :33 import { readFileSync, unlinkSync } from 'node:fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/tw-team-digest.test.ts :13 import { existsSync, mkdirSync, writeFileSync } from "fs";
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/critical-dedup-backoff.test.ts :9 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/critical-dedup-reset.test.ts :8 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/critical-routing.test.ts :9 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/first-match-wins.test.ts :8 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/group-severity-invariant.test.ts :8 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/hot-reload.test.ts :7 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/info-routing.test.ts :7 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/multi-severity-same-tick.test.ts :8 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/push-fallback.test.ts :8 import { mkdtempSync, rmSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/urgency-routing/warning-routing.test.ts :7 import { mkdtempSync, rmSync, writeFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchdog-pf2-evaluate-watchers.test.ts :2 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchdog-spam-fix.test.ts :8 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchdog.test.ts :5 import { unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchers/pf2-audit-and-stub.test.ts :2 import { readFileSync, unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchers/pf2-create-validate.test.ts :2 import { readFileSync, unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchers/pf2-evaluators.test.ts :2 import { readFileSync, unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchers/pf2-firing.test.ts :2 import { readFileSync, unlinkSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchers/pf2-idempotency-key.test.ts :2 import { readFileSync } from 'fs'
  • fs (weak) 0xAddict-threadwork-79850e7/tests/watchers/pf2-schema.test.ts :2 import { readFileSync, unlinkSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/verification/agent-family-registry.ts :31 import * as fs from 'node:fs'
  • fs 0xAddict-threadwork-79850e7/verification/verify.ts :6 import { existsSync, readFileSync, writeFileSync } from 'fs'
  • fs 0xAddict-threadwork-79850e7/watchdog.ts :8 import { statSync } from 'fs'

shell / exec 36

  • shell (weak) 0xAddict-threadwork-79850e7/artifacts/10060825/harness/build_sample.ts :33 import { execSync } from 'child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/artifacts/gap4/harness/sweep_gap4.ts :28 import { execSync } from 'child_process'
  • shell 0xAddict-threadwork-79850e7/mcp-servers/task-board/nudge.ts :22 const proc = Bun.spawn(cmd, { stdout: 'pipe', stderr: 'pipe' })
  • shell (weak) 0xAddict-threadwork-79850e7/mcp-servers/task-board/tests/consolidate.test.ts :20 try { Bun.spawnSync(['rm', '-rf', TEST_BRIEFING_DIR]) } catch {}
  • shell 0xAddict-threadwork-79850e7/mcp-servers/task-board/watchdog.ts :47 const proc = Bun.spawnSync(['tmux', 'has-session', '-t', session], { stdout: 'pipe', stderr: 'pipe' })
  • shell 0xAddict-threadwork-79850e7/nudge.ts :139 proc = Bun.spawn(argv, { stdout: 'pipe', stderr: 'pipe' })
  • shell (weak) 0xAddict-threadwork-79850e7/tests/agent-messages-concurrency.test.ts :6 // Uses `Bun.spawn()` to launch REAL OS processes (never worker_threads) so
  • shell (weak) 0xAddict-threadwork-79850e7/tests/consolidate.test.ts :21 try { Bun.spawnSync(['rm', '-rf', TEST_BRIEFING_DIR]) } catch {}
  • shell (weak) 0xAddict-threadwork-79850e7/tests/failure-classification-verify-integration.test.ts :147 const proc = Bun.spawnSync(['bun', VERIFY_TS_PATH], {
  • shell (weak) 0xAddict-threadwork-79850e7/tests/failure-classification.test.ts :1078 proc = Bun.spawnSync(['git', '-C', REPO, 'diff', '--name-only', BASE_COMMIT], { cwd: REPO })
  • shell (weak) 0xAddict-threadwork-79850e7/tests/fixtures/concurrent-challenge-worker.ts :4 // Spawned via `Bun.spawn()` (a REAL separate OS process, not a worker_thread)
  • shell (weak) 0xAddict-threadwork-79850e7/tests/fixtures/concurrent-poll-worker.ts :4 // Spawned via `Bun.spawn()` (a REAL separate OS process, not a worker_thread)
  • shell (weak) 0xAddict-threadwork-79850e7/tests/fixtures/concurrent-save-memory-worker.ts :4 // Spawned via `Bun.spawn()` (a REAL separate OS process, not a worker_thread)
  • shell (weak) 0xAddict-threadwork-79850e7/tests/fixtures/concurrent-send-message-worker.ts :4 // Spawned via `Bun.spawn()` (a REAL separate OS process, not a worker_thread)
  • shell (weak) 0xAddict-threadwork-79850e7/tests/fixtures/concurrent-supersede-worker.ts :4 // Spawned via `Bun.spawn()` (a REAL separate OS process, not a worker_thread)
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/cross-family-critique-scope-bleed.test.ts :30 import { execSync } from 'node:child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/escalation-bridge-onfailureclassified-wired.test.ts :113 // two independent scans (`test()` in the pre-filter vs `exec()` in the
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/no-direct-nudge-paths.test.ts :20 * server.ts line 957 shelled out raw Bun.spawn([TMUX_PATH, 'send-keys', ...])
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/no-nudge-agent-signature-drift.test.ts :18 // history via `execSync('git show 85a11c5:<path>')` (git read access is
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/pf1-4-wiring.guard.test.ts :68 import { execSync } from 'node:child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/pf2-5-wiring.guard.test.ts :32 import { execSync } from 'node:child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/retention-prune-diff-scope.guard.test.ts :18 import { execSync } from 'node:child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/t3-cross-family-critique-scope-bleed.test.ts :13 import { execSync } from 'node:child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/t3-epic03-decision-scope-bleed.test.ts :18 import { execSync } from 'node:child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/t3-production-diff-allowlist.test.ts :26 import { execSync } from 'node:child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/guardrails/ternary-reward-scope-bleed.test.ts :28 import { execSync } from 'node:child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/hooks/hook-sanitization.test.ts :59 const proc = Bun.spawn({
  • shell (weak) 0xAddict-threadwork-79850e7/tests/hooks/ko3-rehydrate.test.ts :65 const proc = Bun.spawn({
  • shell (weak) 0xAddict-threadwork-79850e7/tests/memory-integrity-cli.test.ts :30 const proc = Bun.spawn({
  • shell (weak) 0xAddict-threadwork-79850e7/tests/memory-ordering-concurrency.test.ts :6 // all sharing one tasks.db file). Uses `Bun.spawn()` to launch REAL OS
  • shell (weak) 0xAddict-threadwork-79850e7/tests/memory.test.ts :1630 const proc = Bun.spawnSync(['git', 'rev-parse', '--short', 'HEAD'], { cwd: BASELINE_DIR })
  • shell (weak) 0xAddict-threadwork-79850e7/tests/probes/d3-acceptance.ts :53 const proc = Bun.spawn([TMUX_PATH, 'capture-pane', '-t', sess, '-p', '-S', '-50', '-E', '-1'], {
  • shell (weak) 0xAddict-threadwork-79850e7/tests/t3-epic05-attribution-reeval.test.ts :19 import { spawn } from 'child_process'
  • shell (weak) 0xAddict-threadwork-79850e7/tests/tw-team-digest.test.ts :12 import { spawnSync } from "child_process";
  • shell 0xAddict-threadwork-79850e7/verification/verify.ts :41 const proc = Bun.spawnSync(['bun', 'test'], { cwd: PROJECT, stdout: 'pipe', stderr: 'pipe' })
  • shell 0xAddict-threadwork-79850e7/watchdog.ts :1123 const proc = Bun.spawnSync([TMUX_PATH, 'has-session', '-t', sessionName], {

network 4

  • net 0xAddict-threadwork-79850e7/managed-bots.ts :155 const res = await fetch(`${TELEGRAM_API}${manager_token}/getManagedBotToken`, {
  • net 0xAddict-threadwork-79850e7/mcp-servers/task-board/notify.ts :25 await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {
  • net 0xAddict-threadwork-79850e7/notify.ts :304 const res = await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {
  • net 0xAddict-threadwork-79850e7/snoopy-bot.ts :33 await fetch(`https://api.telegram.org/bot${token}/sendMessage`, {

secrets 4

  • secrets 0xAddict-threadwork-79850e7/config.ts :30 process.env.TELEGRAM_BOT_TOKEN
  • secrets 0xAddict-threadwork-79850e7/mcp-servers/task-board/config.ts :18 process.env.TELEGRAM_BOT_TOKEN
  • secrets 0xAddict-threadwork-79850e7/notify.ts :21 // process.env.TELEGRAM_BOT_TOKEN) naturally resolves the ACTING agent's bot.
  • secrets (weak) 0xAddict-threadwork-79850e7/tests/notify.test.ts :107 const origAgentToken = process.env.TELEGRAM_BOT_TOKEN

tool registrations 39

  • create_task 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :45
  • claim_task 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :58
  • complete_task 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :69
  • list_tasks 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :81
  • send_note 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :95
  • nudge_agent 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :107
  • save_memory 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :119
  • recall_memories 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :133
  • get_boot_briefing 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :145
  • promote_memory 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :150
  • pin_memory 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :161
  • query_audit_log 0xAddict-threadwork-79850e7/mcp-servers/task-board/server.ts :172
  • create_task 0xAddict-threadwork-79850e7/server.ts :142
  • delegate_task 0xAddict-threadwork-79850e7/server.ts :155
  • claim_task 0xAddict-threadwork-79850e7/server.ts :172
  • complete_task 0xAddict-threadwork-79850e7/server.ts :184
  • list_tasks 0xAddict-threadwork-79850e7/server.ts :197
  • send_note 0xAddict-threadwork-79850e7/server.ts :211
  • nudge_agent 0xAddict-threadwork-79850e7/server.ts :223
  • send_directed_message 0xAddict-threadwork-79850e7/server.ts :242
  • poll_directed_messages 0xAddict-threadwork-79850e7/server.ts :259
  • ack_directed_message 0xAddict-threadwork-79850e7/server.ts :270
  • save_memory 0xAddict-threadwork-79850e7/server.ts :281
  • write_handoff 0xAddict-threadwork-79850e7/server.ts :317
  • recall_memories 0xAddict-threadwork-79850e7/server.ts :328
  • get_boot_briefing 0xAddict-threadwork-79850e7/server.ts :340
  • promote_memory 0xAddict-threadwork-79850e7/server.ts :350
  • pin_memory 0xAddict-threadwork-79850e7/server.ts :361
  • interrupt_agent 0xAddict-threadwork-79850e7/server.ts :372
  • write_status 0xAddict-threadwork-79850e7/server.ts :384
  • read_status 0xAddict-threadwork-79850e7/server.ts :403
  • clear_status 0xAddict-threadwork-79850e7/server.ts :416
  • query_audit_log 0xAddict-threadwork-79850e7/server.ts :428
  • challenge_memory 0xAddict-threadwork-79850e7/server.ts :441
  • supersede_memory 0xAddict-threadwork-79850e7/server.ts :453
  • consolidate_memories 0xAddict-threadwork-79850e7/server.ts :466
  • get_memory_health_report 0xAddict-threadwork-79850e7/server.ts :478
  • spawn_subagent 0xAddict-threadwork-79850e7/server.ts :488
  • close_subagent 0xAddict-threadwork-79850e7/server.ts :503

declared dependencies 5

  • @modelcontextprotocol/sdk@^1.0.0
  • @anthropic-ai/sdk@^0.82.0
  • fastembed@^2.1.0
  • bats@^1.13.0
  • typescript@^6.0.2

obfuscation 1

  • dynamic require()/import() 0xAddict-threadwork-79850e7/tests/memory.test.ts :1643 const { TaskDB: BaselineTaskDB } = await import(`${BASELINE_DIR}/db.ts`)