@zaip-ai/cli 3.0.0 → 3.1.0

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 (72) hide show
  1. package/dist/services/adapters.d.ts +1 -1
  2. package/dist/services/adapters.js +1 -1
  3. package/package.json +1 -1
  4. package/templates/.agents/README-ENG.md +5 -1
  5. package/templates/.agents/README.md +5 -1
  6. package/templates/.agents/config/agents/discovery.json +1 -1
  7. package/templates/.agents/dashboard/.zaip-managed.json +61 -37
  8. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-TnrL1ZyZ.js → DashboardHelpDialog-DIWDmvAS.js} +26 -11
  9. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-DjQpBqGU.js → PricingSettingsDialog-BBRBKaHa.js} +1 -1
  10. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-BQZXUnQu.js → TraceabilityWorkspace-C9dDhj34.js} +1 -1
  11. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-Basaw1NR.js → dashboard-localization-CoAVMZN6.js} +5 -1
  12. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-BQe3zTvL.js → index-BVzw_Wux.js} +2 -2
  13. package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
  14. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  15. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  16. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  17. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  18. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  19. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  20. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  21. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +182 -160
  22. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +174 -152
  23. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  24. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +182 -160
  25. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-calendar.ts +17 -0
  26. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cold-parse.test.ts +78 -0
  27. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-group-projection.test.ts +94 -0
  28. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-group-projection.ts +5 -5
  29. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-duration-lookup.test.ts +59 -0
  30. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-entity-label-views.test.ts +72 -0
  31. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-runs.ts +3 -4
  32. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-entity-group.test.ts +171 -0
  33. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-entity-group.ts +36 -16
  34. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-canonical-parsing.ts +7 -0
  35. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-canonical.ts +5 -15
  36. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-keeps-orphan-telemetry-out-kanban-without.test.ts +1 -1
  37. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +2 -0
  38. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-schema.ts +3 -2
  39. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +1 -1
  40. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-base-views.ts +22 -14
  41. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  42. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  43. package/templates/.agents/design/.zaip-managed.json +3 -3
  44. package/templates/.agents/design/apps/catalog/package.json +1 -1
  45. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  46. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  47. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  48. package/templates/.agents/requirements/comparative-audit.md +1 -1
  49. package/templates/.agents/requirements/context-engine.md +1 -1
  50. package/templates/.agents/requirements/cost-observability.md +1 -1
  51. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  52. package/templates/.agents/requirements/data-export.md +1 -1
  53. package/templates/.agents/requirements/design-system.md +1 -1
  54. package/templates/.agents/requirements/execution-engine.md +1 -1
  55. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  56. package/templates/.agents/requirements/model-orchestration.md +1 -1
  57. package/templates/.agents/requirements/public-distribution.md +1 -1
  58. package/templates/.agents/requirements/software-architecture.md +1 -1
  59. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  60. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  61. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  62. package/templates/.agents/runtime/VERSION +1 -1
  63. package/templates/.agents/runtime/bin/zaip.mjs +5 -5
  64. package/templates/.agents/runtime/checksums.sha256 +5 -5
  65. package/templates/.agents/runtime/manifest.json +1 -1
  66. package/templates/.agents/runtime/provenance.json +4 -4
  67. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  68. package/templates/.agents/skills/zaip-skill-github-deploy/references/release-identity.md +17 -12
  69. package/templates/.agents/zaip-aios/README.md +4 -3
  70. package/templates/.agents/zaip-aios/VERSION +1 -1
  71. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +20 -9
  72. package/templates/template-manifest.json +97 -73
@@ -1,5 +1,5 @@
1
1
  import { type PublicAgentCatalog } from "./agent-adapters.js";
2
- export declare const ADAPTERS_VERSION = "3.0.0";
2
+ export declare const ADAPTERS_VERSION = "3.1.0";
3
3
  export interface AdapterFile {
4
4
  path: string;
5
5
  content: string;
@@ -6,7 +6,7 @@ import { codexAgentConfig, parsePublicAgentCatalog, publicAgentAdapterFiles, } f
6
6
  import { formatAgentDiscovery, serializeAgentDiscovery } from "./agent-discovery.js";
7
7
  import { CODEX_GITHUB_DEPLOY_RULES, CODEX_SECURITY_RULES } from "./codex-rules.js";
8
8
  import { applyTransactionalWrites, assertSafeDestination } from "./transactional-files.js";
9
- export const ADAPTERS_VERSION = "3.0.0";
9
+ export const ADAPTERS_VERSION = "3.1.0";
10
10
  const ROOT_GUIDANCE = `# ZAIP-AIOS
11
11
 
12
12
  Read \`.agents/config/project.yaml\` first. Apply ZAIP only for literal boolean \`zaip.enabled: true\`, except framework maintenance or \`zaip enable\`. \`AGENTS.md\` is a bootstrap; canonical guidance lives in \`.agents/\`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/cli",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "CLI oficial para instalar e configurar o ZAIP-AIOS em qualquer repositório",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -355,6 +355,10 @@ indicators that exclude drafts.
355
355
 
356
356
  ## Quality and evidence
357
357
 
358
+ The [v3 delivery matrix](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v3-delivery-status.md) distinguishes
359
+ implemented improvements, candidate evidence and superseded historical work.
360
+ Publication does not prove savings or retroactively approve the old benchmark.
361
+
358
362
  Quality is part of the definition of done. Each delivery combines tests, review, and checks proportionate to its risk, with objective proof of Acceptance Criteria. Evidence connects approved validations to the Task, Change, Execution, Run, Acceptance Criteria, and candidate. The [review guide](zaip-aios/guides/07-revisao-e-validacao.md) explains how to record the procedure actually executed and its result.
359
363
 
360
364
  The current contract adds `confirmed`, `limited`, `pending`, `failed`, and `not_applicable` observations without replacing Validation/Evidence V2. The CLI validates structure and links; it does not run the declared command, inspect images, or query services automatically. Technical proof is not equivalent to visual proof, real integration, or production proof. Isolated or pending observations do not approve a delivery.
@@ -722,7 +726,7 @@ pnpm build
722
726
 
723
727
  Before integrating a relevant change or preparing a release, `pnpm verify` runs the complete repository pipeline, including additional tool, contract, generation, workspace, runtime-parity, and release-test gates. This pipeline only validates the lock; if a managed file was intentionally changed, run sync first. Use the pnpm version fixed in `packageManager` (`corepack pnpm` when available). For a bounded change, choose checks appropriate to its risk and diff; the list does not require repeating every test for each documentation edit. Release qualification uses the complete gates in [guide 26](zaip-aios/guides/26-qualidade-e-release.md) on the exact candidate. Do not conflate `validate:github:prepared`, local execution, push, and a green terminal CI.
724
728
 
725
- This checkout's manifests identify candidate `3.0.0` (product `3.0`). Candidate identity does not mean `latest` has been published or certify production. Release requires the exact revision, terminal CI, TGZ integrity, and a real artifact installation. Attempts and limitations remain in the Change evidence; local results and publication are distinct states.
729
+ This checkout's manifests identify candidate `3.1.0` (product `3.1`). Candidate identity does not mean `latest` has been published or certify production. Release requires the exact revision, terminal CI, TGZ integrity, and a real artifact installation. Attempts and limitations remain in the Change evidence; local results and publication are distinct states.
726
730
 
727
731
  The detailed architecture is summarized in this README's [Application architecture](#application-architecture) section.
728
732
 
@@ -376,6 +376,10 @@ trabalho, fora do Kanban executável e dos indicadores operacionais sem rascunho
376
376
 
377
377
  ## Qualidade e evidências
378
378
 
379
+ A [matriz de entrega da linha v3](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v3-delivery-status.md) distingue
380
+ melhorias implementadas, provas do candidato e tarefas históricas substituídas.
381
+ Publicação não comprova economia nem conclui retroativamente o benchmark antigo.
382
+
379
383
  Qualidade faz parte da definição de pronto. Cada entrega combina testes, revisão e checks proporcionais ao seu risco, com comprovação objetiva dos Critérios de Aceite.
380
384
 
381
385
  As Evidence conectam validações aprovadas à Task, Change, Execution, Run, Critérios de Aceite e candidato. O [guia de revisão](zaip-aios/guides/07-revisao-e-validacao.md) explica como registrar o procedimento realmente executado e seu resultado.
@@ -757,7 +761,7 @@ Antes de integrar uma mudança relevante ou preparar um release, `pnpm verify` e
757
761
 
758
762
  Use a versão de pnpm fixada em `packageManager` (`corepack pnpm` quando disponível). Para uma alteração delimitada, selecione os checks pertinentes ao risco e ao diff; a lista acima não exige repetir todos os testes a cada edição documental. Qualificação de release usa os gates completos do [guia 26](zaip-aios/guides/26-qualidade-e-release.md) no candidato exato. Não confunda `validate:github:prepared`, execução local, push e CI terminal verde.
759
763
 
760
- Os manifests deste checkout registram o candidato `3.0.0` (produto `3.0`). A identificação do candidato não significa que o `latest` já foi publicado nem certifica produção. A release exige revisão exata, CI terminal, integridade do TGZ e instalação real do artefato. Tentativas e limitações ficam nas evidências da Change; resultados locais e publicação são estados distintos.
764
+ Os manifests deste checkout registram o candidato `3.1.0` (produto `3.1`). A identificação do candidato não significa que o `latest` já foi publicado nem certifica produção. A release exige revisão exata, CI terminal, integridade do TGZ e instalação real do artefato. Tentativas e limitações ficam nas evidências da Change; resultados locais e publicação são estados distintos.
761
765
 
762
766
  A arquitetura detalhada está resumida na seção [Arquitetura das aplicações](#arquitetura-das-aplicações) deste README.
763
767
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "_zaip_managed": "zaip-managed generated-do-not-edit source=agent-discovery version=3.0.0 sha256=a44942a0f46acb69ef70da671c8a2eb1cae985abf30fa7dcad59cab4bfbd1034",
2
+ "_zaip_managed": "zaip-managed generated-do-not-edit source=agent-discovery version=3.1.0 sha256=a44942a0f46acb69ef70da671c8a2eb1cae985abf30fa7dcad59cab4bfbd1034",
3
3
  "schema_version": 1,
4
4
  "source": {
5
5
  "path": ".agents/config/agents/catalog.yaml",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "files": [
5
5
  {
6
6
  "path": "DATA-DICTIONARY.md",
@@ -15,16 +15,16 @@
15
15
  "sha256": "3f4fc781faa21265aef25968176a9c2177749bea7108aeb4d3b2dc1ffca6ad43"
16
16
  },
17
17
  {
18
- "path": "apps/frontend/dist/assets/DashboardHelpDialog-Je5nK-Et.css",
19
- "sha256": "aafa708825ff8417d2de8ce9f45b94c899aa9ae5c5068bf5ce4def13e9c00643"
18
+ "path": "apps/frontend/dist/assets/DashboardHelpDialog-DIWDmvAS.js",
19
+ "sha256": "25ee6f081645e6ae46153ccb5795babd6cf53a7ef96474910a1fbf6e096bdd4c"
20
20
  },
21
21
  {
22
- "path": "apps/frontend/dist/assets/DashboardHelpDialog-TnrL1ZyZ.js",
23
- "sha256": "322676a006e5186a18b9974750e488ad6bce1d2d85ae6f640dcd32db6e8c5af8"
22
+ "path": "apps/frontend/dist/assets/DashboardHelpDialog-Je5nK-Et.css",
23
+ "sha256": "aafa708825ff8417d2de8ce9f45b94c899aa9ae5c5068bf5ce4def13e9c00643"
24
24
  },
25
25
  {
26
- "path": "apps/frontend/dist/assets/PricingSettingsDialog-DjQpBqGU.js",
27
- "sha256": "9b425e56fe8309acd40084e5e4043dab581ac029bdf68192426d0d3731cd4d7e"
26
+ "path": "apps/frontend/dist/assets/PricingSettingsDialog-BBRBKaHa.js",
27
+ "sha256": "fbd655650e3a8bbd65d4bd5391f880646a2e5f4033c2710bddb9cf9e3746ab31"
28
28
  },
29
29
  {
30
30
  "path": "apps/frontend/dist/assets/ProjectSettingsPage-B9GWkEyN.css",
@@ -35,8 +35,8 @@
35
35
  "sha256": "8b25f800f359b01362660c53aacddd93132314bfcb2e44ee63bffc98a1bea2d0"
36
36
  },
37
37
  {
38
- "path": "apps/frontend/dist/assets/TraceabilityWorkspace-BQZXUnQu.js",
39
- "sha256": "17167537ce118295cccb94f0bf4cb28fe84a357c963e61e9be1012515c0cd95f"
38
+ "path": "apps/frontend/dist/assets/TraceabilityWorkspace-C9dDhj34.js",
39
+ "sha256": "1906e1e29b756d1edef5683028b408f9129a1626cfbaa09528db9496c25ff85f"
40
40
  },
41
41
  {
42
42
  "path": "apps/frontend/dist/assets/TraceabilityWorkspace-DvvavDLY.css",
@@ -51,16 +51,16 @@
51
51
  "sha256": "158f796dfd3df65cf5bbddcafc1c2c62f4ad01b3df85674136a546640c284901"
52
52
  },
53
53
  {
54
- "path": "apps/frontend/dist/assets/dashboard-localization-Basaw1NR.js",
55
- "sha256": "5becbb6d712a1893e8e4086c78c26f5a606731f68cfd16ed2ffb5429d4f380a7"
54
+ "path": "apps/frontend/dist/assets/dashboard-localization-CoAVMZN6.js",
55
+ "sha256": "80e2218061595d8262fe2947214cb0b517351a84471281a89a2c8480fe070c8d"
56
56
  },
57
57
  {
58
58
  "path": "apps/frontend/dist/assets/icons-vendor-DEmo6Tn2.js",
59
59
  "sha256": "d9f5e923effa1a49d9d1856747b39f9606a098f292ec0a64ca9b91531d3118a0"
60
60
  },
61
61
  {
62
- "path": "apps/frontend/dist/assets/index-BQe3zTvL.js",
63
- "sha256": "3a6184f2e9ba3a6da6113fa9866e9349bb6ea3ae1edd26a452e642fe3a35afe4"
62
+ "path": "apps/frontend/dist/assets/index-BVzw_Wux.js",
63
+ "sha256": "54378872be9cc1286afa9fd9e1fa2f1d72d117a1f31e6d88eecfb66d252e6851"
64
64
  },
65
65
  {
66
66
  "path": "apps/frontend/dist/assets/index-Cmlx8OYH.css",
@@ -92,7 +92,7 @@
92
92
  },
93
93
  {
94
94
  "path": "apps/frontend/dist/index.html",
95
- "sha256": "fb6bd884d9fb594ea77ca2fafd943ec61350d34a0ab4a7b4db5bad8d164fead3"
95
+ "sha256": "fd92ab8eb43435cb9729c099c05249f3ce38061ce5d13c945a580a4387895114"
96
96
  },
97
97
  {
98
98
  "path": "apps/frontend/dist/logo_novo_azul.png",
@@ -104,7 +104,7 @@
104
104
  },
105
105
  {
106
106
  "path": "apps/frontend/package.json",
107
- "sha256": "4e2ef258ea7c6de221e3690aa52cd1df60e508b798a6afd78f0fda2c68eded1d"
107
+ "sha256": "760ed6b8e363479454c60d98a36e972763c2269ed341e85a001728daf16e7976"
108
108
  },
109
109
  {
110
110
  "path": "apps/frontend/playwright.dom.config.ts",
@@ -524,7 +524,7 @@
524
524
  },
525
525
  {
526
526
  "path": "modules/cost-monitor/package.json",
527
- "sha256": "2b741addc003419541a70a9381b1933c782468ee571a8f24b504608278152cd0"
527
+ "sha256": "123b7ade021f0402e9cc195ec70eecfc655bda082af32b2c284d8056bc63aee8"
528
528
  },
529
529
  {
530
530
  "path": "modules/cost-monitor/src/agent-groups.test.ts",
@@ -892,7 +892,7 @@
892
892
  },
893
893
  {
894
894
  "path": "modules/operations/package.json",
895
- "sha256": "00408130c19ea8396a66b287d19974d540e5b548fc3a08c639779105573d21e7"
895
+ "sha256": "e6de6df73548f07e58ae046ab9fac7d6bd65274d4061d7106b8b9b087e69234d"
896
896
  },
897
897
  {
898
898
  "path": "modules/operations/src/contracts.ts",
@@ -1544,7 +1544,7 @@
1544
1544
  },
1545
1545
  {
1546
1546
  "path": "modules/traceability/package.json",
1547
- "sha256": "2b6e7565b0e9ec642741f0965e708dcb41ea9b88cb3e01f7c311ef1228121cac"
1547
+ "sha256": "55d4abeb5bedf99056e551de85b5180670b2177a331453be314bc1f7b8ec3434"
1548
1548
  },
1549
1549
  {
1550
1550
  "path": "modules/traceability/src/contracts.ts",
@@ -1616,7 +1616,7 @@
1616
1616
  },
1617
1617
  {
1618
1618
  "path": "packages/branding/package.json",
1619
- "sha256": "2d7d3b54d70d230cb2a75d3e9c0b504f383d66c6c6103832d99f62663d467e84"
1619
+ "sha256": "da96feffe33880186526930eb777a44254375b71c81278a5e34b312ccbe78cbe"
1620
1620
  },
1621
1621
  {
1622
1622
  "path": "packages/branding/src/index.ts",
@@ -1628,7 +1628,7 @@
1628
1628
  },
1629
1629
  {
1630
1630
  "path": "packages/contracts/package.json",
1631
- "sha256": "85aa4362c5503bef637e379b53d861bc2bd7f8698449e20c150558e3433f20ad"
1631
+ "sha256": "9fe4950036f24ebcff18d524ca3488f7b398262525708dfa4aa114ddbd77c5d7"
1632
1632
  },
1633
1633
  {
1634
1634
  "path": "packages/contracts/src/export.ts",
@@ -1648,7 +1648,7 @@
1648
1648
  },
1649
1649
  {
1650
1650
  "path": "packages/data-export/package.json",
1651
- "sha256": "5257dccadc3582bb22732cdae13c797d5cb1b44ffb11afadd9f83052e3e8833c"
1651
+ "sha256": "98bcc4776a4fbbb017bcc7a9d60416fe019c1f353ea8d6708cf8654819a4ea08"
1652
1652
  },
1653
1653
  {
1654
1654
  "path": "packages/data-export/src/index.test.ts",
@@ -1672,15 +1672,15 @@
1672
1672
  },
1673
1673
  {
1674
1674
  "path": "packages/local-runtime/dist/server.cjs",
1675
- "sha256": "ef91f0689a81355a00bb52d6a54cf1b71e552966d9f1f05ca0685db46d50dbf8"
1675
+ "sha256": "4f0833ead303c6e8624e832b89f66f32b43310a98a71b72b074d9d8a0f383d0e"
1676
1676
  },
1677
1677
  {
1678
1678
  "path": "packages/local-runtime/dist/sqlite-read-model.cjs",
1679
- "sha256": "427438e0caef5ff8cf44052e01fdef797d9e2d6e489b92021fc347d66ef85e1c"
1679
+ "sha256": "81d95603efc97c81056bfb0224a0060b5917016331ddc2ddde5a9a62d072bf4d"
1680
1680
  },
1681
1681
  {
1682
1682
  "path": "packages/local-runtime/package.json",
1683
- "sha256": "c056880d49bc168bee49e47801c6265d1f975224da0c0b8fae4784573109b3d2"
1683
+ "sha256": "9ff6e2359301c4799a9defb2fd7f48d001fecf624d261215326adaf3387772f8"
1684
1684
  },
1685
1685
  {
1686
1686
  "path": "packages/local-runtime/scripts/build-sqlite-dashboard.mjs",
@@ -1716,7 +1716,7 @@
1716
1716
  },
1717
1717
  {
1718
1718
  "path": "packages/local-runtime/server.mjs",
1719
- "sha256": "a14377e0c316bfd80b6e2fe35c65837f64bf3ca2b759e1f3e0cbeeec16bfc906"
1719
+ "sha256": "d9d8efc5c5de005ac82a170bebd4fba7ca000220d88ea3e6489a100979396b5a"
1720
1720
  },
1721
1721
  {
1722
1722
  "path": "packages/local-runtime/src/active-codex-telemetry.ts",
@@ -1990,6 +1990,14 @@
1990
1990
  "path": "packages/local-runtime/src/sqlite-artifact-counts.ts",
1991
1991
  "sha256": "d3848793a5ea15c111bdffee145567d9fe228d1ba4e05ac1bf1235b1a04230b5"
1992
1992
  },
1993
+ {
1994
+ "path": "packages/local-runtime/src/sqlite-calendar.ts",
1995
+ "sha256": "51e94898a6d880540206be783bb58b5e769c6201dd59d022ad8c2f1ff2e084a8"
1996
+ },
1997
+ {
1998
+ "path": "packages/local-runtime/src/sqlite-cold-parse.test.ts",
1999
+ "sha256": "11038387fee61799588eab9e1ba653e7491a08bde923fea3c9780374ffd9bee7"
2000
+ },
1993
2001
  {
1994
2002
  "path": "packages/local-runtime/src/sqlite-cost-agent-page.test.ts",
1995
2003
  "sha256": "dc08d1d3910fab570ceb3b4bffecd8242238275db66ee7e18d350bb742aef597"
@@ -2022,9 +2030,13 @@
2022
2030
  "path": "packages/local-runtime/src/sqlite-cost-group-page.ts",
2023
2031
  "sha256": "5a47bc2de937a1fc6c25e734ace484089db659b8821ace8846b3f71208a90698"
2024
2032
  },
2033
+ {
2034
+ "path": "packages/local-runtime/src/sqlite-cost-group-projection.test.ts",
2035
+ "sha256": "2e2565ac2ab31571bc6ec3f8c40d4c4eb5ffcbd7b0c027571078352c94673fc2"
2036
+ },
2025
2037
  {
2026
2038
  "path": "packages/local-runtime/src/sqlite-cost-group-projection.ts",
2027
- "sha256": "4ce520e135dfd6bd288b851f6492d70ff8914aeaa521108386ad614c890e2ea9"
2039
+ "sha256": "525069fa2f244c845a28627814727e87253308f8db3a7352cf7745f04b78cd1f"
2028
2040
  },
2029
2041
  {
2030
2042
  "path": "packages/local-runtime/src/sqlite-cost-invocation-page.test.ts",
@@ -2038,6 +2050,14 @@
2038
2050
  "path": "packages/local-runtime/src/sqlite-cost-invocation-projection.ts",
2039
2051
  "sha256": "0b1c2ee187bd7325e9dddad5327cb78b7961c5de98d9370bc5b163a23935e087"
2040
2052
  },
2053
+ {
2054
+ "path": "packages/local-runtime/src/sqlite-duration-lookup.test.ts",
2055
+ "sha256": "98e294c130b3917605ed3558bb353ce9567e441c00d6c523992a2338c658da60"
2056
+ },
2057
+ {
2058
+ "path": "packages/local-runtime/src/sqlite-entity-label-views.test.ts",
2059
+ "sha256": "06336df48d1cb6a79822acc9308e07aac17957e375702aa1e792929e7b18b2cb"
2060
+ },
2041
2061
  {
2042
2062
  "path": "packages/local-runtime/src/sqlite-file-index.test.ts",
2043
2063
  "sha256": "1844385ffe7094c9aa3c8159f24e8e10f5612354f4245bf1d528e2384c9f3662"
@@ -2080,7 +2100,7 @@
2080
2100
  },
2081
2101
  {
2082
2102
  "path": "packages/local-runtime/src/sqlite-materialize-runs.ts",
2083
- "sha256": "aac0bf8d6546b208d1cbe7129705e12fefccf75f4474d47f359e524b4062d238"
2103
+ "sha256": "6077a82fb259ba4211687ced44876127833ac1173d314f0803b6d7e7e735ef1f"
2084
2104
  },
2085
2105
  {
2086
2106
  "path": "packages/local-runtime/src/sqlite-metric-contract.test.ts",
@@ -2118,9 +2138,13 @@
2118
2138
  "path": "packages/local-runtime/src/sqlite-query-context.ts",
2119
2139
  "sha256": "3107a9a78277cd0a9d4c672055baa0aa9dfe09a0be58bb85f47592ebc1d3803d"
2120
2140
  },
2141
+ {
2142
+ "path": "packages/local-runtime/src/sqlite-query-entity-group.test.ts",
2143
+ "sha256": "f9a651cff11bd58877df2fe71e1168e1f3b70eab25709e100a2e3c4395a999ec"
2144
+ },
2121
2145
  {
2122
2146
  "path": "packages/local-runtime/src/sqlite-query-entity-group.ts",
2123
- "sha256": "7299ac4e8e6d04c7c1f2d6362fb54cf55bdf7108d4eee78d5dac6a76d7a18271"
2147
+ "sha256": "b2228fdc36e4ef609f59e6824f7884fd0b4678e6c777d108352a01f93967d365"
2124
2148
  },
2125
2149
  {
2126
2150
  "path": "packages/local-runtime/src/sqlite-query-filtered-dimension.ts",
@@ -2160,11 +2184,11 @@
2160
2184
  },
2161
2185
  {
2162
2186
  "path": "packages/local-runtime/src/sqlite-read-model-canonical-parsing.ts",
2163
- "sha256": "c65eb3ff52070cb52c71e3887e13ad3c0c42620a1a4380e9e333492f43da36ab"
2187
+ "sha256": "d723f12290cda7fa7d7d20e4e8cd3817984c36c2e07e010d244c946751021986"
2164
2188
  },
2165
2189
  {
2166
2190
  "path": "packages/local-runtime/src/sqlite-read-model-canonical.ts",
2167
- "sha256": "12b9a6e464e167177fe1cc2382e657bd525c3d170fc090ad6ff6b25e9a476d3c"
2191
+ "sha256": "ab83b9595d91f57c24bc5871488531de6d0846d0c89908695980f81fd20eca58"
2168
2192
  },
2169
2193
  {
2170
2194
  "path": "packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts",
@@ -2184,7 +2208,7 @@
2184
2208
  },
2185
2209
  {
2186
2210
  "path": "packages/local-runtime/src/sqlite-read-model-keeps-orphan-telemetry-out-kanban-without.test.ts",
2187
- "sha256": "e5e2743281866223a380abda5f1ac08c8f3e8159d41bbf05f81fb2e65974eba8"
2211
+ "sha256": "d84e1f629c678c6ed045327fc7c20ac4aaccf303708f0bc656ce373e335c759d"
2188
2212
  },
2189
2213
  {
2190
2214
  "path": "packages/local-runtime/src/sqlite-read-model-launch-progress.ts",
@@ -2208,7 +2232,7 @@
2208
2232
  },
2209
2233
  {
2210
2234
  "path": "packages/local-runtime/src/sqlite-read-model-rebuild.ts",
2211
- "sha256": "9b300847e09435846a4b6bab1e7ddfc6bd5e9b8469df4f3bc599594c22be07ad"
2235
+ "sha256": "27b67f3e7923da48d2f9832a5e88a85776bfa9a77b49ff45a8dbdf12d6a2abfa"
2212
2236
  },
2213
2237
  {
2214
2238
  "path": "packages/local-runtime/src/sqlite-read-model-rebuilds-disposable-snapshot-serves-zaip-records.test.ts",
@@ -2216,7 +2240,7 @@
2216
2240
  },
2217
2241
  {
2218
2242
  "path": "packages/local-runtime/src/sqlite-read-model-schema.ts",
2219
- "sha256": "8e7fddc67eae853d8e74f404eac6f1ea76b722d7726fef01557e78610be26ca5"
2243
+ "sha256": "bb94304b310285ed500872d1bb3742197a83681b6fc2489da1b9d95f44f45219"
2220
2244
  },
2221
2245
  {
2222
2246
  "path": "packages/local-runtime/src/sqlite-read-model-source-fingerprint.test.ts",
@@ -2232,7 +2256,7 @@
2232
2256
  },
2233
2257
  {
2234
2258
  "path": "packages/local-runtime/src/sqlite-read-model.test.ts",
2235
- "sha256": "98ae0ba22adfeb6d12920f1b33e52642ae9d67c70038f853ddbc8a6bdda6af65"
2259
+ "sha256": "aa0ec4396c007d5ee60fbb97ea2a20e471abd8aca5a0f064df369dc179469cd8"
2236
2260
  },
2237
2261
  {
2238
2262
  "path": "packages/local-runtime/src/sqlite-read-model.ts",
@@ -2244,7 +2268,7 @@
2244
2268
  },
2245
2269
  {
2246
2270
  "path": "packages/local-runtime/src/sqlite-schema-base-views.ts",
2247
- "sha256": "6e85e008098125deabaeee529783b402470cba535be28b3256d612ca32d582fb"
2271
+ "sha256": "d106f3a5ccdb54c32622d04912f30e3137d125b61c7f86d6e585eb76ec44aba7"
2248
2272
  },
2249
2273
  {
2250
2274
  "path": "packages/local-runtime/src/sqlite-schema-dashboard-views.ts",
@@ -2364,7 +2388,7 @@
2364
2388
  },
2365
2389
  {
2366
2390
  "path": "packages/ui/package.json",
2367
- "sha256": "91dfc651d17be8067bbe2db1a57bf188c8e03d8a4c3580b7219552d1cd8822a5"
2391
+ "sha256": "926db2d58db454127068cc6eb7c00726649bdc2cbe621637b43fccedd92d9c7b"
2368
2392
  },
2369
2393
  {
2370
2394
  "path": "packages/ui/src/DashboardHeader.test.mjs",
@@ -2468,7 +2492,7 @@
2468
2492
  },
2469
2493
  {
2470
2494
  "path": "tests/e2e/package.json",
2471
- "sha256": "56ab5b978fcafe81879690ef5e093d5abcdfcf059428c0b17cc7327aa665d263"
2495
+ "sha256": "3cf098e3df2fa4393ff41d95a60d5120f19d2cf58c1407b2a20eaea2b0efeb9f"
2472
2496
  },
2473
2497
  {
2474
2498
  "path": "tests/e2e/playwright.config.ts",
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-06__WZco.js";import{t as r}from"./dashboard-localization-Basaw1NR.js";var i=`# Primeiros passos
1
+ import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-06__WZco.js";import{t as r}from"./dashboard-localization-CoAVMZN6.js";var i=`# Primeiros passos
2
2
 
3
3
  1. Leia \`.agents/config/project.yaml\` e \`.agents/rules/core.md\`.
4
4
  2. Consulte \`.agents/records/lifecycle/\` para descobrir o estado atual pelos manifests canônicos.
@@ -1816,13 +1816,19 @@ Testes passando comprovam validação técnica. Maturidade formal máxima exige
1816
1816
 
1817
1817
  Ausência de uma dessas provas permanece explícita; não é convertida em sucesso.
1818
1818
 
1819
- ## Novidades da v3 e qualificação pendente
1819
+ ## Linha v3: implementação, qualificação e publicação
1820
1820
 
1821
- As fontes em preparação incluem presets, diário durável por Task, replanejamento
1822
- governado, relay de decisão Gui e configuração no Dashboard. Os manifests
1823
- continuam em 2.6.0; este guia não promove versão nem certifica produção.
1821
+ A v3.0 foi publicada como \`@zaip-ai/cli@3.0.0\`, no commit
1822
+ \`ffc6c13867ec703211b7bba90c26b10a105c19fb\`. Presets, diário durável por Task,
1823
+ replanejamento governado, relay da decisão Gui e configuração no Dashboard estão
1824
+ implementados. A publicação possui qualificação local do candidato; não equivale
1825
+ a certificar todo workload de produção nem a concluir o PRD histórico.
1824
1826
 
1825
- Para qualificar essas novidades, preserve um candidato único e comprove:
1827
+ Consulte a [matriz de implementação e prova](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v3-delivery-status.md).
1828
+ A versão atual vem dos manifests e de \`.agents/zaip-aios/VERSION\`; cada manutenção
1829
+ gera novo candidato e recibo, sem reutilizar aprovação ou mover a tag anterior.
1830
+
1831
+ Para qualificar uma nova candidata dessa linha, preserve um SHA único e comprove:
1826
1832
 
1827
1833
  - Essencial 4/1 sem Astra automático, Equilibrado 10/3 e Persistente sem teto;
1828
1834
  - reservas antes do provider, replay/restart sem reset e resultado desconhecido
@@ -1843,10 +1849,15 @@ altera silenciosamente matrizes de CI publicadas. Relatórios de candidatos
1843
1849
  anteriores, testes simulados de modelos e evidência local não certificam
1844
1850
  o candidato final nem seu uso em produção.
1845
1851
 
1846
- O [guia 19](19-assurance-e-autonomia.md) registra duas fronteiras ainda
1847
- importantes: controle preventivo só no despacho gerenciado e compatibilidade
1848
- do trabalho avulso direto com a barreira de executor capturado. Uma revisão
1849
- documental não resolve esses limites por declaração.
1852
+ O [guia 19](19-assurance-e-autonomia.md) registra as fronteiras atuais: controle
1853
+ preventivo de cotas/modelos somente no despacho gerenciado; avulsa direta exige
1854
+ autorização explícita desde a captura e identidade observada, sem executor
1855
+ cerimonial. Revisão aplicável, Evidence e Gui continuam obrigatórios.
1856
+
1857
+ O benchmark comparativo histórico T08 permanece sem aprovação. Otimizações
1858
+ com testes de correção e uma release publicada não comprovam economia ou SLA.
1859
+ Não repita automaticamente a matriz histórica falha: preserve o diagnóstico e
1860
+ defina uma medição independente com artefatos identificados e falhas observadas.
1850
1861
  `,A=`# Telemetria Git-native do Codex
1851
1862
 
1852
1863
  Este documento descreve o comportamento implementado da telemetria do Codex no ZAIP-AIOS. O
@@ -2415,6 +2426,10 @@ trabalho, fora do Kanban executável e dos indicadores operacionais sem rascunho
2415
2426
 
2416
2427
  ## Qualidade e evidências
2417
2428
 
2429
+ A [matriz de entrega da linha v3](docs/quality/v3-delivery-status.md) distingue
2430
+ melhorias implementadas, provas do candidato e tarefas históricas substituídas.
2431
+ Publicação não comprova economia nem conclui retroativamente o benchmark antigo.
2432
+
2418
2433
  Qualidade faz parte da definição de pronto. Cada entrega combina testes, revisão e checks proporcionais ao seu risco, com comprovação objetiva dos Critérios de Aceite.
2419
2434
 
2420
2435
  As Evidence conectam validações aprovadas à Task, Change, Execution, Run, Critérios de Aceite e candidato. O [guia de revisão](.agents/zaip-aios/guides/07-revisao-e-validacao.md) explica como registrar o procedimento realmente executado e seu resultado.
@@ -2796,7 +2811,7 @@ Antes de integrar uma mudança relevante ou preparar um release, \`pnpm verify\`
2796
2811
 
2797
2812
  Use a versão de pnpm fixada em \`packageManager\` (\`corepack pnpm\` quando disponível). Para uma alteração delimitada, selecione os checks pertinentes ao risco e ao diff; a lista acima não exige repetir todos os testes a cada edição documental. Qualificação de release usa os gates completos do [guia 26](.agents/zaip-aios/guides/26-qualidade-e-release.md) no candidato exato. Não confunda \`validate:github:prepared\`, execução local, push e CI terminal verde.
2798
2813
 
2799
- Os manifests deste checkout registram o candidato \`3.0.0\` (produto \`3.0\`). A identificação do candidato não significa que o \`latest\` já foi publicado nem certifica produção. A release exige revisão exata, CI terminal, integridade do TGZ e instalação real do artefato. Tentativas e limitações ficam nas evidências da Change; resultados locais e publicação são estados distintos.
2814
+ Os manifests deste checkout registram o candidato \`3.1.0\` (produto \`3.1\`). A identificação do candidato não significa que o \`latest\` já foi publicado nem certifica produção. A release exige revisão exata, CI terminal, integridade do TGZ e instalação real do artefato. Tentativas e limitações ficam nas evidências da Change; resultados locais e publicação são estados distintos.
2800
2815
 
2801
2816
  A arquitetura detalhada está resumida na seção [Arquitetura das aplicações](#arquitetura-das-aplicações) deste README.
2802
2817
 
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-06__WZco.js";import{n as r}from"./dashboard-localization-Basaw1NR.js";var i=e(t(),1),a=n();function o({catalog:e,fxRate:t,locale:n,onClose:o,onSave:c,onSaveFxRate:l}){let u=r[n],[d,f]=(0,i.useState)(e),[p,m]=(0,i.useState)(t?.rate??0),[h,g]=(0,i.useState)(!1),_=(e,t)=>f(n=>({...n,models:n.models.map((n,r)=>r===e?{...n,...t}:n)})),v=e=>Math.max(0,Number(e)||0);return(0,a.jsx)(`main`,{className:`pricing-backdrop`,children:(0,a.jsxs)(`section`,{"aria-labelledby":`pricing-page-title`,className:`pricing-dialog`,children:[(0,a.jsxs)(`header`,{children:[(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`small`,{children:u.eyebrow}),(0,a.jsx)(`h1`,{id:`pricing-page-title`,children:u.title}),(0,a.jsx)(`p`,{children:u.description})]}),(0,a.jsxs)(`button`,{className:`pricing-back-button`,onClick:o,type:`button`,children:[(0,a.jsx)(`span`,{"aria-hidden":`true`,children:`←`}),` `,u.back]})]}),(0,a.jsxs)(`div`,{className:`pricing-fx-settings`,children:[(0,a.jsxs)(`div`,{className:`pricing-fx-copy`,children:[(0,a.jsx)(`strong`,{children:u.fxTitle}),(0,a.jsx)(`p`,{children:u.fxDescription})]}),(0,a.jsxs)(`label`,{children:[(0,a.jsx)(`span`,{children:u.fxLabel}),(0,a.jsxs)(`div`,{className:`pricing-fx-input`,children:[(0,a.jsx)(`span`,{children:`R$`}),(0,a.jsx)(`input`,{"aria-label":u.fxAriaLabel,min:`0.0001`,onChange:e=>m(Math.max(1e-4,Number(e.target.value)||0)),step:`0.0001`,type:`number`,value:p})]})]})]}),(0,a.jsxs)(`div`,{className:`pricing-table-heading`,children:[(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`strong`,{children:u.catalog}),(0,a.jsx)(`p`,{children:u.pricesPerMillion})]}),(0,a.jsxs)(`span`,{children:[d.models.length,` `,u.models]})]}),(0,a.jsx)(`div`,{className:`pricing-table-wrap`,children:(0,a.jsxs)(`table`,{children:[(0,a.jsx)(`thead`,{children:(0,a.jsxs)(`tr`,{children:[(0,a.jsx)(`th`,{children:u.model}),(0,a.jsx)(`th`,{children:u.provider}),(0,a.jsx)(`th`,{children:u.input}),(0,a.jsx)(`th`,{children:u.cache}),(0,a.jsx)(`th`,{children:u.output}),(0,a.jsx)(`th`,{children:u.reasoning}),(0,a.jsx)(`th`,{children:u.priorityInput}),(0,a.jsx)(`th`,{children:u.priorityCache}),(0,a.jsx)(`th`,{children:u.priorityOutput}),(0,a.jsx)(`th`,{children:u.priorityReasoning}),(0,a.jsx)(`th`,{children:u.contextLimit}),(0,a.jsx)(`th`,{children:u.inputMultiplier}),(0,a.jsx)(`th`,{children:u.outputMultiplier}),(0,a.jsx)(`th`,{})]})}),(0,a.jsx)(`tbody`,{children:d.models.map((e,t)=>(0,a.jsxs)(`tr`,{children:[(0,a.jsxs)(`td`,{children:[(0,a.jsx)(`input`,{"aria-label":u.model,onChange:e=>_(t,{id:e.target.value}),value:e.id}),(0,a.jsx)(`small`,{children:e.aliases.join(`, `)||u.noAliases})]}),(0,a.jsx)(`td`,{children:(0,a.jsxs)(`select`,{onChange:e=>_(t,{provider:e.target.value}),value:e.provider,children:[(0,a.jsx)(`option`,{value:`openai`,children:`OpenAI`}),(0,a.jsx)(`option`,{value:`anthropic`,children:`Anthropic`})]})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{input_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.input_per_million_usd})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{cached_input_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.cached_input_per_million_usd??0})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{output_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.output_per_million_usd})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{reasoning_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.reasoning_per_million_usd??0})}),[`priority_input_per_million_usd`,`priority_cached_input_per_million_usd`,`priority_output_per_million_usd`,`priority_reasoning_per_million_usd`].map(n=>(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{[n]:v(e.target.value)}),step:`0.001`,type:`number`,value:e[n]??0})},n)),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{long_context_threshold_tokens:v(e.target.value)||null}),step:`1`,type:`number`,value:e.long_context_threshold_tokens??0})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0.001`,onChange:e=>_(t,{long_context_input_multiplier:Math.max(.001,Number(e.target.value)||1)}),step:`0.1`,type:`number`,value:e.long_context_input_multiplier})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0.001`,onChange:e=>_(t,{long_context_output_multiplier:Math.max(.001,Number(e.target.value)||1)}),step:`0.1`,type:`number`,value:e.long_context_output_multiplier})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`button`,{"aria-label":u.removeModel,onClick:()=>f(e=>({...e,models:e.models.filter((e,n)=>n!==t)})),type:`button`,children:`×`})})]},e.id))})]})}),(0,a.jsxs)(`footer`,{children:[(0,a.jsxs)(`button`,{onClick:()=>f(e=>({...e,models:[...e.models,s(n)]})),type:`button`,children:[`+ `,u.addModel]}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`button`,{onClick:o,type:`button`,children:u.cancel}),(0,a.jsx)(`button`,{disabled:h,onClick:async()=>{g(!0);try{await c(d),await l(p),o()}finally{g(!1)}},type:`button`,children:h?u.saving:u.save})]})]})]})})}function s(e=`pt-BR`){let t=r[e];return{id:t.newModel,provider:`openai`,aliases:[],input_per_million_usd:0,cached_input_per_million_usd:0,output_per_million_usd:0,reasoning_per_million_usd:0,priority_input_per_million_usd:null,priority_cached_input_per_million_usd:null,priority_output_per_million_usd:null,priority_reasoning_per_million_usd:null,reasoning_billed_separately:!1,long_context_threshold_tokens:null,long_context_input_multiplier:1,long_context_output_multiplier:1,source_label:t.manualOverride,source_url:`https://developers.openai.com/api/docs/pricing`,notes:[t.editedNote]}}export{o as PricingSettingsPage};
1
+ import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-06__WZco.js";import{n as r}from"./dashboard-localization-CoAVMZN6.js";var i=e(t(),1),a=n();function o({catalog:e,fxRate:t,locale:n,onClose:o,onSave:c,onSaveFxRate:l}){let u=r[n],[d,f]=(0,i.useState)(e),[p,m]=(0,i.useState)(t?.rate??0),[h,g]=(0,i.useState)(!1),_=(e,t)=>f(n=>({...n,models:n.models.map((n,r)=>r===e?{...n,...t}:n)})),v=e=>Math.max(0,Number(e)||0);return(0,a.jsx)(`main`,{className:`pricing-backdrop`,children:(0,a.jsxs)(`section`,{"aria-labelledby":`pricing-page-title`,className:`pricing-dialog`,children:[(0,a.jsxs)(`header`,{children:[(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`small`,{children:u.eyebrow}),(0,a.jsx)(`h1`,{id:`pricing-page-title`,children:u.title}),(0,a.jsx)(`p`,{children:u.description})]}),(0,a.jsxs)(`button`,{className:`pricing-back-button`,onClick:o,type:`button`,children:[(0,a.jsx)(`span`,{"aria-hidden":`true`,children:`←`}),` `,u.back]})]}),(0,a.jsxs)(`div`,{className:`pricing-fx-settings`,children:[(0,a.jsxs)(`div`,{className:`pricing-fx-copy`,children:[(0,a.jsx)(`strong`,{children:u.fxTitle}),(0,a.jsx)(`p`,{children:u.fxDescription})]}),(0,a.jsxs)(`label`,{children:[(0,a.jsx)(`span`,{children:u.fxLabel}),(0,a.jsxs)(`div`,{className:`pricing-fx-input`,children:[(0,a.jsx)(`span`,{children:`R$`}),(0,a.jsx)(`input`,{"aria-label":u.fxAriaLabel,min:`0.0001`,onChange:e=>m(Math.max(1e-4,Number(e.target.value)||0)),step:`0.0001`,type:`number`,value:p})]})]})]}),(0,a.jsxs)(`div`,{className:`pricing-table-heading`,children:[(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`strong`,{children:u.catalog}),(0,a.jsx)(`p`,{children:u.pricesPerMillion})]}),(0,a.jsxs)(`span`,{children:[d.models.length,` `,u.models]})]}),(0,a.jsx)(`div`,{className:`pricing-table-wrap`,children:(0,a.jsxs)(`table`,{children:[(0,a.jsx)(`thead`,{children:(0,a.jsxs)(`tr`,{children:[(0,a.jsx)(`th`,{children:u.model}),(0,a.jsx)(`th`,{children:u.provider}),(0,a.jsx)(`th`,{children:u.input}),(0,a.jsx)(`th`,{children:u.cache}),(0,a.jsx)(`th`,{children:u.output}),(0,a.jsx)(`th`,{children:u.reasoning}),(0,a.jsx)(`th`,{children:u.priorityInput}),(0,a.jsx)(`th`,{children:u.priorityCache}),(0,a.jsx)(`th`,{children:u.priorityOutput}),(0,a.jsx)(`th`,{children:u.priorityReasoning}),(0,a.jsx)(`th`,{children:u.contextLimit}),(0,a.jsx)(`th`,{children:u.inputMultiplier}),(0,a.jsx)(`th`,{children:u.outputMultiplier}),(0,a.jsx)(`th`,{})]})}),(0,a.jsx)(`tbody`,{children:d.models.map((e,t)=>(0,a.jsxs)(`tr`,{children:[(0,a.jsxs)(`td`,{children:[(0,a.jsx)(`input`,{"aria-label":u.model,onChange:e=>_(t,{id:e.target.value}),value:e.id}),(0,a.jsx)(`small`,{children:e.aliases.join(`, `)||u.noAliases})]}),(0,a.jsx)(`td`,{children:(0,a.jsxs)(`select`,{onChange:e=>_(t,{provider:e.target.value}),value:e.provider,children:[(0,a.jsx)(`option`,{value:`openai`,children:`OpenAI`}),(0,a.jsx)(`option`,{value:`anthropic`,children:`Anthropic`})]})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{input_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.input_per_million_usd})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{cached_input_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.cached_input_per_million_usd??0})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{output_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.output_per_million_usd})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{reasoning_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.reasoning_per_million_usd??0})}),[`priority_input_per_million_usd`,`priority_cached_input_per_million_usd`,`priority_output_per_million_usd`,`priority_reasoning_per_million_usd`].map(n=>(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{[n]:v(e.target.value)}),step:`0.001`,type:`number`,value:e[n]??0})},n)),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{long_context_threshold_tokens:v(e.target.value)||null}),step:`1`,type:`number`,value:e.long_context_threshold_tokens??0})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0.001`,onChange:e=>_(t,{long_context_input_multiplier:Math.max(.001,Number(e.target.value)||1)}),step:`0.1`,type:`number`,value:e.long_context_input_multiplier})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0.001`,onChange:e=>_(t,{long_context_output_multiplier:Math.max(.001,Number(e.target.value)||1)}),step:`0.1`,type:`number`,value:e.long_context_output_multiplier})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`button`,{"aria-label":u.removeModel,onClick:()=>f(e=>({...e,models:e.models.filter((e,n)=>n!==t)})),type:`button`,children:`×`})})]},e.id))})]})}),(0,a.jsxs)(`footer`,{children:[(0,a.jsxs)(`button`,{onClick:()=>f(e=>({...e,models:[...e.models,s(n)]})),type:`button`,children:[`+ `,u.addModel]}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`button`,{onClick:o,type:`button`,children:u.cancel}),(0,a.jsx)(`button`,{disabled:h,onClick:async()=>{g(!0);try{await c(d),await l(p),o()}finally{g(!1)}},type:`button`,children:h?u.saving:u.save})]})]})]})})}function s(e=`pt-BR`){let t=r[e];return{id:t.newModel,provider:`openai`,aliases:[],input_per_million_usd:0,cached_input_per_million_usd:0,output_per_million_usd:0,reasoning_per_million_usd:0,priority_input_per_million_usd:null,priority_cached_input_per_million_usd:null,priority_output_per_million_usd:null,priority_reasoning_per_million_usd:null,reasoning_billed_separately:!1,long_context_threshold_tokens:null,long_context_input_multiplier:1,long_context_output_multiplier:1,source_label:t.manualOverride,source_url:`https://developers.openai.com/api/docs/pricing`,notes:[t.editedNote]}}export{o as PricingSettingsPage};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-06__WZco.js";import{n as r}from"./traceability-BzKK8kK3.js";import{t as i}from"./index-BQe3zTvL.js";var a=e(t(),1),o=n();function s(e,t){let n=t.trim().toLocaleLowerCase();return n===``?[...e]:e.filter(e=>`${e.title} ${e.id}`.toLocaleLowerCase().includes(n))}function c(e,t,n){return n?[...e]:s(e,t)}function l(e){return`traceability-task-option-${e}`}function u({locale:e,loadingTaskId:t,hasMoreTasks:n,isLoadingTasks:s,onLoadMoreTasks:u,onSelectTask:d,onOpenChange:f,onOpenPrd:p,onOpenSpec:m,selectedTaskId:h,tasks:g,trace:_}){let v=[...g].sort((e,t)=>Date.parse(t.created_at)-Date.parse(e.created_at)),y=v.find(e=>e.id===h),[b,x]=(0,a.useState)(()=>y?.title??h),[S,C]=(0,a.useState)(!1),[w,T]=(0,a.useState)(!1),[E,D]=(0,a.useState)(0),[O,k]=(0,a.useState)(12),A=(0,a.useMemo)(()=>c(v,b,w),[b,w,v]),j=A.slice(0,O),M=j.length<A.length,N=`traceability-task-search`,P=`traceability-task-results`,F=e===`pt-BR`?`Task selecionada`:`Selected task`,I=e===`pt-BR`?`Buscar task por nome ou ID`:`Search task by name or ID`,L=S?A[E]?.id:void 0;(0,a.useEffect)(()=>{x(y?.title??h),D(0)},[y?.title,h]);let R=e=>{x(e.title),C(!1),T(!1),d(e.id)},z=(e=!0)=>{C(!0),T(!0),e&&(D(0),k(12))};return(0,o.jsxs)(`section`,{className:`traceability-workspace`,children:[(0,o.jsxs)(`header`,{children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`label`,{htmlFor:N,children:F}),(0,o.jsx)(`input`,{"aria-activedescendant":L===void 0?void 0:l(L),"aria-autocomplete":`list`,"aria-controls":P,"aria-expanded":S,"aria-label":I,id:N,onChange:e=>{x(e.target.value),D(0),T(!1),k(12),C(!0)},onClick:()=>z(),onFocus:()=>z(),onKeyDown:e=>{if(e.key===`ArrowDown`)e.preventDefault(),z(!1),D(e=>Math.min(e+1,Math.max(0,v.length-1)));else if(e.key===`ArrowUp`)e.preventDefault(),z(!1),D(e=>Math.max(0,e-1));else if(e.key===`Enter`&&S){let t=A[E];t!==void 0&&(e.preventDefault(),R(t))}else e.key===`Escape`&&C(!1)},role:`combobox`,type:`search`,value:b}),S?(0,o.jsx)(`div`,{"aria-label":I,className:`traceability-task-results`,id:P,onScroll:e=>{let{clientHeight:t,scrollHeight:r,scrollTop:a}=e.currentTarget;a+t<r-32||(n&&u(),j.length<A.length&&k(e=>i(e,A.length,12)))},role:`listbox`,children:A.length>0?j.map((e,t)=>(0,o.jsx)(`div`,{role:`presentation`,children:(0,o.jsx)(`button`,{"aria-selected":e.id===h,className:t===E?`is-active`:void 0,id:l(e.id),onClick:()=>R(e),role:`option`,type:`button`,children:(0,o.jsx)(`strong`,{children:e.title})})},e.id)):(0,o.jsx)(`div`,{className:`traceability-task-no-results`,role:`status`,children:e===`pt-BR`?`Nenhuma task encontrada.`:`No tasks found.`})}):null,S&&A.length>0?(0,o.jsx)(`p`,{"aria-live":`polite`,className:`traceability-task-pagination-status`,role:`status`,children:s?e===`pt-BR`?`Carregando mais tasks…`:`Loading more tasks…`:M||n?e===`pt-BR`?`${j.length} de ${A.length} tasks exibidas. Role para carregar mais.`:`${j.length} of ${A.length} tasks shown. Scroll to load more.`:e===`pt-BR`?`${A.length} tasks exibidas. Fim da lista.`:`${A.length} tasks shown. End of list.`}):null]}),(0,o.jsx)(`small`,{children:e===`pt-BR`?`Selecione pelo nome para visualizar o ciclo completo sem precisar do ID.`:`Select by name to inspect the complete lifecycle without knowing the ID.`})]}),t?(0,o.jsx)(`div`,{"aria-live":`polite`,className:`traceability-workspace-loading`,children:e===`pt-BR`?`Carregando as 6 etapas…`:`Loading all 6 stages…`}):_?(0,o.jsx)(r,{embedded:!0,locale:e,onClose:()=>void 0,onOpenChange:f,onOpenPrd:p,onOpenSpec:m,trace:_}):(0,o.jsx)(`p`,{children:e===`pt-BR`?`Nenhuma task disponível.`:`No task available.`})]})}export{u as TraceabilityWorkspace};
1
+ import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-06__WZco.js";import{n as r}from"./traceability-BzKK8kK3.js";import{t as i}from"./index-BVzw_Wux.js";var a=e(t(),1),o=n();function s(e,t){let n=t.trim().toLocaleLowerCase();return n===``?[...e]:e.filter(e=>`${e.title} ${e.id}`.toLocaleLowerCase().includes(n))}function c(e,t,n){return n?[...e]:s(e,t)}function l(e){return`traceability-task-option-${e}`}function u({locale:e,loadingTaskId:t,hasMoreTasks:n,isLoadingTasks:s,onLoadMoreTasks:u,onSelectTask:d,onOpenChange:f,onOpenPrd:p,onOpenSpec:m,selectedTaskId:h,tasks:g,trace:_}){let v=[...g].sort((e,t)=>Date.parse(t.created_at)-Date.parse(e.created_at)),y=v.find(e=>e.id===h),[b,x]=(0,a.useState)(()=>y?.title??h),[S,C]=(0,a.useState)(!1),[w,T]=(0,a.useState)(!1),[E,D]=(0,a.useState)(0),[O,k]=(0,a.useState)(12),A=(0,a.useMemo)(()=>c(v,b,w),[b,w,v]),j=A.slice(0,O),M=j.length<A.length,N=`traceability-task-search`,P=`traceability-task-results`,F=e===`pt-BR`?`Task selecionada`:`Selected task`,I=e===`pt-BR`?`Buscar task por nome ou ID`:`Search task by name or ID`,L=S?A[E]?.id:void 0;(0,a.useEffect)(()=>{x(y?.title??h),D(0)},[y?.title,h]);let R=e=>{x(e.title),C(!1),T(!1),d(e.id)},z=(e=!0)=>{C(!0),T(!0),e&&(D(0),k(12))};return(0,o.jsxs)(`section`,{className:`traceability-workspace`,children:[(0,o.jsxs)(`header`,{children:[(0,o.jsxs)(`div`,{children:[(0,o.jsx)(`label`,{htmlFor:N,children:F}),(0,o.jsx)(`input`,{"aria-activedescendant":L===void 0?void 0:l(L),"aria-autocomplete":`list`,"aria-controls":P,"aria-expanded":S,"aria-label":I,id:N,onChange:e=>{x(e.target.value),D(0),T(!1),k(12),C(!0)},onClick:()=>z(),onFocus:()=>z(),onKeyDown:e=>{if(e.key===`ArrowDown`)e.preventDefault(),z(!1),D(e=>Math.min(e+1,Math.max(0,v.length-1)));else if(e.key===`ArrowUp`)e.preventDefault(),z(!1),D(e=>Math.max(0,e-1));else if(e.key===`Enter`&&S){let t=A[E];t!==void 0&&(e.preventDefault(),R(t))}else e.key===`Escape`&&C(!1)},role:`combobox`,type:`search`,value:b}),S?(0,o.jsx)(`div`,{"aria-label":I,className:`traceability-task-results`,id:P,onScroll:e=>{let{clientHeight:t,scrollHeight:r,scrollTop:a}=e.currentTarget;a+t<r-32||(n&&u(),j.length<A.length&&k(e=>i(e,A.length,12)))},role:`listbox`,children:A.length>0?j.map((e,t)=>(0,o.jsx)(`div`,{role:`presentation`,children:(0,o.jsx)(`button`,{"aria-selected":e.id===h,className:t===E?`is-active`:void 0,id:l(e.id),onClick:()=>R(e),role:`option`,type:`button`,children:(0,o.jsx)(`strong`,{children:e.title})})},e.id)):(0,o.jsx)(`div`,{className:`traceability-task-no-results`,role:`status`,children:e===`pt-BR`?`Nenhuma task encontrada.`:`No tasks found.`})}):null,S&&A.length>0?(0,o.jsx)(`p`,{"aria-live":`polite`,className:`traceability-task-pagination-status`,role:`status`,children:s?e===`pt-BR`?`Carregando mais tasks…`:`Loading more tasks…`:M||n?e===`pt-BR`?`${j.length} de ${A.length} tasks exibidas. Role para carregar mais.`:`${j.length} of ${A.length} tasks shown. Scroll to load more.`:e===`pt-BR`?`${A.length} tasks exibidas. Fim da lista.`:`${A.length} tasks shown. End of list.`}):null]}),(0,o.jsx)(`small`,{children:e===`pt-BR`?`Selecione pelo nome para visualizar o ciclo completo sem precisar do ID.`:`Select by name to inspect the complete lifecycle without knowing the ID.`})]}),t?(0,o.jsx)(`div`,{"aria-live":`polite`,className:`traceability-workspace-loading`,children:e===`pt-BR`?`Carregando as 6 etapas…`:`Loading all 6 stages…`}):_?(0,o.jsx)(r,{embedded:!0,locale:e,onClose:()=>void 0,onOpenChange:f,onOpenPrd:p,onOpenSpec:m,trace:_}):(0,o.jsx)(`p`,{children:e===`pt-BR`?`Nenhuma task disponível.`:`No task available.`})]})}export{u as TraceabilityWorkspace};
@@ -357,6 +357,10 @@ indicators that exclude drafts.
357
357
 
358
358
  ## Quality and evidence
359
359
 
360
+ The [v3 delivery matrix](docs/quality/v3-delivery-status.md) distinguishes
361
+ implemented improvements, candidate evidence and superseded historical work.
362
+ Publication does not prove savings or retroactively approve the old benchmark.
363
+
360
364
  Quality is part of the definition of done. Each delivery combines tests, review, and checks proportionate to its risk, with objective proof of Acceptance Criteria. Evidence connects approved validations to the Task, Change, Execution, Run, Acceptance Criteria, and candidate. The [review guide](.agents/zaip-aios/guides/07-revisao-e-validacao.md) explains how to record the procedure actually executed and its result.
361
365
 
362
366
  The current contract adds \`confirmed\`, \`limited\`, \`pending\`, \`failed\`, and \`not_applicable\` observations without replacing Validation/Evidence V2. The CLI validates structure and links; it does not run the declared command, inspect images, or query services automatically. Technical proof is not equivalent to visual proof, real integration, or production proof. Isolated or pending observations do not approve a delivery.
@@ -724,7 +728,7 @@ pnpm build
724
728
 
725
729
  Before integrating a relevant change or preparing a release, \`pnpm verify\` runs the complete repository pipeline, including additional tool, contract, generation, workspace, runtime-parity, and release-test gates. This pipeline only validates the lock; if a managed file was intentionally changed, run sync first. Use the pnpm version fixed in \`packageManager\` (\`corepack pnpm\` when available). For a bounded change, choose checks appropriate to its risk and diff; the list does not require repeating every test for each documentation edit. Release qualification uses the complete gates in [guide 26](.agents/zaip-aios/guides/26-qualidade-e-release.md) on the exact candidate. Do not conflate \`validate:github:prepared\`, local execution, push, and a green terminal CI.
726
730
 
727
- This checkout's manifests identify candidate \`3.0.0\` (product \`3.0\`). Candidate identity does not mean \`latest\` has been published or certify production. Release requires the exact revision, terminal CI, TGZ integrity, and a real artifact installation. Attempts and limitations remain in the Change evidence; local results and publication are distinct states.
731
+ This checkout's manifests identify candidate \`3.1.0\` (product \`3.1\`). Candidate identity does not mean \`latest\` has been published or certify production. Release requires the exact revision, terminal CI, TGZ integrity, and a real artifact installation. Attempts and limitations remain in the Change evidence; local results and publication are distinct states.
728
732
 
729
733
  The detailed architecture is summarized in this README's [Application architecture](#application-architecture) section.
730
734