-
Notifications
You must be signed in to change notification settings - Fork 1
Align documentation with code implementation #167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: alexec <1142830+alexec@users.noreply.github.com>
Co-authored-by: alexec <1142830+alexec@users.noreply.github.com>
Co-authored-by: alexec <1142830+alexec@users.noreply.github.com>
Co-authored-by: alexec <1142830+alexec@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR corrects documentation inaccuracies to align with the actual code implementation, focusing on feature availability, behavior descriptions, and terminology.
Key Changes
- Clarified that agent-based path filtering is not implemented (ShouldExcludePath method exists but is never called)
- Corrected search path documentation to reflect actual behavior (directories via -d, working dir, and home dir only - no parent directory traversal)
- Updated parameter substitution documentation to match simple ${var} behavior (unresolved parameters remain unchanged)
- Fixed task matching terminology to correctly state that matching is by filename, not by task_name frontmatter field
- Clarified -a flag purpose (required for -w flag) rather than incorrectly describing it as excluding agent paths
- Corrected ".agents/commands" description from "(tasks)" to "(reusable content blocks)"
- Added missing documentation that task frontmatter is output first in YAML format
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/reference/file-formats.md | Updated task matching section to clarify filename-based matching and corrected error message text |
| docs/explanation/architecture.md | Corrected search path list, parameter substitution syntax, and output assembly order |
| SLIDES.md | Updated -a flag description to reflect actual purpose (for -w flag) |
| README.md | Corrected commands terminology, removed parent directory references, updated -a flag description |
Comments suppressed due to low confidence (1)
docs/reference/file-formats.md:811
- The documentation states that with selectors, if multiple tasks match, an error is produced. However, the code does not validate uniqueness. Looking at the task finding logic in context.go, files that pass selector matching (line 91) are processed by the visitor, and if multiple tasks match both the filename and selectors, the last one found will be used without any error. The same issue exists: the last matching task silently wins.
**With selectors:**
- The task matching all selectors is used
- If no task matches: "no task found"
- If multiple match: Error
| **Without selectors:** | ||
| - Error: "multiple tasks found with task_name: X" | ||
| - Error: "multiple tasks found with name: X" |
Copilot
AI
Dec 23, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The documentation states that an error "multiple tasks found with name: X" is produced when multiple task files have the same filename without selectors. However, the code never produces this error. Looking at the task finding logic in context.go lines 105-210, when multiple files match, the visitor function processes each match and the last one found overwrites the previous one (cc.task is assigned on line 192). No duplicate detection or error is raised. The actual behavior is: the last matching task file wins, silently.
Documentation contained multiple inaccuracies about feature availability and behavior. This PR corrects those discrepancies.
Changes
Clarified feature availability
ShouldExcludePathmethod but never calls it)-d, working dir, and home dir${var:-default}syntax to simple${var}lookup (unresolved params remain unchanged)Fixed terminology
.agents/commands: Changed from "(tasks)" to "(reusable content blocks)" - commands are referenced via slash syntax within tasks, not invoked directlyCorrected output format
Files updated
README.md- agent flag, commands terminology, parent directory referencesSLIDES.md- agent flag descriptiondocs/explanation/architecture.md- search paths, parameter syntax, output formatdocs/reference/file-formats.md- task matching behaviorOriginal prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.