agentrinse 0.0.0 → 0.2.0

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.
Files changed (173) hide show
  1. package/README.md +165 -83
  2. package/dist/adapters/artifacts/adapter.d.ts +3 -1
  3. package/dist/adapters/artifacts/adapter.d.ts.map +1 -1
  4. package/dist/adapters/artifacts/adapter.js +23 -1
  5. package/dist/adapters/artifacts/adapter.js.map +1 -1
  6. package/dist/adapters/git/adapter.d.ts +8 -1
  7. package/dist/adapters/git/adapter.d.ts.map +1 -1
  8. package/dist/adapters/git/adapter.js +247 -13
  9. package/dist/adapters/git/adapter.js.map +1 -1
  10. package/dist/adapters/git/status.d.ts +14 -0
  11. package/dist/adapters/git/status.d.ts.map +1 -0
  12. package/dist/adapters/git/status.js +81 -0
  13. package/dist/adapters/git/status.js.map +1 -0
  14. package/dist/adapters/provider-adapter.d.ts +3 -0
  15. package/dist/adapters/provider-adapter.d.ts.map +1 -1
  16. package/dist/adapters/provider-adapter.js +16 -0
  17. package/dist/adapters/provider-adapter.js.map +1 -1
  18. package/dist/adapters/provider-reachability.d.ts +6 -0
  19. package/dist/adapters/provider-reachability.d.ts.map +1 -0
  20. package/dist/adapters/provider-reachability.js +207 -0
  21. package/dist/adapters/provider-reachability.js.map +1 -0
  22. package/dist/adapters/provider-specs.d.ts +1 -1
  23. package/dist/adapters/provider-specs.d.ts.map +1 -1
  24. package/dist/adapters/registry.d.ts +7 -1
  25. package/dist/adapters/registry.d.ts.map +1 -1
  26. package/dist/adapters/registry.js +44 -4
  27. package/dist/adapters/registry.js.map +1 -1
  28. package/dist/adapters/runtime/adapter.d.ts +24 -0
  29. package/dist/adapters/runtime/adapter.d.ts.map +1 -0
  30. package/dist/adapters/runtime/adapter.js +319 -0
  31. package/dist/adapters/runtime/adapter.js.map +1 -0
  32. package/dist/cli.js +2 -1
  33. package/dist/cli.js.map +1 -1
  34. package/dist/commands/adapters.d.ts.map +1 -1
  35. package/dist/commands/adapters.js +1 -0
  36. package/dist/commands/adapters.js.map +1 -1
  37. package/dist/commands/apply.d.ts +6 -0
  38. package/dist/commands/apply.d.ts.map +1 -1
  39. package/dist/commands/apply.js +37 -13
  40. package/dist/commands/apply.js.map +1 -1
  41. package/dist/commands/audit.d.ts +7 -1
  42. package/dist/commands/audit.d.ts.map +1 -1
  43. package/dist/commands/audit.js +103 -12
  44. package/dist/commands/audit.js.map +1 -1
  45. package/dist/commands/clean.d.ts +61 -0
  46. package/dist/commands/clean.d.ts.map +1 -0
  47. package/dist/commands/clean.js +224 -0
  48. package/dist/commands/clean.js.map +1 -0
  49. package/dist/commands/completion.d.ts +4 -0
  50. package/dist/commands/completion.d.ts.map +1 -0
  51. package/dist/commands/completion.js +95 -0
  52. package/dist/commands/completion.js.map +1 -0
  53. package/dist/commands/config.d.ts +17 -0
  54. package/dist/commands/config.d.ts.map +1 -0
  55. package/dist/commands/config.js +41 -0
  56. package/dist/commands/config.js.map +1 -0
  57. package/dist/commands/doctor.d.ts +28 -0
  58. package/dist/commands/doctor.d.ts.map +1 -0
  59. package/dist/commands/doctor.js +582 -0
  60. package/dist/commands/doctor.js.map +1 -0
  61. package/dist/commands/history.d.ts +15 -0
  62. package/dist/commands/history.d.ts.map +1 -0
  63. package/dist/commands/history.js +30 -0
  64. package/dist/commands/history.js.map +1 -0
  65. package/dist/commands/lock.d.ts +21 -0
  66. package/dist/commands/lock.d.ts.map +1 -0
  67. package/dist/commands/lock.js +43 -0
  68. package/dist/commands/lock.js.map +1 -0
  69. package/dist/commands/plan.d.ts +2 -0
  70. package/dist/commands/plan.d.ts.map +1 -1
  71. package/dist/commands/plan.js +9 -2
  72. package/dist/commands/plan.js.map +1 -1
  73. package/dist/commands/show.d.ts +20 -0
  74. package/dist/commands/show.d.ts.map +1 -0
  75. package/dist/commands/show.js +54 -0
  76. package/dist/commands/show.js.map +1 -0
  77. package/dist/config/defaults.d.ts.map +1 -1
  78. package/dist/config/defaults.js +2 -0
  79. package/dist/config/defaults.js.map +1 -1
  80. package/dist/config/load.d.ts +6 -0
  81. package/dist/config/load.d.ts.map +1 -1
  82. package/dist/config/load.js +25 -0
  83. package/dist/config/load.js.map +1 -1
  84. package/dist/config/path.d.ts +5 -0
  85. package/dist/config/path.d.ts.map +1 -0
  86. package/dist/config/path.js +13 -0
  87. package/dist/config/path.js.map +1 -0
  88. package/dist/config/schema.d.ts +23 -0
  89. package/dist/config/schema.d.ts.map +1 -1
  90. package/dist/config/schema.js +48 -0
  91. package/dist/config/schema.js.map +1 -1
  92. package/dist/contracts/doctor.d.ts +35 -0
  93. package/dist/contracts/doctor.d.ts.map +1 -0
  94. package/dist/contracts/doctor.js +15 -0
  95. package/dist/contracts/doctor.js.map +1 -0
  96. package/dist/contracts/output.d.ts +50 -0
  97. package/dist/contracts/output.d.ts.map +1 -0
  98. package/dist/contracts/output.js +23 -0
  99. package/dist/contracts/output.js.map +1 -0
  100. package/dist/contracts/run.d.ts +2 -0
  101. package/dist/contracts/run.d.ts.map +1 -1
  102. package/dist/contracts/run.js +1 -1
  103. package/dist/contracts/run.js.map +1 -1
  104. package/dist/core/apply.d.ts +1 -0
  105. package/dist/core/apply.d.ts.map +1 -1
  106. package/dist/core/apply.js +46 -3
  107. package/dist/core/apply.js.map +1 -1
  108. package/dist/core/audit.d.ts +21 -0
  109. package/dist/core/audit.d.ts.map +1 -1
  110. package/dist/core/audit.js +31 -1
  111. package/dist/core/audit.js.map +1 -1
  112. package/dist/core/duration.d.ts +2 -0
  113. package/dist/core/duration.d.ts.map +1 -0
  114. package/dist/core/duration.js +21 -0
  115. package/dist/core/duration.js.map +1 -0
  116. package/dist/core/interruption.d.ts +5 -0
  117. package/dist/core/interruption.d.ts.map +1 -0
  118. package/dist/core/interruption.js +5 -0
  119. package/dist/core/interruption.js.map +1 -0
  120. package/dist/core/process-identity.d.ts +24 -0
  121. package/dist/core/process-identity.d.ts.map +1 -0
  122. package/dist/core/process-identity.js +104 -0
  123. package/dist/core/process-identity.js.map +1 -0
  124. package/dist/core/reachability.d.ts +29 -0
  125. package/dist/core/reachability.d.ts.map +1 -0
  126. package/dist/core/reachability.js +121 -0
  127. package/dist/core/reachability.js.map +1 -0
  128. package/dist/core/redaction.d.ts +4 -0
  129. package/dist/core/redaction.d.ts.map +1 -0
  130. package/dist/core/redaction.js +91 -0
  131. package/dist/core/redaction.js.map +1 -0
  132. package/dist/core/safety.d.ts +8 -0
  133. package/dist/core/safety.d.ts.map +1 -1
  134. package/dist/core/safety.js +29 -1
  135. package/dist/core/safety.js.map +1 -1
  136. package/dist/index.d.ts +3 -1
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +2 -0
  139. package/dist/index.js.map +1 -1
  140. package/dist/machine-output.d.ts +21 -0
  141. package/dist/machine-output.d.ts.map +1 -0
  142. package/dist/machine-output.js +32 -0
  143. package/dist/machine-output.js.map +1 -0
  144. package/dist/main.d.ts.map +1 -1
  145. package/dist/main.js +232 -7
  146. package/dist/main.js.map +1 -1
  147. package/dist/state/json-file.d.ts +6 -1
  148. package/dist/state/json-file.d.ts.map +1 -1
  149. package/dist/state/json-file.js +34 -3
  150. package/dist/state/json-file.js.map +1 -1
  151. package/dist/state/layout.d.ts +2 -0
  152. package/dist/state/layout.d.ts.map +1 -1
  153. package/dist/state/layout.js +2 -0
  154. package/dist/state/layout.js.map +1 -1
  155. package/dist/state/lock.d.ts +54 -1
  156. package/dist/state/lock.d.ts.map +1 -1
  157. package/dist/state/lock.js +237 -33
  158. package/dist/state/lock.js.map +1 -1
  159. package/dist/state/records.d.ts +5 -0
  160. package/dist/state/records.d.ts.map +1 -0
  161. package/dist/state/records.js +35 -0
  162. package/dist/state/records.js.map +1 -0
  163. package/dist/state/run-journal.d.ts +3 -1
  164. package/dist/state/run-journal.d.ts.map +1 -1
  165. package/dist/state/run-journal.js +15 -4
  166. package/dist/state/run-journal.js.map +1 -1
  167. package/dist/version.d.ts +1 -1
  168. package/dist/version.js +1 -1
  169. package/package.json +3 -2
  170. package/schemas/command-envelope.schema.json +78 -0
  171. package/schemas/command-event.schema.json +36 -0
  172. package/schemas/doctor.schema.json +51 -0
  173. package/schemas/run.schema.json +1 -1
