{
  "schema_version": "1.0",
  "tool_version": "0.1.0",
  "generated_at": "2026-06-18T09:52:00Z",
  "scan": {
    "project_root": "/home/user/myproject",
    "scope_globs": ["**/*.md", "CLAUDE.md"],
    "excluded_dirs": ["build", "vendor", "archive", "graphify-out", ".dochygiene", "fixtures", "examples/golden"],
    "files_scanned": 18
  },
  "shortlist": [
    "CLAUDE.md",
    "docs/old-plan.md",
    "docs/setup-notes.md",
    "docs/api-reference.md"
  ],
  "entries": [
    {
      "path": "CLAUDE.md",
      "category": { "class": "stale", "subtype": "contradicted" },
      "signals": [
        { "name": "broken_reference", "detail": "links scripts/old.py which no longer exists" }
      ],
      "op": "Delete the contradicted reference block (lines 40-52).",
      "op_type": "deterministic",
      "is_destructive": true,
      "is_reversible": false,
      "safety_tier": "confirm",
      "exact_edit": {
        "kind": "delete-range",
        "anchor": { "start_line": 40, "end_line": 52 },
        "expected_sha256": "abc123def456abc123def456abc123def456abc123def456abc123def456abcd"
      },
      "token_estimate": {
        "raw_tokens": 180,
        "injection_frequency": "per-session",
        "weighted_tokens": 180
      }
    },
    {
      "path": "docs/old-plan.md",
      "category": { "class": "stale", "subtype": "superseded" },
      "signals": [
        { "name": "superseded_by", "detail": "Replaced by docs/new-plan.md per commit a1b2c3d" }
      ],
      "op": "Move to archive/docs/old-plan.md.",
      "op_type": "deterministic",
      "is_destructive": false,
      "is_reversible": true,
      "safety_tier": "auto",
      "exact_edit": {
        "kind": "move-to-archive",
        "anchor": { "start_line": 1, "end_line": 200 },
        "dest_path": "archive/docs/old-plan.md",
        "expected_sha256": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"
      },
      "token_estimate": {
        "raw_tokens": 420,
        "injection_frequency": null,
        "weighted_tokens": null
      }
    },
    {
      "path": "docs/setup-notes.md",
      "category": { "class": "stale", "subtype": "completed-in-place" },
      "signals": [
        { "name": "completed_marker", "detail": "All checklist items checked; no open actions" }
      ],
      "op": "Stamp with 'hygiene: frozen' frontmatter to prevent future flagging.",
      "op_type": "deterministic",
      "is_destructive": false,
      "is_reversible": true,
      "safety_tier": "auto",
      "exact_edit": {
        "kind": "insert-frontmatter",
        "key": "hygiene",
        "value": "frozen"
      },
      "token_estimate": {
        "raw_tokens": 60,
        "injection_frequency": null,
        "weighted_tokens": null
      }
    },
    {
      "path": "docs/api-reference.md",
      "category": { "class": "bloat", "subtype": "distill" },
      "signals": [
        { "name": "low_density", "detail": "2000-line doc with 80% resolved-problem narrative" }
      ],
      "op": "Generative distillation: condense resolved-problem sections to a 3-line summary each.",
      "op_type": "generative",
      "is_destructive": false,
      "is_reversible": true,
      "safety_tier": "confirm",
      "token_estimate": {
        "raw_tokens": 1200,
        "injection_frequency": "on-demand",
        "weighted_tokens": 1200
      }
    }
  ]
}
