Record run 1: three bugs fixed, five open and classified

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-26 22:58:29 +04:00
parent a0209a2951
commit 7e49348096
+69
View File
@@ -342,3 +342,72 @@ July stuck task `06FT6CKD9Y98AZRX6X8K3QXFZG` is now `failed`.
A stale branch `orchestra/scratch/oc-06ftgkjadcd2hwjn2zwjen90q4` exists on the
remote from an earlier run. Harmless, but it is not from this burn-in.
## Run 1: task 06G3YR34117MAYT6KEAC9RJHD0, 2026-08-26
Evidence ledger:
```
harness workpc-opencode (herdr backend)
task 06G3YR34117MAYT6KEAC9RJHD0
source gitea:test-e2e/1 "Add a --version flag to the healthcheck script"
attempts 3 leases: two nacked, third launched
pane wN:p1, agent oc-06g3yr34117mayt6keac9rjhd0
agent session ses_fc096de31ffelZeMngQEyBTxfh
worktree /tmp/test-e2e-worktrees/06G3YR34117MAYT6KEAC9RJHD0
branch orchestra/06G3YR34117MAYT6KEAC9RJHD0
head at launch 5e6c4783d4213a934dc486160b888b6014bc2d03
launch context .orchestra/launch.md, 2138 bytes
phase frame
decisions none
```
### What worked
- **The launch context is right.** Authority order, the ambiguity ladder, the
phase brief with `frame: ... Do not change code`, `Current human decisions:
None recorded`, and a verified git state with worktree, branch and head.
- **The agent respected the phase.** `agent_status: done`, no code changes, only
Orchestra's own scratch directory in the tree.
- **A bad launch nacked cleanly.** The first attempt failed on the base checkout
and the task went back to `queued` with `lifecycle_phase: launch_nacked` and
`attempt: 1`. No orphan pane, no stuck lease.
### Fixed during the run
- **F1, authority bug, `2753a8d`.** Every federated launch died with `effective
intent: federation: 401 Unauthorized: unauthorized surface`.
`GET /v1/tasks/<id>/intent` exists for workers, and the authz worker-path
exemption never included it. Twenty test packages passed throughout.
- **F2, authority bug, `09e572f`.** The rendered goal was the issue title alone
and acceptance read `Not stated.`, because `Gitea.event` parsed the issue body
and dropped it from the `TaskCreated` payload. The store already read
`description`. Every Gitea-sourced task so far ran on its title.
- **F3, self-inflicted, `a0209a2`.** The launch dump left `.orchestra/`
untracked in a worktree whose own context said `uncommitted changes: false`.
It would have polluted the gate, the review diff and the agent's `git status`.
### Open, classified
- **F4, adapter/harness.** `rotation ... activity degraded: activity unknown:
adapter: resolve session file: adapter: harness "opencode" has no
session-file resolver`. Thrash and activity triggers are permanently degraded
on opencode. Observable in the worker's `last_error`, non-fatal.
- **F5, lifecycle.** The router never leased this task. Every gate checks out by
hand: worker `online: true`, `herdr_status: reachable`, fresh `checked_at`,
`supported_projects: ["test-e2e"]`, quota empty, no active leases, capability
empty. A direct `POST /v1/tasks/<id>/lease` succeeded instantly. The refusal
is upstream of `Store.Lease` and silent by construction
(`internal/router/router.go:197`). All three runs were leased by hand.
- **F6, observability.** Worker health reports `active_task: null` while the
store shows the task leased and herdr shows a live opencode agent in the
task's worktree.
- **F7, operator policy.** `ORCHESTRA_TUI_TOKEN` is unset, and an unset surface
token means no authentication for that surface. That is how the manual leases
above were issued, unauthenticated, from another machine. The TUI surface is
`FullControl`, so this is the whole control plane, not just the two agent
request endpoints. Set the token.
- **F8, correctness.** `human.Reconciler.Reconcile` iterates every configured
source for every task, so the three queued `correx` tasks have their external
ids looked up in `kami/test-e2e`. A source should only reconcile the tasks
that came from it. Likely why those three never lease.