todo: opencode signs no commits at all, claude is missing only the id
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,12 +21,12 @@ the owner's OS user and can never be granted. Indirection there really is accide
|
|||||||
|
|
||||||
## Themes
|
## Themes
|
||||||
|
|
||||||
**96 open, 30 closed**, across 32 themes.
|
**97 open, 30 closed**, across 32 themes.
|
||||||
|
|
||||||
| Theme | Open | Closed |
|
| Theme | Open | Closed |
|
||||||
| ------------------------------------------------------------------------------------------ | ---- | ------ |
|
| ------------------------------------------------------------------------------------------ | ---- | ------ |
|
||||||
| [Affordances](todo/affordances/) | 2 | 0 |
|
| [Affordances](todo/affordances/) | 2 | 0 |
|
||||||
| [Agents coordinating agents](todo/agent-coordination/) | 2 | 0 |
|
| [Agents coordinating agents](todo/agent-coordination/) | 3 | 0 |
|
||||||
| [Speaking into a session from the backend](todo/agent-delivery/) | 1 | 1 |
|
| [Speaking into a session from the backend](todo/agent-delivery/) | 1 | 1 |
|
||||||
| [Backburner](todo/backburner/) | 3 | 0 |
|
| [Backburner](todo/backburner/) | 3 | 0 |
|
||||||
| [Background jobs](todo/background-jobs/) | 2 | 1 |
|
| [Background jobs](todo/background-jobs/) | 2 | 1 |
|
||||||
@@ -68,6 +68,7 @@ the owner's OS user and can never be granted. Indirection there really is accide
|
|||||||
## Newest ten
|
## Newest ten
|
||||||
|
|
||||||
- `2026-08-25` **An affordance: a scoped agent warns when a request lands outside its scope** — [affordances/an-affordance-a-scoped-agent-warns-on-the](todo/affordances/an-affordance-a-scoped-agent-warns-on-the.md)
|
- `2026-08-25` **An affordance: a scoped agent warns when a request lands outside its scope** — [affordances/an-affordance-a-scoped-agent-warns-on-the](todo/affordances/an-affordance-a-scoped-agent-warns-on-the.md)
|
||||||
|
- `2026-08-25` **Commit signing is inconsistent across harnesses — Claude names itself, opencode names nothing** — [agent-coordination/commit-signing-is-inconsistent-across-harnesses](todo/agent-coordination/commit-signing-is-inconsistent-across-harnesses.md)
|
||||||
- `2026-08-25` **Resurrect Projects/Apps** — [backburner/resurrect-projects-apps](todo/backburner/resurrect-projects-apps.md)
|
- `2026-08-25` **Resurrect Projects/Apps** — [backburner/resurrect-projects-apps](todo/backburner/resurrect-projects-apps.md)
|
||||||
- `2026-08-25` **Refresh mid-turn folds the live tool call — it reads as finished while still running** — [known-bugs/refresh-mid-tool-call-renders-the-turn-folded](todo/known-bugs/refresh-mid-tool-call-renders-the-turn-folded.md)
|
- `2026-08-25` **Refresh mid-turn folds the live tool call — it reads as finished while still running** — [known-bugs/refresh-mid-tool-call-renders-the-turn-folded](todo/known-bugs/refresh-mid-tool-call-renders-the-turn-folded.md)
|
||||||
- `2026-08-25` **The model picker shows `claude-code` instead of the model that is running** — [known-bugs/the-model-picker-shows-the-bare-harness](todo/known-bugs/the-model-picker-shows-the-bare-harness.md)
|
- `2026-08-25` **The model picker shows `claude-code` instead of the model that is running** — [known-bugs/the-model-picker-shows-the-bare-harness](todo/known-bugs/the-model-picker-shows-the-bare-harness.md)
|
||||||
@@ -76,4 +77,3 @@ the owner's OS user and can never be granted. Indirection there really is accide
|
|||||||
- `2026-08-25` **Add a favorites tab/panel to the file browser** — [multi-user/add-a-favorites-tab-panel-to-the-file-browser](todo/multi-user/add-a-favorites-tab-panel-to-the-file-browser.md)
|
- `2026-08-25` **Add a favorites tab/panel to the file browser** — [multi-user/add-a-favorites-tab-panel-to-the-file-browser](todo/multi-user/add-a-favorites-tab-panel-to-the-file-browser.md)
|
||||||
- `2026-08-23` **A worker cannot verify that the owner delegated to a manager, so it has to ask every time** — [agent-coordination/a-peer-cannot-verify-a-delegation](todo/agent-coordination/a-peer-cannot-verify-a-delegation.md)
|
- `2026-08-23` **A worker cannot verify that the owner delegated to a manager, so it has to ask every time** — [agent-coordination/a-peer-cannot-verify-a-delegation](todo/agent-coordination/a-peer-cannot-verify-a-delegation.md)
|
||||||
- `2026-08-23` **An agent cannot learn its own transcript id, so it cannot sign its own work** — [agent-coordination/an-agent-cannot-learn-its-own-session-id](todo/agent-coordination/an-agent-cannot-learn-its-own-session-id.md)
|
- `2026-08-23` **An agent cannot learn its own transcript id, so it cannot sign its own work** — [agent-coordination/an-agent-cannot-learn-its-own-session-id](todo/agent-coordination/an-agent-cannot-learn-its-own-session-id.md)
|
||||||
- `2026-08-23` **The SendOff file size limit is one constant for everybody** — [sendoff/per-user-size-limit](todo/sendoff/per-user-size-limit.md)
|
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
id: agent-coordination/commit-signing-is-inconsistent-across-harnesses
|
||||||
|
title: 'Commit signing is inconsistent across harnesses — Claude names itself, opencode names nothing'
|
||||||
|
theme: agent-coordination
|
||||||
|
status: open
|
||||||
|
created: 2026-08-25
|
||||||
|
date_source: stated
|
||||||
|
order: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
**Every commit an agent makes should be signed with its harness name AND its chat/session id.** Raised
|
||||||
|
2026-08-25, and the owner's own audit of what actually happens today splits the work in two, because
|
||||||
|
the two harnesses are missing different halves:
|
||||||
|
|
||||||
|
- **Claude Code already does the harness-name half** — every commit in this repo's history carries
|
||||||
|
`Co-Authored-By: Claude <model> <noreply@anthropic.com>`. The id half is **known and already
|
||||||
|
blocked**, not missed: `agent-coordination/an-agent-cannot-learn-its-own-session-id` explains why (no
|
||||||
|
reliable way for a session to learn its own transcript id) and `CLAUDE.md`'s own "An agent's commit
|
||||||
|
names the session that made it" section names the same precondition. Nothing new to file for Claude —
|
||||||
|
this item exists for the other half.
|
||||||
|
|
||||||
|
- **opencode signs nothing at all.** Not the harness name, not an id — checked 2026-08-25, no
|
||||||
|
`Co-Authored-By` convention and no session-identifying trailer anywhere in
|
||||||
|
`src/servers/sidecar/opencode/`. This is a DIFFERENT gap from Claude's: naming the harness has no
|
||||||
|
precondition and no blocker. It could be added today, independent of the transcript-id mechanism —
|
||||||
|
opencode simply has no instruction telling it to identify itself in a commit at all.
|
||||||
|
|
||||||
|
So there are two pieces of work, not one, and they are not coupled:
|
||||||
|
|
||||||
|
1. **opencode: add the harness-name half now.** Whatever hands opencode its system prompt / commit
|
||||||
|
conventions (the equivalent of `CLAUDE.md` for that harness — search
|
||||||
|
`src/servers/sidecar/opencode/` for where its instructions are assembled) needs the same
|
||||||
|
`Co-Authored-By: opencode <...>` line Claude already writes. No dependency on anything unbuilt.
|
||||||
|
2. **Both harnesses: add the id half once the precondition lands.** This is exactly
|
||||||
|
`agent-coordination/an-agent-cannot-learn-its-own-session-id` — give every session its own chat id at
|
||||||
|
turn time (the mechanism `commanderBlock` already proves for commanders), then both harnesses' commit
|
||||||
|
trailers gain an `Officer-Session:`-style line. Do this once, generalized, rather than solving it
|
||||||
|
twice per harness.
|
||||||
Reference in New Issue
Block a user