halfcycle 0.4.12 → 0.4.14

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 (54) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/bin/bin.bundle.mjs +9366 -567
  3. package/bin/pre-tool-use-filter.sh +470 -0
  4. package/dist/bin.d.ts +1 -0
  5. package/dist/bin.d.ts.map +1 -1
  6. package/dist/build-record/pair-io.d.ts +49 -0
  7. package/dist/build-record/pair-io.d.ts.map +1 -0
  8. package/dist/build-record/render-change.d.ts +25 -0
  9. package/dist/build-record/render-change.d.ts.map +1 -0
  10. package/dist/build-record/render-v2.d.ts +10 -5
  11. package/dist/build-record/render-v2.d.ts.map +1 -1
  12. package/dist/build-record/write-change.d.ts +63 -0
  13. package/dist/build-record/write-change.d.ts.map +1 -0
  14. package/dist/build-record/write.d.ts +5 -15
  15. package/dist/build-record/write.d.ts.map +1 -1
  16. package/dist/change.d.ts +136 -0
  17. package/dist/change.d.ts.map +1 -0
  18. package/dist/check-tasks.d.ts +71 -0
  19. package/dist/check-tasks.d.ts.map +1 -0
  20. package/dist/claude-plan.d.ts +114 -0
  21. package/dist/claude-plan.d.ts.map +1 -0
  22. package/dist/cli-contract.d.ts +12 -1
  23. package/dist/cli-contract.d.ts.map +1 -1
  24. package/dist/cli.js +9017 -5228
  25. package/dist/cli.js.map +3 -3
  26. package/dist/close-phase.d.ts +113 -10
  27. package/dist/close-phase.d.ts.map +1 -1
  28. package/dist/halfcycle-monorepo.d.ts +26 -0
  29. package/dist/halfcycle-monorepo.d.ts.map +1 -0
  30. package/dist/index.js +1617 -845
  31. package/dist/index.js.map +3 -3
  32. package/dist/install-manifest.d.ts +18 -1
  33. package/dist/install-manifest.d.ts.map +1 -1
  34. package/dist/install.d.ts +225 -3
  35. package/dist/install.d.ts.map +1 -1
  36. package/dist/merge-settings.d.ts +25 -2
  37. package/dist/merge-settings.d.ts.map +1 -1
  38. package/dist/open-phase.d.ts +1 -1
  39. package/dist/open-phase.d.ts.map +1 -1
  40. package/dist/pace.d.ts +138 -0
  41. package/dist/pace.d.ts.map +1 -0
  42. package/dist/phase-work.d.ts +37 -0
  43. package/dist/phase-work.d.ts.map +1 -0
  44. package/dist/plan.d.ts +5 -2
  45. package/dist/plan.d.ts.map +1 -1
  46. package/dist/prove.d.ts +77 -0
  47. package/dist/prove.d.ts.map +1 -0
  48. package/dist/review.d.ts +19 -1
  49. package/dist/review.d.ts.map +1 -1
  50. package/dist/system-report.d.ts +4 -4
  51. package/dist/system-report.d.ts.map +1 -1
  52. package/dist/uninstall.d.ts +4 -1
  53. package/dist/uninstall.d.ts.map +1 -1
  54. package/package.json +1 -1
