# Luzia Status System - Quick Start Guide **TL;DR:** The status system is deployed and ready. Add 3 lines of code to start publishing events. --- ## 30-Second Setup ### 1. Verify Installation ```bash python3 -c "from luzia_status_sync_wrapper import get_sync_publisher; print('✓ Ready')" ``` ### 2. Add to Your Code Copy this into your task dispatcher: ```python from luzia_status_sync_wrapper import get_sync_publisher publisher = get_sync_publisher() # When task starts publisher.publish_task_started( task_id="project-task123", project="myproject", description="What the task does", estimated_duration_seconds=600 ) # When task completes publisher.publish_task_completed( task_id="project-task123", elapsed_seconds=615, findings_count=2, status="APPROVED" ) # When task fails publisher.publish_task_failed( task_id="project-task123", error=str(exception), elapsed_seconds=300, retry_count=1, retriable=True ) ``` ### 3. Test It ```bash # Run example python3 /opt/server-agents/orchestrator/examples/status_integration_example.py # Check status luzia status ``` --- ## Common Tasks ### Task Just Started - Publish Event ```python publisher.publish_task_started( task_id="my-task-123", project="admin", description="Code review and fixes", estimated_duration_seconds=600 ) ``` ### Task Progressing - Update Progress (Every 30 Seconds) ```python publisher.publish_progress( task_id="my-task-123", progress_percent=50, # 0-100 current_step=2, # Which step (1, 2, 3...) total_steps=4, # Total steps current_step_name="Processing", # Name of current step elapsed_seconds=300, # How long so far estimated_remaining_seconds=300 # Est time left ) ``` ### Task Completed Successfully ```python publisher.publish_task_completed( task_id="my-task-123", elapsed_seconds=600, findings_count=2, # Number of findings recommendations_count=1, # Number of recommendations status="APPROVED" # or "NEEDS_WORK", "REJECTED" ) ``` ### Task Failed ```python publisher.publish_task_failed( task_id="my-task-123", error="Connection timeout", elapsed_seconds=300, retry_count=1, # Which attempt failed retriable=True # Can it be retried? ) ``` ### Task Warning (Time Running Out, etc.) ```python publisher.publish_warning( task_id="my-task-123", warning_type="DURATION_EXCEEDED", message="Task approaching time limit", current_step=3, total_steps=4, current_step_name="Validating", elapsed_seconds=480, progress_percent=75, recommendation="May need optimization" ) ``` ### Task Queued (System Busy) ```python publisher.publish_task_queued( task_id="my-task-123", project="admin", description="Code review", reason="System resource limit", queue_position=3, queue_ahead=["task-100", "task-101"], estimated_wait_seconds=300 ) ``` ### System Alert ```python publisher.publish_system_alert( alert_type="MEMORY_WARNING", message="Memory at 85%", recommendation="Queued tasks will wait", severity="warning" # or "critical" ) ``` --- ## Check Status ```bash # Show dashboard luzia status # Show only warnings/errors luzia status --alerts # Show specific project luzia status --project admin # Show last N updates luzia status --recent 10 # Export to JSON luzia status --export json # Creates: /tmp/luzia_status_20260109_120000.json # Export to Markdown luzia status --export markdown ``` --- ## Customize Behavior Edit `/etc/luzia/status_config.toml`: ```toml [status_updates] verbosity = "normal" # quiet, normal, verbose progress_update_threshold_percent = 25 # Show at 25%, 50%, 75% progress_update_min_interval_seconds = 30 # Min time between updates [display] use_colors = true use_emojis = true compact_format = true [logging] enabled = true log_file = "/var/log/luzia/status.log" log_level = "INFO" ``` --- ## Test Integration Run the full test suite: ```bash cd /opt/server-agents/orchestrator/lib python3 test_status_integration.py ``` All tests should pass (7/7). --- ## Files Deployed - `/etc/luzia/status_config.toml` - Configuration - `/opt/server-agents/orchestrator/lib/luzia_status_*.py` - Core modules - `/opt/server-agents/orchestrator/lib/test_status_integration.py` - Tests - `/opt/server-agents/orchestrator/examples/status_integration_example.py` - Examples - `/opt/server-agents/orchestrator/LUZIA_STATUS_INTEGRATION.md` - Full docs - `/opt/server-agents/orchestrator/STATUS_DEPLOYMENT_COMPLETE.md` - Deployment info --- ## Complete Example ```python from luzia_status_sync_wrapper import get_sync_publisher import time def run_task(): publisher = get_sync_publisher() task_id = "admin-review-123" # Task starts publisher.publish_task_started( task_id=task_id, project="admin", description="Code review", estimated_duration_seconds=600 ) start = time.time() try: # Step 1 print("Step 1: Analyzing...") time.sleep(2) publisher.publish_progress( task_id=task_id, progress_percent=25, current_step=1, total_steps=4, current_step_name="Analyzing", elapsed_seconds=int(time.time() - start), estimated_remaining_seconds=450 ) # Step 2 print("Step 2: Reviewing...") time.sleep(2) publisher.publish_progress( task_id=task_id, progress_percent=50, current_step=2, total_steps=4, current_step_name="Reviewing", elapsed_seconds=int(time.time() - start), estimated_remaining_seconds=300 ) # Step 3 print("Step 3: Fixing...") time.sleep(2) # Step 4 print("Step 4: Testing...") time.sleep(2) publisher.publish_progress( task_id=task_id, progress_percent=100, current_step=4, total_steps=4, current_step_name="Testing", elapsed_seconds=int(time.time() - start), estimated_remaining_seconds=0 ) # Success elapsed = int(time.time() - start) publisher.publish_task_completed( task_id=task_id, elapsed_seconds=elapsed, findings_count=3, status="APPROVED" ) print("✓ Task completed successfully") except Exception as e: elapsed = int(time.time() - start) publisher.publish_task_failed( task_id=task_id, error=str(e), elapsed_seconds=elapsed, retry_count=1, retriable=True ) raise if __name__ == "__main__": run_task() ``` --- ## Need Help? 1. **Check tests:** `python3 /opt/server-agents/orchestrator/lib/test_status_integration.py` 2. **See examples:** `/opt/server-agents/orchestrator/examples/status_integration_example.py` 3. **Read full docs:** `/opt/server-agents/orchestrator/LUZIA_STATUS_INTEGRATION.md` 4. **Check logs:** `tail -f /var/log/luzia/status.log` --- **Status:** ✓ Ready for production use Add the 3-line import and start publishing. It's that simple.