Update Go module path and all import references across the codebase.
Rename cmd/picoclaw/ → cmd/dragonscale/, pkg/pcerrors/ → pkg/dserrors/.
Update all environment variable prefixes PICOCLAW_* → DRAGONSCALE_*.
Remove stale translated READMEs (ja, pt-br, zh) and legacy community
roadmap doc. Update CI workflows, Dockerfile, goreleaser, and Makefile
to reference the new binary name and module path.
BREAKING CHANGE: module path changed; all consumers must update imports
Replace encoding/json across the entire codebase with the experimental
v2 JSON package. Key changes:
- json.RawMessage → jsontext.Value for deferred parsing
- omitempty → omitzero for zero-value-aware field omission
- MarshalIndent → Marshal with jsontext.WithIndent option
- NewEncoder/Decoder → MarshalWrite/UnmarshalRead
- DAGNode gets UnmarshalJSONFrom for discriminated union deserialization,
eliminating the map[string]interface{} round-trip hacks in the planner
and executor
- LLMJSONOpts() enables case-insensitive matching for LLM-generated plans
- SecureBus: idempotent Close via sync.Once, logged audit errors,
ToolSearch handler support
BREAKING CHANGE: json struct tags use omitzero instead of omitempty
Introduce a skill dependency graph that resolves skill ordering
and detects cycles, plus a Go template rendering system for
parameterized skill definitions. Updates the skill loader to
leverage both systems for progressive skill disclosure.
Add validation logic for SkillInfo to ensure name and description meet requirements
Include test cases covering various validation scenarios
Add testify dependency for testing assertions
- Add MemoryStore for persistent long-term and daily notes
- Add dynamic tool summary generation in system prompt
- Fix YAML frontmatter parsing for nanobot skill format
- Add GetSummaries() method to ToolRegistry
- Fix DebugCF logging to use structured metadata
- Improve web_search and shell tool descriptions