chati-dev 4.2.1 → 4.3.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 (222) hide show
  1. package/README.md +80 -53
  2. package/bin/chati.js +150 -5
  3. package/framework/agents/build/dev.md +509 -76
  4. package/framework/agents/deploy/devops.md +40 -25
  5. package/framework/agents/discover/brief.md +156 -22
  6. package/framework/agents/discover/brownfield-wu.md +24 -14
  7. package/framework/agents/discover/greenfield-wu.md +100 -14
  8. package/framework/agents/plan/architect-data-engineer.md +6 -6
  9. package/framework/agents/plan/architect-system.md +46 -12
  10. package/framework/agents/plan/architect.md +40 -20
  11. package/framework/agents/plan/detail.md +36 -24
  12. package/framework/agents/plan/phases.md +36 -26
  13. package/framework/agents/plan/tasks.md +114 -33
  14. package/framework/agents/plan/ux-brand-architect.md +240 -8
  15. package/framework/agents/plan/ux-component-engineer.md +28 -13
  16. package/framework/agents/plan/ux-researcher.md +7 -6
  17. package/framework/agents/plan/ux.md +55 -22
  18. package/framework/agents/quality/qa-implementation.md +143 -74
  19. package/framework/agents/quality/qa-planning.md +115 -42
  20. package/framework/agents/quality/qa-visual.md +439 -0
  21. package/framework/agents/shared/visualizer.md +128 -0
  22. package/framework/config.yaml +8 -7
  23. package/framework/constitution.md +127 -43
  24. package/framework/context/governance.md +12 -7
  25. package/framework/context/quality.md +6 -5
  26. package/framework/context/root.md +6 -6
  27. package/framework/data/entity-registry.yaml +377 -4
  28. package/framework/data/model-limits.json +19 -0
  29. package/framework/domains/agents/qa-visual.yaml +74 -0
  30. package/framework/domains/constitution.yaml +46 -2
  31. package/framework/domains/workflows/greenfield-fullstack.yaml +2 -2
  32. package/framework/hooks/advance-trigger.js +131 -0
  33. package/framework/hooks/brief-validator.js +83 -0
  34. package/framework/hooks/constitution-guard.js +91 -36
  35. package/framework/hooks/license-guard.js +129 -190
  36. package/framework/hooks/mode-governance.js +68 -16
  37. package/framework/hooks/model-governance.js +19 -8
  38. package/framework/hooks/package.json +3 -0
  39. package/framework/hooks/post-dev.js +207 -0
  40. package/framework/hooks/prism-engine.js +288 -105
  41. package/framework/hooks/read-protection.js +37 -9
  42. package/framework/hooks/reasoning-escalator.js +371 -0
  43. package/framework/hooks/reference-trigger.js +117 -0
  44. package/framework/hooks/session-digest.js +94 -20
  45. package/framework/hooks/settings.json +32 -1
  46. package/framework/hooks/style-guard.js +52 -13
  47. package/framework/hooks/team-quality-gate.js +58 -25
  48. package/framework/hooks/undercover-guard.js +34 -13
  49. package/framework/i18n/en.yaml +3 -3
  50. package/framework/i18n/es.yaml +3 -3
  51. package/framework/i18n/fr.yaml +3 -3
  52. package/framework/i18n/pt.yaml +3 -3
  53. package/framework/intelligence/context-engine.md +4 -5
  54. package/framework/intelligence/decision-engine.md +1 -1
  55. package/framework/intelligence/hooks-performance.md +3 -3
  56. package/framework/migrations/v1.0-to-v1.1.yaml +1 -1
  57. package/framework/migrations/v1.4-to-v2.0.yaml +11 -11
  58. package/framework/migrations/v4.0-to-v4.1.yaml +2 -2
  59. package/framework/migrations/v4.2-to-v4.3.yaml +29 -0
  60. package/framework/orchestrator/chati-router.js +387 -0
  61. package/framework/orchestrator/chati-update.md +40 -40
  62. package/framework/orchestrator/chati.md +318 -115
  63. package/framework/scaffold/motion-premium/README.md +89 -0
  64. package/framework/scaffold/motion-premium/app/globals.css.template +400 -0
  65. package/framework/scaffold/motion-premium/app/layout.tsx.template +110 -0
  66. package/framework/scaffold/motion-premium/components/animation/BackgroundCrossfadeProvider.tsx.template +170 -0
  67. package/framework/scaffold/motion-premium/components/animation/LenisProvider.tsx.template +49 -0
  68. package/framework/scaffold/motion-premium/components/animation/PageTransitionWrapper.tsx.template +83 -0
  69. package/framework/scaffold/motion-premium/components/animation/Preloader.tsx.template +171 -0
  70. package/framework/scaffold/motion-premium/components/ui/Container.tsx.template +69 -0
  71. package/framework/scaffold/motion-premium/components/ui/PageSection.tsx.template +74 -0
  72. package/framework/scaffold/motion-premium/lib/animations/gsap.ts.template +112 -0
  73. package/framework/scaffold/motion-premium/lib/animations/refreshCoordinator.ts.template +75 -0
  74. package/framework/scaffold/motion-premium/lib/animations/tokens.ts.template +119 -0
  75. package/framework/scaffold/motion-premium/lib/animations/useGsapContext.ts.template +92 -0
  76. package/framework/scaffold/motion-premium/lib/animations/useScrollSnapStepper.ts.template +265 -0
  77. package/framework/scaffold/motion-premium/lib/animations/useSmoothScroll.ts.template +67 -0
  78. package/framework/scaffold/motion-premium/lib/brand.ts.template +43 -0
  79. package/framework/scaffold/motion-premium/scaffold.yaml +174 -0
  80. package/framework/scaffold/motion-premium-3d/README.md +80 -0
  81. package/framework/scaffold/motion-premium-3d/app/(3d)/scroll-demo/ScrollDemoCanvas.tsx.template +81 -0
  82. package/framework/scaffold/motion-premium-3d/app/(3d)/scroll-demo/ScrollDemoClient.tsx.template +75 -0
  83. package/framework/scaffold/motion-premium-3d/app/(3d)/scroll-demo/page.tsx.template +26 -0
  84. package/framework/scaffold/motion-premium-3d/components/3d/CameraRig.tsx.template +100 -0
  85. package/framework/scaffold/motion-premium-3d/components/3d/CanvasProvider.tsx.template +85 -0
  86. package/framework/scaffold/motion-premium-3d/components/3d/InvalidateOnScroll.tsx.template +51 -0
  87. package/framework/scaffold/motion-premium-3d/components/3d/MeshCrossfade.tsx.template +79 -0
  88. package/framework/scaffold/motion-premium-3d/components/3d/ScrollCrossfade.tsx.template +88 -0
  89. package/framework/scaffold/motion-premium-3d/components/3d/ScrollScene.tsx.template +121 -0
  90. package/framework/scaffold/motion-premium-3d/components/webgl/SceneFallback.tsx.template +65 -0
  91. package/framework/scaffold/motion-premium-3d/components/webgl/WebGLContext.tsx.template +68 -0
  92. package/framework/scaffold/motion-premium-3d/lib/webgl/detect.ts.template +69 -0
  93. package/framework/scaffold/motion-premium-3d/scaffold.yaml +133 -0
  94. package/framework/schemas/session.schema.json +109 -21
  95. package/framework/scripts/reference-capture.js +430 -0
  96. package/framework/scripts/visual-qa.js +674 -0
  97. package/framework/tasks/orchestrator-handoff.md +1 -1
  98. package/framework/tasks/orchestrator-resume.md +1 -1
  99. package/framework/tasks/orchestrator-route.md +1 -1
  100. package/framework/tasks/orchestrator-status.md +3 -3
  101. package/framework/tasks/qa-planning-gate-define.md +1 -1
  102. package/framework/templates/brandbook-html-tmpl.md +1 -1
  103. package/framework/templates/brandbook-tmpl.yaml +1 -1
  104. package/framework/templates/component-spec-tmpl.yaml +1 -1
  105. package/framework/templates/design-token-tmpl.yaml +1 -1
  106. package/framework/templates/icon-system-tmpl.yaml +1 -1
  107. package/framework/templates/team-planning-tasks.yaml +6 -5
  108. package/framework/workflows/brownfield-discovery.yaml +2 -2
  109. package/framework/workflows/brownfield-fullstack.yaml +15 -11
  110. package/framework/workflows/brownfield-service.yaml +14 -10
  111. package/framework/workflows/brownfield-ui.yaml +15 -11
  112. package/framework/workflows/greenfield-fullstack.yaml +16 -13
  113. package/framework/workflows/quick-flow.yaml +3 -3
  114. package/framework/workflows/standard-flow.yaml +12 -9
  115. package/package.json +10 -5
  116. package/src/autonomy/autonomous-gate.js +1 -0
  117. package/src/autonomy/build-state.js +1 -2
  118. package/src/autonomy/progress-reporter.js +1 -1
  119. package/src/config/agent-customizer.js +11 -3
  120. package/src/config/claude-settings-generator.js +226 -0
  121. package/src/config/context-file-generator.js +41 -21
  122. package/src/config/framework-adapter.js +1 -0
  123. package/src/config/gemini-hooks-generator.js +76 -6
  124. package/src/config/mcp-configs.js +1 -0
  125. package/src/context/layers/l1-global.js +2 -1
  126. package/src/dashboard/data-reader.js +4 -3
  127. package/src/dashboard/layout.js +2 -1
  128. package/src/decision/analyzer.js +6 -30
  129. package/src/decision/engine.js +4 -28
  130. package/src/decision/registry-healer.js +3 -2
  131. package/src/decision/registry-updater.js +23 -14
  132. package/src/extensions/loader.js +2 -8
  133. package/src/gates/g1-planning-complete.js +2 -1
  134. package/src/gates/g2-qa-planning.js +2 -1
  135. package/src/gates/g3-implementation.js +2 -1
  136. package/src/gates/g4-qa-implementation.js +3 -2
  137. package/src/gates/g5-deploy-ready.js +2 -1
  138. package/src/health/engine.js +4 -3
  139. package/src/installer/core.js +557 -81
  140. package/src/installer/preflight.js +131 -0
  141. package/src/installer/provider-overlay.js +3 -3
  142. package/src/installer/scaffold-applier.js +358 -0
  143. package/src/installer/templates.js +52 -31
  144. package/src/installer/validator.js +17 -12
  145. package/src/intelligence/registry-manager.js +22 -29
  146. package/src/intelligence/timeline.js +11 -6
  147. package/src/license/commands.js +1 -1
  148. package/src/license/wait.js +102 -0
  149. package/src/memory/agent-memory.js +81 -0
  150. package/src/memory/dream.js +32 -1
  151. package/src/merger/replace-merger.js +28 -15
  152. package/src/orchestrator/agent-selector.js +2 -1
  153. package/src/orchestrator/cli.js +1908 -80
  154. package/src/orchestrator/doctor.js +270 -0
  155. package/src/orchestrator/handoff-engine.js +4 -3
  156. package/src/orchestrator/index.js +2 -0
  157. package/src/orchestrator/pipeline-manager.js +306 -15
  158. package/src/orchestrator/session-manager.js +331 -6
  159. package/src/tasks/handoff.js +3 -2
  160. package/src/telemetry/config.js +4 -3
  161. package/src/telemetry/schema.js +1 -0
  162. package/src/terminal/collector.js +3 -2
  163. package/src/terminal/index.js +1 -2
  164. package/src/terminal/isolation.js +52 -18
  165. package/src/terminal/prompt-builder.js +42 -25
  166. package/src/terminal/run-parallel.js +1 -1
  167. package/src/terminal/run-team.js +3 -3
  168. package/src/terminal/team-task-list.js +43 -4
  169. package/src/upgrade/backup.js +3 -2
  170. package/src/upgrade/checker.js +3 -2
  171. package/src/upgrade/migrator.js +65 -7
  172. package/src/upgrade/tracked-files-detector.js +86 -0
  173. package/src/upgrade/user-messages.js +94 -0
  174. package/src/utils/config-parser.js +2 -1
  175. package/src/utils/feature-flags.js +2 -1
  176. package/src/utils/flatten-entities.js +69 -0
  177. package/src/utils/framework-dir.js +16 -0
  178. package/src/utils/model-id.js +85 -0
  179. package/src/utils/provider-limits.js +84 -23
  180. package/src/utils/schema-validator.js +1 -1
  181. package/src/wizard/i18n.js +5 -4
  182. package/src/wizard/index.js +14 -0
  183. package/assets/logo - c/303/263pia.png +0 -0
  184. package/assets/logo.svg +0 -42
  185. package/assets/logo2.png +0 -0
  186. package/assets/social-preview.png +0 -0
  187. package/scripts/bundle-framework.js +0 -69
  188. package/scripts/changelog-generator.js +0 -222
  189. package/scripts/codebase-mapper.js +0 -728
  190. package/scripts/commit-message-generator.js +0 -167
  191. package/scripts/coverage-analyzer.js +0 -260
  192. package/scripts/dependency-analyzer.js +0 -280
  193. package/scripts/doctor/checks/agents.js +0 -77
  194. package/scripts/doctor/checks/constitution.js +0 -41
  195. package/scripts/doctor/checks/domain-alignment.js +0 -58
  196. package/scripts/doctor/checks/prism-layers.js +0 -84
  197. package/scripts/doctor/checks/registry.js +0 -55
  198. package/scripts/doctor/checks/schemas.js +0 -61
  199. package/scripts/doctor/fixes/reference-fix.js +0 -100
  200. package/scripts/doctor/fixes/registry-fix.js +0 -56
  201. package/scripts/doctor/index.js +0 -212
  202. package/scripts/framework-analyzer.js +0 -308
  203. package/scripts/generate-constitution-domain.js +0 -253
  204. package/scripts/generate-signing-key.js +0 -33
  205. package/scripts/health-check.js +0 -481
  206. package/scripts/ide-sync.js +0 -326
  207. package/scripts/performance-analyzer.js +0 -325
  208. package/scripts/plan-tracker.js +0 -278
  209. package/scripts/populate-entity-registry.js +0 -481
  210. package/scripts/pr-review.js +0 -317
  211. package/scripts/rollback-manager.js +0 -310
  212. package/scripts/semantic-lint.js +0 -328
  213. package/scripts/sign-manifest.js +0 -53
  214. package/scripts/stuck-detector.js +0 -343
  215. package/scripts/test-quality-assessment.js +0 -257
  216. package/scripts/validate-agents.js +0 -368
  217. package/scripts/validate-package.js +0 -367
  218. package/scripts/validate-tasks.js +0 -465
  219. package/src/autonomy/worktree-manager.js +0 -250
  220. package/src/intelligence/decision-engine.js +0 -256
  221. package/src/intelligence/document-sharder.js +0 -221
  222. package/src/intelligence/elicitation.js +0 -265
