@winton979/task-cli 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/package.json +1 -1
- package/src/init.js +35 -12
package/README.md
CHANGED
|
@@ -121,6 +121,10 @@ archive automatically
|
|
|
121
121
|
/task-explore → TASK_READY → /task-implement → optional /task-audit
|
|
122
122
|
```
|
|
123
123
|
|
|
124
|
+
`task-explore` writes the brief for a fresh-session handoff. Briefs should stay within 500 words; they may extend to 1000 only when a shorter contract would omit execution-critical information. Requirements that still do not fit should be split before implementation.
|
|
125
|
+
|
|
126
|
+
When more than one active brief could match, identify the intended brief when invoking `task-implement`. The implementing agent rechecks repository facts and resolves local, reversible choices from existing conventions. It asks the user only for unresolved decisions that materially affect the contract, records confirmed narrow clarifications in the active brief, and returns material goal, scope, or acceptance changes to `task-explore`.
|
|
127
|
+
|
|
124
128
|
### Bug Fix
|
|
125
129
|
|
|
126
130
|
```text
|
package/package.json
CHANGED
package/src/init.js
CHANGED
|
@@ -278,6 +278,15 @@ ${DECISIONS_READ_GUIDANCE}
|
|
|
278
278
|
|
|
279
279
|
${COMPLEXITY_ASSESSMENT_GUIDANCE}
|
|
280
280
|
|
|
281
|
+
Cross-session Readiness
|
|
282
|
+
|
|
283
|
+
Before finalizing the brief, assume implementation will start in a fresh session without the exploration conversation.
|
|
284
|
+
|
|
285
|
+
* Record every confirmed user decision that materially constrains behavior, scope, compatibility, security, data handling, or acceptance.
|
|
286
|
+
* Record material exclusions when omitting them could cause plausible scope expansion.
|
|
287
|
+
* Do not copy repository facts the implementing agent can discover. Include only context needed to interpret the contract.
|
|
288
|
+
* Do not output TASK_READY while a material user-owned decision remains unresolved.
|
|
289
|
+
|
|
281
290
|
Task Brief Format
|
|
282
291
|
|
|
283
292
|
# Goal
|
|
@@ -306,7 +315,9 @@ Clear success conditions.
|
|
|
306
315
|
|
|
307
316
|
Requirements
|
|
308
317
|
|
|
309
|
-
*
|
|
318
|
+
* Aim for 500 words or fewer
|
|
319
|
+
* Extend to at most 1000 words only when required to preserve execution-critical scope, constraints, risks, or acceptance criteria
|
|
320
|
+
* If a coherent contract cannot fit within 1000 words, split the requirement and complete exploration for one independently executable task at a time
|
|
310
321
|
* No code
|
|
311
322
|
* No architecture design
|
|
312
323
|
* Stay implementation-agnostic; describe constraints, not solutions
|
|
@@ -320,27 +331,39 @@ TASK_READY
|
|
|
320
331
|
|
|
321
332
|
'task-implement': {
|
|
322
333
|
name: 'task-implement',
|
|
323
|
-
description: 'Implement
|
|
334
|
+
description: 'Implement a selected active task brief and validate it. Archive automatically when complete.',
|
|
324
335
|
content: `---
|
|
325
336
|
name: task-implement
|
|
326
|
-
description: Implement
|
|
337
|
+
description: Implement a selected active task brief and validate it. Archive automatically when complete.
|
|
327
338
|
user-invocable: true
|
|
328
339
|
---
|
|
329
340
|
|
|
330
341
|
Purpose
|
|
331
342
|
|
|
332
|
-
Implement
|
|
343
|
+
Implement the intended task from .ai/tasks/active/.
|
|
333
344
|
|
|
334
345
|
Rules
|
|
335
346
|
|
|
336
|
-
1.
|
|
337
|
-
2.
|
|
338
|
-
3.
|
|
339
|
-
4.
|
|
340
|
-
5.
|
|
341
|
-
6.
|
|
342
|
-
7.
|
|
343
|
-
8.
|
|
347
|
+
1. Identify the intended brief in .ai/tasks/active/. Use a user-specified name or path when provided. Without one, proceed only when a single brief is the clear match. Ask the user when multiple briefs are plausible; do not choose by recency alone.
|
|
348
|
+
2. Read the selected brief and inspect the relevant current code before planning.
|
|
349
|
+
3. Follow the acceptance criteria strictly.
|
|
350
|
+
4. Prefer minimal changes.
|
|
351
|
+
5. Respect existing project conventions.
|
|
352
|
+
6. Avoid unnecessary refactoring.
|
|
353
|
+
7. State assumptions explicitly.
|
|
354
|
+
8. Validate the result before stopping.
|
|
355
|
+
9. If the work is complete, archive the selected brief automatically by moving it to .ai/tasks/archive/.
|
|
356
|
+
|
|
357
|
+
Brief Sufficiency
|
|
358
|
+
|
|
359
|
+
Before changing code, and whenever implementation reveals an ambiguity, determine whether the selected brief remains executable against the current project state.
|
|
360
|
+
|
|
361
|
+
* Investigate facts available from the repository or environment instead of asking the user.
|
|
362
|
+
* For a local, reversible implementation choice that does not materially affect behavior, scope, compatibility, security, data, or acceptance, follow existing conventions and choose the simplest option.
|
|
363
|
+
* Do not infer an unresolved user decision that materially affects those concerns. Ask one focused question at a time, include a recommended answer, and wait.
|
|
364
|
+
* After explicit confirmation of a narrow clarification, record it in the selected active brief before continuing implementation.
|
|
365
|
+
* If clarification materially changes the Goal, accepted scope, or Acceptance Criteria, or the unresolved decisions collectively require material contract revision, stop and require renewed task-explore. Do not implement against an outdated brief.
|
|
366
|
+
* If current project state materially contradicts the brief's context, surface the conflict and resolve it under the same rules.
|
|
344
367
|
|
|
345
368
|
When making implementation decisions
|
|
346
369
|
|