# cdase **Repository Path**: will-captain/cdase ## Basic Information - **Project Name**: cdase - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-19 - **Last Updated**: 2026-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Task Management System A lightweight task management system for developers, built using Context-Driven AI Software Engineering (CDASE) methodology. ## Overview This system provides core task management capabilities: - Create tasks with titles and optional metadata - Query tasks by ID to get current status - Update task status with validated state transitions ## Features - **Stable Task IDs**: Each task receives a unique, stable identifier - **Status Management**: Tasks progress through states: PENDING → RUNNING → DONE - **Consistent State Transitions**: Enforced rules prevent invalid status changes - **Clear Error Handling**: Explicit error messages for invalid operations ## Project Structure ``` . ├── task_management/ # Core implementation │ ├── core/ # Core domain (TaskManager, Task) │ ├── storage/ # Storage abstraction (TaskStorage, InMemoryTaskStorage) │ └── exceptions.py # Exception classes ├── requirements/ # CDASE documentation │ ├── scenario/ # User scenarios │ ├── feature/ # Feature specifications │ └── function/ # Function specifications ├── design/ # Design artifacts │ └── uml/ # UML diagrams ├── tests/ # Test suite │ ├── contract/ # Function-level contract tests │ └── feature/ # Feature-level acceptance tests └── experiment/ # Execution logs ``` ## Quick Start ### Installation ```bash # Install dependencies pip install -r requirements.txt ``` ### Usage ```python from task_management.core import TaskManager from task_management.storage import InMemoryTaskStorage # Create a task manager storage = InMemoryTaskStorage() manager = TaskManager(storage) # Create a task task_id = manager.create_task("Implement user login", {"priority": "high"}) # Query a task task = manager.get_task(task_id) print(f"Task {task.id}: {task.title} - Status: {task.status}") # Update task status manager.update_status(task_id, "RUNNING") manager.update_status(task_id, "DONE") ``` ### Running Tests ```bash # Run basic contract tests python3 tests/run_basic_tests.py # Run feature-level acceptance tests python3 tests/run_feature_tests.py # Run with pytest (if installed) pytest tests/ ``` ## Status Transition Rules - **PENDING → RUNNING**: Allowed - **RUNNING → DONE**: Allowed - **DONE → RUNNING**: **Forbidden** - **PENDING → DONE**: **Forbidden** (default rule) ## CDASE Documentation This project follows CDASE methodology. Key artifacts: - **Scenario**: `requirements/scenario/SCN-001-task_management_system.md` - **Feature**: `requirements/feature/FTR-001-task_management.md` - **Functions**: - FUN-001: Create Task - FUN-002: Get Task - FUN-003: Update Task Status See individual documentation files for detailed specifications. ## License [To be determined]