@indigoai-us/hq-cli 5.345.94 → 5.345.95
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,11 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [5.345.95] — 2026-10-12
|
|
6
|
+
- `hq doctor --fix` still refreshes a stale personal-files journal and a
|
|
7
|
+
company journal in the same pass when hook files have uncommitted changes.
|
|
8
|
+
Session-start health no longer treats that pair as unrepaired.
|
|
9
|
+
|
|
5
10
|
## [5.345.94] — 2026-10-12
|
|
6
11
|
- Local bots now turn `@Name` in a group-room post into a real mention, so the addressed bot receives that post in its inbox. A room post that does not mention another bot still does not wake that bot.
|
|
7
12
|
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
* `.claude/`, `.codex/`, or `.grok/`, `--fix` refuses hook-file repairs
|
|
9
9
|
* and exits non-zero unless `--force`, so those writes can never be
|
|
10
10
|
* tangled up with unrelated in-flight edits to the security layer.
|
|
11
|
-
* Repairs that do not write those trees (
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* Repairs that do not write those trees (`refresh-sync` pulls for a
|
|
12
|
+
* stale company journal or the personal vault) still run: the
|
|
13
|
+
* SessionStart health hook never passes `--force`, and blocking those
|
|
14
|
+
* pulls left `sync.journal.<slug>` and
|
|
15
|
+
* `sync.journal.__hq_personal_vault__` WARN after `--fix`.
|
|
14
16
|
* 2. Allowlist only. It repairs the classified safe classes — restore an
|
|
15
17
|
* execute bit, add a hook id to the gate profiles it is missing from,
|
|
16
18
|
* re-register a script present on disk, or pull a company or personal
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
* `.claude/`, `.codex/`, or `.grok/`, `--fix` refuses hook-file repairs
|
|
9
9
|
* and exits non-zero unless `--force`, so those writes can never be
|
|
10
10
|
* tangled up with unrelated in-flight edits to the security layer.
|
|
11
|
-
* Repairs that do not write those trees (
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* Repairs that do not write those trees (`refresh-sync` pulls for a
|
|
12
|
+
* stale company journal or the personal vault) still run: the
|
|
13
|
+
* SessionStart health hook never passes `--force`, and blocking those
|
|
14
|
+
* pulls left `sync.journal.<slug>` and
|
|
15
|
+
* `sync.journal.__hq_personal_vault__` WARN after `--fix`.
|
|
14
16
|
* 2. Allowlist only. It repairs the classified safe classes — restore an
|
|
15
17
|
* execute bit, add a hook id to the gate profiles it is missing from,
|
|
16
18
|
* re-register a script present on disk, or pull a company or personal
|
|
@@ -120,7 +122,10 @@ export async function applyFixes(options) {
|
|
|
120
122
|
const refuseDirtyHookWrites = (plans) => {
|
|
121
123
|
if (dirty.length === 0)
|
|
122
124
|
return plans;
|
|
123
|
-
|
|
125
|
+
// Journal refreshes never write hook files. Allow them by class, not
|
|
126
|
+
// only by empty relpath, so a personal-vault pull and a company pull
|
|
127
|
+
// still run when SessionStart `--fix --yes` cannot pass `--force`.
|
|
128
|
+
const allowed = plans.filter((plan) => plan.fixClass === "refresh-sync" || plan.relpath.length === 0);
|
|
124
129
|
if (allowed.length === plans.length)
|
|
125
130
|
return plans;
|
|
126
131
|
if (allowed.length === 0)
|