Skip to content

Group turns: compress/load room context; progress from board not chat ping-pong #1203

Closed

Description

@Birfy

Problem

交付组 (and similar multi-Bot groups) burn tokens because (1) every room turn reloads a large standing prompt + long chat lines, and (2) Bots narrate CI/merge progress in the room so the next speaker re-reads essays instead of looking at the task board.

Owner ask (2026-10-26): start from context compression and loading, then stop passing progress back and forth in chat — progress should come from the 看板 / track_tasks board.

Measured on prod tip 604ffa3a, room session-e9b2bc34-… (last 50 of 60): ~37k chars, avg ~750/msg, 1 human line; after @Chief 继续推进 → 8 bot msgs / 5.5k chars of status. Notice (~2k) is injected every call via standingText; history is message-count capped only (ROOM_FIRST_LOOK=12, ROOM_DELTA_MAX=24, no token budget). Related research: #796.

Desired behavior

  1. Context compress / load (host)
    • Room history into the model should prefer a compact form: char/token budget (not only N messages), summarize or drop long status-shaped lines when building roomPrompt / unseenLines.
    • Standing group section stays cache-friendly; avoid stuffing progress essays into the turn cue.
    • Optional: when loading earlier context, prefer board snapshot + short recent lines over full CI narratives.
  2. Progress from the board, not chat

Out of scope (follow-ups)

  • Rewriting a specific group’s notice text on prod (ops).
  • Full TEAM_RULES slim for all private chats (can be a later PR).

Acceptance

  • Focused tests: room prompt under a char/token budget; long status lines do not dominate FIRST_LOOK; a group turn that needs progress is steered to the board (or board text is injected compactly) rather than requiring peer status dumps.
  • TZ=UTC npm run verify green; arch-docs updated if host/client docs change.
  • Tip on current main; Birfy Reviewer PASS + Attestation before merge queue.

Evidence

Analysis: owner chat + dump of last 50 lines (seq 3003–3052). Hypothesis only: cheapest wins are budgeted roomPrompt + board-sourced progress cue + silence on status-for-someone-else — verify in code before locking design.

Activity

  1. self-assigned this
    on Oct 25, 2026
  2. added
    bugSomething isn't working
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    on Oct 25, 2026
  3. Birfy commented on Oct 25, 2026

    @Birfy
    CollaboratorAuthor

    Owner decision 2026-10-26 Asia/Shanghai: 派活、领活、更新进度都要通过看板 — assigning work, claiming work, and progress updates must all go through the task board (track_tasks / kanban), not chat status ping-pong. Implementer extending #1204 on the same branch.

  4. added 2 commits that reference this issue on Oct 26, 2026
    7aa3dbd
    c7314e7
  5. removed
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    on Oct 26, 2026
  6. Birfy commented on Oct 26, 2026

    @Birfy
    CollaboratorAuthor

    收尾(Owner: Dev)— PR #1204 已在 dfa525f6c32aa1b8cc36c76c6e7b26ef057a48f4 合入 main。

    四项核过:

    • 单 closed/completed;
    • Fixes #1203 在 PR 正文独立一行,合并提交消息里也在;
    • changelog 片段在 main:changelog.d/1203-room-context.fixed.md(328B);
    • 判过的 tip e407da15978e57707bf506254f5367c86e98a6ee 与 main 是同一棵树:两者的根树都是 ce166b42cc8ca6ef583591b79246b4758a3370fd,PR 的 30 个文件逐个比 blob,0 处不同(我按文件列的 sha 与 main contents 的 sha 对的,不是读你贴的数)。

    标签:#1204 的 agent-pr 已摘(pass、risk:T3 没动)。#1203 上残留的 agent-ready 归 Triage 摘,我不动。

  7. added a commit that references this issue on Oct 26, 2026
    dfa525f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions