Releases: tasksmd/tasks.md
v0.8.0 — rule-#9 pre-registration enforcement + spec extensions
What's new
@tasks-md/lint — opt-in rule-#9 pre-registration enforcement (PR #83)
`tasks-lint --require-prereg TASKS.md` enforces the five rule-#9 pre-registration fields on every task block:
- Hypothesis — predicted observable
- Success (or Acceptance) — keep threshold
- Pivot — abandon threshold
- Measurement — exact runnable command
- Anchor — literature citation / spec link
`--prereg-allowlist=` grandfathers legacy task IDs during adoption. Programmatic API: `parseRule9Blocks`, `classifyRule9Blocks`, `parseAllowlistFile`, `lintRule9Content` are re-exported from `@tasks-md/lint`.
spec.md — Touches, Surfaced-by, Milestone metadata fields (PR #82)
Three new spec fields for orchestrator coordination:
- Touches — the write-set (files the task will modify; distinct from Files which may be read-only references)
- Surfaced-by — provenance (audit / lint / observer session that produced this task)
- Milestone — free-form milestone identifier (`M1.1`, `Q3-2026`, `v0.2.0`, ...)
These let orchestrators parallel-launch agents without merge conflicts (overlapping Touches sets serialise), query sibling findings, and filter by roadmap milestone.
spec.md — rule-#9 pre-registration fields documented (PR #78)
Promoted eight fields previously treated as "custom" to first-class metadata: Estimate, Verification, Risk, Hypothesis, Success, Pivot, Measurement, Anchor. Added a dedicated Rule-#9 pre-registration block section to the spec.
Other changes since v0.7.0
- `commands/next-task.md`: plan-and-validate workflow (PR #80)
- Spec citation links + cross-doc audit (PRs #71, #72, #74, #75, #76)
- Multiple task-groom + simplification refills
Upgrade
```bash
npm install -g @tasks-md/cli@^0.8.0 @tasks-md/lint@^0.8.0 tasks-mcp@^0.8.0
```
Verify:
```bash
tasks-lint --help # should show --require-prereg
tasks --version # should show 0.8.0
```
Compatibility
- Backwards compatible. The new `--require-prereg` flag is opt-in; existing CI invocations of `tasks-lint TASKS.md` produce identical output to v0.7.0.
- All existing spec fields unchanged. New fields are additive.
🤖 Written by an agent, not Fyodor. Ping me if this looks off.
v0.7.0
What's New
Features
- Jira ticket required in PR titles — next-task now enforces Jira ticket references before creating PRs
- Scouted task recording is a hard rule — agents must discover and record at least one improvement while working, or re-read files before shipping
Bug Fixes
- 5-tier audit cascade — replaces the generic audit with structured tiers (Verify, Security, Doc drift, Dependency modernization, DX polish) that apply to every repo type, not just Node.js/Rust (#25)
- Audit is re-runnable — each invocation runs the full cascade from Tier 1 instead of treating a previous pass as permanently done (#25)
- Terminal state — when all repos are clean across all 5 tiers, agents print a summary and stop cleanly instead of repeating "nothing to do" (#25)
- Task removal is a strict requirement — completed tasks must be removed from TASKS.md in the same commit (#24)
Documentation
- Updated AGENTS.md, lint README, and main README (#23)
- README step list expanded from 13 to 15 steps (added Roam and Terminal)
v0.6.0
What's New
Features
- Policy validation in linter — validates that policy directives are inside HTML comments, have non-empty text, and comments are properly closed (#12)
Bug Fixes
- Version strings read from package.json at runtime — CLI and MCP server no longer hardcode version (#6)
- GitHub sync low/p3 priority labels —
mapPrioritynow correctly maps "low" and "p3" labels to P3 instead of ignoring them (#14) - Timeouts on all execSync and fetch calls — prevents indefinite hangs from unresponsive git, gh CLI, or API calls (#19)
- Removed unused getRelativePath export from MCP parser (#11)
- Security vulnerabilities patched in transitive dependencies (#18)
Refactoring
- Deduplicated task-picking logic —
countUnblocks,tagOverlapCount, andpickBestTaskextracted from CLI and MCP into shared@tasks-md/parserpackage (#20)
Documentation
- MCP README — added missing
unclaim_tasktool documentation (#7) - CLI README — added
watchandgenerate-commandscommands, priority mapping tables for all sync sources (#15, #21)
Testing
v0.5.0
v0.4.0 — Policies
Policies — project rules embedded in TASKS.md
New spec feature: <!-- policy: ... --> HTML comments that agents read and follow as project rules.
What's new
- Spec: New Policies section with file-level and section-level scoping
- Parser:
parsePolicies()function +Policyinterface for extracting policies - Commands: All 7 next-task variants read policies before picking tasks
- Examples: All 8 examples now demonstrate context-appropriate policies
- Backward compatible:
TaskFile.policiesis optional — existing code works unchanged
Example
```markdown
Tasks
P1
- Add rate limiting
```
Full details in PR #1 and PR #2.
What's Changed
- feat: add policies — project rules embedded in TASKS.md by @cbrwizard in #1
- feat: add policies to all example files by @cbrwizard in #2
New Contributors
- @cbrwizard made their first contribution in #1
Full Changelog: v0.3.3...v0.4.0
v0.3.3
Full Changelog: v0.3.2...v0.3.3
v0.3.2
Full Changelog: v0.3.1...v0.3.2
v0.3.1
Full Changelog: v0.3.0...v0.3.1
v0.3.0
feat: run project-audit/strategic-review when task queue is empty
When next-task finds an empty TASKS.md or no actionable tasks, it now actively finds work by invoking the project-audit skill (and optionally strategic-review). After the audit populates TASKS.md with prioritized findings, the loop continues automatically.