Three goal lanes ran in parallel tonight and each ended somewhere different: charts shipped a release candidate, autonomy cleared a five-PR backlog and then cut its own release, and the app goal deliberately shipped no code at all β its blocker was a decision, not an increment, so it wrote decision artifacts instead. Then Jeremy read the close-out and found the real problem with it: everything he actually had to act on was buried under a work log. The last hour refactored the wrapup itself, so every output now opens with the two questions that need him β which release candidates are waiting, and which decisions are open β and carries both forward until he closes them. This entry is the first one written to that format.
safety.viz v1.6.0 β the Nephrotoxicity Explorer ships, and study-day playback now animates eDISH, hep and nep together. RC PR #124 Β· demo Β· ask: merge and tag
obot.agent v0.4.0 β sessions paint in seconds instead of minutes, one write policy covers every repo, and autonomous runs stop stalling at the merge gate. draft release Β· demo Β· ask: publish and tag
No RC from the app goal (#79) β deliberately: its blocker was a decision, so the lane shipped two decision artifacts instead of an increment.
π§ Decisions needed
App plan rewrite, A1βA4 β hub #34 predates the surfaces it describes; recommendation: retire and close #34, re-anchor requirements on surfaces (adopting the five goalless issues), adopt acceptance-path v1.0, and bind demo-301 to #79 as the fork template. decision artifact Β· blocks: app #79
demo-301 site size, S1βS3 β the fork template is 302.58 MiB, of which 103.41 MiB is a byte-identical duplicate tree and 83% of the real fork cost is three CSVs; recommendation: S1+S2 now, S3 with the Actions fix. decision artifact Β· blocks: #143
Closed tonight: the obot-merge classifier carve-out is recorded as Decided (A+B+C) on its artifact β it drops off this list.
sv#119 rebased onto dev (evidence.json provenance conflict resolved, ANIM-008 e2e green) and merged.
sv#121 merged β nep-explorer Phase 1; an ultracode verify pass held 13/13 body claims with zero blocking findings, and the canonical evidence-update run folded in.
sv#123 release-prep merged, then sv#124 opened as the v1.6.0 RC.
Done-gate live on the dev site β nep demo, evidence page, API reference and guide all 200, gallery reads v1.6.0 β and the demo page deployed to the hub.
RC roles corrected to the convention Jeremy set mid-session: assignee obotclaw[bot], reviewer @jwildfire.
Five stale PRs merged on the standard lane β oa#52, #62, #63, #67, #69 β with 104/104 tests green on main afterwards.
Merge-lane root cause found: the lead's obot-merge denial did not reproduce. The allowlist names obot.agent/scripts/β¦ but the lead invoked scripts/β¦, so the call fell through to the nondeterministic auto-mode classifier. Fix: invoke by absolute path.
Draft release v0.4.0 cut (untagged, unpublished) with its demo page built from real terminal captures β every repro command executed before it was written down.
Two decision artifacts published and the reports/decisions/ lane established β contract, landing page and index β so blockers now have a standard home instead of a diary sentence.
Three comments posted as obotclaw[bot] on #34, #79, #143.
The obotclaw App install is live on all 12 repos, open.gismo and open.csr included β so the stale prerequisite lines on goals #79 and #112 are both wrong, and policy.json cleared open.gismo back on 2026-07-29.
Harness lane (πΊπ€ lead)
Goal review recorded: charts #78, app #79 and autonomy #73 active; csr #112 and keynote #72 paused β held, not retired, and keynote is registry-listed for the first time.
docs/rc-framework.md v1 written: what separates an increment PR from an RC PR, the five things an RC must carry with the deployed demo as a hard gate, the draft-release form for repos with no dev, and decision artifacts for anything a session cannot decide.
The wrapup refactor β oa#83 merged: every wrapup output leads with the two headline sections, both lists cumulative, with a routing table so nothing appears twice; the verifier now checks every demo and artifact URL returns 200; the init hand-off and handoff.sh read both sections so pending items repaint each morning. A format preview built from this very session went on the PR as evidence.
Opened, still open: sv#124 β the only open PR anywhere across sv / oa / hub / safety-histogram / gsm.safety.
Commented: hub #34, #79, #143, plus a goal comment on #73.
Stages: none moved tonight.
Blockers / risks
The merge-gate guard blocks writing about the merge lane β its lookbehind misses HTML <code> tags, so prose that quotes the merge command in a doc or artifact is refused as if it were a merge attempt. (issue to file)
rc-framework and obot-merge disagree about drafts β obot-merge refuses draft PRs, while the framework says never mark increments ready for review. One of the two has to give. (issue to file)
demo-301's scheduled pipeline has been failing since 08-03 β package install dies on gsm.core transitive deps, build-site.yaml has never run at all, and both live snapshots are still local-2026-07-29. The GitHub acceptance path has therefore never run end to end, and demo-301 belongs to no goal, so nobody could pick it up. (issue to file; decision A4 assigns the ownership)
The obot-merge lane resolution contradicts the PR body it merged: obot-policy resolves obot.agent main as profile auto / role integration β the standard lane β while oa#83's body claimed the attested lane because it touched goals/registry.json. The merge carried an explicit approval note anyway, but the carve-out rule and the policy file do not currently agree. (issue to file)
Carried, already tracked: bg sessions still cannot use Edit/Write inside scripted worktrees (oa#82) β tonight's app-blockers sibling wrote every hub file through python3 heredocs because of it.
One unpushed hub commit sits in the working clone (afb431d, "Roadmap Todo section + Q&A decision lane") from a concurrent session β left alone deliberately, not mine to push.
Scaffold changes
Applied: the wrapup refactor (oa#83) Β· docs/rc-framework.md v1 Β· goal registry pauses for csr and keynote Β· hub diary/README.md section format Β· the rc-pr-roles memory (assignee obotclaw[bot], reviewer @jwildfire) Β· handoff.sh reads both headline sections.
Proposed, from the scratchpad: add "worktree": {"bgIsolation": "none"} to obot.roadmap/.claude/settings.json so bg sessions can use Edit/Write in a repo whose grant is already direct-to-main β and consider it for every such repo (oa#82).
Noticed: two identity strings in play β hub comment authorship renders as obotclaw while sv#124's assignee is obotclaw[bot]. May matter for the rc-pr-roles convention set tonight.
Six merged worktrees are still on disk in obot.agent; cleanup falls under the standing grant and runs in this wrapup's apply phase.
Next session: loose ends
File the four blocker issues above (merge-gate guard, draft/ready contradiction, demo-301 pipeline, obot-merge lane resolution) β all obot.agent or hub, all with Risk + Proposed mitigation bodies.
Act on whichever decisions land β A1βA4 rewrites hub #34 and re-anchors goal #79; S1βS3 shrinks demo-301 (#143).
Fix the stale prerequisite lines on goals #79 and #112 β the app-blockers sibling proposed the corrections as comments but never edited the bodies.
Two open ideas waiting on triage: disc#141 (make obot-merge --check report mergeability) and disc#89 (a goals page in the hub).
Carried tail: hep sv#55 / sv#49 (#88) Β· #140 D1βD8 Β· #91 D1βD7 Β· #145 LEXWATCH build/no-build call, now past its ~08-10 checkpoint. (carried)
π ToDo
Clicks and sign-offs: actions: write on oa#73 Β· the bgIsolation three-line paste if the heredoc tax keeps costing sessions.
Stage calls: nothing moved tonight, so the board still shows the pre-session picture for #73, #78 and #79.
The identity question: is obotclaw vs obotclaw[bot] a distinction the rc-pr-roles convention needs to name?
This entry was drafted by Claude Code using Opus 5 and reviewed by @jwildfire