feat: introduce AI agent framework and task tooling
- add AGENT.md describing the agent system - add AGENT_WORKFLOW.md defining the execution workflow - add AI_TASK_TEMPLATE.md for structured task prompts - add scripts/ai-task CLI tool for generating standardized agent tasks
This commit is contained in:
260
AGENT.md
Normal file
260
AGENT.md
Normal file
@@ -0,0 +1,260 @@
|
|||||||
|
# AGENT.md
|
||||||
|
|
||||||
|
AI Agent Development Guide
|
||||||
|
|
||||||
|
This file defines the operational rules that AI agents must follow when working in this repository.
|
||||||
|
|
||||||
|
The goal is to ensure:
|
||||||
|
- reproducible AI-assisted development
|
||||||
|
- traceable decisions
|
||||||
|
- consistent repository history
|
||||||
|
- safe automated contributions
|
||||||
|
|
||||||
|
This document complements:
|
||||||
|
- `instructions-agent.md`
|
||||||
|
- `docs/ai-worklog.md`
|
||||||
|
- `docs/ai-prompts.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Core Principles
|
||||||
|
|
||||||
|
Agents must prioritize:
|
||||||
|
|
||||||
|
1. Deterministic changes
|
||||||
|
2. Minimal scope modifications
|
||||||
|
3. Explicit logging of work
|
||||||
|
4. Repository stability
|
||||||
|
|
||||||
|
Agents must never:
|
||||||
|
|
||||||
|
- fabricate repository state
|
||||||
|
- invent files that do not exist
|
||||||
|
- modify unrelated parts of the project
|
||||||
|
- skip validation steps
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Development Workflow
|
||||||
|
|
||||||
|
Agents operate using two primary task types:
|
||||||
|
|
||||||
|
## PLAN
|
||||||
|
|
||||||
|
Used to:
|
||||||
|
- investigate problems
|
||||||
|
- inspect repository state
|
||||||
|
- propose architecture changes
|
||||||
|
|
||||||
|
PLAN tasks must:
|
||||||
|
- analyze the current implementation
|
||||||
|
- identify the root cause
|
||||||
|
- propose minimal changes
|
||||||
|
|
||||||
|
PLAN tasks **must not modify code**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## BUILD
|
||||||
|
|
||||||
|
Used to:
|
||||||
|
- implement changes
|
||||||
|
- update code
|
||||||
|
- add tests
|
||||||
|
- update documentation
|
||||||
|
|
||||||
|
BUILD tasks may:
|
||||||
|
- modify source files
|
||||||
|
- update tests
|
||||||
|
- update documentation
|
||||||
|
|
||||||
|
BUILD tasks must:
|
||||||
|
- remain minimal in scope
|
||||||
|
- preserve existing behavior unless explicitly changed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Validation Requirements
|
||||||
|
|
||||||
|
All BUILD tasks must run:
|
||||||
|
|
||||||
|
```
|
||||||
|
make fix
|
||||||
|
make quality
|
||||||
|
```
|
||||||
|
|
||||||
|
These commands must pass before changes are considered valid.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Logging System
|
||||||
|
|
||||||
|
All significant AI actions must be recorded.
|
||||||
|
|
||||||
|
Two log files are used:
|
||||||
|
|
||||||
|
```
|
||||||
|
docs/ai-worklog.md
|
||||||
|
docs/ai-prompts.md
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Worklog Entries
|
||||||
|
|
||||||
|
Executed work must be recorded in:
|
||||||
|
|
||||||
|
```
|
||||||
|
docs/ai-worklog.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Each entry must follow the standard format defined in `instructions-agent.md`.
|
||||||
|
|
||||||
|
Mandatory fields:
|
||||||
|
|
||||||
|
- Date (YYYY-MM-DD HH:MM)
|
||||||
|
- Task ID
|
||||||
|
- Agent
|
||||||
|
- Task
|
||||||
|
- Objective
|
||||||
|
- Scope
|
||||||
|
- Files Modified / Files Inspected
|
||||||
|
- Key Decisions / Proposed Changes
|
||||||
|
- Validation
|
||||||
|
- Result
|
||||||
|
- Open Issues
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Prompt Log
|
||||||
|
|
||||||
|
Prompts that trigger significant work must be recorded in:
|
||||||
|
|
||||||
|
```
|
||||||
|
docs/ai-prompts.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Each prompt entry must include:
|
||||||
|
|
||||||
|
- Date
|
||||||
|
- Task ID
|
||||||
|
- Agent
|
||||||
|
- Task
|
||||||
|
- Scope
|
||||||
|
- Prompt Summary
|
||||||
|
- Result Summary
|
||||||
|
|
||||||
|
Chain-of-thought reasoning must **never be stored**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Task IDs
|
||||||
|
|
||||||
|
All tasks must include a unique identifier.
|
||||||
|
|
||||||
|
Format:
|
||||||
|
|
||||||
|
```
|
||||||
|
BUILD-YYYYMMDD-XXX
|
||||||
|
PLAN-YYYYMMDD-XXX
|
||||||
|
```
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
```
|
||||||
|
BUILD-20260315-001
|
||||||
|
PLAN-20260316-002
|
||||||
|
```
|
||||||
|
|
||||||
|
This allows prompts and worklog entries to be correlated.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Git Rules
|
||||||
|
|
||||||
|
Agents must follow these repository rules.
|
||||||
|
|
||||||
|
Agents must **not commit or push** unless explicitly requested.
|
||||||
|
|
||||||
|
When committing:
|
||||||
|
|
||||||
|
Use structured commit messages.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
feat: improve terminal navigation behavior
|
||||||
|
|
||||||
|
- refine tree navigation
|
||||||
|
- improve scrolling continuity
|
||||||
|
- update AI logs
|
||||||
|
```
|
||||||
|
|
||||||
|
Documentation-only updates should use:
|
||||||
|
|
||||||
|
```
|
||||||
|
docs:
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Code Modification Rules
|
||||||
|
|
||||||
|
Agents should prefer:
|
||||||
|
|
||||||
|
- small targeted patches
|
||||||
|
- isolated logic changes
|
||||||
|
- preserving existing abstractions
|
||||||
|
|
||||||
|
Agents should avoid:
|
||||||
|
|
||||||
|
- rewriting entire modules
|
||||||
|
- introducing unnecessary dependencies
|
||||||
|
- altering unrelated code paths
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# UI Changes
|
||||||
|
|
||||||
|
When modifying UI behavior:
|
||||||
|
|
||||||
|
- keep navigation predictable
|
||||||
|
- preserve keyboard ergonomics
|
||||||
|
- ensure selections remain visible
|
||||||
|
- maintain compatibility with history mode
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Testing Rules
|
||||||
|
|
||||||
|
Whenever logic changes:
|
||||||
|
|
||||||
|
- update existing tests
|
||||||
|
- add focused tests when appropriate
|
||||||
|
|
||||||
|
Tests should validate behavior, not implementation details.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Scope Discipline
|
||||||
|
|
||||||
|
Agents must strictly respect scope defined in prompts.
|
||||||
|
|
||||||
|
If additional changes appear necessary:
|
||||||
|
|
||||||
|
Agents must propose them in a PLAN task before implementing.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Repository Safety
|
||||||
|
|
||||||
|
Agents must not:
|
||||||
|
|
||||||
|
- delete important files
|
||||||
|
- alter project configuration without justification
|
||||||
|
- introduce breaking changes without explicit instruction
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# End of Document
|
||||||
|
---
|
||||||
249
AGENT_WORKFLOW.md
Normal file
249
AGENT_WORKFLOW.md
Normal file
@@ -0,0 +1,249 @@
|
|||||||
|
|
||||||
|
|
||||||
|
# AGENT_WORKFLOW.md
|
||||||
|
|
||||||
|
AI Agent Operational Workflow
|
||||||
|
|
||||||
|
This document defines the deterministic workflow that AI agents must follow when performing work in this repository.
|
||||||
|
|
||||||
|
The workflow ensures:
|
||||||
|
|
||||||
|
- predictable development cycles
|
||||||
|
- traceable decisions
|
||||||
|
- minimal risk of unintended changes
|
||||||
|
- consistent logging of AI actions
|
||||||
|
|
||||||
|
This file complements:
|
||||||
|
|
||||||
|
- `AGENT.md`
|
||||||
|
- `instructions-agent.md`
|
||||||
|
- `docs/ai-worklog.md`
|
||||||
|
- `docs/ai-prompts.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Standard Workflow
|
||||||
|
|
||||||
|
Every AI task must follow this sequence:
|
||||||
|
|
||||||
|
PLAN → REVIEW → BUILD → VALIDATE → LOG
|
||||||
|
|
||||||
|
This sequence must not be skipped.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 1. PLAN
|
||||||
|
|
||||||
|
Goal:
|
||||||
|
Understand the problem and determine the minimal solution.
|
||||||
|
|
||||||
|
Actions:
|
||||||
|
|
||||||
|
- inspect repository state
|
||||||
|
- read relevant source files
|
||||||
|
- analyze existing architecture
|
||||||
|
- identify root cause of the problem
|
||||||
|
- propose a minimal change
|
||||||
|
|
||||||
|
Rules:
|
||||||
|
|
||||||
|
- PLAN must **not modify code**
|
||||||
|
- PLAN must **not change files**
|
||||||
|
- PLAN must only produce analysis and a proposal
|
||||||
|
|
||||||
|
Output should include:
|
||||||
|
|
||||||
|
- diagnosis summary
|
||||||
|
- proposed changes
|
||||||
|
- expected file scope
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 2. REVIEW
|
||||||
|
|
||||||
|
Goal:
|
||||||
|
Validate the plan before implementing it.
|
||||||
|
|
||||||
|
Actions:
|
||||||
|
|
||||||
|
- confirm the proposed scope is minimal
|
||||||
|
- ensure no unrelated components are affected
|
||||||
|
- verify the change aligns with project architecture
|
||||||
|
|
||||||
|
Rules:
|
||||||
|
|
||||||
|
- If the scope expands unexpectedly, return to PLAN.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 3. BUILD
|
||||||
|
|
||||||
|
Goal:
|
||||||
|
Implement the approved change.
|
||||||
|
|
||||||
|
Actions:
|
||||||
|
|
||||||
|
- modify only the files defined in scope
|
||||||
|
- preserve existing architecture
|
||||||
|
- avoid unnecessary refactors
|
||||||
|
- maintain compatibility with existing behavior
|
||||||
|
|
||||||
|
BUILD tasks may modify:
|
||||||
|
|
||||||
|
- source files
|
||||||
|
- tests
|
||||||
|
- documentation
|
||||||
|
|
||||||
|
BUILD tasks must remain minimal and targeted.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 4. VALIDATE
|
||||||
|
|
||||||
|
Goal:
|
||||||
|
Ensure the repository remains stable.
|
||||||
|
|
||||||
|
Agents must run:
|
||||||
|
|
||||||
|
```
|
||||||
|
make fix
|
||||||
|
make quality
|
||||||
|
```
|
||||||
|
|
||||||
|
Validation must pass before changes are considered complete.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 5. LOG
|
||||||
|
|
||||||
|
Goal:
|
||||||
|
Record the AI activity for traceability.
|
||||||
|
|
||||||
|
Two log files must be updated.
|
||||||
|
|
||||||
|
### Work Log
|
||||||
|
|
||||||
|
```
|
||||||
|
docs/ai-worklog.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Record:
|
||||||
|
|
||||||
|
- AI BUILD ENTRY
|
||||||
|
- or AI PLAN ENTRY
|
||||||
|
|
||||||
|
Including:
|
||||||
|
|
||||||
|
- Date (YYYY-MM-DD HH:MM)
|
||||||
|
- Task ID
|
||||||
|
- Agent
|
||||||
|
- Task
|
||||||
|
- Objective
|
||||||
|
- Scope
|
||||||
|
- Files Modified / Files Inspected
|
||||||
|
- Key Decisions / Proposed Changes
|
||||||
|
- Validation
|
||||||
|
- Result
|
||||||
|
- Open Issues
|
||||||
|
|
||||||
|
### Prompt Log
|
||||||
|
|
||||||
|
```
|
||||||
|
docs/ai-prompts.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Record:
|
||||||
|
|
||||||
|
- Date (YYYY-MM-DD HH:MM)
|
||||||
|
- Task ID
|
||||||
|
- Agent
|
||||||
|
- Task
|
||||||
|
- prompt summary
|
||||||
|
- scope
|
||||||
|
- result summary
|
||||||
|
|
||||||
|
Do not store chain-of-thought reasoning.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Task ID Coordination
|
||||||
|
|
||||||
|
Every PLAN or BUILD must generate a unique Task ID.
|
||||||
|
|
||||||
|
Format:
|
||||||
|
|
||||||
|
```
|
||||||
|
PLAN-YYYYMMDD-XXX
|
||||||
|
BUILD-YYYYMMDD-XXX
|
||||||
|
```
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
PLAN-20260316-001
|
||||||
|
BUILD-20260316-002
|
||||||
|
```
|
||||||
|
|
||||||
|
The same Task ID must appear in:
|
||||||
|
|
||||||
|
- ai-prompts.md
|
||||||
|
- ai-worklog.md
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Commit Workflow
|
||||||
|
|
||||||
|
Agents must **not commit or push automatically** unless explicitly instructed.
|
||||||
|
|
||||||
|
When commits are requested:
|
||||||
|
|
||||||
|
1. Validate repository state
|
||||||
|
2. Stage modified files
|
||||||
|
3. Use structured commit messages
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
feat: improve terminal navigation
|
||||||
|
|
||||||
|
- refine tree navigation
|
||||||
|
- improve scrolling
|
||||||
|
- update AI logs
|
||||||
|
```
|
||||||
|
|
||||||
|
Documentation-only updates should use:
|
||||||
|
|
||||||
|
```
|
||||||
|
docs:
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Failure Handling
|
||||||
|
|
||||||
|
If validation fails:
|
||||||
|
|
||||||
|
Agents must:
|
||||||
|
|
||||||
|
1. stop the BUILD process
|
||||||
|
2. report the error
|
||||||
|
3. propose a fix
|
||||||
|
|
||||||
|
Agents must **not silently bypass failing checks**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Scope Control
|
||||||
|
|
||||||
|
Agents must strictly respect the defined scope.
|
||||||
|
|
||||||
|
If additional changes appear necessary:
|
||||||
|
|
||||||
|
- return to PLAN
|
||||||
|
- propose a new change
|
||||||
|
|
||||||
|
Do not expand scope during BUILD.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# End of Document
|
||||||
145
AI_TASK_TEMPLATE.md
Normal file
145
AI_TASK_TEMPLATE.md
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
# AI Task Template
|
||||||
|
|
||||||
|
Reusable prompt template for launching tasks with AI agents.
|
||||||
|
|
||||||
|
This template enforces the repository workflow defined in:
|
||||||
|
|
||||||
|
- AGENT.md
|
||||||
|
- AGENT_WORKFLOW.md
|
||||||
|
- instructions-agent.md
|
||||||
|
|
||||||
|
It ensures every task follows the deterministic sequence:
|
||||||
|
|
||||||
|
PLAN → REVIEW → BUILD → VALIDATE → LOG
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Basic Task Structure
|
||||||
|
|
||||||
|
Use the following structure when requesting work from an AI agent.
|
||||||
|
|
||||||
|
```
|
||||||
|
Task Type:
|
||||||
|
PLAN | BUILD
|
||||||
|
|
||||||
|
Task ID:
|
||||||
|
PLAN-YYYYMMDD-XXX | BUILD-YYYYMMDD-XXX
|
||||||
|
|
||||||
|
Date:
|
||||||
|
YYYY-MM-DD HH:MM
|
||||||
|
|
||||||
|
Objective:
|
||||||
|
Short description of the goal.
|
||||||
|
|
||||||
|
Context:
|
||||||
|
Relevant background about the current repository state.
|
||||||
|
|
||||||
|
Scope:
|
||||||
|
List of files or directories the agent may modify or inspect.
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
Detailed description of the behavior that must be implemented or analyzed.
|
||||||
|
|
||||||
|
Constraints:
|
||||||
|
Things the agent must NOT change or must preserve.
|
||||||
|
|
||||||
|
Testing:
|
||||||
|
Describe expected tests or validations.
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
The agent must run:
|
||||||
|
|
||||||
|
make fix
|
||||||
|
make quality
|
||||||
|
|
||||||
|
Logging requirements:
|
||||||
|
- Append an entry to docs/ai-worklog.md
|
||||||
|
- Append an entry to docs/ai-prompts.md
|
||||||
|
- Include Date, Task ID, Agent, Scope, Result
|
||||||
|
|
||||||
|
Git requirements:
|
||||||
|
- Do NOT commit or push unless explicitly requested.
|
||||||
|
|
||||||
|
Expected Report:
|
||||||
|
The agent must summarize:
|
||||||
|
- files changed
|
||||||
|
- behavior changes
|
||||||
|
- validation results
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Example BUILD Task
|
||||||
|
|
||||||
|
```
|
||||||
|
Task Type:
|
||||||
|
BUILD
|
||||||
|
|
||||||
|
Task ID:
|
||||||
|
BUILD-YYYYMMDD-XXX
|
||||||
|
|
||||||
|
Date:
|
||||||
|
YYYY-MM-DD HH:MM
|
||||||
|
|
||||||
|
Objective:
|
||||||
|
Improve vertical scrolling behavior in the terminal UI.
|
||||||
|
|
||||||
|
Scope:
|
||||||
|
- src/app/ui.py
|
||||||
|
- tests/test_ui.py
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
Ensure the selected entry remains visible when navigating through long directory lists.
|
||||||
|
|
||||||
|
Constraints:
|
||||||
|
Do not modify navigator logic.
|
||||||
|
|
||||||
|
Testing:
|
||||||
|
Add helper tests if necessary.
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
make fix
|
||||||
|
make quality
|
||||||
|
|
||||||
|
Logging requirements:
|
||||||
|
Update ai-worklog.md and ai-prompts.md using the standard log format.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Example PLAN Task
|
||||||
|
|
||||||
|
```
|
||||||
|
Task Type:
|
||||||
|
PLAN
|
||||||
|
|
||||||
|
Task ID:
|
||||||
|
PLAN-YYYYMMDD-XXX
|
||||||
|
|
||||||
|
Date:
|
||||||
|
YYYY-MM-DD HH:MM
|
||||||
|
|
||||||
|
Objective:
|
||||||
|
Investigate inconsistent navigation behavior.
|
||||||
|
|
||||||
|
Scope:
|
||||||
|
- src/app/ui.py
|
||||||
|
- src/app/navigator.py
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
Analyze the current navigation flow and propose a minimal fix.
|
||||||
|
|
||||||
|
Constraints:
|
||||||
|
Do not modify code.
|
||||||
|
|
||||||
|
Expected Output:
|
||||||
|
- diagnosis summary
|
||||||
|
- proposed changes
|
||||||
|
- expected file scope
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Notes
|
||||||
|
|
||||||
|
This template keeps AI interactions consistent across tasks and helps maintain a clean development history.
|
||||||
112
scripts/ai-task
Executable file
112
scripts/ai-task
Executable file
@@ -0,0 +1,112 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# ai-task
|
||||||
|
# Helper CLI to generate AI task prompts based on AI_TASK_TEMPLATE.md
|
||||||
|
# Usage:
|
||||||
|
# scripts/ai-task build "Objective text" [scope...]
|
||||||
|
# scripts/ai-task plan "Objective text" [scope...]
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
TYPE="$1"
|
||||||
|
OBJECTIVE="$2"
|
||||||
|
shift 2 || true
|
||||||
|
SCOPE=("$@")
|
||||||
|
|
||||||
|
if [[ -z "$TYPE" || -z "$OBJECTIVE" ]]; then
|
||||||
|
echo "Usage: ai-task <plan|build> \"Objective\" [scope files...]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TYPE_LOWER=$(echo "$TYPE" | tr '[:upper:]' '[:lower:]')
|
||||||
|
TYPE_UPPER=$(echo "$TYPE_LOWER" | tr '[:lower:]' '[:upper:]')
|
||||||
|
|
||||||
|
DATE=$(date "+%Y-%m-%d %H:%M")
|
||||||
|
DAY=$(date "+%Y%m%d")
|
||||||
|
|
||||||
|
case "$TYPE_LOWER" in
|
||||||
|
build)
|
||||||
|
PREFIX="BUILD"
|
||||||
|
;;
|
||||||
|
plan)
|
||||||
|
PREFIX="PLAN"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Error: task type must be 'plan' or 'build'"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
WORKLOG_FILE="docs/ai-worklog.md"
|
||||||
|
LAST_SEQ=0
|
||||||
|
|
||||||
|
if [[ -f "$WORKLOG_FILE" ]]; then
|
||||||
|
LAST_MATCH=$(grep -Eo "${PREFIX}-${DAY}-[0-9]{3}" "$WORKLOG_FILE" | tail -n 1 || true)
|
||||||
|
if [[ -n "$LAST_MATCH" ]]; then
|
||||||
|
LAST_SEQ=${LAST_MATCH##*-}
|
||||||
|
LAST_SEQ=$((10#$LAST_SEQ))
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
NEXT_SEQ=$(printf "%03d" $((LAST_SEQ + 1)))
|
||||||
|
TASK_ID="${PREFIX}-${DAY}-${NEXT_SEQ}"
|
||||||
|
|
||||||
|
# Build scope block
|
||||||
|
cat <<EOF
|
||||||
|
Task Type:
|
||||||
|
${TYPE_UPPER}
|
||||||
|
|
||||||
|
Task ID:
|
||||||
|
${TASK_ID}
|
||||||
|
|
||||||
|
Date:
|
||||||
|
${DATE}
|
||||||
|
|
||||||
|
Objective:
|
||||||
|
${OBJECTIVE}
|
||||||
|
|
||||||
|
Context:
|
||||||
|
<describe repository state if needed>
|
||||||
|
|
||||||
|
Scope:
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [ ${#SCOPE[@]} -gt 0 ]; then
|
||||||
|
for item in "${SCOPE[@]}"; do
|
||||||
|
printf '%s\n' "- ${item}"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
printf '%s\n' "- <fill scope>"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
<describe expected behavior>
|
||||||
|
|
||||||
|
Constraints:
|
||||||
|
- follow AGENT_WORKFLOW.md
|
||||||
|
- keep scope minimal
|
||||||
|
- preserve existing behavior unless explicitly changed
|
||||||
|
|
||||||
|
Testing:
|
||||||
|
<describe expected tests>
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
make fix
|
||||||
|
make quality
|
||||||
|
|
||||||
|
Logging requirements:
|
||||||
|
- append entry to docs/ai-worklog.md
|
||||||
|
- append entry to docs/ai-prompts.md
|
||||||
|
- include Date, Task ID, Agent, Scope
|
||||||
|
- use Task ID: ${TASK_ID}
|
||||||
|
|
||||||
|
Git requirements:
|
||||||
|
- do NOT commit or push unless explicitly requested
|
||||||
|
|
||||||
|
Expected Report:
|
||||||
|
- files changed
|
||||||
|
- behavior changes
|
||||||
|
- validation results
|
||||||
|
EOF
|
||||||
Reference in New Issue
Block a user