@fraction12/deepclean 0.1.0-alpha.0 → 0.1.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.1.0-alpha.2 - 2026-05-27
6
+
7
+ - Changed `scan` and CI-style scans to request Codex synthesis by default after local evidence collection, with `--evidence-only` as the deterministic-only escape hatch.
8
+ - Added synthesis attempt ledgers with validation checks, failure records for malformed provider output, and final candidate ID alignment after ranking.
9
+ - Included `.deepclean/synthesis/` in doctor/status/prune retention so synthesis artifacts are visible, validated, and cleaned up with the rest of a run.
10
+ - Refined the public site hero and motion treatment after UAT.
11
+
12
+ ## 0.1.0-alpha.1 - 2026-05-27
13
+
14
+ - Added semantic feature mapping with `.deepclean/features/` artifacts, `deepclean map`, scan feature counts, and first-pass package script, TS/JS, Python, test-suite, route/component/module, and config feature records.
15
+ - Softened the public site, README, and package copy to frame Deepclean around clearer structure and focused improvements instead of criticizing the user's code.
16
+ - Set the GitHub Pages site as the public project homepage and documented it in the README.
17
+ - Added the complete operating loop: health/status, stable finding identity, lifecycle history, revalidation, incremental scans, CI policy mode, shared query filters, writer locks, retention pruning, source-safe exports, provider runtime controls, and guarded local fix attempts.
18
+ - Added explicit PR checkpoints and dogfood evidence for `complete-operating-loop-parity`.
5
19
  - Added repo-specific verification inference so generated candidates and plans point at real local checks such as Makefile targets, frontend package scripts, and admin package scripts instead of generic commands.
6
20
  - Added explicit `reportPath`, `markdownPath`, `jsonPath`, and `planPath` fields to JSON output for automation.
7
21
  - Improved Markdown reports with a focused `Agent Queue`, bounded themes before too-broad themes, and a capped candidate appendix while preserving full raw records in JSON.
@@ -19,4 +33,4 @@
19
33
  - Added SARIF ingestion and optional `jscpd` external duplicate evidence.
20
34
  - Removed self-dogfood state from the repo working tree and tightened ignore rules for local artifacts.
21
35
  - Added a vendored MIT-licensed Matt Pocock skills reference snapshot and distilled reviewer rubrics for deep module discipline, feedback loops, and agent-ready cleanup slices.
22
- - Hardened Clawpatch-style deslop mapping: TS/JS `.js` source specifiers now resolve to local TS source files, dynamic imports and `require(...)` are included in graph evidence, optional Semgrep orchestration is supported, report recommendations prefer strong synthesized findings over weak metric noise, and generated plans dedupe repeated file references.
36
+ - Hardened cleanup-surface mapping: TS/JS `.js` source specifiers now resolve to local TS source files, dynamic imports and `require(...)` are included in graph evidence, optional Semgrep orchestration is supported, report recommendations prefer strong synthesized findings over weak metric noise, and generated plans dedupe repeated file references.
package/README.md CHANGED
@@ -1,12 +1,16 @@
1
1
  # deepclean
2
2
 
3
- Clawpatch-style cleanup reports for working-but-sloppy codebases.
3
+ Local repo structure reports for fast-moving codebases.
4
4
 
5
- `deepclean` is intended to help after a few days of AI-assisted coding: the app works, but the codebase needs architecture tightening, duplication removal, complexity reduction, better seams, stronger tests, and clearer domain language.
5
+ `deepclean` scans a repository, gathers local evidence, and writes reports and agent-ready plans under `.deepclean/`. It is built for the point where a project is already working and the next step is clearer boundaries, less duplication, safer refactors, stronger tests, and better sequencing.
6
+
7
+ Deepclean does not edit your source code.
8
+
9
+ Website: https://fraction12.github.io/deepclean/
6
10
 
7
11
  ## Status
8
12
 
9
- Public-alpha ready local CLI. Product planning lives in `openspec/`.
13
+ Public alpha. TypeScript, JavaScript, and Python evidence are supported.
10
14
 
11
15
  ## Install
12
16
 
@@ -15,66 +19,80 @@ npm install -g @fraction12/deepclean
15
19
  deepclean --version
16
20
  ```
17
21
 
18
- From a fresh repo:
22
+ ## Quick Start
19
23
 
20
24
  ```bash
21
25
  deepclean init
26
+ deepclean map
22
27
  deepclean scan --json
23
28
  deepclean report
24
29
  deepclean next
25
30
  deepclean plan candidate-001
26
31
  ```
27
32
 
28
- With local Codex synthesis:
33
+ `deepclean scan` collects local evidence first, then runs Codex synthesis by default. Use evidence-only mode when you only want deterministic local analysis:
29
34
 
30
35
  ```bash
31
- deepclean scan --synthesize --json
36
+ deepclean scan --evidence-only --json
32
37
  deepclean report
33
- deepclean plan theme-001
34
38
  ```
35
39
 
36
40
  Global flags work before or after the command:
37
41
 
38
42
  ```bash
39
- deepclean --root ./some-repo scan --synthesize
40
- deepclean scan --root ./some-repo --synthesize
43
+ deepclean --root ./some-repo scan
44
+ deepclean scan --root ./some-repo --evidence-only
41
45
  ```
42
46
 
43
- ## Intended Flow
47
+ Older examples may include `deepclean scan --synthesize`; that flag still works, but it is no longer required. Plain `deepclean scan` is the normal synthesized path. Use `--evidence-only`, `--offline`, or `--local-only` when a run must avoid provider execution.
48
+
49
+ ## Workflow
44
50
 
45
51
  ```bash
46
52
  deepclean init
53
+ deepclean map
47
54
  deepclean scan
48
- deepclean scan --synthesize
49
55
  deepclean report
50
56
  deepclean cluster
51
57
  deepclean plan theme-001 --format codex
52
58
  deepclean next
53
59
  deepclean show <candidate-id>
60
+ deepclean explain <candidate-or-finding-id>
54
61
  deepclean triage <candidate-id> --status ignored --note "intentional boundary"
55
62
  deepclean handoff <candidate-id> --format codex
56
63
  ```
57
64
 
58
- ## Principles
65
+ ## What It Produces
66
+
67
+ Deepclean writes durable local artifacts under `.deepclean/`:
59
68
 
60
- - Report first; no source mutation in the MVP.
61
- - Structured local evidence before model review.
62
- - Durable state under `.deepclean/`.
63
- - Local code stays local unless the user explicitly enables researched context.
64
- - Architecture review is one reviewer, not the whole product.
69
+ - `runs/` - scan metadata
70
+ - `features/` - semantic feature/work-unit maps
71
+ - `evidence/` - raw local evidence records
72
+ - `synthesis/` - provider attempt ledgers, prompt manifests, and candidate validation results
73
+ - `candidates/` - cleanup candidates
74
+ - `clusters/` - related cleanup themes
75
+ - `reports/` - Markdown and JSON reports
76
+ - `plans/` - focused implementation plans
77
+ - `handoffs/` - agent-ready task packets
78
+ - `triage/` - local triage notes
65
79
 
66
- ## Agent UX
80
+ Add `.deepclean/` to `.gitignore` unless the repo deliberately wants to share generated reports.
67
81
 
68
- All core commands support `--json` for machine-readable output.
82
+ ## JSON And Agent Use
83
+
84
+ Core commands support `--json` for automation:
69
85
 
70
86
  ```bash
71
87
  deepclean scan --json
72
- deepclean scan --synthesize --json
88
+ deepclean map --json
89
+ deepclean scan --evidence-only --json
73
90
  deepclean report --json
74
91
  deepclean cluster --json
75
92
  deepclean plan theme-001 --json
76
93
  deepclean next --json
77
94
  deepclean show candidate-001 --json
95
+ deepclean explain candidate-001 --json
78
96
  deepclean handoff candidate-001 --json
