chati-dev 1.3.3 → 2.0.1

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 (215) hide show
  1. package/README.md +7 -6
  2. package/framework/agents/build/dev.md +343 -0
  3. package/framework/agents/clarity/architect.md +113 -0
  4. package/framework/agents/clarity/brief.md +183 -0
  5. package/framework/agents/clarity/brownfield-wu.md +182 -0
  6. package/framework/agents/clarity/detail.md +111 -0
  7. package/framework/agents/clarity/greenfield-wu.md +154 -0
  8. package/framework/agents/clarity/phases.md +1 -0
  9. package/framework/agents/clarity/tasks.md +1 -0
  10. package/framework/agents/clarity/ux.md +113 -0
  11. package/framework/agents/deploy/devops.md +1 -0
  12. package/framework/agents/quality/qa-implementation.md +1 -0
  13. package/framework/agents/quality/qa-planning.md +1 -0
  14. package/framework/config.yaml +3 -3
  15. package/framework/constitution.md +58 -1
  16. package/framework/context/governance.md +37 -0
  17. package/framework/context/protocols.md +34 -0
  18. package/framework/context/quality.md +27 -0
  19. package/framework/context/root.md +24 -0
  20. package/framework/data/entity-registry.yaml +1 -1
  21. package/framework/domains/agents/architect.yaml +51 -0
  22. package/framework/domains/agents/brief.yaml +47 -0
  23. package/framework/domains/agents/brownfield-wu.yaml +49 -0
  24. package/framework/domains/agents/detail.yaml +47 -0
  25. package/framework/domains/agents/dev.yaml +49 -0
  26. package/framework/domains/agents/devops.yaml +43 -0
  27. package/framework/domains/agents/greenfield-wu.yaml +47 -0
  28. package/framework/domains/agents/orchestrator.yaml +49 -0
  29. package/framework/domains/agents/phases.yaml +47 -0
  30. package/framework/domains/agents/qa-implementation.yaml +43 -0
  31. package/framework/domains/agents/qa-planning.yaml +44 -0
  32. package/framework/domains/agents/tasks.yaml +48 -0
  33. package/framework/domains/agents/ux.yaml +50 -0
  34. package/framework/domains/constitution.yaml +77 -0
  35. package/framework/domains/global.yaml +64 -0
  36. package/framework/domains/workflows/brownfield-discovery.yaml +16 -0
  37. package/framework/domains/workflows/brownfield-fullstack.yaml +26 -0
  38. package/framework/domains/workflows/brownfield-service.yaml +22 -0
  39. package/framework/domains/workflows/brownfield-ui.yaml +22 -0
  40. package/framework/domains/workflows/greenfield-fullstack.yaml +26 -0
  41. package/framework/hooks/constitution-guard.js +101 -0
  42. package/framework/hooks/mode-governance.js +92 -0
  43. package/framework/hooks/model-governance.js +76 -0
  44. package/framework/hooks/prism-engine.js +89 -0
  45. package/framework/hooks/session-digest.js +60 -0
  46. package/framework/hooks/settings.json +44 -0
  47. package/framework/i18n/en.yaml +3 -3
  48. package/framework/i18n/es.yaml +3 -3
  49. package/framework/i18n/fr.yaml +3 -3
  50. package/framework/i18n/pt.yaml +3 -3
  51. package/framework/intelligence/context-engine.md +2 -2
  52. package/framework/intelligence/decision-engine.md +1 -1
  53. package/framework/migrations/v1.4-to-v2.0.yaml +167 -0
  54. package/framework/migrations/v2.0-to-v2.0.1.yaml +132 -0
  55. package/framework/orchestrator/chati.md +350 -7
  56. package/framework/schemas/session.schema.json +15 -0
  57. package/framework/tasks/architect-api-design.md +63 -0
  58. package/framework/tasks/architect-consolidate.md +47 -0
  59. package/framework/tasks/architect-db-design.md +73 -0
  60. package/framework/tasks/architect-design.md +95 -0
  61. package/framework/tasks/architect-security-review.md +62 -0
  62. package/framework/tasks/architect-stack-selection.md +53 -0
  63. package/framework/tasks/brief-consolidate.md +249 -0
  64. package/framework/tasks/brief-constraint-identify.md +277 -0
  65. package/framework/tasks/brief-extract-requirements.md +339 -0
  66. package/framework/tasks/brief-stakeholder-map.md +176 -0
  67. package/framework/tasks/brief-validate-completeness.md +121 -0
  68. package/framework/tasks/brownfield-wu-architecture-map.md +394 -0
  69. package/framework/tasks/brownfield-wu-deep-discovery.md +312 -0
  70. package/framework/tasks/brownfield-wu-dependency-scan.md +359 -0
  71. package/framework/tasks/brownfield-wu-migration-plan.md +483 -0
  72. package/framework/tasks/brownfield-wu-report.md +325 -0
  73. package/framework/tasks/brownfield-wu-risk-assess.md +424 -0
  74. package/framework/tasks/detail-acceptance-criteria.md +372 -0
  75. package/framework/tasks/detail-consolidate.md +138 -0
  76. package/framework/tasks/detail-edge-case-analysis.md +300 -0
  77. package/framework/tasks/detail-expand-prd.md +389 -0
  78. package/framework/tasks/detail-nfr-extraction.md +223 -0
  79. package/framework/tasks/dev-code-review.md +404 -0
  80. package/framework/tasks/dev-consolidate.md +543 -0
  81. package/framework/tasks/dev-debug.md +322 -0
  82. package/framework/tasks/dev-implement.md +252 -0
  83. package/framework/tasks/dev-iterate.md +411 -0
  84. package/framework/tasks/dev-pr-prepare.md +497 -0
  85. package/framework/tasks/dev-refactor.md +342 -0
  86. package/framework/tasks/dev-test-write.md +306 -0
  87. package/framework/tasks/devops-ci-setup.md +412 -0
  88. package/framework/tasks/devops-consolidate.md +712 -0
  89. package/framework/tasks/devops-deploy-config.md +598 -0
  90. package/framework/tasks/devops-monitoring-setup.md +658 -0
  91. package/framework/tasks/devops-release-prepare.md +673 -0
  92. package/framework/tasks/greenfield-wu-analyze-empty.md +169 -0
  93. package/framework/tasks/greenfield-wu-report.md +266 -0
  94. package/framework/tasks/greenfield-wu-scaffold-detection.md +203 -0
  95. package/framework/tasks/greenfield-wu-tech-stack-assess.md +255 -0
  96. package/framework/tasks/orchestrator-deviation.md +260 -0
  97. package/framework/tasks/orchestrator-escalate.md +276 -0
  98. package/framework/tasks/orchestrator-handoff.md +243 -0
  99. package/framework/tasks/orchestrator-health.md +372 -0
  100. package/framework/tasks/orchestrator-mode-switch.md +262 -0
  101. package/framework/tasks/orchestrator-resume.md +189 -0
  102. package/framework/tasks/orchestrator-route.md +169 -0
  103. package/framework/tasks/orchestrator-spawn-terminal.md +358 -0
  104. package/framework/tasks/orchestrator-status.md +260 -0
  105. package/framework/tasks/orchestrator-suggest-mode.md +372 -0
  106. package/framework/tasks/phases-breakdown.md +91 -0
  107. package/framework/tasks/phases-dependency-mapping.md +67 -0
  108. package/framework/tasks/phases-mvp-scoping.md +94 -0
  109. package/framework/tasks/qa-impl-consolidate.md +522 -0
  110. package/framework/tasks/qa-impl-performance-test.md +487 -0
  111. package/framework/tasks/qa-impl-regression-check.md +413 -0
  112. package/framework/tasks/qa-impl-sast-scan.md +402 -0
  113. package/framework/tasks/qa-impl-test-execute.md +344 -0
  114. package/framework/tasks/qa-impl-verdict.md +339 -0
  115. package/framework/tasks/qa-planning-consolidate.md +309 -0
  116. package/framework/tasks/qa-planning-coverage-plan.md +338 -0
  117. package/framework/tasks/qa-planning-gate-define.md +339 -0
  118. package/framework/tasks/qa-planning-risk-matrix.md +631 -0
  119. package/framework/tasks/qa-planning-test-strategy.md +217 -0
  120. package/framework/tasks/tasks-acceptance-write.md +75 -0
  121. package/framework/tasks/tasks-consolidate.md +57 -0
  122. package/framework/tasks/tasks-decompose.md +80 -0
  123. package/framework/tasks/tasks-estimate.md +66 -0
  124. package/framework/tasks/ux-a11y-check.md +49 -0
  125. package/framework/tasks/ux-component-map.md +55 -0
  126. package/framework/tasks/ux-consolidate.md +46 -0
  127. package/framework/tasks/ux-user-flow.md +46 -0
  128. package/framework/tasks/ux-wireframe.md +76 -0
  129. package/package.json +1 -1
  130. package/scripts/bundle-framework.js +2 -0
  131. package/scripts/changelog-generator.js +222 -0
  132. package/scripts/codebase-mapper.js +728 -0
  133. package/scripts/commit-message-generator.js +167 -0
  134. package/scripts/coverage-analyzer.js +260 -0
  135. package/scripts/dependency-analyzer.js +280 -0
  136. package/scripts/framework-analyzer.js +308 -0
  137. package/scripts/generate-constitution-domain.js +253 -0
  138. package/scripts/health-check.js +481 -0
  139. package/scripts/ide-sync.js +327 -0
  140. package/scripts/performance-analyzer.js +325 -0
  141. package/scripts/plan-tracker.js +278 -0
  142. package/scripts/populate-entity-registry.js +481 -0
  143. package/scripts/pr-review.js +317 -0
  144. package/scripts/rollback-manager.js +310 -0
  145. package/scripts/stuck-detector.js +343 -0
  146. package/scripts/test-quality-assessment.js +257 -0
  147. package/scripts/validate-agents.js +367 -0
  148. package/scripts/validate-tasks.js +465 -0
  149. package/src/autonomy/autonomous-gate.js +293 -0
  150. package/src/autonomy/index.js +51 -0
  151. package/src/autonomy/mode-manager.js +225 -0
  152. package/src/autonomy/mode-suggester.js +283 -0
  153. package/src/autonomy/progress-reporter.js +268 -0
  154. package/src/autonomy/safety-net.js +320 -0
  155. package/src/context/bracket-tracker.js +79 -0
  156. package/src/context/domain-loader.js +107 -0
  157. package/src/context/engine.js +144 -0
  158. package/src/context/formatter.js +184 -0
  159. package/src/context/index.js +4 -0
  160. package/src/context/layers/l0-constitution.js +28 -0
  161. package/src/context/layers/l1-global.js +37 -0
  162. package/src/context/layers/l2-agent.js +39 -0
  163. package/src/context/layers/l3-workflow.js +42 -0
  164. package/src/context/layers/l4-task.js +24 -0
  165. package/src/decision/analyzer.js +167 -0
  166. package/src/decision/engine.js +270 -0
  167. package/src/decision/index.js +38 -0
  168. package/src/decision/registry-healer.js +450 -0
  169. package/src/decision/registry-updater.js +330 -0
  170. package/src/gates/circuit-breaker.js +119 -0
  171. package/src/gates/g1-planning-complete.js +153 -0
  172. package/src/gates/g2-qa-planning.js +153 -0
  173. package/src/gates/g3-implementation.js +188 -0
  174. package/src/gates/g4-qa-implementation.js +207 -0
  175. package/src/gates/g5-deploy-ready.js +180 -0
  176. package/src/gates/gate-base.js +144 -0
  177. package/src/gates/index.js +46 -0
  178. package/src/installer/brownfield-upgrader.js +249 -0
  179. package/src/installer/core.js +55 -3
  180. package/src/installer/file-hasher.js +51 -0
  181. package/src/installer/manifest.js +117 -0
  182. package/src/installer/templates.js +17 -15
  183. package/src/installer/transaction.js +229 -0
  184. package/src/installer/validator.js +18 -1
  185. package/src/intelligence/registry-manager.js +2 -2
  186. package/src/memory/agent-memory.js +255 -0
  187. package/src/memory/gotchas-injector.js +72 -0
  188. package/src/memory/gotchas.js +361 -0
  189. package/src/memory/index.js +35 -0
  190. package/src/memory/search.js +233 -0
  191. package/src/memory/session-digest.js +239 -0
  192. package/src/merger/env-merger.js +112 -0
  193. package/src/merger/index.js +56 -0
  194. package/src/merger/replace-merger.js +51 -0
  195. package/src/merger/yaml-merger.js +127 -0
  196. package/src/orchestrator/agent-selector.js +285 -0
  197. package/src/orchestrator/deviation-handler.js +350 -0
  198. package/src/orchestrator/handoff-engine.js +271 -0
  199. package/src/orchestrator/index.js +67 -0
  200. package/src/orchestrator/intent-classifier.js +264 -0
  201. package/src/orchestrator/pipeline-manager.js +492 -0
  202. package/src/orchestrator/pipeline-state.js +223 -0
  203. package/src/orchestrator/session-manager.js +409 -0
  204. package/src/tasks/executor.js +195 -0
  205. package/src/tasks/handoff.js +226 -0
  206. package/src/tasks/index.js +4 -0
  207. package/src/tasks/loader.js +210 -0
  208. package/src/tasks/router.js +182 -0
  209. package/src/terminal/collector.js +216 -0
  210. package/src/terminal/index.js +30 -0
  211. package/src/terminal/isolation.js +129 -0
  212. package/src/terminal/monitor.js +277 -0
  213. package/src/terminal/spawner.js +269 -0
  214. package/src/upgrade/checker.js +1 -1
  215. package/src/wizard/i18n.js +3 -3
@@ -0,0 +1,413 @@
1
+ ---
2
+ id: qa-impl-regression-check
3
+ agent: qa-implementation
4
+ trigger: qa-impl-sast-scan
5
+ phase: build
6
+ requires_input: false
7
+ parallelizable: false
8
+ outputs: [regression-report.yaml]
9
+ handoff_to: qa-impl-performance-test
10
+ autonomous_gate: false
11
+ criteria:
12
+ - Regression tests executed against baseline
13
+ - Zero new regressions detected
14
+ - Baseline updated if intentional changes
15
+ ---
16
+
17
+ # Regression Testing
18
+
19
+ ## Purpose
20
+ Execute regression tests to ensure new changes have not broken existing functionality, compare results against a known-good baseline, and identify any unexpected behavior changes.
21
+
22
+ ## Prerequisites
23
+ - test-results.yaml with PASS status
24
+ - sast-report.yaml with no blocking vulnerabilities
25
+ - Baseline test results from previous release (if available)
26
+ - Regression test suite configured
27
+ - Test fixtures for comparison
28
+
29
+ ## Steps
30
+
31
+ 1. **Establish or Load Baseline**
32
+ - Check for existing baseline: `.chati/test-baseline.yaml`
33
+ - If first release (no baseline), current test results become baseline
34
+ - If baseline exists, load expected behaviors and test outputs
35
+ - Document baseline version and date
36
+
37
+ 2. **Identify Regression Test Scope**
38
+ - **Critical workflows**: Full greenfield and brownfield pipelines
39
+ - **Core functionality**: Agent execution, mode transitions, state management
40
+ - **Integration points**: File operations, MCP tool calls, CLI commands
41
+ - **User-facing features**: Error messages, help text, i18n output
42
+
43
+ 3. **Execute Regression Test Suite**
44
+ - Run: `npm run test:regression` or full test suite with baseline comparison
45
+ - Capture outputs for comparison (test results, stdout, file artifacts)
46
+ - Execute critical path end-to-end tests
47
+ - Run with same configuration as baseline (Node version, env vars)
48
+
49
+ 4. **Compare Test Results**
50
+ - **Test status changes**: Tests that were passing now fail, or vice versa
51
+ - **Output differences**: stdout/stderr changes, different error messages
52
+ - **Behavior changes**: Different execution paths, timing differences
53
+ - **File artifact changes**: session.yaml structure, config format, generated files
54
+
55
+ 5. **Categorize Differences**
56
+ - **True regressions**: Unintended breakage of existing functionality
57
+ - **Intentional changes**: Expected differences from new features/fixes
58
+ - **Environment differences**: Different Node version, OS, filesystem
59
+ - **Non-deterministic**: Timing, random IDs, timestamps
60
+
61
+ 6. **Analyze True Regressions**
62
+ - For each regression:
63
+ - Identify affected feature/workflow
64
+ - Determine root cause (code change, dependency update, config change)
65
+ - Assess impact (critical path, edge case, cosmetic)
66
+ - Map to risk level (critical, high, medium, low)
67
+ - Prioritize by risk and user impact
68
+
69
+ 7. **Validate Intentional Changes**
70
+ - Review intentional changes against task requirements
71
+ - Ensure changes are documented in implementation notes
72
+ - Verify changes don't have unintended side effects
73
+ - Update baseline expectations if changes are correct
74
+
75
+ 8. **Check for Behavioral Regressions**
76
+ - **Performance regressions**: Slower execution (>10% increase)
77
+ - **Memory regressions**: Higher memory usage (>15% increase)
78
+ - **Error handling regressions**: Errors not caught, poor error messages
79
+ - **User experience regressions**: Different workflow, removed features
80
+
81
+ 9. **Execute Smoke Tests on Critical Paths**
82
+ - **Installer workflow**: `npx chati-dev init` end-to-end
83
+ - **Agent handoff**: Verify complete pipeline execution
84
+ - **Mode transitions**: Test autonomous and manual transitions
85
+ - **Upgrade path**: Simulate upgrade from previous version
86
+ - Capture any anomalies or unexpected behaviors
87
+
88
+ 10. **Cross-Reference with Known Issues**
89
+ - Check if regressions match known issues from issue tracker
90
+ - Verify if workarounds exist for identified regressions
91
+ - Flag new regressions not in known issues
92
+ - Update known issues list
93
+
94
+ 11. **Generate Regression Report**
95
+ - Summarize all identified regressions
96
+ - Categorize by severity and type
97
+ - Provide root cause analysis for critical regressions
98
+ - Recommend fixes or baseline updates
99
+ - Document intentional changes
100
+
101
+ 12. **Update Baseline (if appropriate)**
102
+ - If all changes are intentional and verified, update baseline
103
+ - Save new test-baseline.yaml with current outputs
104
+ - Document baseline version and changes
105
+ - Commit baseline to version control
106
+
107
+ ## Decision Points
108
+
109
+ - **First Release (No Baseline)**: If this is the first release, there's no baseline for comparison. Create initial baseline from current test results. Mark status as PASS with note "Baseline established."
110
+
111
+ - **Performance Degradation**: If tests are 5-10% slower, classify as WARNING. If >10% slower, classify as REGRESSION requiring investigation. If intentional (e.g., added features), document justification.
112
+
113
+ - **Intentional Breaking Changes**: If changes intentionally break backward compatibility (documented in release notes), update baseline and mark as PASS. Ensure migration guide exists.
114
+
115
+ ## Error Handling
116
+
117
+ **Missing Baseline**
118
+ - If baseline file is missing but this is not first release, log warning
119
+ - Attempt to create baseline from previous release tag (git)
120
+ - If unavailable, treat as first release and establish baseline
121
+ - Flag for manual review to ensure no regressions missed
122
+
123
+ **Test Execution Failure**
124
+ - If regression tests fail to execute (not test failures, but execution errors), investigate environment
125
+ - Check for missing dependencies, filesystem issues, permission problems
126
+ - Log detailed error and environment info
127
+ - Escalate to dev agent for environment fixes
128
+
129
+ **Non-Deterministic Test Failures**
130
+ - If tests fail inconsistently (different results on multiple runs), identify source of non-determinism
131
+ - Common causes: timestamps, random IDs, async timing, filesystem ordering
132
+ - Recommend: Seed random generators, mock timestamps, sort outputs
133
+ - Mark as test quality issue rather than regression
134
+
135
+ **Baseline Version Mismatch**
136
+ - If baseline is from a significantly older version (>2 releases back), warn that comparison may not be meaningful
137
+ - Recommend establishing new baseline for current release
138
+ - Document gap in regression tracking
139
+
140
+ ## Output Format
141
+
142
+ ```yaml
143
+ # regression-report.yaml
144
+ version: 1.0.0
145
+ created: YYYY-MM-DD
146
+ agent: qa-implementation
147
+ phase: build
148
+
149
+ baseline:
150
+ version: 1.0.0
151
+ date: YYYY-MM-DD
152
+ source: .chati/test-baseline.yaml
153
+ tests_count: 247
154
+ status: LOADED # or ESTABLISHED (first release), MISSING, OUTDATED
155
+
156
+ comparison:
157
+ status: FAIL # PASS, FAIL, WARNING
158
+ total_differences: 8
159
+ true_regressions: 3
160
+ intentional_changes: 4
161
+ non_deterministic: 1
162
+
163
+ scope:
164
+ critical_workflows:
165
+ - Greenfield pipeline end-to-end
166
+ - Brownfield pipeline end-to-end
167
+ - Mode transitions (autonomous and manual)
168
+ core_functionality:
169
+ - Agent task execution
170
+ - State management operations
171
+ - File operations
172
+ integration_points:
173
+ - MCP tool calls
174
+ - CLI command parsing
175
+ - YAML parsing and writing
176
+ user_facing:
177
+ - Error messages
178
+ - Help text
179
+ - i18n translations
180
+
181
+ execution:
182
+ test_suite: npm run test:regression
183
+ node_version: 22.x
184
+ os: darwin
185
+ execution_time: 56.2s
186
+ baseline_execution_time: 52.1s
187
+ time_delta: +7.9% # WARNING: approaching 10% threshold
188
+
189
+ regressions:
190
+ critical:
191
+ - id: REG-001
192
+ severity: CRITICAL
193
+ type: functional
194
+ feature: Mode transition validation
195
+ description: "Autonomous transition from clarity to build no longer checks 95% threshold"
196
+ baseline_behavior: "Transition blocked when qa-planning score < 95%"
197
+ current_behavior: "Transition proceeds regardless of score"
198
+ root_cause: "Removed threshold check in mode-governance.js line 87 during refactor"
199
+ affected_tests:
200
+ - test/integration/mode-transitions.test.js::autonomous-transition-threshold
201
+ risk_level: critical
202
+ user_impact: "Quality gates bypassed, low-quality specs reach build phase"
203
+ fix_recommendation: "Restore threshold check in mode-governance.js"
204
+ estimated_effort: 1 hour
205
+
206
+ high:
207
+ - id: REG-002
208
+ severity: HIGH
209
+ type: functional
210
+ feature: Session state persistence
211
+ description: "session.yaml no longer includes mode_transitions array"
212
+ baseline_behavior: "mode_transitions[] populated with audit trail"
213
+ current_behavior: "mode_transitions[] empty or missing"
214
+ root_cause: "State schema update removed array initialization"
215
+ affected_tests:
216
+ - test/unit/state-manager.test.js::mode-transitions-audit
217
+ risk_level: high
218
+ user_impact: "No audit trail for mode transitions, deviation tracking lost"
219
+ fix_recommendation: "Initialize mode_transitions[] in state schema"
220
+ estimated_effort: 2 hours
221
+
222
+ medium:
223
+ - id: REG-003
224
+ severity: MEDIUM
225
+ type: performance
226
+ feature: YAML parsing
227
+ description: "YAML file parsing 18% slower than baseline"
228
+ baseline_time: 12ms per file
229
+ current_time: 14.2ms per file
230
+ delta: +18%
231
+ root_cause: "Upgraded yaml package to 2.3.4 (security fix), new version slower"
232
+ affected_workflows: "All file operations, noticeable on large projects"
233
+ risk_level: medium
234
+ user_impact: "Slightly slower CLI startup and agent execution"
235
+ fix_recommendation: "Accept performance trade-off for security, or explore alternative YAML parser"
236
+ estimated_effort: Research needed
237
+
238
+ low: []
239
+
240
+ intentional_changes:
241
+ - id: CHANGE-001
242
+ feature: Error message format
243
+ description: "Error messages now include suggested recovery actions"
244
+ baseline: "Error: Invalid YAML syntax"
245
+ current: "Error: Invalid YAML syntax. Check line 12 for unclosed bracket. Run 'npx chati-dev validate' to verify."
246
+ justification: "Improved UX as per task requirement in Phase 1"
247
+ documented_in: "Story 1.2: Enhanced error messages"
248
+ approved: true
249
+
250
+ - id: CHANGE-002
251
+ feature: CLI help text
252
+ description: "Added --verbose flag to all commands"
253
+ baseline: "--help, --version"
254
+ current: "--help, --version, --verbose"
255
+ justification: "New feature for debugging, documented in CHANGELOG"
256
+ documented_in: "Feature: CLI debugging support"
257
+ approved: true
258
+
259
+ - id: CHANGE-003
260
+ feature: State schema version
261
+ description: "session.yaml schema version updated to 2.0"
262
+ baseline: "version: 1.0"
263
+ current: "version: 2.0"
264
+ justification: "Schema breaking change for mode governance"
265
+ documented_in: "Migration guide in UPGRADE.md"
266
+ approved: true
267
+
268
+ - id: CHANGE-004
269
+ feature: Default language
270
+ description: "Default language changed from Portuguese to English"
271
+ baseline: "default_locale: pt"
272
+ current: "default_locale: en"
273
+ justification: "Per spec V7 requirement"
274
+ documented_in: "CHATI-DEV-SPEC-V7.md section 5.2"
275
+ approved: true
276
+
277
+ non_deterministic:
278
+ - id: NONDETERR-001
279
+ test: test/e2e/installer.test.js::session-id-generation
280
+ description: "Session ID differs between runs (expected)"
281
+ baseline: "session_id: abc123"
282
+ current: "session_id: def456"
283
+ root_cause: "Session IDs are randomly generated UUIDs"
284
+ resolution: "Exclude session_id from regression comparison"
285
+ action: "Update regression test to ignore session_id field"
286
+
287
+ behavioral_checks:
288
+ performance:
289
+ overall_execution_time:
290
+ baseline: 52.1s
291
+ current: 56.2s
292
+ delta: +7.9%
293
+ status: WARNING # Approaching 10% threshold
294
+
295
+ per_module:
296
+ orchestrator:
297
+ baseline: 8.2s
298
+ current: 8.4s
299
+ delta: +2.4%
300
+ status: PASS
301
+
302
+ state_management:
303
+ baseline: 12.5s
304
+ current: 13.1s
305
+ delta: +4.8%
306
+ status: PASS
307
+
308
+ yaml_parsing:
309
+ baseline: 12.0s
310
+ current: 14.2s
311
+ delta: +18.3%
312
+ status: REGRESSION # >10% threshold
313
+
314
+ memory:
315
+ baseline: 145 MB
316
+ current: 152 MB
317
+ delta: +4.8%
318
+ status: PASS # <15% threshold
319
+
320
+ error_handling:
321
+ status: REGRESSION
322
+ issue: "File permission errors no longer caught in file-ops.js"
323
+ baseline_behavior: "Graceful error with recovery suggestion"
324
+ current_behavior: "Unhandled exception, process crash"
325
+ fix_required: true
326
+
327
+ user_experience:
328
+ status: IMPROVED
329
+ improvements:
330
+ - Enhanced error messages with recovery actions
331
+ - Added --verbose flag for debugging
332
+ - Improved help text clarity
333
+
334
+ smoke_tests:
335
+ installer_workflow:
336
+ command: npx chati-dev init
337
+ status: PASS
338
+ execution_time: 8.2s
339
+ notes: "Completed successfully, session.yaml created"
340
+
341
+ agent_handoff:
342
+ workflow: "greenfield-wu -> brief -> detail"
343
+ status: FAIL
344
+ issue: "Handoff from greenfield-wu to brief failed validation"
345
+ error: "Missing required field: project_type"
346
+ regression_id: REG-004 # New regression, needs investigation
347
+
348
+ mode_transitions:
349
+ autonomous_transition:
350
+ status: FAIL
351
+ issue: "Autonomous transition from clarity to build bypassed 95% check"
352
+ regression_id: REG-001
353
+
354
+ manual_transition:
355
+ status: PASS
356
+
357
+ upgrade_path:
358
+ scenario: "v1.0.0 -> v1.1.0"
359
+ status: PASS
360
+ notes: "Migration successful, backup created"
361
+
362
+ assessment:
363
+ status: FAIL
364
+ rationale: |
365
+ - 3 true regressions (1 CRITICAL, 1 HIGH, 1 MEDIUM)
366
+ - CRITICAL: Mode transition threshold check bypassed (REG-001)
367
+ - HIGH: State audit trail lost (REG-002)
368
+ - MEDIUM: Performance degradation in YAML parsing (REG-003)
369
+ - Smoke test failure in agent handoff (REG-004)
370
+
371
+ blocking_issues:
372
+ - REG-001: Mode transition threshold check bypassed (CRITICAL)
373
+ - REG-002: State audit trail missing (HIGH)
374
+ - REG-004: Agent handoff validation failure (severity TBD)
375
+
376
+ conditional_pass_criteria:
377
+ - Fix all CRITICAL and HIGH regressions
378
+ - Investigate and resolve REG-004 (agent handoff)
379
+ - Accept or fix MEDIUM performance regression (REG-003)
380
+ - Re-run regression tests to verify fixes
381
+
382
+ recommendations:
383
+ - Priority 1: Restore mode transition threshold check (REG-001)
384
+ - Priority 2: Fix state audit trail initialization (REG-002)
385
+ - Priority 3: Investigate agent handoff failure (REG-004)
386
+ - Priority 4: Decide on YAML performance trade-off (REG-003)
387
+ - Update baseline after fixes to include intentional changes
388
+
389
+ baseline_update:
390
+ required: true
391
+ reason: "4 intentional changes need baseline update after regressions fixed"
392
+ deferred_until: "All regressions resolved"
393
+ changes_to_include:
394
+ - CHANGE-001: Enhanced error messages
395
+ - CHANGE-002: CLI --verbose flag
396
+ - CHANGE-003: State schema v2.0
397
+ - CHANGE-004: Default language English
398
+
399
+ next_steps:
400
+ - Return to dev agent for regression fixes
401
+ - Priority fixes: REG-001, REG-002, REG-004
402
+ - Re-run qa-impl-regression-check after fixes
403
+ - If rerun passes, update baseline and proceed to qa-impl-performance-test
404
+ - Do NOT proceed to performance testing until regressions resolved
405
+
406
+ handoff:
407
+ to: dev
408
+ reason: "3 true regressions + 1 smoke test failure"
409
+ priority_fixes:
410
+ - mode-governance.js: Restore 95% threshold check for autonomous transitions
411
+ - state-manager.js: Initialize mode_transitions[] array in state schema
412
+ - Agent handoff: Investigate missing project_type field validation
413
+ ```