104 lines
3.3 KiB
JSON
104 lines
3.3 KiB
JSON
|
|
{
|
||
|
|
"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
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|