79
97
  ```
80
98
 
@@ -87,13 +105,31 @@ Useful global flags:
87
105
  - `--quiet`
88
106
  - `--debug`
89
107
 
108
+ ## Local Evidence
109
+
110
+ Deepclean runs local evidence first and model synthesis second unless evidence-only or local-only mode is selected. The built-in evidence layer includes:
111
+
112
+ - semantic feature mapping for package scripts, TS/JS modules/routes/components, Python modules, test suites, and config files
113
+ - file metrics
114
+ - normalized line-window duplication
115
+ - source/import graph summaries
116
+ - TypeScript and JavaScript function structure
117
+ - Python import graph support
118
+ - git churn signals
119
+ - nearby test discovery
120
+ - SARIF ingestion from Semgrep or similar tools
121
+ - optional Semgrep SARIF orchestration
122
+ - optional `jscpd` duplicate ingestion
123
+
124
+ For TS/JS projects using NodeNext-style source imports, Deepclean resolves emitted `.js` specifiers back to local `.ts`, `.tsx`, `.mts`, and `.cts` files so the graph maps source boundaries instead of emitted-path noise.
125
+
90
126
  ## Codex Synthesis
91
127
 
92
- `deepclean scan --synthesize` runs the local `codex` CLI in read-only mode over the collected evidence bundle. The model is asked to return strict JSON, and candidates without valid evidence IDs are rejected.
128
+ `deepclean scan` runs the local `codex` CLI in read-only mode over the collected evidence bundle by default. The model is asked to return strict JSON, and candidates are validated before they are persisted: cited evidence IDs must exist, file paths must be anchored by cited evidence, line ranges must be sane, and optional quotes must match source. Rejected drafts stay in the synthesis attempt ledger as diagnostics rather than becoming open findings.
93
129
 
94
- Synthesis uses a built-in reviewer pack rather than whatever agent skills happen to be installed locally. That keeps runs reproducible. The current pack covers architecture deepening, deep module discipline, conceptual duplication, dependency graph blast radius, testability, feedback loop discipline, domain language drift, agent-ready cleanup slices, AI-slop patterns, and a critic pass that rejects weak one-metric findings.
130
+ Use `deepclean explain <candidate-or-finding-id>` to inspect why a candidate exists, which evidence supports it, which validation checks passed, and what fix-readiness guidance was attached.
95
131
 
96
- The reviewer pack is informed by a vendored MIT-licensed snapshot of Matt Pocock's engineering skills. Deepclean uses those skills as reference material and distills the useful principles into stable built-in rubrics instead of loading the full upstream skill text dynamically on every run.
132
+ Synthesis uses a built-in reviewer pack so runs do not depend on arbitrary local agent skills. The current pack looks for architecture boundaries, conceptual duplication, dependency graph risk, testability gaps, domain language drift, agent-sized cleanup slices, and weak findings that should be rejected.
97
133
 
98
134
  Reviewer packs can be configured in `.deepclean/config.json`:
99
135
 
@@ -106,37 +142,21 @@ Reviewer packs can be configured in `.deepclean/config.json`:
106
142
  }
107
143
  ```
108
144
 
109
- Before prompting Codex, Deepclean also maps evidence and existing local candidates into bounded cleanup surfaces. This is the Clawpatch-inspired part: the model reviews mapped repo areas and graph-connected themes rather than a loose pile of metrics.
110
-
111
- Source samples are redacted from the synthesis prompt by default. Use `--allow-source-in-model` only when the target repository and provider configuration make that acceptable.
145
+ Source samples are redacted from the synthesis prompt by default. Use `--allow-source-in-model` only when the target repository and provider configuration make that acceptable. Use `--evidence-only`, `--offline`, or `--local-only` when no provider should run.
112
146
 
113
- See [Reviewer References](docs/reviewer-references.md), [Privacy And Trust](docs/privacy-and-trust.md), and [Troubleshooting](docs/troubleshooting.md) before using synthesis on private repos.
147
+ See [Privacy And Trust](docs/privacy-and-trust.md), [Reviewer References](docs/reviewer-references.md), and [Troubleshooting](docs/troubleshooting.md) before using synthesis on private repos.
114
148
 
115
149
  ## Themes And Plans
116
150
 