@@ -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 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,7 @@ export type PlanOutcome = {
131
131
  changedParts: readonly string[];
132
132
  typedApprovalOffered: boolean;
133
133
  carriedFrom?: readonly CarriedFromEntry[];
134
+ movedUp?: PlanMovedUp;
134
135
  } | {
135
136
  kind: 'refused';
136
137
  problems: PhasePlanProblem[];
@@ -190,7 +191,7 @@ export declare function planRefusedLines(verb: DescriptionVerb, phase: string, p
190
191
  * The line for a phase name `isValidPhaseIdentity` refuses, prefixed by the verb that
191
192
  * is running. Nothing has been sent when it is printed.
192
193
  */
193
- export declare function notAPhaseNameLine(verb: DescriptionVerb | 'review', phase: string): string;
194
+ export declare function notAPhaseNameLine(verb: DescriptionVerb | 'review' | 'pace', phase: string): string;
194
195
  /**
195
196
  * CL11 — one line per part `docs/system.json` must lose before a new plan is taken
196
197
  * (`close-review-and-carry-drop` AC7), prefixed by the verb that is running. Names the
@@ -214,6 +215,8 @@ export interface PlanDeps extends SystemDeps {
214
215
  readonly recordShown: (engagementId: string, entry: ShownPlanEntry) => ShownWrite;
215
216
  readonly now: () => Date;
216
217
  }
218
+ /** A plan's move up to a full phase: its sentence, then what to say next. */
219
+ export declare function movedUpLines(movedUp: PlanMovedUp): string;
217
220
  /** The sentence for the phase's state after the plan was recorded. */
218
221
  export declare function planStateSentence(state: PlannedScopeState): string;
219
222
  /**
@@ -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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"}
@@ -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"}
package/dist/review.d.ts CHANGED
@@ -50,8 +50,9 @@
50
50
  * an object member.
51
51
  */
52
52
  import { type ShownReviewEntry } from '@halfcycle/core';
53
- import { type PhaseReviewView, type ReviewViewPart } from '@halfcycle/events';
53
+ import { type PhaseReviewView, type ReviewViewPart, type PhaseWork } from '@halfcycle/events';
54
54
  import type { RepoCredential } from './open-phase.js';
55
+ import type { PhaseWorkRead } from './phase-work.js';
55
56
  import type { SystemRun } from './system-report.js';
56
57
  /** The usage line, printed for no phase, an extra argument, an unknown flag, or neither mode. */
57
58
  export declare const REVIEW_USAGE = "npx halfcycle@latest review <phase> (--show | --answer <part> \"<answer>\") [--repo <root>]";
@@ -99,6 +100,22 @@ export declare function partStatus(part: ReviewViewPart, round: number): string;
99
100
  * count, RV1b one line each, then per part RV2–RV6 with RV4a and RV4b, then RV7.
100
101
  */
101
102
  export declare function reviewListingLines(view: ReviewedView): string[];
103
+ /** C1, the heading. */
104
+ export declare const CALLS_HEADING = "Calls made without asking you";
105
+ /** C2, straight under C1. Never left out where a call is listed (C3). */
106
+ export declare const CALLS_SUBHEADING: string;
107
+ /** C5, printed in place of a list with nothing in it. */
108
+ export declare const NO_CALLS_LINE = "No agent recorded a call made without asking in this phase.";
109
+ /** P12, the heading. */
110
+ export declare const CHECKS_HEADING = "Checks nobody ran";
111
+ /** P13, straight under P12. */
112
+ export declare const CHECKS_SUBHEADING = "An agent says these pass and Halfcycle never ran them. Accept or reject each one before this phase can close.";
113
+ /**
114
+ * The work section `review --show` prints after the parts: C1–C5, then P12, P13 and
115
+ * each unchecked claim (T-40). `null` when the phase's work could not be read — a
116
+ * best-effort section, never a reason to fail the rest of the listing.
117
+ */
118
+ export declare function workSectionLines(work: PhaseWork | null, engagementId: string): string[];
102
119
  /** RV8: the refusal for a view with no open review, by its state. */
103
120
  export declare function rv8Line(view: NoReviewView | Extract<PhaseReviewView, {
104
121
  state: 'closed';
@@ -182,6 +199,7 @@ export declare function sendReviewAnswer(credential: RepoCredential, phase: stri
182
199
  export interface ReviewDeps {
183
200
  readonly readCredential: (repoRoot: string) => RepoCredential;
184
201
  readonly readReview: (credential: RepoCredential, phase: string) => Promise<ReviewRead>;
202
+ readonly readWork: (credential: RepoCredential, phase: string) => Promise<PhaseWorkRead>;
185
203
  readonly sendAnswer: (credential: RepoCredential, phase: string, body: {
186
204
  part: string;
187
205
  answer: string;
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAKL,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAgBL,KAAK,eAAe,EAGpB,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,iGAAiG;AACjG,eAAO,MAAM,YAAY,gGAA8F,CAAC;AAExH,qEAAqE;AACrE,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAC,CAAC;AAElF,gEAAgE;AAChE,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAIvE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACvE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACvG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAElB,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAkCnE;AAeD,wDAAwD;AACxD,eAAO,MAAM,SAAS,6GAA6G,CAAC;AAoBpI;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBtE;AA6GD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAO/D;AAID,uBAAuB;AACvB,eAAO,MAAM,aAAa,kCAAkC,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,QAEwD,CAAC;AAEtF,yDAAyD;AACzD,eAAO,MAAM,aAAa,gEAAgE,CAAC;AAoB3F,wBAAwB;AACxB,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAElD,+BAA+B;AAC/B,eAAO,MAAM,iBAAiB,kHACmF,CAAC;AA+BlH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAGvF;AAED,qEAAqE;AACrE,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC,GAAG,MAAM,CAQlG;AAED,mCAAmC;AACnC,eAAO,MAAM,QAAQ,8HAAqF,CAAC;AAE3G,mCAAmC;AACnC,eAAO,MAAM,SAAS,sHAC+F,CAAC;AAEtH,yEAAyE;AACzE,eAAO,MAAM,SAAS,qIAC8G,CAAC;AAIrI,sCAAsC;AACtC,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,mDAAmD;AACnD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,yDAAyD;AACzD,eAAO,MAAM,QAAQ,yGAAyG,CAAC;AAE/H,8DAA8D;AAC9D,eAAO,MAAM,QAAQ,uHACiG,CAAC;AAEvH,4CAA4C;AAC5C,eAAO,MAAM,QAAQ,gGAAgG,CAAC;AAItH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAiBtF;AAED,6CAA6C;AAC7C,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAa/G;AAID,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAKtF;AAED,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAIvH;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAsB/F;AAED,uCAAuC;AACvC,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,OAAO,CAAC,UAAU,CAAC,CAiCrB;AAID,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACxF,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACzF,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAChI,QAAQ,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;IAC1F,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;CAC1B;AAeD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAmBzG;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACpD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAKrE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CAAE,CAAC,CAsBlE"}
@@ -30,10 +30,10 @@
30
30
  * reads, so none names an internal register, route or setting; no comment sits
31
31
  * beside an object member.
32
32
  */
33
- import { type SystemDescription, type SystemDescriptionProblem } from '@halfcycle/events';
33
+ import { SYSTEM_DESCRIPTION_REL, type SystemDescription, type SystemDescriptionProblem } from '@halfcycle/events';
34
34
  import type { RepoCredential } from './open-phase.js';
35
- /** Where the description lives, relative to the repository root. */
36
- export declare const SYSTEM_DESCRIPTION_REL = "docs/system.json";
35
+ /** Where the description lives, relative to the repository root (its one home is `@halfcycle/events`). */
36
+ export { SYSTEM_DESCRIPTION_REL };
37
37
  /**
38
38
  * What reading `docs/system.json` came to. `missing`: there is no such file.
39
39
  * `unreadable`: something is there and could not be read as a file. `not-json`: it
@@ -157,7 +157,7 @@ export type DescriptionStage = {
157
157
  unchanged?: boolean;
158
158
  };
159
159
  /** The verbs that report the description first. Names the prefix of every line. */
160
- export type DescriptionVerb = 'system' | 'draw' | 'plan';
160
+ export type DescriptionVerb = 'system' | 'draw' | 'plan' | 'change';
161
161
  /**
162
162
  * A verb's own local refusal, asked with the description that just passed the check:
163
163
  * the line to print, or `null` to go on. `plan` checks its plan file against that
@@ -1 +1 @@
1
- {"version":3,"file":"system-report.d.ts","sourceRoot":"","sources":["../src/system-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-report.d.ts","sourceRoot":"","sources":["../src/system-report.ts"],"names":[],"mappings":"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"}
@@ -107,7 +107,10 @@ export declare function parseUninstallArgs(args: readonly string[]): {
107
107
  };
108
108
  /**
109
109
  * Run the uninstall. Never throws for a condition the spec names: a refusal comes
110
- * back as `outcome: 'refused'` with nothing changed.
110
+ * back as `outcome: 'refused'` with nothing changed. In the Halfcycle monorepo itself
111
+ * (`isHalfcycleMonorepo`), this narrows to `uninstallSelfBuild` — the write set is
112
+ * `SELF_BUILD_WRITE_SET`, never the ordinary closed write set (`self-build-install`
113
+ * AC8, Component design).
111
114
  */
112
115
  export declare function uninstall(options: UninstallOptions): UninstallResult;
113
116
  /** The report, as the CLI prints it: stdout for a finished run, stderr for a refusal. */
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AA+CH,2BAA2B;AAC3B,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACnC;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,GAAG,aAAa,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;CACxC;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAc7G;AAwkBD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAiJpE;AA8OD,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmEhH"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAoDH,2BAA2B;AAC3B,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACnC;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAClC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,GAAG,aAAa,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;CACxC;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAc7G;AA4xBD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAoJpE;AA8OD,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmEhH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "halfcycle",
3
- "version": "0.4.12",
3
+ "version": "0.4.14",
4
4
  "description": "Your coding agents are the engineers. Halfcycle is the rest of the team: product owner, architect, planner and independent reviewer for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",