Skip to content

chore: release#1095

Open
github-actions[bot] wants to merge 1 commit intomainfrom
release-plz-2026-03-31T13-13-44Z
Open

chore: release#1095
github-actions[bot] wants to merge 1 commit intomainfrom
release-plz-2026-03-31T13-13-44Z

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Mar 31, 2026

🤖 New release

  • rara-api: 0.0.1
  • base: 0.0.1 -> 0.0.2
  • common-runtime: 0.0.1
  • common-worker: 0.0.1
  • rara-browser: 0.0.1
  • rara-domain-shared: 0.0.1
  • rara-paths: 0.0.1
  • rara-soul: 0.0.1
  • rara-stt: 0.0.1
  • rara-tool-macro: 0.0.1
  • rara-kernel: 0.0.1
  • rara-agents: 0.0.1
  • rara-keyring-store: 0.0.1
  • rara-mcp: 0.0.1
  • rara-tts: 0.0.1
  • rara-channels: 0.0.1
  • rara-composio: 0.0.1
  • rara-git: 0.0.1
  • rara-sessions: 0.0.1
  • rara-skills: 0.0.1
  • yunara-store: 0.0.1
  • rara-backend-admin: 0.0.1
  • rara-codex-oauth: 0.0.1
  • rara-pg-credential-store: 0.0.1
  • rara-error: 0.0.1
  • rara-server: 0.0.1
  • rara-symphony: 0.0.1
  • rara-app: 0.0.1
  • common-telemetry: 0.0.1
  • rara-cli: 0.0.1
  • crawl4ai: 0.0.1
  • rara-model: 0.0.1
Changelog

rara-api

[0.0.1] - 2026-04-13

