Files
Claude-Code-Workflow/.codex/skills/team-frontend-debug/schemas/tasks-schema.md
catlog22 62d8aa3623 Add unit tests for various components and stores in the terminal dashboard
- Implement tests for AssociationHighlight, DashboardToolbar, QueuePanel, SessionGroupTree, and TerminalDashboardPage to ensure proper functionality and state management.
- Create tests for cliSessionStore, issueQueueIntegrationStore, queueExecutionStore, queueSchedulerStore, sessionManagerStore, and terminalGridStore to validate state resets and workspace scoping.
- Mock necessary dependencies and state management hooks to isolate tests and ensure accurate behavior.
2026-03-08 21:38:20 +08:00

13 KiB

Team Frontend Debug -- CSV Schema

Master CSV: tasks.csv

Column Definitions

Input Columns (Set by Decomposer)

Column Type Required Description Example
id string Yes Unique task identifier (PREFIX-NNN) "TEST-001"
title string Yes Short task title "Feature testing"
description string Yes Detailed task description (self-contained) with PURPOSE/TASK/CONTEXT/EXPECTED/CONSTRAINTS "PURPOSE: Test all features from list..."
role enum Yes Worker role: tester, reproducer, analyzer, fixer, verifier "tester"
pipeline_mode enum Yes Pipeline mode: test-pipeline or debug-pipeline "test-pipeline"
base_url string No Target URL for browser-based tasks "http://localhost:3000"
evidence_dimensions string No Semicolon-separated evidence types to collect "screenshot;console;network"
deps string No Semicolon-separated dependency task IDs "TEST-001"
context_from string No Semicolon-separated task IDs for context "TEST-001"
exec_mode enum Yes Execution mechanism: csv-wave or interactive "csv-wave"

Computed Columns (Set by Wave Engine)

Column Type Description Example
wave integer Wave number (1-based, from topological sort) 2
prev_context string Aggregated findings from context_from tasks (per-wave CSV only) "[TEST-001] Found 3 issues: 2 high, 1 medium..."

Output Columns (Set by Agent)

Column Type Description Example
status enum pending -> completed / failed / skipped "completed"
findings string Key discoveries (max 500 chars) "Tested 5 features: 3 pass, 2 fail. BUG-001: TypeError on login. BUG-002: API 500 on save."
artifacts_produced string Semicolon-separated paths of produced artifacts "artifacts/TEST-001-report.md;artifacts/TEST-001-issues.json"
issues_count string Number of issues found (tester/analyzer only, empty for others) "2"
verdict string Verification verdict: pass, pass_with_warnings, fail (verifier only) "pass"
error string Error message if failed ""

exec_mode Values

Value Mechanism Description
csv-wave spawn_agents_on_csv One-shot batch execution within wave
interactive spawn_agent/wait/send_input/close_agent Multi-round individual execution

Interactive tasks appear in master CSV for dependency tracking but are NOT included in wave-{N}.csv files.


Role Prefixes

Role Prefix Pipeline Inner Loop
tester TEST test-pipeline Yes (iterates over features)
reproducer REPRODUCE debug-pipeline No
analyzer ANALYZE both No
fixer FIX both Yes (may need multiple fix passes)
verifier VERIFY both No

Example Data (Test Pipeline)

