@indigoai-us/hq-cli 5.188.1 → 5.190.0

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [5.190.0] — 2026-09-25
6
+
7
+ ### Added
8
+
9
+ - `hq lanes` validates story references against project `prd.json` files and records
10
+ explicit `--no-story` reasons. When `lanes.story-ledger` is enabled, lane state,
11
+ blockers, questions, and PR links sync back to project stories. Terminal history
12
+ writes are atomic and retry-safe. Stale-lock cleanup reclaims abandoned ownerless
13
+ locks after their directory ages while preserving fresh replacements.
14
+ `hq lanes status --project` summarizes workers, PRs, blockers, questions, and story
15
+ counts.
16
+
17
+ ### Fixed
18
+
19
+ - `hq bot promote` accepts server-signed upload URLs without SSE headers when the bucket supplies encryption. SSE header names are checked case-insensitively, and any supplied encryption must be a complete SSE-KMS pair.
20
+ - Company slug lookup errors now point to the supported `hq sources entities` command.
21
+
22
+ ## [5.189.0] — 2026-09-25
23
+
24
+ ### Added
25
+
26
+ - `hq lanes resume` and `hq lanes message` accept `--effort <level>` for the next resumed provider turn. Attaching a worker profile applies its configured effort when the command has no effort flag. With neither option, the lane keeps its recorded effort. Outpost commands forward the flag and report `outpost_effort_unsupported` when the remote CLI rejects it.
27
+
5
28
  ## [5.188.1] — 2026-09-25
6
29
 
7
30
  ### Fixed
@@ -64,6 +87,14 @@
64
87
 
65
88
  ### Added
66
89
 
90
+ - `hq lanes` validates story references against project `prd.json` files and records
91
+ explicit `--no-story` reasons. When `lanes.story-ledger` is enabled, lane state,
92
+ blockers, questions, and PR links sync back to project stories. Terminal history
93
+ writes are atomic and retry-safe. Stale-lock cleanup reclaims abandoned ownerless
94
+ locks after their directory ages while preserving fresh replacements.
95
+ `hq lanes status --project` summarizes workers, PRs,
96
+ blockers, questions, and story counts.
97
+
67
98
  - `hq doctor --json` includes stable sync `reasonCode` enums. Client-health reports add `checkId: reasonCode` pairs only when the company-scoped `client-health-sync-reason-codes` hq-flags gate is enabled. `hq doctor --fix --json` reports refresh-sync outcomes without raw error details.
68
99
 
69
100
  - Repair known stale QMD collection paths behind the default-off `qmd.collection-path-repair` hq-flags canary while preserving collection metadata.
