diff --git a/docs/operations.md b/docs/operations.md index e636591..e439e69 100644 --- a/docs/operations.md +++ b/docs/operations.md @@ -87,7 +87,7 @@ Vendor setup and protocol quirks are in [Claude Code](claude-protocol.md), [Code - A turn whose final message asks the human something in prose is bounced once, telling the agent to use `ask_human`. For Claude the bounce is a Stop hook that blocks the stop; Claude Code reports the block as a "Stop hook error" notification, which is expected. An agent told explicitly to ask in plain text will refuse the bounce. - A turn that asks a question has no summary; everything the human needs belongs in the question's context. Other turns use their final message as the summary; don't ask agents to write a second recap. - A review covers the whole task against the default branch, so a newer one makes older ones moot. Findings reach the task's agent together, once the whole review workflow finishes; an individual reviewer finishing is not a completed review. -- An audit checks only the newest commit of the default branch, one at a time per project, so it doesn't run on every revision but the newest one is always audited eventually. byre never fetches for an audit, so a commit pushed outside byre is audited only once a byre merge has fetched it. +- An audit checks only the newest commit of the default branch, one at a time per project, so it doesn't run on every commit but the newest one is always audited eventually. byre never fetches for an audit, so a commit pushed outside byre is audited only once a byre merge has fetched it. - A team task that comes up with some members failing to start isn't repaired; discard it and create it again. ## Coordination diff --git a/hands/Sources/byre-hands/Chrome.swift b/hands/Sources/byre-hands/Chrome.swift index bb1082f..8fdb370 100644 --- a/hands/Sources/byre-hands/Chrome.swift +++ b/hands/Sources/byre-hands/Chrome.swift @@ -393,11 +393,15 @@ func chromeFromProfile() async -> Chrome? { } func openChrome() async throws -> (Chrome, String) { - if let chrome = await chromeFromProfile() { return (chrome, "") } + if let chrome = await chromeFromProfile() { + return (chrome, "") + } let lock = try await lockInput() defer { close(lock) } // Another helper may have started Chrome while this one waited. - if let chrome = await chromeFromProfile() { return (chrome, "") } + if let chrome = await chromeFromProfile() { + return (chrome, "") + } let fm = FileManager.default try fm.createDirectory(atPath: chromeProfile, withIntermediateDirectories: true, attributes: [.posixPermissions: 0o700]) try fm.setAttributes([.posixPermissions: 0o700], ofItemAtPath: chromeProfile) diff --git a/mac/Sources/Byre/BoxDiagram.swift b/mac/Sources/Byre/BoxDiagram.swift index eacbf1c..3f19456 100644 --- a/mac/Sources/Byre/BoxDiagram.swift +++ b/mac/Sources/Byre/BoxDiagram.swift @@ -1587,7 +1587,7 @@ private func click(_ layout: BoxLayout, _ p: CGPoint, tap: (String?) -> Void, op extension View { func diagramMenu(_ layout: BoxLayout) -> some View { contextMenu { - Button("Copy Image") { + Button("Copy image") { if let image = diagramCGImage(layout) { copyToClipboard(platformImage(image)) } diff --git a/site/index.html b/site/index.html index b51421d..ca306f7 100644 --- a/site/index.html +++ b/site/index.html @@ -1409,9 +1409,9 @@ footer {

Reviews

Every change gets a second opinion. Reviewers check each turn's work; the agent fixes what holds up, explains what it skips, and you can overrule it with a click.