Files
Pier_v1/.hmcmkit/knowledge/templates/pipeline/zero-script-qa.template.md
T
ahnyongjooandClaude Sonnet 5.5 964a841de1 chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합
- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 11:20:18 +09:00

247 lines
6.4 KiB
Markdown

# Zero Script QA Report
> Verification through structured JSON logs and real-time monitoring without test scripts
**Project**: {{project_name}}
**Verification Date**: {{date}}
**Scope**: {{scope}}
**Environment**: Docker Compose (Local/Staging)
---
## 1. Zero Script QA Overview
### 1.1 Methodology
```
Traditional: Write test code → Execute → Check results → Maintain
Zero Script: Log infrastructure → Manual UX testing → AI log analysis → Auto issue detection
```
### 1.2 Workflow
```
1. docker compose up -d
2. docker compose logs -f ← Antigravity Platform monitoring
3. User: Manual UX testing in browser
4. Antigravity Platform: Log analysis → Issue detection → Documentation → Fix
```
---
## 2. Logging Infrastructure Check
### 2.1 Environment Settings
| Item | Setting | Status |
|------|---------|:------:|
| LOG_LEVEL | DEBUG | ✅/❌ |
| LOG_FORMAT | json | ✅/❌ |
| Request ID propagation | X-Request-ID | ✅/❌ |
### 2.2 Service Logging Status
| Service | JSON Logs | Request ID | Status |
|---------|:---------:|:----------:|:------:|
| API (Backend) | ✅/❌ | ✅/❌ | ✅/⚠️/❌ |
| Web (Frontend) | ✅/❌ | ✅/❌ | ✅/⚠️/❌ |
| Nginx | ✅/❌ | ✅/❌ | ✅/⚠️/❌ |
---
## 3. Verification Targets
| Feature | API/Screen | Request ID | Status |
|---------|------------|------------|:------:|
| {{feature1}} | {{endpoint1}} | req_xxx | ⬜ |
| {{feature2}} | {{endpoint2}} | req_xxx | ⬜ |
---
## 4. Verification Results
### 4.1 {{Feature1}}
**Scenario**: {{scenarioDescription}}
**Request ID**: `req_{{requestId}}`
**Log Stream**:
```json
{"timestamp":"{{timestamp}}","level":"INFO","service":"web","request_id":"req_{{requestId}}","message":"API Request started","data":{"method":"POST","endpoint":"/api/{{endpoint}}"}}
{"timestamp":"{{timestamp}}","level":"INFO","service":"nginx","request_id":"req_{{requestId}}","message":"HTTP Request","data":{"method":"POST","uri":"/api/{{endpoint}}","status":200}}
{"timestamp":"{{timestamp}}","level":"INFO","service":"api","request_id":"req_{{requestId}}","message":"Request started","data":{"method":"POST","path":"/api/{{endpoint}}"}}
{"timestamp":"{{timestamp}}","level":"DEBUG","service":"api","request_id":"req_{{requestId}}","message":"Processing business logic","data":{}}
{"timestamp":"{{timestamp}}","level":"INFO","service":"api","request_id":"req_{{requestId}}","message":"Request completed","data":{"status":200,"duration_ms":45}}
{"timestamp":"{{timestamp}}","level":"INFO","service":"web","request_id":"req_{{requestId}}","message":"API Request completed","data":{"status":200,"duration_ms":48}}
```
**Result**: ✅ Pass / ❌ Fail
**Performance**: {{duration_ms}}ms (Target: < 1000ms)
**Issue** (if failed):
```
- Request ID: req_{{requestId}}
- Error log:
- Cause:
- Solution:
```
---
### 4.2 {{Feature2}}
**Scenario**: {{scenarioDescription}}
**Request ID**: `req_{{requestId}}`
**Log Stream**:
```json
// Paste logs here
```
**Result**: ✅/❌
---
## 5. Detected Issues
### 5.1 Error Logs (level: ERROR)
| Request ID | Service | Message | Severity |
|------------|---------|---------|----------|
| req_xxx | api | {{errorMessage}} | 🔴/🟡/🟢 |
### 5.2 Slow Responses (> 1000ms)
| Request ID | Endpoint | Duration | Recommended Action |
|------------|----------|----------|-------------------|
| req_xxx | /api/xxx | {{duration}}ms | Caching/Optimization |
### 5.3 Consecutive Failures
| Endpoint | Failure Count | Pattern | Recommended Action |
|----------|---------------|---------|-------------------|
| /api/xxx | {{count}} | {{pattern}} | {{action}} |
---
## 6. Issue Details
### ISSUE-{{number}}: {{title}}
**Request ID**: `req_{{requestId}}`
**Severity**: 🔴 Critical / 🟡 Warning / 🟢 Info
**Reproduction Steps**:
1. {{step1}}
2. {{step2}}
3. {{step3}}
**Related Logs**:
```json
{"timestamp":"...","level":"ERROR","request_id":"req_xxx","message":"...","data":{}}
```
**Root Cause**:
{{rootCause}}
**Recommended Fix**:
{{recommendation}}
**Status**: ⬜ Unresolved / 🔄 In Progress / ✅ Resolved
---
## 7. Verification Summary
### 7.1 Statistics
| Item | Value |
|------|-------|
| Total tests | {{total}} |
| Passed | {{passed}} |
| Failed | {{failed}} |
| Pass rate | {{passRate}}% |
| Average response time | {{avgDuration}}ms |
### 7.2 Issue Status
| Severity | Count | Resolved |
|----------|-------|----------|
| 🔴 Critical | {{critical}} | {{criticalResolved}} |
| 🟡 Warning | {{warning}} | {{warningResolved}} |
| 🟢 Info | {{info}} | {{infoResolved}} |
---
## 8. Conclusion
- [ ] All tests passed, no critical issues → Proceed to next Phase
- [ ] Warning issues exist → Proceed after recommended fixes
- [ ] Critical issues exist → Fix required, re-verification needed
---
## 8.1 Validation Checklist
### Logging Infrastructure
- [ ] JSON log format applied
- [ ] Request ID generation and propagation
- [ ] Log level settings per environment
- [ ] Docker logging configuration
### Backend Logging
- [ ] Logging middleware implemented
- [ ] All API calls logged (including 200 OK)
- [ ] Business logic logging
- [ ] Detailed error logging
### Frontend Logging
- [ ] Logger module implemented
- [ ] API client integration
- [ ] Error boundary logging
### QA Workflow
- [ ] Docker Compose configured
- [ ] Real-time monitoring ready
- [ ] Issue documentation template ready
---
## 9. Monitoring Commands
```bash
# Stream all logs
docker compose logs -f
# Filter errors only
docker compose logs -f | grep '"level":"ERROR"'
# Trace specific Request ID
docker compose logs -f | grep 'req_{{requestId}}'
# Find slow responses (1000ms+)
docker compose logs -f | grep -E '"duration_ms":[0-9]{4,}'
# Specific service only
docker compose logs -f api
docker compose logs -f web
```
---
## 10. Log Format Guide
### JSON Log Standard
```json
{
"timestamp": "ISO 8601 format",
"level": "DEBUG|INFO|WARNING|ERROR",
"service": "api|web|nginx|worker",
"request_id": "req_xxxxxxxx",
"message": "Log message",
"data": { "additional": "data" }
}
```
### Request ID Propagation Rules
```
Client → API Gateway → Backend → Database
↓ ↓ ↓ ↓
req_abc req_abc req_abc req_abc
```