FutureOS 1.1.0
What's Changed
- feat(loop): enforce scheduler arbitration — CONSISTENCY_REPAIR fails closed by @huichen in #158
- fix(mobile): use github.run_number for store build numbers; pin dev version at 0.0.2 by @tallcode in #160
- fix(tui): keep leading inline styles in tight list items by @huichen in #159
- chore(agent): untrack agent-profile.svg test artifact by @huichen in #161
- feat(loop): per-tool quota at the capability boundary (LoopX 改进项②) by @huichen in #162
- feat(loop): oscillation detection — A→V→A→V signature-pair guard (LoopX 改进项③) by @huichen in #163
- docs(loop): deployment topology — 本地控制平面 + 外部调度器章节(LoopX 对比改进项 ④) by @huichen in #165
- fix(remote): self-heal bridge loops; fix iOS script + mobile progress bar by @tallcode in #164
- feat(loop): reserve optional fencing token in ledger event schema (LoopX ⑤) by @huichen in #166
- docs(loop): long-run evidence ledger + coverage goal entry (LoopX 对比改进项 ⑥) by @huichen in #168
- test(cli): per-line 100% coverage — zero DA:0 lines by @huichen in #167
- docs(loop): future-loop skill field updates from two production goals by @huichen in #169
- refactor(skills): migrate future-loop skill into the skills submodule by @huichen in #170
- test(loop): per-line 100% coverage — zero DA:0 lines by @huichen in #171
- chore(skills): bump submodule — register future-loop in skills.json by @huichen in #172
- fix(loop-cli): P0-3 CLI quirks — strict flags, --help, --format json, resume-when warning by @huichen in #173
- test(desktop): web frontend per-line 100% coverage (cov100) by @huichen in #174
- feat(loop-cli): P1-9 operator journey grouping — future loop commands by @huichen in #175
- feat(loop): P0-1 workspace_guard — multi-agent shared-workspace write-conflict protection by @huichen in #176
- feat(desktop): auto-grow new-conversation composer; first-run language follows OS by @tallcode in #179
- fix: iOS 启动脚本 Bash 3.2 数组修复 + 附件传输进度条位置 by @tallcode in #178
- agent: FUTURE.md 改为带 lint 的记忆索引(细节迁至 .future/memory/) by @huichen in #177
- feat(loop): P0-2 post-delivery outcome closure — delivery_outcome + outcome_followthrough by @huichen in #180
- feat(loop): P1-5 reward_memory phase 1 — signal ingestion + scoped_feedback by @huichen in #181
- feat(loop): P1-1 quota decision read model — error_codes + decision_summary + receipts by @huichen in #182
- feat(loop): P1-2 read-model self-healing — index drift detection + repair + decision_freshness by @huichen in #184
- feat(loop): P1-3 automation_liveness + monitor poll policy executor by @huichen in #185
- feat(loop): P1-4 decision_context deep implementation — assembler + providers + audited outcome feedback by @huichen in #186
- feat(loop): P1-6 canary premerge gate — fast profile + CI merge gate by @huichen in #187
- fix(mobile): remote sync engine + connection FSM (audit 05 P1+P2) by @tallcode in #188
- feat(thread-parity): shared projection package + mobile parity (audit 06 P0+P1) by @tallcode in #190
- feat(mobile): session long-press menu (pin/rename/delete) + pinned sort sync by @tallcode in #191
- agent: 修复并行测试 flake 簇(缓存撕裂写 / 锁中毒级联 / 时间戳路径碰撞) by @huichen in #183
- feat(ci): P1-7 coverage ratchet — per-crate floors + only-up CI gate by @huichen in #189
- chore(skills): bump submodule — future-loop SKILL.md v2.1.0 (wave1 closeout) by @huichen in #192
- ci: split Rust tests (Linux) into 4 parallel per-crate groups by @huichen in #193
- fix(build): install with
install -m 755instead ofcpon macOS by @huichen in #194 - test(remote): per-line 100% coverage for remote/+agent_providers by @huichen in #195
- test(agent): per-line 100% coverage — session_prompt races + commands residuals (cov100) by @huichen in #197
- test(desktop): store/+commands/ per-line 100% coverage (cov100) by @huichen in #196
- build: auto-build thread-projection before desktop/mobile build & start by @tallcode in #198
- fix(tui): real undo stack + kill-ring yank for input line by @huichen in #199
- feat(loop): pr_review_queue capability — queue observation + review contract + work items + CLI by @huichen in #200
- feat(loop): explore capability phase 1 — hypothesis modeling + verification tracking + explore graph by @huichen in #201
- feat(desktop): show Chinese skill category in zh locale by @tallcode in #203
- test(agent): fix flaky future-models refresh tests under parallel load by @tallcode in #204
- test(mobile): per-line 100% coverage for src/remote (cov100) by @huichen in #205
- feat(remote): capability negotiation + mobile parity followups (audit 05/06) by @tallcode in #206
- test(desktop): agent_bridge per-line coverage to DA:0 (cov100 tauri-bridge) by @huichen in #202
- test(desktop): tauri-root per-line coverage wrap-up (drain seams + residual waivers) by @huichen in #207
- feat(mobile): album picker + native toast; drop 2000px receive check by @tallcode in #209
- test(desktop): i18n per-line 100% — navigator throw fallback (cov100 final) by @huichen in #210
- feat(mobile): preview local files linked in markdown by @tallcode in #211
- test(desktop): fix attach_remote_stream flake + cover command wrappers (cov100 final-tauri) by @huichen in #212
- test(loop,tui): workspace per-line residual to DA:0 (cov100 final) by @huichen in #213
- test(desktop): cover async command wrapper arg-deserialization error arms (cov100 final-tauri) by @huichen in #214
- test(desktop): cover commands/review + commands/threads residual (cov100 final-tauri) by @huichen in #215
- test(desktop): cover commands/login + remote + skills + debug residuals (cov100 final-tauri2) by @huichen in #217
- test(desktop): drain root shell residual via testable seams (cov100 final-tauri) by @huichen in #216
- test(desktop): remote/agent_bridge residuals + review flake fixes (cov100 final) by @huichen in #219
- test(desktop): de-flake remote/agent_bridge retry tests (cov100 final-tauri) by @huichen in #218
- refactor(mobile): split RemoteContext and dedupe the remote layer by @tallcode in #220
- test(desktop): cancel leaked observers between agent_bridge tests (cov100) by @huichen in #208
- docs: revamp README feature highlights by @huichen in #222
- fix(agent): drop empty assistant messages from model context by @fgclaw01 in #224
- feat(mobile): add app update reminder (iOS App Store / Android APK) by @tallcode in #225
- test(desktop): commands residual arms + transport-fail mock seam (cov100 finish) by @huichen in #223
- fix(build): bootstrap fresh clone — setup target + missing npm installs by @tallcode in #226
- docs: sharpen hero tagline — one AI agent, everywhere by @huichen in #227
- chore(scripts): move measure-tauri.sh into scripts/ by @huichen in #228
- feat(loop): change_quality deep implementation — change classification + quality signals + risk scoring by @huichen in #229
- feat(loop): content_ops deep implementation — classification + quality signals + ordered operations + surface validation by @huichen in #232
- fix(loop): leased-work quiet wait — never terminal when peers hold leases by @huichen in #230
- test(loop): drain final per-line residual to DA:0 (console/explore/worker_bridge) by @huichen in #234
- refactor(build): npm workspaces + source-direct thread-projection by @tallcode in #231
- test(desktop): clear update.rs residual coverage lines (cov100 finish) by @huichen in #233
- chore(skills): bump future-skills pointer to v2.2.0 (wave3 self-healing docs) by @huichen in #235
- test(mobile): cover replay/useSessionCatalog/pairing/sessionStatus to per-line 100% (cov100 finish) by @huichen in #236
- test(desktop): clear residual observer/review/skills coverage lines (cov100 final-B) by @huichen in #237
- fix(loop): O2 lock liveness — pid lockfiles + zombie takeover for ACTIVE_GOAL_STATE.md.lock by @huichen in #238
- test(desktop): review upsert + skills bootstrap command arms (cov100 finish) by @huichen in #239
- fix(loop): O1 unknown-kind tolerant ledger reads — skip+warn, hard-fail only structural errors by @huichen in #240
- test(loop,cli): drain wave2 content_ops/change_quality/cdp per-line residual to DA:0 (cov100 ws) by @huichen in #241
- feat(loop): O4 todo add --verify advisory hint for code-like todos by @huichen in #244
- test(desktop): cover lib.rs shell loops + emit arms, generic menu/quit, sidecar spawn (cov100 shell) by @huichen in #243
- fix(remote): harden automatic reconnect and user guidance by @tallcode in #242
- feat(loop): O3 idle-turn no-progress detection — TurnNoProgress event + progress tracker by @huichen in #246
- fix(loop): O5 session event-stream gap recovery — 2s backoff + cursor resume retry by @huichen in #247
- fix: restore remote autoconnect and iOS dev builds by @tallcode in #248
- test(desktop): drop executable-sidecar spawn test — poisons shared binaries dir by @huichen in #250
- chore(skills): bump submodule — future-loop SKILL.md v2.3.0 (wave4 G12/G13) by @huichen in #251
- feat(loop): G12 multi_agent subdomain — contract/recipe/succession/wake-roster/collective-turn-ledger by @huichen in #253
- test(desktop): include reply body in set_session_pinned assert by @huichen in #254
- feat(loop): G13 goal_frontier deep implementation — outcome segments / replan rules / semantic history / terminal judgement by @huichen in #255
- refactor(markdown): share parser across desktop and mobile by @tallcode in #256
- Improve mobile remote reliability and iOS polish by @tallcode in #257
- fix: harden Remote self-recovery by @tallcode in #258
- test: clarify Remote status failure handling by @tallcode in #259
- fix(agent): map xhigh reasoning_effort per provider (doubao→high, kimi→xhigh) by @fgclaw01 in #245
- fix(gui): read a lost session as empty instead of "session not found" by @fgclaw01 in #261
- fix(mobile): align recovery actions with desktop by @tallcode in #262
- chore(skills): bump submodule — future-loop SKILL.md v2.4.0 (kernel capability removal) by @huichen in #263
- refactor(loop): remove capability framework — lean kernel by @huichen in #264
- feat(loop): todo-completion contracts — evidence floor + --acceptance tokens by @huichen in #266
- chore(skills): bump submodule — future-loop SKILL.md v2.5.0 (long-drive playbook) by @huichen in #267
- feat(desktop): skill onboarding - guide banner, nav badge/intro bubble, Skills page guide & try-it by @jiangzhuqing000 in #265
- fix(providers): centralize config updates in agent by @tallcode in #269
- test(agent): serialize reload-credentials tests (parallel CI flake) by @huichen in #271
- ci: remove coverage ratchet gate from CI by @huichen in #270
- feat(desktop): release phone remote control (login-gated), trim copy, gate publish on iOS by @tallcode in #272
- feat(loop): lease liveness — dead-holder leases auto-reclaimed via pid probe by @huichen in #268
New Contributors
- @jiangzhuqing000 made their first contribution in #265
Full Changelog: v1.0.8...v1.1.0