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.
- package/README.md +7 -6
- package/framework/agents/build/dev.md +343 -0
- package/framework/agents/clarity/architect.md +113 -0
- package/framework/agents/clarity/brief.md +183 -0
- package/framework/agents/clarity/brownfield-wu.md +182 -0
- package/framework/agents/clarity/detail.md +111 -0
- package/framework/agents/clarity/greenfield-wu.md +154 -0
- package/framework/agents/clarity/phases.md +1 -0
- package/framework/agents/clarity/tasks.md +1 -0
- package/framework/agents/clarity/ux.md +113 -0
- package/framework/agents/deploy/devops.md +1 -0
- package/framework/agents/quality/qa-implementation.md +1 -0
- package/framework/agents/quality/qa-planning.md +1 -0
- package/framework/config.yaml +3 -3
- package/framework/constitution.md +58 -1
- package/framework/context/governance.md +37 -0
- package/framework/context/protocols.md +34 -0
- package/framework/context/quality.md +27 -0
- package/framework/context/root.md +24 -0
- package/framework/data/entity-registry.yaml +1 -1
- package/framework/domains/agents/architect.yaml +51 -0
- package/framework/domains/agents/brief.yaml +47 -0
- package/framework/domains/agents/brownfield-wu.yaml +49 -0
- package/framework/domains/agents/detail.yaml +47 -0
- package/framework/domains/agents/dev.yaml +49 -0
- package/framework/domains/agents/devops.yaml +43 -0
- package/framework/domains/agents/greenfield-wu.yaml +47 -0
- package/framework/domains/agents/orchestrator.yaml +49 -0
- package/framework/domains/agents/phases.yaml +47 -0
- package/framework/domains/agents/qa-implementation.yaml +43 -0
- package/framework/domains/agents/qa-planning.yaml +44 -0
- package/framework/domains/agents/tasks.yaml +48 -0
- package/framework/domains/agents/ux.yaml +50 -0
- package/framework/domains/constitution.yaml +77 -0
- package/framework/domains/global.yaml +64 -0
- package/framework/domains/workflows/brownfield-discovery.yaml +16 -0
- package/framework/domains/workflows/brownfield-fullstack.yaml +26 -0
- package/framework/domains/workflows/brownfield-service.yaml +22 -0
- package/framework/domains/workflows/brownfield-ui.yaml +22 -0
- package/framework/domains/workflows/greenfield-fullstack.yaml +26 -0
- package/framework/hooks/constitution-guard.js +101 -0
- package/framework/hooks/mode-governance.js +92 -0
- package/framework/hooks/model-governance.js +76 -0
- package/framework/hooks/prism-engine.js +89 -0
- package/framework/hooks/session-digest.js +60 -0
- package/framework/hooks/settings.json +44 -0
- package/framework/i18n/en.yaml +3 -3
- package/framework/i18n/es.yaml +3 -3
- package/framework/i18n/fr.yaml +3 -3
- package/framework/i18n/pt.yaml +3 -3
- package/framework/intelligence/context-engine.md +2 -2
- package/framework/intelligence/decision-engine.md +1 -1
- package/framework/migrations/v1.4-to-v2.0.yaml +167 -0
- package/framework/migrations/v2.0-to-v2.0.1.yaml +132 -0
- package/framework/orchestrator/chati.md +350 -7
- package/framework/schemas/session.schema.json +15 -0
- package/framework/tasks/architect-api-design.md +63 -0
- package/framework/tasks/architect-consolidate.md +47 -0
- package/framework/tasks/architect-db-design.md +73 -0
- package/framework/tasks/architect-design.md +95 -0
- package/framework/tasks/architect-security-review.md +62 -0
- package/framework/tasks/architect-stack-selection.md +53 -0
- package/framework/tasks/brief-consolidate.md +249 -0
- package/framework/tasks/brief-constraint-identify.md +277 -0
- package/framework/tasks/brief-extract-requirements.md +339 -0
- package/framework/tasks/brief-stakeholder-map.md +176 -0
- package/framework/tasks/brief-validate-completeness.md +121 -0
- package/framework/tasks/brownfield-wu-architecture-map.md +394 -0
- package/framework/tasks/brownfield-wu-deep-discovery.md +312 -0
- package/framework/tasks/brownfield-wu-dependency-scan.md +359 -0
- package/framework/tasks/brownfield-wu-migration-plan.md +483 -0
- package/framework/tasks/brownfield-wu-report.md +325 -0
- package/framework/tasks/brownfield-wu-risk-assess.md +424 -0
- package/framework/tasks/detail-acceptance-criteria.md +372 -0
- package/framework/tasks/detail-consolidate.md +138 -0
- package/framework/tasks/detail-edge-case-analysis.md +300 -0
- package/framework/tasks/detail-expand-prd.md +389 -0
- package/framework/tasks/detail-nfr-extraction.md +223 -0
- package/framework/tasks/dev-code-review.md +404 -0
- package/framework/tasks/dev-consolidate.md +543 -0
- package/framework/tasks/dev-debug.md +322 -0
- package/framework/tasks/dev-implement.md +252 -0
- package/framework/tasks/dev-iterate.md +411 -0
- package/framework/tasks/dev-pr-prepare.md +497 -0
- package/framework/tasks/dev-refactor.md +342 -0
- package/framework/tasks/dev-test-write.md +306 -0
- package/framework/tasks/devops-ci-setup.md +412 -0
- package/framework/tasks/devops-consolidate.md +712 -0
- package/framework/tasks/devops-deploy-config.md +598 -0
- package/framework/tasks/devops-monitoring-setup.md +658 -0
- package/framework/tasks/devops-release-prepare.md +673 -0
- package/framework/tasks/greenfield-wu-analyze-empty.md +169 -0
- package/framework/tasks/greenfield-wu-report.md +266 -0
- package/framework/tasks/greenfield-wu-scaffold-detection.md +203 -0
- package/framework/tasks/greenfield-wu-tech-stack-assess.md +255 -0
- package/framework/tasks/orchestrator-deviation.md +260 -0
- package/framework/tasks/orchestrator-escalate.md +276 -0
- package/framework/tasks/orchestrator-handoff.md +243 -0
- package/framework/tasks/orchestrator-health.md +372 -0
- package/framework/tasks/orchestrator-mode-switch.md +262 -0
- package/framework/tasks/orchestrator-resume.md +189 -0
- package/framework/tasks/orchestrator-route.md +169 -0
- package/framework/tasks/orchestrator-spawn-terminal.md +358 -0
- package/framework/tasks/orchestrator-status.md +260 -0
- package/framework/tasks/orchestrator-suggest-mode.md +372 -0
- package/framework/tasks/phases-breakdown.md +91 -0
- package/framework/tasks/phases-dependency-mapping.md +67 -0
- package/framework/tasks/phases-mvp-scoping.md +94 -0
- package/framework/tasks/qa-impl-consolidate.md +522 -0
- package/framework/tasks/qa-impl-performance-test.md +487 -0
- package/framework/tasks/qa-impl-regression-check.md +413 -0
- package/framework/tasks/qa-impl-sast-scan.md +402 -0
- package/framework/tasks/qa-impl-test-execute.md +344 -0
- package/framework/tasks/qa-impl-verdict.md +339 -0
- package/framework/tasks/qa-planning-consolidate.md +309 -0
- package/framework/tasks/qa-planning-coverage-plan.md +338 -0
- package/framework/tasks/qa-planning-gate-define.md +339 -0
- package/framework/tasks/qa-planning-risk-matrix.md +631 -0
- package/framework/tasks/qa-planning-test-strategy.md +217 -0
- package/framework/tasks/tasks-acceptance-write.md +75 -0
- package/framework/tasks/tasks-consolidate.md +57 -0
- package/framework/tasks/tasks-decompose.md +80 -0
- package/framework/tasks/tasks-estimate.md +66 -0
- package/framework/tasks/ux-a11y-check.md +49 -0
- package/framework/tasks/ux-component-map.md +55 -0
- package/framework/tasks/ux-consolidate.md +46 -0
- package/framework/tasks/ux-user-flow.md +46 -0
- package/framework/tasks/ux-wireframe.md +76 -0
- package/package.json +1 -1
- package/scripts/bundle-framework.js +2 -0
- package/scripts/changelog-generator.js +222 -0
- package/scripts/codebase-mapper.js +728 -0
- package/scripts/commit-message-generator.js +167 -0
- package/scripts/coverage-analyzer.js +260 -0
- package/scripts/dependency-analyzer.js +280 -0
- package/scripts/framework-analyzer.js +308 -0
- package/scripts/generate-constitution-domain.js +253 -0
- package/scripts/health-check.js +481 -0
- package/scripts/ide-sync.js +327 -0
- package/scripts/performance-analyzer.js +325 -0
- package/scripts/plan-tracker.js +278 -0
- package/scripts/populate-entity-registry.js +481 -0
- package/scripts/pr-review.js +317 -0
- package/scripts/rollback-manager.js +310 -0
- package/scripts/stuck-detector.js +343 -0
- package/scripts/test-quality-assessment.js +257 -0
- package/scripts/validate-agents.js +367 -0
- package/scripts/validate-tasks.js +465 -0
- package/src/autonomy/autonomous-gate.js +293 -0
- package/src/autonomy/index.js +51 -0
- package/src/autonomy/mode-manager.js +225 -0
- package/src/autonomy/mode-suggester.js +283 -0
- package/src/autonomy/progress-reporter.js +268 -0
- package/src/autonomy/safety-net.js +320 -0
- package/src/context/bracket-tracker.js +79 -0
- package/src/context/domain-loader.js +107 -0
- package/src/context/engine.js +144 -0
- package/src/context/formatter.js +184 -0
- package/src/context/index.js +4 -0
- package/src/context/layers/l0-constitution.js +28 -0
- package/src/context/layers/l1-global.js +37 -0
- package/src/context/layers/l2-agent.js +39 -0
- package/src/context/layers/l3-workflow.js +42 -0
- package/src/context/layers/l4-task.js +24 -0
- package/src/decision/analyzer.js +167 -0
- package/src/decision/engine.js +270 -0
- package/src/decision/index.js +38 -0
- package/src/decision/registry-healer.js +450 -0
- package/src/decision/registry-updater.js +330 -0
- package/src/gates/circuit-breaker.js +119 -0
- package/src/gates/g1-planning-complete.js +153 -0
- package/src/gates/g2-qa-planning.js +153 -0
- package/src/gates/g3-implementation.js +188 -0
- package/src/gates/g4-qa-implementation.js +207 -0
- package/src/gates/g5-deploy-ready.js +180 -0
- package/src/gates/gate-base.js +144 -0
- package/src/gates/index.js +46 -0
- package/src/installer/brownfield-upgrader.js +249 -0
- package/src/installer/core.js +55 -3
- package/src/installer/file-hasher.js +51 -0
- package/src/installer/manifest.js +117 -0
- package/src/installer/templates.js +17 -15
- package/src/installer/transaction.js +229 -0
- package/src/installer/validator.js +18 -1
- package/src/intelligence/registry-manager.js +2 -2
- package/src/memory/agent-memory.js +255 -0
- package/src/memory/gotchas-injector.js +72 -0
- package/src/memory/gotchas.js +361 -0
- package/src/memory/index.js +35 -0
- package/src/memory/search.js +233 -0
- package/src/memory/session-digest.js +239 -0
- package/src/merger/env-merger.js +112 -0
- package/src/merger/index.js +56 -0
- package/src/merger/replace-merger.js +51 -0
- package/src/merger/yaml-merger.js +127 -0
- package/src/orchestrator/agent-selector.js +285 -0
- package/src/orchestrator/deviation-handler.js +350 -0
- package/src/orchestrator/handoff-engine.js +271 -0
- package/src/orchestrator/index.js +67 -0
- package/src/orchestrator/intent-classifier.js +264 -0
- package/src/orchestrator/pipeline-manager.js +492 -0
- package/src/orchestrator/pipeline-state.js +223 -0
- package/src/orchestrator/session-manager.js +409 -0
- package/src/tasks/executor.js +195 -0
- package/src/tasks/handoff.js +226 -0
- package/src/tasks/index.js +4 -0
- package/src/tasks/loader.js +210 -0
- package/src/tasks/router.js +182 -0
- package/src/terminal/collector.js +216 -0
- package/src/terminal/index.js +30 -0
- package/src/terminal/isolation.js +129 -0
- package/src/terminal/monitor.js +277 -0
- package/src/terminal/spawner.js +269 -0
- package/src/upgrade/checker.js +1 -1
- 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
|
+
```
|