@indigoai-us/hq-cli 5.198.1 → 5.200.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,8 +2,46 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [5.200.0] — 2026-09-25
6
+
7
+ ### Fixed
8
+
9
+ - `hq lanes list` now fetches Outpost hire summaries once per host and reuses
10
+ them for 60 seconds. Missing or invalid owner rows keep the local summary and
11
+ include a warning.
12
+
13
+ ## [5.199.0] — 2026-09-25
14
+
15
+ ### Added
16
+
17
+ - `hq lanes questions list --all-hosts` reads questions from Outposts that own
18
+ this primary's lanes. Rows include the host, and an unavailable Outpost is
19
+ named in `errors` while local questions remain available. Remote rows use the
20
+ audience computed by the owner, and eligible Outpost reads run with bounded
21
+ concurrency. The primary can show and answer an Outpost-only question, then
22
+ save the owner's confirmed answer locally. Cross-host lookup requires the
23
+ company-scoped `lanes.outpost-question-visibility` hq-flags gate. Use
24
+ `--company` to limit a list or answer to one company.
25
+
26
+ ### Fixed
27
+
28
+ - Registry-backed hq-flags readers now use the central registry endpoint when
29
+ `HQ_FLAGS_API_URL` is unset or blank. Explicit endpoints and local overrides
30
+ keep precedence, and process-wide gates retain their legacy fallback until a
31
+ registry snapshot is ready.
32
+
5
33
  ## [5.198.1] — 2026-09-25
6
34
 
35
+ ### Fixed
36
+
37
+ - Session questions stay with live or unknown sessions until their configured
38
+ unanswered timeout; only a positive `session_end` advances immediately. When
39
+ there is no Work Mesh entry, hq-cli checks Claude transcript metadata in
40
+ configured account homes without opening transcript contents, using the
41
+ newest matching mtime. Metadata errors remain visible and do not block the
42
+ independent timeout. The timeout defaults to 600 seconds. A running-lane
43
+ answer reports `awaiting_next_tool_call` after its durable dropbox append.
44
+
7
45
  ## [5.198.0] — 2026-09-25
8
46
 
9
47
  ### Added
@@ -27,13 +65,6 @@
27
65
  `result` / `error.message` / `subtype` — instead of the last characters of
28
66
  the JSON tail (`"costUsdTicks" | } | "numTurns" | }`). Log only; never
29
67
  posted to a person.
30
- - Session questions stay with live or unknown sessions until their configured
31
- unanswered timeout; only a positive `session_end` advances immediately. When
32
- there is no Work Mesh entry, hq-cli checks Claude transcript metadata in
33
- configured account homes without opening transcript contents, using the
34
- newest matching mtime. Metadata errors remain visible and do not block the
35
- independent timeout. The timeout defaults to 600 seconds. A running-lane
36
- answer reports `awaiting_next_tool_call` after its durable dropbox append.
37
68
 
38
69
  ## [5.197.0] — 2026-09-25
39
70
 
@@ -7970,6 +7970,9 @@ export declare const COMMAND_CATALOG: readonly [{
7970
7970
  readonly usage: "[options]";
7971
7971
  readonly arguments: readonly [];
7972
7972
  readonly options: readonly [{
7973
+ readonly flags: "--all-hosts";
7974
+ readonly description: "Include questions from Outposts that own this primary's lanes";
7975
+ }, {
7973
7976
  readonly flags: "--for <ref>";
7974
7977
  readonly description: "Who must decide (ref | me | user)";
7975
7978
  }, {
@@ -8028,6 +8031,9 @@ export declare const COMMAND_CATALOG: readonly [{
8028
8031
  }, {
8029
8032
  readonly flags: "--freeform <text>";
8030
8033
  readonly description: "Supply a free-form answer for a question with options";
8034
+ }, {
8035
+ readonly flags: "--company <slug|uid>";
8036
+ readonly description: "Require the question lane to match this company";
8031
8037
  }, {
8032
8038
  readonly flags: "--json";
8033
8039
  readonly description: "JSON on stdout (always)";
@@ -10306,6 +10306,10 @@ export const COMMAND_CATALOG = [
10306
10306
  "usage": "[options]",
10307
10307
  "arguments": [],
10308
10308
  "options": [
10309
+ {
10310
+ "flags": "--all-hosts",
10311
+ "description": "Include questions from Outposts that own this primary's lanes"
10312
+ },
10309
10313
  {
10310
10314
  "flags": "--for <ref>",
10311
10315
  "description": "Who must decide (ref | me | user)"
@@ -10384,6 +10388,10 @@ export const COMMAND_CATALOG = [
10384
10388
  "flags": "--freeform <text>",
10385
10389
  "description": "Supply a free-form answer for a question with options"
10386
10390
  },
10391
+ {
10392
+ "flags": "--company <slug|uid>",
10393
+ "description": "Require the question lane to match this company"
10394
+ },
10387
10395
  {
10388
10396
  "flags": "--json",
10389
10397
  "description": "JSON on stdout (always)"
@@ -88,6 +88,8 @@ export interface LanesCommandDeps {
88
88
  withGrantHireLocks?: typeof withLaneHireLocks;
89
89
  /** Test seam for the Claude account-balancing gate. */
90
90
  laneClaudeAccountBalanceEnabled?: (company?: LaneCompanyRef | null) => boolean | Promise<boolean>;
91
+ /** Test seam for the default-off Outpost question visibility gate. */
92
+ laneOutpostQuestionVisibilityEnabled?: (company?: LaneCompanyRef | null) => boolean | Promise<boolean>;
91
93
  /** Test seam for the hq-flags gated tracker commands. */
92
94
  laneTrackerEnabled?: (company: LaneCompanyRef) => boolean | Promise<boolean>;
93
95
  /** The local-only PR 2 implementation refuses if mesh storage is enabled. */
@@ -96,6 +98,7 @@ export interface LanesCommandDeps {
96
98
  trackerActor?: () => string | null;
97
99
  }
98
100
  export declare const LANE_OUTPOST_LOAD_BALANCING_FLAG = "lanes.outpost-load-balancing";
101
+ export declare const LANE_OUTPOST_QUESTION_VISIBILITY_FLAG = "lanes.outpost-question-visibility";
99
102
  export declare function parseSeniorRef(raw: string): SeniorRef;
100
103
  export declare function resolveAnswerChoice(choice: string, options: string[], freeform: boolean): string;
101
104
  /**