agentic-qe 3.7.19 → 3.7.20

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.
@@ -932,7 +932,7 @@
932
932
  },
933
933
  "metadata": {
934
934
  "generatedBy": "Agentic QE Fleet",
935
- "fleetVersion": "3.7.18",
935
+ "fleetVersion": "3.7.20",
936
936
  "manifestVersion": "1.3.0",
937
937
  "lastUpdated": "2026-02-04T00:00:00.000Z",
938
938
  "contributors": [
package/CHANGELOG.md CHANGED
@@ -5,6 +5,13 @@ All notable changes to the Agentic QE project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.7.20] - 2026-03-12
9
+
10
+ ### Fixed
11
+
12
+ - **Duplicate brain-checkpoint hooks on re-init** — Running `aqe init --auto` multiple times accumulated 4x copies of brain-checkpoint verify/export hooks in settings.json, potentially blocking tool calls for up to 4 minutes. Added `brain-checkpoint.cjs` and `.claude/helpers/` to the AQE hook detection patterns so `mergeHooksSmart()` correctly deduplicates them. (#344)
13
+ - **Governance time budget blocking requirements_validate and coverage_analyze_sublinear** — The continue-gate's `budgetRemaining.timeMs` was measuring total session elapsed time instead of idle time since last action. After 5+ minutes of normal usage, the WASM gate would return "Budget exhausted: time" even when tools were actively running. Fixed the calculation to reference last action timestamp and increased the default idle timeout from 5 to 15 minutes. (#345)
14
+
8
15
  ## [3.7.18] - 2026-03-11
9
16
 
10
17
  ### Fixed
@@ -49930,8 +49930,8 @@ var DEFAULT_GOVERNANCE_FLAGS = {
49930
49930
  enabled: true,
49931
49931
  maxConsecutiveRetries: 3,
49932
49932
  reworkRatioThreshold: 0.5,
49933
- idleTimeoutMs: 5 * 60 * 1e3,
49934
- // 5 minutes
49933
+ idleTimeoutMs: 15 * 60 * 1e3,
49934
+ // 15 minutes
49935
49935
  throttleOnExceed: true
49936
49936
  },
49937
49937
  memoryWriteGate: {
@@ -50066,7 +50066,7 @@ function loadFlagsFromEnv() {
50066
50066
  enabled: env.GOVERNANCE_CONTINUE_GATE !== "false",
50067
50067
  maxConsecutiveRetries: parseInt(env.GOVERNANCE_MAX_RETRIES || "3", 10),
50068
50068
  reworkRatioThreshold: parseFloat(env.GOVERNANCE_REWORK_THRESHOLD || "0.5"),
50069
- idleTimeoutMs: parseInt(env.GOVERNANCE_IDLE_TIMEOUT || "300000", 10),
50069
+ idleTimeoutMs: parseInt(env.GOVERNANCE_IDLE_TIMEOUT || "900000", 10),
50070
50070
  throttleOnExceed: env.GOVERNANCE_THROTTLE !== "false"
50071
50071
  },
50072
50072
  memoryWriteGate: {
@@ -50390,7 +50390,7 @@ var ContinueGateIntegration = class _ContinueGateIntegration {
50390
50390
  budgetRemaining: {
50391
50391
  tokens: Math.max(0, flags.maxConsecutiveRetries * 10 * 500 - history.length * 500),
50392
50392
  toolCalls: Math.max(0, flags.maxConsecutiveRetries * 10 - history.length),
50393
- timeMs: Math.max(0, flags.idleTimeoutMs - (history.length > 0 ? Date.now() - history[0].timestamp : 0))
50393
+ timeMs: Math.max(0, flags.idleTimeoutMs - (history.length > 0 ? Date.now() - history[history.length - 1].timestamp : 0))
50394
50394
  },
50395
50395
  recentDecisions: []
50396
50396
  };
@@ -135299,7 +135299,7 @@ var ALL_DOMAINS2 = [
135299
135299
  "enterprise-integration"
135300
135300
  ];
135301
135301
  function getAQEVersion() {
135302
- return true ? "3.7.19" : "3.0.0";
135302
+ return true ? "3.7.20" : "3.0.0";
135303
135303
  }
135304
135304
  function createDefaultConfig(projectName, projectRoot) {
135305
135305
  return {
@@ -136509,7 +136509,9 @@ var AQE_COMMAND_PATTERNS = [
136509
136509
  /\baqe\b/i,
136510
136510
  /\bagentic-qe\b/i,
136511
136511
  /\bnpx\s+agentic-qe\b/i,
136512
- /\bnpx\s+@anthropics\/agentic-qe\b/i
136512
+ /\bnpx\s+@anthropics\/agentic-qe\b/i,
136513
+ /brain-checkpoint\.cjs/i,
136514
+ /\.claude\/helpers\//i
136513
136515
  ];
136514
136516
  function isAqeHookEntry(entry) {
136515
136517
  const hookEntry = entry;
@@ -166104,7 +166106,7 @@ async function cleanupAndExit(code = 0) {
166104
166106
  process.exit(code);
166105
166107
  }
166106
166108
  var program = new Command21();
166107
- var VERSION = true ? "3.7.19" : "0.0.0-dev";
166109
+ var VERSION = true ? "3.7.20" : "0.0.0-dev";
166108
166110
  program.name("aqe").description("Agentic QE - Domain-Driven Quality Engineering").version(VERSION);
166109
166111
  var registry2 = createCommandRegistry(context, cleanupAndExit, ensureInitialized, ensureInitializedStrict);
166110
166112
  registry2.registerAll(program);
@@ -153,7 +153,7 @@ export class ContinueGateIntegration {
153
153
  budgetRemaining: {
154
154
  tokens: Math.max(0, (flags.maxConsecutiveRetries * 10 * 500) - (history.length * 500)),
155
155
  toolCalls: Math.max(0, (flags.maxConsecutiveRetries * 10) - history.length),
156
- timeMs: Math.max(0, flags.idleTimeoutMs - (history.length > 0 ? Date.now() - history[0].timestamp : 0)),
156
+ timeMs: Math.max(0, flags.idleTimeoutMs - (history.length > 0 ? Date.now() - history[history.length - 1].timestamp : 0)),
157
157
  },
158
158
  recentDecisions: [],
159
159
  };
@@ -16,7 +16,7 @@ export const DEFAULT_GOVERNANCE_FLAGS = {
16
16
  enabled: true,
17
17
  maxConsecutiveRetries: 3,
18
18
  reworkRatioThreshold: 0.5,
19
- idleTimeoutMs: 5 * 60 * 1000, // 5 minutes
19
+ idleTimeoutMs: 15 * 60 * 1000, // 15 minutes
20
20
  throttleOnExceed: true,
21
21
  },
22
22
  memoryWriteGate: {
@@ -124,7 +124,7 @@ export function loadFlagsFromEnv() {
124
124
  enabled: env.GOVERNANCE_CONTINUE_GATE !== 'false',
125
125
  maxConsecutiveRetries: parseInt(env.GOVERNANCE_MAX_RETRIES || '3', 10),
126
126
  reworkRatioThreshold: parseFloat(env.GOVERNANCE_REWORK_THRESHOLD || '0.5'),
127
- idleTimeoutMs: parseInt(env.GOVERNANCE_IDLE_TIMEOUT || '300000', 10),
127
+ idleTimeoutMs: parseInt(env.GOVERNANCE_IDLE_TIMEOUT || '900000', 10),
128
128
  throttleOnExceed: env.GOVERNANCE_THROTTLE !== 'false',
129
129
  },
130
130
  memoryWriteGate: {
@@ -13,6 +13,8 @@ const AQE_COMMAND_PATTERNS = [
13
13
  /\bagentic-qe\b/i,
14
14
  /\bnpx\s+agentic-qe\b/i,
15
15
  /\bnpx\s+@anthropics\/agentic-qe\b/i,
16
+ /brain-checkpoint\.cjs/i,
17
+ /\.claude\/helpers\//i,
16
18
  ];
17
19
  /**
18
20
  * Check if a single hook entry belongs to AQE (any variant).
@@ -33406,7 +33406,7 @@ function loadFlagsFromEnv() {
33406
33406
  enabled: env.GOVERNANCE_CONTINUE_GATE !== "false",
33407
33407
  maxConsecutiveRetries: parseInt(env.GOVERNANCE_MAX_RETRIES || "3", 10),
33408
33408
  reworkRatioThreshold: parseFloat(env.GOVERNANCE_REWORK_THRESHOLD || "0.5"),
33409
- idleTimeoutMs: parseInt(env.GOVERNANCE_IDLE_TIMEOUT || "300000", 10),
33409
+ idleTimeoutMs: parseInt(env.GOVERNANCE_IDLE_TIMEOUT || "900000", 10),
33410
33410
  throttleOnExceed: env.GOVERNANCE_THROTTLE !== "false"
33411
33411
  },
33412
33412
  memoryWriteGate: {
@@ -33533,8 +33533,8 @@ var init_feature_flags = __esm({
33533
33533
  enabled: true,
33534
33534
  maxConsecutiveRetries: 3,
33535
33535
  reworkRatioThreshold: 0.5,
33536
- idleTimeoutMs: 5 * 60 * 1e3,
33537
- // 5 minutes
33536
+ idleTimeoutMs: 15 * 60 * 1e3,
33537
+ // 15 minutes
33538
33538
  throttleOnExceed: true
33539
33539
  },
33540
33540
  memoryWriteGate: {
@@ -33894,7 +33894,7 @@ var init_continue_gate_integration = __esm({
33894
33894
  budgetRemaining: {
33895
33895
  tokens: Math.max(0, flags.maxConsecutiveRetries * 10 * 500 - history.length * 500),
33896
33896
  toolCalls: Math.max(0, flags.maxConsecutiveRetries * 10 - history.length),
33897
- timeMs: Math.max(0, flags.idleTimeoutMs - (history.length > 0 ? Date.now() - history[0].timestamp : 0))
33897
+ timeMs: Math.max(0, flags.idleTimeoutMs - (history.length > 0 ? Date.now() - history[history.length - 1].timestamp : 0))
33898
33898
  },
33899
33899
  recentDecisions: []
33900
33900
  };
@@ -175214,7 +175214,7 @@ async function handleAQEHealth() {
175214
175214
  success: true,
175215
175215
  data: {
175216
175216
  status: healthStatus,
175217
- version: true ? "3.7.19" : "3.7.2",
175217
+ version: true ? "3.7.20" : "3.7.2",
175218
175218
  loadedDomains: domainCount,
175219
175219
  memory: memoryStats,
175220
175220
  hnsw: hnswStats,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "3.7.19",
3
+ "version": "3.7.20",
4
4
  "description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",