繁體中文

問題修復

共識不再漏算意見,也不能只靠一句同意

一場討論要有共識,不能靠有人開頭寫了「同意」就算數。council 討論(讓多位參與者各自表態後彙整結論的流程)以前只在每回合第一行開頭找立場標籤;先寫幾個字才標、或把標籤放在行尾,意見就像投票箱旁漏掉的選票,沒有被計入。現在會掃完整第一行,但一回合必須明確只提一種不同立場才列入;同時引用幾種立場就維持未解析,不隨便猜。若有人以同意立場開場,還得交代看過什麼、為何同意、仍有哪些顧慮。得出的共識不再是蓋章,而是每張選票都可追查的會議紀錄。

新功能

選人與開始討論,介面終於說清楚

你選 Claude、Codex 或 Antigravity 加進討論時,每個被選中的座位現在都會亮出 ✓。先前這個記號綁在頭像本身,只有使用內嵌圖示的 Antigravity 碰巧顯示得出來;Claude 和 Codex 使用圖片頭像,整排明明都選好了,畫面卻像只選一半。現在三者都把記號放在外層,選取狀態一致可見。開始討論按鈕若變灰,底下也會說明是沒填主題、沒選參與者,還是已有討論正在跑。理由會連到按鈕並放進狀態區,鍵盤與螢幕閱讀器使用者也收得到,不必靠滑鼠懸停猜答案。像活動報名櫃台,名牌終於都掛在到場者胸前,不能開場時也會直接告訴你缺哪一項。

新功能

主持人星號不再讓輔助工具猜人

輪到你挑主持人時,三顆星星過去都對螢幕閱讀器說同一句話,根本無法清楚分辨到底哪一席正在主持。現在每顆星會公開自己的按下狀態,滑鼠提示也分成「目前主持人」或「設為主持人」。這改動看似小,卻讓不用看畫面的人能跟看得見的人一樣確認會議誰在掌舵。像舞台後的控台,三個按鈕以前都只寫「燈」,如今一眼或一聽就知道哪盞已經亮、按哪顆會換人。

新功能

打包工具 setuptools 升到 83.0.0

這版也把 setuptools(Python 用來打包與安裝套件的工具)升到 83.0.0。原始紀錄未說明對畫面或功能的影響;原始紀錄只交代這項相依套件升級,沒有承諾特定功能改變。對從原始碼安裝、打包或維護 Usage 的人,它像廚房換了新的量杯:原始紀錄沒有說明成品會有什麼變化。若你只是開啟成品使用,知道這是維護性更新即可;若你處理建置環境中的相依版本,則以 83.0.0 為準。

English

BUGFIX

Consensus now counts every opinion and demands real agreement

Consensus cannot rest on someone merely opening with “agree.” In a council discussion, where several participants state positions before a conclusion is collected, stance labels used to be checked only at the beginning of each turn’s first line. A label appearing later, or at line end, could disappear like a ballot dropped beside the box. The whole first line is now scanned, but a turn counts only when it names exactly one distinct label; a turn quoting several remains unparsed rather than being guessed at. An agreement opening must also say what was reviewed, why it agrees, and what concerns remain. The result is less a rubber stamp than meeting minutes with every ballot traceable.

FEATURE

Selecting participants and starting a discussion are finally clear

When you add Claude, Codex, or Antigravity to a discussion, every selected seat now shows a ✓. The mark used to sit on the avatar itself: it happened to appear for Antigravity’s inline SVG icon, but stayed invisible for Claude and Codex image avatars, making a fully selected lineup look half-selected. All three now place the overlay on a wrapper, so selection is consistently visible. If Start discussion is greyed out, text underneath now says whether the topic is missing, nobody is selected, or a discussion is already running. That reason is connected to the button and placed in a status region, so keyboard and screen-reader users receive it too. It is like a registration desk where every attendee finally gets a visible badge, and a closed door explains exactly what is still missing.

FEATURE

Moderator stars no longer make assistive tools guess

When it is time to choose a moderator, the three stars used to give a screen reader the same accessible name, leaving no way to tell which seat was moderating. Each star now exposes whether it is pressed, and its tooltip says either “current moderator” or “set as moderator.” The change is small but lets people who do not view the screen confirm who is steering the meeting just as everyone else can. It is like a stage control board whose three buttons once all said “light”; now you can see or hear which lamp is on and which button changes it.

FEATURE

Packaging tool setuptools moves to 83.0.0

This release also moves setuptools, a Python tool for packaging and installing software, to 83.0.0. The source note does not describe any effect on the interface or features. The source notes only this dependency upgrade and do not promise a specific feature change. For someone installing from source, packaging, or maintaining Usage, it is like replacing a kitchen measuring cup. The source note does not say what changes, if anything, in the finished app. If you only use the finished app, treat this as maintenance. If you manage build dependencies, use 83.0.0 as the stated version.

原始 CHANGELOG

Original changelog共識不再漏算意見,也不能只靠一句同意
**The council consensus tally no longer drops opinions**: stance labels were only matched at the very start of a turn's first line, so a rebuttal that reached its label a few words in — or ended its first line with one — counted as unparsed and vanished from the count. The whole first line is now scanned, and a turn must name exactly one distinct label to be counted; a turn quoting several stays unparsed instead of having one guessed for it.
**Agreeing in a council rebuttal requires reasons**: a participant opening with the agreement stance must state what it reviewed, why it agrees, and what concerns remain, so consensus cannot be reached by rubber-stamping.
Original changelog選人與開始討論,介面終於說清楚
**Every selected participant shows its check mark**: the "✓" marking a participant as joining the discussion is drawn as a CSS `::after` overlay, which never renders on a replaced element. It therefore appeared only on the seat whose avatar falls back to an inline SVG (Antigravity) and stayed invisible on the seats drawn from an image icon (Claude, Codex), making a fully selected line-up look half-selected. All three now host the overlay on a wrapper element.
**The disabled *start discussion* button says why it is disabled**: a line under the button now names what is missing — no topic, no participant selected, or a discussion already running — instead of leaving a greyed-out button and no explanation. The reason is tied to the button with `aria-describedby` and lives in a status region, so keyboard and screen-reader users get it too, not only whoever hovers.
Original changelog主持人星號不再讓輔助工具猜人
**The moderator star is tellable apart**: all three stars carried the same accessible name, so a screen reader could not say which seat was moderating. Each star now exposes its pressed state, and its tooltip reads *current moderator* or *set as moderator* to match.
Original changelog打包工具 setuptools 升到 83.0.0
Bumped `setuptools` to 83.0.0.