id,title,description,role,pipeline_mode,base_url,evidence_dimensions,deps,context_from,exec_mode,wave,status,findings,artifacts_produced,issues_count,verdict,error
"TEST-001","Feature testing","PURPOSE: Test all features from feature list and discover issues | Success: All features tested with pass/fail results\nTASK:\n- Parse feature list\n- Navigate to each feature URL using Chrome DevTools\n- Execute test scenarios (click, fill, hover)\n- Capture evidence: screenshots, console logs, network requests\n- Classify results: pass/fail/warning\nCONTEXT:\n- Session: .workflow/.csv-wave/tfd-login-test-20260308\n- Base URL: http://localhost:3000\n- Features: Login, Dashboard, Profile\nEXPECTED: artifacts/TEST-001-report.md + artifacts/TEST-001-issues.json\nCONSTRAINTS: Chrome DevTools MCP only | No code modifications","tester","test-pipeline","http://localhost:3000","screenshot;console;network","","","csv-wave","1","pending","","","","",""
"ANALYZE-001","Root cause analysis","PURPOSE: Analyze discovered issues to identify root causes | Success: RCA for each high/medium issue\nTASK:\n- Load test report and issues list\n- Analyze console errors, network failures, DOM anomalies\n- Map to source code locations\nCONTEXT:\n- Session: .workflow/.csv-wave/tfd-login-test-20260308\n- Upstream: artifacts/TEST-001-issues.json\nEXPECTED: artifacts/ANALYZE-001-rca.md","analyzer","test-pipeline","","console;network","TEST-001","TEST-001","csv-wave","2","pending","","","","",""
"FIX-001","Fix all issues","PURPOSE: Fix identified issues | Success: All high/medium issues resolved\nTASK:\n- Load RCA report\n- Locate and fix each root cause\n- Run syntax/type checks\nCONTEXT:\n- Session: .workflow/.csv-wave/tfd-login-test-20260308\n- Upstream: artifacts/ANALYZE-001-rca.md\nEXPECTED: Modified source files + artifacts/FIX-001-changes.md","fixer","test-pipeline","","","ANALYZE-001","ANALYZE-001","csv-wave","3","pending","","","","",""
"VERIFY-001","Verify fixes","PURPOSE: Re-test failed scenarios to verify fixes | Success: Previously failed scenarios now pass\nTASK:\n- Re-execute failed test scenarios\n- Capture evidence and compare\n- Report pass/fail per scenario\nCONTEXT:\n- Session: .workflow/.csv-wave/tfd-login-test-20260308\n- Original: artifacts/TEST-001-report.md\n- Fix: artifacts/FIX-001-changes.md\nEXPECTED: artifacts/VERIFY-001-report.md","verifier","test-pipeline","http://localhost:3000","screenshot;console;network","FIX-001","FIX-001;TEST-001","csv-wave","4","pending","","","","",""

Example Data (Debug Pipeline)

id,title,description,role,pipeline_mode,base_url,evidence_dimensions,deps,context_from,exec_mode,wave,status,findings,artifacts_produced,issues_count,verdict,error
"REPRODUCE-001","Bug reproduction","PURPOSE: Reproduce bug and collect evidence | Success: Bug reproduced with artifacts\nTASK:\n- Navigate to target URL\n- Execute reproduction steps\n- Capture screenshots, snapshots, console logs, network\nCONTEXT:\n- Session: .workflow/.csv-wave/tfd-save-crash-20260308\n- Bug URL: http://localhost:3000/settings\n- Steps: 1. Click save 2. Observe white screen\nEXPECTED: evidence/ directory with all captures","reproducer","debug-pipeline","http://localhost:3000/settings","screenshot;console;network;snapshot","","","csv-wave","1","pending","","","","",""
"ANALYZE-001","Root cause analysis","PURPOSE: Analyze evidence to find root cause | Success: RCA with file:line location\nTASK:\n- Load evidence from reproducer\n- Analyze console errors and stack traces\n- Map to source code\nCONTEXT:\n- Session: .workflow/.csv-wave/tfd-save-crash-20260308\n- Upstream: evidence/\nEXPECTED: artifacts/ANALYZE-001-rca.md","analyzer","debug-pipeline","","","REPRODUCE-001","REPRODUCE-001","csv-wave","2","pending","","","","",""
"FIX-001","Code fix","PURPOSE: Fix the identified bug | Success: Root cause resolved\nTASK:\n- Load RCA report\n- Implement fix\n- Validate syntax\nCONTEXT:\n- Session: .workflow/.csv-wave/tfd-save-crash-20260308\n- Upstream: artifacts/ANALYZE-001-rca.md\nEXPECTED: Modified files + artifacts/FIX-001-changes.md","fixer","debug-pipeline","","","ANALYZE-001","ANALYZE-001","csv-wave","3","pending","","","","",""
"VERIFY-001","Fix verification","PURPOSE: Verify bug is fixed | Success: Original bug no longer reproduces\nTASK:\n- Same reproduction steps as REPRODUCE-001\n- Capture evidence and compare\n- Confirm resolution\nCONTEXT:\n- Session: .workflow/.csv-wave/tfd-save-crash-20260308\n- Original: evidence/\n- Fix: artifacts/FIX-001-changes.md\nEXPECTED: artifacts/VERIFY-001-report.md","verifier","debug-pipeline","http://localhost:3000/settings","screenshot;console;network;snapshot","FIX-001","FIX-001;REPRODUCE-001","csv-wave","4","pending","","","","",""

Column Lifecycle

