usesteady 0.1.0-alpha.59 → 0.1.0-alpha.60

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 (139) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/dist/src/cursor/adapters/inprocess-adapter.d.ts +16 -0
  3. package/dist/src/cursor/adapters/inprocess-adapter.d.ts.map +1 -1
  4. package/dist/src/cursor/adapters/inprocess-adapter.js +56 -1
  5. package/dist/src/cursor/adapters/inprocess-adapter.js.map +1 -1
  6. package/dist/src/input/cli-error.d.ts +1 -1
  7. package/dist/src/input/cli-error.d.ts.map +1 -1
  8. package/dist/src/input/feasibility-validator.d.ts.map +1 -1
  9. package/dist/src/input/feasibility-validator.js +133 -7
  10. package/dist/src/input/feasibility-validator.js.map +1 -1
  11. package/dist/src/safety/filename-safety.d.ts +92 -1
  12. package/dist/src/safety/filename-safety.d.ts.map +1 -1
  13. package/dist/src/safety/filename-safety.js +170 -1
  14. package/dist/src/safety/filename-safety.js.map +1 -1
  15. package/dist/src/shell/cli/execution-summary.d.ts +23 -0
  16. package/dist/src/shell/cli/execution-summary.d.ts.map +1 -1
  17. package/dist/src/shell/cli/execution-summary.js +39 -1
  18. package/dist/src/shell/cli/execution-summary.js.map +1 -1
  19. package/dist/src/shell/cli/main.d.ts.map +1 -1
  20. package/dist/src/shell/cli/main.js +16 -0
  21. package/dist/src/shell/cli/main.js.map +1 -1
  22. package/dist/src/shell/cli/use-steady.d.ts +28 -0
  23. package/dist/src/shell/cli/use-steady.d.ts.map +1 -1
  24. package/dist/src/shell/cli/use-steady.js +72 -0
  25. package/dist/src/shell/cli/use-steady.js.map +1 -1
  26. package/dist/src/workflow/coordinator.d.ts.map +1 -1
  27. package/dist/src/workflow/coordinator.js +14 -2
  28. package/dist/src/workflow/coordinator.js.map +1 -1
  29. package/dist/src/workflow/types.d.ts +17 -0
  30. package/dist/src/workflow/types.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/dist/server-admin.d.ts +0 -11
  33. package/dist/server-admin.d.ts.map +0 -1
  34. package/dist/server-admin.js +0 -256
  35. package/dist/server-admin.js.map +0 -1
  36. package/dist/src/analysis/friction/aggregator.d.ts +0 -30
  37. package/dist/src/analysis/friction/aggregator.d.ts.map +0 -1
  38. package/dist/src/analysis/friction/aggregator.js +0 -90
  39. package/dist/src/analysis/friction/aggregator.js.map +0 -1
  40. package/dist/src/analysis/friction/classify.d.ts +0 -21
  41. package/dist/src/analysis/friction/classify.d.ts.map +0 -1
  42. package/dist/src/analysis/friction/classify.js +0 -102
  43. package/dist/src/analysis/friction/classify.js.map +0 -1
  44. package/dist/src/analysis/friction/cli.d.ts +0 -19
  45. package/dist/src/analysis/friction/cli.d.ts.map +0 -1
  46. package/dist/src/analysis/friction/cli.js +0 -153
  47. package/dist/src/analysis/friction/cli.js.map +0 -1
  48. package/dist/src/analysis/friction/clusterer.d.ts +0 -9
  49. package/dist/src/analysis/friction/clusterer.d.ts.map +0 -1
  50. package/dist/src/analysis/friction/clusterer.js +0 -62
  51. package/dist/src/analysis/friction/clusterer.js.map +0 -1
  52. package/dist/src/analysis/friction/escalation.d.ts +0 -34
  53. package/dist/src/analysis/friction/escalation.d.ts.map +0 -1
  54. package/dist/src/analysis/friction/escalation.js +0 -122
  55. package/dist/src/analysis/friction/escalation.js.map +0 -1
  56. package/dist/src/analysis/friction/heatmap.d.ts +0 -9
  57. package/dist/src/analysis/friction/heatmap.d.ts.map +0 -1
  58. package/dist/src/analysis/friction/heatmap.js +0 -44
  59. package/dist/src/analysis/friction/heatmap.js.map +0 -1
  60. package/dist/src/analysis/friction/index.d.ts +0 -19
  61. package/dist/src/analysis/friction/index.d.ts.map +0 -1
  62. package/dist/src/analysis/friction/index.js +0 -16
  63. package/dist/src/analysis/friction/index.js.map +0 -1
  64. package/dist/src/analysis/friction/negative-signal.d.ts +0 -20
  65. package/dist/src/analysis/friction/negative-signal.d.ts.map +0 -1
  66. package/dist/src/analysis/friction/negative-signal.js +0 -53
  67. package/dist/src/analysis/friction/negative-signal.js.map +0 -1
  68. package/dist/src/analysis/friction/types.d.ts +0 -85
  69. package/dist/src/analysis/friction/types.d.ts.map +0 -1
  70. package/dist/src/analysis/friction/types.js +0 -21
  71. package/dist/src/analysis/friction/types.js.map +0 -1
  72. package/dist/src/gauntlet/gauntlet-registry.d.ts +0 -4
  73. package/dist/src/gauntlet/gauntlet-registry.d.ts.map +0 -1
  74. package/dist/src/gauntlet/gauntlet-registry.js +0 -17
  75. package/dist/src/gauntlet/gauntlet-registry.js.map +0 -1
  76. package/dist/src/gauntlet/gauntlet-report.d.ts +0 -10
  77. package/dist/src/gauntlet/gauntlet-report.d.ts.map +0 -1
  78. package/dist/src/gauntlet/gauntlet-report.js +0 -86
  79. package/dist/src/gauntlet/gauntlet-report.js.map +0 -1
  80. package/dist/src/gauntlet/gauntlet-runner.d.ts +0 -19
  81. package/dist/src/gauntlet/gauntlet-runner.d.ts.map +0 -1
  82. package/dist/src/gauntlet/gauntlet-runner.js +0 -184
  83. package/dist/src/gauntlet/gauntlet-runner.js.map +0 -1
  84. package/dist/src/gauntlet/gauntlet-types.d.ts +0 -36
  85. package/dist/src/gauntlet/gauntlet-types.d.ts.map +0 -1
  86. package/dist/src/gauntlet/gauntlet-types.js +0 -2
  87. package/dist/src/gauntlet/gauntlet-types.js.map +0 -1
  88. package/dist/src/gauntlet/test-cases/adversarial.d.ts +0 -3
  89. package/dist/src/gauntlet/test-cases/adversarial.d.ts.map +0 -1
  90. package/dist/src/gauntlet/test-cases/adversarial.js +0 -43
  91. package/dist/src/gauntlet/test-cases/adversarial.js.map +0 -1
  92. package/dist/src/gauntlet/test-cases/authority.d.ts +0 -3
  93. package/dist/src/gauntlet/test-cases/authority.d.ts.map +0 -1
  94. package/dist/src/gauntlet/test-cases/authority.js +0 -43
  95. package/dist/src/gauntlet/test-cases/authority.js.map +0 -1
  96. package/dist/src/gauntlet/test-cases/deterministic.d.ts +0 -3
  97. package/dist/src/gauntlet/test-cases/deterministic.d.ts.map +0 -1
  98. package/dist/src/gauntlet/test-cases/deterministic.js +0 -27
  99. package/dist/src/gauntlet/test-cases/deterministic.js.map +0 -1
  100. package/dist/src/gauntlet/test-cases/temporal.d.ts +0 -3
  101. package/dist/src/gauntlet/test-cases/temporal.d.ts.map +0 -1
  102. package/dist/src/gauntlet/test-cases/temporal.js +0 -35
  103. package/dist/src/gauntlet/test-cases/temporal.js.map +0 -1
  104. package/dist/src/observe/drl-ledger-redaction.d.ts +0 -2
  105. package/dist/src/observe/drl-ledger-redaction.d.ts.map +0 -1
  106. package/dist/src/observe/drl-ledger-redaction.js +0 -21
  107. package/dist/src/observe/drl-ledger-redaction.js.map +0 -1
  108. package/dist/src/observe/drl-ledger-types.d.ts +0 -14
  109. package/dist/src/observe/drl-ledger-types.d.ts.map +0 -1
  110. package/dist/src/observe/drl-ledger-types.js +0 -2
  111. package/dist/src/observe/drl-ledger-types.js.map +0 -1
  112. package/dist/src/trace/builder.d.ts +0 -69
  113. package/dist/src/trace/builder.d.ts.map +0 -1
  114. package/dist/src/trace/builder.js +0 -131
  115. package/dist/src/trace/builder.js.map +0 -1
  116. package/dist/src/trace/cli.d.ts +0 -31
  117. package/dist/src/trace/cli.d.ts.map +0 -1
  118. package/dist/src/trace/cli.js +0 -84
  119. package/dist/src/trace/cli.js.map +0 -1
  120. package/dist/src/trace/from-intake.d.ts +0 -31
  121. package/dist/src/trace/from-intake.d.ts.map +0 -1
  122. package/dist/src/trace/from-intake.js +0 -132
  123. package/dist/src/trace/from-intake.js.map +0 -1
  124. package/dist/src/trace/index.d.ts +0 -19
  125. package/dist/src/trace/index.d.ts.map +0 -1
  126. package/dist/src/trace/index.js +0 -17
  127. package/dist/src/trace/index.js.map +0 -1
  128. package/dist/src/trace/types.d.ts +0 -160
  129. package/dist/src/trace/types.d.ts.map +0 -1
  130. package/dist/src/trace/types.js +0 -48
  131. package/dist/src/trace/types.js.map +0 -1
  132. package/dist/src/trace/uncertainty.d.ts +0 -29
  133. package/dist/src/trace/uncertainty.d.ts.map +0 -1
  134. package/dist/src/trace/uncertainty.js +0 -106
  135. package/dist/src/trace/uncertainty.js.map +0 -1
  136. package/dist/src/trace/why-render.d.ts +0 -28
  137. package/dist/src/trace/why-render.d.ts.map +0 -1
  138. package/dist/src/trace/why-render.js +0 -100
  139. package/dist/src/trace/why-render.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,127 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.60 - Protected paths + filename hygiene + OCD warning truthfulness
