@integrity-labs/agt-cli 0.28.869 → 0.28.870

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.
@@ -90,8 +90,16 @@ gh api repos/OWNER/NAME/contents/CLAUDE.md?ref=HEAD_SHA --jq .content
90
90
  gh api repos/OWNER/NAME/contents/docs/reference/review-rules.md?ref=HEAD_SHA --jq .content
91
91
  ```
92
92
 
93
- Both are base64; decode them. Both may 404, which is fine and normal most
94
- repos have neither.
93
+ Both are base64; decode them. **Issue both requests before you begin step 4
94
+ this is not optional.** Either may 404, which is fine and normal: most repos
95
+ have neither.
96
+
97
+ Record which happened, because "absent" and "never asked" are different facts
98
+ and the artefact cannot tell them apart on its own. `rulesFile` is the path when
99
+ the fetch returned content (at either ref), and `null` **only after you have
100
+ actually observed a 404 at both**. If you did not issue the request, the review is `incomplete` with that as
101
+ the reason — a review conducted without rules it never looked for must not be
102
+ filed as though the rules were absent.
95
103
 
96
104
  Where `review-rules.md` exists it **outranks your priors**: a rule saying "this
97
105
  is deliberate here, do not flag it" exists because a reviewer already raised
@@ -99,9 +107,25 @@ that exact thing and a human said no. Where it does not exist, review anyway and
99
107
  say so in your summary — a repo without one gets a generic review, which is
100
108
  worth having and worth labelling as such.
101
109
 
102
- Pin both reads to `HEAD_SHA`. Reading the default branch's rules against a
110
+ Pin both reads to `HEAD_SHA` first. Reading the default branch's rules against a
103
111
  branch's code compares the change to something it was never written against.
104
112
 
113
+ **If `review-rules.md` 404s at `HEAD_SHA`, retry it at the default branch, and
114
+ record which ref supplied it.** A branch cut before the rules file landed — or
115
+ simply never merged forward — has no copy of it at its own head, and that is the
116
+ common case, not the rare one: measured 2026-09-08, **8 of the 12 newest open
117
+ PRs** 404 on it. Pinning alone therefore withholds the corpus from most reviews
118
+ precisely while it is newest. Rules describe the repo's current standards rather
119
+ than the branch's snapshot, so the fallback is sound; what would not be sound is
120
+ applying them without saying so. Set `rulesRef` to `"head"` or `"default"`
121
+ alongside `rulesFile`.
122
+
123
+ Do NOT pipe or redirect these commands. Use `--jq` on the `gh` call itself and
124
+ read the output directly. A reviewer runs unattended under a tool allowlist
125
+ narrow enough that it cannot post to GitHub, and `gh … | jq` or `gh … > file`
126
+ is a compound command that such an allowlist rejects — so composing a shell
127
+ pipeline costs you turns and buys nothing.
128
+
105
129
  ## 4. Review
106
130
 
107
131
  Prioritise, in this order:
@@ -157,6 +181,7 @@ directory (create it if absent):
157
181
  "head": "abc123def456",
158
182
  "reviewedAt": "2026-09-07T00:00:00Z",
159
183
  "rulesFile": "docs/reference/review-rules.md",
184
+ "rulesRef": "head",
160
185
  "status": "reviewed",
161
186
  "findings": [
162
187
  {
package/dist/bin/agt.js CHANGED
@@ -40,7 +40,7 @@ import {
40
40
  success,
41
41
  table,
42
42
  warn
43
- } from "../chunk-SJW4JNJQ.js";
43
+ } from "../chunk-NZFBUFF6.js";
44
44
  import {
45
45
  getProjectDir,
46
46
  isSessionResumeDisabled,
@@ -5467,7 +5467,7 @@ import { execFileSync, execSync } from "child_process";
5467
5467
  import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
5468
5468
  import chalk18 from "chalk";
5469
5469
  import ora16 from "ora";
5470
- var cliVersion = true ? "0.28.869" : "dev";
5470
+ var cliVersion = true ? "0.28.870" : "dev";
5471
5471
  async function fetchLatestVersion() {
5472
5472
  const host2 = getHost();
5473
5473
  if (!host2) return null;
@@ -6658,7 +6658,7 @@ function handleError(err) {
6658
6658
  }
6659
6659
 
6660
6660
  // src/bin/agt.ts
6661
- var cliVersion2 = true ? "0.28.869" : "dev";
6661
+ var cliVersion2 = true ? "0.28.870" : "dev";
6662
6662
  var program = new Command();
6663
6663
  program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
6664
6664
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -6728,7 +6728,7 @@ function exchangeFailureKind(err) {
6728
6728
  }
6729
6729
 
6730
6730
  // src/lib/api-client.ts
6731
- var agtCliVersion = true ? "0.28.869" : "dev";
6731
+ var agtCliVersion = true ? "0.28.870" : "dev";
6732
6732
  var lastConfigHash = null;
6733
6733
  function setConfigHash(hash) {
6734
6734
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -11338,4 +11338,4 @@ export {
11338
11338
  managerInstallSystemUnitCommand,
11339
11339
  managerUninstallSystemUnitCommand
11340
11340
  };
11341
- //# sourceMappingURL=chunk-SJW4JNJQ.js.map
11341
+ //# sourceMappingURL=chunk-NZFBUFF6.js.map
@@ -63,7 +63,7 @@ import {
63
63
  safeWriteJsonAtomic,
64
64
  setConfigHash,
65
65
  tripClass
66
- } from "../chunk-SJW4JNJQ.js";
66
+ } from "../chunk-NZFBUFF6.js";
67
67
  import {
68
68
  getProjectDir as getProjectDir2,
69
69
  getReadyTasks,
@@ -13678,7 +13678,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
13678
13678
  var lastVersionCheckAt = 0;
13679
13679
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
13680
13680
  var lastResponsivenessProbeAt = 0;
13681
- var agtCliVersion = true ? "0.28.869" : "dev";
13681
+ var agtCliVersion = true ? "0.28.870" : "dev";
13682
13682
  function resolveBrewPath(execFileSync2) {
13683
13683
  try {
13684
13684
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.869",
3
+ "version": "0.28.870",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {