@zaip-ai/cli 5.3.0 → 5.4.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 (59) hide show
  1. package/dist/services/adapters.d.ts +1 -1
  2. package/dist/services/adapters.js +1 -1
  3. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  4. package/dist/services/codex-pre-tool-hook-template.js +44 -8
  5. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  6. package/package.json +1 -1
  7. package/templates/.agents/README-ENG.md +6 -0
  8. package/templates/.agents/README.md +6 -0
  9. package/templates/.agents/config/agents/discovery.json +1 -1
  10. package/templates/.agents/dashboard/.zaip-managed.json +28 -28
  11. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-URSe1IiF.js → DashboardHelpDialog-Bw42VT15.js} +7 -1
  12. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-8znf56to.js → PricingSettingsDialog-C3Y-jqQe.js} +1 -1
  13. package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-O68yx0KF.js → ProjectSettingsPage-Bx54lj7x.js} +1 -1
  14. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-DlYlyBhz.js → TraceabilityWorkspace-BNxFpGCt.js} +1 -1
  15. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-DhvlkPf2.js → dashboard-localization-BQDxpGq0.js} +6 -0
  16. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-CWcci-bM.js → index-CsSv72iu.js} +2 -2
  17. package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
  18. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  19. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  20. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  21. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  22. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  23. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  24. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  25. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +1 -1
  26. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  27. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +1 -1
  28. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  29. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  30. package/templates/.agents/design/.zaip-managed.json +3 -3
  31. package/templates/.agents/design/apps/catalog/package.json +1 -1
  32. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  33. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  34. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  35. package/templates/.agents/requirements/comparative-audit.md +1 -1
  36. package/templates/.agents/requirements/context-engine.md +1 -1
  37. package/templates/.agents/requirements/cost-observability.md +1 -1
  38. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  39. package/templates/.agents/requirements/data-export.md +1 -1
  40. package/templates/.agents/requirements/design-system.md +1 -1
  41. package/templates/.agents/requirements/execution-engine.md +1 -1
  42. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  43. package/templates/.agents/requirements/model-orchestration.md +1 -1
  44. package/templates/.agents/requirements/public-distribution.md +1 -1
  45. package/templates/.agents/requirements/software-architecture.md +1 -1
  46. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  47. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  48. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  49. package/templates/.agents/runtime/VERSION +1 -1
  50. package/templates/.agents/runtime/bin/zaip.mjs +51 -15
  51. package/templates/.agents/runtime/checksums.sha256 +5 -5
  52. package/templates/.agents/runtime/manifest.json +1 -1
  53. package/templates/.agents/runtime/provenance.json +4 -4
  54. package/templates/.agents/runtime/sbom.cdx.json +1 -1
  55. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +1 -1
  56. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-publication-intent.test.mjs +14 -0
  57. package/templates/.agents/skills/zaip-skill-task/references/commit-policy.md +9 -0
  58. package/templates/.agents/zaip-aios/VERSION +1 -1
  59. package/templates/template-manifest.json +66 -66
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-local-runtime",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -328,7 +328,7 @@ Estado atual: ${e.status}.
328
328
  ## Resultado
329
329
 
