@zaip-ai/cli 1.3.1 → 1.3.2

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.
Files changed (30) hide show
  1. package/README.md +3 -2
  2. package/dist/services/runtime-template.test.js +8 -8
  3. package/package.json +1 -1
  4. package/templates/.agents/dashboard/.zaip-managed.json +16 -16
  5. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-BgVgrfhQ.js → DashboardHelpDialog-BXy6nti1.js} +28 -0
  6. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-DLn-Mz2M.js → TraceabilityWorkspace-CTH2wDs5.js} +1 -1
  7. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-CZQlsLV9.js → index-CuMcoUni.js} +2 -2
  8. package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
  9. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +84 -84
  10. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +64 -64
  11. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +87 -87
  12. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.test.ts +70 -0
  13. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.ts +74 -7
  14. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  15. package/templates/.agents/requirements/comparative-audit.md +1 -1
  16. package/templates/.agents/requirements/context-engine.md +1 -1
  17. package/templates/.agents/requirements/cost-observability.md +1 -1
  18. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  19. package/templates/.agents/requirements/data-export.md +1 -1
  20. package/templates/.agents/requirements/design-system.md +1 -1
  21. package/templates/.agents/requirements/execution-engine.md +1 -1
  22. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  23. package/templates/.agents/requirements/model-orchestration.md +1 -1
  24. package/templates/.agents/requirements/public-distribution.md +1 -1
  25. package/templates/.agents/requirements/software-architecture.md +1 -1
  26. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  27. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  28. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  29. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +15 -0
  30. package/templates/template-manifest.json +32 -32
@@ -4,6 +4,7 @@ import {
4
4
  attachOperationsWorkListDevelopers,
5
5
  operationsWorkListPayloadPage,
6
6
  operationsWorkListSql,
7
+ operationsWorkListSqlPage,
7
8
  } from "./sqlite-operations-work-list.js";
8
9
 
9
10
  function page(input: Parameters<typeof operationsWorkListSql>[0]) {
@@ -178,6 +179,75 @@ describe("operations work list SQL", () => {
178
179
  ).toHaveLength(5);
179
180
  });
180
181
 
182
+ it("uses the physical projection for export offsets when no views are available", () => {
183
+ const database = new DatabaseSync(":memory:");
184
+ database.exec(`
185
+ CREATE TABLE operations_work_projection (
186
+ entity_kind TEXT, id TEXT, title TEXT, risk TEXT, occurred_at TEXT, occurred_day_sp TEXT,
187
+ stage TEXT, spec_id TEXT, origin TEXT, kind TEXT
188
+ );
189
+ `);
190
+ const insert = database.prepare(`
191
+ INSERT INTO operations_work_projection VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
192
+ `);
193
+ for (let index = 0; index < 205; index += 1) {
194
+ insert.run(
195
+ "task",
196
+ `TASK-${String(index).padStart(3, "0")}`,
197
+ index === 4 ? "Needle task" : "Projected task",
198
+ index === 3 ? "lite" : "standard",
199
+ `2026-08-31T00:00:${String(index).padStart(3, "0")}Z`,
200
+ "2026-08-31",
201
+ index === 2 ? "executing" : "ready",
202
+ index % 2 === 0 ? "SPEC-1" : null,
203
+ index === 0 ? "prd" : null,
204
+ index % 2 === 0 ? "task" : "standalone-task",
205
+ );
206
+ }
207
+ const first = operationsWorkListSqlPage(database, { limit: 100, offset: 0 });
208
+ const second = operationsWorkListSqlPage(database, { limit: 100, offset: 100 });
209
+ const final = operationsWorkListSqlPage(database, { limit: 100, offset: 200 });
210
+ expect(first).toMatchObject({ total_count: 205, has_more: true, rows: expect.any(Array) });
211
+ expect(first.rows).toHaveLength(100);
212
+ expect(first.rows[0]).toMatchObject({ id: "TASK-204" });
213
+ expect(second).toMatchObject({ total_count: 205, has_more: true });
214
+ expect(second.rows).toHaveLength(100);
215
+ expect(final).toMatchObject({ total_count: 205, has_more: false });
216
+ expect(final.rows).toHaveLength(5);
217
+ expect(
218
+ operationsWorkListSqlPage(database, {
219
+ kind: "task",
220
+ origin: "spec",
221
+ status: "ready",
222
+ query: "TASK-004",
223
+ }).rows.map((row) => row.id),
224
+ ).toContain("TASK-004");
225
+ expect(
226
+ operationsWorkListSqlPage(database, { kind: "standalone-task", risk: "lite" }).rows,
227
+ ).toMatchObject([{ id: "TASK-003" }]);
228
+ expect(operationsWorkListSqlPage(database, { query: "needle" }).rows).toMatchObject([
229
+ { id: "TASK-004" },
230
+ ]);
231
+ database.close();
232
+ });
233
+
234
+ it("keeps the legacy view fallback when no physical projection exists", () => {
235
+ const database = new DatabaseSync(":memory:");
236
+ database.exec(`
237
+ CREATE TABLE canonical_work_items (entity_kind TEXT, id TEXT, stage TEXT, risk TEXT, spec_id TEXT, change_id TEXT, occurred_day_sp TEXT);
238
+ CREATE TABLE canonical_changes (id TEXT, source_type TEXT, task_ids_json TEXT, created_at TEXT);
239
+ CREATE TABLE operations_work_kanban (entity_kind TEXT, id TEXT, title TEXT, status TEXT, risk TEXT, occurred_at TEXT, occurred_day_sp TEXT);
240
+ INSERT INTO canonical_work_items VALUES ('task', 'TASK-LEGACY', 'ready', 'standard', NULL, NULL, '2026-08-01');
241
+ INSERT INTO operations_work_kanban VALUES ('task', 'TASK-LEGACY', 'Legacy task', 'active', 'standard', '2026-08-01T00:00:00Z', '2026-08-01');
242
+ `);
243
+ expect(operationsWorkListSqlPage(database, { limit: 10 })).toMatchObject({
244
+ total_count: 1,
245
+ has_more: false,
246
+ rows: [{ id: "TASK-LEGACY", kind: "standalone-task" }],
247
+ });
248
+ database.close();
249
+ });
250
+
181
251
  it("projects each page's factual developer identities in one period-bounded set", () => {
182
252
  const database = new DatabaseSync(":memory:");
183
253
  database.exec(`
@@ -178,13 +178,85 @@ export function operationsWorkListSql(input: OperationsWorkListQuery) {
178
178
  };
179
179
  }
180
180
 
181
+ function hasOperationsWorkProjection(database: DatabaseSync): boolean {
182
+ return (
183
+ database
184
+ .prepare(
185
+ "SELECT 1 FROM sqlite_master WHERE type='table' AND name='operations_work_projection' LIMIT 1",
186
+ )
187
+ .get() !== undefined
188
+ );
189
+ }
190
+
191
+ function operationsWorkListProjectionSql(input: OperationsWorkListQuery) {
192
+ const clauses: string[] = [];
193
+ const values: Array<string | number> = [];
194
+ if (input.from) {
195
+ clauses.push("occurred_day_sp >= ?");
196
+ values.push(input.from.slice(0, 10));
197
+ }
198
+ if (input.to) {
199
+ clauses.push("occurred_day_sp <= ?");
200
+ values.push(input.to.slice(0, 10));
201
+ }
202
+ if (input.query) {
203
+ clauses.push("(id LIKE ? OR title LIKE ?)");
204
+ values.push(`%${input.query}%`, `%${input.query}%`);
205
+ }
206
+ if (input.status) {
207
+ clauses.push("stage = ?");
208
+ values.push(input.status);
209
+ }
210
+ if (input.risk) {
211
+ clauses.push("risk = ?");
212
+ values.push(input.risk);
213
+ }
214
+ if (input.origin) {
215
+ clauses.push("entity_kind = 'task'");
216
+ const fallback =
217
+ input.origin === "spec"
218
+ ? "spec_id IS NOT NULL"
219
+ : input.origin === "task"
220
+ ? "spec_id IS NULL"
221
+ : "0";
222
+ clauses.push(`(origin = ? OR (origin IS NULL AND ${fallback}))`);
223
+ values.push(input.origin);
224
+ }
225
+ if (input.kind === "prd" || input.kind === "spec") {
226
+ clauses.push("entity_kind = ?");
227
+ values.push(input.kind);
228
+ } else if (input.kind === "all-tasks") {
229
+ clauses.push("entity_kind = 'task'");
230
+ } else if (input.kind === "task" || input.kind === "standalone-task") {
231
+ clauses.push("kind = ?");
232
+ values.push(input.kind);
233
+ }
234
+ return { where: clauses.length === 0 ? "" : ` WHERE ${clauses.join(" AND ")}`, values };
235
+ }
236
+
181
237
  export function operationsWorkListSqlPage(
182
238
  database: DatabaseSync,
183
239
  input: OperationsWorkListQuery & { offset?: number; limit?: number },
184
240
  ): OperationsWorkListPayloadPage {
185
- const page = operationsWorkListSql(input);
186
241
  const limit = Math.min(200, Math.max(1, input.limit ?? 50));
187
242
  const offset = Math.max(0, input.offset ?? 0);
243
+ if (hasOperationsWorkProjection(database)) {
244
+ const page = operationsWorkListProjectionSql(input);
245
+ const total_count = Number(
246
+ (
247
+ database
248
+ .prepare(`SELECT COUNT(*) AS count FROM operations_work_projection${page.where}`)
249
+ .get(...page.values) as { count: number }
250
+ ).count,
251
+ );
252
+ const rows = database
253
+ .prepare(
254
+ `SELECT * FROM operations_work_projection${page.where} ORDER BY occurred_at DESC, id DESC LIMIT ? OFFSET ?`,
255
+ )
256
+ .all(...page.values, limit, offset) as WorkRow[];
257
+ return { offset, limit, total_count, has_more: offset + rows.length < total_count, rows };
258
+ }
259
+ const page = operationsWorkListSql(input);
188
260
  const total_count = Number(
189
261
  (
190
262
  database
@@ -275,12 +347,7 @@ export function attachOperationsWorkListDevelopers(
275
347
 
276
348
  /** One physical expansion used only while materializing first-fold payloads. */
277
349
  export function operationsWorkListSqlRows(database: DatabaseSync): WorkRow[] {
278
- const physical = database
279
- .prepare(
280
- "SELECT 1 FROM sqlite_master WHERE type='table' AND name='operations_work_projection' LIMIT 1",
281
- )
282
- .get();
283
- if (physical !== undefined)
350
+ if (hasOperationsWorkProjection(database))
284
351
  return database
285
352
  .prepare("SELECT * FROM operations_work_projection ORDER BY occurred_at DESC, id DESC")
286
353
  .all() as WorkRow[];
@@ -6,7 +6,7 @@ title: Garantia adaptativa e execução autônoma
6
6
  status: active
7
7
  version: 3
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Garantia adaptativa e execução autônoma
@@ -6,7 +6,7 @@ title: Auditoria comparativa e plano de evolução
6
6
  status: active
7
7
  version: 1
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Auditoria comparativa e plano de evolução
@@ -6,7 +6,7 @@ title: Contexto mínimo, seguro e navegável
6
6
  status: active
7
7
  version: 8
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Context engine
@@ -6,7 +6,7 @@ title: Tokens, custos e cobertura
6
6
  status: active
7
7
  version: 10
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Cost observability
@@ -6,7 +6,7 @@ title: Inicialização e hidratação confiável do dashboard
6
6
  status: active
7
7
  version: 1
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Inicialização e hidratação confiável do dashboard
@@ -6,7 +6,7 @@ title: Exportação contextual de dados para Excel
6
6
  status: proposed
7
7
  version: 2
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Exportação contextual de dados
@@ -6,7 +6,7 @@ title: Contrato visual e catálogo executável
6
6
  status: active
7
7
  version: 3
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Design system
@@ -6,7 +6,7 @@ title: Preparação, materialização e DAG
6
6
  status: active
7
7
  version: 11
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Execution engine
@@ -6,7 +6,7 @@ title: Projeções operacionais e analíticas
6
6
  status: active
7
7
  version: 14
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Kanban and dashboard
@@ -6,7 +6,7 @@ title: Seleção automática e observável de modelo e effort
6
6
  status: active
7
7
  version: 7
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Orquestração de modelos
@@ -6,7 +6,7 @@ title: Distribuição pública e ativação
6
6
  status: active
7
7
  version: 3
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Distribuição pública e ativação
@@ -6,7 +6,7 @@ title: Layout modular e limites de código-fonte
6
6
  status: active
7
7
  version: 5
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Software architecture
@@ -6,7 +6,7 @@ title: Melhorias estratégicas de custo, qualidade e resiliência
6
6
  status: active
7
7
  version: 1
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Melhorias estratégicas de custo, qualidade e resiliência
@@ -6,7 +6,7 @@ title: Ciclo de vida do trabalho
6
6
  status: active
7
7
  version: 24
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Work lifecycle
@@ -6,7 +6,7 @@ title: Evidências, custo por Task e autonomia por SPEC
6
6
  status: active
7
7
  version: 1
8
8
  source_change: null
9
- source_release: "1.3.1"
9
+ source_release: "1.3.2"
10
10
  ---
11
11
 
12
12
  # Evidências, custo por Task e autonomia por SPEC
@@ -50,6 +50,21 @@ sincronize/audite novamente o template público. Execute gates geradores em
50
50
  checkout/worktree isolado para preservar trabalho concorrente. Gates locais,
51
51
  artefato exato, CI terminal e produção continuam sendo provas distintas.
52
52
 
53
+ ### Falhas de desempenho no dashboard
54
+
55
+ Reproduza a rota, período, filtro, offset e tamanho da página que falharam.
56
+ Separe a primeira consulta sem resultado em cache da navegação já aquecida;
57
+ uma página rápida em cache não comprova o custo de exportar páginas distintas.
58
+ Correlacione o clique com a requisição, a espera pelo servidor, o retorno e o
59
+ fechamento do arquivo. Registre a concorrência do teste e do ambiente.
60
+
61
+ Timeout não autoriza aumentar limites nem remover a matriz de performance.
62
+ Primeiro diferencie requisição ausente, cancelada, bloqueada e consulta lenta.
63
+ Uma correção de consulta deve preservar filtros, ordenação, total, IDs únicos,
64
+ offsets contíguos e exportação até `has_more=false`. Reexecute o cenário que
65
+ falhou e o gate correspondente no candidato corrigido. Se o pacote anterior
66
+ já estiver publicado, distribua a correção em nova versão imutável.
67
+
53
68
  ## Histórico e nova qualificação em 30/08/2026
54
69
 
55
70
  Snapshot bloqueado em 2026-08-30 para o candidato
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "templateVersion": "1.3.1",
4
- "minimumCliVersion": "1.3.1",
3
+ "templateVersion": "1.3.2",
4
+ "minimumCliVersion": "1.3.2",
5
5
  "source": "portable projection of ZAIP Rules, Requirements, skills, design catalog and dashboard runtime",
6
- "sourceFilesSha256": "93cbf437353deec02cf0eea8cf5d571718e370786b8374e0bce202222bc6427e",
6
+ "sourceFilesSha256": "581cdcec953907463ed6933cfe5171ba9046575413e3a2f80ed9cdb5a2823662",
7
7
  "files": [
8
8
  {
9
9
  "path": ".agents/architecture/software-architecture.md",
@@ -168,7 +168,7 @@
168
168
  },
169
169
  {
170
170
  "path": ".agents/dashboard/.zaip-managed.json",
171
- "sha256": "916a7cfcbfcfa70277e6187fd25559a5851a66bcfd09c9a09d5687c2e9930668"
171
+ "sha256": "83a9062b8a3429db422a9473bb54dacd7ea7b7839d2b2fbd8f5c4ae1d6d101ca"
172
172
  },
173
173
  {
174
174
  "path": ".agents/dashboard/apps/frontend/dist/assets/cost-monitor-DKwP1stV.js",
@@ -187,8 +187,8 @@
187
187
  "sha256": "8cc193dc078b845250b86e2eb5b406bf3a521c2582099f8a60e7b111b417d7e4"
188
188
  },
189
189
  {
190
- "path": ".agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-BgVgrfhQ.js",
191
- "sha256": "48205945e669e00aaccc5ec45d2640441bdec36fde52f9ea11451458a11eb287"
190
+ "path": ".agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-BXy6nti1.js",
191
+ "sha256": "d9c312a6e562000475fc29059da59af99470fffca73df1fb44be5b2deaf56298"
192
192
  },
193
193
  {
194
194
  "path": ".agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Je5nK-Et.css",
@@ -203,8 +203,8 @@
203
203
  "sha256": "2d1180a1ac0828c6e68a4e1d5e090e92aa32a9f999b86d7153d0262c83d62a9f"
204
204
  },
205
205
  {
206
- "path": ".agents/dashboard/apps/frontend/dist/assets/index-CZQlsLV9.js",
207
- "sha256": "a33f0056e241da5e0909506cc56c3b3f580cd1bac4e46fb03abbcb2be8527c1a"
206
+ "path": ".agents/dashboard/apps/frontend/dist/assets/index-CuMcoUni.js",
207
+ "sha256": "d3c72b2f609e92cc8ea86e26f022099e7814dd4be1f7be97a7a140ef259cc822"
208
208
  },
209
209
  {
210
210
  "path": ".agents/dashboard/apps/frontend/dist/assets/logo_novo_azul-BBx5pA2B.png",
@@ -240,8 +240,8 @@
240
240
  "sha256": "3134c9eb5bbbdb1e48e1001fe6c4b7fd32840db04d9782587f2c4f6eacc21a64"
241
241
  },
242
242
  {
243
- "path": ".agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-DLn-Mz2M.js",
244
- "sha256": "7be561858ed9f8538b996c83875f24c49974bfe9899f0c619c2082164f983ff1"
243
+ "path": ".agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-CTH2wDs5.js",
244
+ "sha256": "bc0e4e8ef20625ebb5869ac1f88ee7e15c8f49c8fca49ba2b70aa66ccac188ff"
245
245
  },
246
246
  {
247
247
  "path": ".agents/dashboard/apps/frontend/dist/assets/TraceabilityWorkspace-DvvavDLY.css",
@@ -254,7 +254,7 @@
254
254
  },
255
255
  {
256
256
  "path": ".agents/dashboard/apps/frontend/dist/index.html",
257
- "sha256": "932b520a5d494e351b83972f309154a6aeea0e5e26e6aa49a8e5aaa638c5d1e3"
257
+ "sha256": "d54d70e2ac30944a918b108d90c6311076da7a2415cdb4bb46c7436456a4ce07"
258
258
  },
259
259
  {
260
260
  "path": ".agents/dashboard/apps/frontend/dist/logo_novo_azul.png",
@@ -1918,12 +1918,12 @@
1918
1918
  },
1919
1919
  {
1920
1920
  "path": ".agents/dashboard/packages/local-runtime/dist/server.cjs",
1921
- "sha256": "45692c4e7317fa77cc6928a09f8da99d3176a65aaae78fcee987571452b69348",
1921
+ "sha256": "afa0ffec725ba10a8175525805d84077019dc916a9dfcf3b98b87b7d9db18b20",
1922
1922
  "binary": true
1923
1923
  },
1924
1924
  {
1925
1925
  "path": ".agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs",
1926
- "sha256": "9b3047e610d5bc8f60b4aac6f6d204b7aa2a2989e83e0d86810906e3f57d160f",
1926
+ "sha256": "c1f5982265d2267d039e0515b0010fd15fc5681233eb529e71fffa95156015aa",
1927
1927
  "binary": true
1928
1928
  },
1929
1929
  {
@@ -1960,7 +1960,7 @@
1960
1960
  },
1961
1961
  {
1962
1962
  "path": ".agents/dashboard/packages/local-runtime/server.mjs",
1963
- "sha256": "240676f45050bfa27f41a578ab892c2c4d810deb4406cea433c4c8e259b92beb"
1963
+ "sha256": "1572db115912d9738dcb82b7083fffedede0eaa4b63334ed73c974e3dd7fdb80"
1964
1964
  },
1965
1965
  {
1966
1966
  "path": ".agents/dashboard/packages/local-runtime/src/agent-adapter-sync.ts",
@@ -2228,12 +2228,12 @@
2228
2228
  },
2229
2229
  {
2230
2230
  "path": ".agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.test.ts",
2231
- "sha256": "7b38ebb344a9254af8508e0e6495e09916c3faa441b65f03916f01d673349005",
2231
+ "sha256": "dedafac62284c63d7afffc1936bd2d7db4c37963d3e5f247a68ff6284e89308e",
2232
2232
  "binary": true
2233
2233
  },
2234
2234
  {
2235
2235
  "path": ".agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.ts",
2236
- "sha256": "7dd1b49d4e97e084fd301a625a4417ab45008b4daa810e2da5fef0b6cd55a6d7",
2236
+ "sha256": "c390ecebfc2838427ea5a02cb491e1eb020a3683d9c32bbaeffb21f12d7a1207",
2237
2237
  "binary": true
2238
2238
  },
2239
2239
  {
@@ -2912,63 +2912,63 @@
2912
2912
  },
2913
2913
  {
2914
2914
  "path": ".agents/requirements/autonomous-assurance.md",
2915
- "sha256": "5944ba0f82ce676215829c433d72e8c1d4a5a789bc48a8f4268c1237f2277913"
2915
+ "sha256": "407316c801ccccaee8b96bacb09d92217361768a1204b9deb6716ad9dc684953"
2916
2916
  },
2917
2917
  {
2918
2918
  "path": ".agents/requirements/comparative-audit.md",
2919
- "sha256": "1f877f14a9a67f4071c9875eedc250b8f76d32f10d6572ec4f2bd6e332ec96e2"
2919
+ "sha256": "a0be080f4c0927297618a8e2023282404bb7a2a7875d871926419ced224b4577"
2920
2920
  },
2921
2921
  {
2922
2922
  "path": ".agents/requirements/context-engine.md",
2923
- "sha256": "b898f92befacd4cd94606c1c3ef098b1a307cbbf1acc17781c167236fd4b7e9e"
2923
+ "sha256": "6270f75c418c910115ad06bb7a7a6db9f92188c0c3b6ae17e1984849b9bb6c81"
2924
2924
  },
2925
2925
  {
2926
2926
  "path": ".agents/requirements/cost-observability.md",
2927
- "sha256": "3de7013d797b42cffa4bdd7c30def08ee1d9fc5fb45fab2d32b314430b5bf376"
2927
+ "sha256": "8ae7b5c5b36c6b229dc0c7ed798c727fd66bcf23816b13bd4b2cad10de0d896e"
2928
2928
  },
2929
2929
  {
2930
2930
  "path": ".agents/requirements/dashboard-launch.md",
2931
- "sha256": "764e1572be391a3674400aaeb21929ec5044e370bce8d0e779cee2f049f71c05"
2931
+ "sha256": "6ec4b8a8e99704fd8c660cd635d2ff1e75317adb2d21e6d22fd5ecd5ade22cb2"
2932
2932
  },
2933
2933
  {
2934
2934
  "path": ".agents/requirements/data-export.md",
2935
- "sha256": "e2501641c73dd292677253ad2bebfade9c2ad1f98fd6c68c465081c47a80e766"
2935
+ "sha256": "dd156dfb0be04c402d02ff9ff486d0d3d5835932c273eca604369b4b32ac7bdd"
2936
2936
  },
2937
2937
  {
2938
2938
  "path": ".agents/requirements/design-system.md",
2939
- "sha256": "0dc94dff423816ea7e637924073e561ad612c7dac5e170053e2b7fae6e1f30f7"
2939
+ "sha256": "e5e97ff55b2b21b0a3bb563dbc04f162e481a1cad8c2c0ad7e355a80c9e65edd"
2940
2940
  },
2941
2941
  {
2942
2942
  "path": ".agents/requirements/execution-engine.md",
2943
- "sha256": "2f3902b642a84d0b8de2fa06ba1854375dceec562a8e59d56015a80c6bd0ac55"
2943
+ "sha256": "59c13751ba1b84129605b9a85f61c4e6aa3035b21b3d6e0a743af35ef64f8db6"
2944
2944
  },
2945
2945
  {
2946
2946
  "path": ".agents/requirements/kanban-dashboard.md",
2947
- "sha256": "075fea61cc27b8413817d46ddbdea1f25319c1e6e5bc0179d94b701c36e306d2"
2947
+ "sha256": "e5e681e8283ece13d95f0444eadadb2c3439d65d83b36fa5a45856571b5687be"
2948
2948
  },
2949
2949
  {
2950
2950
  "path": ".agents/requirements/model-orchestration.md",
2951
- "sha256": "654b64316c64e5125e2f64c209430567a93854157c772d8db6025e5418e15120"
2951
+ "sha256": "d2da115be37908bca3ef03d32f39ffe4c1824f09674960a49640fe6835b1040a"
2952
2952
  },
2953
2953
  {
2954
2954
  "path": ".agents/requirements/public-distribution.md",
2955
- "sha256": "9e1195ff51e8c01e514851deb4784f11c981d37c65f7687e20700b798aa9802c"
2955
+ "sha256": "8232da3c51ebaf552990abe6d5d635fbeaf79fe77bbaf73909d30aeaac5b7938"
2956
2956
  },
2957
2957
  {
2958
2958
  "path": ".agents/requirements/software-architecture.md",
2959
- "sha256": "c8064a1c1efb075fe1ff2213d2024f2db1b81edb6d2a8cefd862a82382a95420"
2959
+ "sha256": "4c97bcbf3fc49b60ccb40d7d8600553056f12b2bd828402ca9aec181ad0c1624"
2960
2960
  },
2961
2961
  {
2962
2962
  "path": ".agents/requirements/strategic-improvements.md",
2963
- "sha256": "57f275778da21efaba9e895f67d9df2b1358acacc47542688138f12834c5db23"
2963
+ "sha256": "98accb08563aaddcf0703f23db333c09917550186e63596964182096265a1f22"
2964
2964
  },
2965
2965
  {
2966
2966
  "path": ".agents/requirements/work-lifecycle.md",
2967
- "sha256": "e5f8fa1bad360c75ef3408ccd4c49275979ae7f4ec4e8a8a4cb794c140c72d1f"
2967
+ "sha256": "4439cad412bb4b72da12f633e3a7c6946fd90b85d6284b16b44b8c5543b579a4"
2968
2968
  },
2969
2969
  {
2970
2970
  "path": ".agents/requirements/zaip-strategic-95.md",
2971
- "sha256": "75e1e09f52a83ebf42d1888ba75482eac9fa07f6ecf47bc17a869c8c5f42c8ef"
2971
+ "sha256": "5bd7111402e4b347790679a4215490af350d89bdae8ab12d88c4bb1e87c55289"
2972
2972
  },
2973
2973
  {
2974
2974
  "path": ".agents/rules/architecture.md",
@@ -4348,7 +4348,7 @@
4348
4348
  },
4349
4349
  {
4350
4350
  "path": ".agents/zaip-aios/guides/26-qualidade-e-release.md",
4351
- "sha256": "2e962cfeb75a41ad9cf579b7140466bc0af3585a222d20f25b77b107aceb1573"
4351
+ "sha256": "4caac76e977c70db026b89916eb2a6c65ca194e0ae8b2e5d1900a70208e5d5e9"
4352
4352
  },
4353
4353
  {
4354
4354
  "path": ".agents/zaip-aios/guides/27-telemetria-git-native.md",