@aryaminus/controlkeel-opencode 0.2.46 → 0.2.47

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.
@@ -360,24 +360,27 @@ export const ControlKeelGovernance: Plugin = async ({ project, client, $, direct
360
360
  const openError = typeof openPayload?.open_error === "string" ? openPayload.open_error.trim() : ""
361
361
  const openFailure = typeof openPayload?.error === "string" ? openPayload.error.trim() : ""
362
362
  const browserNotOpened = openPayload?.opened !== true
363
+ const serverUnavailable = openPayload?.server_serving === false
363
364
 
364
365
  const remoteLocalhostMismatch =
365
366
  typeof browserUrl === "string" &&
366
367
  browserUrl.includes("localhost") &&
367
368
  openPayload?.remote === true
368
369
 
369
- if (!browserUrl || openError || openFailure || remoteLocalhostMismatch || browserNotOpened) {
370
+ if (!browserUrl || serverUnavailable || openError || openFailure || remoteLocalhostMismatch || browserNotOpened) {
370
371
  return buildPlanResult({
371
372
  waitSkipped: true,
372
373
  manualApprovalRequired: true,
373
374
  reason:
374
375
  !browserUrl
375
376
  ? "browser_url_unavailable"
376
- : browserNotOpened
377
- ? "browser_not_opened"
378
- : "browser_unreachable",
377
+ : serverUnavailable
378
+ ? "review_server_unavailable"
379
+ : browserNotOpened
380
+ ? "browser_not_opened"
381
+ : "browser_unreachable",
379
382
  guidance:
380
- "Browser review is unavailable from this environment or did not actually open. Ask the user for explicit approval in chat, then record it with `controlkeel review plan respond --id <review_id> --decision approved --feedback-notes \"User approved in chat; browser unavailable\" --json` or `ck_review_feedback`.",
383
+ "Browser review is unavailable, the CK review server is not reachable, or the browser did not actually open. Ask the user for explicit approval in chat, then record it with `controlkeel review plan respond --id <review_id> --decision approved --feedback-notes \"User approved in chat; browser/review server unavailable\" --json` or `ck_review_feedback`.",
381
384
  })
382
385
  }
383
386
 
package/AGENTS.md CHANGED
@@ -11,8 +11,9 @@ Required workflow:
11
11
  2. Call `ck_validate` before writing code, config, shell, or deploy content.
12
12
  3. Submit plans or approval packets with `ck_review_submit` and check `ck_review_status` before execution.
13
13
  4. Record any human-review issue with `ck_finding`.
14
- 5. Check `ck_budget` before expensive model or multi-agent work.
15
- 6. Use `ck_route`, `ck_skill_list`, and `ck_skill_load` to delegate or activate specialized CK workflows.
14
+ 5. Check `ck_budget` before expensive model or multi-agent work, and keep `ck_context` compact unless full raw context is needed.
15
+ 6. Before AFK or delegated implementation, split large work into human-approved vertical slices with explicit dependencies; prefer durable behavior-first issues, stable deep-module interfaces, and branch-level automated review plus human QA before merge.
16
+ 7. Use `ck_route`, `ck_skill_list`, and `ck_skill_load` to delegate or activate specialized CK workflows.
16
17
 
17
18
  Install ControlKeel:
18
19
  - Homebrew: `brew tap aryaminus/controlkeel && brew install controlkeel`
package/index.js CHANGED
@@ -343,24 +343,27 @@ export const ControlKeelGovernance = async ({ $, directory }) => {
343
343
  const openError = typeof openPayload?.open_error === "string" ? openPayload.open_error.trim() : ""
344
344
  const openFailure = typeof openPayload?.error === "string" ? openPayload.error.trim() : ""
345
345
  const browserNotOpened = openPayload?.opened !== true
346
+ const serverUnavailable = openPayload?.server_serving === false
346
347
 
347
348
  const remoteLocalhostMismatch =
348
349
  typeof browserUrl === "string" &&
349
350
  browserUrl.includes("localhost") &&
350
351
  openPayload?.remote === true
351
352
 
352
- if (!browserUrl || openError || openFailure || remoteLocalhostMismatch || browserNotOpened) {
353
+ if (!browserUrl || serverUnavailable || openError || openFailure || remoteLocalhostMismatch || browserNotOpened) {
353
354
  return buildPlanResult({
354
355
  waitSkipped: true,
355
356
  manualApprovalRequired: true,
356
357
  reason:
357
358
  !browserUrl
358
359
  ? "browser_url_unavailable"
359
- : browserNotOpened
360
- ? "browser_not_opened"
361
- : "browser_unreachable",
360
+ : serverUnavailable
361
+ ? "review_server_unavailable"
362
+ : browserNotOpened
363
+ ? "browser_not_opened"
364
+ : "browser_unreachable",
362
365
  guidance:
363
- "Browser review is unavailable from this environment or did not actually open. Ask the user for explicit approval in chat, then record it with `controlkeel review plan respond --id <review_id> --decision approved --feedback-notes \"User approved in chat; browser unavailable\" --json` or `ck_review_feedback`.",
366
+ "Browser review is unavailable, the CK review server is not reachable, or the browser did not actually open. Ask the user for explicit approval in chat, then record it with `controlkeel review plan respond --id <review_id> --decision approved --feedback-notes \"User approved in chat; browser/review server unavailable\" --json` or `ck_review_feedback`.",
364
367
  })
365
368
  }
366
369
 
package/package.json CHANGED
@@ -35,5 +35,5 @@
35
35
  "url": "git+https://github.com/aryaminus/controlkeel.git"
36
36
  },
37
37
  "type": "module",
38
- "version": "0.2.46"
38
+ "version": "0.2.47"
39
39
  }