330
330
  ${e.result??e.status_reason??"Ainda n\xE3o conclu\xEDda."}`}async function Za(e,t,n,i){let r=await e.listFiles(t,n);return Promise.all(r.map(async o=>Ft(await e.readText(o),i).metadata))}function Nc(e){if(e.version===1)throw new TypeError("V2 repositories require a modern WorkspaceLayout")}var Uo,Fo,zo,hv=O(()=>{"use strict";ze();Do();za();FN();ov();lp();zN();cv();uv();Cc();fv();uv();lp();ZN();Uo=class{constructor(t,n){this.filesystem=t;this.layout=n;Nc(n)}filesystem;layout;async create(t){let n=t.clock??new nt,i=n.now().toISOString(),r=t.id??sv("PRD",t.shortName,n,this.layout.project.timezone),o=[...t.outcomes??[]],a=to.parse({schema_version:2,id:r,revision:1,title:t.title,target_release:t.targetRelease??null,status:"draft",status_reason:null,outcome_status:"unmeasured",problem:t.problem,audiences:[...t.audiences??[]],outcomes:o,outcome_ids:t.outcomeIds??dv(r,o),constraints:[...t.constraints??[]],non_goals:[...t.nonGoals??[]],prepared_plan:null,plan_ref:null,creation_run_id:t.creationRunId??null,rework_of_prd_id:t.reworkOfPrdId??null,tags:[...t.tags??[]],created_at:i,updated_at:i});return await this.write(a,MN(a),!0),a}async createReworkSuccessor(t,n){let{prd:i}=await this.read(t);if(i.status!=="cancelled")throw new TypeError(`PRD ${t} must be cancelled before rework`);return this.create({...n,targetRelease:n.targetRelease??i.target_release,reworkOfPrdId:i.id,tags:["rework"]})}async read(t){let n=await Ba(this.filesystem,this.layout,"prd",t),i=Ft(await this.filesystem.readText(n),to);return{prd:i.metadata,body:i.body}}async list(){return Za(this.filesystem,this.layout.entityRoot("prd"),".md",to)}async setPreparedPlan(t,n){let i=ki.parse(n),r=await this.read(t);if(i.source.type==="prd"&&i.acceptance_policy===void 0&&r.prd.prepared_plan?.hash!==i.hash&&r.prd.plan_ref?.hash!==i.hash)throw new TypeError("New PRD preparation requires proportional-acceptance-v1 adoption");if(!new Set(["draft","ready"]).has(r.prd.status))throw new TypeError(`PRD ${t} cannot be prepared from status ${r.prd.status}`);let o=tv(i,t);if(o.length===0)throw new TypeError(`PRD ${t} requires at least one SPEC`);let a=await Za(this.filesystem,this.layout.entityRoot("spec"),".md",ei),s=new Map(a.map(c=>[c.id,c]));for(let c of o){let u=s.get(c);if(u===void 0)throw new TypeError(`PRD SPEC does not resolve: ${c}`);if(u.prd_id!==t)throw new TypeError(`SPEC ${c} does not belong to PRD ${t}`);if(["active","delivered","cancelled"].includes(u.status))throw new TypeError(`SPEC ${c} cannot be prepared from status ${u.status}`);await sp(u.implementation,this.filesystem,this.layout)}let l=to.parse({...r.prd,revision:r.prd.revision+1,prepared_plan:i,plan_ref:null,updated_at:i.prepared_at});return await this.write(l,r.body),l}async transition(t,n,i=new nt,r=null){let o=await this.read(t);jo(qN,o.prd.status,n,"PRD");let a=typeof i=="string"?new nt:i,s=typeof i=="string"?i:r,l=to.parse({...o.prd,revision:o.prd.revision+1,status:n,status_reason:["blocked","failed","cancelled"].includes(n)?s??`PRD moved to ${n}.`:null,updated_at:a.now().toISOString()});return await this.write(l,o.body),l}async normalizePreparedPlan(t,n){let i=await this.read(t);if(i.prd.plan_ref?.hash===n.hash)return i.prd;if(i.prd.prepared_plan?.hash!==n.hash)throw new Error(`PRD ${t} does not contain PreparedPlan ${n.hash}`);let r=to.parse({...i.prd,revision:i.prd.revision+1,prepared_plan:null,plan_ref:Tc(n),updated_at:new Date().toISOString()});return await this.write(r,i.body),r}path(t){return this.layout.activePath("prd",t)}async write(t,n,i=!1){await this.filesystem[i?"writeTextAtomicExclusive":"writeTextAtomic"](this.path(t.id),dn({metadata:to.parse(t),body:n}))}},Fo=class{constructor(t,n){this.filesystem=t;this.layout=n;Nc(n)}filesystem;layout;async create(t){let n=t.clock??new nt,i=n.now().toISOString(),r=ei.parse({schema_version:2,id:t.id??sv("SPEC",t.shortName,n,this.layout.project.timezone),prd_id:t.prdId??null,revision:1,title:t.title,target_release:t.targetRelease??null,status:"draft",status_reason:null,objective:t.objective,included_scope:[...t.includedScope??[]],excluded_scope:[...t.excludedScope??[]],requirement_ids:[...t.requirementIds??[]],acceptance_ids:[...t.acceptanceIds??[]],implementation:t.implementation??null,prepared_plan:null,plan_ref:null,creation_run_id:t.creationRunId??null,created_at:i,updated_at:i});return await this.write(r,DN(r),!0),r}async read(t){let n=await Ba(this.filesystem,this.layout,"spec",t),i=Ft(await this.filesystem.readText(n),ei);return{spec:i.metadata,body:i.body}}async list(){return Za(this.filesystem,this.layout.entityRoot("spec"),".md",ei)}async retargetPublishedRelease(t,n){let i=await this.read(t);if(i.spec.release_retarget!==null||i.spec.status!=="active"||i.spec.target_release!==n.from||i.spec.plan_ref===null)throw new TypeError(`SPEC ${t} cannot be retargeted from its current lifecycle state`);let r=new Date().toISOString(),o=ei.parse({...i.spec,revision:i.spec.revision+1,target_release:n.to,release_retarget:{from:n.from,to:n.to,adoption_main_sha:n.adoptionMainSha,actor_run_id:n.actorRunId,adopted_at:n.adoptedAt,retargeted_at:r},updated_at:r});return await this.write(o,i.body),o}async setPreparedPlan(t,n){let i=ki.parse(n);if(i.source.type!=="spec"||i.source.spec_id!==t)throw new TypeError(`Prepared plan source must be spec ${t}`);let r=await this.read(t);if(i.acceptance_policy===void 0&&r.spec.prepared_plan?.hash!==i.hash&&r.spec.plan_ref?.hash!==i.hash)throw new TypeError("New SPEC preparation requires proportional-acceptance-v1 adoption");if(!new Set(["draft","ready"]).has(r.spec.status))throw new TypeError(`SPEC ${t} cannot be prepared from status ${r.spec.status}`);await sp(r.spec.implementation,this.filesystem,this.layout);let o=ei.parse({...r.spec,revision:r.spec.revision+1,prepared_plan:i,plan_ref:null,updated_at:i.prepared_at});return await this.write(o,r.body),o}async transition(t,n,i=new nt,r=null){let o=await this.read(t);jo(VN,o.spec.status,n,"DeliverySpec");let a=typeof i=="string"?new nt:i,s=typeof i=="string"?i:r;["active","delivered"].includes(n)&&await sp(o.spec.implementation,this.filesystem,this.layout);let l=ei.parse({...o.spec,revision:o.spec.revision+1,status:n,status_reason:["blocked","failed","cancelled"].includes(n)?s??`SPEC moved to ${n}.`:null,updated_at:a.now().toISOString()});return await this.write(l,o.body),l}async normalizePreparedPlan(t,n){let i=await this.read(t);if(i.spec.plan_ref?.hash===n.hash)return i.spec;if(i.spec.prepared_plan?.hash!==n.hash)throw new Error(`SPEC ${t} does not contain PreparedPlan ${n.hash}`);let r=ei.parse({...i.spec,revision:i.spec.revision+1,prepared_plan:null,plan_ref:Tc(n),updated_at:new Date().toISOString()});return await this.write(r,i.body),r}path(t){return this.layout.activePath("spec",t)}async write(t,n,i=!1){await this.filesystem[i?"writeTextAtomicExclusive":"writeTextAtomic"](this.path(t.id),dn({metadata:ei.parse(t),body:n}))}},zo=class{constructor(t,n){this.filesystem=t;this.layout=n;Nc(n)}filesystem;layout;async read(t){let n=await Ba(this.filesystem,this.layout,"change",t),i=Ft(await this.filesystem.readText(n),no);return{change:i.metadata,body:i.body}}async createDraft(t){let i=(t.clock??new nt).now().toISOString(),r=no.parse({schema_version:2,id:t.id,revision:1,title:t.title,status:"draft",risk:t.risk,source:{type:"task",task_id:t.taskId},requirement_ids:[...t.requirementIds],acceptance_ids:[...t.acceptanceIds],requirement_impact:{type:"none",reason:"Awaiting prepared plan."},task_ids:[t.taskId],plan_revision:null,plan_hash:null,created_at:i,updated_at:i,started_at:null,finished_at:null,result:null});return await this.filesystem.writeTextExclusive(this.path(r.id),this.serialize(r)),r}async promoteDraft(t,n){let i=await this.read(t);if(i.change.status==="planned"&&UN(i.change,n))return i.change;if(i.change.status!=="draft"||!av(i.change,n))throw new TypeError(`Change ${t} does not match its Task draft`);let r=no.parse({...n,revision:i.change.revision+1,created_at:i.change.created_at,updated_at:n.updated_at});return await this.write(r),r}async list(){return Za(this.filesystem,this.layout.entityRoot("change"),"change.md",no)}async transition(t,n,i=null,r=new nt,o=null){let a=await this.read(t);jo(WN,a.change.status,n,"Change");let s=r.now().toISOString(),l=["completed","failed","cancelled"].includes(n),c=no.parse({...a.change,revision:a.change.revision+1,status:n,status_reason:["blocked","failed","cancelled"].includes(n)?o??i??`Change moved to ${n}.`:null,updated_at:s,started_at:n==="executing"&&a.change.started_at===null?s:a.change.started_at,finished_at:l?s:null,result:l?i:null});return await this.write(c,await jN(this.filesystem,this.path(t),c,a.body)),c}async write(t,n=cp(t.title)){await this.filesystem.writeTextAtomic(this.path(t.id),this.serialize(t,n))}serialize(t,n=cp(t.title)){return dn({metadata:no.parse(t),body:n})}path(t){return this.layout.activePath("change",t)}}});var HN=O(()=>{"use strict";Do();za();ov();hv();Cc()});var pt,w5,dp,Q_e,epe,qo=O(()=>{"use strict";ze();pt=Me(Ue(),1);iN();fN();hN();np();HN();w5=["lite","standard","critical"],dp=pt.z.string().datetime({offset:!0}),Q_e=pt.z.object({id:pt.z.string().startsWith("SPEC-"),capability:pt.z.string().min(1),title:pt.z.string().min(1),status:pt.z.enum(["active","deprecated"]).default("active"),version:pt.z.number().int().positive().default(1),updated_at:dp}).strict(),epe=pt.z.object({id:pt.z.string().startsWith("CHG-"),title:pt.z.string().min(1),status:pt.z.enum(["draft","planned","executing","verifying","completed","failed","blocked","cancelled"]),risk:pt.z.enum(w5),capabilities:pt.z.array(pt.z.string().startsWith("SPEC-")),requirements:pt.z.array(pt.z.string().startsWith("REQ-")),tasks:pt.z.array(pt.z.string().startsWith("TASK-")),human_decisions:pt.z.array(pt.z.string().startsWith("DEC-HUMAN-")),agent_decisions:pt.z.array(pt.z.string().startsWith("DEC-AI-")),created_at:dp,updated_at:dp,completed_at:dp.nullable().default(null)}).strict()});var JN=O(()=>{"use strict"});var yv=O(()=>{"use strict";JN()});var GN=O(()=>{"use strict"});var Pc=O(()=>{"use strict";GN()});var Vo,KN=O(()=>{"use strict";Vo=["validate","develop","review","fix","verify","close"]});var $c=O(()=>{"use strict";KN()});var XN=O(()=>{"use strict"});var YN=O(()=>{"use strict";XN()});var QN=O(()=>{"use strict"});var vv=O(()=>{"use strict"});var _p=O(()=>{"use strict";ze()});var pp=O(()=>{"use strict"});var n0=O(()=>{"use strict";ze();_p()});var Sv=O(()=>{"use strict"});var fp=O(()=>{"use strict";ze()});var Dc=O(()=>{"use strict"});var gp=O(()=>{"use strict";Zr()});var kv=O(()=>{"use strict"});var hp=O(()=>{"use strict";qo();kv()});var r0=O(()=>{"use strict"});var ome,qn=O(()=>{"use strict";ze();Zr();yv();Pc();$c();pp();n0();Sv();fp();Dc();gp();hp();fp();hp();r0();gp();ome=5*6e4});var Tv=O(()=>{"use strict";ze();sa();Zr();_p();qn()});var xv=O(()=>{"use strict"});var yp=O(()=>{"use strict";xv();Dc()});var s0=O(()=>{"use strict";qn()});var c0=O(()=>{"use strict";Zr();gp()});var u0=O(()=>{"use strict";sa();Zr();c0();yp();qn()});var vp=O(()=>{"use strict";Pc();pp()});var Rv=O(()=>{"use strict";qn()});var _0=O(()=>{"use strict";qn()});var io,Uc,bp=O(()=>{"use strict";io=Me(Ue(),1),Uc=io.z.object({outcome:io.z.enum(["completed","blocked","failed","cancelled"]),summary:io.z.string().trim().min(1),evidence_ids:io.z.array(io.z.string().min(1)),changed_files:io.z.array(io.z.string().min(1))}).strict()});var p0=O(()=>{"use strict";qn()});var m0=O(()=>{"use strict";ze();sa();Zr();Pc();u0();Tv();_p();yp();vp();Rv();qn();_0();bp();p0()});var f0=O(()=>{"use strict"});var g0=O(()=>{"use strict"});var Ov=O(()=>{"use strict";sa();qn();bp()});var h0=O(()=>{"use strict";ze();vv();qn();Ov()});var w,Cv,Iv,L5,M5,D5,Sp,j5,U5,F5,z5,y0,q5,V5,W5,B5,Z5,H5,J5,Yfe,kp=O(()=>{"use strict";ze();qo();w=Me(Ue(),1);Zr();$c();bp();Cv=w.z.string().datetime(),Iv=w.z.object({id:w.z.string().min(1),acceptance_ids:w.z.array(w.z.string().min(1))}).strict(),L5=w.z.object({soft_cycles:w.z.number().int().positive(),max_attempts:w.z.number().int().positive().nullable()}).strict(),M5=w.z.object({phase:w.z.enum(Vo),event_id:w.z.string().min(1),state_hash:w.z.string().regex(/^[a-f0-9]{64}$/),cycles:w.z.number().int().nonnegative(),input_tokens:w.z.number().int().nonnegative().nullable(),measurement_source:w.z.enum(["provider-uncached-input","observable-context-fallback","unavailable"]),checkpoint_required:w.z.boolean()}).strict(),D5=w.z.object({schema_version:w.z.literal(1),id:w.z.string().min(1),phase:w.z.enum(Vo),status:w.z.enum(["running","blocked","completed"]),revision:w.z.number().int().positive(),acceptance_ids:w.z.array(w.z.string().min(1)).min(1),budgets:w.z.object(Object.fromEntries(Vo.map(e=>[e,L5]))),attempts:w.z.object(Object.fromEntries(Vo.map(e=>[e,w.z.number().int().nonnegative()]))),checkpoints:w.z.array(M5),evidence:w.z.array(Iv),processed_event_ids:w.z.array(w.z.string().min(1)),blocker:w.z.string().min(1).nullable()}).strict(),Sp=w.z.enum(["execution_override","task_override","automatic_policy","project_defaults"]),j5=w.z.enum(["EXECUTION_OVERRIDE","TASK_OVERRIDE","XHIGH_ELIGIBLE","SIMPLE_BOUNDED_WORK","SOL_PLANNING_OR_REVIEW","SOL_AMBIGUOUS_OR_TRANSVERSAL","SOL_STRUCTURAL_REWORK","ASTRA_DIAGNOSTIC","ASTRA_HANDBACK","SOL_IMPLEMENTATION_BASELINE","TERRA_IMPLEMENTATION_BASELINE","PROJECT_DEFAULTS","RISK_ASSURANCE_ONLY"]),U5=w.z.object({model:w.z.string().min(1),reasoning_effort:w.z.enum(["low","medium","high","xhigh"]),velocity:w.z.literal("standard"),origin:Sp,sources:w.z.object({model:Sp,reasoning_effort:Sp,velocity:Sp}).strict(),policy_version:w.z.string().min(1),reasons:w.z.array(j5).min(1)}).strict(),F5=w.z.object({invocation_id:w.z.string().regex(/^INV-[A-Z0-9-]+$/),run_id:w.z.string().min(1).nullable().default(null),phase:w.z.enum(Vo),role:w.z.enum(["builder","verifier","finalizer"]),checkpoint_id:w.z.string().min(1).nullable(),checkpoint_hash:w.z.string().regex(/^[a-f0-9]{64}$/).nullable(),selection:U5.nullable().default(null)}).strict(),z5=w.z.object({astra_diagnostic:Hu.optional(),rework:w.z.enum(["localized","structural"]),rework_cost:w.z.enum(["medium","high"]),findings:w.z.array(w.z.string().min(1)).default([]),complexity:w.z.enum(["simple","standard","complex"]),transversality:w.z.enum(["local","multi_module","cross_system"]),ambiguity:w.z.enum(["low","medium","high"]),bounded:w.z.boolean(),high_volume:w.z.boolean(),xhigh_triggers:w.z.array(w.z.enum(["full_stack_boundary","shared_contracts_3_plus","critical_data_or_security","rollout_and_rollback","repeated_structural_repair","architectural_review_finding","prepared_plan_invalidated","material_architectural_tradeoffs"]))}).strict(),y0=w.z.object({task_id:w.z.string().min(1),status:w.z.enum(["available","unavailable","quality_below_floor"]),evidence_ids:w.z.array(w.z.string().min(1)),validation_ids:w.z.array(w.z.string().min(1)),rework_count:w.z.number().int().nonnegative().nullable(),quality_score:w.z.number().nonnegative().nullable(),quality_floor:w.z.number().nonnegative().nullable(),cost_delta_usd:w.z.number().nullable(),economy_status:w.z.enum(["available","unavailable"])}).strict(),q5=w.z.object({baseline_task_id:w.z.string().min(1).nullable(),baseline_equivalence_id:w.z.string().min(1).nullable(),model:w.z.string().min(1).nullable(),reasoning_effort:w.z.enum(["low","medium","high","xhigh"]).nullable(),context_budget_tokens:w.z.number().int().nonnegative().nullable(),cached_context_tokens:w.z.number().int().nonnegative().nullable(),early_stop_reason:w.z.string().min(1).nullable(),retry_count:w.z.number().int().nonnegative().nullable(),rework_count:w.z.number().int().nonnegative().nullable(),observed_cost_usd:w.z.number().nonnegative().nullable(),baseline_observed_cost_usd:w.z.number().nonnegative().nullable(),quality_score:w.z.number().nonnegative().nullable(),quality_floor:w.z.number().nonnegative().nullable()}).strict(),V5=w.z.object({provider:w.z.enum(["codex","claude"]),host_authentication_available:w.z.boolean(),requires_external_provider:w.z.boolean(),requires_remote_operation:w.z.boolean()}).strict(),W5=w.z.object({identity:w.z.string().min(1),replay_key:w.z.string().regex(/^[a-f0-9]{64}$/),validation_ids:w.z.array(w.z.string().min(1)),evidence_ids:w.z.array(w.z.string().min(1))}).strict(),B5=w.z.object({candidate_fingerprint:w.z.string().regex(/^[a-f0-9]{64}$/).nullable(),proof_fingerprint:w.z.string().regex(/^[a-f0-9]{64}$/),semantic_attempts:w.z.number().int().nonnegative(),classification:w.z.enum(["unknown","localized","structural"]),proof_delta:w.z.enum(["none","added","replaced"]),repeated_without_delta:w.z.boolean(),elapsed_reassessment:w.z.literal("unavailable"),decision:w.z.enum(["shadow_continue","shadow_rereview","shadow_block"])}).strict(),Z5=w.z.object({id:w.z.string().min(1),rule:w.z.string(),path:w.z.string(),line:w.z.number().int().positive(),severity:w.z.enum(["low","medium","high","critical"]),message:w.z.string(),status:w.z.enum(["open","resolved","waived"]),resolution_evidence_id:w.z.string().nullable()}).strict(),H5=w.z.object({id:w.z.string().min(1),executor_id:w.z.string().min(1),reviewer_id:w.z.string().min(1),max_repair_cycles:w.z.number().int().nonnegative().nullable(),repair_cycles:w.z.number().int().nonnegative(),findings:w.z.array(Z5),reviewer_approved:w.z.boolean()}).strict(),J5=w.z.object({autonomy:bf.optional(),finalizer_decision:Uc.optional(),recovery_invocation:w.z.object({id:w.z.string().min(1),run_id:w.z.string().nullable()}).strict().optional(),recovery_plan:w.z.object({hypothesis:w.z.string().min(1),test:w.z.string().min(1),executor_model:w.z.string().min(1)}).strict().optional(),id:w.z.string().min(1),change_id:w.z.string().min(1),title:w.z.string().min(1),objective:w.z.string().min(1),risk:w.z.enum(["lite","standard","critical"]),priority:w.z.number().int(),depends_on:w.z.array(w.z.string().min(1)),acceptance_ids:w.z.array(w.z.string().min(1)).min(1),write_scopes:w.z.array(w.z.string().min(1)),scope_receipt:w.z.object({receipt_id:w.z.string().min(1),current_scopes:w.z.array(w.z.string().min(1)),delta_scopes:w.z.array(w.z.string().min(1))}).optional(),child_execution_id:w.z.string().min(1).optional(),builder:w.z.object({id:w.z.string().min(1),model:w.z.string().min(1),reasoning_effort:w.z.enum(["low","medium","high","xhigh"]).optional(),tools:w.z.array(w.z.string()).optional(),execution_eligibility:w.z.array(w.z.enum(["interaction","delivery"])).optional()}).optional(),verifier:w.z.object({id:w.z.string().min(1),model:w.z.string().min(1),reasoning_effort:w.z.enum(["low","medium","high","xhigh"]).optional(),tools:w.z.array(w.z.string()).optional(),execution_eligibility:w.z.array(w.z.enum(["interaction","delivery"])).optional()}).optional(),commit:w.z.object({agent:w.z.enum(["CODEX","CLAUDE"]),execution_id:w.z.string().min(1),change_id:w.z.string().min(1),task_id:w.z.string().min(1),title:w.z.string().min(1),prd_id:w.z.string().min(1).nullable(),spec_id:w.z.string().min(1).nullable()}).strict().optional(),runtime:Zu.optional(),model_profile:uo.optional(),assurance_contract:oN.optional(),outcome_measurement:q5.optional(),status:w.z.enum(["planned","running","completed","failed","blocked"]),worktree_path:w.z.string().min(1).nullable(),integration_commit:w.z.string().min(1).nullable(),changed_files:w.z.array(w.z.string().min(1)).default([]),task_run_id:w.z.string().min(1).nullable().default(null),finalizer_approved:w.z.boolean().default(!1),closure_pending:w.z.boolean().default(!1),finalization_pending:w.z.boolean().default(!1),lifecycle_cleanup:w.z.object({handoff_path:w.z.string().min(1),invocation_run_id:w.z.string().min(1).nullable(),task_run_id:w.z.string().min(1).nullable(),invocation_finished:w.z.boolean(),task_finished:w.z.boolean(),last_error:w.z.string().nullable()}).strict().optional(),active_invocation:F5.nullable(),active_diagnostic:w.z.object({invocation_id:w.z.string().regex(/^INV-[A-Z0-9-]+$/),run_id:w.z.string().min(1).nullable(),status:w.z.enum(["requested","completed","blocked"]),cycle:w.z.union([w.z.literal(1),w.z.literal(2),w.z.literal(3)]),evidence_fingerprint:w.z.string().regex(/^[a-f0-9]{64}$/),executor_attempt_id:w.z.string().min(1).nullable(),handback:Ju.nullable()}).strict().nullable().default(null),handback:Ju.nullable().default(null),last_executor_invocation_id:w.z.string().min(1).nullable().default(null),rework_profile:z5.nullable().default(null),sdc:D5,validation_ids:w.z.array(w.z.string().min(1)),evidence:w.z.array(Iv),outcome_projection:y0.nullable().default(null),validation_attempts:w.z.array(W5).default([]),convergence_observations:w.z.array(B5).default([]),qa_session:H5.nullable().default(null),qa_pending_resolutions:w.z.array(w.z.object({finding_id:w.z.string().min(1),evidence_id:w.z.string().min(1)}).strict()).default([]),qa_approval_observed:w.z.boolean().default(!1),qa_review_candidate_fingerprint:w.z.string().regex(/^[a-f0-9]{64}$/).nullable().default(null),last_error:w.z.string().min(1).nullable()}).strict(),Yfe=w.z.object({schema_version:w.z.literal(1),execution_id:w.z.string().min(1),lease_ms:w.z.number().int().min(5e3).max(Number.MAX_SAFE_INTEGER).nullable().default(null),source:w.z.enum(["task","spec","prd"]),operational_context:V5.default({provider:"codex",host_authentication_available:!1,requires_external_provider:!1,requires_remote_operation:!1}),status:w.z.enum(["running","completed","failed","blocked"]),revision:w.z.number().int().nonnegative(),created_at:Cv,updated_at:Cv,execution_started_at:Cv.nullable().default(null),invocation_count:w.z.number().int().nonnegative().default(0),stalled_cycles:w.z.number().int().nonnegative().default(0),handoff_worktree_path:w.z.string().min(1).nullable().default(null),handoff_branch:w.z.string().min(1).nullable().default(null),handoff_commit:w.z.string().min(1).nullable().default(null),parent_acceptance:w.z.object({run_id:w.z.string().min(1).nullable(),finalizer_run_id:w.z.string().min(1).nullable().default(null),invocation_id:w.z.string().regex(/^INV-[A-Z0-9-]+$/).nullable().default(null),checkpoint_id:w.z.string().min(1).nullable().default(null),checkpoint_hash:w.z.string().min(1).nullable().default(null),candidate:w.z.object({handoff_worktree_path:w.z.string().min(1),handoff_commit:w.z.string().min(1),validation_ids:w.z.array(w.z.string().min(1)),evidence:w.z.array(Iv),task_outcomes:w.z.array(w.z.object({task_id:w.z.string().min(1),integration_commit:w.z.string().min(1),changed_files:w.z.array(w.z.string().min(1)),outcome_projection:y0.nullable()}).strict())}).strict().nullable().default(null),decision_observed:w.z.boolean().default(!1),decision:Uc.optional(),status:w.z.enum(["pending","approved","blocked"])}).default({run_id:null,finalizer_run_id:null,invocation_id:null,checkpoint_id:null,checkpoint_hash:null,candidate:null,decision_observed:!1,status:"pending"}),tasks:w.z.array(J5).min(1),last_error:w.z.string().min(1).nullable()}).strict()});var Nv=O(()=>{"use strict"});var v0=O(()=>{"use strict";$c();vv();Tv();yp();s0();xv();m0();f0();vp();g0();Rv();qn();h0();Ov();Dc();kp();Nv()});var b0=O(()=>{"use strict"});var S0=O(()=>{"use strict"});var k0=O(()=>{"use strict"});var w0=O(()=>{"use strict";ze();k0();kp()});var E0=O(()=>{"use strict"});var A0=O(()=>{"use strict";ze();E0()});var T0=O(()=>{"use strict";QN();v0();b0();pp();S0();vp();w0();Sv();fp();A0();Dc();kp();Nv();kv();hp()});var Pv=O(()=>{"use strict";ze()});var x0=O(()=>{"use strict";ze();qo();Pv()});var R0=O(()=>{"use strict";x0();Pv()});function K5(e){return{verification_scope:e==="lite"?"scoped":e==="standard"?"package":"full"}}function O0(e,t){let n=wp.parse(t??K5(e));if(e!=="critical"&&(n.security_or_critical_data||n.data_migration||n.irreversible_change))throw new Error("Security, migration or irreversible risk signals require a critical Task");if(n.editorial_delivery===!0){if(e!=="lite")throw new Error("Editorial delivery risk signal requires a lite Task");if(n.production_impact===!0||n.external_action===!0||n.irreversible_change===!0||n.security_or_critical_data===!0||n.data_migration===!0||n.broad_audit===!0||n.rollback!==void 0&&n.rollback!=="trivial")throw new Error("Editorial delivery risk signal cannot include sensitive or critical controls");if(n.verification_scope!==void 0&&n.verification_scope!=="scoped")throw new Error("Editorial delivery risk signal requires scoped verification")}return n}var Vn,wp,$v=O(()=>{"use strict";Vn=Me(Ue(),1),wp=Vn.z.object({editorial_delivery:Vn.z.boolean().optional(),production_impact:Vn.z.boolean().optional(),external_action:Vn.z.boolean().optional(),irreversible_change:Vn.z.boolean().optional(),security_or_critical_data:Vn.z.boolean().optional(),data_migration:Vn.z.boolean().optional(),broad_audit:Vn.z.boolean().optional(),rollback:Vn.z.enum(["trivial","planned","complex"]).optional(),verification_scope:Vn.z.enum(["scoped","package","cross_scope","full"]).optional()}).strict()});var Ei,Lv,Mv=O(()=>{"use strict";Ei=Me(Ue(),1),Lv=Ei.z.preprocess(e=>typeof e=="string"?{summary:e,changed_files:[],evidence_ids:[],completed_run_id:null}:e,Ei.z.object({summary:Ei.z.string().min(1),changed_files:Ei.z.array(Ei.z.string().min(1)),evidence_ids:Ei.z.array(Ei.z.string().startsWith("EVD-")),completed_run_id:Ei.z.string().startsWith("RUN-").nullable()}).strict())});function Dv(e){let t=e.status==="draft"?"Rascunho aguardando classifica\xE7\xE3o; pode possuir Run de conversa, mas nenhum Change ou Execution foi criado.":e.plan_hash===null?`Captura encerrada como ${e.status} sem materializar Change ou Execution.`:`Plano ${e.plan_revision??"-"} materializado em ${e.change_id}; estado atual: ${e.status}.`,n=e.result?.summary??e.status_reason??"Ainda n\xE3o conclu\xEDda.",i=e.result?.evidence_ids.length?e.result.evidence_ids.map(r=>`- ${r}`).join(`
