# MC 101649 Tools Directory Governance

# MC 101649 Tools Directory Governance

**Verdict:** PARTIAL / BLOCKED  
**Date:** 2026-05-21  
**Task:** `[P3-3] Tools dir governance: archive 3,700+ stale files >60d; tools-manifest.json`

## Summary

A tools directory governance manifest was created and safe generated/cache artifacts were archived. The requested bulk archive of 3,700+ stale files was **not** completed because the dominant stale set is `~/system/tools/comms-agent/node_modules`, and `com.john.comms-agent` is currently loaded/running from `~/system/tools/comms-agent/dist/index.js`. Archiving those dependencies by age alone would risk breaking daemon restart.

## Completed

- Created `~/system/tools/tools-manifest.json` with:
  - stale file inventory,
  - active/protected policy,
  - archive destination,
  - blocked archive candidates,
  - recommendation not to archive active daemon dependencies by mtime alone.
- Archived safe generated/cache artifacts to `~/system/_archive/tools-governance-2026-05/` with manifest:
  - `.DS_Store`
  - `.vercel/`
  - `.next/`
  - `__pycache__/`
  - one malformed zero-byte tool-output filename, archived under a redacted/sanitized name.
- Preserved active tools and daemon dependencies.

## Blocker

`~/system/tools/comms-agent/node_modules` contains about 4,052 stale files (~130 MB), but `com.john.comms-agent` is loaded/running and daemon config points to `~/system/tools/comms-agent/dist/index.js`. Do not move its dependencies until one of these is approved:

1. retire/decommission `com.john.comms-agent`,
2. stop daemon and validate dependency relocation + restart path,
3. rebuild comms-agent so dependencies are reproducible elsewhere and LaunchAgent is updated.

## Validation

- `tools-manifest.json` JSON-valid.
- Safe archive manifest JSON-valid.
- `mc.js stats` smoke ran.
- `discover.js routing` smoke ran.
- `cost-tracker.js summary today` smoke ran.
- `bookstack-sync.js status` ran; it reports pre-existing missing sync-map paths, but did not block this task's artifact validation.
- `launchctl list` confirms `com.john.comms-agent` still loaded after safe archive.

## Evidence

- `/tmp/101649-tools-inventory.txt`
- `/tmp/101649-post-archive-inventory.txt`
- `/tmp/101649-comms-agent-refs.txt`
- `/tmp/101649-smoke-validation.txt`
- `/tmp/101649-evidence/`
- `~/system/_archive/tools-governance-2026-05/manifest-101649-safe-archive.json`