package/README.md CHANGED
@@ -2,53 +2,41 @@
2
2
 
3
3
  Safe, local-first cleanup for agentic development.
4
4
 
5
- AgentRinse inventories agent state and developer residue, explains why
6
- resources are protected, produces content-addressed cleanup plans, and applies
7
- only actions that still pass every safety check.
8
-
9
- > [!IMPORTANT]
10
- > `0.0.0` is a package-reservation release. It is not supported for cleanup
11
- > against real developer state. The first supported release will be `0.1.0`.
12
-
13
- ## Reservation Release
14
-
15
- The implemented mutation boundary under development is intentionally narrow:
16
-
17
- - removes only exact rebuildable artifact directories declared in config
18
- - supports `node_modules`, `dist`, `dist-runtime`, `build`, `.next`, `.turbo`,
19
- `.cache`, `coverage`, `target`, and `.venv`
20
- - revalidates path, realpath, inode, device, recursive metadata fingerprint,
21
- newest descendant mtime, measured bytes, configured scope, current working
22
- directory, and process ownership after acquiring the apply lock
23
- - rejects artifact roots and descendants that cross filesystem mount
24
- boundaries
25
- - rejects sockets, pipes, devices, and other non-regular filesystem entries
26
- - rechecks size, age, and plan expiration immediately before each mutation
27
- - atomically renames an artifact to a same-parent tombstone before recursive
28
- removal, repeats fingerprint and process checks on the isolated tree, and
29
- performs a final synchronous inode check at the deletion boundary
30
- - journals every transition and records the recovery path for partial actions
31
-
32
- Codex, Claude Code, Cursor, GitHub Copilot CLI, Zed, OpenCode, Grok Build, Git,
33
- and Docker are report-only. Provider state, worktrees, images, containers,
34
- volumes, branches, stashes, credentials, configuration, plugins, skills, and
35
- memories are not cleanup targets.
5
+ AgentRinse inventories agent state and developer residue, explains why each
6
+ resource is protected or eligible, creates content-addressed cleanup plans,
7
+ and applies only actions that still pass every safety check.
8
+
9
+ Version `0.2.0` adds Git reachability proof, live-process and Codex/Claude
10
+ workspace roots, explicit pins, a repository closeout profile, and opt-in
11
+ runtime inventory. Its only mutating action remains removal of exact
12
+ rebuildable artifact directories declared under explicit project roots.
13
+ Provider state, Git worktrees, runtimes, and Docker resources are report-only.
36
14
 
37
15
  ## Install
38
16
 
39
- Do not install `0.0.0` for operational cleanup. Maintainers may verify the
40
- reservation package with:
17
+ Node.js 22 or newer is required.
41
18
 
42
19
  ```bash
43
20
  npm install --global agentrinse
44
21
  agentrinse --version
45
22
  ```
46
23
 
47
- The command must report `0.0.0`. Node.js 22 or newer is required.
24
+ One-off use also works:
25
+
26
+ ```bash
27
+ npx agentrinse@0.2.0 doctor
28
+ ```
48
29
 
49
- ## Configure
30
+ ## Quickstart
31
+
32
+ Create a default configuration without overwriting an existing file:
33
+
34
+ ```bash
35
+ agentrinse config init
36
+ agentrinse config path
37
+ ```
50
38
 
51
- Artifact cleanup is disabled until project roots are explicitly declared.
39
+ Edit the generated JSON and add explicit artifact roots:
52
40
 
53
41
  ```json
54
42
  {
@@ -71,69 +59,164 @@ Artifact cleanup is disabled until project roots are explicitly declared.
71
59
  }
72
60
  ```
73
61
 
74
- Project roots must be unique canonical absolute real directories inside the
75
- audited home; paths reached through symlinked ancestors are rejected. Artifact
76
- targets cannot overlap. AgentRinse never discovers arbitrary projects or
77
- expands wildcards.
62
+ Run diagnostics before the first audit:
63
+
64
+ ```bash
65
+ agentrinse config validate
66
+ agentrinse doctor
67
+ ```
68
+
69
+ Audit and save exact evidence:
70
+
71
+ ```bash
72
+ agentrinse audit --home "$HOME" --output audit.json
73
+ ```
74
+
75
+ Create and review a bounded plan:
76
+
77
+ ```bash
78
+ agentrinse plan --audit audit.json --output plan.json
79
+ cat plan.json
80
+ ```
81
+
82
+ Apply only after reviewing the plan:
83
+
84
+ ```bash
85
+ agentrinse apply --plan plan.json
86
+ ```
87
+
88
+ Interactive apply asks for confirmation. Automation must pass `--yes`.
89
+
90
+ ## Agent Closeout
91
+
92
+ From a Git worktree, create a repository-scoped audit and plan:
93
+
94
+ ```bash
95
+ agentrinse clean --profile closeout
96
+ ```
97
+
98
+ The current worktree is always protected. The profile inventories its
99
+ repository's linked worktrees, loads Codex and Claude reachability metadata,
100
+ and ignores unrelated configured artifact projects. It does not infer that a
101
+ task is finished.
102
+
103
+ After reviewing the summary, a fresh closeout can apply only existing `safe`
104
+ artifact actions:
105
+
106
+ ```bash
107
+ agentrinse clean --profile closeout --apply
108
+ agentrinse clean --profile closeout --apply --yes --max-risk safe --json
109
+ ```
110
+
111
+ On macOS, an installed Mole binary adds external `mo purge --dry-run` and
112
+ `mo clean --dry-run` suggestions. AgentRinse never runs those commands.
113
+
114
+ ## Mutation Boundary
115
+
116
+ AgentRinse can remove only these configured artifact names:
117
+
118
+ - `node_modules`
119
+ - `dist`
120
+ - `dist-runtime`
121
+ - `build`
122
+ - `.next`
123
+ - `.turbo`
124
+ - `.cache`
125
+ - `coverage`
126
+ - `target`
127
+ - `.venv`
128
+
129
+ Before removal it revalidates configured scope, canonical paths, device and
130
+ inode identity, recursive metadata fingerprint, measured bytes, newest
131
+ descendant age, mount boundaries, current working directory ownership,
132
+ same-user processes, and plan expiration. The exact target is atomically moved
133
+ to a same-parent tombstone and verified again before deletion.
134
+
135
+ AgentRinse never removes provider sessions, transcripts, databases,
136
+ credentials, configuration, plugins, skills, memories, Git branches, stashes,
137
+ worktrees, Docker images, containers, networks, volumes, or build cache in
138
+ `0.2.0`.
139
+
140
+ ## Operations
141
+
142
+ ```bash
143
+ agentrinse history
144
+ agentrinse show run <run-id>
145
+ agentrinse show plan <plan-id>
146
+ agentrinse show resource <resource-id>
147
+ agentrinse lock status
148
+ ```
149
+
150
+ Opt into report-only selected runtime inventory:
151
+
152
+ ```json
153
+ {
154
+ "schemaVersion": 1,
155
+ "adapters": {
156
+ "runtime": { "enabled": true }
157
+ }
158
+ }
159
+ ```
160
+
161
+ A stale lock can be recovered only after AgentRinse proves the recorded local
162
+ process identity no longer exists:
78
163
 