331
- `):"Nenhuma evid\xEAncia registrada.";return`# ${e.title}
331
+ `):e.plan_hash!==null?`O resultado final ainda n\xE3o possui uma lista consolidada de evid\xEAncias. Consulte os registros de evid\xEAncia do Change ${e.change_id}; evid\xEAncias parciais podem existir mesmo com a Task ${e.status}.`:"Nenhuma evid\xEAncia vinculada ao resultado desta captura.";return`# ${e.title}
332
332
 
333
333
  ## Objetivo
334
334
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-ui",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-e2e",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "files": [
5
5
  {
6
6
  "path": "DESIGN.md",
@@ -280,7 +280,7 @@
280
280
  },
281
281
  {
282
282
  "path": "apps/catalog/package.json",
283
- "sha256": "2f8eae4744b2610aeb56c3a1c0abe69a5a996fcbd4c5fb7e40bf9a9b55d35849"
283
+ "sha256": "fe5761559b44c2b1bfc9d10389dd28c37b2897d7aa2082d6b7f135ca8c421799"
284
284
  },
285
285
  {
286
286
  "path": "apps/catalog/public/logo_novo_azul.png",
@@ -416,7 +416,7 @@
416
416
  },
417
417
  {
418
418
  "path": "packages/local-runtime/package.json",
419
- "sha256": "f762f8b9d97963ac61095b2cd9c640fa220d51871ca8ab60fe32bc3e646fd282"
419
+ "sha256": "473b2066112c5043b8bc832c2ae06406fd71e9ef5cd2d776d52ebf46168e9af5"
420
420
  },
421
421
  {
422
422
  "path": "packages/local-runtime/runtime.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/design-catalog",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/design-local-runtime",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -6,7 +6,7 @@ title: Garantia adaptativa e execução autônoma
6
6
  status: active
7
7
  version: 6
8
8
  source_change: null
9
- source_release: "5.3.0"
9
+ source_release: "5.4.0"
10
10
  ---
11
11
 
12
12
  # Garantia adaptativa e execução autônoma
@@ -6,7 +6,7 @@ title: Autonomia delimitada para Cloudflare e Hostinger
6
6
  status: proposed
7
7
  version: 1
8
8
  source_change: null
9
- source_release: "5.3.0"
9
+ source_release: "5.4.0"
10
10
  ---
11
11
 
12
12
  # Cloudflare e Hostinger (proposta de requisito)
@@ -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: "5.3.0"
9
+ source_release: "5.4.0"
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: 9
8
8
  source_change: null
9
- source_release: "5.3.0"
9
+ source_release: "5.4.0"
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: "5.3.0"
9
+ source_release: "5.4.0"
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: "5.3.0"
9
+ source_release: "5.4.0"
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: "5.3.0"
9
+ source_release: "5.4.0"
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: 5
8
8
  source_change: null
9
- source_release: "5.3.0"
9
+ source_release: "5.4.0"
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: 13
8
8
  source_change: null
9
- source_release: "5.3.0"
9
+ source_release: "5.4.0"
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: "5.3.0"
9
+ source_release: "5.4.0"
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: 10
8
8
  source_change: null
9
- source_release: "5.3.0"
9
+ source_release: "5.4.0"
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: 10
8
8
  source_change: null
9
- source_release: "5.3.0"
9
+ source_release: "5.4.0"
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: "5.3.0"
9
+ source_release: "5.4.0"
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: "5.3.0"
9
+ source_release: "5.4.0"
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: 26
8
8
  source_change: null
9
- source_release: "5.3.0"
9
+ source_release: "5.4.0"
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: "5.3.0"
9
+ source_release: "5.4.0"
10
10
  ---
11
11
 
12
12
  # Evidências, custo por Task e autonomia por SPEC
@@ -1 +1 @@
1
- 5.3.0
1
+ 5.4.0