Comprehensive status report for Startup multi-agent system. Shows bd stats, active tmux sessions, blocked issues, Decision Ledger history, and agent activity.
Generate a comprehensive status report for the Startup multi-agent orchestration system.
bd stats
Reports:
# List all startup-related tmux sessions
tmux list-sessions -F "#{session_name}|#{session_windows}|#{session_created}" 2>/dev/null | grep -E "^(startup|paydirt|st-)" || echo "No active sessions"
Parse output to show:
bd list --status in_progress --limit 10
Shows what's actively being worked on.
bd blocked
Shows issues waiting on dependencies with what's blocking them.
bd ready --limit 5
Shows issues with no blockers that can be picked up.
# Find Decision Ledger
LEDGER=$(bd list --label st:ledger --type epic --limit 1 --brief 2>/dev/null | head -1 | awk '{print $1}')
if [ -n "$LEDGER" ]; then
echo "Recent decisions from $LEDGER:"
bd comments "$LEDGER" 2>/dev/null | grep "^DECISION" | tail -5
else
echo "No Decision Ledger found"
fi
git log --oneline -5 --format="%h %s (%cr)"
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā®
ā STARTUP STATUS REPORT ā
ā āāāāāāāāāāāāāāāāāāāāāā ā
ā [timestamp] ā
ā°āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāÆ
š Issue Statistics
āāā Total: XXX
āāā Open: XX | In Progress: XX | Closed: XXX
āāā Blocked: X | Ready: XX
āāā Avg Lead Time: X.X hours
š„ļø Active Sessions (Running Agents)
āāā paydirt-st-xxx: 2 windows (cto, engineer)
āāā paydirt-st-yyy: 1 window (qa)
āāā Total: X sessions, Y agents
ā³ In Progress (X)
āāā st-xxx: [title] (assignee)
āāā st-yyy: [title] (assignee)
š§ Blocked (X)
āāā st-aaa: [title]
ā āāā blocked by: st-bbb (open)
āāā st-ccc: [title]
āāā blocked by: st-ddd (in_progress)
ā
Ready to Work (top 5)
āāā st-111: [title] (P2)
āāā st-222: [title] (P2)
āāā ... X more
š Recent Decisions
āāā DECISION: q=[...], a=[...], confidence=high
āāā DECISION: q=[...], a=[...], confidence=human
š Recent Commits
āāā abc1234 feat: add auth (2 hours ago)
āāā def5678 fix: login bug (3 hours ago)
ā°āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāÆ
Run all checks and format the report:
#!/bin/bash
# Startup Status Report
echo "āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā®"
echo "ā STARTUP STATUS REPORT ā"
echo "ā āāāāāāāāāāāāāāāāāāāāāā ā"
echo "ā $(date '+%Y-%m-%d %H:%M:%S') ā"
echo "ā°āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāÆ"
echo ""
# 1. bd stats
echo "š Issue Statistics"
STATS=$(bd stats --json 2>/dev/null)
if [ -n "$STATS" ]; then
TOTAL=$(echo "$STATS" | jq -r '.total_issues // 0')
OPEN=$(echo "$STATS" | jq -r '.open_issues // 0')
IN_PROG=$(echo "$STATS" | jq -r '.in_progress_issues // 0')
CLOSED=$(echo "$STATS" | jq -r '.closed_issues // 0')
BLOCKED=$(echo "$STATS" | jq -r '.blocked_issues // 0')
READY=$(echo "$STATS" | jq -r '.ready_issues // 0')
LEAD=$(echo "$STATS" | jq -r '.average_lead_time_hours // 0' | xargs printf "%.1f")
echo "āāā Total: $TOTAL"
echo "āāā Open: $OPEN | In Progress: $IN_PROG | Closed: $CLOSED"
echo "āāā Blocked: $BLOCKED | Ready: $READY"
echo "āāā Avg Lead Time: ${LEAD} hours"
else
echo "āāā (bd stats unavailable)"
fi
echo ""
# 2. tmux sessions
echo "š„ļø Active Sessions (Running Agents)"
SESSIONS=$(tmux list-sessions -F "#{session_name}:#{session_windows}" 2>/dev/null | grep -E "^(startup|paydirt|st-)" || true)
if [ -n "$SESSIONS" ]; then
TOTAL_SESSIONS=0
TOTAL_WINDOWS=0
echo "$SESSIONS" | while IFS=: read -r name windows; do
echo "āāā $name: $windows window(s)"
done
echo "āāā Total: $(echo "$SESSIONS" | wc -l | tr -d ' ') sessions"
else
echo "āāā No active sessions"
fi
echo ""
# 3. In Progress
echo "ā³ In Progress"
IN_PROGRESS=$(bd list --status in_progress --brief --limit 5 2>/dev/null || true)
if [ -n "$IN_PROGRESS" ]; then
echo "$IN_PROGRESS" | head -5 | while read -r line; do
echo "āāā $line"
done
else
echo "āāā (none)"
fi
echo ""
# 4. Blocked
echo "š§ Blocked"
BLOCKED_LIST=$(bd blocked --brief 2>/dev/null || true)
if [ -n "$BLOCKED_LIST" ]; then
echo "$BLOCKED_LIST" | head -5 | while read -r line; do
echo "āāā $line"
done
else
echo "āāā (none)"
fi
echo ""
# 5. Ready
echo "ā
Ready to Work (top 5)"
READY_LIST=$(bd ready --brief --limit 5 2>/dev/null || true)
if [ -n "$READY_LIST" ]; then
echo "$READY_LIST" | while read -r line; do
echo "āāā $line"
done
else
echo "āāā (none)"
fi
echo ""
# 6. Recent Decisions
echo "š Recent Decisions"
LEDGER=$(bd list --label st:ledger --type epic --limit 1 --brief 2>/dev/null | head -1 | awk '{print $1}')
if [ -n "$LEDGER" ]; then
DECISIONS=$(bd comments "$LEDGER" 2>/dev/null | grep "^DECISION" | tail -3)
if [ -n "$DECISIONS" ]; then
echo "$DECISIONS" | while read -r line; do
echo "āāā ${line:0:60}..."
done
else
echo "āāā No decisions recorded"
fi
else
echo "āāā No Decision Ledger found"
fi
echo ""
# 7. Recent Commits
echo "š Recent Commits"
git log --oneline -3 --format="āāā %h %s (%cr)" 2>/dev/null || echo "āāā (git unavailable)"
echo ""
echo "ā°āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāÆ"
| Command | Purpose |
|---|---|
bd stats |
Quick overview numbers |
bd ready |
What can be worked on |
bd blocked |
What's stuck |
bd list --status in_progress |
Active work |
tmux list-sessions |
Running agent sessions |
git log -5 --oneline |
Recent activity |