Skip to content

feat(daemon): add github pr endpoints#307

Closed
donbeave wants to merge 5 commits into
mainfrom
jackin/desktop-github-pr-endpoints
Closed

feat(daemon): add github pr endpoints#307
donbeave wants to merge 5 commits into
mainfrom
jackin/desktop-github-pr-endpoints

Conversation

@donbeave

Copy link
Copy Markdown
Member

Summary

This stacks the third Desktop Agent Hub daemon slice on top of PR 306: the daemon now advertises and serves github/my_open_prs, github/project_inbox, and github/repository_prs so Desktop can render newest-first open PR inbox views through the versioned daemon protocol. The implementation uses the operator's existing gh authentication, parses structured JSON, sorts by creation time descending, and applies owner/repository filters without exposing tokens to Desktop.

What's deferred (follow-up PRs and risks)

  • Previous PR in chain: PR 306 (feat(daemon): add workspace session discovery) must be reviewed after PR 283 and before this PR.
  • Current slice: GitHub PR lookup endpoints, daemon capability advertisement, newest-first sorting, owner/repository filtering, and focused parser/filter tests.
  • Next planned PR: Ghostty launch/open action contract for workspace/launch and desktop/open.
  • Later planned PRs, in order: Claude/Codex/Amp account status endpoints, native macOS status bar, menu bar workspace counts, menu bar PR/project inbox, desktop window shell, Desktop PR/project filters, Desktop Workspaces and Running Agents views, then attention/ready-for-review notification routing.
  • Review order: PR 283 first, PR 306 second, this PR third, then each downstream Desktop Agent Hub PR in sequence.
  • Remaining risks: this is a live gh lookup path, not the later cache-first PR index; private repository visibility depends on the operator's gh scopes; Amp account status remains deferred; macOS app packaging and daemon version negotiation remain unvalidated until the SwiftUI/AppKit slices land.

Verify locally

Checkout

Paste this first to bypass the tirith paste scanner for the rest of the session:

export TIRITH=0

Then paste the checkout block:

mkdir -p "$HOME/Projects/jackin-project/test"
cd "$HOME/Projects/jackin-project/test"

if [ ! -d jackin/.git ]; then
  git clone https://github.com/jackin-project/jackin.git
fi

cd jackin
mise trust
git fetch -f origin jackin/desktop-github-pr-endpoints:refs/remotes/origin/jackin/desktop-github-pr-endpoints
git checkout -B jackin/desktop-github-pr-endpoints refs/remotes/origin/jackin/desktop-github-pr-endpoints

Static checks

cargo fmt --check
cargo clippy --lib -- -D warnings

Tests

cargo test --lib daemon::tests

The focused tests cover daemon capability advertisement, GitHub PR JSON parsing, newest-first sorting, owner/repository filtering, gh limit clamping, and the prior daemon protocol/session/workspace cases.

User smoke: daemon lifecycle

cargo run --bin jackin -- daemon restart
cargo run --bin jackin -- daemon status
cargo run --bin jackin -- console --debug

gh auth status should show the GitHub account/scopes the daemon will use for PR lookup requests.

Documentation

cd docs
bun install --frozen-lockfile
bun run dev

Astro serves at http://localhost:4321/. Pages to walk:

http://localhost:4321/reference/roadmap/jackin-daemon/
UPDATED roadmap page. Check the protocol capability table for the three GitHub PR methods and the Phase 3 note.

http://localhost:4321/reference/roadmap/jackin-desktop-agent-hub/
UPDATED roadmap page. Check the existing local foundation section for Desktop's daemon-backed PR lookup path.

Migration notes

None. These endpoints are additive and use the operator's existing gh login; no token storage or config migration is introduced.

donbeave and others added 5 commits May 10, 2026 05:08
Add the Jackin Desktop Agent Hub roadmap as the product and architecture source of truth for a daemon-backed native macOS status bar and desktop companion. The proposal covers PR-first project visibility, Ghostty-only workspace launching, running-agent counts, Claude/Codex/Amp account status, daemon-primary Desktop data flow, small sequential stacked PR delivery, and explicit repo PR/commit standards for the implementation program.

Add a separate Goal prompts docs page with the copy-pasteable Codex goal prompt, and align the daemon, live auth sync, agent attention prompts, and host bridge roadmap docs so they point toward the same daemon-owned status, approval, and event model.

Signed-off-by: Alexey Zhokhov <alexey@zhokhov.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <codex@openai.com>
Signed-off-by: Alexey Zhokhov <alexey@zhokhov.com>
Co-authored-by: Codex <codex@openai.com>
Signed-off-by: Alexey Zhokhov <alexey@zhokhov.com>
Co-authored-by: Codex <codex@openai.com>
Signed-off-by: Alexey Zhokhov <alexey@zhokhov.com>
@donbeave

Copy link
Copy Markdown
Member Author

Closing this narrower slice because the daemon/Desktop Agent Hub work is now consolidated for broad review in #317.

@donbeave

Copy link
Copy Markdown
Member Author

Superseded by #317, which carries the combined daemon/Desktop Agent Hub feature and links this PR in its consolidated trail.

@donbeave donbeave closed this May 16, 2026
@donbeave donbeave deleted the jackin/desktop-github-pr-endpoints branch May 20, 2026 01:48
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.

1 participant