halfcycle 0.4.13 → 0.4.15

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 (79) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/bin/bin.bundle.mjs +6308 -588
  3. package/bin/pre-tool-use-filter.sh +134 -6
  4. package/commands/agent-teams-orchestration.md +1 -1
  5. package/commands/consistency-check.md +1 -1
  6. package/commands/context-update.md +1 -1
  7. package/commands/halfcycle-design.md +1 -1
  8. package/commands/halfcycle-setup.md +1 -1
  9. package/commands/stack-assembly-worker.md +1 -1
  10. package/commands/task-execution.md +1 -1
  11. package/commands/task-graph.md +1 -1
  12. package/commands/write-spec.md +1 -1
  13. package/dist/bin.d.ts +1 -0
  14. package/dist/bin.d.ts.map +1 -1
  15. package/dist/build-record/pair-io.d.ts +49 -0
  16. package/dist/build-record/pair-io.d.ts.map +1 -0
  17. package/dist/build-record/render-change.d.ts +25 -0
  18. package/dist/build-record/render-change.d.ts.map +1 -0
  19. package/dist/build-record/render-v2.d.ts +10 -5
  20. package/dist/build-record/render-v2.d.ts.map +1 -1
  21. package/dist/build-record/write-change.d.ts +63 -0
  22. package/dist/build-record/write-change.d.ts.map +1 -0
  23. package/dist/build-record/write.d.ts +5 -15
  24. package/dist/build-record/write.d.ts.map +1 -1
  25. package/dist/change.d.ts +136 -0
  26. package/dist/change.d.ts.map +1 -0
  27. package/dist/check-tasks.d.ts +71 -0
  28. package/dist/check-tasks.d.ts.map +1 -0
  29. package/dist/claude-plan.d.ts +133 -0
  30. package/dist/claude-plan.d.ts.map +1 -0
  31. package/dist/cli-contract.d.ts +12 -1
  32. package/dist/cli-contract.d.ts.map +1 -1
  33. package/dist/cli.js +9670 -4933
  34. package/dist/cli.js.map +3 -3
  35. package/dist/close-phase.d.ts +53 -1
  36. package/dist/close-phase.d.ts.map +1 -1
  37. package/dist/doctor.d.ts +34 -0
  38. package/dist/doctor.d.ts.map +1 -0
  39. package/dist/folder-refusals.d.ts +27 -0
  40. package/dist/folder-refusals.d.ts.map +1 -0
  41. package/dist/identity.d.ts +31 -1
  42. package/dist/identity.d.ts.map +1 -1
  43. package/dist/index.js +2832 -1324
  44. package/dist/index.js.map +3 -3
  45. package/dist/install-manifest.d.ts +11 -1
  46. package/dist/install-manifest.d.ts.map +1 -1
  47. package/dist/install-plan.d.ts +112 -0
  48. package/dist/install-plan.d.ts.map +1 -0
  49. package/dist/install.d.ts +593 -2
  50. package/dist/install.d.ts.map +1 -1
  51. package/dist/merge-settings.d.ts +21 -2
  52. package/dist/merge-settings.d.ts.map +1 -1
  53. package/dist/open-phase.d.ts +1 -1
  54. package/dist/open-phase.d.ts.map +1 -1
  55. package/dist/pace.d.ts +138 -0
  56. package/dist/pace.d.ts.map +1 -0
  57. package/dist/phase-work.d.ts +37 -0
  58. package/dist/phase-work.d.ts.map +1 -0
  59. package/dist/plan.d.ts +20 -4
  60. package/dist/plan.d.ts.map +1 -1
  61. package/dist/pre-create-checks.d.ts +28 -0
  62. package/dist/pre-create-checks.d.ts.map +1 -1
  63. package/dist/preview.d.ts +40 -0
  64. package/dist/preview.d.ts.map +1 -0
  65. package/dist/prove.d.ts +77 -0
  66. package/dist/prove.d.ts.map +1 -0
  67. package/dist/restore.d.ts +58 -0
  68. package/dist/restore.d.ts.map +1 -0
  69. package/dist/review.d.ts +19 -1
  70. package/dist/review.d.ts.map +1 -1
  71. package/dist/scan.d.ts +11 -0
  72. package/dist/scan.d.ts.map +1 -1
  73. package/dist/setup/discovery.d.ts.map +1 -1
  74. package/dist/setup/rows.d.ts +10 -6
  75. package/dist/setup/rows.d.ts.map +1 -1
  76. package/dist/system-report.d.ts +1 -1
  77. package/dist/system-report.d.ts.map +1 -1
  78. package/dist/uninstall.d.ts.map +1 -1
  79. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,16 @@ export interface ClaudePermissions {
65
65
  ask?: string[];
66
66
  [key: string]: unknown;
67
67
  }
