Two Requirements that rebuild safety.agent as a thin project overlay on the gsm.agent base harness, then stand up the autonomous lanes the July consolidation retired. Approved and posted 2026-07-04 as #17 and #18.
v0.1 (end of July 2026): agent personas for all three pillars. v1.0 (Q3): bot identities live, per-agent skills libraries, formalized handoffs. Autonomy stance: "Ops & Roadmap rollups autonomous · rest interactive."
Written pre-consolidation: its own conventions, 8 skills, test framework, interview framework. Much of it restates gsm.agent ground; its remote still points at the archived obot-claw org.
Hub lifecycle is live on obot.roadmap. Issue #3 (obot GitHub App obotclaw) has an approved design — and explicitly deferred scheduled agentic runs to a separate Requirement.
The obot2 workspace already imports the gsm.agent clone's AGENTS.md — the inheritance mechanism exists. This proposal makes safety.agent honor it instead of duplicating it, which also answers the gsm.agent roadmap's open "shared scaffolding location" question in practice: obot becomes the first external consumer of gsm.agent as a base harness.
v0.1 — parallel agent personas per pillar; workspace conventions stay in AGENTS.md, agent-specific bits extracted
R1 below — safety.agent restructured as the project persona/overlay; conventions inherited, not restated
v0.1 → v1.0 — bot identity plan, then bots live (@gsm-roadmap-bot, @gsm-dev-bot)
#3 (already approved) — the obotclaw GitHub App is obot's bot identity
v1.0 — Roadmap rollups autonomous; richer skills (/regression-sweep, /security-review, release helpers)
R2 below — scheduled rollups, diary, event-driven responder, background dev lane under the App identity
Two harnesses means every gsm.agent improvement is either manually mirrored or silently drifts, and it is ambiguous which rulebook wins. Direction: leverage gsm.agent as much as possible; safety.agent carries only project-specific instructions. Success: one source of truth, upstream improvements flow through without copying, no stale obot-claw references.
Posted 2026-07-04 · draft archived at .github/drafts/obot.roadmap/ISSUE_17_agent-overlay.md
The goal is increased automation, but today nothing runs unattended: the diary routine is paused for lack of a push identity, hub status is updated by hand, and all work is interactive. This is the Requirement that #3 explicitly deferred — the runs that use the App identity it created. The operating contract holds: bots draft, report, and update status; Jeremy approves and merges.
| Lane | Trigger | Writes | Human gate |
|---|---|---|---|
| Requirement rollup | Schedule | Status comments on open Requirements | None — report only |
| Nightly diary | Schedule, active days only | obot.roadmap/diary/ | Pre-authorized policy (2026-07-01) |
| @claude responder | PR / issue events | Comments, review replies, checks | Jeremy merges |
| Background dev lane | Labeled issue | Worktree branch + draft PR | PR review |
Posted 2026-07-04 · draft archived at .github/drafts/obot.roadmap/ISSUE_18_autonomous-ops.md · Cross-cutting: a lane runbook in safety.agent — identity, trigger, scope, kill switch per lane
Not duplicated here: bot identity itself (#3, design approved), QC test tooling (#15), and the renderer work these serve (#1, #2, #9).
File as two issues, or merge into one harness Requirement?
Recommend two — R1 is self-contained restructuring; R2 depends on #3 and will run on a different clock.
Milestones: both 2026q3?
Recommend yes — R1 tracks gsm.agent's July v0.1; R2 follows #3, which is already 2026q3 with design done. Fallback for R2 is 2026q4.
Upstream contributions: propose the generic safety.agent pieces to Gilead's gsm.agent via PR, or carry them in safety.agent for now?
Recommend offering upstream (it's their roadmap's open question) with safety.agent as the fallback home until accepted — R1 is written that way.
R2 lane slate: all four lanes in scope, or trim?
The rollup and diary are low-risk report-only lanes; the responder and background dev lane are the real autonomy step. Design can stage them, but say now if any lane is out.