@pjmendonca/devflow 1.19.0 → 1.20.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/.claude/hooks/session-startup.sh +20 -0
- package/.claude/settings.json +0 -4
- package/.claude/skills/dashboard/SKILL.md +118 -0
- package/CHANGELOG.md +26 -0
- package/README.md +2 -2
- package/bin/devflow-dashboard.js +10 -0
- package/bin/devflow-swarm.js +11 -0
- package/bin/devflow.js +2 -0
- package/package.json +3 -1
- package/tooling/.automation/memory/knowledge/kg_integration-test.json +212 -1
- package/tooling/.automation/memory/knowledge/kg_test-story.json +710 -2
- package/tooling/.automation/memory/shared/shared_integration-test.json +61 -1
- package/tooling/.automation/memory/shared/shared_test-story.json +181 -1
- package/tooling/.automation/memory/shared/shared_test.json +313 -1
- package/tooling/.automation/memory/shared/shared_validation-check.json +66 -1
- package/tooling/.automation/validation/history/2026-01-16_val_0b81ec2f.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_26c18e64.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_32af0152.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_353d1569.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_39e3c143.json +59 -0
- package/tooling/.automation/validation/history/2026-01-16_val_77fb42e4.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_a0752656.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_a29213b0.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_a9375d4c.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_c147bbdf.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_d06ccf8d.json +32 -0
- package/tooling/.automation/validation/history/2026-01-16_val_d6a80295.json +59 -0
- package/tooling/.automation/validation/history/2026-01-16_val_dce5005d.json +41 -0
- package/tooling/.automation/validation/history/2026-01-16_val_e53b3a63.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_108c18cf.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_35ee606f.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_3fc7268b.json +41 -0
- package/tooling/.automation/validation/history/2026-01-18_val_49f0bb17.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_53c928d2.json +59 -0
- package/tooling/.automation/validation/history/2026-01-18_val_55604791.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_67e695f0.json +41 -0
- package/tooling/.automation/validation/history/2026-01-18_val_82784713.json +41 -0
- package/tooling/.automation/validation/history/2026-01-18_val_94a8e584.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_95353af0.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_9a046f3a.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_b3443d2e.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_bfd298f4.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_cfc2a362.json +32 -0
- package/tooling/.automation/validation/history/2026-01-18_val_e581a3d2.json +41 -0
- package/tooling/scripts/lib/__init__.py +1 -3
- package/tooling/scripts/lib/agent_router.py +0 -4
- package/tooling/scripts/lib/cost_display.py +7 -1
- package/tooling/scripts/lib/swarm_orchestrator.py +14 -12
- package/tooling/scripts/live_dashboard.py +832 -0
- package/tooling/scripts/new-doc.py +1 -1
- package/tooling/scripts/run-collab.py +3 -47
- package/tooling/scripts/run-story.py +21 -9
- package/tooling/scripts/setup-checkpoint-service.py +1 -1
- package/.claude/commands/pair.md +0 -23
- package/tooling/scripts/lib/pair_programming.py +0 -688
|
@@ -424,4 +424,24 @@ echo " /develop - Development phase only"
|
|
|
424
424
|
echo " /review - Code review only"
|
|
425
425
|
echo " /costs - View cost dashboard"
|
|
426
426
|
|
|
427
|
+
# ============================================================================
|
|
428
|
+
# AUTO-LAUNCH LIVE DASHBOARD
|
|
429
|
+
# ============================================================================
|
|
430
|
+
|
|
431
|
+
DASHBOARD_SCRIPT="$PROJECT_DIR/tooling/scripts/live_dashboard.py"
|
|
432
|
+
|
|
433
|
+
if [ -f "$DASHBOARD_SCRIPT" ]; then
|
|
434
|
+
# Launch dashboard in a new terminal window (macOS)
|
|
435
|
+
if [ "$(uname)" = "Darwin" ]; then
|
|
436
|
+
osascript -e "tell application \"Terminal\"
|
|
437
|
+
do script \"cd '$PROJECT_DIR' && python3 '$DASHBOARD_SCRIPT' --compact\"
|
|
438
|
+
end tell" >/dev/null 2>&1 &
|
|
439
|
+
# Linux with common terminal emulators
|
|
440
|
+
elif command -v gnome-terminal >/dev/null 2>&1; then
|
|
441
|
+
gnome-terminal -- bash -c "cd '$PROJECT_DIR' && python3 '$DASHBOARD_SCRIPT'; exec bash" >/dev/null 2>&1 &
|
|
442
|
+
elif command -v xterm >/dev/null 2>&1; then
|
|
443
|
+
xterm -e "cd '$PROJECT_DIR' && python3 '$DASHBOARD_SCRIPT'" >/dev/null 2>&1 &
|
|
444
|
+
fi
|
|
445
|
+
fi
|
|
446
|
+
|
|
427
447
|
exit 0
|
package/.claude/settings.json
CHANGED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dashboard
|
|
3
|
+
description: Launch live status dashboard in a terminal
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Live Dashboard Skill
|
|
7
|
+
|
|
8
|
+
Launch or provide instructions for the Devflow live status dashboard - a real-time display of context usage, cost tracking, and agent activity.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
/dashboard [story-key] [options]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Options
|
|
17
|
+
|
|
18
|
+
| Option | Description |
|
|
19
|
+
|--------|-------------|
|
|
20
|
+
| story-key | Story to monitor (default: 'default') |
|
|
21
|
+
| --refresh N | Refresh interval in seconds (default: 0.5) |
|
|
22
|
+
| --compact | Single-line compact mode |
|
|
23
|
+
| --width N | Dashboard width (default: 70) |
|
|
24
|
+
|
|
25
|
+
## Prompt
|
|
26
|
+
|
|
27
|
+
You are helping the user launch the Devflow live dashboard.
|
|
28
|
+
|
|
29
|
+
**Arguments:** $ARGUMENTS
|
|
30
|
+
|
|
31
|
+
### Dashboard Launch Instructions
|
|
32
|
+
|
|
33
|
+
The live dashboard is a terminal-based real-time display that needs to run in a separate terminal to show continuous updates while you work.
|
|
34
|
+
|
|
35
|
+
**Option 1: VS Code Split Terminal (Recommended)**
|
|
36
|
+
|
|
37
|
+
Tell the user:
|
|
38
|
+
|
|
39
|
+
1. Open the VS Code integrated terminal (Ctrl+` or Cmd+`)
|
|
40
|
+
2. Click the "Split Terminal" button (or press Cmd+Shift+5 / Ctrl+Shift+5)
|
|
41
|
+
3. In the new terminal pane, run:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
python3 tooling/scripts/live_dashboard.py $ARGUMENTS
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Or if using npm:
|
|
48
|
+
```bash
|
|
49
|
+
npx devflow dashboard $ARGUMENTS
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Option 2: Separate Terminal Window**
|
|
53
|
+
|
|
54
|
+
For a floating dashboard window:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Open a new terminal and run:
|
|
58
|
+
cd [project-root] && python3 tooling/scripts/live_dashboard.py $ARGUMENTS
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Option 3: Compact Mode (less screen space)**
|
|
62
|
+
|
|
63
|
+
For minimal display:
|
|
64
|
+
```bash
|
|
65
|
+
python3 tooling/scripts/live_dashboard.py --compact $ARGUMENTS
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Dashboard Features
|
|
69
|
+
|
|
70
|
+
The dashboard displays:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
+------------------------------------------------------------------+
|
|
74
|
+
| DEVFLOW LIVE DASHBOARD Updated: HH:MM |
|
|
75
|
+
+------------------------------------------------------------------+
|
|
76
|
+
| ACTIVITY |
|
|
77
|
+
| Agent: DEV [2/3] Development (3:45) |
|
|
78
|
+
| Task: Implementing user authentication |
|
|
79
|
+
+------------------------------------------------------------------+
|
|
80
|
+
| CONTEXT |
|
|
81
|
+
| Usage: [================--------] 65.2% ^ |
|
|
82
|
+
| Tokens: 130.4K/200K ~14 exchanges left |
|
|
83
|
+
+------------------------------------------------------------------+
|
|
84
|
+
| COST |
|
|
85
|
+
| Budget: [====--------------------] 12.3% |
|
|
86
|
+
| Spent: $1.85 / $15.00 In: 45.2K Out: 12.1K |
|
|
87
|
+
+------------------------------------------------------------------+
|
|
88
|
+
| RECENT |
|
|
89
|
+
| > +3.2K tokens (45s ago) |
|
|
90
|
+
| > +2.8K tokens (1m ago) |
|
|
91
|
+
+------------------------------------------------------------------+
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
- **Activity**: Current agent, phase, task, and elapsed time
|
|
95
|
+
- **Context**: Visual progress bar with trend indicator and remaining exchanges
|
|
96
|
+
- **Cost**: Budget usage with token breakdown
|
|
97
|
+
- **Recent**: Token history showing recent activity
|
|
98
|
+
|
|
99
|
+
### Color Coding
|
|
100
|
+
|
|
101
|
+
- Green: Safe levels (< 50% context, < 75% budget)
|
|
102
|
+
- Yellow: Caution (50-75% context, 75-90% budget)
|
|
103
|
+
- Red: Critical (> 75% context, > 90% budget)
|
|
104
|
+
|
|
105
|
+
### Tips
|
|
106
|
+
|
|
107
|
+
1. **High refresh rate**: Use `--refresh 0.25` for faster updates
|
|
108
|
+
2. **Narrow terminal**: Use `--width 60` for smaller panes
|
|
109
|
+
3. **Minimal mode**: Use `--compact` for single-line status
|
|
110
|
+
4. **Stop dashboard**: Press Ctrl+C to exit
|
|
111
|
+
|
|
112
|
+
### If No Data Shows
|
|
113
|
+
|
|
114
|
+
The dashboard reads from:
|
|
115
|
+
- Context state: `tooling/.automation/context/context_[story-key].json`
|
|
116
|
+
- Cost data: `tooling/.automation/costs/sessions/*.json`
|
|
117
|
+
|
|
118
|
+
If these files don't exist yet, run a story or use `/develop` to generate tracking data.
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.20.1] - 2026-01-18
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- **Version Bump** - Patch release for npm publish
|
|
12
|
+
|
|
13
|
+
## [1.20.0] - 2026-01-16
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- **Import Error** - Fixed Python stdlib `platform` module conflict in multiple scripts
|
|
17
|
+
- `run-collab.py`, `run-story.py`, `new-doc.py`, `setup-checkpoint-service.py` now use `from lib.platform import`
|
|
18
|
+
- `swarm_orchestrator.py`, `pair_programming.py`, `cost_display.py` now prioritize lib.platform over stdlib
|
|
19
|
+
- Resolves `ImportError: cannot import name 'IS_MACOS' from 'platform'` on Python 3.14+
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- **Live Dashboard** - Real-time terminal status display for monitoring Devflow sessions
|
|
23
|
+
- Rich ASCII dashboard with box-drawing characters and color-coded progress bars
|
|
24
|
+
- Shows context usage, cost tracking, current agent/activity, and token history
|
|
25
|
+
- Configurable refresh rate (default 0.5s) for responsive updates
|
|
26
|
+
- Compact single-line mode with `--compact` flag
|
|
27
|
+
- Run via `devflow dashboard` or `python3 tooling/scripts/live_dashboard.py`
|
|
28
|
+
- New `/dashboard` skill with instructions for VS Code split terminal setup
|
|
29
|
+
|
|
30
|
+
- **Swarm Command** - Added `devflow swarm` CLI command for multi-agent swarm mode
|
|
31
|
+
- New `bin/devflow-swarm.js` wrapper that calls run-collab.py with --swarm flag
|
|
32
|
+
- Added to devflow.js dispatcher and package.json bin entries
|
|
33
|
+
|
|
8
34
|
## [1.19.0] - 2026-01-03
|
|
9
35
|
|
|
10
36
|
### Added
|
package/README.md
CHANGED
|
@@ -747,7 +747,7 @@ Free to use in commercial and personal projects.
|
|
|
747
747
|
|
|
748
748
|
|
|
749
749
|
<!-- VERSION_START - Auto-updated by update_version.py -->
|
|
750
|
-
**Version**: 1.
|
|
750
|
+
**Version**: 1.20.1
|
|
751
751
|
**Status**: Production Ready
|
|
752
|
-
**Last Updated**: 2026-01-
|
|
752
|
+
**Last Updated**: 2026-01-18
|
|
753
753
|
<!-- VERSION_END -->
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const { execPythonScript, getScriptsDir } = require('../lib/exec-python');
|
|
5
|
+
|
|
6
|
+
const scriptPath = path.join(getScriptsDir(), 'live_dashboard.py');
|
|
7
|
+
const args = process.argv.slice(2);
|
|
8
|
+
|
|
9
|
+
const exitCode = execPythonScript(scriptPath, args);
|
|
10
|
+
process.exit(exitCode);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const { execPythonScript, getScriptsDir } = require('../lib/exec-python');
|
|
5
|
+
|
|
6
|
+
const scriptPath = path.join(getScriptsDir(), 'run-collab.py');
|
|
7
|
+
const args = process.argv.slice(2);
|
|
8
|
+
|
|
9
|
+
// Prepend --swarm flag to run in swarm mode
|
|
10
|
+
const exitCode = execPythonScript(scriptPath, ['--swarm', ...args]);
|
|
11
|
+
process.exit(exitCode);
|
package/bin/devflow.js
CHANGED
|
@@ -6,6 +6,8 @@ const commands = {
|
|
|
6
6
|
'install': 'Install Devflow into your project',
|
|
7
7
|
'story': 'Run full story pipeline (context + dev + review)',
|
|
8
8
|
'collab': 'Run collaborative story with mode selection',
|
|
9
|
+
'swarm': 'Run multi-agent swarm mode (debate/consensus)',
|
|
10
|
+
'dashboard': 'Live status dashboard (context, cost, activity)',
|
|
9
11
|
'checkpoint': 'Create or restore context checkpoints',
|
|
10
12
|
'memory': 'View or query shared agent memory',
|
|
11
13
|
'cost': 'View cost dashboard and spending analytics',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pjmendonca/devflow",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.1",
|
|
4
4
|
"description": "Development workflow automation with Claude Code - agent-based development system with cost tracking",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"devflow",
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"devflow-checkpoint": "bin/devflow-checkpoint.js",
|
|
34
34
|
"devflow-memory": "bin/devflow-memory.js",
|
|
35
35
|
"devflow-collab": "bin/devflow-collab.js",
|
|
36
|
+
"devflow-swarm": "bin/devflow-swarm.js",
|
|
37
|
+
"devflow-dashboard": "bin/devflow-dashboard.js",
|
|
36
38
|
"devflow-create-persona": "bin/devflow-create-persona.js",
|
|
37
39
|
"devflow-personalize": "bin/devflow-personalize.js",
|
|
38
40
|
"devflow-validate-overrides": "bin/devflow-validate-overrides.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"story_key": "integration-test",
|
|
3
|
-
"last_updated": "2026-01-
|
|
3
|
+
"last_updated": "2026-01-18T10:57:50.036218",
|
|
4
4
|
"decisions": {},
|
|
5
5
|
"topic_index": {},
|
|
6
6
|
"handoffs": [
|
|
@@ -962,6 +962,217 @@
|
|
|
962
962
|
"Implement the required functionality",
|
|
963
963
|
"Write tests for the implementation"
|
|
964
964
|
]
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"id": "handoff_cb6d7c7a",
|
|
968
|
+
"timestamp": "2026-01-16T12:33:30.919040",
|
|
969
|
+
"from_agent": "SM",
|
|
970
|
+
"to_agent": "DEV",
|
|
971
|
+
"story_key": "integration-test",
|
|
972
|
+
"summary": "Ready for implementation",
|
|
973
|
+
"key_decisions": [],
|
|
974
|
+
"blockers_resolved": [],
|
|
975
|
+
"watch_out_for": [],
|
|
976
|
+
"files_touched": [
|
|
977
|
+
".claude/commands/brainstorm.md",
|
|
978
|
+
".claude/commands/init.md",
|
|
979
|
+
".claude/skills/brainstorm/SKILL.md",
|
|
980
|
+
".claude/skills/dashboard/SKILL.md",
|
|
981
|
+
"CHANGELOG.md",
|
|
982
|
+
"README.md",
|
|
983
|
+
"bin/devflow-dashboard.js",
|
|
984
|
+
"bin/devflow-swarm.js",
|
|
985
|
+
"bin/devflow.js",
|
|
986
|
+
"package.json",
|
|
987
|
+
"pyproject.toml",
|
|
988
|
+
"tooling/docs/stories/.gitkeep",
|
|
989
|
+
"tooling/docs/templates/brainstorm-guide.md",
|
|
990
|
+
"tooling/docs/templates/story.md",
|
|
991
|
+
"tooling/scripts/lib/__init__.py",
|
|
992
|
+
"tooling/scripts/lib/cost_display.py",
|
|
993
|
+
"tooling/scripts/lib/pair_programming.py",
|
|
994
|
+
"tooling/scripts/lib/swarm_orchestrator.py",
|
|
995
|
+
"tooling/scripts/live_dashboard.py",
|
|
996
|
+
"tooling/scripts/new-doc.py",
|
|
997
|
+
"tooling/scripts/run-collab.py",
|
|
998
|
+
"tooling/scripts/run-story.py",
|
|
999
|
+
"tooling/scripts/setup-checkpoint-service.py"
|
|
1000
|
+
],
|
|
1001
|
+
"next_steps": [
|
|
1002
|
+
"Review the acceptance criteria in the story context",
|
|
1003
|
+
"Examine the 23 files that have context",
|
|
1004
|
+
"Implement the required functionality",
|
|
1005
|
+
"Write tests for the implementation"
|
|
1006
|
+
]
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
"id": "handoff_a2389911",
|
|
1010
|
+
"timestamp": "2026-01-16T12:33:48.829611",
|
|
1011
|
+
"from_agent": "SM",
|
|
1012
|
+
"to_agent": "DEV",
|
|
1013
|
+
"story_key": "integration-test",
|
|
1014
|
+
"summary": "Ready for implementation",
|
|
1015
|
+
"key_decisions": [],
|
|
1016
|
+
"blockers_resolved": [],
|
|
1017
|
+
"watch_out_for": [],
|
|
1018
|
+
"files_touched": [
|
|
1019
|
+
".claude/commands/brainstorm.md",
|
|
1020
|
+
".claude/commands/init.md",
|
|
1021
|
+
".claude/skills/brainstorm/SKILL.md",
|
|
1022
|
+
".claude/skills/dashboard/SKILL.md",
|
|
1023
|
+
"CHANGELOG.md",
|
|
1024
|
+
"README.md",
|
|
1025
|
+
"bin/devflow-dashboard.js",
|
|
1026
|
+
"bin/devflow-swarm.js",
|
|
1027
|
+
"bin/devflow.js",
|
|
1028
|
+
"package.json",
|
|
1029
|
+
"pyproject.toml",
|
|
1030
|
+
"tooling/docs/stories/.gitkeep",
|
|
1031
|
+
"tooling/docs/templates/brainstorm-guide.md",
|
|
1032
|
+
"tooling/docs/templates/story.md",
|
|
1033
|
+
"tooling/scripts/lib/__init__.py",
|
|
1034
|
+
"tooling/scripts/lib/cost_display.py",
|
|
1035
|
+
"tooling/scripts/lib/pair_programming.py",
|
|
1036
|
+
"tooling/scripts/lib/swarm_orchestrator.py",
|
|
1037
|
+
"tooling/scripts/live_dashboard.py",
|
|
1038
|
+
"tooling/scripts/new-doc.py",
|
|
1039
|
+
"tooling/scripts/run-collab.py",
|
|
1040
|
+
"tooling/scripts/run-story.py",
|
|
1041
|
+
"tooling/scripts/setup-checkpoint-service.py"
|
|
1042
|
+
],
|
|
1043
|
+
"next_steps": [
|
|
1044
|
+
"Review the acceptance criteria in the story context",
|
|
1045
|
+
"Examine the 23 files that have context",
|
|
1046
|
+
"Implement the required functionality",
|
|
1047
|
+
"Write tests for the implementation"
|
|
1048
|
+
]
|
|
1049
|
+
},
|
|
1050
|
+
{
|
|
1051
|
+
"id": "handoff_4ccb6f32",
|
|
1052
|
+
"timestamp": "2026-01-18T10:54:54.615636",
|
|
1053
|
+
"from_agent": "SM",
|
|
1054
|
+
"to_agent": "DEV",
|
|
1055
|
+
"story_key": "integration-test",
|
|
1056
|
+
"summary": "Ready for implementation",
|
|
1057
|
+
"key_decisions": [],
|
|
1058
|
+
"blockers_resolved": [],
|
|
1059
|
+
"watch_out_for": [],
|
|
1060
|
+
"files_touched": [
|
|
1061
|
+
".claude/commands/pair.md",
|
|
1062
|
+
".claude/hooks/session-startup.sh",
|
|
1063
|
+
".claude/settings.json",
|
|
1064
|
+
".claude/skills/dashboard/SKILL.md",
|
|
1065
|
+
"CHANGELOG.md",
|
|
1066
|
+
"README.md",
|
|
1067
|
+
"bin/devflow-dashboard.js",
|
|
1068
|
+
"bin/devflow-swarm.js",
|
|
1069
|
+
"bin/devflow.js",
|
|
1070
|
+
"package.json",
|
|
1071
|
+
"pyproject.toml",
|
|
1072
|
+
"tests/test_collaboration.py",
|
|
1073
|
+
"tests/test_pair_programming.py",
|
|
1074
|
+
"tooling/scripts/lib/__init__.py",
|
|
1075
|
+
"tooling/scripts/lib/agent_router.py",
|
|
1076
|
+
"tooling/scripts/lib/cost_display.py",
|
|
1077
|
+
"tooling/scripts/lib/pair_programming.py",
|
|
1078
|
+
"tooling/scripts/lib/swarm_orchestrator.py",
|
|
1079
|
+
"tooling/scripts/live_dashboard.py",
|
|
1080
|
+
"tooling/scripts/new-doc.py",
|
|
1081
|
+
"tooling/scripts/run-collab.py",
|
|
1082
|
+
"tooling/scripts/run-story.py",
|
|
1083
|
+
"tooling/scripts/setup-checkpoint-service.py"
|
|
1084
|
+
],
|
|
1085
|
+
"next_steps": [
|
|
1086
|
+
"Review the acceptance criteria in the story context",
|
|
1087
|
+
"Examine the 23 files that have context",
|
|
1088
|
+
"Implement the required functionality",
|
|
1089
|
+
"Write tests for the implementation"
|
|
1090
|
+
]
|
|
1091
|
+
},
|
|
1092
|
+
{
|
|
1093
|
+
"id": "handoff_44df8777",
|
|
1094
|
+
"timestamp": "2026-01-18T10:55:18.910018",
|
|
1095
|
+
"from_agent": "SM",
|
|
1096
|
+
"to_agent": "DEV",
|
|
1097
|
+
"story_key": "integration-test",
|
|
1098
|
+
"summary": "Ready for implementation",
|
|
1099
|
+
"key_decisions": [],
|
|
1100
|
+
"blockers_resolved": [],
|
|
1101
|
+
"watch_out_for": [],
|
|
1102
|
+
"files_touched": [
|
|
1103
|
+
".claude/commands/pair.md",
|
|
1104
|
+
".claude/hooks/session-startup.sh",
|
|
1105
|
+
".claude/settings.json",
|
|
1106
|
+
".claude/skills/dashboard/SKILL.md",
|
|
1107
|
+
"CHANGELOG.md",
|
|
1108
|
+
"README.md",
|
|
1109
|
+
"bin/devflow-dashboard.js",
|
|
1110
|
+
"bin/devflow-swarm.js",
|
|
1111
|
+
"bin/devflow.js",
|
|
1112
|
+
"package.json",
|
|
1113
|
+
"pyproject.toml",
|
|
1114
|
+
"tests/test_collaboration.py",
|
|
1115
|
+
"tests/test_pair_programming.py",
|
|
1116
|
+
"tooling/scripts/lib/__init__.py",
|
|
1117
|
+
"tooling/scripts/lib/agent_router.py",
|
|
1118
|
+
"tooling/scripts/lib/cost_display.py",
|
|
1119
|
+
"tooling/scripts/lib/pair_programming.py",
|
|
1120
|
+
"tooling/scripts/lib/swarm_orchestrator.py",
|
|
1121
|
+
"tooling/scripts/live_dashboard.py",
|
|
1122
|
+
"tooling/scripts/new-doc.py",
|
|
1123
|
+
"tooling/scripts/run-collab.py",
|
|
1124
|
+
"tooling/scripts/run-story.py",
|
|
1125
|
+
"tooling/scripts/setup-checkpoint-service.py"
|
|
1126
|
+
],
|
|
1127
|
+
"next_steps": [
|
|
1128
|
+
"Review the acceptance criteria in the story context",
|
|
1129
|
+
"Examine the 23 files that have context",
|
|
1130
|
+
"Implement the required functionality",
|
|
1131
|
+
"Write tests for the implementation"
|
|
1132
|
+
]
|
|
1133
|
+
},
|
|
1134
|
+
{
|
|
1135
|
+
"id": "handoff_2686a81c",
|
|
1136
|
+
"timestamp": "2026-01-18T10:57:50.036067",
|
|
1137
|
+
"from_agent": "SM",
|
|
1138
|
+
"to_agent": "DEV",
|
|
1139
|
+
"story_key": "integration-test",
|
|
1140
|
+
"summary": "Ready for implementation",
|
|
1141
|
+
"key_decisions": [],
|
|
1142
|
+
"blockers_resolved": [],
|
|
1143
|
+
"watch_out_for": [],
|
|
1144
|
+
"files_touched": [
|
|
1145
|
+
".claude/commands/pair.md",
|
|
1146
|
+
".claude/hooks/session-startup.sh",
|
|
1147
|
+
".claude/settings.json",
|
|
1148
|
+
".claude/skills/dashboard/SKILL.md",
|
|
1149
|
+
"CHANGELOG.md",
|
|
1150
|
+
"README.md",
|
|
1151
|
+
"bin/devflow-dashboard.js",
|
|
1152
|
+
"bin/devflow-swarm.js",
|
|
1153
|
+
"bin/devflow.js",
|
|
1154
|
+
"package.json",
|
|
1155
|
+
"pyproject.toml",
|
|
1156
|
+
"tests/test_agent_router.py",
|
|
1157
|
+
"tests/test_collaboration.py",
|
|
1158
|
+
"tests/test_pair_programming.py",
|
|
1159
|
+
"tooling/scripts/lib/__init__.py",
|
|
1160
|
+
"tooling/scripts/lib/agent_router.py",
|
|
1161
|
+
"tooling/scripts/lib/cost_display.py",
|
|
1162
|
+
"tooling/scripts/lib/pair_programming.py",
|
|
1163
|
+
"tooling/scripts/lib/swarm_orchestrator.py",
|
|
1164
|
+
"tooling/scripts/live_dashboard.py",
|
|
1165
|
+
"tooling/scripts/new-doc.py",
|
|
1166
|
+
"tooling/scripts/run-collab.py",
|
|
1167
|
+
"tooling/scripts/run-story.py",
|
|
1168
|
+
"tooling/scripts/setup-checkpoint-service.py"
|
|
1169
|
+
],
|
|
1170
|
+
"next_steps": [
|
|
1171
|
+
"Review the acceptance criteria in the story context",
|
|
1172
|
+
"Examine the 24 files that have context",
|
|
1173
|
+
"Implement the required functionality",
|
|
1174
|
+
"Write tests for the implementation"
|
|
1175
|
+
]
|
|
965
1176
|
}
|
|
966
1177
|
]
|
|
967
1178
|
}
|