26bd8dachangelog v2.16.1 is 6 commits behind this build β last written 8d ago, so 6 changes to what the site shows are unrecorded
π Session report
The Hierarchy view (#132, retro-filed at wrapup). The roadmap page now renders the goal β requirement β task forest as an expandable tree built from live sub-issue links β a new portfolio-wide collector fetching parent pointers, orphans grouped separately with dangling parents annotated. Two views: Current (what GitHub records β 44 of 79 open issues reachable from a goal at build time, 35 orphaned) and Proposed, overlaying 21 links from a committed roadmap-proposal.json with per-edge reasoning plus 7 cleanup flags (70 reachable, 9 deliberate leftovers). A recorded link always beats a proposal entry, so applied edges degrade to no-ops and the views converge as decisions land β which they promptly did (below). Bonus find: jwildfire/open.csr was missing from status-repos.csv, leaving every site collector blind to the CSR builder's repo β fixed. Changelog v2.5.0.
The audit lane, rebuilt three times on live feedback in one evening. First: no more tokens (@jwildfire's call) β the deployed audit page is now strictly read-only (connect-a-PAT dialog, localStorage token, and browser repository_dispatch deleted outright; changelog v2.6.0), and deciding moved to a local loopback server (obot.agent#55): session-audit.mjs serves the same page built with AUDIT_MODE=local and spawns a Claude Code agent per decision β ids only, fresh-audit re-validation, the machine's own gh auth, outcomes re-read from the committed ledger. Second, within the first hour of use ("kind of clunkyβ¦ probably makes sense to have a queue of approved actions that i can submit whenever i want"): the queue model β β/β stage decisions (toggle to unstage, queue survives reloads), a queue bar with an explicit submit, per-finding locks instead of a global one, and parallel submits, each spawning its own uniquely-named agent in its own hub worktree with a push-rebase to land on main (hub 3598330 + obot.agent#56; changelog v2.7.0; suite 85 tests). Stale hub PR #118 β the browser-token Option B β closed as superseded.
The lane's first production night, driven by @jwildfire. Seven audit batches between 21:20 and 21:54 EDT: 9 assignee fixes, 6 off-board requirements boarded, 14 closed-but-active issues restaged Released, and the 10-finding GOALLESS band that linked 8 requirements under their goals β a real chunk of this session's original "goals fully populated" focus, executed through the audit lane rather than the proposal view. The capstone was the first queue-model submit (16 findings, one agent): 6 applied, 8 correctly refused as stale from the parallel wave, and 2 correctly identified as rule false positives and left alone β judgment, not just mechanics. Board state at close: zero unstaged items across 142 board entries.
Worktree friction, ended. Blanket permission rules in the workspace settings (EnterWorktree, git worktree *, git -C * worktree *) β the long-carried allowlist paste, closed as a whitelist-everything rule per the live directive.
99d1bf9, 413c0a3, 3598330) + 7 audit-apply commits; goal links for #98 #117 #119 #123 #127 #128 #129 #130; stage fixes for open.csr#15/#22β25, safety.viz#45β48/#50; all deploys green.roadmap-audit failed this morning β page.test.mjs still asserted the dispatch lane the read-only rework deleted, so findings didn't regenerate overnight. Fixed at wrapup (test rewritten to the two-mode contract) and the workflow re-run to green; the miss is the lesson β the audit page's own tests weren't run before shipping 413c0a3.auto β eligible for an autonomous session).--auto diary entry (unreviewed marker).