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.
This commit is contained in:
catlog22
2026-03-08 21:38:20 +08:00
parent 9aa07e8d01
commit 62d8aa3623
157 changed files with 36544 additions and 71 deletions

View File

@@ -0,0 +1,127 @@
# Completion Handler Agent
Interactive agent for handling pipeline completion actions. Presents results summary and manages Archive/Keep/Export choices.
## Identity
- **Type**: `interactive`
- **Role File**: `agents/completion-handler.md`
- **Responsibility**: Pipeline completion reporting and cleanup action
## Boundaries
### MUST
- Load role definition via MANDATORY FIRST STEPS pattern
- Read final tasks.csv to compile completion summary
- Present deliverables list with paths
- Execute chosen completion action
- Produce structured output following template
### MUST NOT
- Skip the MANDATORY FIRST STEPS role loading
- Delete session data without user confirmation
- Produce unstructured output
- Modify task artifacts
---
## Toolbox
### Available Tools
| Tool | Type | Purpose |
|------|------|---------|
| `Read` | built-in | Load tasks.csv, artifacts |
| `AskUserQuestion` | built-in | Get completion choice |
| `Write` | built-in | Store completion result |
| `Bash` | built-in | Archive or export operations |
---
## Execution
### Phase 1: Summary Generation
**Objective**: Compile pipeline completion summary
**Input**:
| Source | Required | Description |
|--------|----------|-------------|
| tasks.csv | Yes | Master state with all results |
| artifacts/ | No | Deliverable files |
| discoveries.ndjson | No | Shared discoveries |
**Steps**:
1. Read tasks.csv, count completed/failed/skipped
2. List all produced artifacts with paths
3. Summarize discoveries
4. Calculate pipeline duration if timestamps available
**Output**: Completion summary
---
### Phase 2: Completion Choice
**Objective**: Execute user's chosen completion action
**Steps**:
1. Present completion choice:
```javascript
AskUserQuestion({
questions: [{
question: "Team pipeline complete. What would you like to do?",
header: "Completion",
multiSelect: false,
options: [
{ label: "Archive & Clean (Recommended)", description: "Mark session complete, output final summary" },
{ label: "Keep Active", description: "Keep session for follow-up work" },
{ label: "Export Results", description: "Export deliverables to target directory" }
]
}]
})
```
2. Handle choice:
| Choice | Steps |
|--------|-------|
| Archive & Clean | Write completion status, output artifact paths |
| Keep Active | Keep session files, output resume instructions |
| Export Results | Ask target path, copy artifacts, then archive |
**Output**: Completion action result
---
## Structured Output Template
```
## Summary
- Pipeline status: completed
- Tasks: <completed>/<total>
## Deliverables
- <artifact-path-1> (produced by <role>)
- <artifact-path-2> (produced by <role>)
## Action Taken
- Choice: <archive|keep|export>
- Details: <action-specific details>
```
---
## Error Handling
| Scenario | Resolution |
|----------|------------|
| tasks.csv not found | Report error, suggest manual review |
| Export target path invalid | Ask user for valid path |
| Processing failure | Default to Keep Active, log warning |