@@ -6868,6 +6868,9 @@ export declare const COMMAND_CATALOG: readonly [{
6868
6868
  }, {
6869
6869
  readonly flags: "--story <id>";
6870
6870
  readonly description: "Story id from the project's prd.json";
6871
+ }, {
6872
+ readonly flags: "--no-story <reason>";
6873
+ readonly description: "Create a lane without a story and record why";
6871
6874
  }, {
6872
6875
  readonly flags: "--additional-story <id>";
6873
6876
  readonly description: "Additional story carried by this lane; repeatable and discouraged when active";
@@ -6998,7 +7001,28 @@ export declare const COMMAND_CATALOG: readonly [{
6998
7001
  readonly description: "Filter by senior ref";
6999
7002
  }, {
7000
7003
  readonly flags: "--json";
7001
- readonly description: "JSON on stdout (always)";
7004
+ readonly description: "Emit JSON on stdout (default)";
7005
+ }, {
7006
+ readonly flags: "--human";
7007
+ readonly description: "Emit human-readable output";
7008
+ }];
7009
+ readonly subcommands: readonly [];
7010
+ }, {
7011
+ readonly name: "status";
7012
+ readonly description: "Summarize project stories, lanes, PRs, blockers, and pending questions";
7013
+ readonly aliases: readonly [];
7014
+ readonly hidden: false;
7015
+ readonly usage: "[options]";
7016
+ readonly arguments: readonly [];
7017
+ readonly options: readonly [{
7018
+ readonly flags: "--project <slug>";
7019
+ readonly description: "HQ project slug";
7020
+ }, {
7021
+ readonly flags: "--company <slug|uid>";
7022
+ readonly description: "Company project scope; omit for a personal project";
7023
+ }, {
7024
+ readonly flags: "--json";
7025
+ readonly description: "Emit JSON on stdout";
7002
7026
  }];
7003
7027
  readonly subcommands: readonly [];
7004
7028
  }, {
@@ -7345,6 +7369,9 @@ export declare const COMMAND_CATALOG: readonly [{
7345
7369
  }, {
7346
7370
  readonly flags: "--model <id>";
7347
7371
  readonly description: "Model for the moved lane (with --account only)";
7372
+ }, {
7373
+ readonly flags: "--effort <level>";
7374
+ readonly description: "Reasoning effort for the resumed provider turn";
7348
7375
  }, {
7349
7376
  readonly flags: "--worker <profile>";
7350
7377
  readonly description: "Attach a personal worker profile when this message resumes the lane";
@@ -7382,6 +7409,9 @@ export declare const COMMAND_CATALOG: readonly [{
7382
7409
  }, {
7383
7410
  readonly flags: "--model <id>";
7384
7411
  readonly description: "Model for the moved lane (with --account only)";
7412
+ }, {
7413
+ readonly flags: "--effort <level>";
7414
+ readonly description: "Reasoning effort for the resumed provider turn";
7385
7415
  }, {
7386
7416
  readonly flags: "--worker <profile>";
7387
7417
  readonly description: "Attach a personal worker profile for the resumed turn";
@@ -8874,6 +8874,10 @@ export const COMMAND_CATALOG = [
8874
8874
  "flags": "--story <id>",
8875
8875
  "description": "Story id from the project's prd.json"
8876
8876
  },
8877
+ {
8878
+ "flags": "--no-story <reason>",
8879
+ "description": "Create a lane without a story and record why"
8880
+ },
8877
8881
  {
8878
8882
  "flags": "--additional-story <id>",
8879
8883
  "description": "Additional story carried by this lane; repeatable and discouraged when active"
@@ -9044,7 +9048,34 @@ export const COMMAND_CATALOG = [
9044
9048
  },
9045
9049
  {
9046
9050
  "flags": "--json",
9047
- "description": "JSON on stdout (always)"
9051
+ "description": "Emit JSON on stdout (default)"
9052
+ },
9053
+ {
9054
+ "flags": "--human",
9055
+ "description": "Emit human-readable output"
9056
+ }
9057
+ ],
9058
+ "subcommands": []
9059
+ },
9060
+ {
9061
+ "name": "status",
9062
+ "description": "Summarize project stories, lanes, PRs, blockers, and pending questions",
9063
+ "aliases": [],
9064
+ "hidden": false,
9065
+ "usage": "[options]",
9066
+ "arguments": [],
9067
+ "options": [
9068
+ {
9069
+ "flags": "--project <slug>",
9070
+ "description": "HQ project slug"
9071
+ },
9072
+ {
9073
+ "flags": "--company <slug|uid>",
9074
+ "description": "Company project scope; omit for a personal project"
9075
+ },
9076
+ {
9077
+ "flags": "--json",
9078
+ "description": "Emit JSON on stdout"
9048
9079
  }
9049
9080
  ],
9050
9081
  "subcommands": []
@@ -9496,6 +9527,10 @@ export const COMMAND_CATALOG = [
9496
9527
  "flags": "--model <id>",
9497
9528
  "description": "Model for the moved lane (with --account only)"
9498
9529
  },
9530
+ {
9531
+ "flags": "--effort <level>",
9532
+ "description": "Reasoning effort for the resumed provider turn"
9533
+ },
9499
9534
  {
9500
9535
  "flags": "--worker <profile>",
9501
9536
  "description": "Attach a personal worker profile when this message resumes the lane"
@@ -9545,6 +9580,10 @@ export const COMMAND_CATALOG = [
9545
9580
  "flags": "--model <id>",
9546
9581
  "description": "Model for the moved lane (with --account only)"
9547
9582
  },
9583
+ {
9584
+ "flags": "--effort <level>",
9585
+ "description": "Reasoning effort for the resumed provider turn"
9586
+ },
9548
9587
  {
9549
9588
  "flags": "--worker <profile>",
9550
9589
  "description": "Attach a personal worker profile for the resumed turn"
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * `hq lanes` — worker lane management and decision queue (spec §5–§7, §10–§11).
3
3
  *
4
- * Existing commands print JSON on stdout and take no interactive input, except
4
+ * Existing commands print JSON on stdout by default and take no interactive input, except
5
5
  * `accounts login`, which hands the terminal to the vendor's own sign-in.
6
6
  * `watch` and the monitor reminder are the line-oriented text surfaces.
7
7
  */
@@ -80,6 +80,8 @@ export interface LanesCommandDeps {
80
80
  lanePlacementEnabled?: () => boolean;
81
81
  /** Test seam for the default-off lane hire-grants rollout gate. */
82
82
  laneHireGrantsEnabled?: (company?: LaneCompanyRef | null) => boolean | Promise<boolean>;
83
+ /** Test seam for the default-off story ledger flag. */
84
+ storyLedgerEnabled?: () => boolean;
83
85
  /** Test seam for the SSM-only Outpost owner grant path. */
84
86
  isSsmOwnerDispatch?: () => boolean;
85
87
  /** Test seam for changing a lane between pre-lock and locked grant reads. */