halfcycle 0.3.7

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 (78) hide show
  1. package/.claude-plugin/plugin.json +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +187 -0
  4. package/bin/bin.bundle.mjs +16771 -0
  5. package/commands/agent-teams-orchestration.md +11 -0
  6. package/commands/consistency-check.md +11 -0
  7. package/commands/context-update.md +11 -0
  8. package/commands/halfcycle-design.md +11 -0
  9. package/commands/halfcycle-setup.md +11 -0
  10. package/commands/stack-assembly-worker.md +11 -0
  11. package/commands/task-execution.md +11 -0
  12. package/commands/task-graph.md +11 -0
  13. package/commands/write-spec.md +11 -0
  14. package/dist/account-credential.d.ts +94 -0
  15. package/dist/account-credential.d.ts.map +1 -0
  16. package/dist/bin.d.ts +34 -0
  17. package/dist/bin.d.ts.map +1 -0
  18. package/dist/bin.js +3156 -0
  19. package/dist/bin.js.map +6 -0
  20. package/dist/build-record/assemble.d.ts +37 -0
  21. package/dist/build-record/assemble.d.ts.map +1 -0
  22. package/dist/build-record/index.d.ts +39 -0
  23. package/dist/build-record/index.d.ts.map +1 -0
  24. package/dist/build-record/sources.d.ts +80 -0
  25. package/dist/build-record/sources.d.ts.map +1 -0
  26. package/dist/build-record/template.d.ts +18 -0
  27. package/dist/build-record/template.d.ts.map +1 -0
  28. package/dist/build-record/types.d.ts +163 -0
  29. package/dist/build-record/types.d.ts.map +1 -0
  30. package/dist/build-record/write.d.ts +26 -0
  31. package/dist/build-record/write.d.ts.map +1 -0
  32. package/dist/cli-contract.d.ts +120 -0
  33. package/dist/cli-contract.d.ts.map +1 -0
  34. package/dist/close-phase.d.ts +114 -0
  35. package/dist/close-phase.d.ts.map +1 -0
  36. package/dist/create-engagement.d.ts +248 -0
  37. package/dist/create-engagement.d.ts.map +1 -0
  38. package/dist/device-signin.d.ts +255 -0
  39. package/dist/device-signin.d.ts.map +1 -0
  40. package/dist/engagement-credential.d.ts +267 -0
  41. package/dist/engagement-credential.d.ts.map +1 -0
  42. package/dist/identity.d.ts +76 -0
  43. package/dist/identity.d.ts.map +1 -0
  44. package/dist/index.d.ts +25 -0
  45. package/dist/index.d.ts.map +1 -0
  46. package/dist/index.js +2083 -0
  47. package/dist/index.js.map +6 -0
  48. package/dist/install.d.ts +355 -0
  49. package/dist/install.d.ts.map +1 -0
  50. package/dist/loopback-signin.d.ts +173 -0
  51. package/dist/loopback-signin.d.ts.map +1 -0
  52. package/dist/mcp-endpoint.d.ts +35 -0
  53. package/dist/mcp-endpoint.d.ts.map +1 -0
  54. package/dist/merge-settings.d.ts +57 -0
  55. package/dist/merge-settings.d.ts.map +1 -0
  56. package/dist/mint-board-code.d.ts +41 -0
  57. package/dist/mint-board-code.d.ts.map +1 -0
  58. package/dist/open-phase.d.ts +107 -0
  59. package/dist/open-phase.d.ts.map +1 -0
  60. package/dist/probe-mcp.d.ts +47 -0
  61. package/dist/probe-mcp.d.ts.map +1 -0
  62. package/dist/resolve-credential.d.ts +126 -0
  63. package/dist/resolve-credential.d.ts.map +1 -0
  64. package/dist/scan.d.ts +131 -0
  65. package/dist/scan.d.ts.map +1 -0
  66. package/dist/setup/discovery.d.ts +73 -0
  67. package/dist/setup/discovery.d.ts.map +1 -0
  68. package/dist/setup/engagement.d.ts +99 -0
  69. package/dist/setup/engagement.d.ts.map +1 -0
  70. package/dist/setup/index.d.ts +17 -0
  71. package/dist/setup/index.d.ts.map +1 -0
  72. package/dist/setup/manifest.d.ts +155 -0
  73. package/dist/setup/manifest.d.ts.map +1 -0
  74. package/dist/setup/rows.d.ts +57 -0
  75. package/dist/setup/rows.d.ts.map +1 -0
  76. package/package.json +55 -0
  77. package/scaffolding/test/fixtures/captured/.gitkeep +0 -0
  78. package/scaffolding/test/fixtures/captured/manifest.json +4 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/install.ts", "../../src/engagement-credential.ts", "../../src/account-credential.ts", "../../src/identity.ts", "../../src/mcp-endpoint.ts", "../../src/merge-settings.ts", "../../src/scan.ts", "../../../events/src/result.ts", "../../../core/src/guard-record.ts", "../../../events/src/telemetry.ts", "../../src/create-engagement.ts", "../../src/mint-board-code.ts", "../../src/setup/manifest.ts", "../../src/setup/rows.ts", "../../src/setup/discovery.ts", "../../src/setup/engagement.ts", "../../src/build-record/types.ts", "../../src/build-record/sources.ts", "../../src/build-record/assemble.ts", "../../src/build-record/template.ts", "../../src/build-record/write.ts", "../../src/build-record/index.ts"],