@@ -3,9 +3,9 @@
3
3
  # and by the Health Check for system integrity validation.
4
4
 
5
5
  metadata:
6
- version: "4.1.6"
7
- last_updated: "2026-04-06T00:00:00Z"
8
- entity_count: 62
6
+ version: "4.3.0"
7
+ last_updated: "2026-04-14T00:00:00Z"
8
+ entity_count: 100
9
9
  checksum_algorithm: sha256
10
10
 
11
11
  entities:
@@ -98,6 +98,14 @@ entities:
98
98
  dependencies: [qa-gate-template, implementation-gate, session-schema]
99
99
  adaptability: 0.3
100
100
 
101
+ qa-visual:
102
+ path: chati.dev/agents/quality/qa-visual.md
103
+ type: agent
104
+ purpose: "Validate visual quality — screenshots, animations, brandbook compliance, interaction states"
105
+ keywords: [qa, visual, screenshots, animations, brandbook, gsap, lenis, playwright]
106
+ dependencies: [brandbook, ux-specification, session-schema]
107
+ adaptability: 0.3
108
+
101
109
  dev:
102
110
  path: chati.dev/agents/build/dev.md
103
111
  type: agent
@@ -305,7 +313,7 @@ entities:
305
313
  constitution:
306
314
  path: chati.dev/constitution.md
