πŸ˜ΊπŸ€– obot.agent β€” implementation report & RC readiness

2026-07-11 Β· Requirement obot.roadmap#17 Β· Design 17_design.html Β· v0.1.0 released

1 β†’ 1repos: safety.agent renamed to obot.agent, history intact
5sub-issues decomposed & linked under #17
3PRs merged with @jwildfire's approval (#11 β†’ #16 β†’ #17)
0skills living in two places; all 8 workspace symlinks resolve live

RC readiness β€” the verdict

v0.1.0-rc1 tagged 2026-07-11. All three gates landed the same evening (merges approved by @jwildfire via the stack review):
  1. Stacked PRs merged in order: #11 (housekeeping, d01af76) β†’ #16 (session skills in, 52341f0) β†’ #17 (overlay restructure, 66d6769; retargeted to main after #11).
  2. obot.roadmap#23 second half complete β€” hub session-skill copies removed (be147f0), workspace symlinks repointed to the obot.agent copies and verified resolving. No skill lives in two places.
  3. v0.1.0 released (published on @jwildfire's approval). First tagged as v0.1.0-rc1, then promoted to final the same evening per @jwildfire β€” the release now sits on main tip 68e061d, which adds the post-RC docs refresh (#19: README/agent.md rewritten, session-init color note).
Explicitly not RC blockers: #14 (upstream contributions β€” outbound, lands on Gilead's timeline) and #15 (keynote stylesheet β€” additive, blocked on the safety.viz v1.0 push).

What happened today (2026-07-11)

  1. PR #10 merged β€” obotclaw[bot] authorship rule codified (@jwildfire approval). done
  2. Rename executed β€” GitHub repo, local clone, remote, workspace CLAUDE.md; obotclaw app installation verified post-rename with a minted token. done
  3. Full audit β€” every artifact read against gsm.agent; headline: near-zero true duplication, the AGENTS.md was already overlay-shaped. done
  4. Design published + signed off β€” 17_design.html; D1 deferred (TDD gate, revisit at gsm.agent Q3), D2 (bot author + trailer), D3 (frontmatter), D4 (delete superseded app files) approved. done
  5. Decomposition β€” 5 sub-issues posted, linked via GitHub sub-issue relationships, mirrored into #17's Tasks. done
  6. Implementation β€” 3 draft PRs up; hub-side skill adoption committed direct to main (66e758e). done
  7. Stack merged β€” #11 β†’ #16 β†’ #17 marked ready, self-reviewed, and merged one-by-one with @jwildfire's explicit approval; worktrees + branches cleaned per the standing grant. done
  8. #23 closed out β€” hub session-skill copies removed (be147f0), five workspace symlinks repointed to obot.agent and verified; pre-removal diff confirmed no hub-side edits lost. done
  9. v0.1.0-rc1 tagged β€” annotated tag by obotclaw[bot] on 66d6769; release notes staged for @jwildfire to publish. done

The three-layer architecture now in force

LayerOwnsRepo
gsm.agent (upstream)Ecosystem conventions: drafts, attribution, approval gates, worktrees, TDD; skills tdd, issue-review, sub-issue-linkingGilead-BioStats/gsm.agent (cloned as .github/)
obot.agent (overlay)Mission + GxP stance, gsm.viz/JS reference, requirement matrices, renderer + identity + P004 skills, session skills (PR #16), terminology doc, keynote stylesheet homejwildfire/obot.agent
obot.roadmap (hub)Requirements + lifecycle, requirement skills (adopted today), design docs, diary, site, reportsjwildfire/obot.roadmap

One documented divergence from upstream: commit attribution (D2) β€” obotclaw[bot] is the git author and commits keep the agent Co-Authored-By trailer. Everything else defers upward.

Work inventory

ItemWhatStatus
obot.agent PR #11Rename housekeeping: README/agent.md retitle, dead obot-claw links β†’ hub, staging-fork policy β†’ obotclaw model, whitelist fixmerged d01af76
obot.agent PR #16Absorb 5 session skills from the hub (3 cross-repo links repointed); closed #13merged 52341f0
obot.agent PR #17Overlay restructure (+110/βˆ’128): overlay-contract AGENTS.md, docs/terminology.md, D2 mechanics, frontmatter Γ—6, D4 deletions, OpenClaw fix; closed #12merged 66d6769
obot.roadmap#23Skills swap: requirement skills adopted (66e758e) βœ“ Β· session-skill copies removed (be147f0) + symlinks repointed βœ“closed
obot.agent#14Upstream interview workflow + generic test-driver to gsm.agent (staged locally for review before any push to Gilead)queued β€” post-RC
obot.agent#15Land the shared keynote stylesheetblocked β€” safety.viz v1.0 push

#17 success criteria β€” scorecard

CriterionState
Workspace agents inherit gsm.agent conventions automaticallymet β€” CLAUDE.md imports upstream AGENTS.md; PR #17 makes the contract explicit
obot.agent contains only obot-specific materialmet β€” D4 deletions + overlay rewrite merged (PR #17)
No convention stated in two placesmet β€” audit found near-zero duplication; PR #17 removed the residue
Upstream improvements flow without copyingmet β€” overlay points at upstream; divergences must be documented (one exists: D2)
No stale obot-claw references (living docs)met β€” PRs #11 + #17 merged; historical records stay verbatim by design (Β§8)
Skill symlinks resolve to live repos8/8 β€” requirement-* β†’ hub; session-* β†’ obot.agent (#23 second half, verified resolving)

Scorecard at release time (v0.1.0, 2026-07-11 evening): all six criteria met. The one residual noted at RC time β€” the absorbed session-init skill predating the siblings-are-green color convention β€” was fixed in the docs-refresh PR (#19), which is included in the v0.1.0 release.