0.69.0
本頁內容尚未翻譯。
A main agent now has a kind and gets its dispatch rules with its plan; Raven Keep’s lightning, raven, and glass can be seen; blocks take an “Other comments” note; and background sound and sound effects are two settings.
After upgrading: a coordinator main that dispatches a worker must first write a plan whose todos name a graph. A main whose job is merge trains or minding one system (a v1 redis watch, a CR9 switch) calls boss_duty with integrator or standing instead; a main named integ <project> becomes an integrator by itself.
A main agent now has a kind, and the dispatch rules come with the plan (todo #137, phase 1; spec docs/specs/2026-11-09-agent-kinds.md).
boss_dutysets a main’s kind:coordinator(the default),integrator, orstanding, with a one-line reason. The kind is the prompt the main runs, it shows on the card, comms and dossier (協調者 / 整合員 / 值守 in every theme, with the plan’s graph after it), and a switch is an event on the timeline and a line in the tower’s digest.- Integrators keep merging. A main named
integ <project>(at start or at any rename) or holdingtraintodos is migrated tointegratoronce, with an entry saying why. Today’s ledger integrators (integ FE2,integ v3) and takeovers that rename themselves get the integrator prompt without doing anything. Any other integrator callsboss_duty integrator. A declared kind is never migrated; with integration off nothing is migrated and an integrator runs as a coordinator. - A
traintodo needs the integrator kind. Ledger merges and deploys are never gated. Switching away fromintegratoris refused whiletraintodos are pending or in progress; ledger trains are not seen, so a ledger integrator can switch away mid-train, and then the boss or the tower hands its trains on. - The sidebar sorts a member beside the main of its tab that publishes
sb_duty=integrator(display only; a forged token misplaces one row). The yard card follows the kind: a writer of another kind shows “changed kind”. - Wording: the slip’s
coordinatorfield keeps its name; the prose and the yard message now say “the slip’s sender” (送車者).
Dispatch rules follow the plan
Section titled “Dispatch rules follow the plan”- A coordinator main that dispatches a
worker(or an unknown role, or a spawn with no role) must first write a plan whose todos name a graph (metadata.graph:single-loop,fan-out/fan-in,orchestrator-worker). Scouts, planners, reviewers, andsubagent_resumeneed none, and integrators and standing mains are never asked. The first refused call says how: write the plan’s todos, or, for a main whose job is a project’s merge trains or minding one system (a v1 redis watch, a CR9 switch), callboss_dutywithintegratororstandinginstead. A main namedinteg <project>is migrated before the gate runs. main.mdis shorter; the dispatch rules moved todispatch.mdand two graph addenda that sb adds to a coordinator’s prompt once its todos name a graph (one steer when it changes). An integrator and a standing main always carrydispatch.md.planning.mdasks a single loop that a worker carries to write"graph": "single-loop".
Operate and link
Section titled “Operate and link”Operate controllers see the kind word and the graph in the snapshot, and the duty event. The ally board carries neither.
Not in this release
Section titled “Not in this release”The role pack, watch_read, and the watchdog (phases 2 and 3); the server log line for a kind change.
- The lightning and thunder come to a watcher (todo #138). The first strike came 57.6 s after the backdrop showed, but the page calms after 30 s without input, so a boss who watched without touching never saw a flash or heard thunder. Now the first strike comes 7 s after the backdrop shows, then every 61 s, and the perched raven’s head turn first comes about 4 s after it shows (it was 11 s). On a fine pointer (a mouse or trackpad) calm no longer stops the strike, the raven’s light and its head turn, or the thunder; the rain still rests under calm. A phone (coarse pointer) keeps the old rule: calm stops all of it, for the battery. Hidden tabs, Sound off, and reduced motion are as before. The cost: on the map the strike is a layer’s opacity (the compositor, no main-thread work); on the head page it is an animated number, so the page ticks one animation per frame while calm.
- A phone shows the castle (todo #138). On a phone the 1280 px picture was a 220 px strip under the header, covered by the cards. Under 600 px the picture now covers the screen’s height and is pinned left, where the moon and the castle are; the gate on the right falls off the edge. The map’s perched raven shows on a phone too (56 px, on the head band, taking no tap); the head page’s stays off it, since it sits on the gate.
- Frosted glass (todo #138). Where the browser supports
backdrop-filter, Raven’s large panels (a base on the map, the comms and the head page, the dossier and timeline, a settings group, a sheet) take a translucent fill and blur the picture behind them (8 px), so the castle shows through; without it they keep the opaque fills. Text keeps 4.5 : 1 over the brightest part of the picture at the lightning’s peak (measured). Standard and Geek do not change. - The raven’s head turn can be seen, and the castle shows behind the head page (todo #138, round 2). The turned frame was the profile’s twin at its resting dark, so at real size the turn did not read. While it shows, the raven is now lit by the moon: its own colours instead of the profile’s dark, a cool rim of moonlight round it, a glint in its eye, and 3 s on the turned frame. On a desktop the perch on the map is 100 px wide (it was 70), on a phone 56 (it was 44). The head page’s comms were one 72 percent panel over the whole picture, so the castle was mush behind it; its glass is now 18 percent over a 2 px blur, the rows that stand on it bare (the chapter rule, the times, a bubble, a notice, a tool card, the notes and the queue) carry a darker backing of their own, and text keeps 4.5 : 1 (measured over the brightest lit pixel). On a phone the head page also opens a strip of the picture, up to 120 px, between the header and the conversation. Standard and Geek do not change.
- Lightning that looks like lightning, a perch the turn can be seen from, glass you can see through (todo #138, round 3; the boss still saw no thunder or lightning: the flash was a 17 to 29 of 255 brightening). The strike now draws a forked bolt in the sky and a violet wash on the map and the head page, as a double pulse of 0.27 s on the same 61 s clock and 7 s first strike as the picture’s light and the thunder (one more fading layer, no repaint; reduced motion draws neither bolt nor wash, calm and phones follow the rules above). What stands bare on the picture (the crumbs, the bar’s buttons, the legend, the new-base button, the head page’s rows) has a darker backing, so text keeps 4.5 : 1 under the bolt’s white core (walked in a browser at the peak: 4.99 : 1 at the lowest). The head page’s perched raven stands in the margin left of the log, on the painting’s left cross and facing the log (it sat behind the message bubbles); where the window has no such margin (1380 px and under) it is not drawn. The map’s glass is 60 percent (it was 72), so the castle reads through the bases. The header’s height for the comms (
--hud) now follows a theme switch: the observer watches the border box it reads, and Raven’s thicker top rule left the comms 3 px short after Raven to Standard until a reload (a general fix, not Raven’s).
Blocks
Section titled “Blocks”- pi-better-show 0.5.0. Every form, review, checklist, and options block has an “Other comments” box. Its text goes to the agent with the answer (“Other comments: …”), and the locked block shows it. An answer may now carry 65 fields (64 questions and the note) instead of 64. The session that shows the document needs pi-better-show 0.5.0 too: 0.4.0 refuses a document answer whose note is not blank, and the page says so (a chat block is not affected).
- Background sound and sound effects are two settings (todo #139; spec
docs/specs/2026-11-09-sound-split.md). The settings page’s one Sound switch and Volume are now Sound effects (音效) and Background sound (背景音), each with its own switch and volume. Sound effects is the cues: the question, finish, and failure clips (a theme’s own included), the unit-ready chime, Zen’s bowl and knock; it keeps its Try button. Background sound is what plays under the page: Zen’s music, and Raven’s rain and thunder (the thunder belongs to the weather). Each switch silences only its class and each volume scales only its class. Both are off by default, work in Standard, Geek, Zen, and Raven Keep, and Zen’s corner menu and palette carry both. - Your old setting carries over. A browser that had Sound on starts with both on at the old volume; one that had it off starts with both off. The old keys are only read, never written.
- Zen’s music needs Background on. The ♪ still picks whether Zen plays music, but with Background off it plays nothing, fetches nothing, and says so (Music: on, but background sound is off); a playing track stops when Background is turned off and starts again when it is turned back on. A device that had Sound off and the ♪ on hears no music until Background is turned on.
- Background has no Try button: what it plays is already audible while you move its volume.