79
- ## Use
164
+ ```bash
165
+ agentrinse lock status
166
+ agentrinse lock recover --yes
167
+ ```
80
168
 
81
- Audit and save immutable evidence:
169
+ Generate shell completion without modifying shell startup files:
82
170
 
83
171
  ```bash
84
- agentrinse audit \
85
- --home "$HOME" \
86
- --config agentrinse.json \
87
- --json \
88
- --output audit.json
172
+ agentrinse completion bash
173
+ agentrinse completion zsh
174
+ agentrinse completion fish
89
175
  ```
90
176
 
91
- Create a bounded cleanup plan:
177
+ ## Machine Output
178
+
179
+ `agentrinse audit --json` emits a versioned command envelope. Long audits can
180
+ emit incremental event records:
92
181
 
93
182
  ```bash
94
- agentrinse plan \
95
- --audit audit.json \
96
- --config agentrinse.json \
97
- --output plan.json
183
+ agentrinse audit --ndjson
98
184
  ```
99
185
 
100
- Review `plan.json`, then apply it:
186
+ Create a non-executable report for issue filing:
101
187
 
102
188
  ```bash
103
- agentrinse apply \
104
- --plan plan.json \
105
- --config agentrinse.json \
106
- --yes
189
+ agentrinse audit --json --redact > audit-redacted.json
107
190
  ```
