Fix inconsistencies found by consistency audit of 4e20fe8
This commit is contained in:
+1
-1
@@ -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 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 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.
|
- 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.
|
- A team task that comes up with some members failing to start isn't repaired; discard it and create it again.
|
||||||
|
|
||||||
## Coordination
|
## Coordination
|
||||||
|
|||||||
@@ -393,11 +393,15 @@ func chromeFromProfile() async -> Chrome? {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func openChrome() async throws -> (Chrome, String) {
|
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()
|
let lock = try await lockInput()
|
||||||
defer { close(lock) }
|
defer { close(lock) }
|
||||||
// Another helper may have started Chrome while this one waited.
|
// 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
|
let fm = FileManager.default
|
||||||
try fm.createDirectory(atPath: chromeProfile, withIntermediateDirectories: true, attributes: [.posixPermissions: 0o700])
|
try fm.createDirectory(atPath: chromeProfile, withIntermediateDirectories: true, attributes: [.posixPermissions: 0o700])
|
||||||
try fm.setAttributes([.posixPermissions: 0o700], ofItemAtPath: chromeProfile)
|
try fm.setAttributes([.posixPermissions: 0o700], ofItemAtPath: chromeProfile)
|
||||||
|
|||||||
@@ -1587,7 +1587,7 @@ private func click(_ layout: BoxLayout, _ p: CGPoint, tap: (String?) -> Void, op
|
|||||||
extension View {
|
extension View {
|
||||||
func diagramMenu(_ layout: BoxLayout) -> some View {
|
func diagramMenu(_ layout: BoxLayout) -> some View {
|
||||||
contextMenu {
|
contextMenu {
|
||||||
Button("Copy Image") {
|
Button("Copy image") {
|
||||||
if let image = diagramCGImage(layout) {
|
if let image = diagramCGImage(layout) {
|
||||||
copyToClipboard(platformImage(image))
|
copyToClipboard(platformImage(image))
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -1409,9 +1409,9 @@ footer {
|
|||||||
<summary><h3>Reviews</h3><p>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.</p><span class="more"></span></summary>
|
<summary><h3>Reviews</h3><p>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.</p><span class="more"></span></summary>
|
||||||
<div class="detail">
|
<div class="detail">
|
||||||
<div class="fig" aria-hidden="true">
|
<div class="fig" aria-hidden="true">
|
||||||
<div class="flow"><span class="chip">Claude Code turn</span><span class="arrow">→</span><span class="chip">snapshot 3</span><span class="arrow">→</span><span class="chip on">Codex review</span><span class="arrow">→</span><span class="chip">agent triages</span></div>
|
<div class="flow"><span class="chip">Claude Code turn</span><span class="arrow">→</span><span class="chip">snapshot #3</span><span class="arrow">→</span><span class="chip on">Codex review</span><span class="arrow">→</span><span class="chip">agent triages</span></div>
|
||||||
<div class="win">
|
<div class="win">
|
||||||
<div class="bar"><i></i><i></i><i></i>search · review of snapshot 3</div>
|
<div class="bar"><i></i><i></i><i></i>search · review of snapshot #3</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div class="finding red"><i></i><b>A quote in the query breaks the search</b><span class="chip">medium</span><div class="reply"><span class="chip green on">fixing</span>Escaping the query before it reaches the index.</div></div>
|
<div class="finding red"><i></i><b>A quote in the query breaks the search</b><span class="chip">medium</span><div class="reply"><span class="chip green on">fixing</span>Escaping the query before it reaches the index.</div></div>
|
||||||
<div class="finding orange"><i></i><b>Rename cfg to config</b><span class="chip">low</span><div class="reply"><span class="chip">ignoring</span>Matches the surrounding code.<span class="btn ghost">Fix it anyway</span></div></div>
|
<div class="finding orange"><i></i><b>Rename cfg to config</b><span class="chip">low</span><div class="reply"><span class="chip">ignoring</span>Matches the surrounding code.<span class="btn ghost">Fix it anyway</span></div></div>
|
||||||
|
|||||||
Reference in New Issue
Block a user