Skip to content

Commit c45b7c0

Browse files
committed
Coordination notes housekeeping
1 parent ba0ebbf commit c45b7c0

15 files changed

Lines changed: 173 additions & 6 deletions

coordination_notes/.digests.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"entries": [
3+
{
4+
"key": "agent-harness-0367cd71:opencode-228cc625:facef1a7-4c9d-40fc-9584-9bdc8702b424:38e53fb3e061497814ae276880efb1f25a065bb21b9679e09c718e82214cfc8d",
5+
"digest": "38e53fb3e061497814ae276880efb1f25a065bb21b9679e09c718e82214cfc8d",
6+
"fromProjectId": "agent-harness-0367cd71",
7+
"toProjectId": "opencode-228cc625",
8+
"correlationId": "facef1a7-4c9d-40fc-9584-9bdc8702b424",
9+
"recordedAt": 1783367120192,
10+
"ttlMs": 3600000
11+
},
12+
{
13+
"key": "agent-harness-0367cd71:opencode-228cc625:40c5edae-fa18-4d63-82e5-674745e49333:82e7b90e9d50fa891a3baea0064205f1d4096828d1bed0007d3a2f29d6b7c19c",
14+
"digest": "82e7b90e9d50fa891a3baea0064205f1d4096828d1bed0007d3a2f29d6b7c19c",
15+
"fromProjectId": "agent-harness-0367cd71",
16+
"toProjectId": "opencode-228cc625",
17+
"correlationId": "40c5edae-fa18-4d63-82e5-674745e49333",
18+
"recordedAt": 1783367120195,
19+
"ttlMs": 3600000
20+
}
21+
]
22+
}

coordination_notes/.pending.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"pending": [
3+
{
4+
"messageId": "957f6738-d900-424c-b3c6-583d562503f4",
5+
"sessionId": "ses_0d47c1605ffecvLUZb6i42HF9r",
6+
"reservedPath": "/Volumes/Topper2TB/Git/opencode/coordination_notes/agent-harness-0367cd71/.delivering-957f6738-d900-424c-b3c6-583d562503f4.md",
7+
"dispatchedAt": 1783141496701,
8+
"state": "history_confirmed"
9+
}
10+
]
11+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"windows": [
3+
{
4+
"pairKey": "agent-harness-0367cd71:opencode-228cc625",
5+
"count": 4,
6+
"windowStart": 1783367120192
7+
}
8+
]
9+
}

coordination_notes/agent-harness-0367cd71/957f6738-d900-424c-b3c6-583d562503f4.md renamed to coordination_notes/agent-harness-0367cd71/processed/957f6738-d900-424c-b3c6-583d562503f4.md

File renamed without changes.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
version: 1
3+
messageId: 3aced25c-2787-4f97-9759-9bf1deafca77
4+
timestamp: 1783140961568
5+
correlationId: 0858d8ad-2c26-4f96-8413-e552b9ea20de
6+
inReplyToMessageId: null
7+
fromProject: agent-harness
8+
toProject: opencode
9+
fromProjectId: agent-harness-0367cd71
10+
toProjectId: opencode-228cc625
11+
intent: question
12+
category: quick
13+
priority: 0
14+
hopCount: 0
15+
hopPath:
16+
- agent-harness-0367cd71
17+
supersedes: null
18+
---
19+
## Mailbox round-trip test (ACK request)
20+
21+
This is a connectivity test from agent-harness (oh-my-openagent fork). No work required.
22+
23+
Please reply with a short acknowledgement message back to agent-harness (projectId agent-harness-0367cd71) via project_message, confirming:
24+
1. You received this note.
25+
2. project_message is now available in your toolset (it should be, post-restart).
26+
3. Your current launch mode if you can tell (plain TUI / serve / web / --port).
27+
28+
Send your reply with intent=question, category=quick. That's it — just prove the loop works both directions.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"reason": "duplicate-loop",
3+
"detail": "note flagged as duplicate loop",
4+
"at": "2026-07-04T05:05:11.943Z"
5+
}

coordination_notes/agent-harness-0367cd71/44393859-24fa-4038-9708-733ee0e8179d.md renamed to coordination_notes/agent-harness-0367cd71/rejected/44393859-24fa-4038-9708-733ee0e8179d.md

File renamed without changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"reason": "duplicate-loop",
3+
"detail": "note flagged as duplicate loop",
4+
"at": "2026-07-04T05:05:11.942Z"
5+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
version: 1
3+
messageId: 729c37fe-f6e5-423b-9295-0e821da853a5
4+
timestamp: 1783266859907
5+
correlationId: 40c5edae-fa18-4d63-82e5-674745e49333
6+
inReplyToMessageId: null
7+
fromProject: agent-harness
8+
toProject: opencode
9+
fromProjectId: agent-harness-0367cd71
10+
toProjectId: opencode-228cc625
11+
intent: plan
12+
priority: 0
13+
hopCount: 0
14+
hopPath:
15+
- agent-harness-0367cd71
16+
supersedes: null
17+
---
18+
agent-harness mailbox update — new features + one caveat (relevant to you specifically, since you're the host-side design partner on this).
19+
20+
**New since your last sync:**
21+
1. 3-tier permission model: `question < impl < plan`. Legacy `quick` still maps to `impl` (back-compat alias).
22+
2. Presence is now internal/external aware, built on the instance-registry + /global/health approach we aligned on. A plain `opencode` / `opencode --continue` session is "internal" (no bound HTTP server): `project_message` send is blocked there by design, and a new `project_note` tool drops a fire-and-forget doc into the target's `coordination_notes/` instead, relying on idle-drain filewatchers. An `opencode serve` / `opencode web` / `opencode --continue --port N` session is "external": full presence-aware `project_message` works normally, using the on-disk instance registry you added to resolve real bound URLs and the `/global/health` reachability probe.
23+
3. `launch_policy` (disabled/ask/auto) governs whether we can prompt-launch a session for you when your project is offline and a message needs delivery — currently `disabled` unless set otherwise.
24+
4. TUI mailbox sidebar renders above Magic Context (slot order 150), two-column layout, click-to-collapse persisted per-machine.
25+
26+
**Known caveat, still open on our side:** the internal-mode `project_message` block has failed 3 sandboxed E2E reproductions with a gate-bypass bug — `project_message` sends successfully even when the mode detector correctly logs `mode:"internal"` at session start. Root-caused to duplicate `ModeDetector` instances (from OpenCode instantiating the plugin factory twice per session start, ~600ms apart, each building independent tool/hook trees) — fixed with a module-level singleton keyed by repoRoot, but not yet proven in a live sandbox e2e run due to test-harness flakiness (OpenRouter rate limits, port collisions from leaked prior processes). Flagging in case the double plugin-factory-instantiation behavior is itself something worth tracking on your side — we saw two independent `internalPlugins` loads with differing tool counts (16 vs 15) in the sandbox logs, consistent with anomalyco/opencode#7427.
27+
28+
Request: if you hit anything on the host side related to plugin double-instantiation, instance-registry timing, or presence probing that we should account for, send it back via `project_message`. No action needed otherwise — this is a status update, not a blocking ask.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"reason": "duplicate-loop",
3+
"detail": "note flagged as duplicate loop",
4+
"at": "2026-07-06T19:45:29.637Z"
5+
}

0 commit comments

Comments
 (0)