delqhi/sin-github-issues
0
1---2title: SIN-GitHub-Issues3emoji: "🤖"4colorFrom: blue5colorTo: indigo6sdk: docker7app_port: 78608pinned: false9---10 11# SIN-GitHub-Issues12 13`SIN-GitHub-Issues` is a SIN A2A agent package for the Silicon Workforce.14 15## Identity16 17- Slug: `sin-github-issues`18- Team: `Team - Coding`19- Team Manager: `SIN-Coding-CEO`20- Purpose: GitHub issue execution agent for confirmed bugs, repo issue lifecycle, branch-based fixes, and verification handoff. Extended with enterprise profile management capabilities.21- Usage: Use after enterprise-deep-debug confirms a bug to search/create/update GitHub issues, open a repo branch, execute the fix workflow, commit, push, and report verification status back to the orchestrating CLI agent. For profile and achievement operations use the new profile/achievement actions.22- Primary Model: `openai/gpt-5.4`23 24## Deployment25 26- Local path: `/Users/jeremy/dev/OpenSIN-backend/a2a/team-coding/A2A-SIN-GitHub-Issues`27- GitHub repo: `https://github.com/Delqhi/sin-github-issues`28- Workforce index: `https://a2a.delqhi.com`29- Landing page: `https://delqhi-sin-github-issues.hf.space`30- Public A2A / CIMD: `https://a2a.delqhi.com/agents/sin-github-issues`31- Hugging Face Space: `https://huggingface.co/spaces/delqhi/sin-github-issues`32- Hugging Face repo id: `delqhi/sin-github-issues`33- Cloudflare tunnel: `sin-github-issues`34- Runtime target: `Target: Hugging Face Space free CPU VM`35 36## Runtime Shape37 38- A2A JSON-RPC runtime39- MCP stdio runtime40- CLI wrapper for local and automated use41- publish-ready Docker/Hugging Face Space layout42- keep-alive ping + HF dataset session backup hooks43- best-effort `sin-supabase` audit persistence for workflow events44- canonical env names: `SUPABASE_URL` + `SUPABASE_SERVICE_ROLE_KEY` (legacy `SIN_SUPABASE_*` still accepted)45 46## GitHub App Fleet Routing47 48- Each specialized SIN coder can own its own dedicated GitHub App identity, for example `SIN-Hermes[bot]`, `SIN-Zeus[bot]`, or `SIN-BugBounty[bot]`.49- Central webhook endpoint: `POST /api/webhooks/github-apps`50- The current implementation prefers one central endpoint with `installation.app_id` routing.51- Routing key: `installation.app_id`52- Reply auth key: `installation.id`53- Routing config sources:54 - repo SSOT: `config/github-app-routing.json`55 - start-small example: `config/github-app-routing.local.example.json`56 - GitHub-Issues local example: `config/github-app-routing.example.json`57 - env matrix: `.env.example` and `.env.example` in this agent root58- Secret material is never committed. Use env-backed private key + webhook secret fields referenced from the routing config.59 60### Operator Setup61 621. Generate a local routing file from the example template:63 64```bash65npm run ops:github-app-routing:init66npm run ops:github-app-routing:env-template -- --agents sin-hermes,sin-zeus,sin-bugbounty67npm run ops:github-app-routing:vm-rollout -- --agents sin-hermes,sin-zeus,sin-bugbounty --base-url https://your-vm-host68```69 702. Export `SIN_GITHUB_APP_ROUTING_PATH=./config/github-app-routing.local.json`.713. Fill the referenced env vars for each GitHub App in your runtime environment:72 - `SIN_HERMES_GITHUB_APP_ID`, `SIN_HERMES_GITHUB_APP_CLIENT_ID`, `SIN_HERMES_GITHUB_APP_PRIVATE_KEY_PEM`, `SIN_HERMES_GITHUB_APP_WEBHOOK_SECRET`73 - `SIN_ZEUS_GITHUB_APP_ID`, `SIN_ZEUS_GITHUB_APP_CLIENT_ID`, `SIN_ZEUS_GITHUB_APP_PRIVATE_KEY_PEM`, `SIN_ZEUS_GITHUB_APP_WEBHOOK_SECRET`74 - `SIN_GITHUB_ISSUES_GITHUB_APP_ID`, `SIN_GITHUB_ISSUES_GITHUB_APP_CLIENT_ID`, `SIN_GITHUB_ISSUES_GITHUB_APP_PRIVATE_KEY_PEM`, `SIN_GITHUB_ISSUES_GITHUB_APP_WEBHOOK_SECRET`754. Point the selected GitHub Apps to the shared webhook path `POST /api/webhooks/github-apps`.765. Validate the webhook router before going live:77 78```bash79npm run ops:github-app-routing:check -- --apps sin-hermes,sin-zeus,sin-github-issues80npm run ops:github-app-routing:smoke -- --app sin-hermes --base-url http://127.0.0.1:800081npm run ops:github-app-routing:smoke -- --app sin-zeus --base-url http://127.0.0.1:800082npm run ops:github-app-routing:smoke -- --app sin-github-issues --base-url http://127.0.0.1:800083pytest tests/unit/test_room13_webhook_routes.py -q84```85 86The smoke command generates a signed synthetic GitHub webhook for the selected app and expects the Room-13 endpoint to resolve the configured `app_slug`, `preferred_agent_slug`, and `installation_id`.87 88## A2A Surface89 90- Card: `GET /.well-known/agent-card.json`91- Alias: `GET /.well-known/agent.json`92- Health: `GET /health`93- RPC: `POST /a2a/v1`94 95## MCP Surface96 97- Transport: `stdio`98- Config: `./mcp-config.json`99- OpenCode client: `./clients/opencode-mcp.json`100- Codex client: `./clients/codex-config.toml`101 102## Local Commands103 104```bash105sin-github-issues serve-a2a106sin-github-issues serve-mcp107sin-github-issues print-card108sin-github-issues run-action '{"action":"agent.help"}'109sin-github-issues run-action '{"action":"sin.github.issues.health"}'110sin-github-issues run-action '{"action":"sin.github.issues.auth.status"}'111sin-github-issues run-action '{"action":"sin.github.issues.profile.get"}'112sin-github-issues run-action '{"action":"sin.github.issues.profile.update","name":"Delqhi","company":"AIOMETRICS","blog":"https://www.delqhi.com"}'113sin-github-issues run-action '{"action":"sin.github.issues.profile.pinned_repos.list"}'114sin-github-issues run-action '{"action":"sin.github.issues.repo.metadata.update","repo":"owner/name","description":"...","topics":["ai","automation"]}'115sin-github-issues run-action '{"action":"sin.github.issues.achievement.quickdraw.trigger"}'116sin-github-issues run-action '{"action":"sin.github.issues.issue.ensure","repo":"owner/name","title":"Bug title","body":"..."}'117sin-github-issues run-action '{"action":"sin.github.issues.issue.evidence.policy"}'118sin-github-issues run-action '{"action":"sin.github.issues.repo.branch.start","repoPath":"/abs/repo","branchName":"fix/example"}'119sin-github-issues run-action '{"action":"sin.github.issues.runners.list","repo":"OpenSIN-AI/OpenSIN-backend"}'120sin-github-issues run-action '{"action":"sin.github.issues.workflow.runs.list","repo":"OpenSIN-AI/OpenSIN-backend","branch":"sin-github-issues-bootstrap"}'121sin-github-issues run-action '{"action":"sin.github.issues.workflow.local_suite.run","repoPath":"/abs/repo","suite":"docs-and-architecture","confirm":true}'122```123 124## Current Action Surface125 126### Issue & Repo Lifecycle127 128- `issue.ensure` / `issue.comment` / `issue.close`129- `issue.evidence.policy`130- `repo.status` / `repo.branch.start` / `repo.commit` / `repo.push`131- `workflow.finalize_fix` comment/closure handoff132 133### Issue Evidence Standard134 135- Use OpenCode `/share` links as the source of truth for issue evidence whenever a debugging or fix session exists.136- Put the share URL directly into the issue body or comment.137- Open that shared session in the browser and capture screenshots from the browser-rendered share page instead of from a local editor window.138- Always pair the share link and screenshot with exact `path:line` references.139- Keep the screenshot artifact in the issue timeline even if the backing session is later archived.140 141### Workflow & Runner Control142 143- `runners.list`144- `workflow.runs.list`145- `workflow.run.rerun`146- `workflow.run.cancel`147- `workflow.local_suite.run` for predefined local CI suites when GitHub-hosted Actions are unavailable or budget-blocked148 149### Profile & Achievement Management150 151- `auth.check` / `auth.login` guidance152- `profile.get` / `profile.update` (name, company, blog, location, bio, twitter, hireable)153- `profile.pinned_repos.list` / `profile.pinned_repos.set`154- `repo.description.update` / `repo.metadata.update`155- `achievement.quickdraw.trigger` / `achievement.quickdraw.status`156 157### Auth & Onboarding158 159- `auth.status` / `onboarding.status` / `onboarding.save`160 161## Publication Notes162 163- This package is Docker/Hugging Face Space ready via the repository `Dockerfile`.164- The standalone GitHub repo should contain the same contents as this directory root.165- Remote publication is only complete after landing, agent card, and A2A endpoint reachability are verified with the live audit.166 