Skip to content

chore: release#1994

Open
github-actions[bot] wants to merge 1 commit intomainfrom
release-plz-2026-04-28T11-23-31Z
Open

chore: release#1994
github-actions[bot] wants to merge 1 commit intomainfrom
release-plz-2026-04-28T11-23-31Z

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

🤖 New release

  • rara-api: 0.0.1
  • base: 0.0.1 -> 0.0.2
  • common-runtime: 0.0.1
  • common-telemetry: 0.0.1
  • common-worker: 0.0.1
  • rara-browser: 0.0.1
  • rara-domain-shared: 0.0.1
  • rara-model: 0.0.1
  • rara-paths: 0.0.1
  • rara-soul: 0.0.1
  • rara-stt: 0.0.1
  • rara-tool-macro: 0.0.1
  • yunara-store: 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-git: 0.0.1
  • rara-sessions: 0.0.1
  • rara-skills: 0.0.1
  • rara-backend-admin: 0.0.1
  • rara-codex-oauth: 0.0.1
  • rara-kimi-oauth: 0.0.1
  • rara-error: 0.0.1
  • rara-server: 0.0.1
  • rara-app: 0.0.1
  • rara-cli: 0.0.1
  • crawl4ai: 0.0.1
Changelog

rara-api

[0.0.1] - 2026-04-28

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
  • api: Remove execution worker proto and abstraction (#1909) (#1910)

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-28

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-28

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-telemetry

[0.0.1] - 2026-04-28

Bug Fixes

  • telegram: Harden tool-call XML stripping for streaming edge cases (#314)
  • telemetry: Disable HTTP proxy for OTLP exporter (#1928) (#1931)
  • telemetry: Use blocking reqwest client for OTLP exporters (#1960) (#1962)
  • telemetry: Build OTLP blocking client before tokio runtime (#1982) (#1993)

Documentation

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

Features

  • job-source: Add site selection support and improve observability
  • telemetry: Integrate Langfuse LLM observability via OTLP (#253)
  • Load app config from consul kv via rs-consul
  • telemetry: Export OTLP traces to self-hosted Langfuse (#1855) (#1859)
  • telemetry: Integrate Pyroscope continuous profiling (#1857) (#1862)
  • telemetry: Adopt OTel GenAI + OpenInference semconv on spans (#1856) (#1863)
  • telemetry: Export OTLP logs to self-hosted Loki (#1949) (#1952)

Miscellaneous Tasks

  • Establish job backend baseline
  • Format
  • Rename to rara
  • Format
  • Format
  • Clean
  • Add tool timeout
  • Support composio config
  • 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
  • Remove rara-k8s crate and clean up unused infrastructure
  • telemetry: Migrate metrics from Prometheus pull to OpenTelemetry push (#568)
  • Fix naming conventions and convention drift (#1032) (#1035)

common-worker

[0.0.1] - 2026-04-28

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)
  • api: Remove execution worker proto and abstraction (#1909) (#1910)

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-28

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-28

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)
  • app: Remove rara-composio integration (#1894) (#1899)

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
  • kernel: Unified background-agent framework (#1631) (#1650)
  • kernel: Agent fallback chain (#1670) (#1671)

rara-model

[0.0.1] - 2026-04-28

Bug Fixes

  • pipeline: Move migration to centralized rara-model/migrations dir
  • resume: Move migration to centralized directory
  • resume: Rename migration to avoid timestamp conflict with pipeline_runs_events
  • telegram: Pre-render trace HTML for instant callback response (#343)
  • kernel: Add feed dispatch task, SqliteFeedStore, and sync registry with admin routes (#1419)

Documentation

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

Features

  • sessions: Add sessions crate and chat HTTP API (#108)
  • typst: Add Typst compilation service (#126)
  • typst: Add Git repository import and sync (#133)
  • skills: Add PG-backed skill cache for fast startup (#182)
  • coding-task: Implement Agent Gateway Phase 1 (#208)
  • contacts: Add telegram contacts allowlist (#232)
  • boot: Add PgUserStore + kernel_users migration (#363)
  • boot: Implement PgOutboxStore for durable message delivery (#417)
  • user: Backend auth — JWT + user domain crate (#428)
  • pg-credential-store: PgKeyringStore backed by PostgreSQL (#452)
  • model: Add memory_items table for knowledge layer (#81)
  • kernel: Add SQLite FTS5 index for tape-search (#1399) (#1414)
  • kernel: Jieba pre-segment tape fts (#1577) (#1578)

Miscellaneous Tasks

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

Refactor

  • Decouple telegram bot with grpc/http boundary (#94)
  • sessions: Use JSONL files for message storage and add docs
  • Migrate to reversible migrations, use paths crate for sessions dir, simplify store
  • typst: Switch to local filesystem mode for Typst projects (#136)
  • Add keyring-store crate, process group utils, layer READMEs, and dep upgrades
  • job: Remove saved jobs feature (#236)
  • model: Inline rara-model types into remaining crates (#238)
  • Remove job pipeline module and related code
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • store: Migrate yunara-store and migrations from PostgreSQL to SQLite
  • Remove telegram contacts subsystem
  • db: Migrate sqlx consumers to diesel (#1702) (#1737)
  • db: Squash migrations into single init baseline (#1740) (#1742)
  • db: Catch up with main and port new sqlx code (#1744) (#1746)
  • data-feed: Snafu errors + admin gating (#1739) (#1782)

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-28

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-28

Bug Fixes

  • drivers: Structured STT errors with retry for transient failures (#1164) (#1168)
  • ci: Fix rust 1.95 clippy lints (#1667) (#1668)

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
  • tests: Drop scripted-LLM e2e and wiremock-based tests (#1930) (#1933)

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-28

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)

yunara-store

[0.0.1] - 2026-04-28

Bug Fixes

  • app: Connection pool timeout and Ctrl+C shutdown panic (#296)
  • store: Remove unused diesel postgres linkage (#1759)
  • store,kernel: Root-cause SQLite writer contention causing silent trace loss (#1843) (#1845)

Documentation

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

Features

  • store: Add domain models and database schema for job automation platform
  • resume: Implement resume version management domain layer (#8)
  • Full-stack integration — DB repos, REST API, Docker Compose, app wiring
  • Notify & scheduler modules with background workers and API routes

Miscellaneous Tasks

  • Establish job backend baseline
  • Clean
  • Refactor
  • Refactor
  • Refactor
  • Rename to rara
  • Change default HTTP port from 3000 to 25555
  • Make lint pass across workspace
  • Format
  • Clean repo
  • Clean
  • Unify all crate versions to 0.0.1 (#388) (#389)
  • Add missing AGENT.md files for all crates (#535) (#539)

Refactor

  • store: Migrate yunara-store to Postgres
  • yunara-store: Remove domain repos, models, and conversions (#40)
  • Remove stale ai_run and prompt_template tables and models
  • Decouple telegram bot with grpc/http boundary (#94)
  • Realign domain boundaries and rename domain crates
  • yunara-store: Remove dead business model code
  • Unify runtime state into AppState with init() and routes()
  • Migrate to reversible migrations, use paths crate for sessions dir, simplify store
  • kernel: Consolidate queue/KV/LLM subsystems, remove rara-queue crate
  • store: Migrate yunara-store and migrations from PostgreSQL to SQLite
  • config: Add Serialize derive to all AppConfig types (#121)
  • Fix naming conventions and convention drift (#1032) (#1035)
  • db: Migrate sqlx consumers to diesel (#1702) (#1737)

Testing

  • config: Add integration test for ConfigFileSync file→KV sync (#121)

rara-kernel

[0.0.1] - 2026-04-28

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)
  • kernel: Deliver scheduled task result to origin session (#1360) (#1362)
  • kernel: Relax loop breaker flooding thresholds and exempt read-only tools (#1359) (#1361)
  • kernel: Return Err(Interrupted) for new-message interrupt path (#1372) (#1373)
  • kernel: Close spawn_child race that leaks child semaphore permits (#1376) (#1378)
  • kernel: Add deferred tier to task and spawn-background tools (#1375) (#1377)
  • kernel: Add feed dispatch task, SqliteFeedStore, and sync registry with admin routes (#1419)
  • kernel: Classify SSE transport errors as retryable (#1422) (#1424)
  • kernel: Session title stuck as Untitled after switching (#1433) (#1436)
  • kimi-oauth: Add User-Agent header and filter empty assistant messages (#1434) (#1435)
  • kimi-oauth: Clear frequency_penalty for Kimi code models (#1442) (#1443)
  • kernel: Persist reasoning_content in Message for thinking mode (#1445) (#1447)
  • kernel: Persist reasoning_content in Message for thinking mode (#1445) (#1452)
  • kernel: Polling feed stops after first event due to missing HTTP timeout (#1449) (#1450)
  • kernel: Persist reasoning_content in Message for thinking mode (#1445) (#1453)
  • channels: Route ask-user question back to originating Telegram topic (#1461) (#1462)
  • channels: Harden ask-user — identity gate, sensitive DM routing, inline options (#1464) (#1465)
  • channels: Route guard approval back to origin topic + identity gate (#1466) (#1467)
  • kernel: Raise StreamHub broadcast capacity to avoid dropped text deltas (#1473) (#1479)
  • kernel: Tool_call_id mismatch after interrupt causes Kimi 400 (#1487) (#1489)
  • kernel: Separate session reap from list() (#1491) (#1494)
  • kernel: Deliver outbound envelopes for web-originated messages (#1499) (#1500)
  • kernel: Auto-register non-web endpoints on ingress (#1511) (#1515)
  • channels: Identity gate compares kernel UserId, not platform id (#1533) (#1536)
  • llm: Gpt-5.4 reasoning effort clamp (#1567) (#1568)
  • web: Surface agent errors via WebEvent (#1573) (#1574)
  • kernel: Persist error in rt.result on turn failure (#1501) (#1502)
  • ci: Fix rust 1.95 clippy lints (#1667) (#1668)
  • kernel: Strip narrator prefixes and strengthen title_gen prompt (#1787) (#1791)
  • store,kernel: Root-cause SQLite writer contention causing silent trace loss (#1843) (#1845)
  • kernel,channels: Emit TextClear on laziness nudge to clear stale stream text (#1852) (#1860)
  • kernel: Split title prompt into system + user messages (#1870) (#1871)
  • kernel,web: Structured LLM error surfacing and suppress empty failure traces (#1926) (#1938)
  • kernel: Inherit parent session LLM override on spawn_agent (#1932) (#1934)
  • kernel: Resolve subagent LLM overrides via parent-chain walk (#1958) (#1959)
  • kernel: Redirect rara_paths in TestKernelBuilder for ARC runner (#1989) (#1992)
  • kernel: Isolate lane-2 e2e test paths to tempdir (#1987) (#1988)
  • kernel: Suppress whitespace-only assistant tape entries (#1979) (#1986)
  • kernel,channels: Demote three heartbeat log sources flooding Loki (#1976) (#1983)

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)
  • kernel: Rewrite delegation tools and tool tier docs in AGENT.md (#1382)

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 (#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](https://github.com/

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