Display FABER workflow status with dual-state tracking (current state + historical logs).
Displays FABER workflow status with current state and recent log events.
/plugin marketplace add fractary/claude-plugins/plugin install fractary-faber@fractaryclaude-haiku-4-5Display FABER workflow status with dual-state tracking (current state + historical logs).
Shows comprehensive workflow status by combining:
.fractary/plugins/faber/state.jsonfractary-logs plugin (workflow log type)Features:
.fractary/plugins/faber/state.json# Show current workflow status
/fractary-faber:status
# Show status with work item ID
/fractary-faber:status 158
# Show detailed log history (last N events)
/fractary-faber:status --logs 20
# Show only current state (no logs)
/fractary-faber:status --state-only
# Show timing breakdown
/fractary-faber:status --timing
# Show all information (state + full logs + timing)
/fractary-faber:status --verbose
This command should:
# Check if state file exists
STATE_FILE=".fractary/plugins/faber/state.json"
if [ ! -f "$STATE_FILE" ]; then
echo "No active FABER workflow found in this project." >&2
echo "" >&2
echo "To start a workflow:" >&2
echo " /fractary-faber:run <work-id>" >&2
exit 1
fi
# Load current state
STATE_JSON=$(cat "$STATE_FILE")
# Extract key fields
WORK_ID=$(echo "$STATE_JSON" | jq -r '.work_id')
STATUS=$(echo "$STATE_JSON" | jq -r '.status')
CURRENT_PHASE=$(echo "$STATE_JSON" | jq -r '.current_phase')
STARTED_AT=$(echo "$STATE_JSON" | jq -r '.started_at')
UPDATED_AT=$(echo "$STATE_JSON" | jq -r '.updated_at')
Use the fractary-logs plugin to query workflow events:
# Query recent workflow log entries (if logs enabled)
LOG_LIMIT="${LOG_LIMIT:-10}"
# Use fractary-logs to query workflow events
# This should invoke the fractary-logs plugin with appropriate filters
RECENT_LOGS=$(fractary-logs query --type workflow --work-id "$WORK_ID" --limit "$LOG_LIMIT" 2>/dev/null || echo "[]")
Combine current state with recent logs to show comprehensive status.
The command displays three sections:
ββββββββββββββββββββββββββββββββββββββββββββββ
π FABER Workflow Status
ββββββββββββββββββββββββββββββββββββββββββββββ
Work ID: 158
Status: in_progress
Current Phase: architect
Started: 2025-11-19 10:30:15
Updated: 2025-11-19 10:45:23
Workflow Phases:
Frame β
Complete (2m 15s)
Architect π In Progress
Build βΈοΈ Pending
Evaluate βΈοΈ Pending
Release βΈοΈ Pending
Artifacts:
Specification: specs/WORK-00158-description.md
Branch: feat/158-review-faber-workflow-config
Commit: abc1234 (2 commits)
Recent Events (last 10):
[10:45:23] phase_start - Architect phase started
[10:43:10] step_complete - setup-env completed
[10:42:55] step_complete - classify completed
[10:41:30] step_complete - fetch-work completed
[10:41:15] phase_complete - Frame phase completed
[10:41:00] phase_start - Frame phase started
[10:40:45] hook_execute - pre_frame hook: load-context
[10:40:30] workflow_start - FABER workflow started for #158
Next Steps:
π Architect phase in progress
β Generating technical specification from requirements
β Estimated time remaining: ~3 minutes
When architect completes:
/fractary-faber:run --work-id 158 --phase build # Continue to build phase
/fractary-faber:run --work-id 158 # Continue full workflow
From .fractary/plugins/faber/state.json:
From fractary-logs plugin (workflow log type):
Handle these cases:
--logs N: Show last N log events (default: 10)--state-only: Skip logs, show only current state--timing: Include phase timing breakdown--verbose: Show everything (state + logs + timing)When to use status:
This command reads:
.fractary/plugins/faber/state.json (current state)fractary-logs plugin with workflow log type (historical events).fractary/plugins/faber/config.json (to understand configuration)/fractary-faber:run)/fractary-faber:run - Execute workflow/fractary-faber:audit - Validate configuration.fractary/plugins/faber/config.json.fractary/plugins/faber/state.jsonfractary-logs plugin