82e4f168b9
- Added background model discovery with provider status tracking and 24-hour model caching to improve startup performance. - Changed model discovery timeout from 3000ms to 250ms and deferred blocking refresh to background operations for faster initialization. - Fixed model discovery to preserve cached models when providers are unavailable or unauthenticated. - Added validation in Kitty key formatting to reject unsupported modifiers and improved error handling. - Reorganized CI workflow to run TypeScript linting in check job and conditional Rust checks in native job matrix. - Updated system prompt and tool guidance to recommend combined investigation-and-edit workflows and maintainable code practices.
5.6 KiB
5.6 KiB
Launches subagents to parallelize workflows.
{{#if asyncEnabled}}
- Use
read jobs://to inspect state;read jobs://<job_id>for detail. - Use the
awaittool to wait until completion. You MUST NOT pollread jobs://in a loop. {{/if}}
Subagents lack your conversation history. Every decision, file content, and user requirement they need MUST be explicit in context or assignment.
| 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. | ||
Change
- 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
{{#list agents join="\n"}}
Agent: {{name}}
Tools: {{default (join tools ", ") "All"}} {{description}} {{/list}}