Skip to content

Spec: GitHub milestone creation/assignment capability (net-new) #7427

Description

@JSONbored

Problem

No code path anywhere in this codebase creates or manages GitHub-native milestones. Every milestone reference is either the milestoned/demilestoned webhook event being tracked read-only (src/github/webhook.ts), a field on IssueRecord/backfill types, or an unrelated Linear-integration field (src/integrations/linear-adapter.ts, project-tracker-adapter.ts write to Linear, not GitHub milestones). Selfhosters have no way for ORB to group its own planned issues under a milestone.

Area

New module alongside src/services/contributor-issue-draft.ts; src/github/webhook.ts (reference only, for existing milestone-event shape); .claude/skills/contributor-pipeline-gardening/reference.md (existing human convention to match).

Proposal

  • Add milestone create/list support (POST/GET /repos/{owner}/{repo}/milestones) via sub-issue 1's write-client resolver — no separate auth path.
  • Add a reuse heuristic that checks open milestones (by title/description similarity) before creating a new one, so a repeated planning run doesn't spawn a fresh milestone every time — mirroring the manual convention the contributor-pipeline-gardening skill already follows today (reusing "Miner Wave 4.5 — AMS Hardening Round 2" across rounds rather than creating a new milestone each time).
  • Extend sub-issue 2's tool with an optional milestone target: resolve-or-create, then assign generated issues to it on create.

Deliverables

  • Milestone create/list/resolve helper built on sub-issue 1's resolver.
  • Reuse-matching heuristic (avoid milestone sprawl across repeated planning runs).
  • Sub-issue 2's tool extended with an optional milestone parameter.

Resources

  • src/github/webhook.ts (existing read-only milestoned/demilestoned event tracking, shape reference only)
  • .claude/skills/contributor-pipeline-gardening/reference.md (existing milestone-reuse convention to match, not reinvent)

Boundaries

  • maintainer-only. Milestone titles/descriptions/due-dates are maintainer-authored or maintainer-approved inputs — not invented by the model without a human-supplied hint.
  • Creation/assignment only — must not auto-close, auto-edit, or delete existing milestones.
  • Depends on sub-issue 1 (write-client resolver) and pairs with sub-issue 2 (the tool it extends).

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.orbGittensory Orb related - maintainer self-hosting analytics.roadmapOn the Wave-2 agent-layer roadmap board (project 9)

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions