Files
Timmy-time-dashboard/timmy_automations/config/automations.json
kimi 9dee9ed2a8
Some checks failed
Tests / lint (pull_request) Has been cancelled
Tests / test (pull_request) Has been cancelled
feat: add focus-day presets for Daily Run and work selection
Add five focus-day presets that bias Daily Run agenda generation:
- tests-day: Focus on test-related work
- triage-day: Issue triage and backlog grooming
- economy-day: Payment and economic features
- docs-day: Documentation and guides
- refactor-day: Code cleanup and refactoring

Changes:
- Add focus_day_presets configuration to daily_run.json
- Add --preset CLI argument to orchestrator.py
- Add --list-presets to show available presets
- Update fetch_candidates() to use preset label filters
- Update score_issue() to boost preset-matching issues
- Update generate_agenda() to include preset metadata
- Add comprehensive documentation to README.md

Fixes #716
2026-03-21 15:34:10 -04:00

224 lines
7.1 KiB
JSON

{
"version": "1.0.0",
"description": "Master manifest of all Timmy automations",
"last_updated": "2026-03-21",
"automations": [
{
"id": "cycle_retro",
"name": "Cycle Retrospective",
"description": "Logs structured retrospective data after each development cycle",
"script": "scripts/cycle_retro.py",
"category": "daily_run",
"enabled": true,
"trigger": "post_cycle",
"executable": "python3",
"config": {
"retro_file": ".loop/retro/cycles.jsonl",
"summary_file": ".loop/retro/summary.json",
"summary_window": 50,
"epoch_enabled": true
},
"outputs": [
".loop/retro/cycles.jsonl",
".loop/retro/summary.json"
]
},
{
"id": "loop_guard",
"name": "Loop Guard",
"description": "Idle detection with exponential backoff to prevent burning cycles on empty queues",
"script": "scripts/loop_guard.py",
"category": "daily_run",
"enabled": true,
"trigger": "pre_cycle",
"executable": "python3",
"config": {
"queue_file": ".loop/queue.json",
"idle_state_file": ".loop/idle_state.json",
"backoff_base_seconds": 60,
"backoff_max_seconds": 600,
"backoff_multiplier": 2,
"cycle_duration_seconds": 300
},
"outputs": [
".loop/idle_state.json"
]
},
{
"id": "triage_score",
"name": "Mechanical Triage Scoring",
"description": "Pure heuristic scoring of open issues based on scope, acceptance criteria, and alignment",
"script": "scripts/triage_score.py",
"category": "daily_run",
"enabled": true,
"trigger": "scheduled",
"schedule": "every_10_cycles",
"executable": "python3",
"config": {
"ready_threshold": 5,
"quarantine_lookback": 20,
"queue_file": ".loop/queue.json",
"retro_file": ".loop/retro/triage.jsonl",
"quarantine_file": ".loop/quarantine.json"
},
"outputs": [
".loop/queue.json",
".loop/retro/triage.jsonl",
".loop/quarantine.json"
]
},
{
"id": "deep_triage",
"name": "Deep Triage",
"description": "LLM-driven intelligent issue refinement, breaking down large issues, adding acceptance criteria",
"script": "scripts/deep_triage.sh",
"category": "triage",
"enabled": true,
"trigger": "scheduled",
"schedule": "every_20_cycles",
"executable": "bash",
"depends_on": ["loop_introspect"],
"config": {
"queue_file": ".loop/queue.json",
"retro_file": ".loop/retro/deep-triage.jsonl",
"prompt_file": "scripts/deep_triage_prompt.md",
"timmy_consultation": true,
"timmy_timeout_seconds": 60
},
"outputs": [
".loop/queue.json",
".loop/retro/deep-triage.jsonl"
]
},
{
"id": "loop_introspect",
"name": "Loop Introspection",
"description": "Self-improvement engine that analyzes retro data and produces structured recommendations",
"script": "scripts/loop_introspect.py",
"category": "triage",
"enabled": true,
"trigger": "scheduled",
"schedule": "every_20_cycles",
"executable": "python3",
"config": {
"cycles_file": ".loop/retro/cycles.jsonl",
"deep_triage_file": ".loop/retro/deep-triage.jsonl",
"triage_file": ".loop/retro/triage.jsonl",
"quarantine_file": ".loop/quarantine.json",
"insights_file": ".loop/retro/insights.json",
"trend_window_days": 7
},
"outputs": [
".loop/retro/insights.json"
]
},
{
"id": "agent_workspace",
"name": "Agent Workspace Manager",
"description": "Creates and maintains isolated git clones, port ranges, and data directories per agent",
"script": "scripts/agent_workspace.sh",
"category": "workspace",
"enabled": true,
"trigger": "manual",
"executable": "bash",
"config": {
"agents_dir": "/tmp/timmy-agents",
"canonical_repo": "~/Timmy-Time-dashboard",
"gitea_remote": "http://localhost:3000/rockachopa/Timmy-time-dashboard.git",
"agents": ["hermes", "kimi-0", "kimi-1", "kimi-2", "kimi-3", "smoke"],
"port_base_dashboard": 8100,
"port_base_serve": 8200
},
"outputs": []
},
{
"id": "kimi_bootstrap",
"name": "Kimi Workspace Bootstrap",
"description": "One-time setup script for new Kimi agent workspaces",
"script": ".kimi/scripts/bootstrap.sh",
"category": "workspace",
"enabled": true,
"trigger": "manual",
"executable": "bash",
"config": {},
"outputs": []
},
{
"id": "kimi_resume",
"name": "Kimi Resume",
"description": "Quick status check and resume prompt for Kimi workspaces",
"script": ".kimi/scripts/resume.sh",
"category": "workspace",
"enabled": true,
"trigger": "manual",
"executable": "bash",
"config": {},
"outputs": []
},
{
"id": "backfill_retro",
"name": "Backfill Retrospective",
"description": "One-time script to seed retrospective data from Gitea PR history",
"script": "scripts/backfill_retro.py",
"category": "metrics",
"enabled": true,
"trigger": "manual",
"executable": "python3",
"config": {
"retro_file": ".loop/retro/cycles.jsonl",
"summary_file": ".loop/retro/summary.json",
"gitea_api": "http://localhost:3000/api/v1"
},
"outputs": [
".loop/retro/cycles.jsonl",
".loop/retro/summary.json"
]
},
{
"id": "pre_commit_checks",
"name": "Pre-commit Checks",
"description": "CI hygiene validation before commits — import checks, model config, syntax, formatting",
"script": "scripts/pre_commit_checks.py",
"category": "metrics",
"enabled": true,
"trigger": "pre_commit",
"executable": "python3",
"config": {
"check_imports": true,
"check_model_config": true,
"check_test_syntax": true,
"check_platform_paths": true,
"check_docker_tests": true,
"check_black_formatting": true
},
"outputs": []
},
{
"id": "daily_run_orchestrator",
"name": "Daily Run Orchestrator",
"description": "The 10-minute ritual — fetches candidate issues and produces a concise Daily Run agenda plus day summary. Supports focus-day presets for themed work sessions.",
"script": "timmy_automations/daily_run/orchestrator.py",
"category": "daily_run",
"enabled": true,
"trigger": "manual",
"executable": "python3",
"config": {
"config_file": "timmy_automations/config/daily_run.json",
"candidate_labels": ["daily-run"],
"size_labels": ["size:XS", "size:S"],
"max_agenda_items": 3,
"lookback_hours": 24,
"agenda_time_minutes": 10,
"focus_day_presets": [
"tests-day",
"triage-day",
"economy-day",
"docs-day",
"refactor-day"
]
},
"outputs": []
}
]
}