Bug Fixes

  • Resolve all clippy warnings across codebase (#313)

Documentation

  • api: Add proto comments for buf lint
  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Features

  • execution: Add rara py worker grpc runtime skeleton
  • execution: Add jobspy capability and capability discovery
  • Integrate mem0 via execution worker

Miscellaneous Tasks

  • Establish job backend baseline
  • Rename to rara
  • Change default HTTP port from 3000 to 25555
  • Format
  • Format

Refactor

  • Rename rsketch crates to job
  • Rename remaining rsketch references to job
  • Decouple telegram bot with grpc/http boundary (#94)
  • Unify runtime state into AppState with init() and routes()
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • Fix naming conventions and convention drift (#1032) (#1035)

base

[0.0.2] - 2026-04-13

Documentation

  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Features

  • base: Add ArcCow and SharedString utility types
  • base: Add deterministic UUID constructor to define_id (#164)

Miscellaneous Tasks

  • Establish job backend baseline
  • Rename to rara
  • Change default HTTP port from 3000 to 25555
  • Make lint pass across workspace
  • Format
  • Add missing AGENT.md files for all crates (#535) (#539)

Performance

  • base: Use NonZeroU128 in define_id! for Option niche optimization (#1149) (#1160)

Refactor

  • Rename rsketch crates to job
  • Decouple telegram bot with grpc/http boundary (#94)
  • Extract crawl4ai into common crate and remove unused downloader
  • Add keyring-store crate, process group utils, layer READMEs, and dep upgrades
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • Make it compile
  • Remove dead code identified by desloppify scan (#1025) (#1029)
  • Fix naming conventions and convention drift (#1032) (#1035)

common-runtime

[0.0.1] - 2026-04-13

Documentation

  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Miscellaneous Tasks

  • Establish job backend baseline
  • Rename to rara
  • Change default HTTP port from 3000 to 25555
  • Format
  • Add missing AGENT.md files for all crates (#535) (#539)

Refactor

  • Rename rsketch crates to job
  • Decouple telegram bot with grpc/http boundary (#94)
  • Extract crawl4ai into common crate and remove unused downloader
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • Fix naming conventions and convention drift (#1032) (#1035)

common-worker

[0.0.1] - 2026-04-13

Bug Fixes

  • app: Connection pool timeout and Ctrl+C shutdown panic (#296)
  • telegram: Harden tool-call XML stripping for streaming edge cases (#314)

Documentation

  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Features

  • Integrate mem0 via execution worker

Miscellaneous Tasks

  • Establish job backend baseline
  • Clean
  • Rename to rara
  • Change default HTTP port from 3000 to 25555
  • Format
  • Format
  • Format
  • Add missing AGENT.md files for all crates (#535) (#539)

Refactor

  • Rename rsketch crates to job
  • Decouple telegram bot with grpc/http boundary (#94)
  • Move TelegramService into telegram-bot crate, add outbox pattern
  • Extract crawl4ai into common crate and remove unused downloader
  • metrics: Migrate to lazy_static grouped pattern with eager init
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • telemetry: Migrate metrics from Prometheus pull to OpenTelemetry push (#568)
  • Fix naming conventions and convention drift (#1032) (#1035)

rara-browser

[0.0.1] - 2026-04-13

Documentation

  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Miscellaneous Tasks

  • Establish job backend baseline
  • Change default HTTP port from 3000 to 25555
  • Format

Refactor

  • Decouple telegram bot with grpc/http boundary (#94)
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • workspace: Extract browser/stt from kernel into driver crates (#1146) (#1154)

rara-domain-shared

[0.0.1] - 2026-04-13

Bug Fixes

  • notifications: Avoid 500 when pgmq archive table is absent
  • settings: Add pipeline_cron field to test initializers
  • shared: Add missing recall_every_turn field in test initializer (#322)
  • kernel: Use ModelRepo for runtime model resolution, read Telegram token from settings

Documentation

  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Features

  • Add runtime settings with hot reload for ai and telegram
  • settings: Add updated timestamp and toast-based feedback
  • notifications: Rebuild observability around pgmq queue semantics
  • Improve settings UX and markdown preview flow
  • settings: Per-scenario model configuration
  • agents: Add proactive agent with personality (Agent Soul)
  • chat: Make default system prompt configurable via settings (#121)
  • memory: Integrate agent memory with pg/sqlite backends
  • telegram: Add group chat support with mention-based triggering
  • chat: Dynamic OpenRouter model list + favorites (#151)
  • tools: Add screenshot tool with Playwright + Telegram photo sending (#157)
  • openapi: Add OpenAPI support with utoipa + Swagger UI (#159)
  • openapi: Annotate chat, job, typst, resume, settings routes (#178)
  • agents: Model fallback chain (#193)
  • Integrate composio
  • email: Integrate lettre for Gmail sending (#216)
  • pipeline: Implement job pipeline agent and service (#217)
  • pipeline: Add cron scheduling for automatic pipeline runs (#220)
  • pipeline: Add MCP tool support to pipeline agent
  • pipeline: Send notifications to dedicated Telegram channel (#227)
  • pipeline: Add report_pipeline_stats tool and recipient-based notify
  • contacts: Add telegram contacts allowlist (#232)
  • ai: Add Ollama provider support for local LLM inference (#240)
  • settings: Add SSH public key API endpoint
  • settings: Add llmfit model recommendations endpoint (#256)
  • settings: Integrate Ollama model management endpoints (#268)
  • web: Add capability-based filtering to Ollama model selector (#274)
  • Modularize settings admin routes
  • memory: Add post-compaction recall and per-turn recall config (#319)
  • kernel: Settings-driven SandboxConfig + hot reload (#453)
  • kernel: Wire IngressRateLimiter into IOSubsystem resolve path
  • channels: Add WeChat iLink Bot channel adapter (#827) (#830)

Miscellaneous Tasks

  • Establish job backend baseline
  • Fmt code
  • Format
  • Rename to rara
  • Format & some improvement & prompt markdown
  • Change default HTTP port from 3000 to 25555
  • Remove unused ollama-rs dependency
  • Remove legacy domain settings router file
  • Format
  • Format
  • Rustfmt formatting pass, fix Helm replicas/workers from true to 1
  • Add missing AGENT.md files for all crates (#535) (#539)

Refactor

  • Rename job-domain-core to job-domain-shared and clean up unused types
  • Merge convert.rs into types.rs and remove redundant tests
  • Move TelegramService to shared crate, add notify-driven workers
  • Decouple telegram bot with grpc/http boundary (#94)
  • Move TelegramService into telegram-bot crate, add outbox pattern
  • Remove notify domain crate, replace with lightweight shared notify client
  • Realign domain boundaries and rename domain crates
  • notify: Route observability through NotifyClient
  • Unify runtime state into AppState with init() and routes()
  • Extract crawl4ai into common crate and remove unused downloader
  • message-bus: Rewrite as Coordinator + Command trait
  • memory: Use Chroma server-side embeddings, remove HashEmbedder
  • memory: Simplify to PG-only backend with required Chroma
  • Add keyring-store crate, process group utils, layer READMEs, and dep upgrades
  • pipeline: Move agent prompt into extension crate
  • settings: Replace llmfit subprocess with llmfit-core git dependency (#258)
  • agent-core: Centralize model configuration behind ModelRepo trait (#279)
  • Remove compose_with_soul/resolve_soul and settings prompt fields (#281)
  • Split settings admin domains and reorganize settings UI
  • backend-admin: Move all domain routers into backend-admin (#295)
  • Move contacts to telegram-bot, add ContactLookup trait (#307)
  • settings: Move SettingsSvc + ollama from domain/shared to backend-admin (#310)
  • memory: Integrate new MemoryManager into tools, orchestrator, and settings (#313)
  • codex: Move oauth core logic out of backend-admin
  • codex: Move oauth core into integrations crate
  • Remove legacy proactive agent and agent scheduler
  • Remove job pipeline module and related code
  • settings: Unify runtime settings into flat KV store (#401)
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • Remove PGMQ NotifyClient — replaced by kernel egress
  • llm: Per-provider default_model and fallback_models (#47)
  • app: Align knowledge config with settings-first architecture

rara-paths

[0.0.1] - 2026-02-06

Documentation

  • Add features section to README

Features

  • Integrate Buf for multi-language gRPC code generation

Security

  • Fix GitHub Actions security issues and update dependencies

Chore

  • Update remade

rara-soul

[0.0.1] - 2026-04-13

Bug Fixes

  • Resolve all clippy warnings across codebase (#313)
  • kernel: Disable auto-fold, remove context warnings, align with bub (#1315) (#1316)

Documentation

  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Features

  • soul: Add rara-soul crate with structured persona framework (#172)
  • soul: Add default soul definitions for rara and nana (#172)
  • soul: Rewrite rara soul with expressive personality (#175)
  • soul: Implement evolve-soul tool and auto-notifications for Mita tools
  • soul: Add self-identity to rara's soul prompt (#684) (#685)
  • soul: Add user autonomy boundary to disable content censorship (#851) (#852)
  • soul: Add working habits for tape usage to rara soul prompt (#1311) (#1312)

Miscellaneous Tasks

  • Establish job backend baseline
  • Change default HTTP port from 3000 to 25555
  • Format
  • Format
  • Add missing AGENT.md files for all crates (#535) (#539)

Refactor

  • Decouple telegram bot with grpc/http boundary (#94)
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • soul: Remove all fallback logic, use built-in defaults directly
  • soul: Redesign rara personality to tsundere style
  • soul: Redesign rara personality to yamato nadeshiko style
  • agents: Prompt diet — cut tokens ~49% (#823) (#824)
  • agents: Optimize agent prompts with prompt-refinery framework (#1105) (#1106)
  • soul: Introduce StyleScore newtype for bounded 1-10 values (#1126) (#1128)

rara-stt

[0.0.1] - 2026-04-13

Bug Fixes

  • drivers: Structured STT errors with retry for transient failures (#1164) (#1168)

Documentation

  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Miscellaneous Tasks

  • Establish job backend baseline
  • Change default HTTP port from 3000 to 25555
  • Format

Refactor

  • Decouple telegram bot with grpc/http boundary (#94)
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • workspace: Extract browser/stt from kernel into driver crates (#1146) (#1154)

Testing

  • drivers: Wiremock-based integration tests for STT and TTS services (#1176) (#1181)

rara-tool-macro

[0.0.1] - 2026-04-13

Bug Fixes

  • app: Context-mode interceptor whitelist + summary + system prompt (#722) (#732)

Documentation

  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)

Features

  • tool-macro: Add ToolDef derive macro infrastructure (#514)
  • kernel: Deferred tool loading — reduce per-turn token overhead (#756) (#768)
  • kernel: Per-tool execution timeout granularity (#778) (#782)
  • kernel: Add AgentTool::validate semantic validation step (#1183) (#1185)
  • kernel: Add safety axes + concurrency partitioning (#1186) (#1192)

Miscellaneous Tasks

  • Establish job backend baseline
  • Change default HTTP port from 3000 to 25555
  • Format

Refactor

  • Decouple telegram bot with grpc/http boundary (#94)
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • tool: Typed Output associated type for ToolExecute (#524) (#533)
  • kernel: Drop output interceptor (#809) (#811)

rara-kernel

[0.0.1] - 2026-04-13

Bug Fixes

  • egress: Fallback to persistent platform identities for stateless channels (#25)
  • kernel: Unify agent_turn error type from String to KernelError
  • kernel,channels: Prevent duplicate telegram messages and stuck Running processes
  • kernel,boot: Address user tape code review issues (#75)
  • kernel: Wire spawn_child result_tx through Session lifecycle (#76)
  • kernel: Cleanup spawn_child agents after first turn completion (#76)
  • kernel: Catch panics in turn task and log actual panic message (#88)
  • kernel: Store origin_endpoint in Session to prevent cross-channel reply leaks (#96)
  • memory: Deduplicate user message in LLM context assembly (#101)
  • security: Enforce tool permissions in agent loop
  • kernel: User-friendly context window error message (#129)
  • tools: Rename all tool names to match OpenAI ^[a-zA-Z0-9-]+$ pattern
  • kernel: Schedule-add parameter validation for LLM compatibility (#132)
  • kernel,symphony: Offload blocking I/O to spawn_blocking to prevent tokio starvation
  • kernel: Scheduled task isolation — independent tape and silent delivery (#140)
  • kernel: Build meaningful summary for auto-handoff anchor
  • Tape memory
  • memory: Improve tape search relevance
  • mita: Persist MitaDirective as Event entry in session tape (#173)
  • kernel: Move syscall job_wheel persist to spawn_blocking (#184)
  • kernel: Prevent orphan tape in checkout and add rollback (#188)
  • channels: Emit TextClear to fix tool progress notifications (#207)
  • kernel: Emit ToolCallStart before argument parsing (#207)
  • kernel: Normalize empty tool call arguments to valid JSON
  • kernel: Log successful tool calls
  • kernel: Log tool call arguments at start
  • kernel: Include request args in tool error log
  • kernel: Use info level for LLM request/response logs
  • kernel: Ensure ToolCallStart is emitted before ToolCallArgumentsDelta
  • kernel: Address review feedback — configurable rate limit, memory eviction, serde parse
  • kernel: Address PR review — gc wiring, clock-testable rate limiter, strum parsing (#223)
  • kernel: Preserve original message in NonRetryable/RetryableServer errors (#227)
  • kernel: 强制执行 max_concurrency 和 child_semaphore 并发限制 (fix(kernel): spawn_parallel 未消费 max_concurrency 参数 #242, fix(kernel): child_semaphore 已初始化但未 acquire #243)
  • kernel: Add default_execution_mode to worker manifest
  • telegram: Harden tool-call XML stripping for streaming edge cases (#314)
  • kernel: Mark TurnTrace as failed and emit warning when max_iterations exhausted (#319) (#326)
  • llm: Add frequency_penalty to prevent repetition loops (#317) (#318)
  • kernel: Skip empty notifications instead of sending placeholder string (#334) (#336)
  • agents: Add marketplace tool to rara agent manifest (#347)
  • telegram: Pre-render trace HTML for instant callback response (#343)
  • kernel: Drop PublishEvent with missing/blank payload.message (#350)
  • Resolve all clippy warnings across codebase (#313)
  • kernel: Suppress duplicate error message on user interrupt (#355)
  • kernel: Treat plan step iteration exhaustion as replan trigger (#477)
  • kernel: Use origin_endpoint directly for outbound routing (#482)
  • kernel: Add logging and thinking model fallback for session title generation (#493) (#494)
  • syscall-scheduler: Move scheduler to workspace dir
  • scheduler: List scheduler jobs across sessions
  • scheduler: Update scheduler-tool's prompt
  • kernel: Default execution mode to Plan instead of Reactive (#567) (#570)
  • kernel: Inject agent context into plan-mode planner (#567) (#576)
  • kernel: Reduce plan step iterations and add early-exit guidance (#586) (#588)
  • kernel: Replace byte truncation with self-summarizing child agents (#578) (#581)
  • kernel: Persist intermediate assistant messages to tape for cascade tick detection (#606) (#608)
  • guard: Expand whitelist and fix approval timeout race (fix(guard): whitelist should include data_dir and temp_dir #604, fix(guard): approval resolve race shows misleading error on timeout #605) (#609)
  • kernel: Repetition guard fixes (#616) (#619)
  • kernel: Pass parsed arguments to ToolCallStart for trace summaries (#621) (#623)
  • kernel: Register notified() before emptiness check in ShardQueue::wait() (#687) (#692)
  • kernel: Close zombie streams when opening new stream (#688) (#693)
  • kernel: Log and recover from job_wheel mutex poisoning (#689) (#694)
  • kernel: Prefer accumulated_text over reasoning for TurnRationale (#713) (#715)
  • kernel: Allow ancestor paths in path_scope guard for directory tools (#727) (#733)
  • app: Context-mode interceptor whitelist + summary + system prompt (#722) (#732)
  • kernel: Align OpenAI driver wire format with API spec (#743) (#745)
  • kernel: Default ExecutionMode to Reactive and cap plan-mode iterations (#752) (#754)
  • kernel: Openai wire format alignment (#747) (#750)
  • kernel: Make interceptor prompt fragment dynamic to track MCP state (#763) (#769)
  • kernel: Tune agent loop timeouts for responsiveness (#770) (#772)
  • kernel: Add logs_dir and ~/.claude to path-scope whitelist (#780) (#781)
  • kernel: Set max_tokens to 1024 in agent loop CompletionRequest (#802) (#803)
  • kernel: Increase max_tokens to 2048 and optimize agent prompt (#815) (#816)
  • kernel: Nudge LLM when it returns empty text after tool calls (#855) (#856)
  • kernel: Send fallback reply on empty LLM response after error recovery (#894) (#896)
  • kernel: Make typing_refresh respect turn cancellation (#900) (#903)
  • kernel: Include descriptions in discoverable tools system prompt (#914) (#915)
  • kernel: Inject system paths and improve discover-tools guidance in agent system prompt (#919) (#920)
  • kernel: Reword deferred tools prompt to stop agent claiming tools unavailable (#935) (#937)
  • kernel: Align deferred tool catalog with executable tool registry (#941) (#942)
  • kernel: Add timeout enforcement for background agent watchers (#928) (#931)
  • kernel: Allow multiple LLM error recoveries per agent turn (#930) (#932)
  • kernel: Use parking_lot mutex (#927) (#933)
  • kernel: Improve context estimation (#929) (#934)
  • kernel: Expose full error chain in LLM provider errors (#1017) (#1018)
  • kernel: Bypass proxy for local/private-network LLM providers (#1020) (#1021)
  • Resolve contract violations found by code quality scan (#1026) (#1030)
  • kernel: Merge system messages for strict chat template providers (#1034) (#1038)
  • kernel: Strip tags from content field (#1054) (#1055)
  • kernel,web: Preserve multimodal image content through LLM pipeline (#1063) (#1064)
  • chat: Preserve multimodal in api (#1066) (#1067)
  • kernel: Preserve multimodal content on first-turn spawn (#1068) (#1070)
  • kernel: Treat empty LLM stream as error with auto-fold recovery (#1116) (#1117)
  • kernel: Use SessionKey/ChannelType types in ChannelMessage and ChannelBinding (#1120) (#1132)
  • cmd: Index 'rara debug' lookup via execution_traces SQL (#1138) (#1139)
  • kernel: Explicit backpressure retry for IOError::Full in ingress pipeline (#1148) (#1158)
  • cmd: Render full ExecutionTrace from SQL in 'rara debug' (#1156) (#1161)
  • kernel: Intercept XML tool calls from MiniMax in content stream (#1166) (#1170)
  • kernel: Tool_xml safe_emit_len panics on multi-byte UTF-8 (#1173) (#1174)
  • kernel: Handle streamed tool deltas even when stop_reason mismatches (#1201)
  • channels: /debug shows all entry kinds via entries_by_message_id (#1207) (#1209)
  • kernel: Detect vision support by model name, stop stripping images (#1216) (#1218)
  • codex-oauth: Add ChatGPT-Account-Id header for API access (#1241) (#1244)
  • kernel: CodexDriver reads HTTPS_PROXY for chatgpt.com connectivity (#1248)
  • kernel: CodexDriver proxy support + required instructions field (#1249)
  • kernel: Codex driver — extract system messages into top-level instructions field (#1252)
  • kernel: Codex driver — set store=false (endpoint rejects store=true) (#1253)
  • kernel: Codex driver — remove unsupported max_output_tokens parameter (#1254)
  • kernel: Codex driver — strip all unsupported parameters from request body (#1255)
  • kernel: Codex driver — explicitly send store=false (API defaults to true) (#1256)
  • kernel: Ensure object schemas always have properties key (#1257)
  • kernel: Codex driver — add 5-minute absolute stream timeout (#1260)
  • kernel: Simplify context contract following bub's approach (#1309) (#1310)
  • kernel: Disable auto-fold, remove context warnings, align with bub (#1315) (#1316)
  • channels: Route approval requests to originating chat, not primary_chat_id (#1319) (#1322)
  • kernel: Ack detector now catches mid-turn planning responses (#1332) (#1333)
  • kernel: Sanitize tool names for OpenAI API compatibility (#1342) (#1343)

Documentation

  • memory: Add detailed what/how/why comments to tape memory module (#64)
  • kernel: Add detailed comments to start_llm_turn explaining lifecycle phases
  • telegram: Add implementation comments for anchor tree flows
  • kernel: Enrich checkout action description in TapeTool (#202)
  • kernel: Add AGENT.md guidelines for IngressRateLimiter and GroupPolicy
  • kernel: Add 'why' reasoning to AGENT.md guidelines
  • kernel: Add AGENT.md section for tape-driven message rebuild + context budget (#229)
  • Update README to reflect tape-based architecture (#783) (#784)
  • Simplify readme with logo (#1088) (#1089)
  • Add inspired-by credits (#1091) (#1092)
  • kernel: Add ARCHITECTURE.md mapping kernel data flow and module roles (#1140) (#1150)

Features

  • kernel: Implement KernelHandle as event-queue-based public API (#23)
  • session: 添加 SessionIndex trait 和 FileSessionIndex 实现 (#43)
  • cmd: Improve TUI session Gantt chart with metrics overlay and time axis
  • memory: Add user tape for cross-session user memory (#70)
  • kernel: Add group chat proactive reply with two-step LLM judgment (#71)
  • kernel: Add KnowledgeConfig struct (#81)
  • kernel: Add knowledge layer — items, categories, embedding, extractor, tool (#81)
  • kernel: Wire knowledge layer into kernel event loop and boot sequence (#81)
  • channels: Support sending images to users in Telegram (#91)
  • memory: Add source_ids to compaction anchor and entry lookup by ID (#104)
  • memory: Expose source references in knowledge search and add resolve_sources (#105)
  • memory: Support fork from specific entry ID (#107)
  • agent: Emit intent/progress during long multi-step tool executions (#116)
  • kernel: Dynamic MCP tool injection into agent loop (#126)
  • kernel: Replace oneshot result channel with mpsc AgentEvent channel (#127)
  • kernel: Run_agent_loop emits milestones via mpsc channel (#127)
  • kernel: Exec_spawn collects milestones into tool result (#127)
  • kernel: Usage collection, tape tools, and context contract (#130)
  • llm: Image compression pipeline for vision input (#131)
  • kernel: Add scheduled task system (#132)
  • kernel: Auto-handoff on context window overflow (#134)
  • kernel: ScheduledJobAgent + enriched task notifications (#135)
  • kernel: KernelEvent::SendNotification + fix PublishEvent syscall (#137)
  • kernel: Runtime context guard with token feedback (#149)
  • llm: Add Message::tool_result_multimodal() constructor
  • kernel: Add ToolOutput type and update AgentTool::execute() signature
  • kernel: Add desired_session_key to spawn_with_input (#164)
  • kernel: Store LLM usage metadata on assistant tape entries (#165)
  • memory: Add estimated_context_tokens to TapeInfo (#165)
  • kernel: Expose estimated_context_tokens in tape.info tool (#165)
  • kernel: Use estimated_context_tokens in context pressure warnings (#165)
  • memory: User tape knowledge distillation via anchor (#170)
  • kernel: Render soul prompt with runtime state via SoulRenderer (#174)
  • kernel: Add mood inference hook at end of agent loop (#176)
  • kernel: Add rate limit retry with exponential backoff for LLM calls
  • telegram: Add /anchors and /checkout commands
  • kernel: Add checkout action to tape tool (#188)
  • kernel: Teach LLM about anchor navigation in runtime prompt (#188)
  • kernel: Inject SessionIndex into TapeTool for real checkout (#193)
  • kernel: Add checkout_root action to TapeTool (#204)
  • channels: Include raw args in tool parse failure error (#207)
  • kernel: Log LLM request and response at debug level
  • kernel: Add GroupPolicy enum to channel types (security(channels): Zeroize bot token in config and adapter path #219-adjacent)
  • kernel: Add IngressRateLimiter with sliding-window per-key limiting
  • kernel: Wire IngressRateLimiter into IOSubsystem resolve path
  • kernel: Add context budget for tool result truncation (#228)
  • kernel: Add /msg_version command and session/manifest routing (#257)
  • channels: Plan-execute TG 三级显示策略 + 单消息编辑流 (#267)
  • telegram: Show input/output token counts in progress UX (#304)
  • kernel,telegram: Rara_message_id end-to-end tracing and debug_trace tool (#337)
  • kernel: Background agent spawning with proactive result delivery (#340)
  • kernel: Context folding — auto-anchor with pressure-driven summarization (#357)
  • kernel: Implement ContextFolder and FoldBranchTool (#376)
  • kernel,telegram: Auto-generate session title & redesign /sessions UI (#434)
  • kernel: External agent.md prompt (#451)
  • kernel: Centralize loading hints with random selection (#455)
  • channels: Add /status command with session info and scheduled jobs (#450) (#453)
  • kernel: Implement TaskReport type system and notification subscription bus (#438) (#439)
  • dock: Generative UI canvas workbench (#424)
  • kernel: Agent knowledge directory with index + on-demand loading (#466) (#469)
  • kernel: Read-file adaptive paging based on context window (#468) (#471)
  • kernel: Default execution mode to plan (v2) (#479) (#481)
  • kernel: Add browser automation subsystem via Lightpanda + CDP (#473)
  • kernel: Inject installed skills into agent system prompt (#487)
  • channels: Add session delete buttons and relative time in /sessions (#492)
  • tool-macro: Add ToolDef derive macro infrastructure (#514)
  • kernel: Implement pause_turn circuit breaker for agent loop (#506) (#508)
  • tool-macro: Migrate kernel tools to ToolDef (#510) (#517)
  • web: Cascade viewer — agent execution trace side panel (#513)
  • acp: Add native acp client crate (#504)
  • kernel: Enrich tape metadata with typed structs for latency, model, and stop_reason (#548) (#551)
  • kernel: Add PathScopeGuard for file-access scope enforcement (#579) (#582)
  • kernel: Session-level dynamic whitelist for PathScopeGuard approvals (#596) (#597)
  • kernel: Streaming repetition guard for LLM output loops (#602) (#614)
  • kernel: Add session-length handoff reminder and strengthen topic-switch prompt (#615)
  • kernel: Show LLM reasoning for tool calls in progress display (#661) (#664)
  • channels: Enhance guard approval UI with context, timing, and expiration (#653) (#665)
  • kernel: Add LlmModelLister and LlmEmbedder extension traits (#762) (#766)
  • kernel: Add tool call loop breaker (#773) (#775)
  • kernel: Deferred tool loading — reduce per-turn token overhead (#756) (#768)
  • kernel: Per-tool execution timeout granularity (#778) (#782)
  • kernel: Stream bash stdout in real-time during tool execution (#777) (#788)
  • app: Port kota file tools — in-process grep/find, delete-file, create-directory (#808) (#810)
  • channels: Add WeChat iLink Bot channel adapter (#827) (#830)
  • kernel: Discover-tools finds skills (#833) (#835)
  • kernel: Task tool — preset-based background agent delegation (#845) (#847)
  • kernel: Add explore task preset and delegation routing (#873) (#875)
  • kernel: Inject deferred tool names into agent system prompt (#902) (#906)
  • tools: Include parameter summaries in discover-tools results (#925) (#926)
  • channels: Improve Telegram progress UX (feat(channels): collapse tool command details into cascade instead of truncating #947, feat(channels): fix thinking content positioning in message timeline #948, feat(channels): collapse guard approval message after decision #949) (#951)
  • kernel: Add ToolHint, UserQuestionManager, and ask-user tool (#945) (#952)
  • kernel: Codex OAuth as first-class LLM provider (#950) (#953)
  • kernel: Telegram voice message STT via local whisper-server (#998) (#1003)
  • cmd: Rara setup interactive configuration wizard (#1008) (#1011)
  • kernel: Detect model vision capability and strip image blocks (#1076) (#1078)
  • app: Auto-manage whisper-server lifecycle (#1081) (#1082)
  • web: Voice message input via microphone recording (#1084) (#1085)
  • browser: Enforce navigation timeout and make wait_for timeout configurable (#1107) (#1108)
  • kernel: Batch file reads and 429 rate-limit recovery (#1118) (#1119)
  • cmd: Add 'rara debug <message_id>' CLI command (#1135) (#1136)
  • kernel: Per-session child concurrency semaphore (#1144) (#1155)
  • kernel: Add AgentTool::validate semantic validation step (#1183) (#1185)
  • kernel: GLM-5.1 provider-specific optimizations (#1196) (#1197)
  • kernel: Add safety axes + concurrency partitioning (#1186) (#1192)
  • kernel: Tool execution hooks — PreToolUse / PostToolUse / PostToolUseFailure (#1204) (#1208)
  • kernel: Scheduling architecture hardening — 10 improvements from matklad review (#1222) (#1245)
  • kernel: Add CodexDriver for ChatGPT backend Responses API (#1246) (#1247)
  • kernel: Add LifecycleHook trait and registry for turn/fold events (#1286) (#1288)
  • kernel: Implement SkillNudge + MemoryNudge lifecycle hooks (#1290) (#1292)
  • kernel: Self-continuation signal to prevent GPT stop-and-ask (#1301) (#1306)
  • kernel: Interrupt agent turn on new user message (#1317) (#1318)
  • kernel: Add task delegation guidance to context_contract (#1321) (#1323)
  • agents: Make safety fragment act-by-default to improve proactivity (#1320) (#1324)
  • kernel: Runtime ack detection to prevent lazy LLM responses (#1329) (#1330)
  • kernel: GPT-specific anti-narration prompt + raise ack length to 2000 (#1340) (#1341)
  • kernel: Hermes-aligned tool-use enforcement for GPT/Gemini/Grok (#1340) (#1344)
  • kernel: Add WHEN TO USE guidance to task tool and promote spawn-background to core (#1348) (#1352)
  • kernel: Three-tier ack detection for verbose GPT narration (#1349) (#1353)
  • kernel: Integrate talk-normal anti-slop output style rules (#1350) (#1354)

Miscellaneous Tasks

  • Establish job backend baseline
  • Change default HTTP port from 3000 to 25555
  • Format
  • Tidy project
  • Format code
  • kernel: Replace From<(&str, Option)> with explicit classify_provider_error, add stage constants
  • Rustfmt formatting pass, fix Helm replicas/workers from true to 1
  • Format
  • Clean
  • kernel: Add usearch dependency for knowledge layer (#81)
  • Change jobs_path
  • Format
  • Add tool timeout
  • Support composio config
  • kernel: Add perf TODO for anchor tree session loading (#188)
  • Format
  • Format
  • Auto tool
  • channels: Add delivery debug logging for wechat send path (#881) (#882)
  • kernel: Increase default_max_iterations from 12 to 60 (#1313) (#1313)

Performance

  • cascade: Build CascadeTrace incrementally during agent loop (#625) (#632)
  • kernel: Batch sequential event handling in run_processor (#1141) (#1152)
  • kernel: In-memory tape index for anchor and kind lookups (#1147) (#1157)
  • base: Use NonZeroU128 in define_id! for Option niche optimization (#1149) (#1160)

Refactor

  • Decouple telegram bot with grpc/http boundary (#94)
  • kernel: Extract SecuritySubsystem
  • kernel: Extract AuditSubsystem
  • kernel: Flatten KernelInner, add strum derives, instrument macros, and Arc type aliases
  • kernel: Use join_all for concurrent event batch processing (#20)
  • kernel: Migrate external callers to KernelHandle, demote Kernel methods (#24)
  • kernel: Remove redundant spawn methods from Kernel
  • kernel: Remove async-openai and legacy LLM provider layer
  • kernel: Add OutboundEnvelope constructors, eliminate duplicate struct literals
  • kernel: Extract routing helpers from handle_user_message
  • kernel: Reduce ProcessHandle boilerplate with helper methods
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • kernel: Replace manual map_err with snafu ResultExt (#33)
  • kernel: Replace manual enum match with strum derives (#34)
  • kernel: Replace manual Debug impls with derive_more::Debug (#35)
  • kernel: Dissolve defaults/ module into domain modules (#36)
  • kernel: Split session.rs into directory module, fix external import paths (#36)
  • kernel: 将 RuntimeTable 从类型别名提升为领域结构体 (#39)
  • kernel: 提取 DeliverySubsystem 子组件 (#39)
  • kernel: 提取 SyscallDispatcher 子组件 (#39)
  • kernel: 平铺过度拆分的子模块 (#40)
  • Replace Consul with YAML config, continue SQLite migration, add session resumption
  • kernel: Introduce EventBase for unified event metadata
  • llm: Per-provider default_model and fallback_models (#47)
  • kernel: Session-centric runtime (#48)
  • kernel: Migrate from Memory+SessionRepository to tape (#51)
  • Make it compile
  • kernel: Remove SessionResolver, simplify ChannelBinding (#63)
  • kernel: Extract TapeTool from SyscallTool into dedicated tool
  • kernel: Improve TapeTool error handling, add between_anchors action (#68)
  • kernel: Decouple proactive judgment into GroupMessage event (#79)
  • kernel: Make knowledge layer a required component, not optional (#81)
  • kernel: Remove enabled flag from KnowledgeConfig (#81)
  • app: Align knowledge config with settings-first architecture
  • memory: Compaction shrinks read set instead of deleting history (#103)
  • memory: Define typed HandoffState contract for anchor state (#106)
  • kernel: ScheduledTask as dedicated KernelEvent + notifications (#133)
  • kernel: Split schedule-add into three LLM-friendly tools
  • kernel: Rewrite tape tool description with topic-driven anchor and recall guidance
  • mita: Replace submit_message with typed MitaDirective (#171)
  • soul: Remove all fallback logic, use built-in defaults directly
  • kernel: Spawn per event instead of join_all to prevent batch blocking (#185)
  • kernel: Extract InMemorySessionIndex to shared test utility (#188)
  • kernel: Move checkout_anchor to TapeService (#188)
  • kernel: 每次迭代从 tape 重建 LLM messages,消除双写冗余 (#229)
  • kernel: Replace Chinese prompts with English in agent loop (#229)
  • kernel: Consolidate tool impls into tool/ module (#264)
  • memory: Remove MAX_USER_NOTES truncation, trust anchor boundary (#407)
  • kernel: Migrate browser tools to ToolDef derive macro (#511) (#518)
  • app: Migrate app, dock, and knowledge tools to ToolDef derive macro (#512) (#519)
  • tool: Typed Output associated type for ToolExecute (#524) (#533)
  • telemetry: Migrate metrics from Prometheus pull to OpenTelemetry push (#568)
  • tg: Unify plan and progress into single in-progress message (#580) (#583)
  • kernel: Plan mode agent loop fixes (#648 #649 #650) (#667)
  • kernel: Prompt review — fix 12 findings (#755) (#758)
  • kernel: Flatten spawn-background params — remove nested manifest (#764) (#767)
  • tools: Token diet — aggressive tool tiering + new file tools + browser prompt (#805) (#806)
  • kernel: Drop output interceptor (#809) (#811)
  • agents: Prompt diet — cut tokens ~49% (#823) (#824)
  • kernel: Tool schema diet — split tape + compress descriptions (#825) (#826)
  • kernel: Prompt diet tool tiering (#831) (#832)
  • agents: Align system prompts with Claude Code patterns ([#841](https://github.com/rararulab/rara/

@crrow crrow force-pushed the main branch 2 times, most recently from 70b35e9 to 0e0f408 Compare March 31, 2026 13:30
@github-actions github-actions bot force-pushed the release-plz-2026-03-31T13-13-44Z branch 5 times, most recently from 6ce0f51 to 72850c7 Compare April 6, 2026 11:55
@github-actions github-actions bot force-pushed the release-plz-2026-03-31T13-13-44Z branch 22 times, most recently from c67c458 to 77feaa9 Compare April 8, 2026 16:09
@github-actions github-actions bot force-pushed the release-plz-2026-03-31T13-13-44Z branch 21 times, most recently from c10c5f8 to 0cabe2c Compare April 13, 2026 16:00
@github-actions github-actions bot force-pushed the release-plz-2026-03-31T13-13-44Z branch from 0cabe2c to 29fd95d Compare April 13, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants