{"id":34599158,"url":"https://github.com/flyingrobots/tasks","last_synced_at":"2026-05-22T23:33:08.138Z","repository":{"id":310573900,"uuid":"1037226749","full_name":"flyingrobots/TASKS","owner":"flyingrobots","description":"TASKS = Tasks Are Sequenced Key Steps; SLAPS = Sounds Like A Plan System.","archived":false,"fork":false,"pushed_at":"2025-10-31T23:15:21.000Z","size":1013,"stargazers_count":0,"open_issues_count":49,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-31T23:24:49.883Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flyingrobots.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-08-13T08:55:19.000Z","updated_at":"2025-10-14T16:49:54.000Z","dependencies_parsed_at":"2025-08-19T01:10:23.077Z","dependency_job_id":"d8658da9-da7c-436d-b7fe-7887bc91b97c","html_url":"https://github.com/flyingrobots/TASKS","commit_stats":null,"previous_names":["flyingrobots/tasks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/flyingrobots/TASKS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyingrobots%2FTASKS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyingrobots%2FTASKS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyingrobots%2FTASKS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyingrobots%2FTASKS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyingrobots","download_url":"https://codeload.github.com/flyingrobots/TASKS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyingrobots%2FTASKS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28002250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-24T12:07:34.660Z","updated_at":"2025-12-24T12:07:46.480Z","avatar_url":"https://github.com/flyingrobots.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# T.A.S.K.S. + S.L.A.P.S.\n\n\u003cimg src=\"https://github.com/user-attachments/assets/08f52e17-57c1-4287-b8cd-2ff66bc6c800\" width=\"400\" align=\"right\" /\u003e\n\nA mathematically pure DAG planner + a resilient AI execution runtime.\nPlan like a compiler. Execute like a swarm.\n\n\n### **Plan. Execute. Heal.**\nFrom project chaos to deterministic calm.\n\n[![Version](https://img.shields.io/badge/version-v8.0--spec-blue.svg)](docs/v8/v8.md)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![Status](https://img.shields.io/badge/status-specification--draft-orange.svg)](docs/v8/v8.md)\n[![Self-Healing](https://img.shields.io/badge/auto--repair-enabled-brightgreen.svg)](docs/v8/v8.md)\n\n### **Run It Like This: The T.A.S.K.S. Command Line Experience**\n\nT.A.S.K.S. is designed to be accessible and powerful, whether you're using it as a Claude command or a dedicated CLI.\n\n### **Planning with `/tasks` (Conceptual Claude Command)**\n\n```\n/tasks MIN_CONFIDENCE=0.7 MAX_WAVE_SIZE=30\n[paste or attach your project document]\n```\n**Output:** 5 validated artifacts ready for execution, **automatically repaired if needed**.\n\n### **Example: Self-Healed Execution Plan**\n\n**Input:** Messy 2000-word project doc with multiple issues\n\n```\n❌ Initial Analysis: REJECT (Score: 58/100)\n   • Cycle detected: P1.T014→P1.T022→P1.T018→P1.T014\n   • 3 tasks missing evidence\n   • 2 tasks \u003e16h duration\n   • 6 tasks not verb-first\n\n🔧 Auto-Repair Level 1: Surgical Fixes\n   ✅ Split P1.T022 (18h) → P1.T022a (8h) + P1.T022b (6h)\n   ✅ Split P1.T014 (20h) → P1.T014a (6h) + P1.T014b (4h)\n   ✅ Inserted PaymentsAPI:v1 interface between T014a→T022a\n   ✅ Cycle resolved: DAG now acyclic\n\n🔧 Auto-Repair Level 2: Quality Improvements  \n   ✅ Added evidence for 3 tasks from lines 45-67, 123-134, 201-215\n   ✅ Renamed: \"User system\" → \"Implement user system\"\n   ✅ Renamed: \"Database setup\" → \"Setup database schema\"\n   \n✨ Final Result: GOOD (Score: 86/100)\n   📊 20 tasks across 4 waves\n   ⚡ Max 7 parallel tasks\n   🎯 0 cycles, 95% verb-first compliance\n   📋 Ready for execution\n```\n\n### **Visualizing the Pure DAG**\n\nThis is what your plan looks like under the hood. Pure DAG. No resource noise.\n\n```mermaid\ngraph LR\n    A --\u003e B --\u003e D\n    A --\u003e C\n    C --\u003e D\n```\n\n\nFor more detailed CLI examples and usage patterns, see `docs/cli-demo.md`.\n\n## **What is T.A.S.K.S. + S.L.A.P.S. v8.0?**\n\nThis specification defines a next-generation system for **AI-driven project planning and execution**. It transforms a high-level specification and a codebase into an optimized, audit-ready plan, and then executes it with a resilient, self-healing runtime.\n\n### **Governing Principle: DAG Purity**\nPrecedence edges mean \"must happen before,\" nothing more. Resource constraints are cataloged and enforced *adjacent to* the graph by the runtime, maximizing parallelism and keeping the plan mathematically valid.\n\n### **T.A.S.K.S. (The Planner)**\nA **self-healing project planning compiler** that applies computer science rigor to project management. It:\n-   **Decomposes** complex goals into small, bounded tasks (2-8 hours).\n-   **Infers and Minimizes** a pure precedence DAG (Directed Acyclic Graph).\n-   **Validates** every task and dependency with machine-verifiable evidence.\n-   **Automatically Repairs** common planning errors like cycles, oversized tasks, and missing evidence.\n-   **Emits Canonical Artifacts** (features.json, tasks.json, dag.json, etc.) that are deterministic and hashed.\n\n### **S.L.A.P.S. (The Executor)**\nA **resilient execution runtime** that consumes the T.A.S.K.S. plan. It:\n-   **Maintains a Rolling Frontier** of ready tasks, maximizing agent throughput.\n-   **Arbitrates Resources** (locks, quotas) dynamically, preventing deadlocks and thrashing.\n-   **Monitors Telemetry** for failure patterns and applies **Circuit Breakers** and **Hot Patches**.\n-   **Records Provenance** with an append-only JSONL ledger for full auditability.\n\n```mermaid\ngraph LR\n    doc((Raw Project Doc)) --\u003e tasks[\"T.A.S.K.S.\"]\n    tasks --\u003e plan[\"Mathematically Optimized Plan\"]\n    plan --\u003e slaps[\"S.L.A.P.S.\"]\n    slaps --\u003e reality((Auditable Reality))\n```\n\n\n## **Why T.A.S.K.S. + S.L.A.P.S. v8.0?**\n\n**Traditional project management and AI orchestration often fail due to:**\n-   **Subjectivity:** Plans are based on vibes, not verifiable evidence.\n-   **Rigidity:** Fixed waves and manual resource allocation lead to idle agents and bottlenecks.\n-   **Fragility:** Systems break down when reality deviates from the plan, with no self-healing.\n-   **Lack of Trust:** Non-deterministic outputs and missing provenance make auditing impossible.\n\n**T.A.S.K.S. + S.L.A.P.S. solves this with:**\n-   **🎯 DAG Purity:** Maximizes parallelism by separating precedence from resource constraints.\n-   **🔄 Deterministic \u0026 Auditable:** Same input always yields the same hashed output; every execution step is logged.\n-   **⚡ Rolling Frontier:** No idle agents; tasks are executed as soon as dependencies and resources allow.\n-   **🛡️ Comprehensive Resilience:** Circuit breakers, hot patches, and compensation actions ensure plans survive contact with reality.\n-   **🤖 Human + AI Synergy:** LLMs for creative decomposition, deterministic tools for validation and execution.\n\n## **Core Features (v8.0 Specification)**\n\n## **Dependencies \u0026 Quick Setup**\n\n- Required to build/run planner:\n  - `go` (version in `planner/go.mod`, currently Go 1.25+)\n- Required to render DOT graphs to images:\n  - `graphviz` (provides the `dot` command)\n\nInstall helpers:\n- POSIX/macOS/Linux:\n  - Check or install: `bash scripts/setup-deps.sh` (dry run)\n  - Auto-install with prompts: `bash scripts/setup-deps.sh --install`\n  - Non-interactive: `bash scripts/setup-deps.sh --install --yes`\n- Windows (PowerShell):\n  - Check: `pwsh -File scripts/setup-deps.ps1`\n  - Install: `pwsh -File scripts/setup-deps.ps1 -Install -Yes`\n\nMakefile shortcuts (POSIX):\n- `make setup-dry-run` — checks for deps\n- `make setup` — installs Graphviz (uses brew/apt/dnf/etc.)\n- `make example-dot` — runs the example DOT export and render\n\nVerify Graphviz:\n- `dot -V` should print the Graphviz version\n\n## **Contributing**\n\n- Day‑to‑day planning uses a markdown‑first, Git‑native tracker under `todo/`.\n- See `docs/todo-workflow.md` for task lifecycle, and use the scripts:\n  - `npm run todo:task:set-active -- T###`\n  - `npm run todo:task:set-finished -- T###`\n  - `npm run todo:update`\n\n## **Quick Start: Stub Planning Flow**\n\nUntil the full planner is complete, you can generate a stub plan and immediate DOT visualizations:\n\n```\ncd planner\ngo run ./cmd/tasksd plan --out ./plans                  # or: --doc ../my-spec.md --repo ..\n# DOT files are emitted automatically next to JSON artifacts:\n#  - ./plans/dag.dot (planning view)\n#  - ./plans/runtime.dot (executor view)\n# Render with Graphviz:\ndot -Tsvg ./plans/dag.dot -o ./plans/dag.svg\ndot -Tsvg ./plans/runtime.dot -o ./plans/runtime.svg\n```\n\nStub planner flags:\n- `--doc FILE` — optional Markdown spec; headings `##` become features; bullet items under a feature become tasks.\n- `--repo DIR` — optional repo path; includes a small codebase census summary in tasks.json meta.\n- `--out DIR` — output directory for artifacts.\n- `--validators-acceptance CMD` — optional executable (path or shell command) invoked with JSON on stdin to validate acceptance checks; wrap complex shells as `sh -c \"...\"`.\n- `--validators-evidence CMD` — optional validator command for evidence coverage; same invocation semantics as `--validators-acceptance`.\n- `--validators-interface CMD` — optional validator command ensuring producer/consumer interface compatibility.\n- `--validators-cache DIR` — filesystem directory for validator cache entries (created if missing, defaults to `~/.tasksd/validator-cache`).\n- `--validators-timeout DURATION` — per-validator execution timeout (default `30s`).\n- `--validators-strict` — when set, any validator failure aborts planning; otherwise failures are recorded in the plan but artifacts still emit.\n\nDoc hints supported:\n- Task duration hints: `- Build tables (3h)` or `- Index docs (90m)`\n- Explicit dependencies per task: append `after: \u003cTitle or TID\u003e[, ...]`\n  - Example: `- Seed data after: Build tables, T002`\n\n\n### 🧠 **Intelligent Planning (T.A.S.K.S.)**\n-   **Codebase-First Analysis:** Integrates static analysis to ground plans in existing code.\n-   **Evidence-Driven Decomposition:** Every task and dependency is backed by verifiable evidence.\n-   **Smart Cycle Breaking:** Automated resolution of dependency cycles via task splitting or interface insertion.\n-   **Resource-Aware Wave Simulation:** Forecasts contention without polluting the precedence DAG.\n\n### ⚡ **Resilient Execution (S.L.A.P.S.)**\n-   **Rolling Frontier Scheduler:** Maximizes throughput and minimizes agent idle time.\n-   **Global Lock \u0026 Quota Managers:** Prevents deadlocks and manages finite resources.\n-   **Circuit Breakers \u0026 Hot Patches:** Adapts to runtime failures by injecting remedial actions.\n-   **Immutable Provenance Ledger:** Full audit trail of every execution step.\n\n### 🛡️ **Quality \u0026 Trust**\n-   **Deterministic Artifacts:** Canonical JSON serialization and SHA-256 hashing for all outputs.\n-   **Normative Validators:** Acceptance, Evidence, and Interface validators ensure plan integrity.\n-   **Security \u0026 Redaction:** Secrets are scrubbed from evidence before hashing.\n-   **Human-in-the-Loop Checkpoints:** Mandatory human review at critical stages.\n\n## Contributing\n\nT.A.S.K.S. + S.L.A.P.S. is built on rigorous computer science principles. Contributions should maintain mathematical correctness, evidence-based validation, and enhance the auto-repair/self-healing capabilities.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nMIT License - because good planning should be accessible to everyone.\n\n---\n\n**T.A.S.K.S. + S.L.A.P.S.** - *Where computer science meets project management, and AI meets reality.*\n\n*\"The best project plan is the one that survives contact with reality... and fixes itself when it doesn't.\"*\n\n---\n\n**Closing Note:**\n\nThis `README.md` is a living document, reflecting the ongoing evolution of T.A.S.K.S. and S.L.A.P.S. Your contributions are welcome to refine this vision and build the future of AI-driven project execution.\n\n---\n\n*\"Sometimes the best systems aren't designed. They emerge.\nSometimes the best coordination isn't planned. It happens.\nSometimes the best code isn't written by one perfect developer.\nIt's written by 10 imperfect ones, working in beautiful chaos.\"*\n\n**- The SLAPS Experiment**\n**September 14, 2025**\n**The day AI swarms became real**\n\n## Project Boards\n\n- TASKS + SLAPS OVERVIEW (Project v2)\n  - Create a \"DAG\" view (Board): show Title, Status, Parent issue, Sub-issues progress.\n  - Group by Parent issue (epics) or a custom Stream field; sort by Depth (if added).\n  - The Overview DAG (SVG) is built by CI and attached as a workflow artifact.\n\n## Overview DAG (CI)\n\n- Script: `scripts/gh/overview-dag.sh`\n- Produces: `docs/overview-dag.dot` and `docs/overview-dag.svg` from\n  - Epic → child edges parsed from epic checklists\n  - \"Blocked by\" links parsed from issue body lines\n- Run locally:\n  - `REPO=owner/name GITHUB_TOKEN=… bash scripts/gh/overview-dag.sh`\n  - `dot -Tpng docs/overview-dag.dot -o docs/overview-dag.png`\n\n## SLAPS Executor Development (Core)\n\n- Parse coordinator → indegree/topology (X1)\n- Ready queue (B2)\n- Dispatcher + Worker interface (X3)\n- Task state machine (X4)\n- Completion propagation (X5)\n- Minimal loop + JSONL logs (B4)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyingrobots%2Ftasks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflyingrobots%2Ftasks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyingrobots%2Ftasks/lists"}