117
- `deepclean cluster` groups related candidates into cleanup themes using shared files, shared evidence, module areas, title language, and the local import graph. Themes are persisted under `.deepclean/clusters/` and use stable `theme-001` style IDs for agent workflows. Individual cleanup candidates use `candidate-001` style IDs. Broad themes are split where possible and marked `too-broad` when they should not be handed to an agent as a single plan.
118
-
119
- `deepclean plan <candidate-or-theme-id>` writes a Codex-ready cleanup plan under `.deepclean/plans/`. Use theme plans when the report points at a larger cleanup area such as a tangled Next.js app area or a backend service boundary; use candidate plans for narrow local cleanup.
120
-
121
- Deepclean currently collects TypeScript, JavaScript, and Python source evidence. The local graph supports TS/JS relative imports and Python module imports, with cache/build/output directories excluded by default.
122
- For TS/JS projects using NodeNext-style source imports, Deepclean resolves emitted `.js` specifiers back to local `.ts`, `.tsx`, `.mts`, and `.cts` files so the graph maps source boundaries instead of falsely reporting an empty graph.
151
+ `deepclean cluster` groups related candidates into cleanup themes using shared files, shared evidence, module areas, title language, and the local import graph. Themes use stable `theme-001` style IDs. Individual cleanup candidates use `candidate-001` style IDs.
123
152
 
124
- ## Evidence Engines
153
+ `deepclean plan <candidate-or-theme-id>` writes a focused cleanup plan under `.deepclean/plans/`. Use theme plans for larger cleanup areas and candidate plans for narrow local work.
125
154
 
126
- Deepclean runs local evidence first and model synthesis second. The built-in layer includes:
155
+ Broad themes are marked `too-broad` when they should not be handed to an agent as one task.
127
156
 
128
- - file metrics
129
- - normalized line-window duplication
130
- - source/import graph summaries
131
- - TypeScript/JavaScript function and wrapper structure
132
- - Python import graph support
133
- - git churn signals
134
- - nearby test discovery
135
- - SARIF ingestion from Semgrep or similar tools
136
- - optional Semgrep SARIF orchestration when configured
137
- - optional `jscpd` duplicate ingestion when configured
157
+ ## External Analyzer Evidence
138
158
 
139
- To use external analyzer evidence:
159
+ Deepclean can ingest SARIF and duplicate-detection output:
140
160
 
141
161
  ```json
142
162
  {
@@ -169,3 +189,9 @@ npm run release:check
169
189
  ```
170
190
 
171
191
  The release check builds the package, runs tests, validates OpenSpec locally when available, packs the tarball, and rejects private/local artifacts such as `.deepclean/`, `.codex/`, `node_modules/`, source files, and local reports.
192
+
193
+ Publishing is handled by GitHub Actions trusted publishing. See [Release](docs/release.md).
194
+
195
+ ## Inspiration
196
+
197
+ Deepclean's local artifact workflow was inspired by ClawPatch, but Deepclean is a separate maintainability reporting CLI.
package/dist/args.js CHANGED
@@ -51,10 +51,53 @@ const valueFlags = new Set([
51
51
  "root",
52
52
  "state-dir",
53
53
  "config",
54
+ "provider",
54
55
  "model",
56
+ "effort",
57
+ "timeout",
58
+ "timeout-ms",
59
+ "retries",
60
+ "rpm",
61
+ "concurrency",
62
+ "token-budget",
63
+ "excerpt-budget",
64
+ "privacy-mode",
65
+ "patch",
66
+ "verification-command",
55
67
  "status",
68
+ "priority",
69
+ "category",
70
+ "risk",
71
+ "source",
72
+ "theme",
73
+ "path",
74
+ "lifecycle-state",
75
+ "revalidation-state",
76
+ "baseline-status",
56
77
  "note",
57
78
  "format",
79
+ "since",
80
+ "merge-base",
81
+ "paths",
82
+ "categories",
83
+ "reviewers",
84
+ "output",
85
+ "sarif",
86
+ "lock-timeout-ms",
87
+ "stale-lock-ms",
88
+ "keep-runs",
89
+ "keep-days",
90
+ "max-p0",
91
+ "max-p1",
92
+ "max-p2",
93
+ "max-p3",
94
+ "max-new-p0",
95
+ "max-new-p1",
96
+ "max-new-p2",
97
+ "max-new-p3",
98
+ "max-stale",
99
+ "min-confidence",
100
+ "fail-category",
58
101
  ]);
59
102
  export function legacyParseArgs(argv) {
60
103
  const [command, ...rest] = argv;
package/dist/args.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}