4
+
5
+ **Released:** May 2026
6
+ **npm tag:** `alpha` - `npm install -g usesteady@alpha`
7
+
8
+ Post-alpha.59 delta. Closes 4 accepted frictions across 2 trust surfaces:
9
+ filesystem location safety (Cluster B Iter 4: #60, #67, #68) and
10
+ execution truthfulness (#42). One new public `CliErrorCode`
11
+ (`prohibited_path`); no new approval semantics, no new operation types,
12
+ no exit-code change, OCD remains non-blocking.
13
+
14
+ Included PRs: #318 (Cluster B Iter 4) and #319 (#42 OCD warning
15
+ alignment). No other deltas since alpha.59 (`4cbac6c`).
16
+
17
+ ### Cluster B Iteration 4 - Protected Paths Registry + whitespace-bounded filenames
18
+
19
+ Design rationale: [`docs/adr/ADR-cluster-b-iteration-4-protected-paths.md`](./docs/adr/ADR-cluster-b-iteration-4-protected-paths.md).
20
+
21
+ Closes three accepted frictions in one coherent feature, following
22
+ the flat pure-function style of Iter 2 / Iter 3 / Iter 3.5 / Iter 3.6.
23
+
24
+ - **shortgigs/usesteady-public#60** (`create_dir` into `.git/hooks`):
25
+ refused at the validate stage with the new public `prohibited_path`
26
+ code; defense-in-depth re-check at the cursor adapter mirrors the
27
+ S2/#36 posture (every fs-op site).
28
+ - **shortgigs/usesteady-public#67** (silent `delete` of `.git/HEAD`):
29
+ same refusal class, applied symmetrically to delete / rename
30
+ (both from and to) / append / prepend / replace. Unlike filename-
31
+ hygiene checks (Iter 2/3), the protected-path check runs on
32
+ `delete` -- the friction shape is symmetric.
33
+ - **shortgigs/usesteady-public#68** (leading/trailing whitespace in
34
+ filenames): refused at validate/executor; folds under the existing
35
+ `invalid_filename_chars` public code (internal discriminant
36
+ `invalid_filename_whitespace`). Per-segment check catches
37
+ intermediate-directory whitespace too, not just basenames.
38
+
39
+ #### Authority surface
40
+
41
+ - One new public `CliErrorCode`: `prohibited_path`. Strongly justified
42
+ (distinct semantic from `invalid_filename_chars`: path is well-
43
+ formed and inside the workspace; the LOCATION is off-limits;
44
+ remediation is "use git directly," not "rename").
45
+ - No new operation types, no new approval semantics, no new
46
+ approval-bypass affordances.
47
+ - V1 protected set: any segment exactly equal to `.git` (case-
48
+ insensitive). Regular workspace files like `.gitignore`,
49
+ `.gitattributes`, and `.gitkeep` are NOT protected.
50
+
51
+ #### Invariants preserved
52
+
53
+ - All Iter 1-3.6 invariants hold (1097 passing tests across
54
+ `tests/input`, `tests/safety`, `tests/cursor`).
55
+ - Ordering: codepoint check -> reserved-name check -> whitespace
56
+ check -> canonicalization check -> protected-path check, so the
57
+ most actionable diagnostic wins (e.g. `"CON "` surfaces as
58
+ reserved-name with rename suggestion, not as whitespace).
59
+ - Pure functions, no fs / time / global state. Same input, same
60
+ output on every host.
61
+
62
+ #### Out of scope
63
+
64
+ - Other VCS internals (`.svn/`, `.hg/`), secrets directories
65
+ (`.env*`), `node_modules/`. No friction signal yet -- extension
66
+ requires a real reporter case (AGENTS.md "no new authority without
67
+ a current user flow").
68
+ - Protected-path receive-side defense-in-depth at the replace gate.
69
+ The validator catches it pre-receive; the adapter's `receive()`
70
+ path defers to that (consistent with how filename-safety is wired).
71
+
72
+ #### Friction -> fix mapping
73
+
74
+ | Friction (usesteady-public) | Fix surface |
75
+ |----------------------------------------------|---------------------------------------------------|
76
+ | #60 - create_dir into .git/hooks | `validateProtectedPath` + per-op wiring |
77
+ | #67 - silent delete of .git/HEAD | `validateProtectedPath` covers delete (new scope) |
78
+ | #68 - leading/trailing whitespace in name | `validateFilenameSafety` whitespace extension |
79
+
80
+ ### Issue #42 - OCD warning vs success reporting alignment
81
+
82
+ Closes shortgigs/usesteady-public#42. The OCD evaluator already
83
+ surfaces the conflict frame as `WARNING - OCD conflict detected
84
+ (non-blocking)` with "System will execute on approval." text (S4
85
+ fix, alpha.5x). The remaining trust gap was the END-OF-RUN summary:
86
+ a run that printed a WARNING frame and then executed under `--yes`
87
+ announced "Completed successfully" with no acknowledgement that a
88
+ warning had been accepted.
89
+
90
+ #### Change
91
+
92
+ - `WorkflowTask` gains an optional `conflictsAccepted?: number`
93
+ counter, incremented inside `acceptWorkflowConflict` whenever the
94
+ user (or `--yes`) accepts an OCD conflict warning for that task.
95
+ - `ExecutionSummary` gains a required `warnings_accepted: number`
96
+ field, summed only across tasks that actually ran (`outcome ===
97
+ "accepted"`).
98
+ - `renderExecutionSummaryLines` reports `! Completed with N
99
+ warning(s) accepted` instead of `Completed successfully` when
100
+ `summary.success && summary.warnings_accepted > 0`. Plural/singular
101
+ agreement preserved. Failure / neutral forms unchanged.
102
+ - `--output json` surface gains `warnings_accepted: <number>` so
103
+ machine consumers (CI scripts, agent integrations) can surface the
104
+ same trust signal the human banner now shows. Strictly additive --
105
+ pre-#42 consumers reading `success` / `error` / `failed_at_step` /
106
+ `executed_steps` / `total_steps` are unaffected. The field is
107
+ always emitted on post-#42 runs (zero when no warning was
108
+ accepted); pre-#42 result-file fixtures are tolerated via guarded
109
+ projection (field omitted when the upstream result does not carry
110
+ it -- no invented data).
111
+
112
+ #### Invariants preserved
113
+
114
+ - OCD evaluator behavior unchanged (still non-blocking).
115
+ - Conflict-frame text unchanged.
116
+ - Exit code unchanged (0 on success, warnings or not).
117
+ - JSON `success` key unchanged (the run still succeeded).
118
+ - Public CliErrorCode surface unchanged.
119
+ - Pre-#42 runs with zero warnings still see the verbatim
120
+ `Completed successfully` banner (regression-guarded).
121
+ - Pre-#42 result-file fixtures (without `warnings_accepted`) still
122
+ produce a valid `--output json` payload -- the field is simply
123
+ absent rather than invented.
124
+
3
125
  ## 0.1.0-alpha.59 - Bundled stabilization (E2E baseline, Cluster B Iter 2+3+3.5+3.6, K2 cleanup, K5 run_command replay, CLI well-formedness guardrail)