108
191
 
109
- Without `--yes`, apply requires an interactive terminal confirmation. JSON
110
- output requires `--yes` so prompts can never corrupt stdout. A plan is rejected
111
- when it expires, changes, no longer matches the config, or contains inconsistent
112
- action totals. An action whose authorization expires during a run is recorded
113
- as `skipped-stale`, not deleted.
192
+ Redaction replaces paths, salts identifiers per report, removes host fields,
193
+ and strips candidate actions. Persisted state and `--output` evidence remain
194
+ exact so they can be used for planning.
114
195
 
115
- Run journals are stored under `$XDG_STATE_HOME/agentrinse/runs` or
116
- `$HOME/.local/state/agentrinse/runs`. Use `--state-dir` to select another
117
- location.
196
+ ## Platform Support
118
197
 
119
- ## Safety
198
+ | Platform | `0.2.0` support |
199
+ | -------------- | --------------------------------------------------- |
200
+ | macOS | audit and safe artifact apply |
201
+ | Linux | audit and safe artifact apply |
202
+ | WSL | Linux contract inside the WSL filesystem |
203
+ | native Windows | audit-only; mutation remains blocked before `1.0.0` |
120
204
 
121
- - discovery and planning never mutate
122
- - unknown state is protected
123
- - symlinks are not followed
124
- - no process is killed
125
- - no `sudo`
126
- - no Docker volume deletion
127
- - no generic `--force`
128
- - no wildcard deletion
129
- - one apply run holds the exclusive state lock
130
- - AgentRinse never removes its own working directory, lock, or journal
205
+ Git and `lsof` are required for the complete diagnostic and process-ownership
206
+ contract. Docker is optional. Doctor can detect the optional external Mole
207
+ tool on macOS.
131
208
 
132
- AgentRinse fails closed around ordinary concurrent developer tools. It does not
133
- claim isolation from a hostile process already running as the same OS user;
134
- that process can directly alter the user's files and AgentRinse state.
209
+ ## Documentation
135
210
 
