Skip to content

v1.62.0

Choose a tag to compare

@node9ai node9ai released this 16 Jul 19:35
· 414 commits to main since this release

1.62.0 (2026-07-16)

Bug Fixes

  • ci-check: /review-pr findings B1 (dead elevated-perms signal) + B2 (no timeout) (0454cbc)
  • ci-check: a rate-limited scan must never render as "clean" (false assurance) (4cae601)
  • ci-check: accurate incomplete-cause message + trigger-aware head-checkout fix text (7c673f7)
  • ci-check: address batch /code-review findings on the round-5 diff (100786b)
  • ci-check: CI-2 round-5 1a — actor-gate POLARITY (inverted gates no longer credited) (9e11a7a)
  • ci-check: CI-2 tool detection scoped to the injectable job (G-d) (c5b8dc9)
  • ci-check: CI-2 write-all / default-permissions FN + job-override FP + empty-job crash (7fac2e0)
  • ci-check: CI-2/CI-4 calibration — eliminate 5 false positives on the high/crit tier (ac91dc2)
  • ci-check: CI-4 fuel-by-assignment (A1) + CI-2 reach needs untrusted trigger (B) (cfb4a69)
  • ci-check: CI-4 per-agent-job scoping — no cross-job conflation (2652ff6)
  • ci-check: CI-6 — classify hidden chars by legitimacy (four-class model), fire on concealment signature (088ed8b)
  • ci-check: CI-6 — zero-width space is legitimate in non-Latin scripts, not always concealment (5fc2b89)
  • ci-check: code-review fixes to the scan-repo analyzer (F1-F3) (b81cd22)
  • ci-check: F11 — damage-capability + agent-job-scoped permissions (7e0e6a6)
  • ci-check: F12 — write perms need a TOOL to use them (damage = perm × tool) (dd44374)
  • ci-check: F13 — don't read a --disallowedTools denylist as granted tools (a5cc0f2)
  • ci-check: F14 — pull_request ≠ pull_request_target (privilege-aware CI-2) (0104f61)
  • ci-check: F15 — write-scope granularity (contents:write vs pull-requests:write) (85b1559)
  • ci-check: F7 — credit claude-code-action's default write-access gate (was crying wolf) (17f254b)
  • ci-check: F8 — a gated workflow isn't HIGH on power alone (f2daadf)
  • ci-check: F9 (tool scope) + F10 (reach requires an untrusted trigger) (fbe8d0f)
  • ci-check: tool detection reads only grant flags, not prompt prose (G-c) (09403f2)
  • daemon: reliable autostart + self-diagnosing daemon start (8976c36)
  • dlp: node9 pause silences the UserPromptSubmit prompt-DLP gate (80a366e)
  • engine: non-finite posture degrades to null in computeAgentDeviceScore (/review-pr) (e3aba10), closes not-enou#data
  • mcp: cloud reporters send the friendly server label, never the serverKey hash (F4b) (263cc25)
  • mcp: stable config-vs-connected identity (R1 Layer 1) (6e5104c)
  • policy: chmod +x is not world-writable — stop reviewing it (42155ae)
  • policy: waive review-rm for a same-command create-then-delete cleanup (R3) (a393bc5)
  • scan: watermark must not skip a JSONL line straddling the tick (2f4f487)

Features

  • ci-check: auto-detect a GitHub token from the gh CLI (zero-setup scans) (6ed63f2)
  • ci-check: CI-4 — agent-reachable secrets (closes gap 1 of 2) (abace3d)
  • ci-check: CI-6 — agent instruction-file risk (low-FP core) (c2265e9)
  • ci-check: node9 scan-repo — repo agent-security scanner (P0) (c1ba47b)
  • ci-check: round-5 [6]/[7]/[9]/1d — the remaining code-review + severity-depth items (31c1b1c)
  • ci-check: round-5 1c-A — analyze .codex/config.toml (was a dead fetch) (aace713)
  • ci-check: round-5 1c-B — discover the agent surface at ANY depth (monorepo blind spot) (ce90048)
  • daemon: isDaemonServiceEnabled() — detect installed-but-disabled autostart (ddd6650)
  • engine: computeAgentDeviceScore — the Report score becomes live + posture (Score-1 Phase 0) (1be2e10)
  • posture: grade the 5 governed-config dimensions (Report UI v2 · P3) (5f1d7b2)
  • posture: make the scorecard a cold-runnable front door (P3.1) (c032047), closes #1
  • report: per-dimension "what happened" + fix leaking block labels (Report UI v2 · P0) (a612200)
  • report: regroup dimensions to canon — loops→Detection (v3 P1 pair) (485547a)
  • report: regroup dimensions to canon — loops→Detection, app-permission→Apps (v3 P1) (01c9486)
  • sync: surface stale/failing cloud-policy sync — never fail open (0a94e7d)

Performance Improvements

  • ci-check: parallel fetch + progress spinner for scan-repo (P0.1-A) (61779b7)