- Added task.simple to settings and schema with default, schema-free, and independent modes. - Added mode-aware task schema and validation to enforce context/schema rules per simple mode. - Updated prompts and template rendering to tailor headers and guidance for each simple mode. - Added simple-mode capabilities and updated TaskTool execution for mode-aware context behavior. - Added tests for independent rendering and mode-specific rejection of invalid context or schema inputs.
7.1 KiB
Launches subagents to parallelize workflows.
{{#if asyncEnabled}}
- Use
read jobs://to inspect state;read jobs://<job_id>for detail. - Use the
polltool to wait until completion. You MUST NOT pollread jobs://in a loop. {{/if}}
{{#if defaultMode}}
Current input mode: default. Shared context and custom task-call schema are available.
{{/if}}
{{#if schemaFreeMode}}
Current input mode: schema-free. Shared context is available, but custom task-call schema is disabled. If structured output is required, rely on the selected agent definition or inherited session schema.
{{/if}}
{{#if independentMode}}
Current input mode: independent. Shared context and custom task-call schema are both disabled. Every task assignment must stand on its own.
{{/if}}
{{#if contextEnabled}}
Subagents lack your conversation history. Every decision, file content, and user requirement they need MUST be explicit in context or assignment.
{{else}}
Subagents lack your conversation history. Every decision, file content, and user requirement they need MUST be explicit in each task assignment.
{{/if}}
| Sequential first | Then | Reason |
|---|---|---|
| Types/interfaces | Consumers | Need contract |
| API exports | Callers | Need signatures |
| Core module | Dependents | Import dependency |
| Schema/migration | App logic | Schema dependency |
| Safe to parallelize: independent modules, isolated file-scoped refactors, tests for existing code. | ||
{{#if contextEnabled}} Two tasks with non-overlapping file sets. Neither depends on the other's edits.
## Goal Rename `parseConfig` → `loadConfig` in `src/config/parser.ts` and all callers. ## Non-goals Do not change function behavior, signature, or tests — rename only. ## Acceptance (global) Caller runs `bun check:ts` after both tasks complete. Tasks must NOT run it. Rename the export in parser.ts ## Target - File: `src/config/parser.ts` - Symbol: exported function `parseConfig` - Non-goals: do not touch callers or testsChange
- Rename
parseConfig→loadConfig(declaration + any JSDoc referencing it) - If
src/config/index.tsre-exportsparseConfig, update that re-export too
Edge Cases
- If the function is overloaded, rename all overload signatures
- Internal helpers named
_parseConfigValueor similar: leave untouched — different symbols - Do not add a backwards-compat alias
Acceptance
src/config/parser.tsexportsloadConfig;parseConfigno longer appears as a top-level export in that file Update import and call sites in consuming modules
Target
- Files:
src/cli/init.ts,src/server/bootstrap.ts,src/worker/index.ts - Non-goals: do not touch
src/config/parser.tsorsrc/config/index.ts— handled by sibling task
Change
- In each file: replace
import { parseConfig }→import { loadConfig }from its config path - Replace every call site
parseConfig(→loadConfig(
Edge Cases
- If a file spreads the import (
import * as cfg from "…") and callscfg.parseConfig(…), update the property access too - String literals containing "parseConfig" (log messages, comments) are documentation — leave them
- If any file re-exports
parseConfigto an external package boundary, keep the old name viaexport { loadConfig as parseConfig }and add a// TODO: remove after next majorcomment
Acceptance
- No bare reference to
parseConfig(as identifier, not string) remains in the three target files {{/if}}
{{#list agents join="\n"}}
Agent: {{name}}
Tools: {{default (join tools ", ") "All"}} {{description}} {{/list}}