136
- See `docs/safety.md` for the complete mutation contract.
211
+ - [Configuration](docs/configuration.md)
212
+ - [Automation](docs/automation.md)
213
+ - [Recovery](docs/recovery.md)
214
+ - [Platform support](docs/platforms.md)
215
+ - [Safety model](docs/safety.md)
216
+ - [Adapter matrix](docs/adapters.md)
217
+ - [Development](docs/development.md)
218
+ - [Releasing](docs/releasing.md)
219
+ - [Product specification](docs/product-spec.md)
137
220
 
138
221
  ## Development
139
222
 
@@ -144,9 +227,8 @@ pnpm smoke
144
227
  pnpm pack:check
145
228
  ```
146
229
 
147
- Development, tests, smoke runs, and destructive proof use temporary synthetic
148
- homes only. Never point `0.0.0` or an unreleased development build at a
149
- workstation home.
230
+ Tests and smoke runs use guarded temporary synthetic roots. Never point an
231
+ unreleased build at real developer state.
150
232
 
151
233
  ## License
152
234
 
@@ -5,6 +5,7 @@ import type { AdapterProbe } from "../../contracts/report.js";
5
5
  import type { ResourceSnapshot } from "../../contracts/resource.js";
6
6
  import { type MountBoundaryResult } from "../../core/mount-boundaries.js";
7
7
  import { type ProcessOwnershipResult } from "../../core/process-ownership.js";
8
+ import type { ReachabilityIndex } from "../../core/reachability.js";
8
9
  type ArtifactOptions = AgentRinseConfig["artifacts"] & AgentRinseConfig["audit"];
9
10
  export type ProcessProbe = (path: string) => Promise<ProcessOwnershipResult>;
10
11
  export type MountProbe = (path: string) => Promise<MountBoundaryResult>;
@@ -12,8 +13,9 @@ export declare class ArtifactAuditAdapter implements AuditAdapter {
12
13
  private readonly options;
13
14
  private readonly processProbe;
14
15
  private readonly mountProbe;
16
+ private readonly reachability?;
15
17
  readonly id = "artifacts";
16
- constructor(options: ArtifactOptions, processProbe?: ProcessProbe, mountProbe?: MountProbe);
18
+ constructor(options: ArtifactOptions, processProbe?: ProcessProbe, mountProbe?: MountProbe, reachability?: ReachabilityIndex | undefined);
17
19
  private validProjects;
18
20
  probe(context: AuditContext): Promise<AdapterProbe>;
19
21
  collect(context: AuditContext, probe: AdapterProbe): Promise<CollectionResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/artifacts/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG/F,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AAGzC,KAAK,eAAe,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEjF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC7E,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAiBxE,qBAAa,oBAAqB,YAAW,YAAY;IAIrD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL7B,QAAQ,CAAC,EAAE,eAAe;IAE1B,YACmB,OAAO,EAAE,eAAe,EACxB,YAAY,GAAE,YAAqC,EACnD,UAAU,GAAE,UAAgC,EAC3D;YAEU,aAAa;IAqDrB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBxD;IAEK,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6GnF;IAEK,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CA6IlF;IAED,OAAO,CAAC,SAAS;CAyBlB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/artifacts/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG/F,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC/F,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,KAAK,eAAe,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AASjF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC7E,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAiBxE,qBAAa,oBAAqB,YAAW,YAAY;IAIrD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IANhC,QAAQ,CAAC,EAAE,eAAe;IAE1B,YACmB,OAAO,EAAE,eAAe,EACxB,YAAY,GAAE,YAAqC,EACnD,UAAU,GAAE,UAAgC,EAC5C,YAAY,CAAC,EAAE,iBAAiB,YAAA,EAC/C;YAEU,aAAa;IAqDrB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBxD;IAEK,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6GnF;IAEK,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2JlF;IAED,OAAO,CAAC,SAAS;CAyBlB"}
@@ -6,6 +6,13 @@ import { measurePath } from "../../core/measure.js";
6
6
  import { findMountBoundaries } from "../../core/mount-boundaries.js";
7
7
  import { findProcessesUsingPath, } from "../../core/process-ownership.js";
8
8
  import { isPathInside } from "../../core/safety.js";
9
+ const ARTIFACT_PROTECTION_ROOTS = new Set([
10
+ "active-session",
11
+ "current-worktree",
12
+ "provider-managed-worktree",
13
+ "recent-session",
14
+ "user-pin",
15
+ ]);
9
16
  function isMissing(error) {
10
17
  return (error instanceof Error && "code" in error && error.code === "ENOENT");
11
18
  }
@@ -21,11 +28,13 @@ export class ArtifactAuditAdapter {
21
28
  options;
22
29
  processProbe;
23
30
  mountProbe;
31
+ reachability;
24
32
  id = "artifacts";
25
- constructor(options, processProbe = findProcessesUsingPath, mountProbe = findMountBoundaries) {
33
+ constructor(options, processProbe = findProcessesUsingPath, mountProbe = findMountBoundaries, reachability) {
26
34
  this.options = options;
27
35
  this.processProbe = processProbe;
28
36
  this.mountProbe = mountProbe;
37
+ this.reachability = reachability;
29
38
  }
30
39
  async validProjects(context) {
31
40
  const roots = [];
@@ -293,6 +302,19 @@ export class ArtifactAuditAdapter {
293
302
  resourceId: resource.resource.id,
294
303
  });
295
304
  }
305
+ const reachabilityRoots = this.reachability
306
+ ?.rootsForResource(resource.resource, resource.facts, context.now.toISOString())
307
+ .filter((root) => ARTIFACT_PROTECTION_ROOTS.has(root.code));
308
+ if (reachabilityRoots !== undefined && reachabilityRoots.length > 0) {
309
+ roots.push(...reachabilityRoots);
310
+ if (state === "eligible") {
311
+ state = "protected";
312
+ }
313
+ }
314
+ roots.sort((left, right) => {
315
+ const byCode = left.code.localeCompare(right.code);
316
+ return byCode !== 0 ? byCode : left.source.localeCompare(right.source);
317
+ });
296
318
  const candidateActions = state === "eligible" ? [this.actionFor(resource)] : [];
297
319
  return {
298
320
  schemaVersion: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/artifacts/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/artifacts/adapter.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,19 @@ import type { AuditAdapter, AuditContext, CollectionResult } from "../../contrac
2
2
  import type { Finding } from "../../contracts/finding.js";
3
3
  import type { AdapterProbe } from "../../contracts/report.js";
4
4
  import type { ResourceSnapshot } from "../../contracts/resource.js";
5
+ import { type ProcessOwnershipResult } from "../../core/process-ownership.js";
6
+ import type { ReachabilityIndex } from "../../core/reachability.js";
5
7
  export type GitRunner = (args: string[]) => Promise<string>;
8
+ export type GitPathExists = (path: string) => Promise<boolean>;
9
+ export type GitProcessProbe = (path: string) => Promise<ProcessOwnershipResult>;
6
10
  export declare class GitWorktreeAuditAdapter implements AuditAdapter {
7
11
  private readonly root;
8
12
  private readonly runGit;
13
+ private readonly pathExists;
14
+ private readonly processProbe;
15
+ private readonly reachability?;
9
16
  readonly id = "git";
10
- constructor(root: string | undefined, runGit?: GitRunner);
17
+ constructor(root: string | undefined, runGit?: GitRunner, pathExists?: GitPathExists, processProbe?: GitProcessProbe, reachability?: ReachabilityIndex | undefined);
11
18
  probe(_context: AuditContext): Promise<AdapterProbe>;
12
19
  collect(context: AuditContext, probe: AdapterProbe): Promise<CollectionResult>;
13
20
  classify(context: AuditContext, resource: ResourceSnapshot): Promise<Finding>;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/git/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAMpE,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAiB5D,qBAAa,uBAAwB,YAAW,YAAY;IAIxD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,CAAC,EAAE,SAAS;IAEpB,YACmB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,SAA4B,EACnD;IAEE,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA6CzD;IAEK,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+CnF;IAEK,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CA0ClF;CACF"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/git/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE/F,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAcpE,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAkDhF,qBAAa,uBAAwB,YAAW,YAAY;IAIxD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAPhC,QAAQ,CAAC,EAAE,SAAS;IAEpB,YACmB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,SAA4B,EACpC,UAAU,GAAE,aAAiC,EAC7C,YAAY,GAAE,eAAwD,EACtE,YAAY,CAAC,EAAE,iBAAiB,YAAA,EAC/C;IAEE,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CA6CzD;IAEK,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwLnF;IAEK,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAoHlF;CACF"}