@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 +31 -0
- package/dist/command-catalog.generated.d.ts +31 -1
- package/dist/command-catalog.generated.js +40 -1
- package/dist/commands/lanes.d.ts +3 -1
- package/dist/commands/lanes.js +269 -50
- package/dist/lib/bot/promotion-upload.js +17 -2
- package/dist/lib/lanes/index.d.ts +2 -0
- package/dist/lib/lanes/index.js +1 -0
- package/dist/lib/lanes/outpost-dispatch.d.ts +4 -0
- package/dist/lib/lanes/outpost-dispatch.js +8 -0
- package/dist/lib/lanes/spawn.d.ts +3 -0
- package/dist/lib/lanes/spawn.js +8 -2
- package/dist/lib/lanes/store.js +129 -6
- package/dist/lib/lanes/stories.js +3 -0
- package/dist/lib/lanes/story-ledger.d.ts +78 -0
- package/dist/lib/lanes/story-ledger.js +762 -0
- package/dist/lib/lanes/types.d.ts +10 -1
- package/dist/lib/lanes/types.js +3 -3
- package/dist/lib/lanes/watcher.js +2 -0
- package/dist/utils/vault-api.js +1 -1
- package/package.json +1 -1
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 (
|
|
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 (
|
|
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"
|
package/dist/commands/lanes.d.ts
CHANGED
|
@@ -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. */
|