68
+ /**
69
+ * A `statusLine` setting as Claude Code's settings schema records it: a command
70
+ * whose output is the line shown under the prompt. The installer writes one only
71
+ * where the person has none (`builds-paced-to-plan` AC7, `install.ts`'s
72
+ * `HALFCYCLE_STATUS_LINE`).
73
+ */
74
+ export interface StatusLineSetting {
75
+ type: 'command';
76
+ command: string;
77
+ }
68
78
  /** The subset of `.claude/settings.json` this merge reasons about. */
69
79
  export interface ClaudeSettings {
70
80
  $schema?: string;
@@ -101,7 +111,8 @@ export declare function withoutHalfcycleCommands<E extends {
101
111
  hooks: readonly unknown[];
102
112
  }>(entry: E, halfcycleCommands: ReadonlySet<string>): E | null;
103
113
  /**
104
- * Merge Halfcycle's generated hook entries into an existing settings object.
114
+ * Merge Halfcycle's generated hook entries into an existing settings object, and
115
+ * add Halfcycle's status line where the person has none.
105
116
  *
106
117
  * @param existing the developer's parsed `.claude/settings.json` (may be `{}`).
107
118
  * @param generated Halfcycle's fresh settings object (from `generateSettingsJson`).
@@ -114,6 +125,14 @@ export declare function withoutHalfcycleCommands<E extends {
114
125
  * added by Halfcycle (`retiredRulesThisInstallAdded`, install.ts). Each is
115
126
  * taken out of the developer's deny list once; see `mergePermissions`.
116
127
  * Required, so no caller can forget the retirement by leaving it out.
128
+ * @param statusLine the status line to add (`builds-paced-to-plan` AC7), given
129
+ * only when the caller found none set in any of the person's OTHER
130
+ * settings files (`install.ts`, `statusLineSetElsewhere`). It is added
131
+ * only when `existing` has no `statusLine` key either; a `statusLine` the
132
+ * file already holds, ours or the person's, is kept exactly as it is, by
133
+ * the same shallow copy that keeps every other key of theirs. Leaving it
134
+ * out writes none, which is the safe direction: this merge never adds a
135
+ * status line nobody asked it to.
117
136
  */
118
- export declare function mergeSettings(existing: ClaudeSettings, generated: ClaudeSettings, retiredOurs: readonly string[]): ClaudeSettings;
137
+ export declare function mergeSettings(existing: ClaudeSettings, generated: ClaudeSettings, retiredOurs: readonly string[], statusLine?: StatusLineSetting): ClaudeSettings;
119
138
  //# sourceMappingURL=merge-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-settings.d.ts","sourceRoot":"","sources":["../src/merge-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAIjG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEtH;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAC9E,KAAK,EAAE,CAAC,EACR,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,CAIV;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,cAAc,CA0ChB"}
1
+ {"version":3,"file":"merge-settings.d.ts","sourceRoot":"","sources":["../src/merge-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAIjG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAAE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAEtH;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAC9E,KAAK,EAAE,CAAC,EACR,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,CAIV;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,cAAc,CAgDhB"}
@@ -213,5 +213,5 @@ export declare function writePhaseStamp(engagementId: string, phase: string | nu
213
213
  * warns without being able to say why.
214
214
  * @throws Error on transport failure or a body that is not the expected shape.
215
215
  */
216
- export declare function openPhase(credential: RepoCredential, phase: string | null, entry: PhaseEntryDecision, home?: string, repoRoot?: string): Promise<OpenedPhase>;
216
+ export declare function openPhase(credential: RepoCredential, phase: string | null, entry: PhaseEntryDecision, home?: string, repoRoot?: string, sortingId?: string): Promise<OpenedPhase>;
217
217
  //# sourceMappingURL=open-phase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-phase.d.ts","sourceRoot":"","sources":["../src/open-phase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-phase.d.ts","sourceRoot":"","sources":["../src/open-phase.ts"],"names":[],"mappings":"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"}
package/dist/pace.d.ts ADDED
@@ -0,0 +1,138 @@
1
+ /**
2
+ * `npx halfcycle@latest pace [--start <phase> [--agents <n>]] [--repo <root>]`
3
+ * (Safe, lean, fast · E2, feature `builds-paced-to-plan` AC3).
4
+ *
5
+ * A THIN VERB OVER THE RUNNER'S ONE-LINE ANSWER. Every rule about plans, windows,
6
+ * ceilings and the suggested number lives in `packages/runner/src/pace-verb.ts`
7
+ * (`builds-paced-to-plan` AC3, AC4), which this package may not import (INV-001).
8
+ * This file's one job is: spawn `halfcycle-runner pace […]` as a child process, the
9
+ * way `close-phase` spawns `observe` (`runRunnerChild`, `close-phase.ts`), read its
10
+ * one JSON line (`paceRunResultSchema`), and print the sentences
11
+ * `@halfcycle/events`' `pacing.ts` composes from it — never a sentence of its own,
12
+ * because that is the one home every reader of a pace answer shares.
13
+ *
14
+ * ONE DIFFERENCE FROM `runRunnerChild`. That helper captures the child's standard
15
+ * error and discards it, which is right for `observe` and `time` — a send with
16
+ * nothing for a person to read while it runs. `pace --start` is not: the runner
17
+ * writes its first-read notice (`PACE_FIRST_READ`) to standard error the MOMENT a
18
+ * read of this computer's usage records is due, before that read — which can take
19
+ * minutes on a large records folder — completes. A captured-then-replayed line
20
+ * would print "Reading…" only once the reading was already done. So
21
+ * `runPaceChild` pipes the child's standard error too, but FORWARDS each chunk
22
+ * to this process's own the moment it arrives (`prove.ts`'s own command spawn
23
+ * forwards a person's command output the same way), rather than buffering it
24
+ * for a reply built once the child exits. The same live forwarding carries the
25
+ * runner's own usage line or `PACE_AGENTS_TOO_MANY` line straight to the person
26
+ * when the child exits 2 — this file adds nothing on top of either.
27
+ *
28
+ * NOT-PACED IS NOT A FAILURE (`best-effort-not-guarantees`, the owner 2026-10-28):
29
+ * the runner itself answers `not-paced` with exit 0, and this verb keeps that —
30
+ * one plain line naming why pacing is not shown right now, exit 0, never a
31
+ * developer-facing stack of internal words.
32
+ *
33
+ * `pace` ALONE HAS NO "AGENTS ALREADY WORKING" FIGURE TO READ. The runner's
34
+ * one-line answer for a bare `pace` carries `allowedNow` (the pace's allowance
35
+ * less the agents this computer has already seen start, clamped to zero) and
36
+ * `number` (the build's stored target, unadjusted by the pace). Neither is the
37
+ * raw ceiling S1 and S2 are written for (`decision.allowance`, internal to the
38
+ * runner and never serialised). `allowedNow` equals that ceiling exactly when no
39
+ * agent is yet running — the common case, checking before a start — and
40
+ * understates it otherwise; this file uses it as S1's `k` rather than invent a
41
+ * second figure the schema does not carry, and S2's `paceS2Of` already omits its
42
+ * second sentence at `k === 0` rather than assert a wrong count of agents
43
+ * "already working" — so this never prints something false, only sometimes less
44
+ * than the whole truth. `pace --start`'s P1–P7 carry no such gap: `suggestion`
45
+ * is built for exactly that answer and this file reads it whole.
46
+ *
47
+ * SHIPS TO CLIENT DISK inside the CLI (INV-001: Node builtins, `@halfcycle/core`,
48
+ * `@halfcycle/events` only — no network of its own; the one request pacing makes
49
+ * is the runner's, over the credential this verb reads and hands the child's
50
+ * environment). Every string here is a sentence a person reads in their own
51
+ * terminal, so none names an internal register, route or setting; no comment
52
+ * sits beside an object member.
53
+ */
54
+ import type { RepoCredential } from './open-phase.js';
55
+ /** The usage line, printed for an extra argument or an unknown flag. */
56
+ export declare const PACE_USAGE = "npx halfcycle@latest pace [--start <phase> [--agents <n>]] [--repo <root>]";
57
+ /** What `--start <phase> [--agents <n>]` asked for, or `null` for a bare `pace`. */
58
+ export interface PaceStart {
59
+ readonly phase: string;
60
+ /** The raw token after `--agents`, forwarded to the runner unparsed; it alone
61
+ * owns the rule for what a valid count is (`builds-paced-to-plan` AC6). */
62
+ readonly agents: string | null;
63
+ }
64
+ /**
65
+ * What the arguments after `pace` came to. At most one `--start <phase>`, at most
66
+ * one `--agents <n>` (only alongside `--start`), and at most one `--repo <root>`;
67
+ * anything else is usage.
68
+ */
69
+ export type PaceArgs = {
70
+ ok: true;
71
+ start: PaceStart | null;
72
+ repoRoot: string | undefined;
73
+ } | {
74
+ ok: false;
75
+ };
76
+ export declare function parsePaceArgs(argv: readonly string[]): PaceArgs;
77
+ /**
78
+ * The pace child's own deadline. The runner's first read of this computer's usage
79
+ * records can wait up to ten minutes for a scan already running
80
+ * (`pace-verb.ts`'s `PACE_FIRST_READ_WAIT_MS`, which this package cannot import,
81
+ * INV-001) before it answers either way, and a first scan it runs itself can take
82
+ * about as long on a large records folder — so this spawn's own deadline is set
83
+ * well past that, unlike `close-phase.ts`'s `OBSERVE_CHILD_DEADLINE_MS`, which
84
+ * times a send with no such wait.
85
+ */
86
+ export declare const PACE_CHILD_DEADLINE_MS: number;
87
+ /** What the pace child printed and how it exited. */
88
+ export interface PaceChildOutput {
89
+ readonly code: number;
90
+ readonly stdout: string;
91
+ }
92
+ /** The pieces `runPaceChild` reaches outside itself through; replaced in tests. */
93
+ export interface PaceChildDeps {
94
+ /** Where the child's standard error is forwarded, live, as it arrives. */
95
+ readonly stderr?: {
96
+ write: (chunk: Buffer) => void;
97
+ };
98
+ }
99
+ /**
100
+ * Spawn `halfcycle-runner pace […]`, the way `close-phase` spawns `observe`
101
+ * (same credential environment, same working directory), reading standard output
102
+ * whole (it carries exactly the one line this file parses) while forwarding
103
+ * standard error LIVE, chunk by chunk, as the child writes it — the way
104
+ * `packages/runner/src/prove.ts`'s own command spawn forwards a person's command
105
+ * output, and for the same reason: the module docblock's first-read notice is
106
+ * written before a read that can take minutes, and a captured-then-replayed line
107
+ * would arrive only once the child had already exited. Never throws: a binary
108
+ * that cannot be found, or a child that cannot start, reads as exit 1 with no
109
+ * output — the same shape an answer with no parsable line reads as.
110
+ */
111
+ export declare function runPaceChild(binary: string | Error, credential: RepoCredential, repoRoot: string, args: readonly string[], deps?: PaceChildDeps): Promise<PaceChildOutput>;
112
+ /** This project is not signed in on this machine — the one line every such refusal prints. */
113
+ export declare const PACE_NOT_CONNECTED_LINE = "halfcycle pace: this project is not signed in on this computer. Run \"npx halfcycle\" in the project folder to sign in.";
114
+ /** The pieces `runPace` reaches outside itself through; replaced in tests. */
115
+ export interface PaceDeps {
116
+ readonly readCredential: (repoRoot: string) => RepoCredential;
117
+ readonly spawnPace: (credential: RepoCredential, repoRoot: string, args: readonly string[]) => Promise<PaceChildOutput>;
118
+ readonly now: () => Date;
119
+ }
120
+ /** What `pace` prints and the exit code it ends with. */
121
+ export interface PaceRun {
122
+ readonly stdout: string;
123
+ readonly stderr: string;
124
+ readonly exitCode: number;
125
+ }
126
+ /**
127
+ * The whole verb. A phase that is not a phase name is usage and exit 1, before
128
+ * anything is read. This machine's credential is read once, handed to the
129
+ * spawned child's environment, and never read twice; a project not signed in on
130
+ * this machine prints `PACE_NOT_CONNECTED_LINE` and exits 1, nothing spawned. The
131
+ * runner's own usage or too-many-agents refusal (exit 2, its line already on the
132
+ * inherited stream) is passed on as-is. A `not-paced` answer, or one with no
133
+ * line this file can parse, is this build's best effort failing softly: one line,
134
+ * exit 0. Otherwise: P1–P7 (`--start`) or the allowed-now line, plus S1 or S2
135
+ * when the answer is slowing or holding (module docblock on their one gap).
136
+ */
137
+ export declare function runPace(repoRoot: string, start: PaceStart | null, deps: PaceDeps): Promise<PaceRun>;
138
+ //# sourceMappingURL=pace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pace.d.ts","sourceRoot":"","sources":["../src/pace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAgBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,wEAAwE;AACxE,eAAO,MAAM,UAAU,+EAA+E,CAAC;AAEvG,oFAAoF;AACpF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;gFAC4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAE3G,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAwC/D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAErD,qDAAqD;AACrD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CACtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,GAAG,KAAK,EACtB,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,eAAe,CAAC,CA+B1B;AAkBD,8FAA8F;AAC9F,eAAO,MAAM,uBAAuB,4HAAmF,CAAC;AASxH,8EAA8E;AAC9E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;IAC9D,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACxH,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,yDAAyD;AACzD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCzG"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Reading one phase's work record from the client (`two-stage-review` AC6;
3
+ * `calls-made-without-asking` AC4; `harness-proven-tests` AC7; safe-lean-fast E23,
4
+ * T-40).
5
+ *
6
+ * ONE READ, TWO CALLERS. `close-phase` reads it once more, after its own open, to say
7
+ * how many calls the review now lists (C6, `close-phase.ts`); `review --show` reads it
8
+ * to print the calls and the checks nobody ran (C1–C5, P12–P13, `review.ts`). This
9
+ * module only fetches and parses `GET …/phases/:phase/work` (the engagement
10
+ * credential; the route's shape is `phaseWorkSchema`'s); the sentences
11
+ * belong to each caller (`work-record.ts`'s own docblock: "each surface owns its own
12
+ * lines"), never to this one.
13
+ *
14
+ * INV-001: this file imports the global `fetch`, Node builtins and `@halfcycle/events`
15
+ * only. SHIPS TO CLIENT DISK inside the CLI.
16
+ */
17
+ import { type PhaseWork } from '@halfcycle/events';
18
+ import type { RepoCredential } from './open-phase.js';
19
+ /** What reading one phase's work came to. */
20
+ export type PhaseWorkRead = {
21
+ kind: 'work';
22
+ work: PhaseWork;
23
+ } | {
24
+ kind: 'not-signed-in';
25
+ } | {
26
+ kind: 'unreachable';
27
+ };
28
+ /** The address of one phase's work: the engagement credential's own read. */
29
+ export declare function phaseWorkUrl(credential: RepoCredential, phase: string): string;
30
+ /**
31
+ * Read one phase's work. Never throws. A body that parses under `phaseWorkSchema` on a
32
+ * 200 is the work; a 401 is not signed in; anything else (no answer, another status, a
33
+ * body this version of the CLI cannot read) is `unreachable`, the same best-effort
34
+ * shape `review.ts`'s `readReview` already gives its own read.
35
+ */
36
+ export declare function readPhaseWork(credential: RepoCredential, phase: string): Promise<PhaseWorkRead>;
37
+ //# sourceMappingURL=phase-work.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-work.d.ts","sourceRoot":"","sources":["../src/phase-work.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAI5B,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsBrG"}
package/dist/plan.d.ts CHANGED
@@ -61,7 +61,7 @@
61
61
  * reads, so none names an internal register, route or setting; no comment sits beside
62
62
  * an object member.
63
63
  */
64
- import { type CarriedFromEntry, type PhasePlan, type PhasePlanChange, type PhasePlanProblem, type PlannedScopeState, type RemovalOwedPart, type SystemDescription } from '@halfcycle/events';
64
+ import { type CarriedFromEntry, type PhasePlan, type PhasePlanChange, type PhasePlanProblem, type PlannedScopeState, type PlanMovedUp, type RemovalOwedPart, type ScopeGivenIn, type SystemDescription } from '@halfcycle/events';
65
65
  import { type ShownPlanEntry } from '@halfcycle/core';
66
66
  import type { RepoCredential } from './open-phase.js';
67
67
  import { type DescriptionVerb, type SystemDeps, type SystemRun } from './system-report.js';
@@ -131,6 +131,9 @@ export type PlanOutcome = {
131
131
  changedParts: readonly string[];
132
132
  typedApprovalOffered: boolean;
133
133
  carriedFrom?: readonly CarriedFromEntry[];
134
+ movedUp?: PlanMovedUp;
135
+ /** Where the approval now in force was given (`autonomous-builds` AC2, T-107); absent when none is. */
136
+ givenIn?: ScopeGivenIn;
134
137
  } | {
135
138
  kind: 'refused';
136
139
  problems: PhasePlanProblem[];
@@ -190,7 +193,7 @@ export declare function planRefusedLines(verb: DescriptionVerb, phase: string, p
190
193
  * The line for a phase name `isValidPhaseIdentity` refuses, prefixed by the verb that
191
194
  * is running. Nothing has been sent when it is printed.
192
195
  */
193
- export declare function notAPhaseNameLine(verb: DescriptionVerb | 'review', phase: string): string;
196
+ export declare function notAPhaseNameLine(verb: DescriptionVerb | 'review' | 'pace', phase: string): string;
194
197
  /**
195
198
  * CL11 — one line per part `docs/system.json` must lose before a new plan is taken
196
199
  * (`close-review-and-carry-drop` AC7), prefixed by the verb that is running. Names the
@@ -214,8 +217,21 @@ export interface PlanDeps extends SystemDeps {
214
217
  readonly recordShown: (engagementId: string, entry: ShownPlanEntry) => ShownWrite;
215
218
  readonly now: () => Date;
216
219
  }
217
- /** The sentence for the phase's state after the plan was recorded. */
218
- export declare function planStateSentence(state: PlannedScopeState): string;
220
+ /** A plan's move up to a full phase: its sentence, then what to say next. */
221
+ export declare function movedUpLines(movedUp: PlanMovedUp): string;
222
+ /**
223
+ * The sentence for the phase's state after the plan was recorded, the last line of
224
+ * `--show`'s output and the one the method's own agent text relays verbatim when it
225
+ * says something else about approving (`plain-words-for-what-comes-next`). `givenIn`
226
+ * (`autonomous-builds` AC2, T-107) is where the approval now in force was given;
227
+ * `'approved'` and `'partly-stale'` with `'autonomy'` both show the one shared
228
+ * sentence, never "The owner has/approved...", which would read the setting's act
229
+ * as the owner's own (INV-024). `partly-stale` reaches `'autonomy'` too (R-107 F1):
230
+ * the setting re-approves a replan's changed parts only WHILE IT IS ON; the owner
231
+ * can turn it off and then replan, leaving the earlier approve row `'autonomy'` with
232
+ * nothing re-approving the new version. Every other state and place keeps today's words.
233
+ */
234
+ export declare function planStateSentence(state: PlannedScopeState, givenIn?: ScopeGivenIn): string;
219
235
  /**
220
236
  * The line saying how the owner approves, with its two swaps (AC2). The server's
221
237
  * `typedApprovalOffered: false` gives the switched-off sentence, whatever the client;
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,25 @@ export declare function refuseSystemFolder(targetRepo: string, platform?: NodeJS
78
78
  export declare function refuseInsideProject(targetRepo: string): void;
79
79
  /** The one install command the offer runs and the refusal names (#1557, decision D2). */
80
80
  export declare const GIT_INSTALL_ARGS: readonly string[];
81
+ /**
82
+ * Where Claude Code would find Git Bash: the file its `CLAUDE_CODE_GIT_BASH_PATH`
83
+ * names; `bin\bash.exe` one level above a `git.exe` on PATH (Git for Windows puts
84
+ * `cmd\git.exe` on PATH); and the default install folder, which a terminal opened
85
+ * before the install does not yet have on its PATH. The first of them that exists, or
86
+ * `undefined`. The one finder the installer's offer and the diagnostic both read, so they
87
+ * agree on which Git Bash is there.
88
+ */
89
+ export declare function gitBashPath(env: NodeJS.ProcessEnv): string | undefined;
90
+ /**
91
+ * The sentence for a folder whose `project.json` is there but holds no usable id. One home:
92
+ * `claimFolderId` and the preview both print it.
93
+ */
94
+ export declare function unreadableProjectRefusal(targetRepo: string): string;
95
+ /**
96
+ * The sentence for a folder the installer cannot write to. One home: the create arm's
97
+ * writability check (`claimFolderId`) and the preview's access check both print it.
98
+ */
99
+ export declare function cannotWriteRefusal(targetRepo: string): string;
81
100
  /**
82
101
  * The usable id in this folder's `project.json`, or `undefined` when the file is
83
102
  * missing, does not parse, or holds no id control would accept. ONE home for the
@@ -85,4 +104,13 @@ export declare const GIT_INSTALL_ARGS: readonly string[];
85
104
  * install with `KEPT_FOLDER_ID_LINE` exactly when this answers an id.
86
105
  */
87
106
  export declare function readFolderId(targetRepo: string): string | undefined;
107
+ /**
108
+ * `.claude/settings.json`, when there is one, must parse with the parser `install()`
109
+ * merges through (`readExistingSettings`) — AC2's settings half and #1567.
110
+ *
111
+ * `settingsParseRefusal` (`install.ts`) is also the join/re-use arms' sentence for
112
+ * the identical failure (T-16, #1567) — one message, built once, for every arm
113
+ * that can meet an unparseable settings file.
114
+ */
115
+ export declare function checkSettingsParse(targetRepo: string): void;
88
116
  //# sourceMappingURL=pre-create-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pre-create-checks.d.ts","sourceRoot":"","sources":["../src/pre-create-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,QAEgC,CAAC;AAEjE,6EAA6E;AAC7E,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAKpG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI7D;AA0BD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,IAAI,CAWzG;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAU5D;AAUD,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA+D,CAAC;AA6F9G;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUnE"}
1
+ {"version":3,"file":"pre-create-checks.d.ts","sourceRoot":"","sources":["../src/pre-create-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,QAEgC,CAAC;AAEjE,6EAA6E;AAC7E,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAKpG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI7D;AA0BD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,IAAI,CAWzG;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAU5D;AAUD,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA+D,CAAC;AAkC9G;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAWtE;AAYD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAkCD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUnE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAM3D"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * `halfcycle preview` — what setting up this folder would do, and nothing else
3
+ * (`setup-preview-and-doctor` AC2, the words under *The preview*).
4
+ *
5
+ * The preview is the install's own plan (`planInstall`, `install-plan.ts`) printed in
6
+ * plain words. It refuses exactly where setting up refuses, with the same sentences
7
+ * (`folder-refusals.ts`, `pre-create-checks.ts`), and it runs only the read-only halves of
8
+ * those checks: never `runLocalChecks` (which may run `winget`), never
9
+ * `runPreCreateChecks` (which writes `.halfcycle/project.json`). A folder it cannot write
10
+ * to is found by an access check, never by a write. It never signs in and never creates a
11
+ * project, so the plan it prints holds `PENDING` bytes where the service's answer would go.
12
+ *
13
+ * INV-001: Node builtins and this package's own modules only.
14
+ */
15
+ import { type InstallPlan } from './install-plan.js';
16
+ /** What the preview reads the run's surroundings from. A test names its own; the CLI passes the real ones. */
17
+ export interface PreviewOptions {
18
+ readonly env: NodeJS.ProcessEnv;
19
+ readonly platform: NodeJS.Platform;
20
+ /** The home folder the sign-in would live under; the real one when absent. */
21
+ readonly home?: string;
22
+ }
23
+ /** A preview either refuses (the sentence to print, as setting up would print it) or shows its text. */
24
+ export type PreviewOutcome = {
25
+ readonly refusal: string;
26
+ } | {
27
+ readonly text: string;
28
+ };
29
+ /** The preview of one folder: its refusal, or the text it prints. Writes nothing. */
30
+ export declare function runPreview(targetRepo: string, options: PreviewOptions): PreviewOutcome;
31
+ /**
32
+ * The preview's text, from the plan. Paths in the order the installer writes them.
33
+ * `claudeMdWords`, when given, adds one more *Leave alone* line for the project's own
34
+ * `CLAUDE.md` (W-10 R1, #F-65): never a plan entry (the installer does not write it),
35
+ * but a folder that already has one is named rather than left for V7's one line to
36
+ * cover silently. `claudeMdLine` (above) picks the true words for it — whether the
37
+ * first session still has something to add, or the file already points to AGENTS.md.
38
+ */
39
+ export declare function renderPreview(plan: InstallPlan, missingGitForWindows: boolean, claudeMdWords?: string): string;
40
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAA8B,KAAK,WAAW,EAAmE,MAAM,mBAAmB,CAAC;AAYlJ,8GAA8G;AAC9G,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wGAAwG;AACxG,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAkCtF,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc,CAatF;AAiFD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAe9G"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * `npx halfcycle@latest prove <phase> <task> --label "<label>" --before -- <test command>`
3
+ * (feature `harness-proven-tests` AC1, the BUNDLE half).
4
+ *
5
+ * THIS FILE DOES NOT CHECK A SINGLE WORD OF THE INVOCATION. Every rule about the
6
+ * words after `prove` — the phase/task or `--change <id>`, `--label`,
7
+ * `--before`/`--after`, `--reason`, the test command itself, the before-action
8
+ * check on that command, the git reads, the counting, the local queue and the
9
+ * send to the control service — belongs to the runner's own `prove` verb
10
+ * (`packages/runner/src/prove.ts`), which this package ships but never imports
11
+ * (INV-001: a bundled binary, reached only as a child process). This module's
12
+ * whole job is the three things only the CLI that is actually ON the person's
13
+ * machine can do:
14
+ *
15
+ * 1. find the vendored runner binary this package shipped
16
+ * (`resolveVendoredBinary`, the way `close-phase` finds it for `observe`
17
+ * and `time`);
18
+ * 2. give the child this project's credential under the names the runner's
19
+ * configuration reader takes it from (`observeChildEnv`, close-phase.ts),
20
+ * so it counts and sends for the same project `close-phase` opens and
21
+ * closes against;
22
+ * 3. pass the child's output — the test command's own stdout and stderr, and
23
+ * the runner's one line about what it did — straight through AS IT COMES,
24
+ * never captured and reprinted, so a long test suite's progress is seen
25
+ * while it runs.
26
+ *
27
+ * `--repo <root>` is this CLI's own convention (every other verb takes it the
28
+ * same way), read and removed from the words BEFORE the `--` that starts the
29
+ * test command — a word spelled `--repo` after that point belongs to the
30
+ * command being proven, not to this CLI, and must never be touched.
31
+ *
32
+ * SHIPS TO CLIENT DISK (INV-001: Node builtins and this package's own modules
33
+ * only — no `@halfcycle/events`, no `fetch`, nothing of the runner's imported).
34
+ * No comment here sits beside an object member.
35
+ */
36
+ import { Buffer } from 'node:buffer';
37
+ import type { RepoCredential } from './open-phase.js';
38
+ /** The usage lines, printed for a word the runner itself could not read. */
39
+ export declare const PROVE_USAGE: string;
40
+ /**
41
+ * This CLI's own `--repo <root>`, pulled out of the words before the `--` that
42
+ * starts the test command, and the remainder — unchanged, in the order given —
43
+ * to hand the runner's own `prove` verb.
44
+ *
45
+ * Only the part BEFORE the first bare `--` is searched: the words after it are
46
+ * the test command, as the person wrote it, and a command that happens to
47
+ * contain the word `--repo` (as one of its own arguments) must reach the
48
+ * runner exactly as typed.
49
+ */
50
+ export declare function splitProveInvocation(words: readonly string[]): {
51
+ readonly repoRoot: string | undefined;
52
+ readonly forwarded: readonly string[];
53
+ };
54
+ /** Something a child's output stream can be written to, as `process.stdout` is. */
55
+ export interface ProveChildOutput {
56
+ write(chunk: string | Buffer): unknown;
57
+ }
58
+ /** The seams a test replaces. Production passes neither, and gets the real streams. */
59
+ export interface ProveChildDeps {
60
+ readonly stdout?: ProveChildOutput;
61
+ readonly stderr?: ProveChildOutput;
62
+ }
63
+ /**
64
+ * Spawn the runner binary this package shipped, as `node <binary> prove <words…>`,
65
+ * in `repoRoot`, with the credential under the runner's own environment names
66
+ * (`observeChildEnv`). Every chunk the child writes to its own stdout or stderr
67
+ * is written to `deps.stdout`/`deps.stderr` the moment it arrives — nothing is
68
+ * buffered here — so output streams through live exactly as the real `prove`
69
+ * binary would show it directly.
70
+ *
71
+ * Resolves to the child's own exit code: 0 when the command the runner ran did
72
+ * (whatever it did), 2 when the runner's before-action check refused the
73
+ * command before anything ran, 1 when the child could not be started or ended
74
+ * with no code (killed by a signal).
75
+ */
76
+ export declare function runProveChild(binary: string, credential: RepoCredential, repoRoot: string, words: readonly string[], deps?: ProveChildDeps): Promise<number>;
77
+ //# sourceMappingURL=prove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../src/prove.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,4EAA4E;AAC5E,eAAO,MAAM,WAAW,QAGmF,CAAC;AAE5G;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAelF;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACxC;AAED,uFAAuF;AACvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * `restore [<id>]`: BRING SAVED WORK BACK (autonomous-builds AC5, *Restore*; *Failure
3
+ * modes*, a save half-written; the E4 task graph's T-116, D10).
4
+ *
5
+ * The runner's save, before a destructive action under autonomy, keeps tracked files in
6
+ * a commit under a hidden ref, copies everything git does not track to
7
+ * `~/.halfcycle/engagements/<e>/saved/<id>/files/`, and writes `saved.json` beside them.
8
+ * This verb reads that back. It cannot import the runner (only core and events ship
9
+ * with it), so every shared name and the one keep rule come from `@halfcycle/events`.
10
+ *
11
+ * **What is trusted.** `saved.json` sits where an agent can edit it, so:
12
+ * - a save is listed and restorable ONLY when its hidden ref exists in this repository
13
+ * (the ref is written last; a save with no ref is half-written or another clone's);
14
+ * - `saved.json` must parse with `savedSchema` (paths inside the project, safe branch
15
+ * names, the one ref form) and name the id of its own folder;
16
+ * - a save's age is its ref's commit time, never `savedAt`;
17
+ * - a tracked file's content and mode come from the ref's tree, never the description
18
+ * (the staged version, the ref's second parent, is left in the save untouched);
19
+ * - a copy is read from `files/` only through real folders, never through a link;
20
+ * - a line of work is made again only at a commit the ref itself holds as a parent;
21
+ * - no path inside git's own folder is ever written, whatever its letter case.
22
+ *
23
+ * **What is never overwritten.** A file, link or folder at a saved path, or a line of
24
+ * work with a saved name, that exists now is left as it is and named with why. Files
25
+ * are created with an exclusive create (which also refuses a dangling link), links with
26
+ * a create that refuses an existing name, and lines of work with a ref update that only
27
+ * creates. A folder on the way that is a link or a file stops that path, so nothing is
28
+ * written through a link to outside the project. Something identical to the save is
29
+ * reported as already there, not as left.
30
+ *
31
+ * **Keeping 7 days.** Each run first prunes by `savedPruneAnswer`, the rule the save
32
+ * prunes by: a save whose ref is older than 7 days loses its ref, then its folder; a
33
+ * folder with no ref is removed after a minute only when it names this repository or
34
+ * none, and after 7 days when it names another clone.
35
+ */
36
+ /** The verb's one usage line. */
37
+ export declare const RESTORE_USAGE = "npx halfcycle@latest restore [<id>]";
38
+ /** What the verb prints and how it exits. */
39
+ export interface RestoreRun {
40
+ readonly stdout: string;
41
+ readonly stderr: string;
42
+ readonly exitCode: number;
43
+ }
44
+ /** The home folder (tests pass a temporary one) and the clock. */
45
+ export interface RestoreOptions {
46
+ readonly home?: string;
47
+ readonly now?: () => number;
48
+ }
49
+ /** The verb's words: the id, or nothing. Anything else is usage. */
50
+ export declare function parseRestoreArgs(rest: readonly string[]): {
51
+ ok: true;
52
+ id: string | undefined;
53
+ } | {
54
+ ok: false;
55
+ };
56
+ /** Run `restore` from `cwd`: list the saves with no id, bring one back with an id. */
57
+ export declare function runRestore(cwd: string, id: string | undefined, options?: RestoreOptions): RestoreRun;
58
+ //# sourceMappingURL=restore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../src/restore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAsBH,iCAAiC;AACjC,eAAO,MAAM,aAAa,wCAAwC,CAAC;AAEnE,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAK9G;AAID,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,cAAmB,GAAG,UAAU,CAwBxG"}