Skip to content

Latest commit

 

History

History
102 lines (95 loc) · 7.07 KB

File metadata and controls

102 lines (95 loc) · 7.07 KB

TODO

Recently shipped (manual note): autonomous task execution via koru/coru. Bare taskill (or taskill koru) resolves pending tasks from a list (TODO checkboxes → planfile tickets → TASK.md) and runs each through coru text "<task>" --llm. See the "Autonomous execution (koru)" section in the README and the CHANGELOG [Unreleased] entry.

Follow-ups to consider:

  • Optional MCP/A2A transport (talk to mcp2koru/koruapi instead of shelling out to the coru CLI).
  • Per-task result reporting back into planfile.yaml ticket status.
  • Parallel task execution with a concurrency cap.

Generated by: prefact v0.1.48 Generated on: 2026-04-25T13:48:45.580758 Total issues: 76 active, 0 completed


📋 Current Issues

  • src/taskill/config.py:5 - Unused import: 'annotations'
  • src/taskill/config.py:97 - Magic number: 120 - use named constant
  • src/taskill/cli.py:10 - Unused import: 'annotations'
  • src/taskill/cli.py:115 - Magic number: 12 - use named constant
  • src/taskill/cli.py:346 - module execution block
  • src/taskill/bulk.py:46 - String concatenation can be converted to f-string
  • src/taskill/bulk.py:127 - String concatenation can be converted to f-string
  • src/taskill/bulk.py:20 - Unused import: 'annotations'
  • src/taskill/bulk.py:78 - LLM-style docstring in find_repos
  • src/taskill/bulk.py:130 - LLM-style docstring in resolve_repo_config
  • src/taskill/bulk.py:170 - LLM-style docstring in bulk_run
  • src/taskill/git_state.py:120 - String concatenation can be converted to f-string
  • src/taskill/git_state.py:2 - Unused import: 'annotations'
  • src/taskill/git_state.py:48 - Magic number: 30 - use named constant
  • src/taskill/core.py:17 - Unused Path imported from pathlib
  • src/taskill/core.py:23 - Unused TaskillState imported from taskill.state
  • src/taskill/core.py:11 - Unused import: 'annotations'
  • src/taskill/core.py:176 - Magic number: 30 - use named constant
  • src/taskill/providers/algorithmic.py:11 - Unused import: 'annotations'
  • src/taskill/providers/algorithmic.py:151 - Magic number: 160 - use named constant
  • src/taskill/providers/init.py:8 - Unused import: 'annotations'
  • src/taskill/providers/openrouter.py:6 - Unused import: 'annotations'
  • src/taskill/providers/openrouter.py:74 - Magic number in comparison: 200
  • src/taskill/providers/openrouter.py:46 - Magic number: 120 - use named constant
  • src/taskill/providers/openrouter.py:74 - Magic number: 200 - use named constant
  • src/taskill/providers/base.py:2 - Unused import: 'annotations'
  • src/taskill/providers/base.py:100 - Magic number: 4000 - use named constant
  • src/taskill/providers/base.py:103 - Magic number: 3000 - use named constant
  • src/taskill/providers/base.py:81 - Magic number: 50 - use named constant
  • src/taskill/providers/windsurf_mcp.py:20 - Unused import json
  • src/taskill/providers/windsurf_mcp.py:18 - Unused import: 'annotations'
  • src/taskill/providers/windsurf_mcp.py:20 - Unused import: 'json'
  • src/taskill/state.py:2 - Unused import: 'annotations'
  • src/taskill/triggers.py:21 - String concatenation can be converted to f-string
  • src/taskill/triggers.py:2 - Unused import: 'annotations'
  • src/taskill/updaters/init.py:5 - Unused import: 'annotations'
  • src/taskill/updaters/base.py:2 - Unused import: 'annotations'
  • src/taskill/updaters/base.py:29 - LLM-style docstring in apply
  • src/taskill/updaters/changelog.py:91 - String concatenation can be converted to f-string
  • src/taskill/updaters/changelog.py:92 - String concatenation can be converted to f-string
  • src/taskill/updaters/changelog.py:54 - String concatenation can be converted to f-string
  • src/taskill/updaters/changelog.py:8 - Unused import: 'annotations'
  • src/taskill/updaters/readme.py:87 - String concatenation can be converted to f-string
  • src/taskill/updaters/readme.py:12 - Unused import: 'annotations'
  • src/taskill/updaters/todo.py:90 - String concatenation can be converted to f-string
  • src/taskill/updaters/todo.py:77 - String concatenation can be converted to f-string
  • src/taskill/updaters/todo.py:9 - Unused import: 'annotations'
  • tests/test_algorithmic.py:20 - Function 'test_groups_commits_by_conventional_type' missing return type (suggested: -> None)
  • tests/test_algorithmic.py:38 - Function 'test_breaking_change_surfaces_first' missing return type (suggested: -> None)
  • tests/test_algorithmic.py:48 - Function 'test_detects_explicit_checkbox_completion' missing return type (suggested: -> None)
  • tests/test_algorithmic.py:2 - Unused import: 'annotations'
  • tests/test_bulk.py:43 - Function 'test_find_repos_finds_direct_children' missing return type (suggested: -> None)
  • tests/test_bulk.py:55 - Function 'test_find_repos_respects_max_depth' missing return type (suggested: -> None)
  • tests/test_bulk.py:64 - Function 'test_find_repos_skips_hidden_and_noise_dirs' missing return type (suggested: -> None)
  • tests/test_bulk.py:7 - Unused import pytest
  • tests/test_bulk.py:2 - Unused import: 'annotations'
  • tests/test_bulk.py:7 - Unused import: 'pytest'
  • tests/test_config.py:9 - Function 'test_missing_yaml_returns_defaults' missing return type (suggested: -> None)
  • tests/test_config.py:17 - Function 'test_yaml_overrides_defaults' missing return type (suggested: -> None)
  • tests/test_config.py:37 - Function 'test_dotenv_loaded_from_project_root' missing return type (suggested: -> None)
  • tests/test_config.py:2 - Unused import: 'annotations'
  • tests/test_config.py:49 - Duplicate import: 'os' (first at line 41)
  • tests/test_providers.py:11 - Function 'test_discover_providers_returns_builtins' missing return type (suggested: -> None)
  • tests/test_providers.py:22 - Function 'test_build_chain_with_enabled_providers' missing return type (suggested: -> None)
  • tests/test_providers.py:35 - Function 'test_build_chain_with_unknown_provider' missing return type (suggested: -> None)
  • tests/test_providers.py:2 - Unused import: 'annotations'
  • tests/test_triggers.py:29 - Function 'test_first_run_always_triggers' missing return type (suggested: -> None)
  • tests/test_triggers.py:38 - Function 'test_recent_run_skips_when_no_commits' missing return type (suggested: -> None)
  • tests/test_triggers.py:47 - Function 'test_commits_above_threshold_triggers' missing return type (suggested: -> None)
  • tests/test_triggers.py:2 - Unused import: 'annotations'
  • tests/test_updaters.py:16 - Function 'test_changelog_creates_file_with_entries' missing return type (suggested: -> None)
  • tests/test_updaters.py:25 - Function 'test_changelog_appends_to_unreleased' missing return type (suggested: -> None)
  • tests/test_updaters.py:41 - Function 'test_changelog_dedupes_existing_entries' missing return type (suggested: -> None)
  • tests/test_updaters.py:6 - Unused import pytest
  • tests/test_updaters.py:2 - Unused import: 'annotations'
  • tests/test_updaters.py:6 - Unused import: 'pytest'

To execute all tasks, run: prefact -a --execute-todos