Decomposer (Phase 1)     Wave Engine (Phase 2)    Agent (Execution)
---------------------    --------------------     -----------------
id          ---------->  id          ---------->  id
title       ---------->  title       ---------->  (reads)
description ---------->  description ---------->  (reads)
role        ---------->  role        ---------->  (reads)
pipeline_mode --------->  pipeline_mode --------->  (reads)
base_url    ---------->  base_url    ---------->  (reads)
evidence_dimensions --->  evidence_dimensions --->  (reads)
deps        ---------->  deps        ---------->  (reads)
context_from---------->  context_from---------->  (reads)
exec_mode   ---------->  exec_mode   ---------->  (reads)
                         wave         ---------->  (reads)
                         prev_context ---------->  (reads)
                                                   status
                                                   findings
                                                   artifacts_produced
                                                   issues_count
                                                   verdict
                                                   error

Output Schema (JSON)

Agent output via report_agent_job_result (csv-wave tasks):

Tester output:

{
  "id": "TEST-001",
  "status": "completed",
  "findings": "Tested 5 features: 3 pass, 2 fail. BUG-001: TypeError on login submit. BUG-002: API 500 on profile save.",
  "artifacts_produced": "artifacts/TEST-001-report.md;artifacts/TEST-001-issues.json",
  "issues_count": "2",
  "verdict": "",
  "error": ""
}

Verifier output:

{
  "id": "VERIFY-001",
  "status": "completed",
  "findings": "Original bug resolved. Login error no longer appears. No new console errors. No new network failures.",
  "artifacts_produced": "artifacts/VERIFY-001-report.md",
  "issues_count": "",
  "verdict": "pass",
  "error": ""
}

Interactive tasks output via structured text or JSON written to interactive/{id}-result.json.


Discovery Types

Type Dedup Key Data Schema Description
feature_tested data.feature {feature, name, result, issues} Feature test result
bug_reproduced data.url {url, steps, console_errors, network_failures} Bug reproduction result
evidence_collected data.dimension+data.file {dimension, file, description} Evidence artifact saved
root_cause_found data.file+data.line {category, file, line, confidence} Root cause identified
file_modified data.file {file, change, lines_added} Code fix applied
verification_result data.verdict {verdict, original_error_resolved, new_errors} Fix verification
issue_found data.file+data.line {file, line, severity, description} Issue discovered

Discovery NDJSON Format

{"ts":"2026-03-08T10:00:00Z","worker":"TEST-001","type":"feature_tested","data":{"feature":"F-001","name":"Login","result":"fail","issues":1}}
{"ts":"2026-03-08T10:05:00Z","worker":"REPRODUCE-001","type":"bug_reproduced","data":{"url":"/settings","steps":3,"console_errors":2,"network_failures":0}}
{"ts":"2026-03-08T10:10:00Z","worker":"ANALYZE-001","type":"root_cause_found","data":{"category":"TypeError","file":"src/components/Settings.tsx","line":142,"confidence":"high"}}
{"ts":"2026-03-08T10:15:00Z","worker":"FIX-001","type":"file_modified","data":{"file":"src/components/Settings.tsx","change":"Added null check for user object","lines_added":3}}

Both csv-wave and interactive agents read/write the same discoveries.ndjson file.


Cross-Mechanism Context Flow

Source Target Mechanism
CSV task findings Interactive task Injected via spawn message or send_input
Interactive task result CSV task prev_context Read from interactive/{id}-result.json
Any agent discovery Any agent Shared via discoveries.ndjson

Validation Rules

Rule Check Error
Unique IDs No duplicate id values "Duplicate task ID: {id}"
Valid deps All dep IDs exist in tasks "Unknown dependency: {dep_id}"
No self-deps Task cannot depend on itself "Self-dependency: {id}"
No circular deps Topological sort completes "Circular dependency detected involving: {ids}"
context_from valid All context IDs exist and in earlier waves "Invalid context_from: {id}"
exec_mode valid Value is csv-wave or interactive "Invalid exec_mode: {value}"
Description non-empty Every task has description "Empty description for task: {id}"
Status enum status in {pending, completed, failed, skipped} "Invalid status: {status}"
Role valid role in {tester, reproducer, analyzer, fixer, verifier} "Invalid role: {role}"
Pipeline mode valid pipeline_mode in {test-pipeline, debug-pipeline} "Invalid pipeline_mode: {mode}"
Verdict valid verdict in {pass, pass_with_warnings, fail, ""} "Invalid verdict: {verdict}"
Base URL for browser tasks tester/reproducer/verifier have non-empty base_url "Missing base_url for browser task: {id}"