4
126
 
5
127
  **Released:** May 2026
@@ -103,6 +103,22 @@ export declare class CursorInProcessAdapter implements CursorEditorPlugin, FsPlu
103
103
  * the caller should be able to operate on pre-existing names.
104
104
  */
105
105
  private filenameSafetyRefusal;
106
+ /**
107
+ * Cluster B Iteration 4 / usesteady-public#60, #67 -- defense-in-depth
108
+ * protected-path re-check at the fs-op layer.
109
+ *
110
+ * The FeasibilityValidator is the primary enforcement. This per-fs-op
111
+ * re-check is the secondary net for callers that bypass the validator
112
+ * (custom adapter consumers, internal API). Mirrors
113
+ * `filenameSafetyRefusal` and `containmentRefusal`.
114
+ *
115
+ * Applied to every path-bearing fs-op (create_dir, write_file,
116
+ * append_file, prepend_file, rename {from, to}, delete_file). The
117
+ * scope is wider than `filenameSafetyRefusal` because the friction
118
+ * shape is symmetric: deleting `.git/HEAD` is exactly as harmful as
119
+ * creating it.
120
+ */
121
+ private protectedPathRefusal;
106
122
  executeFsOp(op: FsChange): Promise<{
107
123
  readonly kind: "accepted" | "failed";
108
124
  readonly detail?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"inprocess-adapter.d.ts","sourceRoot":"","sources":["../../../../src/cursor/adapters/inprocess-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAgBH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAsB,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAsB,yBAAyB,CAAC;AAmElF,qBAAa,sBAAuB,YAAW,kBAAkB,EAAE,QAAQ;IAM7D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAL1C;;;;OAIG;gBAC0B,aAAa,EAAE,MAAM;IAE5C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqUtE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,qBAAqB;IAkCvB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC;QACvC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IA6JF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,kBAAkB;CAqB3B"}
1
+ {"version":3,"file":"inprocess-adapter.d.ts","sourceRoot":"","sources":["../../../../src/cursor/adapters/inprocess-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAiBH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAsB,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAsB,yBAAyB,CAAC;AAmElF,qBAAa,sBAAuB,YAAW,kBAAkB,EAAE,QAAQ;IAM7D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAL1C;;;;OAIG;gBAC0B,aAAa,EAAE,MAAM;IAE5C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqUtE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IAiBtB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC;QACvC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IAoLF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,kBAAkB;CAqB3B"}
@@ -57,7 +57,7 @@ import { spawnSync } from "node:child_process";
57
57
  import { join, isAbsolute, dirname } from "node:path";
58
58
  import { matchesGlob } from "../glob-matcher.js";
59
59
  import { canonicalizeForSafety, CanonicalizationError } from "../../safety/canonicalize.js";
60
- import { validateFilenameSafety, validateReplacementTextSafety, classifyNormalizationDivergence, describeNormalizationDivergence, } from "../../safety/filename-safety.js";
60
+ import { validateFilenameSafety, validateReplacementTextSafety, validateProtectedPath, classifyNormalizationDivergence, describeNormalizationDivergence, } from "../../safety/filename-safety.js";
61
61
  import { pathEscapesWorkspace, OUTSIDE_WORKSPACE_MSG } from "../../input/feasibility-validator.js";
62
62
  // ─── Cluster B helpers (canonicalization-aware comparison) ────────────────────
63
63
  //
@@ -503,6 +503,31 @@ export class CursorInProcessAdapter {
503
503
  detail: `Refusing to create unsafe filename (${fieldName}: ${rawPath}). ${result.detail}`,
504
504
  };
505
505
  }
506
+ /**
507
+ * Cluster B Iteration 4 / usesteady-public#60, #67 -- defense-in-depth
508
+ * protected-path re-check at the fs-op layer.
509
+ *
510
+ * The FeasibilityValidator is the primary enforcement. This per-fs-op
511
+ * re-check is the secondary net for callers that bypass the validator
512
+ * (custom adapter consumers, internal API). Mirrors
513
+ * `filenameSafetyRefusal` and `containmentRefusal`.
514
+ *
515
+ * Applied to every path-bearing fs-op (create_dir, write_file,
516
+ * append_file, prepend_file, rename {from, to}, delete_file). The
517
+ * scope is wider than `filenameSafetyRefusal` because the friction
518
+ * shape is symmetric: deleting `.git/HEAD` is exactly as harmful as
519
+ * creating it.
520
+ */
521
+ protectedPathRefusal(rawPath, fieldName) {
522
+ const result = validateProtectedPath(rawPath);
523
+ if (result.ok)
524
+ return null;
525
+ return {
526
+ kind: "failed",
527
+ errorCode: "prohibited_path",
528
+ detail: `Refusing operation on protected path (${fieldName}: ${rawPath}). ${result.detail}`,
529
+ };
530
+ }
506
531
  async executeFsOp(op) {
507
532
  try {
508
533
  switch (op.operationType) {
@@ -513,6 +538,9 @@ export class CursorInProcessAdapter {
513
538
  const filenameRefused = this.filenameSafetyRefusal(op.dirPath, "path");
514
539
  if (filenameRefused !== null)
515
540
  return filenameRefused;
541
+ const protectedRefused = this.protectedPathRefusal(op.dirPath, "path");
542
+ if (protectedRefused !== null)
543
+ return protectedRefused;
516
544
  const abs = isAbsolute(op.dirPath) ? op.dirPath : join(this.workspaceRoot, op.dirPath);
517
545
  mkdirSync(abs, { recursive: true });
518
546
  return { kind: "accepted" };
@@ -524,6 +552,9 @@ export class CursorInProcessAdapter {
524
552
  const filenameRefused = this.filenameSafetyRefusal(op.filePath, "file");
525
553
  if (filenameRefused !== null)
526
554
  return filenameRefused;
555
+ const protectedRefused = this.protectedPathRefusal(op.filePath, "file");
556
+ if (protectedRefused !== null)
557
+ return protectedRefused;
527
558
  const abs = isAbsolute(op.filePath) ? op.filePath : join(this.workspaceRoot, op.filePath);
528
559
  if (this.isSymlinkPath(abs)) {
529
560
  return {
@@ -547,6 +578,9 @@ export class CursorInProcessAdapter {
547
578
  const refused = this.containmentRefusal(op.filePath, "file");
548
579
  if (refused !== null)
549
580
  return refused;
581
+ const protectedRefused = this.protectedPathRefusal(op.filePath, "file");
582
+ if (protectedRefused !== null)
583
+ return protectedRefused;
550
584
  const abs = isAbsolute(op.filePath) ? op.filePath : join(this.workspaceRoot, op.filePath);
551
585
  if (this.isSymlinkPath(abs)) {
552
586
  return { kind: "failed", detail: `Refusing to append via symlink path: ${abs}` };
@@ -566,6 +600,9 @@ export class CursorInProcessAdapter {
566
600
  const refused = this.containmentRefusal(op.filePath, "file");
567
601
  if (refused !== null)
568
602
  return refused;
603
+ const protectedRefused = this.protectedPathRefusal(op.filePath, "file");
604
+ if (protectedRefused !== null)
605
+ return protectedRefused;
569
606
  const abs = isAbsolute(op.filePath) ? op.filePath : join(this.workspaceRoot, op.filePath);
570
607
  if (this.isSymlinkPath(abs)) {
571
608
  return { kind: "failed", detail: `Refusing to prepend via symlink path: ${abs}` };
@@ -594,6 +631,16 @@ export class CursorInProcessAdapter {
594
631
  const filenameRefusedTo = this.filenameSafetyRefusal(op.newPath, "to");
595
632
  if (filenameRefusedTo !== null)
596
633
  return filenameRefusedTo;
634
+ // Cluster B Iter 4: protected-path applies SYMMETRICALLY --
635
+ // renaming a workspace file INTO `.git/HEAD` corrupts git,
636
+ // and renaming `.git/HEAD` OUT of `.git/` also corrupts git
637
+ // (the source object becomes orphaned).
638
+ const protectedRefusedFrom = this.protectedPathRefusal(op.filePath, "from");
639
+ if (protectedRefusedFrom !== null)
640
+ return protectedRefusedFrom;
641
+ const protectedRefusedTo = this.protectedPathRefusal(op.newPath, "to");
642
+ if (protectedRefusedTo !== null)
643
+ return protectedRefusedTo;
597
644
  const absOld = isAbsolute(op.filePath) ? op.filePath : join(this.workspaceRoot, op.filePath);
598
645
  const absNew = isAbsolute(op.newPath) ? op.newPath : join(this.workspaceRoot, op.newPath);
599
646
  if (this.isSymlinkPath(absOld) || this.isSymlinkPath(absNew)) {
@@ -622,6 +669,14 @@ export class CursorInProcessAdapter {
622
669
  const refused = this.containmentRefusal(op.filePath, "file");
623
670
  if (refused !== null)
624
671
  return refused;
672
+ // Cluster B Iter 4 / public#67 -- defense-in-depth refusal of
673
+ // `delete .git/HEAD` (and other git internals). Unlike the
674
+ // filename-safety check (which skips delete so users can clean
675
+ // up files with bad codepoints), protected-path check DOES run
676
+ // on delete because the friction shape is symmetric.
677
+ const protectedRefused = this.protectedPathRefusal(op.filePath, "file");
678
+ if (protectedRefused !== null)
679
+ return protectedRefused;
625
680
  const abs = isAbsolute(op.filePath) ? op.filePath : join(this.workspaceRoot, op.filePath);
626
681
  if (this.isSymlinkPath(abs)) {
627
682
  return { kind: "failed", detail: `Refusing to delete symlink path: ${abs}` };
@@ -1 +1 @@
1
- {"version":3,"file":"inprocess-adapter.js","sourceRoot":"","sources":["../../../../src/cursor/adapters/inprocess-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inprocess-adapter.js","sourceRoot":"","sources":["../../../../src/cursor/adapters/inprocess-adapter.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,7 @@ export type CliErrorStage = "input" | "normalize" | "validate" | "execute";
111
111
  * surfaces it as `errorCode` on the cursor-session refusal). §6.5.1
112
112
  * rule 3 — same root cause, same code, regardless of stage.
113
113
  */
114
- export type CliErrorCode = "target_exists" | "file_not_found" | "merge_conflict" | "old_value_not_found" | "ambiguous_match" | "scope_outside_allowed" | "prohibited_pattern_match" | "parse_error" | "delivery_timeout" | "invalid_path" | "outside_workspace" | "invalid_filename_chars" | "invalid_replacement_chars" | "invalid_filename_reserved_name" | "execution_error";
114
+ export type CliErrorCode = "target_exists" | "file_not_found" | "merge_conflict" | "old_value_not_found" | "ambiguous_match" | "scope_outside_allowed" | "prohibited_pattern_match" | "parse_error" | "delivery_timeout" | "invalid_path" | "outside_workspace" | "invalid_filename_chars" | "invalid_replacement_chars" | "invalid_filename_reserved_name" | "prohibited_path" | "execution_error";
115
115
  /**
116
116
  * Validator-stage error. Emitted by `FeasibilityValidator` (M3).
117
117
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cli-error.d.ts","sourceRoot":"","sources":["../../../src/input/cli-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAI3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,MAAM,YAAY,GAEpB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,uBAAuB,GACvB,0BAA0B,GAC1B,aAAa,GACb,kBAAkB,GAClB,cAAc,GACd,mBAAmB,GACnB,wBAAwB,GACxB,2BAA2B,GAC3B,gCAAgC,GAEhC,iBAAiB,CAAC;AAItB;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"cli-error.d.ts","sourceRoot":"","sources":["../../../src/input/cli-error.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAI3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,MAAM,YAAY,GAEpB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,uBAAuB,GACvB,0BAA0B,GAC1B,aAAa,GACb,kBAAkB,GAClB,cAAc,GACd,mBAAmB,GACnB,wBAAwB,GACxB,2BAA2B,GAC3B,gCAAgC,GAChC,iBAAiB,GAEjB,iBAAiB,CAAC;AAItB;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"feasibility-validator.d.ts","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAIH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMpD;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/C,CAAC;AA2NF,iBAAS,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CA8BhD;AAED,QAAA,MAAM,qBAAqB,qFACyD,CAAC;AAkErF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AAoOvD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB,GACxB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,CAwCrC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,gBAAgB,GACxB,aAAa,GAAG,IAAI,CAUtB"}
1
+ {"version":3,"file":"feasibility-validator.d.ts","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAIH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASpD;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/C,CAAC;AA2NF,iBAAS,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CA8BhD;AAED,QAAA,MAAM,qBAAqB,qFACyD,CAAC;AAkErF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AA0VvD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB,GACxB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,CAkDrC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,gBAAgB,GACxB,aAAa,GAAG,IAAI,CAUtB"}
@@ -73,7 +73,7 @@
73
73
  import { existsSync, lstatSync } from "node:fs";
74
74
  import { isAbsolute, join, posix } from "node:path";
75
75
  import { canonicalizeForSafety, CanonicalizationError } from "../safety/canonicalize.js";
76
- import { validateFilenameSafety } from "../safety/filename-safety.js";
76
+ import { validateFilenameSafety, validateProtectedPath, } from "../safety/filename-safety.js";
77
77
  const defaultFs = {
78
78
  existsSync,
79
79
  isSymlink: (path) => {
@@ -446,13 +446,20 @@ function makeInvalidFilenameError(op, path, field, detail, validatorCode) {
446
446
  // chars case names the three character classes (BIDI / zero-width /
447
447
  // control) that actually get refused, so users skimming only the
448
448
  // prefix understand the class.
449
+ //
450
+ // Iter 4: `invalid_filename_whitespace` (public#68) folds under the
451
+ // same public `invalid_filename_chars` umbrella as the canonical-
452
+ // divergence case. Whitespace-bounded names are a hygiene
453
+ // refusal, same family as zero-width / BIDI / control codepoints.
449
454
  const summary = validatorCode === "invalid_filename_reserved_name"
450
455
  ? "is a Windows reserved device name"
451
456
  : validatorCode === "invalid_filename_canonical_divergence"
452
457
  ? "is not in canonical form (NFKC divergence)"
453
- : validatorCode === "canonicalization_failed"
454
- ? "could not be safely canonicalized"
455
- : "contains invisible, bidirectional, or control codepoints";
458
+ : validatorCode === "invalid_filename_whitespace"
459
+ ? "has leading or trailing whitespace in a path segment"
460
+ : validatorCode === "canonicalization_failed"
461
+ ? "could not be safely canonicalized"
462
+ : "contains invisible, bidirectional, or control codepoints";
456
463
  const code = validatorCode === "invalid_filename_reserved_name"
457
464
  ? "invalid_filename_reserved_name"
458
465
  : "invalid_filename_chars";
@@ -463,6 +470,35 @@ function makeInvalidFilenameError(op, path, field, detail, validatorCode) {
463
470
  operation: op,
464
471
  };
465
472
  }
473
+ /**
474
+ * Cluster B Iteration 4 / usesteady-public#60, #67 -- protected-path
475
+ * refusal at the validate stage. Returns a `ValidateError` shape
476
+ * matching the existing filename-safety refusals so the IR walker can
477
+ * surface it uniformly.
478
+ *
479
+ * Maps the internal `prohibited_path` discriminant to the new public
480
+ * `prohibited_path` code -- this is the one new public code Iter 4
481
+ * introduces. Justification (per AGENTS.md "no new public codes
482
+ * unless strongly justified"):
483
+ *
484
+ * 1. Distinct semantic: the path is well-formed and inside the
485
+ * workspace -- no other existing code matches "location is
486
+ * off-limits regardless of shape".
487
+ * 2. Distinct remediation: the user is told to use `git` directly,
488
+ * not to rename or restructure the path. Folding under
489
+ * `invalid_filename_chars` would mis-route the fix.
490
+ * 3. Programmatic consumers may want to surface a different UI for
491
+ * "you tried to touch git internals" vs "your filename has
492
+ * bidi controls".
493
+ */
494
+ function makeProhibitedPathError(op, path, field, detail) {
495
+ return {
496
+ stage: "validate",
497
+ code: "prohibited_path",
498
+ message: `Refusing to ${verbForOp(op)}: ${field} is a protected path. ${detail} (${field}: ${path})`,
499
+ operation: op,
500
+ };
501
+ }
466
502
  function verbForOp(op) {
467
503
  switch (op.type) {
468
504
  case "create": return "create file";
@@ -486,7 +522,7 @@ function checkFilenameSafetyForOp(op) {
486
522
  return makeInvalidFilenameError(op, op.args.path, "path", result.detail, result.code);
487
523
  }
488
524
  case "rename": {
489
- // Only the destination (`to`) is gated the source must already
525
+ // Only the destination (`to`) is gated -- the source must already
490
526
  // exist on disk, so its filename safety has nothing to do with
491
527
  // what we are creating.
492
528
  const result = validateFilenameSafety(op.args.to);
@@ -502,6 +538,86 @@ function checkFilenameSafetyForOp(op) {
502
538
  return null;
503
539
  }
504
540
  }
541
+ /**
542
+ * Cluster B Iteration 4 -- protected-path check.
543
+ *
544
+ * Unlike `checkFilenameSafetyForOp` (scoped to ops that MATERIALIZE
545
+ * a new on-disk filename), this check runs on every path-bearing op
546
+ * because the friction shape is symmetric: `delete .git/HEAD` is
547
+ * exactly as harmful as `create .git/HEAD`. The check enforces a
548
+ * location-shape invariant ("the tool does not edit git internals"),
549
+ * not a name-shape one.
550
+ *
551
+ * Scope (every path-bearing op):
552
+ * - create.args.path
553
+ * - create_dir.args.path
554
+ * - delete.args.path
555
+ * - rename.args.from AND args.to (both sides -- renaming `.git/HEAD`
556
+ * into a workspace file, or renaming any file into `.git/HEAD`,
557
+ * are both refused)
558
+ * - replace.args.file
559
+ * - append.args.file
560
+ * - prepend.args.file
561
+ *
562
+ * Out of scope:
563
+ * - run.args.command -- the protected-path rule is about file paths,
564
+ * not shell commands. `run` is gated by K5's allow-list and the
565
+ * Cluster D shell-authority anchor; protected-paths would
566
+ * overlap their semantics confusingly.
567
+ */
568
+ function checkProtectedPathForOp(op) {
569
+ switch (op.type) {
570
+ case "create": {
571
+ const result = validateProtectedPath(op.args.path);
572
+ if (result.ok)
573
+ return null;
574
+ return makeProhibitedPathError(op, op.args.path, "file", result.detail);
575
+ }
576
+ case "create_dir": {
577
+ const result = validateProtectedPath(op.args.path);
578
+ if (result.ok)
579
+ return null;
580
+ return makeProhibitedPathError(op, op.args.path, "path", result.detail);
581
+ }
582
+ case "delete": {
583
+ const result = validateProtectedPath(op.args.path);
584
+ if (result.ok)
585
+ return null;
586
+ return makeProhibitedPathError(op, op.args.path, "file", result.detail);
587
+ }
588
+ case "rename": {
589
+ const resultFrom = validateProtectedPath(op.args.from);
590
+ if (!resultFrom.ok) {
591
+ return makeProhibitedPathError(op, op.args.from, "from", resultFrom.detail);
592
+ }
593
+ const resultTo = validateProtectedPath(op.args.to);
594
+ if (!resultTo.ok) {
595
+ return makeProhibitedPathError(op, op.args.to, "to", resultTo.detail);
596
+ }
597
+ return null;
598
+ }
599
+ case "replace": {
600
+ const result = validateProtectedPath(op.args.file);
601
+ if (result.ok)
602
+ return null;
603
+ return makeProhibitedPathError(op, op.args.file, "file", result.detail);
604
+ }
605
+ case "append": {
606
+ const result = validateProtectedPath(op.args.file);
607
+ if (result.ok)
608
+ return null;
609
+ return makeProhibitedPathError(op, op.args.file, "file", result.detail);
610
+ }
611
+ case "prepend": {
612
+ const result = validateProtectedPath(op.args.file);
613
+ if (result.ok)
614
+ return null;
615
+ return makeProhibitedPathError(op, op.args.file, "file", result.detail);
616
+ }
617
+ case "run":
618
+ return null;
619
+ }
620
+ }
505
621
  function validateCreate(op, ctx) {
506
622
  const abs = resolvePath(ctx.workspaceRoot, op.args.path);
507
623
  // Symlink-at-target check first — matches executor order in
@@ -607,16 +723,26 @@ export function validateOperation(op, context) {
607
723
  const containmentError = checkPathContainment(op);
608
724
  if (containmentError !== null)
609
725
  return containmentError;
610
- // Cluster B Iteration 2 / usesteady-public#50 filename hygiene
726
+ // Cluster B Iteration 2 / usesteady-public#50 -- filename hygiene
611
727
  // check THIRD, before any fs probe. Orthogonal to containment.
612
728
  // Refuses ops that would create a new on-disk filename containing
613
729
  // invisible / BIDI / control codepoints, or whose canonical form
614
730
  // diverges from the original (NFKC compatibility variants like
615
- // fullwidth Latin). Scoped to create / create_dir / rename.to
731
+ // fullwidth Latin). Scoped to create / create_dir / rename.to --
616
732
  // see `checkFilenameSafetyForOp` above for the scope rationale.
617
733
  const filenameSafetyError = checkFilenameSafetyForOp(op);
618
734
  if (filenameSafetyError !== null)
619
735
  return filenameSafetyError;
736
+ // Cluster B Iteration 4 / usesteady-public#60, #67 -- protected-
737
+ // path check FOURTH, before any fs probe. Orthogonal to the three
738
+ // prior checks: a path can be NUL-byte-clean, in-workspace, and
739
+ // filename-hygienic and still refuse to be touched if its location
740
+ // matches a protected pattern (.git/ in V1). Runs on every path-
741
+ // bearing op including `delete` -- see `checkProtectedPathForOp`
742
+ // above for the scope rationale.
743
+ const protectedPathError = checkProtectedPathForOp(op);
744
+ if (protectedPathError !== null)
745
+ return protectedPathError;
620
746
  const ctx = resolveContext(context);
621
747
  switch (op.type) {
622
748
  case "create": return validateCreate(op, ctx);