307
315
  type: governance
308
- purpose: "19 Articles + Preamble governing all agent behavior"
316
+ purpose: "23 Articles + Preamble governing all agent behavior"
309
317
  keywords: [constitution, governance, rules, articles, enforcement]
310
318
  dependencies: []
311
319
  adaptability: 0.1
@@ -517,3 +525,368 @@ entities:
517
525
  keywords: [config, version, installation, settings]
518
526
  dependencies: [config-schema]
519
527
  adaptability: 0.3
528
+
529
+ hooks:
530
+ constitution-guard:
531
+ path: chati.dev/hooks/constitution-guard.js
532
+ type: hook
533
+ purpose: "Enforce constitution rules on every agent output — blocks non-compliant actions"
534
+ keywords: [hook, constitution, enforcement, governance, blocking]
535
+ dependencies: [constitution]
536
+ adaptability: 0.1
537
+
538
+ license-guard:
539
+ path: chati.dev/hooks/license-guard.js
540
+ type: hook
541
+ purpose: "Validate active license before allowing framework operations"
542
+ keywords: [hook, license, validation, enforcement, access-control]
543
+ dependencies: [constitution]
544
+ adaptability: 0.1
545
+
546
+ mode-governance:
547
+ path: chati.dev/hooks/mode-governance.js
548
+ type: hook
549
+ purpose: "Enforce mode-based write scope and action restrictions (planning/build/deploy)"
550
+ keywords: [hook, mode, governance, write-scope, restrictions]
551
+ dependencies: [constitution]
552
+ adaptability: 0.1
553
+
554
+ model-governance:
555
+ path: chati.dev/hooks/model-governance.js
556
+ type: hook
557
+ purpose: "Enforce per-agent model selection rules and prevent unauthorized downgrades"
558
+ keywords: [hook, model, governance, agent, selection]
559
+ dependencies: [constitution]
560
+ adaptability: 0.2
561
+
562
+ prism-engine:
563
+ path: chati.dev/hooks/prism-engine.js
564
+ type: hook
565
+ purpose: "Inject bracket-aware context into every agent turn via the PRISM engine"
566
+ keywords: [hook, prism, context, injection, brackets, layers]
567
+ dependencies: [context-engine, constitution]
568
+ adaptability: 0.2
569
+
570
+ read-protection:
571
+ path: chati.dev/hooks/read-protection.js
572
+ type: hook
573
+ purpose: "Block unauthorized reads of protected framework files outside allowed scope"
574
+ keywords: [hook, read, protection, security, access-control]
575
+ dependencies: [constitution]
576
+ adaptability: 0.1
577
+
578
+ session-digest:
579
+ path: chati.dev/hooks/session-digest.js
580
+ type: hook
581
+ purpose: "PreCompact hook — saves session digest and triggers memory consolidation"
582
+ keywords: [hook, session, digest, precompact, memory, consolidation]
583
+ dependencies: [memory-layer, memory-consolidation]
584
+ adaptability: 0.3
585
+
586
+ style-guard:
587
+ path: chati.dev/hooks/style-guard.js
588
+ type: hook
589
+ purpose: "Block disallowed style patterns (em-dashes, prohibited punctuation) from all outputs"
590
+ keywords: [hook, style, guard, em-dash, punctuation, enforcement]
591
+ dependencies: [constitution]
592
+ adaptability: 0.2
593
+
594
+ team-quality-gate:
595
+ path: chati.dev/hooks/team-quality-gate.js
596
+ type: hook
597
+ purpose: "Enforce Team Quality Gate (Article XXI) — validate all tasks complete and scores pass before team dissolves"
598
+ keywords: [hook, team, quality-gate, dissolution, article-xxi, scores]
599
+ dependencies: [constitution]
600
+ adaptability: 0.2
601
+
602
+ undercover-guard:
603
+ path: chati.dev/hooks/undercover-guard.js
604
+ type: hook
605
+ purpose: "Block framework-internal identifier leaks into deliverables (agent names, hook names, internal path prefixes)"
606
+ keywords: [hook, undercover, identifier, leak, guard, deliverables]
607
+ dependencies: [constitution]
608
+ adaptability: 0.2
609
+
610
+ reasoning-escalator:
611
+ path: chati.dev/hooks/reasoning-escalator.js
612
+ type: hook
613
+ purpose: "Article XXIII tier evaluator (UserPromptSubmit) + deliberate-tier plan gate (PreToolUse Write/Edit). Locale-aware friction keywords."
614
+ keywords: [hook, reasoning, tier, article-xxiii, friction, plan, deliberate]
615
+ dependencies: [constitution]
616
+ adaptability: 0.2
617
+
618
+ advance-trigger:
619
+ path: chati.dev/hooks/advance-trigger.js
620
+ type: hook
621
+ purpose: "PostToolUse (Write) — detect agent handoff writes and auto-advance the pipeline deterministically"
622
+ keywords: [hook, posttooluse, handoff, advance, pipeline, autonomous]
623
+ dependencies: [constitution, session-manager]
624
+ adaptability: 0.2
625
+
626
+ reference-trigger:
627
+ path: chati.dev/hooks/reference-trigger.js
628
+ type: hook
629
+ purpose: "PostToolUse (Write) — spawn reference-capture.js in background when brief-report.md is written"
630
+ keywords: [hook, posttooluse, brief, reference, capture, background]
631
+ dependencies: [brief]
632
+ adaptability: 0.2
633
+
634
+ brief-validator:
635
+ path: chati.dev/hooks/brief-validator.js
636
+ type: hook
637
+ purpose: "PostToolUse (Write) — validate brief-report.md completeness when brief-handoff.md lands"
638
+ keywords: [hook, posttooluse, brief, validator, handoff]
639
+ dependencies: [brief]
640
+ adaptability: 0.2
641
+
642
+ post-dev:
643
+ path: chati.dev/hooks/post-dev.js
644
+ type: hook
645
+ purpose: "PostToolUse (Write) — autonomous-completion v1 ADR-AUTO-06. Spawns visual-qa.js detached on dev-handoff write."
646
+ keywords: [hook, posttooluse, autonomous-completion, visual-qa, dev-handoff]
647
+ dependencies: [dev, qa-visual]
648
+ adaptability: 0.2
649
+
650
+ scripts:
651
+ visual-qa:
652
+ path: chati.dev/scripts/visual-qa.js
653
+ type: script
654
+ purpose: "Visual QA script — captures screenshots via Playwright for qa-visual agent validation"
655
+ keywords: [script, visual-qa, playwright, screenshots, animations, validation]
656
+ dependencies: [qa-visual]
657
+ adaptability: 0.5
658
+
659
+ scaffold:
660
+ motion-premium:
661
+ path: chati.dev/scaffold/motion-premium/scaffold.yaml
662
+ type: scaffold
663
+ purpose: "Premium animation infrastructure preset — GSAP + Lenis + cinematic providers. 15 files across foundation/animations/providers/ui-contract phases."
664
+ keywords: [scaffold, motion, premium, gsap, lenis, framer-motion, animation, phase-10]
665
+ dependencies: [ux-brand-architect]
666
+ adaptability: 0.4
667
+
668
+ motion-premium-3d:
669
+ path: chati.dev/scaffold/motion-premium-3d/scaffold.yaml
670
+ type: scaffold
671
+ purpose: "R3F + Three.js scroll-driven 3D layer. Extends motion-premium with 12 templates across webgl/canvas/scroll-scene/demo phases. Disjoint target paths."
672
+ keywords: [scaffold, motion, premium, 3d, r3f, three, webgl, scroll, phase-10]
673
+ dependencies: [motion-premium, ux-brand-architect]
674
+ adaptability: 0.4
675
+
676
+ context:
677
+ context-governance:
678
+ path: chati.dev/context/governance.md
679
+ type: governance
680
+ purpose: "Governance rules extracted from constitution — mode, execution profile, anti-loop, agent teams"
681
+ keywords: [context, governance, rules, mode, constitution]
682
+ dependencies: [constitution]
683
+ adaptability: 0.2
684
+
685
+ context-protocols:
686
+ path: chati.dev/context/protocols.md
687
+ type: governance
688
+ purpose: "8 universal protocols that apply to all agents — self-validation, loop, handoff, language"
689
+ keywords: [context, protocols, agents, universal, handoff, validation]
690
+ dependencies: [constitution]
691
+ adaptability: 0.2
692
+
693
+ context-quality:
694
+ path: chati.dev/context/quality.md
695
+ type: governance
696
+ purpose: "Quality standards — gate thresholds, pipeline gates, blocker taxonomy, fault vector protocol"
697
+ keywords: [context, quality, gates, thresholds, blockers, fvp]
698
+ dependencies: [constitution]
699
+ adaptability: 0.2
700
+
701
+ context-root:
702
+ path: chati.dev/context/root.md
703
+ type: governance
704
+ purpose: "System context overview — version, pipeline, key references, how to use"
705
+ keywords: [context, root, system, pipeline, overview, references]
706
+ dependencies: [constitution]
707
+ adaptability: 0.2
708
+
709
+ domains:
710
+ domain-constitution:
711
+ path: chati.dev/domains/constitution.yaml
712
+ type: governance
713
+ purpose: "Domain definition for constitution governance — articles, rules, enforcement scope"
714
+ keywords: [domain, constitution, governance, articles]
715
+ dependencies: [constitution]
716
+ adaptability: 0.1
717
+
718
+ domain-global:
719
+ path: chati.dev/domains/global.yaml
720
+ type: governance
721
+ purpose: "Global domain definitions shared across all agents and pipeline phases"
722
+ keywords: [domain, global, shared, agents, pipeline]
723
+ dependencies: [constitution]
724
+ adaptability: 0.2
725
+
726
+ domain-agent-orchestrator:
727
+ path: chati.dev/domains/agents/orchestrator.yaml
728
+ type: governance
729
+ purpose: "Domain definition for orchestrator agent — routing rules, session scope"
730
+ keywords: [domain, orchestrator, routing, session]
731
+ dependencies: [orchestrator]
732
+ adaptability: 0.2
733
+
734
+ domain-agent-brief:
735
+ path: chati.dev/domains/agents/brief.yaml
736
+ type: governance
737
+ purpose: "Domain definition for brief agent — elicitation rules, output scope"
738
+ keywords: [domain, brief, elicitation, requirements]
739
+ dependencies: [brief]
740
+ adaptability: 0.3
741
+
742
+ domain-agent-brownfield-wu:
743
+ path: chati.dev/domains/agents/brownfield-wu.yaml
744
+ type: governance
745
+ purpose: "Domain definition for brownfield warm-up agent — discovery scope, codebase analysis"
746
+ keywords: [domain, brownfield, warm-up, discovery]
747
+ dependencies: [brownfield-wu]
748
+ adaptability: 0.3
749
+
750
+ domain-agent-detail:
751
+ path: chati.dev/domains/agents/detail.yaml
752
+ type: governance
753
+ purpose: "Domain definition for detail agent — PRD scope, specification rules"
754
+ keywords: [domain, detail, prd, specification]
755
+ dependencies: [detail]
756
+ adaptability: 0.3
757
+
758
+ domain-agent-architect:
759
+ path: chati.dev/domains/agents/architect.yaml
760
+ type: governance
761
+ purpose: "Domain definition for architect agent — architecture scope, technology decisions"
762
+ keywords: [domain, architect, architecture, technology]
763
+ dependencies: [architect]
764
+ adaptability: 0.2
765
+
766
+ domain-agent-ux:
767
+ path: chati.dev/domains/agents/ux.yaml
768
+ type: governance
769
+ purpose: "Domain definition for UX agent — design scope, interaction rules"
770
+ keywords: [domain, ux, design, interaction]
771
+ dependencies: [ux]
772
+ adaptability: 0.3
773
+
774
+ domain-agent-phases:
775
+ path: chati.dev/domains/agents/phases.yaml
776
+ type: governance
777
+ purpose: "Domain definition for phases agent — decomposition rules, MVP strategy"
778
+ keywords: [domain, phases, decomposition, mvp]
779
+ dependencies: [phases]
780
+ adaptability: 0.3
781
+
782
+ domain-agent-tasks:
783
+ path: chati.dev/domains/agents/tasks.yaml
784
+ type: governance
785
+ purpose: "Domain definition for tasks agent — task creation rules, acceptance criteria scope"
786
+ keywords: [domain, tasks, acceptance-criteria, execution]
787
+ dependencies: [tasks]
788
+ adaptability: 0.3
789
+
790
+ domain-agent-qa-planning:
791
+ path: chati.dev/domains/agents/qa-planning.yaml
792
+ type: governance
793
+ purpose: "Domain definition for QA-Planning agent — planning validation rules and thresholds"
794
+ keywords: [domain, qa-planning, validation, planning-gate]
795
+ dependencies: [qa-planning]
796
+ adaptability: 0.2
797
+
798
+ domain-agent-qa-implementation:
799
+ path: chati.dev/domains/agents/qa-implementation.yaml
800
+ type: governance
801
+ purpose: "Domain definition for QA-Implementation agent — implementation validation rules"
802
+ keywords: [domain, qa-implementation, validation, implementation-gate]
803
+ dependencies: [qa-implementation]
804
+ adaptability: 0.2
805
+
806
+ domain-agent-qa-visual:
807
+ path: chati.dev/domains/agents/qa-visual.yaml
808
+ type: governance
809
+ purpose: "Domain definition for QA-Visual agent — visual validation rules, screenshot scope"
810
+ keywords: [domain, qa-visual, visual, screenshots, animations]
811
+ dependencies: [qa-visual]
812
+ adaptability: 0.2
813
+
814
+ domain-agent-dev:
815
+ path: chati.dev/domains/agents/dev.yaml
816
+ type: governance
817
+ purpose: "Domain definition for dev agent — implementation scope, coding rules"
818
+ keywords: [domain, dev, implementation, coding]
819
+ dependencies: [dev]
820
+ adaptability: 0.3
821
+
822
+ domain-agent-devops:
823
+ path: chati.dev/domains/agents/devops.yaml
824
+ type: governance
825
+ purpose: "Domain definition for devops agent — deployment scope, infrastructure rules"
826
+ keywords: [domain, devops, deployment, infrastructure]
827
+ dependencies: [devops]
828
+ adaptability: 0.3
829
+
830
+ domain-agent-greenfield-wu:
831
+ path: chati.dev/domains/agents/greenfield-wu.yaml
832
+ type: governance
833
+ purpose: "Domain definition for greenfield warm-up agent — context analysis scope"
834
+ keywords: [domain, greenfield, warm-up, context]
835
+ dependencies: [greenfield-wu]
836
+ adaptability: 0.3
837
+
838
+ domain-workflow-greenfield-fullstack:
839
+ path: chati.dev/domains/workflows/greenfield-fullstack.yaml
840
+ type: governance
841
+ purpose: "Domain definition for greenfield fullstack workflow — pipeline step rules"
842
+ keywords: [domain, workflow, greenfield, fullstack]
843
+ dependencies: [greenfield-fullstack]
844
+ adaptability: 0.3
845
+
846
+ domain-workflow-brownfield-discovery:
847
+ path: chati.dev/domains/workflows/brownfield-discovery.yaml
848
+ type: governance
849
+ purpose: "Domain definition for brownfield discovery workflow — analysis step rules"
850
+ keywords: [domain, workflow, brownfield, discovery]
851
+ dependencies: [brownfield-discovery]
852
+ adaptability: 0.3
853
+
854
+ domain-workflow-brownfield-fullstack:
855
+ path: chati.dev/domains/workflows/brownfield-fullstack.yaml
856
+ type: governance
857
+ purpose: "Domain definition for brownfield fullstack workflow — pipeline step rules"
858
+ keywords: [domain, workflow, brownfield, fullstack]
859
+ dependencies: [brownfield-fullstack]
860
+ adaptability: 0.3
861
+
862
+ domain-workflow-brownfield-ui:
863
+ path: chati.dev/domains/workflows/brownfield-ui.yaml
864
+ type: governance
865
+ purpose: "Domain definition for brownfield UI workflow — frontend change rules"
866
+ keywords: [domain, workflow, brownfield, ui, frontend]
867
+ dependencies: [brownfield-ui]
868
+ adaptability: 0.4
869
+
870
+ domain-workflow-brownfield-service:
871
+ path: chati.dev/domains/workflows/brownfield-service.yaml
872
+ type: governance
873
+ purpose: "Domain definition for brownfield service workflow — backend change rules"
874
+ keywords: [domain, workflow, brownfield, service, backend]
875
+ dependencies: [brownfield-service]
876
+ adaptability: 0.4
877
+
878
+ domain-workflow-quick-flow:
879
+ path: chati.dev/domains/workflows/quick-flow.yaml
880
+ type: governance
881
+ purpose: "Domain definition for quick flow workflow — fast-track pipeline rules"
882
+ keywords: [domain, workflow, quick, fast-track, hotfix]
883
+ dependencies: [quick-flow]
884
+ adaptability: 0.4
885
+
886
+ domain-workflow-standard-flow:
887
+ path: chati.dev/domains/workflows/standard-flow.yaml
888
+ type: governance
889
+ purpose: "Domain definition for standard flow workflow — balanced pipeline rules"
890
+ keywords: [domain, workflow, standard, balanced, feature]
891
+ dependencies: [standard-flow]
892
+ adaptability: 0.4
@@ -0,0 +1,19 @@
1
+ {
2
+ "$comment": "Single source of truth for context window limits (tokens) per provider and model. Consumed by packages/chati-dev/src/utils/provider-limits.js AND chati.dev/hooks/prism-engine.js. Scan-stale check #25 asserts provider-limits.js fallback matches this file. 2026-04-18 (context-window-auto-detect-v2): opus family resolves to 1M by default (the prior 200K fallback was a regression-lock from PR #3 when Opus 200K + Opus 1M shipped side-by-side; current Claude Opus 4.7 is uniformly 1M). The opus[1m] key is retained as a backwards-compat alias and resolves identically. Baseline appendix 2026-04-18-a documents the regression-lock removal with the new invariant: `MODEL_LIMITS.opus >= 1_000_000`. Model keys follow parseClaudeModelId's normalized shape: `<family>` or `<family>[<variant>]`. Non-Claude providers keep bare family keys (pro, flash, codex).",
3
+ "updated_at": "2026-04-18T00:00:00Z",
4
+ "providers": {
5
+ "claude": 1000000,
6
+ "gemini": 1000000,
7
+ "codex": 128000
8
+ },
9
+ "models": {
10
+ "opus": 1000000,
11
+ "opus[1m]": 1000000,
12
+ "sonnet": 1000000,
13
+ "sonnet[1m]": 1000000,
14
+ "haiku": 200000,
15
+ "pro": 1000000,
16
+ "flash": 1000000,
17
+ "codex": 128000
18
+ }
19
+ }
@@ -0,0 +1,74 @@
1
+ # QA Visual Agent Domain — Authority boundaries and behavioral rules for PRISM L2
2
+
3
+ mission: "Validate visual quality of UI implementation — screenshots, animations, brandbook compliance, and interaction states."
4
+
5
+ authority:
6
+ exclusive:
7
+ - screenshot_analysis
8
+ - animation_verification
9
+ - brandbook_compliance_check
10
+ - visual_qa_verdict
11
+ allowed:
12
+ - read_any_file
13
+ - run_playwright
14
+ - capture_screenshots
15
+ - read_brandbook
16
+ - read_ux_specification
17
+ blocked:
18
+ - code_implementation
19
+ - architecture_modification
20
+ - deployment
21
+ - style_changes
22
+ redirectMessage: "QA Visual validates visual quality. Dev agent fixes visual issues found."
23
+
24
+ outputs:
25
+ - artifacts/handoffs/qa-visual
26
+
27
+ rules:
28
+ - id: qav-screenshots
29
+ text: >
30
+ Screenshots MUST be captured at minimum 5 scroll positions (top, 25%, 50%, 75%, bottom)
31
+ plus all interactive states (hover, active, focus, disabled). Missing screenshots block APPROVED.
32
+ priority: critical
33
+
34
+ - id: qav-animation
35
+ text: >
36
+ GSAP and Lenis presence MUST be verified when the project's ux-specification.md specifies
37
+ premium animations. Verify: GSAP loaded, ScrollTrigger active, Lenis scroll initialized,
38
+ scroll reveal triggers firing at correct thresholds.
39
+ priority: critical
40
+
41
+ - id: qav-brandbook
42
+ text: >
43
+ Every visual element MUST comply with brandbook.md — colors, typography, spacing, component
44
+ style. Deviations from brandbook are BLOCKING findings (C-level).
45
+ priority: critical
46
+
47
+ - id: qav-verdict
48
+ text: "Verdict must be one of: APPROVED, NEEDS_REVISION, or BLOCKED."
49
+ priority: critical
50
+
51
+ - id: qav-adversarial
52
+ text: >
53
+ ADVERSARIAL REVIEW: Every visual QA pass MUST identify minimum 3 visual findings
54
+ (spacing issues, color deviations, animation timing, responsiveness gaps, etc.).
55
+ Zero findings is suspiciously clean — trigger mandatory re-review with deeper analysis.
56
+ priority: critical
57
+
58
+ - id: qav-responsive
59
+ text: >
60
+ Validate at 3 breakpoints minimum: mobile (375px), tablet (768px), desktop (1440px).
61
+ Each breakpoint requires screenshot evidence.
62
+ priority: high
63
+
64
+ - id: qav-interaction
65
+ text: >
66
+ All interactive components (buttons, links, inputs, cards) MUST have verified hover states
67
+ with smooth transitions. Missing or janky transitions are WARNING-level findings.
68
+ priority: high
69
+
70
+ - id: qav-performance
71
+ text: >
72
+ Animations must run at 60fps. If any animation causes layout shift (CLS > 0.1) or
73
+ forces synchronous layout, flag as WARNING. Jank on scroll is a BLOCKING finding.
74
+ priority: high
@@ -1,5 +1,5 @@
1
1
  # Constitution Domain — Extracted governance rules for PRISM L0
2
- # Source: chati.dev/constitution.md (19 Articles + Preamble)
2
+ # Source: chati.dev/constitution.md (23 Articles + Preamble)
3
3
 
4
4
  summary: >
5
5
  Constitution governance: self-validation required (loop until tier-specific threshold met),
@@ -9,7 +9,7 @@ summary: >
9
9
  context brackets, memory governance, registry governance,
10
10
  session lock, model governance.
11
11
 
12
- articleCount: 19
12
+ articleCount: 22
13
13
 
14
14
  rules:
15
15
  - id: art-i
@@ -107,3 +107,47 @@ articles:
107
107
  priority: high
108
108
  - provider-context-files: "Context file generation is automatic when a provider is enabled."
109
109
  priority: normal
110
+ article-xx:
111
+ name: "Anti-Loop Protocol (3-Strike Rule)"
112
+ enforcement: block
113
+ rules:
114
+ - three-strike-rule: "3 edits to the same file without resolution = STOP. Mandatory Diagnosis Mode activates."
115
+ priority: critical
116
+ - diagnosis-mode: "Read complete file, trace execution path, state root cause in one sentence before any further edit."
117
+ priority: critical
118
+ - paradigm-change: "After diagnosis, use a different approach than what failed (e.g. CSS failed -> try JavaScript)."
119
+ priority: high
120
+ - escalation: "After 5 total attempts without resolution, present the situation honestly and ask for user direction."
121
+ priority: critical
122
+ - score-cap: "Task score is capped at 0% for anti-loop protocol violations."
123
+ priority: critical
124
+ article-xxi:
125
+ name: "Agent Teams Governance"
126
+ enforcement: block
127
+ rules:
128
+ - feature-flag: "Agent Teams is feature-flagged (agent_teams: true in config.yaml). Defaults to OFF for non-Claude providers."
129
+ priority: high
130
+ - canonical-teams: "Two canonical teams: Planning Team (Detail+Architect+UX+QA-Planning) and Build Team (Dev+QA-Implementation)."
131
+ priority: critical
132
+ - orchestrator-authority: "Only the orchestrator can form or dissolve teams. No agent may self-organize."
133
+ priority: critical
134
+ - intra-team-mailbox: "Intra-team communication uses the Team Mailbox. Cross-team communication is orchestrator-mediated."
135
+ priority: high
136
+ - team-quality-gate: "Team Quality Gate: all tasks complete + all scores pass tier threshold + mailbox clean."
137
+ priority: critical
138
+ - max-correction-cycles: "Maximum 2 Team Correction Cycles before degraded dissolution."
139
+ priority: high
140
+ - graceful-fallback: "Graceful fallback to sequential pipeline when Agent Teams is unavailable."
141
+ priority: high
142
+ article-xxii:
143
+ name: "Fault Vector Protocol"
144
+ enforcement: block
145
+ rules:
146
+ - root-layer-routing: "Classify fault origin (INTENT/SPEC/CODE/DEFER) before correction. Route to correct layer."
147
+ priority: critical
148
+ - evidence-bound-verdicts: "ERROR findings require tool evidence (lint/typecheck/test/screenshot). Without evidence, downgrade to SUGGESTION (non-blocking)."
149
+ priority: critical
150
+ - decision-trail: "Append-only log of known-bad states in session.yaml decision_trail[]. Agents read before iterating."
151
+ priority: high
152
+ - echo-detection: "Content-similarity >= 0.85 with prior Decision Trail entry = ECHO. Escalate immediately, no more automated loops."
153
+ priority: critical
@@ -19,8 +19,8 @@ rules:
19
19
  text: "Follow pipeline order strictly. WU must complete before Brief."
20
20
  priority: high
21
21
  - id: gf-parallel
22
- text: "Detail, Architect, and UX can run in parallel after Brief."
22
+ text: "Detail, Architect, and UX can run in parallel after Brief. QA-Planning activates after all three complete as 4th Planning Team member."
23
23
  priority: normal
24
24
  - id: gf-gate
25
- text: "QA-Planning gate must pass before entering BUILD phase."
25
+ text: "QA-Planning runs inside the Planning Team. Team dissolves only when QA-Planning approves (>= 95%)."
26
26
  priority: critical