4
+ "mappings": "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",
5
+ "names": ["existsSync", "mkdirSync", "readFileSync", "writeFileSync", "dirname", "join", "platform", "join", "join", "platform", "readFileSync", "join", "identity", "existsSync", "mkdirSync", "readFileSync", "writeFileSync", "join", "z", "z", "z", "z", "existsSync", "join", "readFileSync", "mkdirSync", "writeFileSync", "dirname", "join", "existsSync", "readFileSync", "mkdirSync", "writeFileSync", "join", "existsSync", "readFileSync", "writeFileSync", "mkdirSync", "dirname", "existsSync", "mkdirSync", "readFileSync", "writeFileSync", "dirname", "join", "existsSync", "readFileSync", "statSync", "join", "join", "existsSync", "statSync", "readFileSync", "readFileSync", "existsSync", "join", "execFileSync", "record", "join", "existsSync", "readFileSync", "execFileSync", "git", "git", "record", "mkdirSync", "writeFileSync", "join", "relative", "join", "record", "relative", "mkdirSync", "writeFileSync", "record"]
6
+ }
@@ -0,0 +1,355 @@
1
+ /**
2
+ * Bundle install/wiring generator — the core of `halfcycle <target-repo>`.
3
+ *
4
+ * Writes the client install surface (slash-command stubs, the vendored guard
5
+ * binary, governance-hook wiring and the committed project identity) into a target
6
+ * engagement repo — and the engagement's credential OUTSIDE it, at machine level
7
+ * (T-09; see `engagement-credential.ts`). NO worker role files land
8
+ * either — see the step-1 note in `install()` (FX-2, W3-F-27). NO method prose lands: the
9
+ * stubs carry a description and a call, and the procedure arrives from the delivery
10
+ * service at run time (INV-016). Reads the bundle version from
11
+ * .claude-plugin/plugin.json and pins it in the target's .halfcycle/bundle.json.
12
+ *
13
+ * INV-001: this file imports only from @halfcycle/core and @halfcycle/events (or
14
+ * Node builtins). The runner is wired as an EXTERNAL BINARY CONTRACT via
15
+ * generated text/config — never imported.
16
+ *
17
+ * Zone-B root: .workbench
18
+ * A benign-named, gitignored directory that holds Halfcycle-confidential method
19
+ * and process artefacts (taskgraphs, orchestration state, guard-eval logs).
20
+ * Gitignored on the client remote + enforced by the confidential-egress guard
21
+ * (E1-T-09). The name is deliberately innocuous — it discloses nothing about
22
+ * Halfcycle's scaffold contents.
23
+ */
24
+ export type EngagementType = 'self-build' | 'client';
25
+ export interface BundlePin {
26
+ version: string;
27
+ engagementId: string;
28
+ engagementType: EngagementType;
29
+ installedAt: string;
30
+ }
31
+ /**
32
+ * The engagement's credential, which the installer persists to the MACHINE-LEVEL
33
+ * store outside this repository (T-09 — `engagement-credential.ts`). Obtained from
34
+ * the control plane's create-engagement response; this module only writes it,
35
+ * nothing here mints it. When absent, no credential is written at all (the
36
+ * write-set mechanics are exercised without a live serving plane).
37
+ *
38
+ * The type name is kept: it is still per-device in the sense that matters — one
39
+ * machine's copy of a credential nothing in the repository carries.
40
+ */
41
+ export interface DeviceCredential {
42
+ /**
43
+ * The CONTROL origin — `HALFCYCLE_SERVICE_URL`. It serves `POST /engagements`
44
+ * and `POST /board/enter-codes`, and it does NOT serve `/mcp` (T-22, #438).
45
+ */
46
+ serviceUrl: string;
47
+ token: string;
48
+ /**
49
+ * The origin serving the method-delivery MCP endpoint — `HALFCYCLE_MCP_URL`,
50
+ * a DIFFERENT deployed service, reported by the control plane on the create
51
+ * response rather than configured by the developer. It is persisted to
52
+ * `.env.local` under that name, and `.mcp.json` carries the composed endpoint
53
+ * as a LITERAL (T-24, #446 — a `${VAR}` reference there resolved to nothing on
54
+ * a plainly-launched session, so the server never connected).
55
+ *
56
+ * Before T-22 the registration referenced `${HALFCYCLE_SERVICE_URL}/mcp`, so a
57
+ * variable pointed at the control plane installed an MCP entry that resolved to
58
+ * a 404 and the product did nothing; a variable pointed at the MCP service
59
+ * could not create the engagement in the first place. One value could not be
60
+ * both, which is why the platform now supplies the second one.
61
+ */
62
+ mcpUrl: string;
63
+ /**
64
+ * The origin serving the guard service — `GUARD_SERVICE_URL`, a THIRD deployed
65
+ * service, also reported by the control plane on the create response rather
66
+ * than configured by the developer (FW-4, F-29).
67
+ *
68
+ * **Why it is here at all.** This module generates a `PostToolUse` hook that
69
+ * runs the guard runner, and the runner requires `GUARD_SERVICE_URL`,
70
+ * `GUARD_SERVICE_TOKEN` and `GUARD_ENGAGEMENT_ID` (`packages/runner/src/config.ts`,
71
+ * its sole `process.env` read site). It wrote none of them. Every edit in a fresh
72
+ * Connect install therefore fired a hook that could not reach a guard service and
73
+ * failed open with a warning — ~45 of them in the T-21 walk, with no
74
+ * `guard-evaluations` row to show for it. **A fresh install shipped zero guard
75
+ * coverage**, which is the product's central promise, and reported success.
76
+ *
77
+ * The value cannot be a literal here: `packages/bundle` is shippable and names no
78
+ * hosted address (INV-001), and a second developer-configured variable is what
79
+ * T-22 rejected. So the platform declares it, exactly as it declares `mcpUrl`.
80
+ */
81
+ guardUrl: string;
82
+ /**
83
+ * The origin the runner's telemetry POST goes to — `CONTROL_TELEMETRY_URL`, the
84
+ * eighth key `engagement-credential.ts` names (T-10, phase decision 13). Also
85
+ * reported by the control plane on create/join, like `mcpUrl` and `guardUrl`.
86
+ *
87
+ * **OPTIONAL, and NOT one of `CREDENTIAL_REQUIRED_KEYS` — the one thing this field
88
+ * must never become.** `mcpUrl` and `guardUrl` are required because an install
89
+ * missing either ships a product that does nothing or a guard hook wired to no
90
+ * address. Telemetry is best-effort by design: the runner's `readTelemetryConfig`
91
+ * already treats an absent `CONTROL_TELEMETRY_URL` as "emission silently
92
+ * disabled, guard loop unaffected". Putting this key into the credential-
93
+ * completeness conjunction would make every ALREADY-INSTALLED repository — which
94
+ * has the other four keys and not this one — read as holding no credential at
95
+ * all on its next `npx halfcycle`, taking the JOIN path and silently minting a
96
+ * second credential for an engagement that already had a perfectly good one.
97
+ * That is T-09's near-miss shape, named so the next builder does not repeat it.
98
+ */
99
+ controlTelemetryUrl?: string;
100
+ }
101
+ export interface InstallOptions {
102
+ targetRepo: string;
103
+ engagementId: string;
104
+ engagementType: EngagementType;
105
+ /** The engagement credential to persist to the machine-level store (optional). */
106
+ credential?: DeviceCredential;
107
+ /**
108
+ * The home directory the machine-level store lives under. Defaults to
109
+ * `os.homedir()`, and exists so a test can install without writing into the
110
+ * developer's real `~/.halfcycle` — the same seam `account-credential.ts` takes,
111
+ * for the same reason.
112
+ */
113
+ home?: string;
114
+ }
115
+ export interface InstallResult {
116
+ version: string;
117
+ /** Paths written fresh (created or content-updated). */
118
+ writtenPaths: string[];
119
+ /** Paths left untouched because they were already present / already reconciled. */
120
+ skippedPaths: string[];
121
+ /** Paths merged in place rather than replaced (e.g. `.claude/settings.json`). */
122
+ mergedPaths: string[];
123
+ /**
124
+ * Paths a developer already used at a name Halfcycle wanted: reported and NOT
125
+ * overwritten. `nothing they already had is changed` holds because of this list.
126
+ */
127
+ collidedPaths: string[];
128
+ /**
129
+ * True iff this call performed the bootstrap scan (INV-021 — once, during
130
+ * onboarding). False on every install after the first: `.halfcycle/state.json`
131
+ * already existed and `runBootstrapScan` refused to re-run.
132
+ */
133
+ bootstrapScanRan: boolean;
134
+ /**
135
+ * `null` on every ordinary install. Non-null means a pre-T-09 in-tree
136
+ * `.env.local` was **kept, not migrated**, because it still holds the only copy
137
+ * of `keys` — the machine-level store does not have them, so removing them would
138
+ * have destroyed a session token that cannot be re-minted. `missing` is why the
139
+ * store was not written: the required keys this repository cannot supply.
140
+ *
141
+ * The caller must SAY SO; a credential that did not move is not a detail.
142
+ */
143
+ legacyCredentialKept: {
144
+ keys: string[];
145
+ missing: string[];
146
+ } | null;
147
+ }
148
+ /** The benign-named Zone-B root directory reserved in the install layout. */
149
+ export declare const ZONE_B_DIR = ".workbench";
150
+ /**
151
+ * The `permissions.deny` patterns a fresh install seeds (F-23(a), operator
152
+ * decision note 2026-08-10). THE ONE HOME of the list — the method's served step
153
+ * describes it, the tests pin it, and neither carries a second copy.
154
+ *
155
+ * **Why a deny list and no allow list.** Precedence is deny → ask → allow, first
156
+ * match wins, and `bypassPermissions` skips *prompts*. An allow list only
157
+ * pre-approves prompts, so under bypass mode it does nothing at all; a deny rule
158
+ * is a block rather than a prompt and survives. Decision (b) settles the other
159
+ * half: an allow list is a standing grant, committed to git, applying to everyone
160
+ * who clones the repo — the machine owner's to make, not the method's. **Nothing
161
+ * here writes `permissions.allow`, at any nesting, ever.**
162
+ *
163
+ * **Measured, not assumed** (FW-4 AC4, Claude Code 2.1.220): with these rules in
164
+ * `.claude/settings.json` and the session in `bypassPermissions`, a denied `Bash`
165
+ * call is refused — `"Permission to use Bash with command … has been denied"` —
166
+ * and the side effect does not happen (the file is not created; the commit is not
167
+ * made). The control repo with no `permissions` key runs the same command. F-23
168
+ * exists because someone assumed a safety net instead of checking one, so this was
169
+ * checked.
170
+ *
171
+ * **What it is NOT.** Matching is a literal prefix on the command string, so these
172
+ * nine cover the plain spellings and nothing more: `git -c k=v commit --no-verify`
173
+ * does not match `Bash(git commit --no-verify:*)` — measured, same probe. This is a
174
+ * guard against the obvious form of a destructive command, not a semantic block on
175
+ * the action, and no prose anywhere may promise otherwise.
176
+ */
177
+ export declare const DENY_PATTERNS: readonly string[];
178
+ /**
179
+ * Every Claude Code tool that can create or modify a file in the target repo —
180
+ * the population the `PostToolUse` guard hook's matcher must cover (F-3, W8-T-03,
181
+ * walk 8). `Edit|Write` (FW-4's original wiring) missed `NotebookEdit`: a distinct
182
+ * tool, so a session editing a `.ipynb` wrote to the repo with the hook never
183
+ * firing — fail-open, no symptom.
184
+ *
185
+ * **Source, not a guess.** Confirmed present as literal tool names in the pinned
186
+ * Claude Code binary itself — `strings -a
187
+ * /opt/homebrew/Caskroom/claude-code/2.1.220/claude | grep -E
188
+ * '^(Write|Edit|MultiEdit|NotebookEdit)$'` — cross-checked against Anthropic's
189
+ * hooks reference (matcher values are tool names). That binary is 2.1.220, the
190
+ * exact version walk 8 pinned and reproduced the defect against. **This grep is
191
+ * confirmatory, not discovering**: it can only report tools whose names were
192
+ * already in the pattern, so it cannot by itself surface a missed tool (the
193
+ * binary also carries `Agent`, `Skill`, `ToolSearch` and others, none of them
194
+ * file-editing). Independent corroboration that these four specifically are
195
+ * grouped as "the" code-editing tools, from the same binary: `strings -a
196
+ * .../claude | grep -i "code editing tool permission decisions"` returns `Count
197
+ * of code editing tool permission decisions (accept/reject) for Edit, Write, and
198
+ * NotebookEdit tools` — an internal telemetry label enumerating three of these
199
+ * four by name (a fourth, `MultiEdit`, is confirmed present as a distinct tool
200
+ * name above and grouped with the other three by `guard-hook-coverage.md`'s
201
+ * matcher spec). `Read`/`Glob`/`Grep`/`Task`/`TodoWrite`/`WebFetch`/`WebSearch`/
202
+ * `Agent`/`Skill`/`ToolSearch` are read-only or don't touch repo files.
203
+ *
204
+ * `Bash` is excluded deliberately, and this is not new reasoning to invent here:
205
+ * `docs/features/guard-hook-coverage.md`'s "Posture decision (recorded): Bash
206
+ * writes are not per-call evaluated" already settles it — a per-call match on
207
+ * every shell command has no `file_path` to scope by and would need a
208
+ * working-tree scan per call, so Bash-mediated writes are caught by the
209
+ * accumulated `Stop`/`SubagentStop` pass and the fail-closed CI backstop
210
+ * instead, not by this per-edit matcher.
211
+ */
212
+ export declare const WRITE_CAPABLE_TOOLS: readonly string[];
213
+ /**
214
+ * The position house rule, EXACTLY as `RULE_SENTENCE_PLAIN` reads in the method
215
+ * repo's `scripts/test/position-house-rule.test.mjs` (published at method
216
+ * `0.9.12`) — the constant that governs it. This is the hook half of the pair
217
+ * `W8-DEC-1` chose: `W8-T-05a` put the same sentence in the `CLAUDE.md`
218
+ * template a session reads at start; this hook re-injects it every turn,
219
+ * because both land EARLIER than tool-selection time, where two prior fixes
220
+ * (the delivery tool description, walks 7 and 8) already lost.
221
+ *
222
+ * **ONE STRING, TWO REPOS.** If this sentence is ever reworded, the method-repo
223
+ * test fails and this constant must be reworded in the same commit pair — see
224
+ * that file's own comment for why a paraphrase here is exactly how a
225
+ * one-string property erodes. Plain text: no backticks, no markdown, one
226
+ * sentence — the corpus renders `halfcycle_resolve` in code font and wraps
227
+ * across lines, this hook has one line of context budget to spend per prompt.
228
+ */
229
+ export declare const USER_PROMPT_REMINDER_SENTENCE: string;
230
+ /**
231
+ * Read the pinned bundle.json from a target repo and compare its version
232
+ * against the current bundle version. Returns the installed pin if present.
233
+ *
234
+ * The re-sync gate reads this and reports drift (blocked-gate signal) when
235
+ * the installed version differs from the bundle version the operator intends
236
+ * to run — reusing the mirror-diff/header-strip posture with no new mechanism.
237
+ */
238
+ export declare function readBundlePin(targetRepoRoot: string): BundlePin | null;
239
+ /**
240
+ * Read back the engagement this repo is ALREADY installed against, if any — the
241
+ * pin plus the credential that belongs to it (walk 6 F-2).
242
+ *
243
+ * **Why the installer needs a reader at all.** `npx halfcycle` re-run in an engaged
244
+ * repo used to create a brand new engagement, overwrite the pin, and replace
245
+ * `HALFCYCLE_TOKEN` in place — orphaning the board, the ledger and every recorded
246
+ * step, with no error and no way back from that checkout. It never looked. And the
247
+ * installer's own output invites the re-run twice over (an expired first-visit code,
248
+ * an MCP origin that was not up yet), so the destructive path is the documented one.
249
+ *
250
+ * **The credential found here is READ, never re-minted** — reading the four values
251
+ * back and passing them through the same append-reconcile is what makes a re-run
252
+ * byte-identical, instead of teaching the write path a second "leave-this-alone" mode.
253
+ *
254
+ * **THIS PARAGRAPH SAID SOMETHING FALSE UNTIL T-24 (#610), AND IT SAID IT HERE, IN THE
255
+ * DOCBLOCK OF THE FUNCTION THAT DECIDES.** It read: *"a session token is returned
256
+ * exactly once, on create; there is no route that re-issues it to a client"*. There has
257
+ * been one since T-06 — `POST /engagements/:engagementId/join`, which mints the CALLER
258
+ * their own credential for an engagement that already exists — and `bin.ts` now calls
259
+ * it precisely on the `credential: undefined` result below. So a reader who opened this
260
+ * function to understand the branch beneath it was told that branch could not work. The
261
+ * same sentence was deleted from two remedy strings in `bin.ts` in the same task; this
262
+ * third copy was the one nobody was reading aloud.
263
+ *
264
+ * What is still true, and is what the paragraph was reaching for: this FUNCTION mints
265
+ * nothing and asks nothing of any plane. It reads a file. Obtaining a credential when
266
+ * there is none is the caller's decision, made with the `undefined` this returns.
267
+ *
268
+ * **WHERE IT READS FROM CHANGED AT T-09, AND IT READS BOTH.** The machine-level
269
+ * store is asked first. A LEGACY `.env.local` — written by an install from before
270
+ * this task — is the fallback, and finding one is not merely tolerated: the caller
271
+ * uses it to migrate the credential out of the tree (see `migrateLegacyEnvLocal`).
272
+ * Dropping the fallback would have been the cheaper change and the wrong one: a
273
+ * session token cannot be re-minted, so a developer whose repo held the only copy
274
+ * would have been left with an engagement they could no longer authenticate to, by
275
+ * an upgrade whose whole purpose was to protect that credential.
276
+ *
277
+ * Returns `null` when the repo carries no pin — a first install, which behaves
278
+ * exactly as it always did. Returns a pin with `credential: undefined` when the pin
279
+ * is present but neither home carries a complete credential for it; that is a real
280
+ * state (a fresh clone of an engaged repository, a cleaned machine, or an install
281
+ * that ran with no service URL) and the caller says so rather than papering over it
282
+ * with a fresh engagement.
283
+ *
284
+ * **`credential: undefined` MEANS "THE REQUIRED KEYS WERE NOT ALL SUPPLIED BY EITHER
285
+ * HOME", NOT "THERE IS NO CREDENTIAL ANYWHERE", and the difference now steers a mint
286
+ * (T-24).** `toCredential` is a conjunction over `CREDENTIAL_REQUIRED_KEYS` —
287
+ * `HALFCYCLE_SERVICE_URL`, `HALFCYCLE_TOKEN`, `HALFCYCLE_MCP_URL`, `GUARD_SERVICE_URL`
288
+ * — applied to the store and then to the legacy fallback; if neither set satisfies it,
289
+ * `bin.ts` reads that as *this machine holds no credential for the pinned engagement*
290
+ * and joins. Two real populations reach it WITH A TOKEN IN HAND, and both are decided
291
+ * deliberately:
292
+ *
293
+ * - **A pre-FW-4 install** — its `.env.local` has `HALFCYCLE_TOKEN` but no
294
+ * `GUARD_SERVICE_URL`, because the installer did not write one until F-29. The
295
+ * fallback therefore refuses it and joining is the RIGHT answer: that tree has no
296
+ * guard coverage, the join returns `guardUrl` beside a fresh token, and the
297
+ * alternative is a checkout that stays silently unguarded forever. **This is the
298
+ * same population `migrateLegacyEnvLocal` refuses to empty**, and the two
299
+ * decisions compose rather than fight: a working credential is obtained. The file
300
+ * is emptied only once the store demonstrably holds a whole one — **which the join
301
+ * is precisely what brings about, in the same run.** The joined credential is
302
+ * written to the store, read back from disk, and the migration gate then passes,
303
+ * so this repository's `.env.local` loses its Halfcycle keys on the run that
304
+ * joins. That is the intended end state and not a side effect: the tree stops
305
+ * holding a credential, having first been given one that works. The developer's
306
+ * own entries in that file are untouched.
307
+ * - **A credential supplied by ENVIRONMENT VARIABLE with neither home populated** —
308
+ * the CI path. This reader deliberately never takes the TOKEN from the ambient
309
+ * shell (only the service origin, above), so that run joins. **Accepted, with one
310
+ * narrow cost stated rather than discovered:** if `HALFCYCLE_TOKEN` happens to be
311
+ * an ENGAGEMENT token for *this* engagement and the same account, the join
312
+ * supersedes it into the one-hour grace window, and a workflow re-presenting that
313
+ * same variable an hour later gets a 401. An ACCOUNT credential — what the browser
314
+ * handoff stores and what the feature names as the CI path — is a different
315
+ * credential class in a different table and is untouched. The narrow case is not
316
+ * closed here because closing it would mean this function reading the process
317
+ * environment for a secret, which is the one thing the paragraph below exists to
318
+ * prevent; the workflow's fix is to export the account credential rather than a
319
+ * per-engagement token.
320
+ *
321
+ * PARSES, NEVER SOURCES — a credential store is not code, exactly as the generated
322
+ * `mcp-headers.sh` treats it.
323
+ */
324
+ export declare function readPinnedEngagement(targetRepoRoot: string, home?: string): {
325
+ engagementId: string;
326
+ credential: DeviceCredential | undefined;
327
+ /** True iff the credential was found in a pre-T-09 in-tree `.env.local`. The
328
+ * caller migrates it out and says so; nothing else branches on it. */
329
+ fromLegacyEnvLocal: boolean;
330
+ } | null;
331
+ export declare function checkDrift(targetRepoRoot: string): {
332
+ drifted: boolean;
333
+ installed: string | null;
334
+ current: string;
335
+ };
336
+ /**
337
+ * Install the bundle into a target engagement repo.
338
+ *
339
+ * Write order:
340
+ * 1. (nothing) — NO worker role files land in a client tree (FX-2, W3-F-27)
341
+ * 2. commands → .claude/commands/ (one-screen stubs, no method prose)
342
+ * 3. captured-payload fixtures store convention → test/fixtures/captured/
343
+ * 4. vendored guard binary → .halfcycle/bin/bin.bundle.mjs (self-contained)
344
+ * 5. Governance-hook wiring (.claude/settings.json, guard-runner.sh,
345
+ * session-start-marker.sh, user-prompt-reminder.sh)
346
+ * 6. CI stanza file + .env.example section + the MCP registration and the
347
+ * connection-headers helper it names (credentialed installs only — T-24)
348
+ * 7. .gitignore + project identity + the engagement credential (OUTSIDE the tree,
349
+ * at machine level — T-09) + migration of any pre-T-09 in-tree credential
350
+ * 8. .halfcycle/bundle.json pin
351
+ * 9. Bootstrap scan → .halfcycle/state.json (INV-021 — once, onboarding-time,
352
+ * a no-op if the file already exists; never re-run on a re-install)
353
+ */
354
+ export declare function install(options: InstallOptions): Promise<InstallResult>;
355
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAwBH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;OAaG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;IAC/B,kFAAkF;IAClF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mFAAmF;IACnF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iFAAiF;IACjF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;OAGG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;;;;;OAQG;IACH,oBAAoB,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CACpE;AAMD,6EAA6E;AAC7E,eAAO,MAAM,UAAU,eAAe,CAAC;AA+QvC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAU1C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAmD,CAAC;AAErG;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,QAG0C,CAAC;AAovBrF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAItE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACzC;2EACuE;IACvE,kBAAkB,EAAE,OAAO,CAAC;CAC7B,GAAG,IAAI,CAkBP;AA+ED,wBAAgB,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMlH;AAkRD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA8P7E"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * THE LOOPBACK LISTENER — the CLI's own half of the browser handoff (T-25, #614).
3
+ *
4
+ * `npx halfcycle` binds an ephemeral port on `127.0.0.1`, hands that port to the
5
+ * confirmation page through the URL it opens, and waits for the page to redirect the
6
+ * browser back to it. No code is displayed, nothing is compared, and nothing polls.
7
+ *
8
+ * ---------------------------------------------------------------------------
9
+ * WHY THE OLD FLOW IS NOT SIMPLY BETTER-DOCUMENTED. The device-code flow showed the
10
+ * user a code in the terminal and the SAME code on a page whose URL carried it — so
11
+ * the human compared two values that both came from us. GitHub's CLI makes the code
12
+ * TYPED, which is what makes a comparison mean anything; ours only guarded against
13
+ * approving a *different* pending sign-in from a link someone sent you. On a local
14
+ * machine that is less than the friction costs, so the loopback path removes the
15
+ * comparison rather than explaining it.
16
+ *
17
+ * **The device-code flow stays, unchanged and still tested.** Loopback cannot work
18
+ * when the browser is not on the same machine as the CLI — SSH, containers, remote
19
+ * dev boxes, Codespaces — which is an ordinary way to run this. `device-signin.ts`
20
+ * chooses between them; this module only ever reports what it MEASURED.
21
+ *
22
+ * ---------------------------------------------------------------------------
23
+ * FOUR PROPERTIES THIS MODULE IS RESPONSIBLE FOR. **Each one names the test that
24
+ * reds when it is mutated** — named, rather than claimed in aggregate, because the
25
+ * aggregate version of this sentence shipped once while property 3's call site was
26
+ * covered by nothing at all (see `createCallbackHandler`). A list that says "all of
27
+ * these are tested" cannot be checked without re-deriving it; a list that names the
28
+ * assertion can be:
29
+ *
30
+ * 1. **`127.0.0.1`, never `0.0.0.0`.** `LOOPBACK_REDIRECT_HOST` is the bind
31
+ * address as well as the redirect host — one constant, in `@halfcycle/events`,
32
+ * so the address the page is told to use and the address actually bound cannot
33
+ * drift. Binding `0.0.0.0` would put a sign-in completion endpoint on every
34
+ * interface of the developer's machine, reachable from their network.
35
+ * → *"the listener binds 127.0.0.1, read back from the socket"* asserts
36
+ * `boundAddress`, which is what the OS reports rather than what we passed in.
37
+ * 2. **A callback whose `state` does not match is rejected**, compared in constant
38
+ * time, and the wait CONTINUES — a wrong state must not be able to end someone
39
+ * else's sign-in either.
40
+ * → *"a callback whose state does not match is rejected AND does not end the
41
+ * wait"*, firing real requests at a real listener.
42
+ * 3. **A request from a non-loopback peer is refused**, independently of (1). This
43
+ * is deliberate belt-and-braces: it means a future edit that widens the bind
44
+ * address does not silently widen who may complete a sign-in.
45
+ * → *"a non-loopback peer is refused AT THE HANDLER"*, which drives
46
+ * `createCallbackHandler` directly, because the OS cannot deliver this request
47
+ * to a listener that is bound correctly. Testing `isLoopbackPeer` alone does
48
+ * NOT cover this and did not: deleting the call site left 444/444 passing.
49
+ * 4. **The bind failure is a RETURN VALUE, not a throw.** Choosing the fallback is
50
+ * the caller's job, and it must be chosen from something measured. A module that
51
+ * threw would push the caller towards guessing from the environment instead.
52
+ * → *"a port that is already taken is a MEASURED bind failure"*, against a real
53
+ * squatter on a real port.
54
+ *
55
+ * INV-001: Node builtins and `@halfcycle/events` only.
56
+ */
57
+ import { type LoopbackRedirectTarget, type LoopbackResult } from '@halfcycle/events';
58
+ /**
59
+ * `HALFCYCLE_LOOPBACK_PORT` — pin the callback port instead of taking an ephemeral
60
+ * one.
61
+ *
62
+ * For a developer whose local firewall only permits a known port, and it is the one
63
+ * thing that makes a bind failure reproducible on demand: a test can hold the port
64
+ * first and get a REAL `EADDRINUSE` out of the real binary, rather than simulating
65
+ * one. An unusable value (not a number, privileged, already taken) is a measured
66
+ * bind failure like any other and falls back to the device code — never a hard
67
+ * failure, because a mis-set convenience variable must not be able to stop someone
68
+ * signing in.
69
+ */
70
+ export declare const LOOPBACK_PORT_ENV = "HALFCYCLE_LOOPBACK_PORT";
71
+ /** What the browser told us, once the state matched. */
72
+ export interface LoopbackCallback {
73
+ result: LoopbackResult;
74
+ }
75
+ /** A listener that is up, with the target to hand to the confirmation page. */
76
+ export interface LoopbackListener {
77
+ bound: true;
78
+ target: LoopbackRedirectTarget;
79
+ /**
80
+ * The interface actually bound, READ BACK from the socket rather than restated
81
+ * from the constant that was passed in.
82
+ *
83
+ * Exposed so criterion 4 (*bound to `127.0.0.1` only, never `0.0.0.0`*) is
84
+ * checkable as an observation. A test that asserted the constant would assert
85
+ * that a string equals itself and would survive the exact mutation it exists to
86
+ * catch; this is what the operating system says is listening.
87
+ */
88
+ boundAddress: string;
89
+ /**
90
+ * Wait for the browser. Resolves with the callback, or `null` when `timeoutMs`
91
+ * elapses first — a timeout is a fact the caller words, not an error this module
92
+ * throws.
93
+ */
94
+ waitForCallback(opts: {
95
+ timeoutMs: number;
96
+ /** Called every `stillWaitingMs` while nothing has arrived. */
97
+ onStillWaiting?: (elapsedMs: number) => void;
98
+ stillWaitingMs?: number;
99
+ }): Promise<LoopbackCallback | null>;
100
+ close(): Promise<void>;
101
+ }
102
+ /** The bind was attempted and did not work. `reason` is the measurement. */
103
+ export interface LoopbackBindFailed {
104
+ bound: false;
105
+ reason: string;
106
+ }
107
+ export type LoopbackBindOutcome = LoopbackListener | LoopbackBindFailed;
108
+ /**
109
+ * Is this peer on the loopback interface?
110
+ *
111
+ * Written against the ADDRESS rather than trusting the bind, for the reason in this
112
+ * file's header: two independent gates mean widening one of them does not widen who
113
+ * may complete a sign-in. `::ffff:127.0.0.1` is the IPv4-mapped form some stacks
114
+ * report; `::1` is IPv6 loopback, which cannot reach an IPv4 bind but is accepted so
115
+ * this predicate states the property rather than the current bind's side effects.
116
+ */
117
+ export declare function isLoopbackPeer(remoteAddress: string | undefined): boolean;
118
+ /**
119
+ * The subset of an `IncomingMessage` this handler reads, and the subset of a
120
+ * `ServerResponse` it writes.
121
+ *
122
+ * DECLARED SO THE HANDLER CAN BE DRIVEN WITHOUT A SOCKET, which is the whole point:
123
+ * a request from a non-loopback peer is not something a test can produce against a
124
+ * listener bound to `127.0.0.1` — the operating system will not deliver one — so the
125
+ * only way to assert the refusal is to hand the handler a peer address directly.
126
+ *
127
+ * These are structural subsets of Node's own types, not a parallel model of them:
128
+ * `createServer` accepts this handler unchanged because `IncomingMessage` and
129
+ * `ServerResponse` each satisfy the shape below.
130
+ */
131
+ export interface LoopbackRequest {
132
+ method?: string | undefined;
133
+ url?: string | undefined;
134
+ socket: {
135
+ remoteAddress?: string | undefined;
136
+ };
137
+ }
138
+ export interface LoopbackResponse {
139
+ writeHead(status: number, headers?: Record<string, string>): LoopbackResponse;
140
+ end(body?: string): unknown;
141
+ }
142
+ /**
143
+ * THE ONE HANDLER, built here and used by `createServer` below and by nothing else.
144
+ *
145
+ * Extracted from the `createServer` call it used to be written inline in, for a
146
+ * reason worth stating rather than filing as a refactor. This file's header claims
147
+ * *"four properties, each of which has a test that reds when it is mutated"* — and
148
+ * for property 3 (**a request from a non-loopback peer is refused, independently of
149
+ * the bind address**) that was FALSE. Only the pure predicate `isLoopbackPeer` was
150
+ * tested; deleting its CALL SITE left the whole bundle suite at 444/444. The claim
151
+ * read as protection and held nothing, which is this phase's most expensive
152
+ * recurring defect class rather than a tidiness complaint.
153
+ *
154
+ * It could not be tested through the socket, and that is not an oversight: a
155
+ * listener bound to `127.0.0.1` can only ever be reached by a loopback peer, so the
156
+ * OS will not produce the request the check refuses. Property 3 exists precisely to
157
+ * survive a FUTURE widening of property 1 — the moment the bind is wrong, this is
158
+ * what still refuses the network — so it needs an assertion that does not depend on
159
+ * the bind being right. Handing the handler a peer address is that assertion.
160
+ */
161
+ export declare function createCallbackHandler(state: string, onCallback: (callback: LoopbackCallback) => void): (req: LoopbackRequest, res: LoopbackResponse) => void;
162
+ /**
163
+ * Bind the callback listener, or report why it could not be bound.
164
+ *
165
+ * THE BIND IS THE MEASUREMENT. Nothing here reads `SSH_CONNECTION`, `DISPLAY`,
166
+ * `TERM` or any other variable to guess whether loopback will work — it tries, and
167
+ * an `EADDRINUSE`, an `EACCES` or a sandbox that forbids listening comes back as a
168
+ * `reason` string the caller prints. A heuristic would be wrong in both directions:
169
+ * a container with a forwarded browser has no `DISPLAY` and works, and a locked-down
170
+ * desktop has one and does not.
171
+ */
172
+ export declare function bindLoopback(env?: NodeJS.ProcessEnv): Promise<LoopbackBindOutcome>;
173
+ //# sourceMappingURL=loopback-signin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopback-signin.d.ts","sourceRoot":"","sources":["../src/loopback-signin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAIH,OAAO,EAQL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAE3D,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,sBAAsB,CAAC;IAC/B;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,+DAA+D;QAC/D,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAsBxE;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAIzE;AAgBD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC;IAC9E,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAC/C,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAmCvD;AAoBD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAmE9B"}