| Age | Commit message (Collapse) | Author |
|
Implemented proper pre-commit hook that: - Calls 'task export --flush'
to consolidate tasks - Auto-stages .tasks/tasks.jsonl if modified -
Runs before every commit
Added reminder message after 'task update' to inform users that task
changes will be committed on next git commit.
Updated AGENTS.md to document the auto-commit behavior.
This fixes the bug where task status updates (e.g., marking tasks as
Done) were not being committed to git.
|
|
Implement --status and --namespace filters for task list:
New filters: - --status: Filter by open, in-progress, or done -
--namespace: Filter by namespace (e.g., Omni/Task)
All filters can be combined: - task list --parent=t-abc123
--status=open - task list --type=epic --status=done - task list
--namespace="Omni/Task" --status=open
Updated listTasks signature to accept all filter parameters and apply
them in sequence. Updated AGENTS.md with examples.
Closes task t-PpZGVf
|
|
- Add TASK_TEST_MODE environment variable to use separate test database
- All file operations now use getTasksFilePath to respect test mode -
Tests use .tasks/tasks-test.jsonl instead of production database -
Add automatic migration from old task format (taskProject field)
to new format - Migrated tasks convert taskProject to WorkTask type
with empty parent - Old [Text] dependencies converted to [Dependency]
with Blocks type - Restore actual tasks from commit 3bf1691 (were
lost during testing)
This prevents accidental data loss when running tests and provides
backward compatibility for existing task databases.
|
|
Implement four dependency types based on beads patterns: - Blocks:
Hard dependency, blocks ready work queue (default) - DiscoveredFrom:
Work discovered during implementation (doesn't block) - ParentChild:
Epic/task relationships (blocks ready work) - Related: Soft
relationships (doesn't block)
Key changes: - New Dependency data type with depId and depType fields
- New DependencyType enum with four relationship types - Updated CLI
with --dep-type and --discovered-from flags - Enhanced getReadyTasks
to respect only blocking dependency types - Added comprehensive tests
for all dependency behaviors - Updated AGENTS.md with usage examples
and patterns
The discovered-from pattern is especially important for AI agents to
maintain context of work found during implementation while keeping
it immediately available in the ready work queue.
Amp-Thread-ID:
https://ampcode.com/threads/T-178b273a-3ac7-416c-a964-db89bac3c8f7
Co-authored-by: Amp <amp@ampcode.com>
|
|
Major refactoring of task data model: - Added TaskType enum (Epic |
WorkTask) - Replaced taskProject with taskType and taskParent fields -
Epics are containers for tasks (hierarchical organization) - Tasks can
have optional parent epics - Updated createTask signature to accept
type and parent - Updated CLI: --type=epic|task and --parent=<id>
options - Updated list command to filter by type and parent - Updated
printTask to display type and parent info - Fixed naming collision
(WorkTask instead of Task constructor)
Example usage:
task create "Auth System" --type=epic task create "Design API"
--type=task --parent=t-abc123 task list --type=epic task list
--parent=t-abc123
Completed task: t-8WR5Zg
Amp-Thread-ID:
https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
Co-authored-by: Amp <amp@ampcode.com>
|
|
Updated namespace handling to use the Omni.Namespace module: - Import
Omni.Namespace in Task CLI - Parse and validate namespace strings
using fromHaskellModule - Convert to proper path format using toPath -
Ensures namespaces are well-formed (e.g., Omni/Task -> Omni/Task.hs)
Example:
task create "Fix bug" project --namespace="Omni/Task" # Creates
task with validated namespace Omni/Task.hs
This provides type safety and ensures all task namespaces correspond
to actual code namespaces in the monorepo.
Amp-Thread-ID:
https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
Co-authored-by: Amp <amp@ampcode.com>
|
|
Tasks can now be associated with specific namespaces in the monorepo:
- Added taskNamespace (Maybe Text) field to Task data type - Updated
createTask to accept optional namespace parameter - Added --namespace
CLI option to task create command - Display namespace in task list
output (e.g., [Omni/Task]) - Updated tests to pass Nothing for
namespace - Updated AGENTS.md documentation
Example usage:
task create "Fix bug" project --namespace="Omni/Task"
Completed task: t-j0k1L2
Amp-Thread-ID:
https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
Co-authored-by: Amp <amp@ampcode.com>
|
|
Implemented a dependency-aware task tracker inspired by beads: - Task
CRUD operations (create, list, update, ready) - Dependency tracking
and ready work detection - JSONL storage with git sync via hooks -
Export/import for cross-machine synchronization - Short base62-encoded
task IDs (e.g., t-1ky7gJ2)
Added comprehensive AGENTS.md documentation: - Task manager usage and
workflows - Development tools (bild, lint, repl.sh) - Git-branchless
workflow guidelines - Coding conventions
Integrated with git hooks for auto-sync: - post-merge/post-checkout:
import tasks - pre-commit/pre-push: export tasks
Also includes beads design analysis document for reference.
Completed tasks: - t-a1b2c3: Show help text when invoked without args
- t-d4e5f6: Move dev instructions to AGENTS.md - t-g7h8i9: Implement
shorter task IDs - t-p6q7r8: Add git-branchless workflow docs
https: //ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID:
https://ampcode.com/threads/T-85f4ee29-a529-4f59-ac6f-6ffec75b6a56
|