Repository navigation
v1.0.3
What's Changed
- fix(llm): retry 429/5xx with Retry-After backoff by @chinkan in #56
- chore(skills): refresh engineering skills + Claude Code symlinks by @chinkan in #55
- 🌐 Web Portal M1+M2: design package, Axum backend, real-API SPA (SSE chat, cookie sessions, i18n), Telegram /portal by @chinkan in #57
- ✨ Portal Control Plane M3: skills/agents CRUD, GitHub installer, task CRUD (T1–T3) by @chinkan in #59
- fix(supervisor): CLI cancel + timeout_secs=0 unbounded (#58) by @chinkan in #61
- feat(supervisor): Supervisor::cancel → Backend::cancel (#62) by @chinkan in #63
- feat(config): [[bots]] parse/validate + legacy [telegram] shim (§7.1) by @chinkan in #65
- feat(telegram): multi-dispatcher + empty allowlist hard-fail (§7.2) by @chinkan in #66
- ✨ 429 resilience: model fallback chain + dead-letter re-run queue + max-iterations gate by @chinkan in #60
- fix(scheduler): dead-letter watchdog P0 — dispatch order + success supersede by @chinkan in #67
- feat(memory): conversation bot_id isolation + cancel routing (§7.3) by @chinkan in #68
- feat(agent): per-bot persona prompt binding (§7.4) by @chinkan in #69
- feat(agent): peer invoke depth/cycle + via attribution (§7.5) by @chinkan in #70
- feat(telegram): /config allowlist edit + /restart clean exit by @chinkan in #71
- feat(telegram): /agents create persona + bind BotFather token by @chinkan in #72
- feat(multi-bot): §7.6 researcher pack + main-loop tools/model + Available Agents by @chinkan in #73
- feat(multi-bot): §7.7 wizard Add another bot + GUIDE + E2E gate by @chinkan in #74
- feat(qa): Telegram Update injector harness (no Desktop) by @chinkan in #75
- fix(supervisor): wire /stop + cancel_cmd + portal cancel → Supervisor::cancel (#64) by @chinkan in #76
- fix(mcp): update_config_tokens bak/atomic write path by @chinkan in #77
- fix(memory): sole-custom-id conversation claim by @chinkan in #78
- feat(qa): deepen Telegram Update injector (handle_message + FixtureLlm) by @chinkan in #79
- feat(telegram): injectable Bot API base URL for rich_sender + wiremock auto by @chinkan in #80
- fix(peer-invoke): clear Telegram Working on peer-cycle / self-invoke by @chinkan in #81
- feat(secret-store): Slice 1 SecretStore + keyring/file + FakeSecretStore by @chinkan in #82
- feat(secret-store): Slice 2 pending claim + portal form + Telegram notify by @chinkan in #83
- feat(secret-store): Slice 3 missing→notify + env inject + redaction by @chinkan in #84
- feat(telegram): online/up message shows version + server datetime by @chinkan in #85
- feat(secret-store): bot token SecretStore adoption (P0) by @chinkan in #86
- fix(wizard): seal bot tokens on first save via SecretStore by @chinkan in #87
- fix(e2e): portable playwright import in e2e-verify.mjs by @chinkan in #88
- ci(deps): add Dependabot config (cargo + npm + github-actions) by @chinkan in #90
- 🔒 security: clear all Dependabot + CodeQL alerts, prep v1.0.3 by @chinkan in #106
Full Changelog: v1.0.2...v1.0.3