更新日志
知是每一版变了什么
按版本列出你用得到的变化,写成人话;每一条都链到对应的 PR。完整的改动清单在每个版本末尾展开。
未发布09/23 之后已在测试环境,下次正式发布时带上1156 项改动
全部 1156 项改动
- fix(ui): show handles without @, keep @ for display names#2784 · 2026-10-05
- fix(agent): give every subagent the step-title language rule#2759 · 2026-10-05
- feat(notification): give the notification email its content and a real layout#2780 · 2026-10-05
- fix(gateway): list deepseek-flash at the input size DeepSeek accepts#2786 · 2026-10-05
- fix(teams): invite a team member by username or email#2783 · 2026-10-05
- fix(notifications): answer a team invitation from its notification#2782 · 2026-10-05
- feat(docs): serve the docs on their own host, signed in through the platform#2756 · 2026-10-05
- docs(edge): a Beijing edge for okcheese, held off the public until filing#2775 · 2026-10-05
- fix(solutions): offer only what the product does#2779 · 2026-10-05
- fix(room): name the room teammate in the start checklist#2774 · 2026-10-05
- fix(home): list a team in the sidebar once it is created or joined#2771 · 2026-10-05
- fix(device): give the rolling backend each machine's connector target#2776 · 2026-10-05
- fix(spaces): read the AI teammate guidance back in the shape it is written#2773 · 2026-10-05
- fix(skills): take Cheese-only recipes and paths out of the platform skills#2777 · 2026-10-05
- fix(agent): stop telling hosted repos about files and commands they lack#2772 · 2026-10-05
- feat(home): type kinds of project into the hero sentence, and set the film beside the manifesto#2738 · 2026-10-05
- fix(cleanup): an archived room's unpushed work waits in its archive, never on a gone host#2763 · 2026-10-05
- docs(rules): keep only project facts in the frontend rules#2765 · 2026-10-05
- fix(machine): a claim whose backend is gone lapses within 30s#2762 · 2026-10-05
- fix(harness): a session owing a reply may read the room it owes it in#2761 · 2026-10-05
- fix(metering-proxy): stop the turn when a model's subscription plan is spent#2760 · 2026-10-05
- fix(feedback): change a status from the server without anyone's token#2758 · 2026-10-05
- feat(library): documents in the library, made and edited by 芝士 from a conversation#2718 · 2026-10-05
- feat(home): show what teachers, students, office and dev teams do here#2755 · 2026-10-05
- docs: point agents at the company's Feishu knowledge, and set up lark-cli in one task#2745 · 2026-10-05
- docs: keep the Fixes-feedback convention with this project, not the platform skill#2753 · 2026-10-05
- feat(docs-site): restyle the docs on the product design system#2752 · 2026-10-05
- fix(auth): refuse a removed agent's session credential on the model channel and executor routes#2748 · 2026-10-05
- fix(execution): run the pinned claude once, not on every room preparation#2751 · 2026-10-05
- feat(cloud): give a session a whole cloud VM of its own#2737 · 2026-10-05
- fix(cloud): dial the model tunnel through the loopback forward#2750 · 2026-10-05
- feat(edge): answer okcheese.com static assets from the Hong Kong box#2708 · 2026-10-05
- fix(cloud): put an archived room's sandbox to sleep instead of failing the sweep#2749 · 2026-10-05
- feat(cloud): place sessions on a platform-owned pool of cloud hosts#2591 · 2026-10-05
- fix(sync): cap a task backup's untracked files so build output stays out#2747 · 2026-10-05
- fix(ask): a question asked during a backend handover waits for the takeover#2692 · 2026-10-05
- test(gateway): measure the spend read's loop stall in CPU time, at every pass#2746 · 2026-10-05
- test(input): inject the commit fault only into the call under test#2735 · 2026-10-05
- perf(agent): start an idle-released session when its room is opened or typed in#2741 · 2026-10-05
- test(topics): measure the wait read's loop stall in CPU time, at every pass#2744 · 2026-10-05
- feat(teams): type the team name to disband it#2742 · 2026-10-05
- fix(ask): a turn the orphan sweep re-sends no longer blocks its seat's questions#2696 · 2026-10-05
- fix(agent): read owns_sessions as the property it is in prewarm_due#2743 · 2026-10-05
- fix(ui): right-click opens a row's actions everywhere; a team with only archived projects can be disbanded#2730 · 2026-10-05
- fix(machine): a lease claim ends with its installation, not its request#2720 · 2026-10-05
- perf(feedback): find a room's proposal cards in SQL, not among all its blocks#2731 · 2026-10-05
- perf(agent): restart a quiet session after a release instead of on its next message#2733 · 2026-10-05
- perf(device): answer serves_project for the one machine asked about#2732 · 2026-10-05
- test(chat): the typing-preview spec loads the Markdown reader first#2727 · 2026-10-05
- fix(gateway): spend equal but for float rounding is not a regression#2739 · 2026-10-05
- fix(agent): a broken model stream is retried as a stream, never resent plain#2723 · 2026-10-05
- fix(room): the session controls list a room's teammates and read the one named#2721 · 2026-10-05
- fix(cli): another worktree beside a task commits without the task's hooks#2714 · 2026-10-05
- fix(files): list a committed tree in one recursive read, with a deadline#2711 · 2026-10-05
- fix(pwa): reload on navigation only when this page runs an older build#2699 · 2026-10-05
- fix(cli): the platform CLI starts on macOS system Python 3.9#2697 · 2026-10-05
- fix(chat): a topic opened at the bottom stays at the bottom#2693 · 2026-10-05
- fix(room): announce a dropped room socket only once it stays down#2691 · 2026-10-05
- test(agent): name the real source of the second busy HTTP turn row#2690 · 2026-10-05
- fix(agent): tell subagents and workflow agents what language step titles use#2688 · 2026-10-05
- fix(room): keep each working teammate on its own line under the composer#2686 · 2026-10-05
- fix(web): a page whose code will not load says so instead of bouncing back#2725 · 2026-10-05
- perf(gateway): read a key's daily spend from LiteLLM's daily totals#2729 · 2026-10-05
- feat(cli): add cheese check to render and inspect a page#2676 · 2026-10-05
- perf(topics): bind room and turn lists as one array in the wait reads#2724 · 2026-10-05
- feat(home): show the 众智成事 film below the hero#2726 · 2026-10-05
- fix(room): fill the opening chat pane before it is revealed#2719 · 2026-10-05
- fix(web): a prefetch never reloads the page, and a stale route loads its target#2707 · 2026-10-05
- feat(frontend): in-place load errors on empty/loading surfaces#2704 · 2026-10-05
- feat(web): cold-start skeleton shell and a file-preview loading state#2722 · 2026-10-05
- feat(device): isolate sessions on enrolled Linux machines by default#2606 · 2026-10-05
- feat(teams): owners can transfer or disband a team; leave-project follow-ups#2687 · 2026-10-05
- refactor(web): unify the admin area onto the base components#2716 · 2026-10-05
- fix(deploy): hand the running work over when traffic leaves a backend#2698 · 2026-10-05
- fix(web): draw one avatar per teammate in the topic rail#2705 · 2026-10-05
- fix(agent): a refused memory names a copy the agent can read#2712 · 2026-10-05
- perf(agent): index the mirror's work stamp so recovery stops scanning it#2709 · 2026-10-05
- fix(executor): take the host's stop on Windows, and back off a refused one#2702 · 2026-10-05
- feat(skills): deliver session bundles by content hash#2679 · 2026-10-05
- docs(edge): okcheese.com TLS ends on the Hong Kong box#2701 · 2026-10-05
- feat(web): export a whole project from project settings#2689 · 2026-10-05
- perf(machine): build the executor payload off the event loop#2695 · 2026-10-05
- fix(agent): a turn whose end was read too late still ends#2694 · 2026-10-05
- fix(web): put the settings close control top-left as a back arrow#2677 · 2026-10-05
- feat: compare document versions; list and restore library file versions#2681 · 2026-10-05
- fix(executor): stop an old executor whose state was named by descriptor#2684 · 2026-10-05
- refactor(web): finish page-skeleton adoption; add AppPage wide tier#2682 · 2026-10-05
- fix(web): explain session restore and survive a failed refresh#2680 · 2026-10-05
- fix(deploy): restart a runner that stays active but stops talking to GitHub#2685 · 2026-10-05
- feat(doc): address every document surface by document id#2678 · 2026-10-05
- feat(skills): add showcase skill for human-facing pages#2671 · 2026-10-05
- feat(skills): redo the skills page, one body per skill, files stored by content, import#2667 · 2026-10-05
- fix(agent): an Ask answer waits for its session, then gives up on it#2675 · 2026-10-05
- perf(frontend): skip off-screen doc blocks and timeline notice rows#2673 · 2026-10-05
- fix(room): stop an agent's running turn when it is taken off the room#2665 · 2026-10-04
- feat(web): add first-run start paths and in-project checklist#2669 · 2026-10-04
- feat(doc): an outline and an in-document find bar#2670 · 2026-10-04
- fix(web): closing settings after visiting the market returns to it#2672 · 2026-10-04
- fix(agent): settle the rounds a failure left open and their inputs#2668 · 2026-10-04
- fix(web): phone tab bar overflow, touch targets, delete confirm#2666 · 2026-10-04
- feat(web): keyboard shortcut sheet for the main app; G N for the rail#2657 · 2026-10-04
- feat(web): find in view on the board, search in the settings index#2663 · 2026-10-04
- feat(topic): mute a room for yourself and mark all rooms read#2661 · 2026-10-04
- fix(frontend): space audit crash, admin links, redirects, machine IP#2664 · 2026-10-04
- perf(web): batch timeline first paint and unify data tables#2649 · 2026-10-04
- fix(chat): reach message actions from the keyboard#2662 · 2026-10-04
- fix(room,inbox): header badge, batch read, question deep link#2659 · 2026-10-04
- feat(agent): a teammate proposes project skills, and a person decides in the room#2646 · 2026-10-04
- fix(doc): lock the documents migration's foreign-key targets first too#2660 · 2026-10-04
- feat(web): view transitions, timeline announcements, tab keyboard semantics#2652 · 2026-10-04
- perf(frontend): optimistic actions and off-screen content-visibility#2654 · 2026-10-04
- refactor(ui): align destructive, copy, and load-state affordances#2658 · 2026-10-04
- fix(palette): 归档的话题不再出现在「等你处理」里#2656 · 2026-10-04
- test(agent): fix the four turn tests that fail under CI load#2655 · 2026-10-04
- fix(doc): take the documents migration's locks before it writes#2653 · 2026-10-04
- fix(board): never show a 0 count before the board data lands#2651 · 2026-10-04
- fix(a11y): restore keyboard focus across dialogs, doc editor, composer#2644 · 2026-10-04
- feat(agent): questions to a session are read to their end across backend restarts#2648 · 2026-10-04
- fix(assistant): charge a person's model calls by their credential, not by an open question#2641 · 2026-10-04
- feat(web): cache work-panel data per topic and warm next routes when idle#2645 · 2026-10-04
- feat(web): unify empty states behind BaseEmptyState#2643 · 2026-10-04
- refactor(doc): documents get their own table; rooms point at theirs#2631 · 2026-10-04
- ci: shorten the frontend unit tests and balance the e2e shards#2647 · 2026-10-04
- feat(settings): unify save feedback behind one composable#2640 · 2026-10-04
- perf(frontend): take the shared runtime helpers out of the marked chunk#2629 · 2026-10-04
- fix(agent): a message read inside a running turn ends with it on any backend#2598 · 2026-10-04
- perf(doc): drop duplicate room-doc reads on topic open#2633 · 2026-10-04
- fix(chat): keep newest visible block when returning to latest#2636 · 2026-10-04
- fix(cheese): end the serve readiness wait on any answer, survive non-HTTP ports#2619 · 2026-10-04
- feat(agent-settings): basic and advanced teammate settings, no memory row#2628 · 2026-10-04
- fix(virtual-list): measure and pass startMargin so shared-scroller lists do not go blank#2637 · 2026-10-04
- fix(web): unify layout breakpoints, admin columns, tap targets#2634 · 2026-10-04
- feat(chat): paste images, upload progress, long paste, copy link#2630 · 2026-10-04
- feat(preview): quote elements and text picked inside web previews#2624 · 2026-10-04
- feat(agent): a teammate's thinking effort and compaction share reach Claude Code#2623 · 2026-10-04
- fix(gateway): name the Claude Code session on requests to ChatGPT#2635 · 2026-10-04
- refactor(agent): move the room turn out of chat.py into room/turn.py#2632 · 2026-10-04
- feat(preview): follow a freshly shown preview at once#2620 · 2026-10-04
- refactor(agent): rules in the system prompt, state in the session opening, skills by task#2604 · 2026-10-04
- perf(workspace): cut duplicate and eager requests on topic switch#2627 · 2026-10-04
- fix(web): default the API base so avatar URLs are never relative#2617 · 2026-10-04
- feat(agent): questions wait for a full session host and can be stopped#2626 · 2026-10-04
- feat(chat): polish reply markdown and fold very long replies#2625 · 2026-10-04
- fix(machine): keep waiting when a lease request times out; add cheese_wait_machine#2618 · 2026-10-04
- perf(frontend): virtualize long diff/library lists, cap site history#2614 · 2026-10-04
- fix(ui): show an inline load error with retry instead of an empty block#2601 · 2026-10-04
- perf(doc): load the Markdown reader when something is first drawn#2616 · 2026-10-04
- fix(pwa): let installer downloads bypass the service worker#2622 · 2026-10-04
- feat(doc): pick a person with @ and a topic with # in a document#2621 · 2026-10-04
- fix(workspace): tablet overlay follow-ups for panel and sidebar#2615 · 2026-10-04
- fix(mobile): honor iPhone safe-area insets across the app shell#2600 · 2026-10-04
- build(frontend): keep Monaco and the editor off the first paint under Rolldown#2613 · 2026-10-04
- test(agent): settle the two-input execution before letting go of it#2612 · 2026-10-04
- refactor(agent): rooms drive their sessions through the session core#2605 · 2026-10-04
- fix(ui): right-click row menus, leaving a team, one-person rooms no longer block leaving a project#2610 · 2026-10-04
- feat(layout): pin settings nav left, center the 720 content column#2609 · 2026-10-04
- feat(panel): move the room's files to the overview, folded by default#2608 · 2026-10-04
- feat(workspace): collapse sidebar and sheet the panel at tablet widths#2607 · 2026-10-04
- chore(gateway): upgrade LiteLLM to 1.103.3#2596 · 2026-10-04
- fix(frontend): cap wide-screen widths on space, board, chat, docs#2603 · 2026-10-04
- fix(composer): keep failed uploads for retry and finish the @ picker#2602 · 2026-10-04
- fix(gateway): read a day of spend page by page, on an index#2595 · 2026-10-04
- feat(doc): read Markdown outside the editor the way a document reads it#2563 · 2026-10-04
- build(frontend): move to Vite 8 so the image build stops running out of memory#2599 · 2026-10-04
- feat(room): show the agent's current step and a no-output stall#2593 · 2026-10-04
- feat(cloud): give each sandbox its own network, limits and seccomp filter#2590 · 2026-10-04
- perf(frontend): self-host mono font, defer eager entry deps#2594 · 2026-10-04
- fix(panels): real clamp for long site entries, numbered wrapped diffs#2592 · 2026-10-04
- feat(ui): add BaseField and SettingsRow, counters and required marks#2587 · 2026-10-04
- fix(credits): include subscription models in plan descriptions#2507 · 2026-10-04
- feat(cloud): run each session's executor in a bubblewrap sandbox#2584 · 2026-10-04
- feat(ui): rail project signals, last topic, unread filter, archive undo#2588 · 2026-10-04
- fix(ui): phone nav, quieter quota notice, plainer account copy#2586 · 2026-10-04
- refactor(ui): make row delete triggers ghost and spell out transitions#2583 · 2026-10-04
- fix(agent): a turn whose inputs cannot be proven still ends, and the turns it left open are ended#2589 · 2026-10-04
- fix(ask): one height rule for the takeover panel, capped by the column#2585 · 2026-10-04
- fix(ui): nine more real-render defects (site log, admin grid, phone layouts)#2582 · 2026-10-04
- feat(ui): virtualize long topic rails and the board's done list#2581 · 2026-10-04
- fix(agent): end the turns of messages answered inside another turn#2571 · 2026-10-04
- style(ui): z-index ladder and no shadows on in-flow cards#2580 · 2026-10-04
- refactor(ui): standard dialogs - ConfirmDialog, three width tiers, migrate 47 files#2578 · 2026-10-04
- fix(ui): ten real-render defects on phone widths and the board#2579 · 2026-10-04
- feat(deploy): serve previews from a standing owner so deploys stop dropping them#2577 · 2026-10-04
- feat(room): add error boundary and cap the timeline window#2576 · 2026-10-04
- feat(a11y): skip link, reduced-motion scroll, hidden h1s, focus return#2575 · 2026-10-04
- feat(layout): center the settings overlay nav and content as one group#2573 · 2026-10-04
- fix(ask): take over the composer for a group asked outside the loaded window#2574 · 2026-10-04
- fix(chat): a page connecting is told about turns this backend never saw start#2572 · 2026-10-04
- fix(preview): follow an app that restarted instead of leaving the panel dead#2557 · 2026-10-04
- refactor(ui): migrate remaining buttons to BaseButton and lint raw v-btn#2562 · 2026-10-04
- fix(ask): the takeover panel shrinks with the column instead of pushing past it#2558 · 2026-10-04
- fix(preview): answer an unreachable app with a waiting page, not a 404#2556 · 2026-10-04
- style(type): add CJK autospace and stop synthetic bold#2566 · 2026-10-04
- fix(harness): an error ends the work though a background task runs on#2570 · 2026-10-04
- fix(metering-proxy): refuse a spent budget as a reached cap, not throttling#2568 · 2026-10-04
- fix(chat): a replayed turn no longer lands out of order and stalls paging back#2569 · 2026-10-04
- fix(ask): a click on the already-picked option is a confirmation#2553 · 2026-10-04
- fix(gateway): keep the budget brake's spend counters in Redis#2567 · 2026-10-04
- fix(members): name unnamed rooms and say "topic" in the sole-owner refusal#2565 · 2026-10-04
- feat(feedback): let agents read the feedback center from a platform room#2564 · 2026-10-04
- fix(build): give the frontend image build a bigger heap than 4 GB#2561 · 2026-10-04
- docs: write PR descriptions in Chinese, and say so in the tool schema#2560 · 2026-10-04
- fix(preview): queue page requests for a busy helper instead of 404ing#2555 · 2026-10-04
- fix(ask): stop the takeover panel from being squeezed by the timeline#2552 · 2026-10-04
- perf(frontend): prebundle every vuetify component a template can render#2559 · 2026-10-04
- feat(ui): add BaseButton and migrate settings and project pages#2548 · 2026-10-04
- refactor(agent): a room hears its sessions through one reader#2554 · 2026-10-04
- fix(ask): the takeover panel fills the composer slot and scrolls instead of clipping#2550 · 2026-10-04
- fix(chat): float message actions above the row instead of reserving a header for them#2551 · 2026-10-04
- feat(doc): charts, mermaid diagrams and table handles in documents#2547 · 2026-10-04
- fix(chat): keep the hover bar out of scroll anchoring#2549 · 2026-10-04
- refactor(agent): a session core on the session host; questions run on it#2546 · 2026-10-04
- feat(preview): give every previewed HTML page the runtime, and let ESC hand back#2545 · 2026-10-03
- fix(feedback): name timeline rungs by where the report stands#2544 · 2026-10-03
- fix(web): make every topic row a tab stop, not just the first#2543 · 2026-10-03
- feat(ask): 提问面板接管底部输入框(对齐 Codex 桌面版)#2542 · 2026-10-03
- fix(nav): let the declared parent win over browser history#2535 · 2026-10-03
- refactor(agent): move the document and personal agents into domain/agent#2540 · 2026-10-03
- feat(preview): carry the words around a selected slide passage#2541 · 2026-10-03
- feat(doc): text blocks in documents, edited in place, with a writing guide#2538 · 2026-10-03
- feat(preview): send table cells and text passages as structured quotes#2536 · 2026-10-03
- fix(preview): keep the locator bar from covering the room's files#2537 · 2026-10-03
- feat(agent): a question's tools act for the asker through the platform's routes#2534 · 2026-10-03
- fix(preview): let a link in the preview frame open its new tab#2533 · 2026-10-03
- fix(nav): pair every in-app exit with the entry that made it#2532 · 2026-10-03
- fix(web): stop an empty topic group from being a tab stop#2526 · 2026-10-03
- refactor(agent): admit every agent's turn through one Valkey queue#2531 · 2026-10-03
- fix(desktop): let a link in the page open in the browser#2529 · 2026-10-03
- refactor(usage): charge every gateway key's spend one way#2528 · 2026-10-03
- fix(remote-execution): accept isolation and run the subagent#2522 · 2026-10-03
- fix(metering): a haiku-class child model is inherited, not named#2525 · 2026-10-03
- feat(i18n): name a teammate nobody renamed in the reader's language#2524 · 2026-10-03
- refactor(i18n): move say() into app.core.sentences#2521 · 2026-10-03
- test(teaching): pin that a later edit reaches an existing project#2527 · 2026-10-03
- fix(web): close the account avatar tooltip when the pointer leaves it#2523 · 2026-10-03
- feat(ask): grouped question flow with Codex-style interaction and native continuation#2213 · 2026-10-03
- refactor(spaces): make the guidance page a form page, not a list page#2519 · 2026-10-03
- feat(preview): forward host shortcuts pressed while a frame has focus#2520 · 2026-10-03
- feat(spaces): add a reference count to the material list#2513 · 2026-10-03
- fix(preview): budget the navigation wait, longer for an app#2518 · 2026-10-03
- fix(i18n): say every refusal the API raises, and fail on a new Chinese one#2514 · 2026-10-03
- test(e2e): an English account sees no Chinese on the main screens#2517 · 2026-10-03
- feat(docs): the document's 芝士 reads the room's work and looks up the project#2516 · 2026-10-03
- fix(i18n): say the domain layer's refusals from the catalog#2515 · 2026-10-03
- fix(device): wait out a reconnect before calling a machine offline#2486 · 2026-10-03
- fix(spaces): pick teaching materials from the library#2491 · 2026-10-03
- feat(feedback): claim a report so two people do not fix the same thing#2501 · 2026-10-03
- feat(i18n): make both i18n gates strict, with no exception lists#2512 · 2026-10-03
- docs(infrastructure): no running owner is reached by an ordinary deploy#2511 · 2026-10-03
- fix(panels): a log at its newest line stays there when the pane resizes#2509 · 2026-10-03
- fix(chat): paging back through history no longer blanks or pulls the reader#2504 · 2026-10-03
- style(chat): read the message flow at 15/24#2508 · 2026-10-03
- fix(checklist): copyable in the desktop app, and progress folds open#2505 · 2026-10-03
- fix(machine): delete a left VM again when its accepted delete failed#2506 · 2026-10-03
- fix(teams): an approval answered with 204 counts as done#2503 · 2026-10-03
- feat(docs): floating cards, a thread comment panel, and comments anchored by marks#2500 · 2026-10-03
- fix(harness): a message taken into the running turn ends when that turn ends#2502 · 2026-10-03
- fix(device): compare a connector with the build the origin publishes#2487 · 2026-10-03
- fix(preview): deny device features on the content origin itself#2496 · 2026-10-03
- fix(notifications): a typed reply answers the question it follows#2497 · 2026-10-03
- fix(web): a working teammate's avatar keeps its accessible name while the seconds tick#2499 · 2026-10-03
- fix(deploy): give device-connection the host-gateway entry#2498 · 2026-10-03
- fix(harness): count a session as used when it writes, not when the runner looks#2495 · 2026-10-03
- fix(skills): the wolfram skill reads no settings from the project or environment#2490 · 2026-10-03
- test(pi): run the pinned pi or say it is not#2494 · 2026-10-03
- feat(i18n): write push and desktop notices in each recipient's language#2443 · 2026-10-03
- fix(chat): keep a message in place when its pending row is replaced#2492 · 2026-10-03
- test(preview): cross the millisecond before pressing on a just-mounted region#2489 · 2026-10-03
- test(extension): stop leftover commands and sockets when a test fails#2488 · 2026-10-03
- feat(skills): ship the wolfram skill to a room's machine#2393 · 2026-10-03
- refactor(chat): move memory reconciliation and dreams into memory_ledger#2484 · 2026-10-03
- fix(i18n): send callback results and stream errors as sentence keys#2441 · 2026-10-03
- test(assistant): hold the fake model's answer until its first words are seen#2485 · 2026-10-03
- fix(i18n): name unnamed tasks and rooms per reader in every listing#2467 · 2026-10-03
- fix(i18n): pass lists in sentences as items, joined per reader#2481 · 2026-10-03
- fix(i18n): key the admin refusals and the form rules a person can break#2471 · 2026-10-03
- test(chat): pin one live turn per seat when two requests race it#2483 · 2026-10-03
- feat(preview): 在 markdown 里选中一段话也能指给芝士#2482 · 2026-10-03
- feat(docs): ask the AI teammate from the document in a session of its own#2480 · 2026-10-03
- feat(credits): count credits in points of one cent and show amounts#2463 · 2026-10-03
- refactor(routes): split users.py into a package, order preserved#2479 · 2026-10-03
- docs(preview): 查看器一节补上表格的读法与边界#2478 · 2026-10-03
- feat(preview): cap a large sheet, show source, accept tsv/ods/xlsm#2476 · 2026-10-03
- refactor(routes): split tasks.py into a package, order preserved#2477 · 2026-10-03
- feat(preview): point at a spot on a page, with a screenshot#2473 · 2026-10-03
- feat(docs): answer a comment that names the AI teammate in its thread's own session#2457 · 2026-10-03
- feat(preview): a slide selection is quoted with its file identity#2465 · 2026-10-03
- feat(preview): three redact styles plus block-pick redaction#2474 · 2026-10-03
- refactor(tasks): sink the task routes' logic into domain/task#2475 · 2026-10-03
- feat(preview): object-level editing for image annotations#2466 · 2026-10-03
- fix(web): dropdowns in settings open visibly; a removed main model shows as saved#2459 · 2026-10-03
- fix(space): keep admins-only 课件 out of a project's teaching materials#2472 · 2026-10-03
- fix(auth): take who is acting from the credential, never the body#2394 · 2026-10-03
- refactor(review): split the accept services module into a package#2469 · 2026-10-03
- fix(web): one teammate is one avatar on a topic rail row#2452 · 2026-10-03
- test(preview): let the clock move before pointing at a just-mounted layer#2470 · 2026-10-03
- perf(blocks): read each task's last block from the end of its index, and let turn_history's cloud arm match its partial index#2468 · 2026-10-03
- fix(web): the working teammate's avatar hover text stops flickering every second#2450 · 2026-10-03
- fix(harness): a message taken into the running turn no longer fails as a crash#2458 · 2026-10-03
- feat(feedback): record 处理中 on assignment and 已修复 at merge time#2456 · 2026-10-03
- fix(web): a rail tile flyout closes once the pointer leaves the tile#2455 · 2026-10-03
- fix(notifications): answering a question settles its notification#2454 · 2026-10-03
- fix(web): keep ⋯ on a keyboard-focused topic row#2451 · 2026-10-03
- feat(task): show what a project inherits before it is built (#944)#2461 · 2026-10-03
- docs(preview): the viewer layer and what a pointing sentence sends#2464 · 2026-10-03
- feat(task): add board- and challenge-level AI teammate guidance (#944)#2437 · 2026-10-03
- feat(preview): guard unsent annotations and align the panel with the reference#2460 · 2026-10-03
- feat(space): a shared material library with two visibility tiers#2434 · 2026-10-03
- ci(test): annotate a failing shard from its JUnit report#2462 · 2026-10-03
- fix(task-draft): render scanned PDF pages as images for OCR fallback#2446 · 2026-10-03
- docs(infra): the two okcheese tunnels now leave by different lines#2453 · 2026-10-03
- feat(preview): annotate images in place and send the marked-up copy#2429 · 2026-10-03
- feat(credits): bill a plan by its monthly pack or by its time windows#2449 · 2026-10-03
- fix(harness): pin pi at 1.0.0 and work through its prompt sections#2448 · 2026-10-03
- feat(docs): editor chrome — selection bar, top bar, history, highlight#2444 · 2026-10-03
- fix(mcp): set the server source line in the UI font#2447 · 2026-10-03
- fix(web): the ⋯ stops hanging on a topic row that was clicked#2442 · 2026-10-03
- test(limits): each test starts with its own Redis-warning minute#2445 · 2026-10-03
- ci: run merge-queue gates on hosted runners again#2439 · 2026-10-03
- feat(mcp): say where each project MCP server comes from#2440 · 2026-10-03
- fix(preview): name the version of a file too large to send as text#2436 · 2026-10-03
- feat(private-chat): a teammate keeps its type's MCP servers in a private chat#2438 · 2026-10-03
- fix(harness): a seat changes hands when its previous runner has gone#2433 · 2026-10-03
- feat(docs): let the AI teammate edit the living document in place#2435 · 2026-10-03
- feat(preview): add independent owner role and bounded RPC1 reads#2430 · 2026-10-03
- test: wait for the result instead of a fixed sleep#2400 · 2026-10-02
- fix(usage): bill memory consolidation to the platform, not the team#2432 · 2026-10-02
- feat(credits): price subscription usage at the model's rates (C)#2427 · 2026-10-02
- fix(auth): judge an agent's project-wide credential by its room seat#2428 · 2026-10-02
- feat(docs): edit the charter in the room's own doc panel#2426 · 2026-10-02
- fix(docs): stop repeat conflicts and the system author on living documents#2425 · 2026-10-02
- chore(harness): drop the old-runner path, warm Codex sends, mirror and warm-pool cleanups#2421 · 2026-10-02
- feat(credits): plan-aware model pickers, refusal reasons for 分身, platform-paid usage#2424 · 2026-10-02
- feat(preview): keep image region notes beside the selection#2418 · 2026-10-02
- feat(credits): show members their team's and their own credit usage#2416 · 2026-10-02
- feat(credits): enforce plans at admission, in charges and on models (B2)#2415 · 2026-10-02
- fix(ci): build the collaboration image from its own Dockerfile#2417 · 2026-10-02
- feat(docs): edit living documents live through a collaboration service#2414 · 2026-10-02
- refactor(api): centralize account service dependencies#2411 · 2026-10-02
- fix(chat): keep message actions clear of content in narrow panes#2408 · 2026-10-02
- refactor(docs): move the living-doc schema into a framework-free module#2410 · 2026-10-02
- feat(admin): add the plans and credits page#2413 · 2026-10-02
- refactor(editor): unify rich text on the shared tiptap v3 editor#2412 · 2026-10-02
- feat(admin): move the admin console into the shared app frame#2407 · 2026-10-02
- perf: index the question and wait lookups, stop re-checking runtimes per call#2409 · 2026-10-02
- feat(docs): add floating tools and full change review#2406 · 2026-10-02
- feat(usage): credit plans, admin console API and per-row payer (B1)#2405 · 2026-10-02
- feat(desktop): sign in to the app in the browser#2404 · 2026-10-02
- fix(preview): address page questions with frozen quoted context#2392 · 2026-10-02
- feat(usage): charge every call through one team-owned credit ledger#2403 · 2026-10-02
- refactor(api): move the sudo schema and WebAuthn parser into users_common#2395 · 2026-10-02
- feat(chat): keep quoted source data outside recipient parsing#2398 · 2026-10-02
- fix(ci): leave headroom for the completed pure partition#2402 · 2026-10-02
- fix(desktop): a restored window below the minimum size opens at the default#2401 · 2026-10-02
- fix(auth): a removed agent loses its tasks and forge access#2396 · 2026-10-02
- feat(api): limit each client's request rate and requests in flight#2391 · 2026-10-02
- fix(chat): open file references with parenthesized names#2390 · 2026-10-02
- feat(docs): share the AI/comment workspace and retain verified request originals#2388 · 2026-10-02
- feat(assistant): run a person's 芝士 on the session host, and delete the Pydantic AI loop#2377 · 2026-10-02
- fix(forge): stop background GitHub calls on an exhausted installation, and stop sweeping per webhook#2389 · 2026-10-02
- WIP: 路由索引与 first-match 守卫:后端架构 v6 读取边界试点#2380 · 2026-10-02
- fix(room): fold the composer's extra actions into one menu on phones#2387 · 2026-10-02
- fix(api): answer an option question as the caller the credential names#2386 · 2026-10-02
- fix(pi): read a reply pi failed as it exited when the write fails too#2385 · 2026-10-02
- test(harness): wait for each live piece instead of a fixed 0.3 s#2384 · 2026-10-02
- refactor(api): move the auth session entry into users_common and the domains#2297 · 2026-10-02
- feat(preview): send verified image regions to the topic chat#2383 · 2026-10-02
- ci(desktop): deploy the image that carries new installers#2360 · 2026-10-02
- fix(docs): distinguish in-flight writes from unknown outcomes#2382 · 2026-10-02
- fix(docs): map prose selections beside tables and code#2381 · 2026-10-02
- feat(room): a person asks the room a question with options#2331 · 2026-10-02
- feat(machine): tell a team's pages which projects' machines changed#2379 · 2026-10-02
- fix(docs): classify completion HTTP failures without provider data#2378 · 2026-10-02
- feat(chat): show the message a teammate is writing to the room as it is written#2374 · 2026-10-02
- chore(schema): drop projects.last_heartbeat_at and projects.summary#2373 · 2026-10-02
- perf(harness): stop re-ensuring a live seat on every send; ship pi's runner only when missing#2375 · 2026-10-02
- fix(machine): replace a room machine the provider failed to build#2364 · 2026-10-02
- chore: delete milestones#2371 · 2026-10-02
- fix(docs): preserve open comment thread during topic refresh#2372 · 2026-10-02
- feat(room): member activity replaces room status#2370 · 2026-10-02
- fix(docs): identify completion contract failure stages safely#2368 · 2026-10-02
- fix(machine): answer machine lists from the table, refresh in the sweep#2369 · 2026-10-02
- chore(agent): delete the parked activity-ingest and one-pager turns#2366 · 2026-10-02
- fix(warm): settle failed cleanups the provider has since dropped#2367 · 2026-10-02
- feat(harness): hold each read at the runner until there is news, and carry what the agent is writing#2359 · 2026-10-02
- test(handover): kill only the owner-lock holder in this test's database#2365 · 2026-10-02
- fix(preview): acknowledge a bridge installed after navigation#2362 · 2026-10-02
- fix(api): take the upgrader and the reactor from the credential, not the body#2363 · 2026-10-02
- fix(compute): drop the old labels from stored compute choices#2302 · 2026-10-02
- fix(codex): a Codex room lists and calls the checkout's stdio MCP servers#2311 · 2026-10-02
- feat(i18n): translate the remaining hardcoded Chinese in the frontend#2299 · 2026-10-02
- feat(docs): connect AI proposals comment threads and link review#2357 · 2026-10-02
- fix(library): fit Design previews within narrow screens#2356 · 2026-10-02
- perf: start a turn without waiting on the forge, and time it truthfully#2354 · 2026-10-01
- fix(private-chat): reach the network only through an egress proxy#2355 · 2026-10-01
- style(admin): unify page layouts and clarify ratchet sizes#2351 · 2026-10-01
- fix(admin): tell a missing naming key from zero, and count old undo rows#2353 · 2026-10-01
- perf(agent): cut what the backend spends reading rooms#2352 · 2026-10-01
- feat(docs): persist comment reply and resolution threads#2350 · 2026-10-01
- fix(preview): bind runtime status and reconnect to the displayed resource#2349 · 2026-10-01
- feat(preview): add formal slide reader and design tools#2319 · 2026-10-01
- fix(compute): stop runaway machine polling and a warm pool held by stuck deletions#2348 · 2026-10-01
- feat(pi): run pi on the session host and send its tools to the room's machine#2347 · 2026-10-01
- feat(docs): persist tool-less AI proposals and human acceptance#2346 · 2026-10-01
- feat(toolchain): serve agent-browser binaries for browser automation#2338 · 2026-10-01
- feat(docs): add a resizable comment reading sidebar#2344 · 2026-10-01
- feat(docs): journal canonical versions and durable operation receipts#2339 · 2026-10-01
- feat(agent): bound sessions on the session host#2343 · 2026-10-01
- feat(harness): let an idle session go on every harness#2340 · 2026-10-01
- feat(admin): add topic naming feature statistics#2345 · 2026-10-01
- feat(harness): pick from a ranked harness list by what the machine runs#2341 · 2026-10-01
- test(admin): give shortcut fixture its required roles#2342 · 2026-10-01
- ci(required): run ci-fast self-tests in a selected parallel job#2336 · 2026-10-01
- feat(agent): reach the rest of the platform API through platform_request#2325 · 2026-10-01
- fix(web): set the feedback card byline as one sentence in body type#2337 · 2026-10-01
- fix(preview): stream responses and recover disconnected tunnels#2314 · 2026-10-01
- refactor(tasks): an agent writes on a thread through the route a person uses#2334 · 2026-10-01
- chore: delete the decision primitive#2333 · 2026-10-01
- feat(room): a person posts and ticks their own checklist#2332 · 2026-10-01
- fix(tasks): send the question 芝士 is asked, and give it its face#2335 · 2026-10-01
- fix(deploy): a project created on a forge never pauses the backend#2321 · 2026-10-01
- WIP: 422 云配置:核验回归与 CI 并出界面说明 PDF#2222 · 2026-10-01
- fix(web): a calmer feedback card, and a chat that follows growth every frame#2324 · 2026-10-01
- feat(brand): white app icons, and a macOS-shaped desktop icon#2318 · 2026-10-01
- feat(room): a person sets a reminder for themselves from the composer#2328 · 2026-10-01
- feat(office): render scanned PDF pages to images for visual reading#2315 · 2026-10-01
- feat(routine): room panel, owner-only control, and dedicated tools#2179 · 2026-10-01
- feat(web): let a working teammate's newest avatar show what it is doing#2326 · 2026-10-01
- refactor(chat): a person sends a message through the same POST as an agent#2330 · 2026-10-01
- fix(alerts): writing into a project inbox takes membership on both ends#2327 · 2026-10-01
- fix(docs): fence snapshots and reconcile notifications after saving#2317 · 2026-10-01
- feat(assistant): ask 芝士 from the task page, and retire 启星研导#2322 · 2026-10-01
- test(ci): give each ci:fast test its own pre-commit store#2329 · 2026-10-01
- chore(agent): delete the parked heartbeat patrol#2323 · 2026-10-01
- fix(machine): refill the warm pool past stale cleanups; wait for SSH before enrolling#2316 · 2026-10-01
- feat(usage): move PDF task drafts and memory migration onto the gateway#2291 · 2026-10-01
- feat(web): give AI teammates a face, coloured per teammate#2293 · 2026-10-01
- feat: show a person's own projects under their name, not as a team#2277 · 2026-10-01
- fix(web): leave room above the home tile for its unread dot#2313 · 2026-10-01
- fix(fetch): resolve real addresses behind a fake-IP DNS#2294 · 2026-10-01
- fix(machine): retry deleting cloud VMs a session left#2312 · 2026-10-01
- test: take the pinned harness builds only from CHEESE_TEST_*, never PATH#2310 · 2026-10-01
- fix(web): stop the home tile clipping its unread dot and count#2309 · 2026-10-01
- fix(preview): preserve loaded pages across refresh and failed replacements#2303 · 2026-10-01
- fix(web): hide a rail tile's tooltip while its right-click menu is open#2308 · 2026-10-01
- fix(docs): keep comments passive and preserve drafts#2305 · 2026-10-01
- feat(web): right-click a topic or a project in the sidebar and rail#2307 · 2026-10-01
- fix(pwa): let the new worker take over before a full load#2306 · 2026-10-01
- fix(agent): say a retry got no response, and time every response#2304 · 2026-10-01
- fix(i18n): name unnamed topics and platform compute choices per reader#2298 · 2026-10-01
- fix(i18n): send error sentence keys so refusals show in the reader's language#2301 · 2026-10-01
- fix(i18n): send the board phrase as a code and render it per reader#2296 · 2026-10-01
- feat(docs): add paper layout and selection-preserving formatting#2300 · 2026-10-01
- fix(ci): bound forge fixture image pull retries to HTTP 503#2295 · 2026-10-01
- feat(pwa): take a new version on the next navigation, without a prompt#2292 · 2026-10-01
- fix(web): polish the rail, back arrow, notice rows, checklist and usage card#2289 · 2026-10-01
- fix(room): keep the @ list in step with the roster and mark outsiders#2290 · 2026-10-01
- feat(i18n): translate the shell and project pages, and ratchet hardcoded Chinese#2282 · 2026-10-01
- fix(fetch): read only public addresses and require a signed-in caller#2287 · 2026-10-01
- feat(i18n): translate the challenge, space, team and market screens#2280 · 2026-10-01
- fix(i18n): render platform room notices in the reader's language#2260 · 2026-10-01
- fix(agent): keep ordinary attachments out of image input#2288 · 2026-10-01
- feat(usage): charge 问芝士 to the asker's monthly personal credits#2278 · 2026-10-01
- feat(web): draw people round and everything else as rounded squares#2284 · 2026-10-01
- feat(desktop): keep marketing pages out of the app and show its version and updates#2276 · 2026-10-01
- refactor(api): move the room-file helpers into their domains#2283 · 2026-10-01
- ci: pull the test forge from data.forgejo.org#2286 · 2026-10-01
- fix(ci): take the image baseline from the registry, not the run list#2281 · 2026-10-01
- feat(i18n): extract the topic and room area copy#2279 · 2026-10-01
- feat(i18n): extract the remaining settings, teammate and methods copy#2275 · 2026-10-01
- feat(brand): redraw the mark and wordmarks, generated from one source#2270 · 2026-10-01
- feat(workspace): split project settings into sections and word them to the copy rules#2273 · 2026-10-01
- test(frontend): stop two tests depending on the time of day and machine speed#2274 · 2026-10-01
- WIP: Implement admin layout scheme B with verification screenshots#2206 · 2026-10-01
- feat(spaces): open space settings in the settings layer#2272 · 2026-10-01
- fix(ci): list task-free equivalents in ci:fast blocked hint#2271 · 2026-10-01
- refactor(api): give the project rail narrow domain reads#2269 · 2026-10-01
- feat(frontend): open personal settings as a layer over the window#2268 · 2026-10-01
- fix(llm): hand the gateway key only to the metering proxy#2266 · 2026-10-01
- fix(hooks): a project's permissions.deny holds for Bash in Claude Code rooms#2267 · 2026-10-01
- docs(workflows): document task-free ci:fast equivalent entry#2240 · 2026-10-01
- fix(metering): ask admission with the proxy's own credential#2265 · 2026-10-01
- ci: let the apt guard test accept apt options before the subcommand#2264 · 2026-10-01
- fix(machine): a Cloud room rents one machine for all its agents#2263 · 2026-10-01
- test(e2e): wait for the workspace transition before the rail check#2262 · 2026-10-01
- fix(frontend): give menus, dropdowns, tooltips and toasts the design-system look by default#2259 · 2026-10-01
- feat(harness): register pi now that it answers the four subagent requirements#2261 · 2026-10-01
- feat(spaces): restyle the space management pages#2243 · 2026-10-01
- fix(devices): wait for the owner's answer about a silent machine#2258 · 2026-10-01
- feat(tasks): one claim per person, and a claim behind every task project#2241 · 2026-10-01
- ci: bound apt's network waits; queue-run gates on the cheese-ci pool#2257 · 2026-10-01
- feat(feedback): feedback admins are a roster of their own, not the platform admins#2252 · 2026-09-30
- feat(pi): subagents a pi session starts, runs, retasks and stops#2256 · 2026-09-30
- fix(home): join the download split button, move between public pages in-app, size English display type#2255 · 2026-09-30
- fix(hooks): a project's permissions.deny holds where the project's hooks run#2254 · 2026-09-30
- fix(forge): background polling leaves a share of the quota for people#2253 · 2026-09-30
- fix(teams): a personal team takes no members but its owner#2249 · 2026-09-30
- feat(feedback): add a won't-fix status for reports that will not be acted on#2251 · 2026-09-30
- fix(sync): work the branch already has is not reported unpushed#2250 · 2026-09-30
- fix(chat): a deleted library file no longer wedges the room#2246 · 2026-09-30
- fix(desktop): keep the app frame from behaving like a web page#2248 · 2026-09-30
- feat(tasks): restyle the task list: one-row filters and task rows#2242 · 2026-09-30
- fix(frontend): sort node: imports the same on every Node version#2245 · 2026-09-30
- feat(agent-types): a type declares MCP servers as a Claude Code subagent does#2056 · 2026-09-30
- fix(meter): leave user out of bodies sent to Codex#2244 · 2026-09-30
- fix(rooms): changing a room locks the room before its machine slot#2185 · 2026-09-30
- fix(room): keep queued merges and passed questions off your desk#2062 · 2026-09-30
- feat(admin): draw the ratchet page from the stored board#2234 · 2026-09-30
- refactor(frontend): split ProjectSettingsView under the size cap#2237 · 2026-09-30
- refactor(frontend): split RoomComposer under the size cap#2236 · 2026-09-30
- feat(tasks): lay out a task as a title row, tabs and a progress column#2239 · 2026-09-30
- fix(header): keep the page header's side padding whenever it is shown#2238 · 2026-09-30
- refactor(frontend): split TaskForm under the size cap#2235 · 2026-09-30
- feat(ratchet): archive snapshots and answer the board from them#2228 · 2026-09-30
- refactor(api): move the agent routes out of projects.py#2231 · 2026-09-30
- WIP: 《机器与连接》用户文档草案 + 诊断附录#2220 · 2026-09-30
- refactor(api): move the passkey, 2FA and identity routes out of users.py#2232 · 2026-09-30
- refactor(frontend): split Knowledge under the size cap#2223 · 2026-09-30
- feat(frontend): one sidebar row, one width, across all four sidebars#2230 · 2026-09-30
- fix(ci): harden the scene gate's container rule against impostors#2217 · 2026-09-30
- refactor(api): move the message routes out of topics.py#2229 · 2026-09-30
- feat(frontend): the frame is canvas, the content pane is one surface#2227 · 2026-09-30
- refactor(frontend): split TopicAcceptCard under the size cap#2225 · 2026-09-30
- refactor(api): move the run-config routes out of projects.py#2226 · 2026-09-30
- refactor(api): move the doc-tree and comment routes out of topics.py#2224 · 2026-09-30
- docs: document task ci:fast usage in the dev workflow#2219 · 2026-09-30
- 后台棘轮页:第三份评审稿与采集层设计#2205 · 2026-09-30
- refactor(api): move the artifact routes out of projects.py#2221 · 2026-09-30
- refactor(api): move the transcript routes out of topics.py#2218 · 2026-09-30
- feat(mail): confirm a drafted email in the room it was written in#2134 · 2026-09-30
- refactor(frontend): split AdminModelsPage under the size cap#2210 · 2026-09-30
- refactor(frontend): split ChatPanel under the size cap#2211 · 2026-09-30
- feat(ci): add task ci:fast, a scoped static fast check (v1)#2203 · 2026-09-30
- refactor(api): move the task routes out of topics.py#2215 · 2026-09-30
- refactor(api): move the invite-code routes out of spaces.py#2214 · 2026-09-30
- refactor(frontend): split AdminQueuePage under the size cap#2216 · 2026-09-30
- refactor(spaces): sidebar around announcements, tasks and manage; one settings page#2193 · 2026-09-30
- fix(frontend): a wrong root makes the scene gate a 2, never a pass#2212 · 2026-09-30
- fix(frontend): let a new page be the container of a standalone view#2209 · 2026-09-30
- refactor(api): move the analytics routes out of spaces.py#2208 · 2026-09-30
- refactor(api): move the shown/artifact routes out of topics.py#2207 · 2026-09-30
- refactor(api): move the member self-resource routes out of spaces.py#2204 · 2026-09-30
- refactor(api): move the title routes out of topics.py#2201 · 2026-09-30
- fix(admin): the Feishu page says it could not load instead of 'not configured'#2200 · 2026-09-30
- test(backend): count only the request engine in the admin roster guard#2202 · 2026-09-30
- feat(spaces): announcements become rows, published to members in-app#2192 · 2026-09-30
- refactor(frontend): split AdminDashboardPage under the size cap#2199 · 2026-09-30
- refactor(api): move the space-organization routes out of spaces.py#2198 · 2026-09-30
- refactor(api): move the team routes out of users.py#2194 · 2026-09-30
- refactor(agent): move the gateway usage path out of chat.py#2187 · 2026-09-30
- refactor(api): move the compute profile and work lease routes out of topics.py#2197 · 2026-09-30
- test(hot-path): count only the queries the request engine issued#2186 · 2026-09-30
- refactor(review): move room notices out of services.py#2196 · 2026-09-30
- feat(frontend): ratchet the scenes that run standalone#2182 · 2026-09-30
- refactor(frontend): move space store fetching into a composable#2188 · 2026-09-30
- refactor(api): move the project-unread and block-upgrade routes out of topics.py#2190 · 2026-09-30
- refactor(api): move the ai advice routes out of tasks.py#2189 · 2026-09-30
- fix(ci): judge file sizes against the merge base, not the tip of main#2178 · 2026-09-30
- refactor(spaces): remove courses and the space discussion endpoints from the backend#2153 · 2026-09-30
- refactor(spaces): one space UI in the sidebar frame; drop courses and discussions#2154 · 2026-09-30
- refactor(review): move the nudge builders out of services.py#2180 · 2026-09-30
- fix(tasks): a backup the files return to becomes the latest again#2184 · 2026-09-30
- feat(home): make the home tile the inbox, with teams and spaces beside it#2152 · 2026-09-30
- fix(sync): do not re-upload a task backup the platform already holds#2183 · 2026-09-30
- feat(frontend): grow a card's timeline from its own channel#2181 · 2026-09-30
- fix(board): stop calling a quiet worker lost#2176 · 2026-09-30
- refactor(agent): move the hook stream out of chat.py#2177 · 2026-09-30
- refactor(frontend): split TopicSidebar under the size cap#2172 · 2026-09-30
- fix(background): run a periodic job when it is due, across restarts#2169 · 2026-09-30
- refactor(api): move the document and preview routes out of topics.py#2175 · 2026-09-30
- refactor(agent): move the room's event writes out of chat.py#2173 · 2026-09-30
- feat(demo): run the three split panels standalone in the catalog#2174 · 2026-09-30
- refactor(api): move the attachment routes out of topics.py#2171 · 2026-09-30
- feat(integration): admins set up Feishu once, members connect in a click#2141 · 2026-09-30
- fix(execution): every tool waiting for its machine says so once#2170 · 2026-09-30
- refactor(frontend): move PanelDoc data loading into a composable#2168 · 2026-09-30
- fix(execution): tell the agent when a command waits for its machine#2167 · 2026-09-30
- refactor(agent): move stateless ChatService helpers out of chat.py#2162 · 2026-09-30
- refactor(api): move the password routes out of users.py#2165 · 2026-09-30
- fix(feedback): only a trailer at the start of a line marks feedback deployed#2166 · 2026-09-30
- refactor(frontend): the last six components route through NavLink#2164 · 2026-09-30
- fix(frontend): count relative imports of the API layer in the boundary check#2163 · 2026-09-30
- fix(api): answer a body a custom validator refuses with the 400 envelope, not 500#2147 · 2026-09-30
- chore(gateway): drop extra_headers from the admin model API#2148 · 2026-09-30
- fix(dev-db): replace an outdated server of ours instead of refusing#2161 · 2026-09-30
- refactor(frontend): move PanelPreview data loading into a composable#2158 · 2026-09-30
- refactor(agent): move mention parsing and notices out of chat.py#2160 · 2026-09-30
- refactor(api): move the sign-in session routes out of users.py#2159 · 2026-09-30
- fix(project): a slow forge fails a creation honestly and leaves nothing behind#2157 · 2026-09-30
- fix(mcp): log a revocation the authorization server refuses#2156 · 2026-09-30
- fix(machine): a session machine's startup record ends when it connects or does not#2155 · 2026-09-30
- chore: delete the backend ChatGPT subscription import#2132 · 2026-09-30
- fix(machine): the sweep lets go of a machine gone at the provider#2151 · 2026-09-30
- fix(sync): recover a closed task on another machine after its base branch is deleted#2150 · 2026-09-30
- fix(sync): a closed task's failed backup leaves the room notice to the platform#2149 · 2026-09-30
- fix(taskfile): infra starts the containers when none are running#2146 · 2026-09-30
- feat(library): search, preview, upload and replace files, and say where each came from#2123 · 2026-09-30
- fix(connector): resume a cheesehost download cut mid-transfer#2144 · 2026-09-30
- docs(infra): okcheese runs on two relay tunnels with a watchdog#2145 · 2026-09-30
- fix(agent): isolate Claude hook settings per seat#2139 · 2026-09-30
- feat(admin): add a feature data page, starting with the docs assistant#2138 · 2026-09-30
- feat(desktop): sign in with a provider and connect accounts through the browser, back via cheese:// links#2125 · 2026-09-30
- fix(sessions): rows on another teammate's runner stop pointing at it#2140 · 2026-09-30
- feat(download): a download page of its own, and settings that hold devices and connections#2142 · 2026-09-30
- feat(artifacts): open a deliverable on its current version#2121 · 2026-09-29
- feat(frontend): a router seam for components and a component preview site#2137 · 2026-09-29
- fix(sync): a closed task does not hold a room on a machine that keeps its files#2135 · 2026-09-29
- chore(dev-db): install pg_search on macOS arm64 from ParadeDB's package#2136 · 2026-09-29
- feat(feedback): mark feedback deployed when the release that fixes it ships#2131 · 2026-09-29
- fix(agents): a room nobody addressed answers as the teammate its roster seats#2129 · 2026-09-29
- chore(arch): report architecture metrics on main and weekly#2133 · 2026-09-29
- refactor(frontend): take PanelChanges' data fetching out of the component#2130 · 2026-09-29
- refactor(agent): move prompt and context rendering out of chat.py#2128 · 2026-09-29
- feat(metering): runtime Codex client version; release applies config-only changes#2127 · 2026-09-29
- chore(arch): check module boundaries and file sizes, freezing existing debt#2122 · 2026-09-29
- Keep Claude teammate sessions alive during parallel starts#2124 · 2026-09-29
- refactor(agent): move event-line rendering out of chat service#2120 · 2026-09-29
- feat(demo): let a scene show the room's overview, changes and preview tabs#2119 · 2026-09-29
- refactor(frontend): let UserRef render from props alone#2118 · 2026-09-29
- docs(manual): restructure the user pages task-first, second pass#2117 · 2026-09-29
- feat(desktop): keep running with the window closed, live notices, badge, open at login#2112 · 2026-09-29
- perf(artifacts): compare two versions by what changed, not the whole repository#2113 · 2026-09-29
- fix(board): show every artifact name, and fold the list instead of clipping it#2116 · 2026-09-29
- perf(search): decide which rooms a search may read in one pass#2111 · 2026-09-29
- docs: add a writing skill for the user manual and rewrite it by it#2115 · 2026-09-29
- fix(docs-site): answer 问芝士's last round instead of failing it#2110 · 2026-09-29
- feat(search): a results page for everything the palette only samples#2107 · 2026-09-29
- feat(palette): search another project, or topic names across all of them#2106 · 2026-09-29
- feat(palette): Tab lists what else a result can do#2105 · 2026-09-29
- feat(docs-site): let 问芝士 search and read the docs itself#2109 · 2026-09-29
- feat(palette): state each topic's board status and copy the page link#2104 · 2026-09-29
- feat(desktop): the app's own first page, a macOS title bar over the page, and sign-in when signed out#2102 · 2026-09-29
- feat(chat): open a task card at a given message#2103 · 2026-09-29
- feat(chat): open a room at a given message and read on from there#2101 · 2026-09-29
- docs(infra): the okcheese relay restarts without backoff#2100 · 2026-09-29
- fix(meter): send Codex the body it takes#2099 · 2026-09-29
- test: keep a room's platform session out of the test suite#2098 · 2026-09-29
- refactor(chat): move turn tracking and the shown window out of ChatPanel#2097 · 2026-09-29
- feat(chat): page the room timeline around a message and towards newer ones#2096 · 2026-09-29
- feat(palette): search project content from the command palette#2092 · 2026-09-29
- docs(infra): record the hand-managed okcheese relay and its TLS route#2095 · 2026-09-29
- fix(search): give each kind of record its own limit in project search#2094 · 2026-09-29
- fix(device): keep per-turn session files in the seat that owns them#2081 · 2026-09-29
- chore(dev-db): provide pg_search 0.24.0 on the docker-free Postgres#2090 · 2026-09-29
- ci(db): run PostgreSQL 17 with pg_search 0.24.0, as dev does#2087 · 2026-09-29
- feat(project): rank project context search hits by BM25 relevance#2063 · 2026-09-29
- fix(sync): do not push into a PR that is in the merge queue#2091 · 2026-09-29
- refactor(frontend): delete the old Q&A search page#2089 · 2026-09-29
- feat(project): an owner can archive a project, and unarchive it#2080 · 2026-09-29
- feat(palette): search and jump with Ctrl+K#2079 · 2026-09-29
- fix(sync): deliver a rewritten or behind task branch instead of refusing it#2088 · 2026-09-29
- fix(harness): re-send each teammate's undelivered prompt after a restart#2083 · 2026-09-29
- chore: remove the leftover srp_rs build directory#2086 · 2026-09-29
- fix(meter): ask ChatGPT for the models a current Codex client gets#2085 · 2026-09-29
- feat(task): search space tasks with a BM25 index ranked by relevance#2082 · 2026-09-29
- feat(site): switch a teammate's view by paging the server#2075 · 2026-09-29
- fix(sync): a closed task is only backed up, and a refused backup is rebuilt#2078 · 2026-09-29
- fix(harness): judge restart sweeps per seat, not per room#2077 · 2026-09-29
- feat(meter): serve ChatGPT accounts on a private gateway network#2076 · 2026-09-29
- fix(pi): a turn pi compacts to save does not end as a failure#2034 · 2026-09-29
- Revert "feat(task): search space tasks with a BM25 index ranked by relevance (#2061)"#2074 · 2026-09-29
- refactor(frontend): one command list for page headers, the top bar and shortcuts#2068 · 2026-09-29
- fix(api): cap page size at 100 and bound the five endpoints left open#2072 · 2026-09-29
- fix(logs): the llm tunnel process scrubs credentials from its logs#2073 · 2026-09-29
- feat(meter): hold ChatGPT subscription accounts beside the Claude credential#2071 · 2026-09-29
- feat(task): search space tasks with a BM25 index ranked by relevance#2061 · 2026-09-29
- feat(chat): let an @-mention wake an AI teammate whoever sends it#2069 · 2026-09-29
- fix(recruitment): stop naming a stealth team in the plaza#2052 · 2026-09-29
- chore(search): remove the unused Meilisearch integration#2060 · 2026-09-29
- fix(logs): keep weeks of logs, not hours, and no credentials in access logs#2066 · 2026-09-29
- ci: save dependency caches on main only; suites restore#2065 · 2026-09-29
- fix(harness): a teammate's self-started turn is the teammate's, not the default agent's#2064 · 2026-09-29
- feat(room): rename and archive a topic from the room's menu on phones#2057 · 2026-09-29
- fix(api): bound pagination and throttle account enumeration#2018 · 2026-09-29
- fix(room): an @ for a teammate not in the room is plain text#2059 · 2026-09-29
- ci: run Required CI once per commit, on hosted runners#2055 · 2026-09-29
- fix(terminal): a pane that will not go does not hold its room#2054 · 2026-09-29
- feat(room): select part of a message on touch screens#2053 · 2026-09-29
- fix(frontend): stop clipping descenders in topic titles#2046 · 2026-09-29
- fix(takeover): a room still replaying its backlog holds only its own turns#2051 · 2026-09-29
- feat(mobile): fit tablets with a width cap and a two-column workspace#2024 · 2026-09-29
- fix(harness): a drain steps over a record the room keeps refusing, and a stale backlog in one move#2050 · 2026-09-29
- feat(codex): give a Codex room the platform's own skills#2044 · 2026-09-29
- feat(gateway): send ChatGPT subscription traffic through one fixed exit#2049 · 2026-09-29
- feat(space-board): claim tier, attachment count and tags on task cards#1996 · 2026-09-29
- feat(space-board): per-person analytics and who has stalled on a claim#1991 · 2026-09-29
- feat(space-board): show the attachment size limit and a no-limit box#2002 · 2026-09-29
- feat(mobile): adapt the topic room to a phone#2020 · 2026-09-29
- feat(mobile): adapt the project home and project pages to a phone#2021 · 2026-09-29
- test(remote-execution): a skill the watcher may or may not have seen yet is not a verdict#2047 · 2026-09-29
- feat(mobile): phone shell: top-bar actions, action sheets, page transitions#2017 · 2026-09-29
- fix(harness): recover every seat in a room, not one per room#2045 · 2026-09-29
- fix(work): an executor started for a switch's push gets the room's environment#2042 · 2026-09-29
- fix(mobile): phone-width layout and behaviour bugs#2016 · 2026-09-29
- fix(remote-execution): install fixtures' executors from the release list#2043 · 2026-09-29
- fix(harness): never land a journal backlog that nobody read for hours#2041 · 2026-09-29
- fix(review): void a card when its PR is closed without merging#2040 · 2026-09-29
- fix(skills): offer a subdirectory's and a path-scoped skill once a file tool reaches it#2029 · 2026-09-29
- test: stop the old process reading when a test replaces the backend#2038 · 2026-09-29
- fix(machine): an executor started for a switch's push keeps a session's credential#2037 · 2026-09-29
- docs(infra): say which pool job brings its own service containers#2039 · 2026-09-29
- feat(space-board): draw the publish page instead of wrapping the old one#1950 · 2026-09-29
- feat(board): name the team a registration belongs to#1995 · 2026-09-29
- feat(task): let submissions and reviews drive completion_status#1952 · 2026-09-29
- feat(board): add role notes and relative announcement times#1992 · 2026-09-29
- fix(pi): run the project's hooks around pi's own tools#2031 · 2026-09-29
- fix(harness): a turn cannot end while a person in the room is unanswered#2036 · 2026-09-29
- fix(skills): read a shipped skill where the executor holds it#1993 · 2026-09-29
- feat(tasks): remove a closed task's checkout from the machines#2035 · 2026-09-29
- fix(tasks): commit a team claim before answering#2004 · 2026-09-29
- ci: check service Postgres readiness over TCP, and correct two stale notes#2033 · 2026-09-29
- fix(harness): a person's message moves a long foreground command aside#2006 · 2026-09-29
- fix(sync): skip task checkouts with nothing to sync#2032 · 2026-09-29
- fix(pi): a room offers the project's own skills, as pi does in the project#2012 · 2026-09-29
- feat(room): say when a session is compacting its context#1986 · 2026-09-29
- fix(skills): a repository's skills in a room work as in plain Claude Code#1977 · 2026-09-29
- fix(api): commit a claim, its approval, a submission, a join and an upload before answering#2015 · 2026-09-29
- fix(solutions): escape the @ that blanked the page, and compile every message in tests#2030 · 2026-09-29
- test(acceptance): wait for the isolated Postgres over TCP#2028 · 2026-09-29
- ci(e2e): run the Playwright suite as two parallel shards#2027 · 2026-09-29
- fix(remote-execution): an executor start waits for a slow service#2026 · 2026-09-29
- test: close the application pool's portal connections after each sync test#2025 · 2026-09-29
- fix(codex): a room offers the repository's skills as plain Codex does#2023 · 2026-09-29
- test(preview): wait for the broken page's notice, not only the good page#2022 · 2026-09-29
- feat(ui): one @mention chip for every name in a sentence#1987 · 2026-09-29
- feat(pi): pi rooms get the project's MCP servers#1970 · 2026-09-29
- test(e2e): accept a task PR the backend sweep opened first#2009 · 2026-09-29
- test(pi): wait for what the reader does, not for a wall-clock guess#2010 · 2026-09-29
- test: keep the stub runner's fsyncs off the backend's event loop#2011 · 2026-09-29
- fix(deploy): keep /connector/agent off the rolling frontend at the public door#2019 · 2026-09-29
- docs: component-based developer docs and a full user-doc audit#1988 · 2026-09-29
- test(e2e): compile the app in the dev server before the first test#2014 · 2026-09-29
- fix(frontend): cap vitest forks by available memory#2013 · 2026-09-29
- fix(feedback): keep a support count when an older detail read lands after it#2008 · 2026-09-29
- fix(alerts): commit an inbox write before answering#2007 · 2026-09-29
- feat(downloads): serve the desktop app from our own site and offer it on the homepage#2003 · 2026-09-29
- fix(work): start an idle session's executor to push before a switch#1994 · 2026-09-29
- fix(auth): keep a browser signed in when its refresh answer is lost#1981 · 2026-09-29
- fix(forge): stop polling archived rooms; report an exhausted quota as a wait#1984 · 2026-09-29
- fix(room): name and show each turn's own teammate in a room with several#1997 · 2026-09-29
- fix(harness): drain a mirrored journal a page at a time; stop journaling thinking estimates#2000 · 2026-09-29
- fix(device): a machine that stops heartbeating is offline at once#1998 · 2026-09-29
- fix(claude-code): a session started before its machine takes up the project's hooks when it attaches#1990 · 2026-09-29
- fix(cleanup): wait out a process still in a claimed room instead of paging#1978 · 2026-09-29
- fix(feedback): show and clear proposal cards on an open room page#1965 · 2026-09-29
- feat(docs): fourteen more interactive demos across the docs#1963 · 2026-09-29
- fix(sidebar): name the PR and the wait in the red light, fix question lights#1989 · 2026-09-29
- fix(claude-code): a room without a machine keeps its session between turns#1975 · 2026-09-29
- fix(accept): release the database connection before asking the forge for PR checks#1983 · 2026-09-29
- fix(github): say when the server could not reach GitHub, not that the user quit#1982 · 2026-09-29
- fix(devices): name each session by its own teammate, not the room default#1976 · 2026-09-29
- fix(github): let one org installation serve many projects; explain a taken repo#1980 · 2026-09-29
- fix(device): read a Windows room's environment status from its own home#1979 · 2026-09-29
- fix(preview): one preview tunnel per teammate, and a replaced helper stops#1974 · 2026-09-29
- fix(accept): title a merge card by its change, not "<repo> v N"#1973 · 2026-09-29
- fix(proxy): keep a session's route while admission is unreachable#1972 · 2026-09-29
- fix(work): a room can always leave a machine it cannot use#1971 · 2026-09-29
- fix(work-lease): keep held hands ready while a session re-checks them#1969 · 2026-09-29
- fix(review): refresh a stale merge snapshot when the card is read#1949 · 2026-09-29
- feat(space-board): redraw the task detail page to the prototype#1948 · 2026-09-29
- fix(review): stop calling a closed PR open when its card is let go#1967 · 2026-09-29
- fix(llm): a subagent given its parent's model runs on it#1966 · 2026-09-29
- fix(agent): adopt a self-started turn a previous backend already opened#1962 · 2026-09-29
- fix(remote-execution): a relaunch onto the machine merges the conversation directory#1959 · 2026-09-29
- fix(obs): a release cutting requests short is not a backend error alert#1964 · 2026-09-29
- fix(claude-code): a refused command no longer stops the room reading the turn#1960 · 2026-09-29
- fix(mcp): a project's tool hooks run around remote MCP calls on every harness#1958 · 2026-09-29
- feat(docs): context window, memory, model call and machine demos#1953 · 2026-09-29
- fix(errors): a browser hanging up on a preview or Site is not a server error#1961 · 2026-09-29
- fix(review): give a pending card a way to void it#1956 · 2026-09-29
- ci(build): keep the planner test's expected failures out of the annotations#1957 · 2026-09-28
- fix(agent): give each seat in a room its own screen on the machine#1955 · 2026-09-28
- feat(docs): play the turn and seats demos on real room components#1951 · 2026-09-28
- feat(chat): name the working seats on the live panel tab#1939 · 2026-09-28
- feat(agent): let teammates run turns side by side in one room#1934 · 2026-09-28
- feat(machine): one topic runs on one container#1946 · 2026-09-28
- fix(ask): hand the room back to the teammate the messages named#1926 · 2026-09-28
- fix(preview): stop the room outputs list from painting over the app bar#1947 · 2026-09-28
- fix(sidebar): make the red, yellow and green lights follow real state#1931 · 2026-09-28
- feat(memory): refuse over-long memories; keep private memory out of the overview#1933 · 2026-09-28
- feat(prompt): writing rules for every turn; living doc as a status page#1937 · 2026-09-28
- feat(admin,feedback): redesign the admin console and feedback pages#1859 · 2026-09-28
- feat(site): pin the teammate switcher and name each turn's teammate#1944 · 2026-09-28
- fix(memory): raise the dream threshold to 10M output tokens#1942 · 2026-09-28
- fix(recruitment): bind the team recruitment list to the team's gate#1943 · 2026-09-28
- fix(board): hide unfinished tasks of archived topics from live columns#1945 · 2026-09-28
- fix(tasks): check the team and the domain group a write names#1929 · 2026-09-28
- fix(groups): require login on the four group read routes#1938 · 2026-09-28
- fix(teaching): check a category's knowledge/material references on write#1940 · 2026-09-28
- fix(space): refuse unreviewed boards' invite codes at join#1941 · 2026-09-28
- feat(topic): remind the teammate once when a worked room has no doc#1857 · 2026-09-28
- fix(tasks): read and delete an AI-advice conversation as its asker#1936 · 2026-09-28
- test(integration): wait for the message's own turn, not any turn#1935 · 2026-09-28
- fix(tests): 模板清理不再删掉别的运行正在用的模板#1932 · 2026-09-28
- feat(space-board): publish page lifecycle and pre-submit checks#1930 · 2026-09-28
- feat(space-board): members join-method column and invite-code controls#1860 · 2026-09-28
- refactor(harness): re-key runtime and compute pool by agent seat#1921 · 2026-09-28
- feat(topics): the row menu offers rename and archive only#1928 · 2026-09-28
- fix(answers): bind the parent ids in every answer sub-route#1927 · 2026-09-28
- feat(space-board): add task, participant and publisher analytics tabs#1925 · 2026-09-28
- feat(nav): add an inbox cell to the desktop rail#1861 · 2026-09-28
- feat(space-board): record who reviewed a task and when#1837 · 2026-09-28
- feat(space-board): let the PDF publish path carry attachments#1796 · 2026-09-28
- fix(discussions): bind every board route to its parent object#1923 · 2026-09-28
- feat(sidebar): red / yellow / green topic lights#1855 · 2026-09-28
- fix(spaces): gate the learning filter bar before naming its categories#1924 · 2026-09-28
- fix(topics): read a mention as the handle, and stop the naming call thinking#1858 · 2026-09-28
- feat(membership): leave the project without leaving the team#1856 · 2026-09-28
- fix(accept): refuse a card whose reviewer the room would not admit#1919 · 2026-09-28
- fix(agent): sign and order a turn's tail without its bookkeeping#1854 · 2026-09-28
- feat(projects): transfer from the menu; the project follows the person#1842 · 2026-09-28
- feat(spaces): open a read-only admin settings dialog from the board menu#1862 · 2026-09-28
- feat(space-board): distinct participants stat and the PDF origin chip#1920 · 2026-09-28
- feat(space-board): redraw the whole-board analytics page#1794 · 2026-09-28
- feat(devices): the team page lists devices attached to its projects (#1900)#1922 · 2026-09-28
- feat(project): switch the agents on one device from the distribution (#1900 step 6)#1918 · 2026-09-28
- feat(mcp): project settings connect remote MCP servers; the room shows who authorized them#1916 · 2026-09-28
- feat(devices): tell a device owner when an agent starts working on it (#1900 step 5)#1917 · 2026-09-28
- feat(mcp): room sessions call the project's remote MCP servers#1912 · 2026-09-28
- feat(mcp): connect a project's remote MCP servers and call them through the platform#1911 · 2026-09-28
- refactor(chat): hold active turn ids in a per-topic set#1914 · 2026-09-28
- chore(machines): stop opening Cloud machines from the team page (#1900)#1915 · 2026-09-28
- feat(work): switching a work computer pushes first, and frees a left cloud machine (#1900 step 4)#1913 · 2026-09-28
- WIP: 修沉默提醒归因:远程芝士发言不计入 last_chat_at#1908 · 2026-09-28
- fix(prompt): ask people only through cheese_ask#1888 · 2026-09-28
- chore: stop tracking a node_modules symlink and ignore node_modules links#1910 · 2026-09-28
- feat(project): settings keep only the default for new agents and show where agents work#1907 · 2026-09-28
- perf(preview): keep conversions on disk, convert on save, preload pdf.js#1848 · 2026-09-28
- feat(room): the member roster shows each AI teammate's work computer (#1900 step 2)#1906 · 2026-09-28
- feat(room): an edit reaches people the way a message does#1905 · 2026-09-28
- WIP: 记忆改造③dream、旧记忆迁移与正文读取统计(收尾)#1904 · 2026-09-28
- feat(overview): show the four auto blocks under the overview doc#1864 · 2026-09-28
- fix(copy): one name for where an agent works (#1900 step 1)#1903 · 2026-09-28
- feat(room): the checklist message reads like a checklist#1902 · 2026-09-28
- fix(room): an edit stores what sending the same text stores#1901 · 2026-09-28
- fix(compute): a room's later sessions start on its whole choice, and every session on an enrolled device shows the notice#1899 · 2026-09-28
- ci(remote): serialise the private-image prune per box#1898 · 2026-09-28
- fix(dev-db): run the throwaway Postgres without fsync#1897 · 2026-09-28
- feat(room): edit a sent message, and keep the checklist as one#1896 · 2026-09-28
- fix(harness): pi and Codex startup failures say one sentence; keep docker stderr#1895 · 2026-09-28
- fix(dev-db): provide Meilisearch and the pinned harness builds#1894 · 2026-09-28
- fix(teams): one personal team per user, even when first requests overlap#1891 · 2026-09-28
- fix(claude-code): a session that did not start is one sentence in the room#1893 · 2026-09-28
- test(e2e): give the first signed-in home page time to compile#1892 · 2026-09-28
- fix(tasks): commit PDF-published tasks before answering#1890 · 2026-09-28
- fix(dev-db): use a Postgres build that ships pg_trgm#1889 · 2026-09-28
- fix(topics): show a room name that lands while the sidebar is reading#1887 · 2026-09-28
- fix(tasks): commit a task approval before answering#1886 · 2026-09-28
- fix(auth): a live credential at a route naming no project is 403, not expired#1885 · 2026-09-28
- fix(memory): a memory written empty is a deleted memory#1884 · 2026-09-28
- feat(home): split the public site into a homepage and a solutions page#1883 · 2026-09-28
- fix(spaces): commit a space review before answering#1882 · 2026-09-28
- feat(room): the site panel only watches its session#1879 · 2026-09-28
- fix(codex): record the async question tool as a gap, not as disabled#1881 · 2026-09-28
- fix(memory): keep the session's memory tree where the runner reconciles it#1878 · 2026-09-28
- feat(card): show the worker checklist on its card#1874 · 2026-09-28
- fix(claude-code): route every platform tool through proxy.js by table membership#1877 · 2026-09-28
- fix(site): one language on the status line, no frozen idle time#1876 · 2026-09-28
- ci: say on the run when E2E passed only through retries#1875 · 2026-09-28
- feat(room): drop the chat working line and its stop button#1872 · 2026-09-28
- fix(pi): leave the silent-turn reminder to the platform#1873 · 2026-09-28
- fix(frontend): pre-bundle every Vuetify component the app renders#1871 · 2026-09-28
- docs(claude): fix bugs freely; propose product and interaction changes first#1870 · 2026-09-28
- docs(readme): stop promising an automatic Claude review#1869 · 2026-09-28
- fix(remote-execution): replace the lease token file whole, never truncate it#1867 · 2026-09-28
- ci(remote): remove the private images each run supersedes#1868 · 2026-09-28
- test(equivalence): keep git maintenance off the fixture template#1822 · 2026-09-28
- ci(remote): keep acceptance setup off the host apt lock#1866 · 2026-09-28
- feat(docs): interactive demos in the developer docs#1865 · 2026-09-28
- feat(memory): file-per-memory store with team/private scopes, CC-style prompt#1814 · 2026-09-27
- feat(spaces): publish a batch of tasks from a PDF on the board#1793 · 2026-09-27
- style(card): tame brief markdown and show names on the task card#1846 · 2026-09-27
- feat(composer): @ 候选菜单用 ↑/↓ 选人,回车挑高亮那一项#1852 · 2026-09-27
- fix(topics): keep a room's green dot on while work under it is running#1851 · 2026-09-27
- fix(topics): light the sidebar's orange dot only for decisions awaiting you#1847 · 2026-09-27
- fix(integrations): a mail search returns only what really matches#1850 · 2026-09-27
- fix(frontend): stop the doc editor eating bare HTML tags and CJK-run-on URLs#1845 · 2026-09-27
- fix(integrations): a Feishu read does not fail on the link lookup#1843 · 2026-09-27
- feat(room): a drafted rule or work method links straight to its confirm#1844 · 2026-09-27
- fix(agent): ask every teammate to start the topic doc when it is empty#1849 · 2026-09-27
- test(mcp): look the transcript up while waiting for it, not once before#1813 · 2026-09-27
- test(agent): 让「两人同时 @」那条用例自己定先后,不再赌投递竞态#1840 · 2026-09-27
- fix(ask): route an option answer back to the teammate that asked#1841 · 2026-09-27
- feat(spaces): put the average completion rate on the board's My page#1839 · 2026-09-27
- feat(proto-board): show 「等我判」 beside 「平均完成率」 on 我的#1836 · 2026-09-27
- fix(api): commit create writes before the response is sent#1833 · 2026-09-27
- fix(topics): stop a cut-off naming answer from leaving a room unnamed#1838 · 2026-09-27
- fix(accept): a card's decision routes require room membership#1832 · 2026-09-27
- feat(board): a task that has been worked on is not "not started"#1831 · 2026-09-27
- fix(integrations): look past a fake-ip proxy before refusing a mail host#1834 · 2026-09-27
- fix(api): check body-supplied foreign keys before they land#1830 · 2026-09-27
- feat(spaces): the space entry is the new board, one role vocabulary#1789 · 2026-09-27
- docs(manual): fix the two anchors check-manual-anchors rejects#1835 · 2026-09-27
- fix(routines): stop reading a turn row's stop as the work being done#1829 · 2026-09-27
- fix(tasks): bind a review to its task and participant#1820 · 2026-09-27
- fix(authz): reuse the parent's door on two read routes#1828 · 2026-09-27
- fix(authz): gate invite codes and question invitations#1826 · 2026-09-27
- fix(members): the transfer dialog offers the team's members#1818 · 2026-09-27
- fix(room): show the teammate actually running the turn#1817 · 2026-09-27
- fix(authz): gate participant detail, attachment read and pdf preview#1825 · 2026-09-27
- fix(analytics): neutralise spreadsheet formulas in CSV exports#1821 · 2026-09-27
- feat(spaces): board shell hosts task detail, publish and analytics#1788 · 2026-09-27
- fix(routines): a run folded into live work is not failed for no report#1827 · 2026-09-27
- WIP: 记忆改造④总览自动渲染与话题文档模板、写入检查#1815 · 2026-09-27
- docs: link the product positioning doc#1823 · 2026-09-27
- docs(prompt): generate a system prompt reference from the code#1819 · 2026-09-27
- fix(memory): retire cheese_remember everyone appends to the overview doc#1816 · 2026-09-27
- feat(topics): let the platform name rooms and rename them#1768 · 2026-09-27
- fix(preview): load pdf.js legacy build so older browsers can render#1812 · 2026-09-27
- ci(remote): reinstall a Claude Code that does not run before using it#1811 · 2026-09-27
- feat(tasks): a task carries attachments, gated to its claimants#1786 · 2026-09-27
- fix(task): a passed deadline leaves handed-in work alone#1810 · 2026-09-27
- fix(spaces): one judgement for submitted counts and visibility badges#1809 · 2026-09-27
- fix(space): count SUCCESS completions and sort null deadlines last#1808 · 2026-09-27
- fix(authz): shut four routes that took an id for a credential#1807 · 2026-09-27
- fix(attachments): keep a non-ascii filename out of the header#1806 · 2026-09-27
- feat(spaces): an announcement can be pinned, and the home page shows it#1797 · 2026-09-27
- fix(tasks): the audit queue asks for the submission form it shows#1798 · 2026-09-27
- fix(spaces): default the analytics task sort to a sortable key#1795 · 2026-09-27
- test(e2e): give the teams-detail case a budget that fits its waits#1792 · 2026-09-27
- feat(templates): start office files from standard or user templates#1773 · 2026-09-27
- feat(room-files): edit office files in the room, with save history#1772 · 2026-09-27
- fix(workspace): rebuild the topic view per topic so no topic's content shows in the next#1800 · 2026-09-27
- fix(teams): a taken team name says so instead of "try again later"#1802 · 2026-09-27
- fix(feedback): a duplicate proposal refusal says whether the card is still waiting#1801 · 2026-09-27
- fix(room): stop ends a run even when its session is not answering#1803 · 2026-09-27
- fix(claude-code): a session that dies on its way up says why#1804 · 2026-09-27
- fix(deploy): the private executor keeps its local name through the prune#1805 · 2026-09-27
- ci: run the two Remote Bash equivalence shells side by side#1799 · 2026-09-27
- test(frontend): give the work-panel tab test a budget above its own waits#1790 · 2026-09-27
- feat(spaces): owners and admins can edit or revoke a live invite code#1785 · 2026-09-26
- feat(docs): overview page, ask about a selection, teaching docs synced#1787 · 2026-09-26
- fix(courses): five teaching bugs found while rewriting the manual#1781 · 2026-09-26
- WIP: 文档站:手机端溢出、PC 端铺满与清晰度、补真实截图#1774 · 2026-09-26
- feat(teams): edit a team's name, intro and avatar from the sidebar#1784 · 2026-09-26
- feat(spaces): anyone on a board may publish, the owners and admins still approve#1783 · 2026-09-26
- fix(site): render site narration as markdown#1739 · 2026-09-26
- feat(docs): AI teammates search and read the docs#1776 · 2026-09-26
- ci(remote): free the slot's owner port before acceptance runs#1782 · 2026-09-26
- feat(skills): a project saves a way of working and its sessions load it#1756 · 2026-09-26
- fix(room): reset the hover bar on topic switch so a short topic is not blank#1780 · 2026-09-26
- docs(skill): a file delivery still needs a commit on its task branch#1777 · 2026-09-26
- feat(integrations): a person's mailbox and Feishu, lent to projects#1759 · 2026-09-26
- fix(agent): end a pi turn on its outcome, not on a failed call it retries#1767 · 2026-09-26
- test(thread): wait for the worker's records to land instead of a fixed pump#1778 · 2026-09-26
- docs: point the Vision link at the current vision#1779 · 2026-09-26
- feat(site): pick one agent's work in a room several agents share#1764 · 2026-09-26
- fix: close R1-R3 of the office work (pdf blank, sheet gate, agent 403)#1770 · 2026-09-26
- feat(site): keep the tail of what each step printed and show it in the expand#1763 · 2026-09-26
- docs(skill): say where a change_alert lands and how it is read#1771 · 2026-09-26
- feat(routines): standing work on a clock or a project event#1752 · 2026-09-26
- feat(documents): read files with positions, search the project, cite#1758 · 2026-09-26
- fix(metering): an unreachable upstream fails in seconds, not minutes#1775 · 2026-09-26
- fix(usage): an unmetered turn names the model it ran on#1766 · 2026-09-26
- fix(room): links to a task open its card in the room, not a missing topic#1769 · 2026-09-26
- feat(home): rebuild the public homepage around 众智成事#1747 · 2026-09-26
- feat(site): live 现场 with a status line that says what the turn is doing#1762 · 2026-09-26
- feat(docs): replace the VitePress manual with the new docs site#1754 · 2026-09-26
- feat(agent): the step checklist is a platform tool on every harness#1761 · 2026-09-26
- perf(frontend): no layout shift on first load, and a faster room#1765 · 2026-09-26
- fix(metering): meter compressed subscription SSE and ship claude-login.sh#1760 · 2026-09-26
- fix(agent): a recovered turn stays with the agent whose session it is#1755 · 2026-09-26
- feat(admin): dashboard tab layout and performance panel rework#1736 · 2026-09-26
- fix(agent): launch Claude Code on the bound model#1751 · 2026-09-26
- fix(llm-tunnel): cut a tunnel that has carried nothing for 3 minutes#1750 · 2026-09-26
- feat(prototypes): first docs-site redesign preview and logo motion#1749 · 2026-09-26
- feat(room): the composer carries the reply, and a reply carries its message#1743 · 2026-09-26
- test: wait on events, not on 1-2 s deadlines around real work#1745 · 2026-09-26
- fix(metering): a gateway request never leaves through the credential egress#1741 · 2026-09-26
- perf(frontend): lighter first paint, and system fonts instead of Roboto#1742 · 2026-09-26
- fix(harness): land mirror records off the event loop#1744 · 2026-09-26
- fix(work-lease): a session that will not wait for its machine is still answered#1740 · 2026-09-26
- fix(remote-execution): relaunch a placeholder session only when its machine answers#1734 · 2026-09-25
- feat(room): rework the chat column's rows, grouping and motion#1738 · 2026-09-25
- fix(runtime): hand running turns over across a backend rollout#1733 · 2026-09-25
- test(chat): wait for the runner turn instead of racing a 2 s deadline#1735 · 2026-09-25
- feat(spaces): serve the redesigned board on a real route#1728 · 2026-09-25
- fix(layout): the team workspace keeps its scroll#1726 · 2026-09-25
- WIP: 看板 v3 排版落地:页首/KPI/图表/表格 + 性能页重排#1732 · 2026-09-25
- fix(remote-execution): a session started before its machine moves onto it once idle#1729 · 2026-09-25
- fix(copy): run failures say what happened, and the room offers a retry#1727 · 2026-09-25
- ci: require remote acceptance after the clean-run criterion is met#1571 · 2026-09-25
- fix(copy): backend strings people read follow the copy rules#1725 · 2026-09-25
- fix(copy): the workbench uses one plain vocabulary#1718 · 2026-09-25
- feat(proto-board): 加入空间公告#1647 · 2026-09-25
- fix(legal): the terms and privacy pages scroll#1722 · 2026-09-25
- test(login): show a wait is not lengthened without racing its end#1721 · 2026-09-25
- fix(pi): a job's forked child never runs the supervisor's failure path#1720 · 2026-09-25
- fix(native-shell): a collected command is no longer running#1719 · 2026-09-25
- fix(ui): a button is amber only when it is the action of its area#1708 · 2026-09-25
- fix(workbench): the pages around the room, and the review's leftovers#1709 · 2026-09-25
- fix(remote-execution): a room's Bash is Claude Code's on the executor, paths and shell included#1715 · 2026-09-25
- feat(profile): one personal page, and following people is gone#1716 · 2026-09-25
- ci: build and deliver the private-chat executor image#1713 · 2026-09-25
- feat(realname): one real-name page you can read, change and delete#1711 · 2026-09-25
- fix(execution): a command waits for its machine while it is prepared#1714 · 2026-09-25
- fix(agent): relaunch a session whose launch-only files changed, once nothing is running#1707 · 2026-09-25
- fix(notify): a change alert is readable in the inbox it lights#1632 · 2026-09-25
- feat(agent): offer Claude Opus 5.5 and pin Claude Code 2.1.282#1710 · 2026-09-25
- fix(skills): a new room gets the skill's own scripts#1631 · 2026-09-25
- fix(access): an agent reads the project's record#1629 · 2026-09-25
- feat(sheets): check what a formula reads, not just that it computes#1630 · 2026-09-25
- fix(preview): name the page that failed instead of leaving it blank#1628 · 2026-09-25
- fix(desktop): build the macOS app bundle too, so its update artifact exists#1706 · 2026-09-25
- fix(legal): commit consent before answering#1705 · 2026-09-25
- fix(memory): only a project's own people read or prune its memory#1704 · 2026-09-25
- feat(profile): the data a personal page shows#1702 · 2026-09-25
- feat(desktop): the app updates itself#1695 · 2026-09-25
- feat(settings): a profile page in the settings style#1703 · 2026-09-25
- feat(room): motion where the room used to jump, and loops that can stop#1681 · 2026-09-25
- fix(subscriptions): the upstream model must use the openai/ provider#1701 · 2026-09-25
- fix(remote-execution): a stop reaches the command even when the shell prefix dies first#1700 · 2026-09-25
- feat(forge): run fj on Windows devices#1693 · 2026-09-25
- fix(members): prose captions in the reading face, unread count on the icon#1699 · 2026-09-25
- feat(metering): the Claude credential can leave through an egress of its own#1698 · 2026-09-25
- feat(connector): Windows installs from PowerShell; fix the self-update hand-off race#1694 · 2026-09-25
- feat(remote-execution): run a room's Bash natively, with only the process on the executor#1696 · 2026-09-25
- feat(metering): the proxy holds the platform Claude credential#1697 · 2026-09-25
- feat(room): one waiting-on-you dot, amber back to send and unread, readable type#1678 · 2026-09-25
- fix(members): the members page asks the project whether you manage it#1692 · 2026-09-25
- test(remote-execution): background test waits on the command, not a clock#1691 · 2026-09-25
- fix(compute): everyone on a project may run its rooms on cloud#1689 · 2026-09-25
- fix(sandbox): drop the json option from the chat read tools#1690 · 2026-09-25
- feat(desktop): signing in to the desktop app connects this computer (macOS, Windows)#1672 · 2026-09-25
- chore(ci): drop the second copy of the manual-baseline comment#1688 · 2026-09-25
- fix(metering): a login-less session boots cleanly and fails loudly#1687 · 2026-09-25
- feat(devices): a Windows PC is a device natively, without WSL#1682 · 2026-09-25
- fix(ci): name every image tag the way the build publishes it#1684 · 2026-09-25
- fix(ci): a manual full build counts as the image baseline#1685 · 2026-09-25
- fix(remote-execution): run a project's own hooks as plain Claude Code does#1683 · 2026-09-25
- fix(connector): one command connects a machine, and every hint names it#1674 · 2026-09-25
- fix(profile): a profile shows only what the viewer may see#1680 · 2026-09-25
- fix(identity): only the owner reads their real-name record#1679 · 2026-09-25
- docs: say which tests are worth keeping, and bring the test rules up to date#1677 · 2026-09-25
- feat(account): trust a device for 30 days and keep sudo open for 10 minutes#1676 · 2026-09-25
- feat(agent): drive Claude Code headless through a runner, like Codex and pi (#1606)#1675 · 2026-09-25
- fix(copy): call 题目板 a 空间 and 小队 a 团队#1648 · 2026-09-25
- feat(room): dock the accept card and clear the end of the conversation#1673 · 2026-09-25
- chore(scripts): drop the seed scripts that no longer run#1655 · 2026-09-25
- feat(membership): the team is the way into a project; outsiders are external members#1639 · 2026-09-25
- feat(account): require a verified email for every account#1669 · 2026-09-25
- feat(room): steady panel tabs, a folded board and a lighter header#1671 · 2026-09-25
- test(e2e): use API sign-in for non-auth browser scenarios#1670 · 2026-09-25
- feat(account): sign in and confirm identity with a mailed code#1668 · 2026-09-25
- feat(agent): sessions log in with the central host's own Claude credential; retire ccproxy#1626 · 2026-09-25
- ci: retain clean E2E test durations#1667 · 2026-09-25
- fix: authorize active Cloud devices for session execution#1663 · 2026-09-25
- fix: commit connector device codes before responding#1666 · 2026-09-25
- fix(feedback): commit admin writes before response#1665 · 2026-09-25
- ci: require clean evidence uploads and retain receipt logs#1664 · 2026-09-25
- feat(workspace): one frame for the project's pages#1661 · 2026-09-25
- test(e2e): wait for admin assignment response#1662 · 2026-09-25
- fix(device): relaunch a screen whose resident release fails in place#1657 · 2026-09-24
- test: await subscription hook persistence before reading frames#1650 · 2026-09-24
- test(e2e): observe sign-in before transient state expires#1659 · 2026-09-24
- test: import account cache helper once per suite#1658 · 2026-09-24
- fix(ci): reuse pinned owner image without registry access#1656 · 2026-09-24
- Allow idle executor upgrades with unknown tasks#1625 · 2026-09-24
- fix(platform-tools): read machine files in pieces the build returns whole#1653 · 2026-09-24
- test: retain chat request identity after a lost response#1652 · 2026-09-24
- test(milestones): a turn pins milestones only in its own room#1651 · 2026-09-24
- fix: use rotated room token for platform requests#1621 · 2026-09-24
- Reconcile task PRs merged without accept cards#1622 · 2026-09-24
- Release admission DB connection before gateway lookup#1624 · 2026-09-24
- fix(agent): fetch missing forwarded context tree on screen reuse#1620 · 2026-09-24
- fix(agent): preserve large platform tool receipts#1618 · 2026-09-24
- fix(session-work): refresh saved executor URL before reuse#1617 · 2026-09-24
- fix(auth): keep sign-in sessions server-side and rotate refresh tokens#1646 · 2026-09-24
- feat(account): move people onto passkeys right after they sign in#1642 · 2026-09-24
- fix(ci): run the test object store on the maintained MinIO fork#1649 · 2026-09-24
- feat(shell): bring the rail, top bar, user menu and My Work onto the design system#1645 · 2026-09-24
- feat(account): confirm identity in a dialog instead of a separate page#1643 · 2026-09-24
- fix(account): fall back to the plain pane when the scene's GPU context is lost#1644 · 2026-09-24
- feat(subscriptions): let imports pick the upstream model#1627 · 2026-09-24
- fix(auth): require passkey user verification and limit sign-in by client address#1641 · 2026-09-24
- feat(space): a clickable prototype for the board redesign#1534 · 2026-09-24
- fix(chat): stamp delivered messages read when a turn outlives its backend#1638 · 2026-09-24
- fix(account): a Caps Lock warning that is seen, and passkeys that say where they work#1637 · 2026-09-24
- fix(account): a steady sign-in page, and a new scene on every opening#1636 · 2026-09-24
- feat(account): rebuild the account pages on a design system led by principles#1623 · 2026-09-24
- fix(backend): record the real client address behind our proxies#1584 · 2026-09-24
- feat(platform-tools): run pure platform actions as session-side MCP tools#1635 · 2026-09-24
- test(claude): pin the headless behaviours the driver plan still assumed#1634 · 2026-09-24
- refactor(harness): share the driven-runner machinery between codex and pi#1633 · 2026-09-24
- feat(project): ask what the project is for, and open its room with the answer#1327 · 2026-09-24
- feat(llm): point subagent model selection at the project model catalog#1579 · 2026-09-24
- test(e2e): wait for connector device approval#1619 · 2026-09-24
- Use the official Debian HTTPS CDN for the E2E browser image#1616 · 2026-09-24
- feat(prompt): a new session in a room with history is told to read the chat#1615 · 2026-09-24
- fix(panels): the API that changes a resource tells the room, not a guess at the command#1613 · 2026-09-24
- fix(claude-code): guard --setting-sources user; drop the unreachable warm-native launch#1610 · 2026-09-24
- feat(cleanup): stop uploading transcripts; keep them on the session host for 30 days#1611 · 2026-09-24
- docs(harness): Codex and pi are unregistered only until they answer the four requirements#1609 · 2026-09-24
- test(claude): pin the headless stream-json behaviours the driver needs#1608 · 2026-09-24
- fix(session-work): give each work-lease dialer its configured API base#1598 · 2026-09-24
- Wait for timed delivery receipt in integration test#1605 · 2026-09-24
- fix(tunnel): let the machine choose each room's helper port#1602 · 2026-09-24
- fix(remote-execution): refuse isolated subagents in central sessions#1601 · 2026-09-24
- fix(sandbox): declare the profiles cheese_machine accepts#1600 · 2026-09-24
- Try hosted runner for browser E2E#1604 · 2026-09-24
- Measure bounded tmpfs storage for hosted integration databases#1603 · 2026-09-24
- fix(device): relaunch a reused screen a resident release cannot reach#1599 · 2026-09-24
- Observe integration runner resources without changing test results#1597 · 2026-09-24
- Report GitHub installation rate limits during PR ready#1595 · 2026-09-24
- Wait for executor lock before completing stop#1596 · 2026-09-24
- Keep Claude Code sessions alive while background workflows run#1594 · 2026-09-24
- Allow project workflow saves in remote Claude Code sessions#1590 · 2026-09-24
- Isolate acceptance tmux servers across concurrent runs#1593 · 2026-09-24
- Run project machine service tests on request loop#1592 · 2026-09-24
- refactor(rc): drop the worker event journal and its read endpoint#1589 · 2026-09-24
- test: run cloud provisioning on the request event loop#1591 · 2026-09-24
- Remove Forgejo upstream polling#1586 · 2026-09-24
- fix(ci): stop automatic global Docker pruning on shared runners#1588 · 2026-09-24
- fix(ci): keep e2e services outside ephemeral ports#1587 · 2026-09-24
- test: exercise production database pools#1558 · 2026-09-24
- feat(membership): permanent join links, stealth teams, and team handles#1553 · 2026-09-24
- fix(metering): use enrolled machine identity for placed sessions#1585 · 2026-09-24
- fix(preview): a document still parses while the first relayout runs#1542 · 2026-09-24
- fix(deploy): use immutable metering images in dev releases#1581 · 2026-09-24
- fix(auth): keep 2FA secrets in Postgres, encrypted, and hash backup codes#1577 · 2026-09-24
- test: route terminal acceptance through the released owner#1570 · 2026-09-24
- fix(deploy): release metering addon with dev app#1578 · 2026-09-24
- Complete non-memory execution and delivery fixes from the architecture audit#1521 · 2026-09-24
- fix(hooks): keep old agent CLI from blocking prompts#1576 · 2026-09-24
- fix(rc): retry one Redis worker stream timeout#1575 · 2026-09-24
- fix(auth): limit and background password recovery mail#1574 · 2026-09-24
- test: receive room snapshots and reject fixture errors#1562 · 2026-09-24
- fix(account): rework the sign-in and sign-up pages#1560 · 2026-09-24
- Prepare execution owners to read session lease identities#1516 · 2026-09-24
- test: await late subscription hooks#1573 · 2026-09-24
- fix(rc): expire event dedup markers with the worker, drop thinking progress#1568 · 2026-09-24
- fix(edge): send www and hk visitors to okcheese.com#1567 · 2026-09-24
- fix(ci): wait through object storage startup resets#1554 · 2026-09-24
- test: verify released owner image during backend rollout#1557 · 2026-09-24
- fix(deploy): check GitHub runs without runner gh#1566 · 2026-09-24
- fix(preview): ignore disconnect during websocket cleanup#1564 · 2026-09-24
- feat(admin): 后台四页重设计 + ChatGPT 订阅导入全栈#1548 · 2026-09-24
- fix(auth): keep the sign-in cookies for as long as the tokens last#1563 · 2026-09-24
- test: allow floating-point rounding in throughput rates#1561 · 2026-09-24
- fix(ci): retry transient feedback API reads#1565 · 2026-09-24
- fix(gateway): drain usage across every missed day#1559 · 2026-09-24
- fix(ci): gate automatic deployments on exact-commit validation#1556 · 2026-09-24
- test(e2e): scope room draft screenshot#1555 · 2026-09-24
- fix(forge): fast-forward opted-in upstream repositories#1552 · 2026-09-24
- fix(ci): retain every main acceptance run#1550 · 2026-09-24
- fix(ci): keep clean acceptance streaks branch-specific#1551 · 2026-09-24
- fix(usage): commit gateway ledger with checkpoint#1549 · 2026-09-24
- fix(usage): store gateway token deltas beyond int32#1547 · 2026-09-24
- feat(legal): publish the terms and privacy policy, and record consent (#1486)#1509 · 2026-09-24
- chore(ops): the okcheese probe watches the mainland certificate#1546 · 2026-09-24
- refactor(auth): remove SRP from the backend#1545 · 2026-09-23
- feat(auth): sign in and register without SRP in the web client#1543 · 2026-09-23
- feat(agent): budget the doc blocks and stop paying every turn for what is on demand#1539 · 2026-09-23
- feat(auth): accept plaintext passwords for SRP accounts#1541 · 2026-09-23
- fix(auth): sign-in returns to the link that demanded it#1220 · 2026-09-23
- fix(oauth): require re-authentication to unbind a connection#1540 · 2026-09-23
0.18.02026-09-23上线正式环境 · 建议版本号908 项改动
修复共 388 项修复,集中在远端执行、预览、会话恢复和文案
全部 908 项改动
- feat(agent): subagents can be pointed at a project teammate's model#1536 · 2026-09-23
- fix(auth): enforce unique account identifiers and one username rule#1498 · 2026-09-23
- feat(room): render a room's own web page in the sandboxed frame#1538 · 2026-09-23
- fix(project): leave and transfer live only in the project menu#1537 · 2026-09-23
- feat(space): the delete entry sits in the edit dialog's danger zone#1533 · 2026-09-23
- fix(agent): read the MCP prefix off the server that is actually there#1512 · 2026-09-23
- fix(gateway): raise the spend-log timeout past what the endpoint actually takes#1527 · 2026-09-23
- fix(auth): bound authentication attempts and handle overlong passwords#1497 · 2026-09-23
- feat(admin): manage the gateway's models, usage and budgets#1525 · 2026-09-23
- fix(agent): stop a tool receipt from becoming an empty text block#1530 · 2026-09-23
- feat(changes): fold a task's changed files until asked for#1514 · 2026-09-23
- fix(oauth): require verified email and invite code, keep one sign-in#1499 · 2026-09-23
- fix(gateway): filter empty Anthropic text blocks#1528 · 2026-09-23
- fix(deploy): run certbot as the renewing user so its files can be copied#1529 · 2026-09-23
- fix(auth): send the SRP proof to 2FA users and reject malformed hex#1490 · 2026-09-23
- feat(deploy): terminate the public names' TLS at the box front door#1526 · 2026-09-23
- ci: publish clean test evidence#1520 · 2026-09-23
- ci: stop the required-check finalizer after cancellation#1517 · 2026-09-23
- test: finish resumed turn before teardown#1524 · 2026-09-23
- fix(agent): bound launcher shutdown to foreground agent#1523 · 2026-09-23
- feat(email): retry a failed send through a fallback SMTP account#1522 · 2026-09-23
- fix(changes): stop polling closed task diffs#1519 · 2026-09-23
- feat(space): a course's module switches and this week's parameters#1463 · 2026-09-23
- ci: distinguish clean test evidence from workflow success#1518 · 2026-09-23
- feat(admin): the member roster carries names and faces, and revalidates#1513 · 2026-09-23
- fix(feedback): close seven defects an adversarial audit found#1510 · 2026-09-23
- feat(admin): the board answers all seven, every endpoint shows#1467 · 2026-09-23
- fix(auth): restore the change-password endpoint#1494 · 2026-09-23
- ci: isolate E2E browser networking from concurrent jobs#1508 · 2026-09-23
- fix(agent): wait only for the replayed hook tail#1511 · 2026-09-23
- fix(auth): require re-authentication to manage 2FA and passkeys#1493 · 2026-09-23
- feat(teaching): a quiz hangs on a week, answers stay with the teacher#1465 · 2026-09-23
- test: cover overlapping reconnects and released owner compatibility#1507 · 2026-09-23
- fix: stop a box-wide gateway lock, a short stream watchdog, and a duplicate dashboard fetch#1502 · 2026-09-23
- fix(gateway): retain retry clients until response streams close#1506 · 2026-09-23
- ci: measure Required CI feedback continuously#1505 · 2026-09-23
- fix(connector): register exec cancellation before launch#1501 · 2026-09-23
- fix(forge): handle peer disconnect during tunnel cleanup#1500 · 2026-09-23
- fix(oauth): validate the OAuth state on callback#1495 · 2026-09-23
- fix(auth): refuse X-User-Id on compose deployments#1492 · 2026-09-23
- fix(oauth): make account binding single-use, rate-limited and 2FA-aware#1489 · 2026-09-23
- Remove the unverified OAuth link endpoint#1488 · 2026-09-23
- feat(project): join through revocable invitation links#1496 · 2026-09-23
- test(tunnel): own integration helper lifetimes#1491 · 2026-09-23
- feat(room): shown files in the chat, room files as tabs, Monaco on demand#1474 · 2026-09-23
- fix(control): preserve room state during owner reconnects#1477 · 2026-09-23
- ci(e2e): preserve flaky attempt artifacts#1475 · 2026-09-23
- ci: measure required check feedback time#1476 · 2026-09-23
- fix(websocket): handle clients that disconnect during handshake#1473 · 2026-09-23
- refactor(room): one bar per layer, and motion where the room used to jump#1472 · 2026-09-23
- test: isolate launcher storage and warm-adoption contracts#1470 · 2026-09-23
- fix(deploy): check routed health after restarting migrated backend#1471 · 2026-09-23
- test: enforce frontend fetch isolation and control search debounce#1469 · 2026-09-23
- fix(feedback): deliver files, expose project exit, and preserve edit results#1466 · 2026-09-23
- fix(alerts): retry truncated uploads and keep spool cleanup off the event loop#1468 · 2026-09-23
- refactor(chat): split the room panel into composables and components#1455 · 2026-09-23
- feat(space): the screen where a teacher collects and grades#1460 · 2026-09-23
- feat(space): the people in a course, and the group you are in#1459 · 2026-09-23
- feat(admin): the board now answers is the product delivering#1464 · 2026-09-22
- feat(teaching): a course is a timeline of units#1457 · 2026-09-22
- feat(space): a course link brings a student into their one project#1456 · 2026-09-22
- feat(space): a course's teaching config, and when it takes effect#1373 · 2026-09-22
- feat(admin): the board counts the whole board, and says how#1452 · 2026-09-22
- feat(feedback): a search puts what you meant at the top#1462 · 2026-09-22
- feat(space): a course opens on its own pages and its own sidebar#1454 · 2026-09-22
- feat(feedback): a second word narrows the search instead of emptying it#1458 · 2026-09-22
- feat(feedback): a person cannot file reports without end#1453 · 2026-09-22
- fix(design): measure meta text against the ground it is actually painted on#1328 · 2026-09-22
- WIP: 题目板角色:教师 = 管理员(读全班对话 / 打分 / 发布题目),并收口花名册导出#1450 · 2026-09-22
- feat(space): a new 题目板 is a course — its default 分组 declares the course 壳#1448 · 2026-09-22
- fix(deploy): the nightly reclaim never looked at /tmp, and that is what filled#1451 · 2026-09-22
- feat(chat): a room reads as a record, not as an instant messenger#1447 · 2026-09-22
- feat(agent): the tool that asks for feedback now says when to use it#1446 · 2026-09-22
- feat(feedback): four filters on the feedback centre — author, kind, status, time#1445 · 2026-09-22
- fix(admin): p95 was 10 seconds for every busy route#1449 · 2026-09-22
- feat(admin): a fourth board — which endpoints are slow right now#1443 · 2026-09-22
- fix(admin): the usage board was drawing text on top of text#1439 · 2026-09-22
- feat(feedback): delete a report — yours, or anyone's if you are an admin#1444 · 2026-09-22
- fix(avatars): answer If-None-Match with 304, and say what is actually missing#1442 · 2026-09-22
- feat(shell): the feedback entry becomes a Help and feedback menu#1441 · 2026-09-22
- feat(project): show real weekly reports in the project docs#1428 · 2026-09-22
- feat(space): the invite code is visible where it can be handed out#1440 · 2026-09-22
- feat(agents): separate project and native subagent models with teammate onboarding#1436 · 2026-09-22
- feat(machine): support cloud suspend and resume#1438 · 2026-09-22
- fix(connector): authorize project enrollment and handle disconnected sockets#1437 · 2026-09-22
- Parallelize backend CI and verify every selected test runs#1435 · 2026-09-22
- fix(feedback): the six things the review found, and the bar's overflowing label#1434 · 2026-09-22
- docs: add Cheese testing skill and contract map#1429 · 2026-09-22
- feat(space): a 题目版 is visible to the people in it#1295 · 2026-09-22
- feat(feedback): submit as a page, a card that votes from the right, narrow screens, and a dashboard that draws what it returns#1433 · 2026-09-22
- ci(build): move image builds off the dev host#1431 · 2026-09-22
- Allow a second maintainer to approve etrip deployments#1432 · 2026-09-22
- Add MiMo V2.6 Pro Token Plan gateway route#1430 · 2026-09-22
- chore(memory): retire the shared project pool after verified backup#1426 · 2026-09-22
- fix(owner): release completed task inventory results#1427 · 2026-09-22
- refactor(memory): there is no project pool; what everyone must see is a document#1417 · 2026-09-22
- feat(cloud): show startup steps and elapsed time in the waiting message#1425 · 2026-09-22
- fix(navigation): keep Home visible while projects scroll#1424 · 2026-09-22
- feat(feedback): the console becomes a triage desk, and the dashboard reads the whole platform#1404 · 2026-09-22
- fix(ci): persist dependency and action caches#1418 · 2026-09-22
- chore(schema): the alerts table goes, after its rows have landed twice#1415 · 2026-09-22
- test(e2e): the wrong-credentials login uses a name unique to the run#1422 · 2026-09-22
- fix(settings): allow changing the project default model#1423 · 2026-09-22
- refactor(work): opening work leaves a branch, a card and an owner#1396 · 2026-09-22
- fix(models): honor the configured default for unset projects#1421 · 2026-09-22
- Classify gateway failures and verify authenticated readiness#1419 · 2026-09-22
- fix(chat): remove the room-wide environment banner#1420 · 2026-09-22
- feat(gateway): add Kimi K3 with native Messages metering#1416 · 2026-09-22
- refactor(memory): a pool belongs to one instance inside one project#1395 · 2026-09-22
- refactor(llm): one launch environment, and one admission point#1376 · 2026-09-22
- refactor(notification): two notification tables become one#1406 · 2026-09-22
- feat(space): create and review problem boards#1400 · 2026-09-22
- fix(review): support GitHub merge queue acceptance#1412 · 2026-09-22
- feat(harness): four hard requirements for a native subagent#1397 · 2026-09-22
- feat(feedback): the room that filed it can see it#1403 · 2026-09-22
- chore(schema): topics drops private_owner and private_peer#1408 · 2026-09-22
- docs: describe required CI and merge queue#1411 · 2026-09-22
- ci: require selected checks for pull requests and merge queue#1407 · 2026-09-22
- test(shell): the no-component guard skips spec fixtures#1410 · 2026-09-22
- test(members): the leave tests count people, not the roster's own 芝士#1409 · 2026-09-22
- feat(tools): the platform tool table is a session-side constant, complete while the machine is offline#1391 · 2026-09-22
- feat(web): the home page answers what is on my plate#1321 · 2026-09-22
- feat(members): a member can leave a project on their own#1216 · 2026-09-22
- feat(space): a learning tab that shows where students got stuck#1390 · 2026-09-22
- fix(ci): select successful baselines from completed builds#1405 · 2026-09-22
- fix(deploy): prevent automatic releases from moving backwards#1401 · 2026-09-22
- refactor(harness): the harness is a deployment setting, and no code reads its name#1394 · 2026-09-22
- refactor(notification): the social notifications go through the ledger too#1393 · 2026-09-21
- refactor(roster): one roster, agents included#1384 · 2026-09-21
- fix(deploy): keep device connections alive across application rollouts#1399 · 2026-09-21
- fix(workspace): show new rooms immediately and bound remote failure handling#1392 · 2026-09-21
- refactor(work): a subagent reaches its card by its thread id, not by a bind call#1378 · 2026-09-21
- refactor(scheduler): dissolve the scheduler package#1389 · 2026-09-21
- refactor(chat): is_private survives as two seats and a scratch space#1386 · 2026-09-21
- feat(artifacts): compare two delivered documents by their words, not their bytes#1385 · 2026-09-21
- chore(schema): the three fields leave the type and the instance#1387 · 2026-09-21
- feat(local-fs): directory-scoped grants on the user's own machine#1294 · 2026-09-21
- feat(authz): one answer to who may read a project#1293 · 2026-09-21
- feat(admin): the admin area becomes a shell, with members as its second section#1371 · 2026-09-21
- refactor(turn): the platform delivers, it never starts a turn#1370 · 2026-09-21
- fix(documents): a document conflict is redone on the other side, never merged#1383 · 2026-09-21
- feat(shell): declare a shell on a project set and render by it#1292 · 2026-09-21
- refactor(agent): nothing reads the model, the harness or the effort off a type or an instance#1375 · 2026-09-21
- fix(workspace): let room interaction proceed while background reads load#1382 · 2026-09-21
- refactor(chat): a private chat's two seats live in the roster#1380 · 2026-09-21
- fix(project): a project's default model is a setting someone can actually set#1381 · 2026-09-21
- feat(policy): a call the policy gate stops becomes a proposal to a person#1374 · 2026-09-21
- feat(review): show what the accept card delivers, and hand over the file#1377 · 2026-09-21
- fix(workspace): start invited teammates and isolate pending project requests#1379 · 2026-09-21
- refactor(identity): an agent signs with its instance handle#1367 · 2026-09-21
- fix(room_task): tell a quiet worker apart from a dead one#1323 · 2026-09-21
- feat(work): the model is bound to the work, and shown from what it spent#1365 · 2026-09-21
- refactor(memory): delete the backend nothing ran and the clock that organized nothing#1334 · 2026-09-21
- chore(schema): system leaves the enum#1368 · 2026-09-21
- feat(gateway): the pool offers what the gateway routes, not a second list#1338 · 2026-09-21
- feat(place): a platform-side record of what was dispatched, read before any retry#1360 · 2026-09-21
- feat(delivery): a notification that did not go out leaves a row, and gets sent again#1357 · 2026-09-21
- feat(project): stack 等你决定 into a deck, and let board cards move#1369 · 2026-09-21
- chore(schema): topics drops session_placement#1362 · 2026-09-21
- feat(artifacts): a merge delivers the repository, and each item says what it is#1342 · 2026-09-21
- feat(gateway): build and release gateway through CI#1366 · 2026-09-21
- feat(project): 做出了什么 is the board's last column, not a slab above it#1343 · 2026-09-21
- feat(feedback): 评论能点赞、楼里说得出在回谁、自己的评论能删#1356 · 2026-09-21
- Recover dead prompt sessions and report incomplete model streams#1363 · 2026-09-21
- refactor(block): the platform signs its events as platform#1361 · 2026-09-21
- fix(agent): preserve images through remote Read and DeepSeek#1358 · 2026-09-21
- ci: run backend tests when metering proxy changes#1364 · 2026-09-21
- feat(project): a project is created with its 芝士 instance and its seat#1351 · 2026-09-21
- fix(forge): prevent native fj from panicking on merged PR status#1359 · 2026-09-21
- feat(place): a place says what it can do, and a reclaim asks before it stops the machine#1353 · 2026-09-21
- chore(schema): the two old author values leave the enum#1346 · 2026-09-21
- feat(project): the home page answers what 总览 and 导出与发布 were for#1339 · 2026-09-21
- chore(schema): nothing reads the column that mixed a session with a machine#1347 · 2026-09-21
- feat(delivery): addressing is a pure function#1349 · 2026-09-21
- feat(artifacts): compare retained delivery versions#1350 · 2026-09-21
- test(session): the teammate-identity case hands precheck a Placement#1354 · 2026-09-21
- fix(ci): coordinate apt cleanup with package installation#1355 · 2026-09-21
- fix(forge): preserve native CLI pagination headers#1352 · 2026-09-21
- refactor(workspace): the platform writes nothing into the hosted checkout#1313 · 2026-09-21
- feat(turn): a turn that touches no file rents no hands#1319 · 2026-09-21
- fix(forge): keep executor commits attributed to the acting agent#1345 · 2026-09-21
- fix(forge): let agents drop a rejected task dependency#1348 · 2026-09-21
- refactor(identity): an actor is not typed by whether it is an agent#1314 · 2026-09-21
- fix(forge): resume migration after interrupted snapshot uploads#1344 · 2026-09-21
- fix(device): isolate owner authentication from unused columns#1337 · 2026-09-21
- fix(forge): shorten the backup pause with faster compression#1341 · 2026-09-21
- fix(forge): back up preserved registered worktrees#1335 · 2026-09-21
- feat(forge): move project files and reviews to Forgejo or GitHub#1307 · 2026-09-21
- feat(project): settings in four groups, and a rail of what is used daily#1330 · 2026-09-21
- fix(ci): retain the private executor image while tests run#1291 · 2026-09-21
- feat(rooms): a room shows things, and a person keeps one in the library#1329 · 2026-09-21
- fix(agent): a room's setup holds no database connection while it starts a machine#1326 · 2026-09-21
- feat(feedback): real avatars, wider search, and an admin list that exists#1324 · 2026-09-21
- feat(artifacts): a delivery hands over a file, an address or the merge#1325 · 2026-09-20
- feat(design): a line-height ladder, one line box per font size#1322 · 2026-09-20
- refactor(event): an event says what it is about#1315 · 2026-09-20
- ops: add manual dev Docker recovery#1320 · 2026-09-20
- refactor(session): a session records its own machine; a room records none#1308 · 2026-09-20
- fix(execution): release DB pool before remote calls#1312 · 2026-09-20
- feat(harness): a behaviour declaration pinned to a version#1310 · 2026-09-20
- fix(notification,task): two jobs that only just started running#682 · 2026-09-20
- fix(artifacts): an empty manifest still says how to name the first one#1311 · 2026-09-20
- refactor(block): an event's author is a participant or the platform#1309 · 2026-09-20
- docs(claude): scope the no-adaptation rule to repository contents#1100 · 2026-09-20
- refactor(forge): resolve by capability, and read the forge's conclusion#1304 · 2026-09-20
- feat(artifacts): a delivery declares the artifact it updates#1301 · 2026-09-20
- test(harness): one contract fixture set, read by Python and by the pi extension#1305 · 2026-09-20
- refactor(place): one footprint root for what the platform writes#1303 · 2026-09-20
- refactor(chat): only chat_send puts a private chat's reply in the room#1302 · 2026-09-20
- test(executor): the five peer states in one table#1306 · 2026-09-20
- test(preconditions): a suite that cannot meet its environment fails#1297 · 2026-09-20
- feat(feedback): four statuses, my-feedback page, and two real-run bugs#1222 · 2026-09-20
- test(layers): run the suite as pure, contract and integration#1298 · 2026-09-20
- test(executor): one frame fixture shared by the Python and Go sides#1296 · 2026-09-20
- fix(doc): keep the caret put on server refresh, and make badges…#1208 · 2026-09-20
- fix(connector): isolate model input paths across launches#1288 · 2026-09-20
- chore(deps): drop claude-agent-sdk, which nothing imports#1289 · 2026-09-20
- docs(plans): decisions 51-62 and the review corrections#1290 · 2026-09-20
- ci: run every job that needs no box on GitHub-hosted runners#1275 · 2026-09-20
- fix(agent): resolve resident controls through seated identity#1282 · 2026-09-20
- docs(plans): decision 50 — users change nothing to use the platform#1285 · 2026-09-20
- fix(chat): unify agent-related notices as status messages#1283 · 2026-09-20
- docs(plans): decision 49 — the platform never writes into a hosted repository#1284 · 2026-09-20
- chore(ci): retire the two PR guards and the operation-request mechanism they served#1273 · 2026-09-20
- feat: upgrade room executors when idle#1264 · 2026-09-20
- feat(git): serving repositories moves into its own process#1276 · 2026-09-20
- perf(git): a machine takes the history, not every version of every file#1274 · 2026-09-20
- docs(plans): decisions 45-48 settled, and the model-supply entry restated#1281 · 2026-09-20
- docs(plans): the refactor decisions, the top-level design v2, and the bug and testing report#1277 · 2026-09-20
- fix(git): serving a repo no longer freezes every other request#1270 · 2026-09-20
- fix: migrate legacy remote-control indexes to agent ownership#1269 · 2026-09-20
- chore(security): allowlist the old pnpm store in gitleaks#1272 · 2026-09-20
- fix(chat): show cloud startup as an agent status message#1268 · 2026-09-20
- fix(cloud): reload device identity after enrollment retries#1267 · 2026-09-20
- fix: connect route migration to the lingering user service bus#1271 · 2026-09-20
- fix(device): replacing the connection owner is a release, not an incident#1266 · 2026-09-20
- fix: migrate legacy managed devices onto direct control routes#1265 · 2026-09-20
- fix(device): the connection owner reads columns, not models#1263 · 2026-09-20
- fix: migrate managed device links through the stable owner route#1262 · 2026-09-20
- feat(obs): say when this process's event loop stalled, instead of blaming Redis#1261 · 2026-09-20
- fix: recover sessions and settle executor output without races#1260 · 2026-09-20
- fix: isolate executor admission from unrelated room schema changes#1259 · 2026-09-20
- fix: release stalled transcript locks and preserve executor recovery#1258 · 2026-09-20
- fix(cleanup): a caller that waits for a running sweep answers for it#1251 · 2026-09-20
- ci(runner): mirror docker.io at the daemon, not at each call site#1257 · 2026-09-20
- fix(cleanup): an archived room's processes are ended once the grace runs out#1232 · 2026-09-20
- feat(library): the files given to a project get a page of their own#1247 · 2026-09-20
- ci(acceptance): the receipts an executor failure is read from are uploaded again#1256 · 2026-09-20
- fix(execution): a finished task's output is read from wherever it was written#1252 · 2026-09-20
- docs(infrastructure): say which pool changes reach the owner without a release#1255 · 2026-09-19
- fix(recovery): the fleet reconnecting recovers a few machines at a time#1250 · 2026-09-19
- fix(chat): an AI line never shows a handle#1253 · 2026-09-19
- feat(agents): a seat is the agent's own, and a room holds one control session per agent#1241 · 2026-09-19
- fix(library): a document in the library lists its revisions but takes no decision#1246 · 2026-09-19
- fix(recovery): a machine that is not ready yet is waited out, not reported#1248 · 2026-09-19
- test(remote-execution): make the '' != 'done' flake say what the task did#1245 · 2026-09-19
- feat(machine): reserve the row before asking the provider for a machine#1239 · 2026-09-19
- fix(errors): a handled failure on a WebSocket route closes it, answering nothing#1244 · 2026-09-19
- fix(device): adopt a reconnecting device's screens after its database work, not inside it#1243 · 2026-09-19
- feat(dm): a DM with a teammate names it as its peer; topics.agent_instance_id is gone#1240 · 2026-09-19
- fix(cleanup): one sweep at a time, leased per cleanup, no connection held across device work#1237 · 2026-09-19
- feat(library): a file given to the project belongs to the project#1209 · 2026-09-19
- fix(cleanup): a linked subagent transcript is not a second transcript#1234 · 2026-09-19
- ci(canary): a canary that cannot reach docker fails instead of skipping#1236 · 2026-09-19
- feat(execution): the room's shell is the build's own, through mcp serve#1214 · 2026-09-19
- docs(infrastructure): a pool-size change is released owner-first on a 100-connection server#1238 · 2026-09-19
- fix(device): a machine's failure travels as its own answer, not as a 500#1231 · 2026-09-19
- chore(agent): pin Claude Code 2.1.277 on every delivery path#1233 · 2026-09-19
- ci(runner): keep the resident Postgres's WAL small on its tmpfs#1225 · 2026-09-19
- fix(ws): a peer that dropped under a write is a closed socket, not a fault#1230 · 2026-09-19
- feat(db): size the two pools for their jobs and say when one saturates#1227 · 2026-09-19
- fix(deploy): the nightly cleanup leaves the box builder's cache alone#1229 · 2026-09-19
- ci: artifacts fit the org's free-plan quota#1228 · 2026-09-19
- feat(agent): read chat history, replies and reactions as cheese_chat_* tools#1226 · 2026-09-19
- feat(rooms): a room does not point at an agent#1219 · 2026-09-19
- fix(deploy): the nightly cleanup reaches the buildx builder cache#1224 · 2026-09-19
- fix(machine): claim and release cloud machines without holding row locks#1218 · 2026-09-19
- test(tunnel): nothing a tunnel test starts may outlive it#706 · 2026-09-19
- docs(sandbox): the hook endpoint is one-way, say so#687 · 2026-09-19
- chore(device): delete the transcript reader, as its design said to#686 · 2026-09-19
- perf(agent): a room nobody is talking to is not read ten times a second#1217 · 2026-09-19
- fix(rooms): talk to the machine without holding the room row lock#1215 · 2026-09-19
- fix(review): retarget a child PR without holding the task row lock#1213 · 2026-09-19
- fix(oauth): refresh a GitHub token without holding the row lock#1212 · 2026-09-19
- chore(agent): raise the per-project turn ceiling to 16#684 · 2026-09-19
- fix(home): the root waits for session restoration before choosing a page#1211 · 2026-09-18
- fix(transcripts): upload the chunk before taking the row lock#1210 · 2026-09-18
- fix(panel): wire the card's review button and cap the @ menu#1206 · 2026-09-18
- feat(i18n): translate the challenge and question strings#1165 · 2026-09-18
- fix(layout): a panel that outgrows its box scrolls instead of c…#1205 · 2026-09-18
- fix(projects): shut the project reads that never asked who you …#1204 · 2026-09-18
- docs(i18n): add a glossary for one English word per term#1162 · 2026-09-18
- refactor(i18n): split website into real namespaces and gate the…#1160 · 2026-09-18
- fix(agent): the liveness probe counts only a session's own executable#1154 · 2026-09-18
- fix(preview): a file link opens the file, and a document in 改动 has a face#1201 · 2026-09-18
- fix(roster): each agent seat carries its own agent's name#1199 · 2026-09-18
- fix(chat): the agent that was addressed is the agent that answers#1196 · 2026-09-18
- fix(execution): a platform tool no longer waits out a running shell command#1186 · 2026-09-18
- test(chat): a publication assertion waits for its publication#1197 · 2026-09-18
- feat(roster): a seat names the agent it grants, and the token carries it#1191 · 2026-09-18
- feat(documents): edit an existing file without losing formatting#1146 · 2026-09-18
- feat(agent): an agent is an identity, not only a configuration row#1187 · 2026-09-18
- fix(preview): an assignment prefix that never matches no longer hangs the loop#1188 · 2026-09-18
- feat(rc): a session answers for itself, and the room records what it was asked#1185 · 2026-09-18
- fix(roster): one roster on the member button, not humans plus 芝士#1182 · 2026-09-18
- fix(rail): a project can be dragged to the very front#1183 · 2026-09-18
- fix(authz): role and stake decide these three, not being an agent#1181 · 2026-09-18
- ci: stop reaching for apt when the packages are already there#1178 · 2026-09-18
- feat(rail): ⌘1-9 switches to the tile the flyout says it does#1179 · 2026-09-18
- docs(push): VAPID keys go in the env file as raw base64url, not PEM#1177 · 2026-09-18
- feat(rc): the room hears its session state instead of asking every two seconds#1176 · 2026-09-18
- fix(chat): the room stops saying 芝士 has your message before it does#1173 · 2026-09-18
- fix(device): an owner being recreated stops failing the room's calls and the page's poll#1175 · 2026-09-18
- docs(claude): dev and production are separate deployments, and dev ships on merge#1169 · 2026-09-18
- feat(rail): drag the project tiles into the order you want#1172 · 2026-09-18
- fix(ui): a field label no longer lands on the field above it#1171 · 2026-09-18
- feat(chat): a Word file or a deck shows its first page in the composer too#1170 · 2026-09-18
- fix(chat): the whole filename comes up on hover, and the drop target is definite#1168 · 2026-09-18
- fix(obs): an alert says when and what, and one failure is one alert#1159 · 2026-09-18
- fix(chat): every pending attachment is the same block, and it always says which file#1164 · 2026-09-18
- feat(site): a pi room's steps read as actions, not as tool names#1158 · 2026-09-18
- fix(chat): an uploading attachment has a frame to wait in, and a PDF shows its first page#1161 · 2026-09-18
- fix(pi): a background job is reachable from the path a room actually has#1156 · 2026-09-18
- fix(agent): a room's executor is reached where it was installed#1153 · 2026-09-18
- fix(deploy): a self-test cheap enough that someone runs it#1157 · 2026-09-18
- feat(pwa): guide install, complete the manifest, prompt before …#1152 · 2026-09-18
- fix(obs): a closed device link says who hung up, and `code` is a credential only in OAuth#1155 · 2026-09-18
- feat(pi): a pi room can call the platform, outlive a turn, and read the repository#1150 · 2026-09-17
- feat(agent): the platform installs itself in its own directory, and reaches the rooms already running#1149 · 2026-09-17
- fix(mobile): re-pin the timeline and re-measure the keyboard#1151 · 2026-09-17
- perf(deploy): one lsof for the whole sweep, not one per room#1148 · 2026-09-17
- fix(room): a room that has not picked a machine is not preparing one#1143 · 2026-09-17
- feat(agent): carry what a turn cannot find out, and stop restating what it can#1147 · 2026-09-17
- feat(deploy): a deploy reclaims the checkouts the old layout left behind#1145 · 2026-09-17
- fix(cli): find the environment runner wherever the launcher put it#1142 · 2026-09-17
- feat(machine): a project's tools are installed once per machine, not once per room#1144 · 2026-09-17
- feat(deploy): a deploy reclaims the caches a room no longer reads#1141 · 2026-09-17
- feat(notify): reach people through browser push when a run needs them#1110 · 2026-09-17
- fix(cache): drop the previous account's caches when someone else logs in#1108 · 2026-09-17
- feat(machine): a project's rooms on one machine share one package store#1107 · 2026-09-17
- fix(chat): draw the composer's pending image from its bytes#1139 · 2026-09-17
- fix(deploy): the cleanup could not see the two biggest things it deletes#1138 · 2026-09-17
- feat(ci): the pool says which machine is missing, not how many answered#1083 · 2026-09-17
- feat(deploy): the cloud control release can interrupt active calls too#1137 · 2026-09-17
- fix(device): the control channel stops borrowing the proxy a release reloads#1136 · 2026-09-17
- ci: the cache the venv is built from has to outlive the job#1134 · 2026-09-17
- fix(ci): the guard reclaims what actually fills a pool machine#1135 · 2026-09-17
- deploy: the cache reclaim runs on a clock, not when someone remembers#1133 · 2026-09-17
- ci(ops): okcheese.com says when it is down#1132 · 2026-09-17
- fix(edge): a plain http visit reaches the same site as https#1129 · 2026-09-17
- ci: a timeout catches a hang, not a slow run#1130 · 2026-09-17
- fix(preview): draw markdown files, images, and chat pictures in…#1123 · 2026-09-17
- fix(obs): a device that is offline is not a read failure#1128 · 2026-09-17
- fix(site): what a step's line says, what it opens onto, and whether it worked#1096 · 2026-09-17
- docs(infra): the CI pool's labels exist, and slot fan-out does not cover it#1131 · 2026-09-17
- fix(storage): a bucket that did not answer is not an empty bucket#1119 · 2026-09-17
- fix(obs): a failure that stops something for good leaves a log line#1115 · 2026-09-17
- ci(swap): address each box by its own label instead of hoping jobs spread#1127 · 2026-09-17
- feat(deploy): an owner release can be told to interrupt active calls#1126 · 2026-09-17
- diag(ci): the pool probe can see the memory that is killing jobs#1125 · 2026-09-17
- fix(obs): an alert says what the server answered, not just that it refused#1120 · 2026-09-17
- fix(device): an owner timeout says it timed out instead of 500#1118 · 2026-09-17
- fix(search): a search that quietly fell back to PG says so#1117 · 2026-09-17
- ci: a box that runs out of memory slows down instead of killing something#1122 · 2026-09-17
- fix(memory): an unreachable memory service is not an empty memory#1121 · 2026-09-17
- fix(obs): background work the caller holds reports its own crash#1116 · 2026-09-17
- fix(errors): an error keeps the headers it was raised with#1114 · 2026-09-17
- fix(scheduler): a failed upstream sync is not a synced one#1113 · 2026-09-17
- docs(chat): say what the reminder log line actually adds#1112 · 2026-09-17
- fix(chat): keep reminding a turn that has gone quiet, and say so in the log#1109 · 2026-09-17
- fix(device): an unexpected 409 says what it was instead of raising KeyError#1111 · 2026-09-17
- feat(notify): tell people what is waiting on them (#1084 steps 2-4)#1102 · 2026-09-17
- feat(obs): a backend error reaches a person, wherever it was raised#1105 · 2026-09-17
- ci: build each job's venv from the shared cache instead of keeping eight copies#1104 · 2026-09-17
- feat(obs): an error a person saw reaches a person who can fix it#1081 · 2026-09-17
- fix(db): size the pool so a release cannot exhaust the database server#1103 · 2026-09-17
- fix(agent): never spool an empty hook, and stop retrying one every second#1101 · 2026-09-17
- fix(frontend): recover a tab that was open across a deploy#1099 · 2026-09-17
- chore(deploy): retire the bare-metal release and the sentences that outlived it#1098 · 2026-09-17
- fix(deploy): give api-front's workers a deadline and a descriptor ceiling#1097 · 2026-09-17
- fix(membership): only the invitation path refuses an execution …#1028 · 2026-09-16
- fix(agent): find the environment runner wherever the launcher p…#1092 · 2026-09-16
- feat(spaces): offer a first project to a visitor who owns none#1095 · 2026-09-16
- feat(chat): keep the onboarding starters until the agent answers#1094 · 2026-09-16
- feat(machine): a machine carries the tools a document needs#1093 · 2026-09-16
- feat(notify): tell the reviewer and reporter when a card is filed#1091 · 2026-09-16
- fix(preview): read a CSV as text, not as a workbook#1089 · 2026-09-16
- fix(chat): the summon button waits for THIS room's roster#906 · 2026-09-16
- fix(ui): say 待处理 and 任务, not 等你 and 活#1088 · 2026-09-16
- fix(fetch): stop the browser image installing a second browser it never launches#1079 · 2026-09-16
- fix(ci): one runaway log cannot take the repository's CI with it#1082 · 2026-09-16
- feat(site): say what each step did, grouped by turn#1080 · 2026-09-16
- fix(chat): render pi tool calls with verbs and arguments#1074 · 2026-09-16
- docs(ci): the volume sweep outlived the containers it was named after#1076 · 2026-09-16
- fix(ci): the disk guard spares what a job just built#1077 · 2026-09-16
- fix(ci): provisioning finds the files that sit beside it#1073 · 2026-09-16
- feat(ci): a pool machine can run two jobs at once#1070 · 2026-09-16
- fix: serve .mjs as JavaScript, and let a deploy start the render services#1071 · 2026-09-16
- fix(e2e): read one select's options, not whichever menus are still on screen#1069 · 2026-09-16
- feat(preview): show a document deliverable, and let a reader point at a place in it#1066 · 2026-09-16
- fix(ci): a pool machine reclaims its disk before it fills#1068 · 2026-09-15
- fix(execution): a dead forwarded mount is not an empty directory#1067 · 2026-09-15
- fix(central): a room's setup says what it is waiting on while it waits#1063 · 2026-09-15
- perf(chat): account for the wait before a turn assembles#1059 · 2026-09-15
- fix(device): say which gate retired a room's screen#1058 · 2026-09-15
- fix(terminal): a pane nobody draws in is not a 现场#1062 · 2026-09-15
- fix(fetch): build the browser image, so the fetch ladder has its top rung#1064 · 2026-09-15
- fix(pi): a room's first turn waits for the runner to bind#1060 · 2026-09-15
- feat(agent): let a room hand over a document, not just a web page#1053 · 2026-09-15
- fix(pi): a session that did not come up says why#1057 · 2026-09-15
- fix(ops): make the logs you read when a turn fails reachable and readable#1055 · 2026-09-15
- fix(agent): give the pi harness the platform's own skills#1056 · 2026-09-15
- feat(workspace): open a new project where it can be talked to#1054 · 2026-09-15
- fix(session): the native tool list waits for the executor instead of coming back short#1051 · 2026-09-15
- feat(agent): let a teammate's harness be chosen, and say what drives what#1052 · 2026-09-15
- fix(session): a tool call waits out an app deploy instead of failing the turn#1050 · 2026-09-15
- feat(machine): serve pi from the platform, not npmjs#1049 · 2026-09-15
- perf(chat): index the cloud-provisioning watermark a turn looks up every time#1048 · 2026-09-15
- fix(agent): a turn whose platform tools vanished is recovered and re-delivered#1047 · 2026-09-15
- feat(agent): 芝士 reaches the platform through its tools only; the shell CLI leaves the prompts#1045 · 2026-09-15
- docs(scripts): keep the demo-capture scripts where the next recording can find them#1046 · 2026-09-15
- fix(cloud): a machine whose built-in AI channel is off is ready, not waiting#1044 · 2026-09-15
- perf(device): a reused screen no longer receives the launcher every turn#1043 · 2026-09-15
- feat(agent): run pi as a second harness on the workspace machine#1032 · 2026-09-15
- feat(chat): the browser pings its socket so a dead link is noticed while idle#1042 · 2026-09-15
- fix(device): a dead device link no longer stalls every executor call#1041 · 2026-09-15
- fix(chat): recover messages after lost websocket echoes#1040 · 2026-09-15
- Fix forwarded filesystem room authentication#1039 · 2026-09-15
- fix(agent): retry executor readiness after owner 500#1038 · 2026-09-15
- fix(deploy): use reachable source for FUSE packages#1037 · 2026-09-15
- Forward native project context without mirroring#1027 · 2026-09-15
- Release cloud control outside app rollouts#1036 · 2026-09-15
- Wait for an atomic idle window before owner release#1033 · 2026-09-15
- fix(deploy): keep public owner traffic off app rollouts#1031 · 2026-09-15
- fix(execution): allow forwarded context reads#1030 · 2026-09-15
- feat(execution): keep device connections across backend releases#1025 · 2026-09-15
- Route HTTP-only Cheese MCP tools directly#1023 · 2026-09-14
- fix: admit structured CLI catalog requests#1026 · 2026-09-14
- feat: expose Cheese CLI through structured MCP tools#1019 · 2026-09-14
- feat(ui): remove room agent switching#1024 · 2026-09-14
- fix: choose the agent harness through model selection in the editor#1022 · 2026-09-14
- refactor(chat): deliver accepted messages through agent subscription#1021 · 2026-09-14
- test: retain CI screenshots of saved harness selections#1020 · 2026-09-14
- fix: prepare project dependencies in task checkouts#1018 · 2026-09-14
- feat: call platform APIs through resident MCP#1017 · 2026-09-14
- Refresh resident MCP tools from released code#1016 · 2026-09-14
- Refresh idle executor processes from released code#1014 · 2026-09-14
- docs: clarify Cheese production CI/CD scope#1015 · 2026-09-14
- test: verify saved harness switches in browser CI#1013 · 2026-09-14
- Publish chat through a structured resident MCP tool#1011 · 2026-09-14
- Resolve room mentions on receipt and retain the addressed teammate#1012 · 2026-09-14
- test: verify interactive Claude tools and history in CI#1010 · 2026-09-14
- Transfer only changed room helpers and context files#1009 · 2026-09-14
- Measure downstream holds within gateway HTTP streams#1007 · 2026-09-13
- Avoid Python startup in Linux room liveness checks#1006 · 2026-09-13
- Reuse the prepared author when resolving turn model arguments#1005 · 2026-09-13
- perf: defer context response JSON imports on success#1004 · 2026-09-13
- perf: resolve gateway telemetry before readiness#1003 · 2026-09-13
- perf: load beta header configuration before gateway readiness#1002 · 2026-09-13
- perf: load gateway tool adapters before accepting requests#1001 · 2026-09-13
- perf: defer gateway request formatting when debug logging is disabled#1000 · 2026-09-13
- perf: start context hooks through the small service entry#999 · 2026-09-13
- perf: stop tunnel probe after finding its listening port#997 · 2026-09-13
- Launch context hooks with explicit arguments#996 · 2026-09-13
- fix: retain task IDs for completed background commands#998 · 2026-09-13
- Measure device screen preparation phases#995 · 2026-09-13
- Log metering proxy connection timing boundaries#994 · 2026-09-13
- Filter unread spool names before sorting#993 · 2026-09-13
- Avoid querying executors for disconnected control sessions#992 · 2026-09-13
- Extract shared harness contracts and verify Codex provider requests#985 · 2026-09-13
- Fix direct chat publication in resident transport#991 · 2026-09-13
- perf: publish chat sends before device execution#989 · 2026-09-13
- perf: bypass worker for inline chat sends#988 · 2026-09-13
- perf: publish chat messages from central cli#987 · 2026-09-13
- Speed up pending turn history reads#986 · 2026-09-13
- Publish managed tool hooks from the resident transport#984 · 2026-09-13
- Measure message assembly phases before native dispatch#983 · 2026-09-13
- Preserve CLI preload across identical room preparation#982 · 2026-09-13
- Reuse verified executor binary checks while the file is unchanged#981 · 2026-09-13
- Settle live hook spools after turn completion#980 · 2026-09-13
- Reduce executor CLI startup with a dedicated worker caller#979 · 2026-09-13
- Reduce machine tunnel masking and small-write latency#978 · 2026-09-13
- Reuse the MCP process for prompt context synchronization#977 · 2026-09-13
- Keep provider timing logs visible without verbose logging#976 · 2026-09-12
- Instrument upstream HTTP stream boundaries#975 · 2026-09-12
- chore: measure spool reconciliation stages#974 · 2026-09-12
- perf: measure spool reconciliation before session setup#973 · 2026-09-12
- perf: preload platform CLI modules in isolated workers#972 · 2026-09-12
- perf: prepare warm rooms in the persistent executor#971 · 2026-09-12
- perf: reuse executor bootstrap readiness for warm turns#970 · 2026-09-12
- perf: measure turn preparation and prompt dispatch phases#969 · 2026-09-12
- perf: dispatch trusted platform shell commands directly#968 · 2026-09-12
- perf: defer unused imports during warm executor preparation#967 · 2026-09-12
- perf: trace message receive and central session setup stages#966 · 2026-09-12
- perf: reuse object storage clients across transcript chunks#965 · 2026-09-12
- perf: separate admission queue and check timing#964 · 2026-09-12
- perf: defer transport imports in execution helper#963 · 2026-09-12
- fix: refresh hooks when reusing native sessions#961 · 2026-09-12
- fix: release gateway lock during usage settle delay#962 · 2026-09-12
- Record gateway request timing at the metering proxy#960 · 2026-09-12
- Scan process liveness without per-process subprocesses#958 · 2026-09-12
- Reduce subprocesses in hook event spooling#956 · 2026-09-12
- Preserve the original request start in gateway stream timing#959 · 2026-09-12
- Resume chat reconnection after transient history failures#957 · 2026-09-12
- Enable saved DeepSeek and GLM agent models with Cheese Remote Control#954 · 2026-09-12
- Avoid duplicate hooks for internal MCP forwarding#952 · 2026-09-11
- Route central sessions internally and trace execution timing#951 · 2026-09-11
- Resolve recorded home paths before connecting to executors#950 · 2026-09-11
- Reuse resident processes for native tool execution#943 · 2026-09-11
- Preload native chat guidance before the first model request#942 · 2026-09-11
- fix: use the current login identity for chat requests#941 · 2026-09-11
- Centralize room sessions and retain independent execution machines#931 · 2026-09-11
- fix(environment): stop requiring a room to be a git checkout#940 · 2026-09-11
- fix: preserve pre-Git room files during task migration#939 · 2026-09-10
- fix: isolate task delivery and make file sources explicit#936 · 2026-09-10
- Keep the complete official Lark skills in the project#937 · 2026-09-10
- fix(roster): list the project owner as a member of their project#925 · 2026-09-10
- Reduce native tunnel readiness polling delay#935 · 2026-09-10
- Measure cloud room launcher setup phases#934 · 2026-09-10
- fix(agent): quote the complete native preload option#933 · 2026-09-10
- perf(machine): reuse MicroCloud connections during application lifespan#932 · 2026-09-10
- fix(agent): restore native WebFetch with response error propagation#930 · 2026-09-10
- feat(web): add English public website and account entry#929 · 2026-09-10
- perf(agent): read Linux process identity without spawning ps#928 · 2026-09-10
- perf(agent): keep short readiness waits on the device#926 · 2026-09-10
- fix(frontend): identify autofill fields across forms#924 · 2026-09-10
- perf(agent): check and stage warm rooms in one interpreter#923 · 2026-09-09
- chore(cli): timestamp socket connection and prompt writes#922 · 2026-09-09
- feat(sandbox): deny WebFetch now that fetching has a bounded path#920 · 2026-09-09
- docs(manual): end the quickstart at the first reply from the age…#919 · 2026-09-09
- fix(fetch): treat a short page that was read as an answer#918 · 2026-09-09
- fix(docs): stop the anchor guard from rejecting every image#917 · 2026-09-09
- fix(ci): build manual without system Corepack shims#916 · 2026-09-09
- fix(chat): open a link in a new tab instead of leaving the room#915 · 2026-09-09
- fix(fetch): distil with the model this deployment runs#914 · 2026-09-09
- fix(dm): ask the gateway for a model it actually serves#910 · 2026-09-09
- fix(fetch): name the room so a scoped token can be verified#903 · 2026-09-09
- fix(topics): commit room creation before returning success#913 · 2026-09-09
- feat(docs): publish the manual at /docs and point the agent at it#908 · 2026-09-09
- fix(cli): shorten socket polling during warm startup#912 · 2026-09-09
- fix(connector): floor degenerate viewer terminal sizes#911 · 2026-09-09
- Wait briefly on device for environment readiness#909 · 2026-09-09
- Reuse the warm helper process for terminal attachment#907 · 2026-09-09
- feat(dm): give each AI teammate its own private chat#904 · 2026-09-09
- feat(docs): serve a user manual at /docs, for people and for mod…#905 · 2026-09-09
- perf(cloud): overlap workspace checkout with room configuration#902 · 2026-09-09
- feat(fetch): read the web platform-side on a bounded ladder#901 · 2026-09-09
- feat(chat): put my own messages on the right, everyone else on t…#900 · 2026-09-09
- feat(lifecycle): reclaim archived rooms after durable transcript collection#894 · 2026-09-09
- fix(cloud): replace inherited proxy aliases when claiming native spares#899 · 2026-09-09
- fix(cloud): preload both proxy CAs before starting native spares#898 · 2026-09-09
- perf(cloud): prepare native processes before room assignment#897 · 2026-09-09
- fix(workspace): match each loading skeleton to the row it stands…#896 · 2026-09-09
- perf(cloud): restore native feature cache in new rooms#895 · 2026-09-09
- fix(chat): stop a short handle eating into a longer one in the c…#891 · 2026-09-09
- fix(accept): keep a pending card reading the backend, not one sn…#889 · 2026-09-09
- feat(chat): summon the agent with a button and a shortcut#890 · 2026-09-09
- fix(nav): send the back button where you came from#888 · 2026-09-09
- fix(credit): attribute deliveries to the seated agent#887 · 2026-09-09
- fix(review): dispatch acceptance through forge operations#886 · 2026-09-09
- fix(review): close returned batches after external merge#802 · 2026-09-09
- fix(chat): remind silent agents after a configurable interval#803 · 2026-09-09
- perf(cloud): initialize native policy caches before room assignment#797 · 2026-09-09
- docs(agent): say which platform facts reach 芝士, because some now do#801 · 2026-09-09
- ops(backup): mirror the transcript archives off-site#800 · 2026-09-09
- fix(background): a cancellation raised inside a job must not end its loop#798 · 2026-09-09
- feat(delivery): track batch reviews and agent contribution roles#741 · 2026-09-09
- docs(plans): hand over the device work clones nobody cleans up#799 · 2026-09-09
- feat(agent): integrate native controls and explicit chat publication#789 · 2026-09-09
- perf(cloud): use the enrolled route for project startup traffic#796 · 2026-09-09
- fix(deploy): locate the user bus outside login sessions#794 · 2026-09-09
- fix(preview): accept legacy port files after helper upgrades#792 · 2026-09-09
- fix(home): render decorative stars as SVG on mobile#793 · 2026-09-09
- fix(preview): serve topic previews from isolated content origins#790 · 2026-09-09
- fix(pwa): fetch current workspace pages on online navigation#791 · 2026-09-09
- perf(cloud): maintain direct encrypted connector routes#786 · 2026-09-09
- fix(build): use TCP DNS and HTTPS Debian mirrors#788 · 2026-09-09
- fix(ci): exclude backend-seeded skills from sandbox image rebuilds#787 · 2026-09-09
- fix(tasks): complete registration review and submission details#784 · 2026-09-09
- fix(workspace): enforce room access for topic files and diffs#785 · 2026-09-09
- docs(agent): verify application model access before advising setup#782 · 2026-09-09
- fix(home): balance brand lettering and simplify hero transition#781 · 2026-09-09
- fix(docs): do not overwrite conflicts on editor blur#783 · 2026-09-09
- perf(agent): overlap device checks with launcher transfer#780 · 2026-09-09
- fix(projects): show late teammates and sync charter edits#777 · 2026-09-09
- fix(deploy): keep frontend serving during container replacement#778 · 2026-09-09
- chore: turn autostash off, so the rule against stashing can hold#652 · 2026-09-09
- fix(tasks): keep undated registration open#776 · 2026-09-09
- fix(home): improve landing page readability at default zoom#774 · 2026-09-09
- perf(agent): reduce environment checks and first-message handshake delay#775 · 2026-09-09
- feat(sites): publish private websites from project delivery#770 · 2026-09-09
- fix(project): commit creation before returning success#773 · 2026-09-09
- perf(agent): observe fast environment preparation sooner#772 · 2026-09-09
- fix(pwa): fetch current public pages before offline fallback#771 · 2026-09-09
- fix: report the account stored daily quota#769 · 2026-09-09
- feat(members): invite by uid, and let the invitee accept before …#768 · 2026-09-09
- test(agent): execute the shipped launcher from a file on Linux#767 · 2026-09-08
- fix: display account quota and reset time correctly#766 · 2026-09-08
- perf(agent): reduce room startup and event delivery delays#765 · 2026-09-08
- fix(home): keep product introduction accessible after sign-in#764 · 2026-09-08
- fix(cloud): transfer pinned Claude through the bootstrap SSH connection#763 · 2026-09-08
- feat(tasks): turn student signup into a shared AI workspace#737 · 2026-09-08
- fix(home): use 知是 and strengthen hero typography#762 · 2026-09-08
- feat(compute): prepare unused cloud machines before room execution#749 · 2026-09-08
- feat: add public homepage and enterprise solutions#745 · 2026-09-08
- feat(chat): keep all-English agent messages out of the room#761 · 2026-09-08
- fix(ui): say something when the room's machine is not ready#760 · 2026-09-08
- feat(members): give the roster a page and stop leasing machines …#759 · 2026-09-08
- feat(memory): probe the openviking endpoints and back up its tree#758 · 2026-09-08
- fix(doc-panel): let the doc column shrink so wide tables scroll#756 · 2026-09-08
- fix(ui): put the environment notice where you are typing#757 · 2026-09-08
- docs(design): give motion a chapter and a checklist that runs#754 · 2026-09-08
- perf: serve pages from cache and stop scanning the whole block t…#755 · 2026-09-08
- fix(mobile): measure the keyboard, open the picker, calm the bac…#753 · 2026-09-08
- test(e2e): open a topic before typing into its composer#752 · 2026-09-08
- fix(mobile): switch projects, clear the keyboard, wrap markdown#751 · 2026-09-08
- feat(ui): draw what is loading, and land on a live board#750 · 2026-09-08
- fix(github): verify repository binding authority#748 · 2026-09-08
- fix(agent): probe liveness before declaring initial silence a failure#746 · 2026-09-08
- fix(frontend): handle HTML error pages across API clients#701 · 2026-09-08
- feat(auth): apply participant roles to humans and agents#743 · 2026-09-08
- fix(frontend): remount topic header teleport at display breakpoints#747 · 2026-09-08
- fix(preview): publish remote files and preserve app mounts#744 · 2026-09-08
- fix(settings): show model choices for the active supply#732 · 2026-09-08
- feat(compute): team quotas with project defaults and room choices#731 · 2026-09-08
- fix(ui): show each person own avatar and the room actual AI team…#742 · 2026-09-08
- feat(chat): upload and download documents and files#739 · 2026-09-08
- fix(accept): merge what the reviewer saw, sign the batch that wr…#735 · 2026-09-08
- feat: configure project environments and recover failed setup#734 · 2026-09-08
- fix(navigation): add compact parent and login controls#730 · 2026-09-08
- fix(coldstart): shallow-clone new-topic workspaces, stop the first summon dying at 20s#736 · 2026-09-08
- feat(accept): the platform forge squashes and unbound reads CLEAN#733 · 2026-09-08
- fix(accept): a delivery claim with no tree branch stops the acce…#728 · 2026-09-08
- fix(agent): disable Claude Code artifacts in Cheese sessions#729 · 2026-09-08
- fix(ui): a long task brief scrolls inside its own block#727 · 2026-09-07
- feat(accept): accepting is merging, with platform-side branch pr…#726 · 2026-09-07
- feat(tasks): a task is a worker in the room, not a container of …#714 · 2026-09-07
- fix(review): opening a PR asks a bound project's upstream for its trunk as the App#725 · 2026-09-07
- fix(upstream): the conflict hand-off re-fetches a bound project's upstream as the App#723 · 2026-09-07
- fix(runtime): preserve cancellation during hook activity cleanup#724 · 2026-09-07
- fix(accept): an unbound project pushes nothing to GitHub, and the host PAT is retired#721 · 2026-09-07
- fix(oauth): the sign-in page no longer offers the account-link provider#720 · 2026-09-07
- test(db): stop a turn's tail from outliving its test, closing the gap #711 left open#719 · 2026-09-07
- fix(budget): a spent budget reaches the room as the platform's own line, not "Invalid API key"#717 · 2026-09-07
- docs(agent): write down what ends a turn, now that the ceiling only records#716 · 2026-09-06
- chore(device): pin Claude Code 2.1.261, and let the launcher place the pin itself#708 · 2026-09-06
- test(db): name the test that leaks a transaction, and stop TRUNCATE waiting on it forever#711 · 2026-09-06
- ci(canary): report through the API, not a `gh` the runner does not have#709 · 2026-09-06
- docs(agent): prompt delivery is the rendezvous socket, not typing into the pane#704 · 2026-09-06
- test(memory): let openviking's leftover clients die where no loop is running#710 · 2026-09-06
- feat(agent): a turn the API refused now ends, because StopFailure is subscribed#699 · 2026-09-06
- feat(agent): a session that talks and never acts is a verdict; the ceiling is not#691 · 2026-09-06
- feat(agent): an unread injection is a verdict of its own#689 · 2026-09-06
- fix(agent): stop the ceiling from cutting a turn that is working#685 · 2026-09-06
- fix(runtime): start the turn ceiling when the prompt lands#679 · 2026-09-06
- fix(ui): the accept card stops promising an archive#712 · 2026-09-06
- refactor(agent): cut auto-resume; a failed turn fails loud and hands to a human#703 · 2026-09-06
- fix(proxy): deliver refusals and resolve a thread's machine iden…#707 · 2026-09-05
- fix(hooks): a channel recovers only the machines it owns#705 · 2026-09-05
- fix(cloud): a thread in a Cloud room runs on the room's machine#702 · 2026-09-05
- feat(project): 新建项目 asks which team the project belongs to#697 · 2026-09-04
- perf(frontend): take fonts and Monaco off the first paint#696 · 2026-09-04
- feat(deploy): roll the backend out without downtime#698 · 2026-09-04
- fix(authz): a team member can enter the team's project#695 · 2026-09-04
- feat(agents): let a project rename and retire the teammates it h…#694 · 2026-09-04
- feat(topic): store a home's transcripts on the platform before the sweep deletes it; archive only stops the session#690 · 2026-09-04
- fix(topic): archiving retires the worktree and the device home, and a sweep catches what it missed#675 · 2026-09-04
- ci(runner): install the QEMU guest agent on CI runners#688 · 2026-09-04
- fix(preview): let the sandboxed frame read what it fetched#676 · 2026-09-03
- chore(permissions): deny the irreversible git commands CLAUDE.md…#674 · 2026-09-03
- docs(microcloud): the machine event log, and timings on a healthy disk#673 · 2026-09-03
- docs(microcloud): timings after the VM resize fix and the baked Claude binary#672 · 2026-09-03
- docs(infra): the CI Postgres is in RAM now, and what pve119's disk actually is#671 · 2026-09-03
- ci: keep the CI Postgres data directory in RAM#670 · 2026-09-03
- docs: MicroCloud from the cheese side, and why the test job is slow on a busy host#669 · 2026-09-03
- fix(machine): a Cloud machine that fails to come up says so in the room#668 · 2026-09-03
- feat(machine): ask MicroCloud for the AI channel in the create call#667 · 2026-09-02
- fix(agent): consume a hook once, whether it arrives live or out of the spool#666 · 2026-09-02
- fix(compute): Cloud fails loud instead of swapping, and boots in a fraction of the time#664 · 2026-09-02
- fix(blocks): repair the event rows that c9f4a2b7e130 turned into arrays#663 · 2026-09-02
- fix(deploy): give the backend an init, so git's orphans stop piling up as zombies#662 · 2026-09-02
- fix(thread): record the session a thread turn leaves behind#660 · 2026-09-02
- feat(board): derive where work stands, and say whose turn it is#659 · 2026-09-01
- fix(ui): reflow card boards in a narrow column instead of overfl…#658 · 2026-08-31
- fix(device): tell a machine running an outdated connector to upd…#657 · 2026-08-31
- fix(device): let a reused screen actually revive its tunnel help…#656 · 2026-08-31
- fix(rail): a thread lives and dies with the room row above it#655 · 2026-08-30
- metering-proxy: stream request/response bodies instead of buffering whole#654 · 2026-08-30
- refactor: delete the cheeselet delivery path, and the runtime that hosted it#649 · 2026-08-29
- fix(scheduler): run the deadline and notification jobs that had no runner#650 · 2026-08-29
- feat(workspace): a topic tree is a git worktree, so the agent's commit is the branch#651 · 2026-08-29
- feat(preview): carry a running app out of the machine it runs on#647 · 2026-08-29
- feat(workspace): the agent commits its own work, and the platform stops writing trees#648 · 2026-08-29
- feat(memory): wire the openviking memory backend for deployment#577 · 2026-08-29
- fix(compute): ask a backend what it does, not what it is called#644 · 2026-08-29
- fix(tests): give every test its own redis client instead of the last one's#646 · 2026-08-29
- fix(sandbox): put the missing host tools in the image, not in every repo's docs#645 · 2026-08-29
- docs: a change lands in the layer that decides, in both directions#627 · 2026-08-29
- docs: trust the agent with its own tree, and stop pushing it what it can read#643 · 2026-08-29
- refactor(compute): retire the platform's own box, and let one answer decide where a turn lands#630 · 2026-08-29
- feat(auth): make turning 2FA off cost a real re-authentication#641 · 2026-08-28
- docs: write down what reaches the agent, since nothing decided it#625 · 2026-08-28
- fix(accept): refuse to merge a pull request the forge says did not pass#640 · 2026-08-28
- feat(agent): hand the sandbox a GitHub credential that can finish the job#638 · 2026-08-28
- feat(connector): install under the account that asked, never under root#637 · 2026-08-28
- ci(diag): see the connector that okcheese.com actually depends on#634 · 2026-08-28
- fix(hooks): ack a hook only once we have it on our own disk#632 · 2026-08-28
- fix(workspace): stop reading a lost commit as a turn with nothing in it#631 · 2026-08-28
- docs: the live terminal is a developer's debug surface, and it is writable today#629 · 2026-08-28
- docs(device): say what KillMode=process is holding up, and what it is not#628 · 2026-08-28
- docs: add a non-technical platform intro for teachers#633 · 2026-08-28
- fix(device): stop a half-made clone and a snapshot from eating w…#626 · 2026-08-28
- docs: say which machine a turn actually lands on, and where a retirement has to reach#621 · 2026-08-28
- fix(device): agent sessions belong to us, so restarting the connector is not destructive#624 · 2026-08-28
- fix(2fa): budget the two entrances that re-prove 2FA inside a session (#389)#623 · 2026-08-28
- ci: re-deliver the empty-PR gate that #618 merged as an empty PR#622 · 2026-08-28
- fix(chat): subscribe before authorising, so a frame fired on connect is not lost#619 · 2026-08-28
- fix(tests): the watchdog's hard ceiling must not race the setup it outlives#617 · 2026-08-28
- fix: stop the platform from silently dropping work and messages#620 · 2026-08-27
- ci: fail a pull request whose diff is empty#618 · 2026-08-27
- feat(tasks): one tree per PR, many tasks per tree#615 · 2026-08-27
- feat(rail): show a room's work as rows that carry their PR#614 · 2026-08-24
- docs(deploy): check in the SQL_ASCII to UTF8 cutover script and …#575 · 2026-08-24
- fix(agent): four things that made the room lie about what happen…#613 · 2026-08-24
- feat(tasks): re-deliver the thread foundation, and finish the sw…#612 · 2026-08-24
- feat(tasks): make a thread a place an agent can work in#611 · 2026-08-23
- docs: make every document declare whether it is current or a rec…#610 · 2026-08-23
- feat(tasks): give work a thread in a room instead of a room of i…#608 · 2026-08-21
- fix: eight things dogfooding turned up, from a stuck 正在处理 to the composer's top margin#607 · 2026-08-21
- fix(obs): a traceback must not carry the frames it came from#606 · 2026-08-21
- fix(agent): ask whether the session took over THIS turn, not whether it took over#605 · 2026-08-20
- fix(agent): a watch that dies must not take the topic with it#603 · 2026-08-20
- refactor(agent): separate the agent harness from the compute it runs on#601 · 2026-08-20
- refactor(platform): take the room's state out of its prose, then rewrite the prose#600 · 2026-08-19
- fix(chat): offer this room's 芝士 in the @ menu#599 · 2026-08-19
- feat(mobile): open on your own things, not on the pitch#598 · 2026-08-18
- feat(composer): leave only the message's own actions in the input row#597 · 2026-08-18
- feat(mobile): one top bar, filled by whichever page is open#596 · 2026-08-18
- feat(mobile): put spaces and teams on the page instead of behind a drawer#594 · 2026-08-18
- fix(chat): repair and unify the topic conversation column#592 · 2026-08-18
- feat(mobile): give the phone its own shell, and rework the composer#591 · 2026-08-18
- feat(agents): offer only the settings that take effect#593 · 2026-08-18
- fix(agent): the sweep's own resume spends from the retry budget too (#574)#590 · 2026-08-18
- fix(deploy): keep container logs on the host, so a deploy stops erasing its own evidence#584 · 2026-08-18
- fix(compute): stop advertising a visibility default that cannot run#583 · 2026-08-18
- feat(agent): make the agent the unit of identity and memory#589 · 2026-08-18
- feat(room): fold a task branch into its room, not into main#587 · 2026-08-18
- feat(memory): pin core memory and retrieve the rest by the turn#585 · 2026-08-18
- feat(agents): manage a project's AI teammates on their own page#586 · 2026-08-18
- fix(markdown): render Chinese emphasis, and stop the fidelity banner crying wolf#571 · 2026-08-18
- build: stop paying for the whole image on every commit#581 · 2026-08-18
- fix(agent): give the auto-resume chain a ceiling and a handover (#574)#576 · 2026-08-18
- ci(box-diag): tail the standing data plane, not just the backend#579 · 2026-08-18
- fix(device): a screen whose tunnel helper died must be relaunched, not reused#578 · 2026-08-18
- docs(topics): rescue the room/task/agent/session design notes#580 · 2026-08-18
- feat(deploy): terminate the llm tunnel outside the backend process#573 · 2026-08-18
- ci: let the runner fleet maintain itself#572 · 2026-08-18
- fix(users): allow nicknames shorter than four characters#506 · 2026-08-18
- feat(panel): land the work panel's interaction rules#570 · 2026-08-18
- feat(room): show a turn's results, not just the actions it took#530 · 2026-08-18
- feat(sandbox): allocate one tmux container per room, not per top…#532 · 2026-08-18
- fix(agent): record a prompt's arrival, and keep the platform's own work alive#543 · 2026-08-18
- ci: let architecture-agnostic jobs run on any CI runner#537 · 2026-08-18
- fix(rail): rejoin the sidebar and content area header baselines#569 · 2026-08-18
- fix(enroll): install claude at the pinned version, served from the platform#507 · 2026-08-18
- fix(ci): cache action archives on provisioned runners#567 · 2026-08-18
- fix(tunnel): hold a CONNECT through a backend restart instead of refusing it#566 · 2026-08-18
- ci: watch whether the newest Claude Code still speaks our protocol#505 · 2026-08-18
- fix(cli): refuse to install a service that could never update itself#502 · 2026-08-18
- fix(attribution): credit the driver, keep the requester as a co-author#546 · 2026-08-18
- fix(accept): update the PR base with the write token, not the read one#549 · 2026-08-18
- refactor: principles in CLAUDE.md, platform knowledge in the platform, and delete what a tool already enforces#518 · 2026-08-18
- fix(rail): align the group headers and unify the page header bas…#564 · 2026-08-18
- fix(agent): a write the transport accepted IS delivery#563 · 2026-08-18
- fix(agent): log every delivery verdict the room gets told about#559 · 2026-08-18
- test(api): use direct PR-check routes#561 · 2026-08-17
- ci: install jj for the runner's architecture, not a hardcoded one#534 · 2026-08-17
- fix(test): call pr-checks at its flattened path#553 · 2026-08-17
- fix(ci): bootstrap the device capability branch#557 · 2026-08-17
- fix(ci): avoid grep SIGPIPE in device wiring#552 · 2026-08-17
- fix(api): keep direct callers off the gateway mount#548 · 2026-08-17
- feat(rail): group the topic list by whether it involves me#541 · 2026-08-17
- feat(accept): stop archiving the topic when its change merges#536 · 2026-08-17
- fix(agent): assemble MessageDisplay flushes into whole messages#538 · 2026-08-17
- refactor(device): enforce an independent filesystem boundary#544 · 2026-08-17
- refactor(workspace): make content pages one white sheet, not whi…#540 · 2026-08-17
- fix(accept): distinguish a scope-unknown fallback from a real wait#527 · 2026-08-17
- fix(accept): answer /pr-checks when GitHub is unreachable, not 500#522 · 2026-08-17
- refactor(workspace): split the topic panel into four tabs#533 · 2026-08-17
- fix(device): stop injecting a doubled /api into device sandboxes#535 · 2026-08-17
- docs: retire the claims that the doubled /api prefix must stay#531 · 2026-08-17
- feat(topics): add a parent/child relay channel that wakes the re…#529 · 2026-08-17
- refactor(api): one namespace, one shape — drop the 2.0 /api prefix#528 · 2026-08-17
- refactor(rail): merge the topic row lead into one 16px slot#526 · 2026-08-17
- fix: surface live delivery fallbacks#525 · 2026-08-17
- ci(box-diag): make the dev backend's own log readable from outside the box#524 · 2026-08-17
- 赛题融合:机构协议搬到知是层级,cheesex 题目层级退役 (#370)#523 · 2026-08-17
- refactor(agent): retire the turn#508 · 2026-08-17
- feat(topics): tell each caller which topics are theirs#521 · 2026-08-17
- refactor(workspace): rebalance the project rail and its design l…#520 · 2026-08-17
- fix(preview): refuse an app preview the platform cannot reach#517 · 2026-08-17
- fix(test): make the suite honest about the host it runs on#513 · 2026-08-17
- docs: split by how fast a thing changes, not by what kind of thing it is#514 · 2026-08-17
- fix(review): attribute topics to their human owner, not the agent#512 · 2026-08-17
- refactor(workspace): make /projects/:id a real parent route#511 · 2026-08-17
- refactor(workspace): name worktree dirs from the topic id#510 · 2026-08-17
- fix(conclusion): defer the archive while an accept card is undec…#509 · 2026-08-17
- fix(accept): require a commit subject when filing an accept card#504 · 2026-08-17
- feat(compute): a topic can name the machine it runs on#503 · 2026-08-17
- chore: use "实况文档" for live document#500 · 2026-08-17
- perf: use svg icon instead of emoji#499 · 2026-08-17
- perf: cleanup texts#498 · 2026-08-17
- 采纳 提交与PR规范化#497 · 2026-08-17
- fix(agent): make turn lifecycle and delivery explicit#495 · 2026-08-17
- 采纳 页头统一#493 · 2026-08-17
- chore(theme): tighten lint baselines and refresh stale comments#492 · 2026-08-17
- feat(agent): deliver device prompts over the rendezvous socket, not keystrokes#487 · 2026-08-17
- fix(cli): find tmux where it is actually installed, not just on PATH#490 · 2026-08-17
- 采纳 琥珀字色统一#494 · 2026-08-17
- 采纳 CI等待卡住误报#488 · 2026-08-17
- fix(agent): clear the composer before every paste attempt#491 · 2026-08-17
- fix(theme): tokenize colors in project workspace pages#483 · 2026-08-17
- fix(theme): tokenize colors in team, task, space and discussion views#482 · 2026-08-17
- fix(theme): tokenize colors in core panels#485 · 2026-08-17
- fix(theme): tokenize colors in account and shared components#486 · 2026-08-17
- fix: improve contrast of default avatar#484 · 2026-08-17
- fix(agent): prompt delivery is verified on screen, not fired blind#481 · 2026-08-17
- feat(compute): Cloud becomes selectable, local-docker retires, the catalog holds only real pools#476 · 2026-08-17
- 采纳 前端设计规范现状评估#475 · 2026-08-17
- feat: ccproxy tenant client + confirmed revocation on device delete (#420 part 1)#473 · 2026-08-16
- fix: a turn nobody delivered is not "AI 服务返回错误"#472 · 2026-08-16
- fix: a message posted mid-turn reaches 芝士 now, not after the turn#469 · 2026-08-16
- feat: accept poller gets GitHub's tier-2 semantics — required-by-list + strict up-to-date (#468)#470 · 2026-08-16
- docs: record tier-2 accept semantics and their boundary (#468)#471 · 2026-08-16
- App采纳等CI再合#422 · 2026-08-16
- fix: error toasts show what the server actually said#464 · 2026-08-16
- fix: main's style gate is red — tokenize the platform-incident block#466 · 2026-08-16
- feat(machine): a cloud machine belongs to one topic and dies with it#465 · 2026-08-16
- fix: per-topic tunnel ports and failure text that quotes the service#463 · 2026-08-16
- fix: the no--e tmux fallback fires only for a pre-3.0 tmux (#427)#462 · 2026-08-16
- fix: every topic route answers 403 to the outsider, not just /blocks#461 · 2026-08-16
- 采纳 topic/ee17b136 → main#460 · 2026-08-16
- 芝士 edits(后台任务「eval "$(bash ../.claude/scripts/dev-db.sh start 2>/dev/null 」结束后的最终态)#426 · 2026-08-16
- feat: the live terminal accepts input — typing reaches the pane#458 · 2026-08-16
- feat(device): split hosted machines into their own subtype, visibility onto the binding#457 · 2026-08-16
- 前端·平台提示压成一行#423 · 2026-08-16
- fix: a batch of messages that keeps being replayed must say so#452 · 2026-08-16
- 头像端点撒谎#428 · 2026-08-16
- feat: the 现场 drawer shows the REAL terminal for device-hosted topics#456 · 2026-08-16
- fix: ask GitHub for the workflows grant the App already holds#455 · 2026-08-16
- fix: the prompt must not claim an image is attached on a backend that drops it#421 · 2026-08-16
- fix(device): a person's own machine is waited for, never swapped away from#449 · 2026-08-16
- feat: delivery failures surface in the room and re-send immediately (#445)#447 · 2026-08-16
- fix(config): the JWT_SECRET guard must not read its verdict from the file it guards#446 · 2026-08-16
- test: real-Claude-Code delivery e2e on CI (ported from micro-connector's testbed)#444 · 2026-08-16
- docs: the deploy-gated archive is gone, so accept-is-merge must stop saying it is kept#432 · 2026-08-16
- fix: waiting for claude to boot must not burn the prompt driver's retry budget#443 · 2026-08-16
- fix: chunk tmux writes so a long prompt is never silently refused (upstream T-058)#436 · 2026-08-16
- fix: the prompt driver must verify its writes against the screen, not trust them#435 · 2026-08-16
- 采纳 topic/10ff4404 → main#429 · 2026-08-16
- fix: stop trusting tmux env inheritance — source the launcher's full environment#434 · 2026-08-16
- fix: a topic's claude must carry its own HOME and PATH into the inner session#433 · 2026-08-16
- fix: give each topic's device screen its own isolated home#424 · 2026-08-16
- ci: move the prod gate off GitHub-hosted runners#418 · 2026-08-15
- fix: a device screen must never touch the machine owner's ~/.claude#413 · 2026-08-15
- 采纳 topic/419ed825 → main#414 · 2026-08-15
- fix: the device dataclass has to carry the ccproxy identity, or the signal is silently dropped#412 · 2026-08-15
- fix: recover a co-located device's ccproxy ticket from the credentials store#411 · 2026-08-15
- feat: a self-hosted device can bring its own ccproxy identity#410 · 2026-08-15
- fix: a rotated machine ticket has to reach the running claude#409 · 2026-08-15
- docs: name the two metering settings that fail silently when wrong#408 · 2026-08-15
- fix: the machine's ticket has to reach the home claude actually reads#407 · 2026-08-15
- fix: a machine's own ticket is not a scoped token — read attribution from the CONNECT#406 · 2026-08-15
- fix: never overwrite a live ccproxy ticket — refreshing it is not ours to break#405 · 2026-08-15
- fix: a changed launch contract has to reach the running claude, and the ticket has to come from the backup#404 · 2026-08-15
- fix: on the tunnel, claude must carry the MACHINE's ticket, not ours#403 · 2026-08-15
- fix: retire a tunnel helper running older code instead of adopting it#402 · 2026-08-15
- fix: the tunnel helper must stamp the scoped token, or the meter refuses every turn#401 · 2026-08-15
- fix: the machine sweep must refresh before it decides, or it decides on stale state#400 · 2026-08-15
- fix: enrol a machine only after its AI channel has settled, or its identity is lost for good#399 · 2026-08-15
- feat: 远端机器接上隧道,订阅请求真正走到计量代理#398 · 2026-08-15
- feat: 远端机器够到计量代理的传输层(尚未接线)#397 · 2026-08-15
- feat: a MicroCloud machine runs on the subscription, as itself#396 · 2026-08-15
- feat: the supply decision belongs to the backend, the routing to the proxy#395 · 2026-08-14
- 采纳 topic/0d8d94c1 → main#360 · 2026-08-14
- harden the subscription metering proxy against the credential-refresh trap#392 · 2026-08-14
- fix(agent): fold credential freshness into screen reuse + fast-fail a known-expired turn (#388)#390 · 2026-08-14
- feat(frontend): PWA offline support with auto-recovery#387 · 2026-08-14
- fix(device): give each screen its own live token, not the tmux server's frozen one#386 · 2026-08-14
- fix(device): default visibility to isolated at all three layers (#364)#378 · 2026-08-14
- feat(compute): gate local-docker out of new selection behind a flag (#22)#384 · 2026-08-14
- fix(config): fail closed when a deployment runs on the default JWT_SECRET#380 · 2026-08-14
- fix(migrations): bound alembic lock/statement timeouts so a stuck migration fails fast (#356)#379 · 2026-08-14
- fix(ws): commit the auth read-transaction before parking in the receive loop (#356)#382 · 2026-08-14
- fix(subscription): mint the proxy token for the session, not one hour#385 · 2026-08-14
- ci: move remaining merge-gate and image-pipeline jobs off ubuntu-latest#383 · 2026-08-14
- 理顺平台代码:#370 三处改名 + 采纳链路收敛#377 · 2026-08-14
- ci: an optimisation must not hold a veto over the tests#381 · 2026-08-14
- fix(device): reopen a reused screen whose claude died instead of reasserting it (#325 G2)#375 · 2026-08-13
- 采纳 topic/517c0465 → main#374 · 2026-08-13
- feat(device): run device turns on the subscription, same path as local (#325 G2)#373 · 2026-08-13
- drop runtime products and unify development#372 · 2026-08-13
- fix(device): the hook drainer must live and die with claude, not the connector#371 · 2026-08-13
- 采纳 topic/74b45f9e → main#365 · 2026-08-13
- fix(device): ship the launcher as a file, and re-assert screens on reuse (#368)#369 · 2026-08-13
- 采纳 topic/07b5a7f9 → main#367 · 2026-08-13
- fix(review): a GitHub-bound project's accept never bypasses its PR (#362)#366 · 2026-08-13
- feat(compute): promote Hosted Machine to an explicit, gated, non-default visibility=host#361 · 2026-08-13
0.17.02026-07-15正式发布1 项改动