Skip to content

feat(cli,mcp): orun initiatives — the group replaces work; the work MCP grows to 21 tools - #615

Merged
ruehowl merged 1 commit into
mainfrom
claude/initiative-redesign-api-1noeqy
Aug 7, 2026
Merged

feat(cli,mcp): orun initiatives — the group replaces work; the work MCP grows to 21 tools#615
ruehowl merged 1 commit into
mainfrom
claude/initiative-redesign-api-1noeqy

Conversation

@ruehowl

@ruehowl ruehowl commented Aug 7, 2026

Copy link
Copy Markdown
Member

What this is

The orun half of the orun-initiatives epic (IN5 + IN6). The authoritative epic lives in sourceplane/orun-cloud at specs/epics/orun-initiatives/ (sibling PR: sourceplane/orun-cloud#810); this repo's leg is specified in specs/orun-initiatives/README.md, added here.

CLI — orun initiatives (IN6)

  • New command group: list (portfolio table: key · title · status · progress · needs-you · target), view <key> (the tree as an indented ladder — intent chips with @revision and drift, milestone complete/active/upcoming states, task rungs with evidence hints), create (--why repeatable → the success checklist), edit / cancel / import (ported from work), task view / task create, activity <key> (the tagged tail), doc pull, design list / design propose. All with --workspace, --backend-url, --json.
  • orun work survives one release as a hidden, deprecated alias forwarding to the same constructors — zero duplicated logic. orun spec pull and orun epic pull are byte-identical.
  • workClient (the shared auth/scope preamble) moved to initiatives.go; spec.go/epic.go untouched.

Wire client

internal/remotestate gains ListInitiatives, GetInitiativeTree, GetTaskDetail, GetWorkActivity, CreateInitiative, ListWorkDesigns, UpsertMilestones plus the mirrored portfolio/tree/detail/activity types (contract: orun-cloud specs/epics/orun-initiatives/api-and-mcp.md §1). WorkSummary now parses the summary's initiatives array.

MCP — the agent surface (IN5)

  • Work roster grows 15 → 21: reads initiatives_list, initiative_tree, task_get, activity_get; writes initiative_create, milestone_upsert. Existing tool names untouched.
  • A pinned test proves a human_only refusal (approve/adopt/pin are decisions, humans only) passes through typed and verbatim — an agent can tell "not allowed for you" from "does not exist".
  • A fully mounted orun mcp serve now advertises 47 tools (21 work + 25 platform + connection_info).

Docs

website/docs/cli/orun-initiatives.md replaces orun-work.md (redirect stub kept), sidebar and Related links updated, orun-mcp.md counts and tool table redone.

Verification

go build ./... clean; go test ./cmd/... ./internal/workmcp/... ./internal/remotestate/... (plus platformmcp/mcpserve/agent/worklens sweeps) all green; make lint passes; internal/worklens (the frozen conformance oracle) untouched.

🤖 Generated with Claude Code

https://claude.ai/code/session_014mwXwkdPScFHzdJY1Zn5d7


Generated by Claude Code

…CP grows to 21 tools

The orun half of the orun-initiatives epic (authoritative spec:
orun-cloud specs/epics/orun-initiatives/; this repo's leg in
specs/orun-initiatives/).

CLI: 'orun initiatives' lands with list (portfolio table), view (the
tree as an indented ladder: intent chips with @revision + drift,
milestone states, task rungs with evidence hints), create (--why
repeatable, becomes the success checklist), edit/cancel/import (ported
from work), task view/create, activity (the tagged tail), doc pull, and
design list/propose. 'orun work' survives one release hidden and
deprecated, forwarding to the same constructors — zero duplicated
logic; spec pull and epic pull are byte-identical.

Wire: remotestate gains ListInitiatives, GetInitiativeTree,
GetTaskDetail, GetWorkActivity, CreateInitiative, ListWorkDesigns,
UpsertMilestones plus the mirrored portfolio/tree/detail/activity
types; WorkSummary finally parses the summary's initiatives array.

MCP: the work roster grows 15 → 21 (initiatives_list, initiative_tree,
task_get, activity_get; initiative_create, milestone_upsert) with the
existing names untouched, and a pinned test proves a human_only refusal
passes through typed and verbatim — agents can tell 'not allowed for
you' from 'does not exist'.

Docs: website cli/orun-initiatives.md replaces orun-work.md (redirect
stub kept), sidebar + related links updated, orun-mcp.md counts redone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014mwXwkdPScFHzdJY1Zn5d7
@ruehowl
ruehowl marked this pull request as ready for review August 7, 2026 10:26
@ruehowl
ruehowl merged commit 76c60e8 into main Aug 7, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants