Design #53 — goal pages in the hub + goals move to issues

Requirement jwildfire/obot.roadmap#53 · companion requirement #71 (goals → issues) · from Ideas discussion #50 / #55 · Approved & implemented 2026-07-24

Plan reviewed and approved by @jwildfire 2026-07-24 (labels renamed to auto/draft; D1, D2, D4, D5 approved as proposed). Supersedes design #18 decision O2.

1. Summary

Standing goals move from files (obot.agent/goals/*.md) to hub goal issues, and the site gains one page per goal summarizing the goal and its member requirements, split by readiness. The design splits direction + membership (the goal issue — editable by @jwildfire with no PR ceremony) from the policy binding for autonomous selection (a thin registry that stays in obot.agent under the policy-file carve-out).

2. Representation: goal issues

D1 (approved): goals are goal-labeled issues with sub-issue membership links; no custom issue type.

3. Readiness labels

D3 (approved, amended): label names are auto / draft (@jwildfire 2026-07-24), not the proposed ready-for-auto / needs-steering.

4. What --auto reads

ConcernLives inChange path
Direction, boundaries, membership (anchors/backlog)Hub goal issue@jwildfire edits directly; agents propose via comment
Selectable set, active/paused, grant profileobot.agent/goals/registry.jsonPR through the policy-file carve-out — never merged unattended
D2 (approved): the thin policy registry stays in obot.agent inside the carve-out.
D4 (approved): autonomous sessions never edit goal issue bodies or sub-issue links — membership changes are proposed as comments. The rule is normative (session contract + wrapup audit); the mechanical backstops remain the grant matrix, merge policy, and registry carve-out.
D5 (approved): supersedes design #18 decision O2 ("goal definitions live in obot.agent, not the hub"). A supersession note is added to 18_design.html; nothing is deleted.

5. Site surfacing

6. Migration & rollout (executed 2026-07-24)

PhaseWhatWhereGate
1 — hub contentLabels auto/draft; goal issues #78 (G1 charts) + #79 (G2 app) migrated verbatim from charts.md/app.md; pilot goals #72/#73 retrofitted with YAML blocks; 10 sub-issue links; draft applied to all 11 current membersobot.roadmap issues@jwildfire reviews live goal issues
2 — machinerygoals/registry.json; obot-auto registry resolution; session-init goal-resolution + read-only rule; charts.md/app.md retired in-PR (no dark window: pre-merge sessions read files, post-merge read issues)obot.agent#45 (draft)@jwildfire review, obot-merge — carve-out, never unattended
3 — siteCollector rewrite, build_goals.mjs, goal template, deploy-workflow wiring, this design docobot.roadmap main@jwildfire reviews deployed pages
4 — closeout#18 O2 supersession note; #57 handoff (goals.json + URLs); #53/#71 updatesobot.roadmap

7. v2 amendment (2026-07-24, same day)

On reviewing the shipped goal issues, @jwildfire flagged the up-front YAML blocks and their staleness risk (a hand-maintained list duplicating the sub-issue links). Approved reshape:

8. Dependencies and open questions


This design document was drafted by Claude Code using Fable 5 and reviewed by @jwildfire.