Skip to content

Changelog ​

All notable documentation and behavior updates should be recorded here.

Unreleased ​

  • Discord: added reusable agent profiles managed with /agent, backed by ~/.skimpyclaw/discord-thread-agents.json. Profiles can point at any configured agents.list entry and carry model, effort, and prompt overrides.
  • Discord: added @alias <message> profile mentions. In server channels they create and bind a thread; in existing threads they bind the thread; in DMs they run directly without thread creation.
  • Discord: /agent prompt now accepts supported document attachments for profile prompt overlays, with 2 MB attachment downloads, 100k extracted-text cap, and 20k stored-prompt cap.
  • Discord: simplified the profile command surface: /agent effort is the documented effort command, /thread-agent, /agent set, and /agent unset were removed, and deleting a profile removes its thread bindings.
  • Cron: removed the special pr-review post-run [PR_REVIEW_RESULT] guard; cron agent-turn output now goes through the standard digest, voice, and notification paths.
  • Removed the sandbox / container-isolation subsystem entirely: src/sandbox/* (bridge, manager, mount-security, runtime, index), src/sandbox-utils.ts, the skimpyclaw sandbox CLI subcommand (init, status, prune, doctor), the sandbox setup-wizard step, the sandbox config field on Config, SandboxConfig interface, sandbox branches in tools.ts / executor.ts / cron.ts / heartbeat.ts, checkSandboxAvailable doctor check, and all sandbox tests. Exec approval (risk tiers 0–3) remains the command-safety gate. Runtime config in ~/.skimpyclaw/config.json may still contain a sandbox field — it is ignored and safe to remove.
  • Removed code_with_team / team orchestration entirely: src/code-agents/orchestrator.ts (1,022 LOC), its 19-test suite, the tool schema, team-coordinator task fields (parentTaskId, childTaskIds, subtask, synthesisResult, dependsOn, wave) and DecomposedSubtask, the readTeamState shim, and all related doc sections (team worktrees, team scratchpad, teamTimeoutMinutes config). Interactive sessions and code_with_agent cover the remaining coding-agent use cases without the parallel-decompose / synthesize pattern.
  • Removed the Work feature entirely: src/api-work.ts, src/work-ticker.ts, src/code-agents/review-loop*.ts (engine, storage, prompts, types, diff), the Work dashboard page and its sidebar nav, all Work types and API client methods, and the 3-second polling ticker started in src/service.ts. Interactive sessions and code_with_agent cover the remaining AI-coding use cases; the autonomous plan → implement → review loop was not in active use and was accumulating fix-commits. On-disk state under ~/.skimpyclaw/logs/review-loop/ is left intact for archival.
  • Removed the standalone digest-edition feature entirely, including its frontend, API routes, config field, seed script, tests, and dashboard sidebar link. Digest generation remains available.
  • Discord: added a required documentation process for Discord posting/update workflow changes, including update targets in README.md, guide pages, and changelog maintenance expectations.
  • Discord: cron jobs now support payload.discordThreadId to target a specific thread for start/digest/completion notifications, with validation and fallback to active-channel delivery.
  • Discord: code_with_agent now accepts interactive: true to start a bidirectional coding session pinned to a Discord thread. Follow-up messages in the thread are routed directly to claude --resume (serialized FIFO per thread); sessions persist across gateway restarts in ~/.skimpyclaw/logs/code-agents/interactive-sessions.json.
  • Models: claude-opus alias now points at claude-opus-4-7 (previously 4-6); applies to setup.ts, api.ts, providers/utils.ts migration, and the opus shorthand in code-agents/utils.ts.
  • Interactive sessions: fixed a correctness bug where a subprocess error would strand queued follow-up messages in memory; the queue is now drained with a single notice when the session errors.
  • Interactive sessions: shared buildCodeAgentSpawnEnv() helper in src/code-agents/utils.ts replaces three copy-pasted delete CLAUDECODE / GH_TOKEN / GITHUB_TOKEN blocks across executor.ts and interactive-resume.ts.
  • Discord: removed [discord:diag] debug logs that fired on every inbound message; converted interactive-session intercept to static imports for reduced hot-path overhead.
  • .gitignore: added .playwright-cli/ to stop committing local browser-automation artifacts.
  • Repo cleanup: removed previously tracked Playwright capture artifacts, the unused code-agent worktree helper, stale superpowers/unified-loop planning docs, an obsolete guide-only architecture diagram, the unreferenced root architecture analysis, and the unused docs hero screenshot component/asset.