Spaces:
Sleeping
Sleeping
metadata
title: SIN-GitHub-Issues
emoji: 🤖
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
pinned: false
SIN-GitHub-Issues
SIN-GitHub-Issues is a SIN A2A agent package for the Silicon Workforce.
Identity
- Slug:
sin-github-issues - Team:
Team - Coding - Team Manager:
SIN-Coding-CEO - Purpose: GitHub issue execution agent for confirmed bugs, repo issue lifecycle, branch-based fixes, and verification handoff. Extended with enterprise profile management capabilities.
- 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.
- Primary Model:
openai/gpt-5.4
Deployment
- Local path:
/Users/jeremy/dev/OpenSIN-backend/a2a/team-coding/A2A-SIN-GitHub-Issues - GitHub repo:
https://github.com/Delqhi/sin-github-issues - Workforce index:
https://a2a.delqhi.com - Landing page:
https://delqhi-sin-github-issues.hf.space - Public A2A / CIMD:
https://a2a.delqhi.com/agents/sin-github-issues - Hugging Face Space:
https://huggingface.co/spaces/delqhi/sin-github-issues - Hugging Face repo id:
delqhi/sin-github-issues - Cloudflare tunnel:
sin-github-issues - Runtime target:
Target: Hugging Face Space free CPU VM
Runtime Shape
- A2A JSON-RPC runtime
- MCP stdio runtime
- CLI wrapper for local and automated use
- publish-ready Docker/Hugging Face Space layout
- keep-alive ping + HF dataset session backup hooks
- best-effort
sin-supabaseaudit persistence for workflow events - canonical env names:
SUPABASE_URL+SUPABASE_SERVICE_ROLE_KEY(legacySIN_SUPABASE_*still accepted)
GitHub App Fleet Routing
- Each specialized SIN coder can own its own dedicated GitHub App identity, for example
SIN-Hermes[bot],SIN-Zeus[bot], orSIN-BugBounty[bot]. - Central webhook endpoint:
POST /api/webhooks/github-apps - The current implementation prefers one central endpoint with
installation.app_idrouting. - Routing key:
installation.app_id - Reply auth key:
installation.id - Routing config sources:
- repo SSOT:
config/github-app-routing.json - start-small example:
config/github-app-routing.local.example.json - GitHub-Issues local example:
config/github-app-routing.example.json - env matrix:
.env.exampleand.env.examplein this agent root
- repo SSOT:
- Secret material is never committed. Use env-backed private key + webhook secret fields referenced from the routing config.
Operator Setup
- Generate a local routing file from the example template:
npm run ops:github-app-routing:init
npm run ops:github-app-routing:env-template -- --agents sin-hermes,sin-zeus,sin-bugbounty
npm run ops:github-app-routing:vm-rollout -- --agents sin-hermes,sin-zeus,sin-bugbounty --base-url https://your-vm-host
- Export
SIN_GITHUB_APP_ROUTING_PATH=./config/github-app-routing.local.json. - Fill the referenced env vars for each GitHub App in your runtime environment:
SIN_HERMES_GITHUB_APP_ID,SIN_HERMES_GITHUB_APP_CLIENT_ID,SIN_HERMES_GITHUB_APP_PRIVATE_KEY_PEM,SIN_HERMES_GITHUB_APP_WEBHOOK_SECRETSIN_ZEUS_GITHUB_APP_ID,SIN_ZEUS_GITHUB_APP_CLIENT_ID,SIN_ZEUS_GITHUB_APP_PRIVATE_KEY_PEM,SIN_ZEUS_GITHUB_APP_WEBHOOK_SECRETSIN_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
- Point the selected GitHub Apps to the shared webhook path
POST /api/webhooks/github-apps. - Validate the webhook router before going live:
npm run ops:github-app-routing:check -- --apps sin-hermes,sin-zeus,sin-github-issues
npm run ops:github-app-routing:smoke -- --app sin-hermes --base-url http://127.0.0.1:8000
npm run ops:github-app-routing:smoke -- --app sin-zeus --base-url http://127.0.0.1:8000
npm run ops:github-app-routing:smoke -- --app sin-github-issues --base-url http://127.0.0.1:8000
pytest tests/unit/test_room13_webhook_routes.py -q
The 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.
A2A Surface
- Card:
GET /.well-known/agent-card.json - Alias:
GET /.well-known/agent.json - Health:
GET /health - RPC:
POST /a2a/v1
MCP Surface
- Transport:
stdio - Config:
./mcp-config.json - OpenCode client:
./clients/opencode-mcp.json - Codex client:
./clients/codex-config.toml
Local Commands
sin-github-issues serve-a2a
sin-github-issues serve-mcp
sin-github-issues print-card
sin-github-issues run-action '{"action":"agent.help"}'
sin-github-issues run-action '{"action":"sin.github.issues.health"}'
sin-github-issues run-action '{"action":"sin.github.issues.auth.status"}'
sin-github-issues run-action '{"action":"sin.github.issues.profile.get"}'
sin-github-issues run-action '{"action":"sin.github.issues.profile.update","name":"Delqhi","company":"AIOMETRICS","blog":"https://www.delqhi.com"}'
sin-github-issues run-action '{"action":"sin.github.issues.profile.pinned_repos.list"}'
sin-github-issues run-action '{"action":"sin.github.issues.repo.metadata.update","repo":"owner/name","description":"...","topics":["ai","automation"]}'
sin-github-issues run-action '{"action":"sin.github.issues.achievement.quickdraw.trigger"}'
sin-github-issues run-action '{"action":"sin.github.issues.issue.ensure","repo":"owner/name","title":"Bug title","body":"..."}'
sin-github-issues run-action '{"action":"sin.github.issues.issue.evidence.policy"}'
sin-github-issues run-action '{"action":"sin.github.issues.repo.branch.start","repoPath":"/abs/repo","branchName":"fix/example"}'
sin-github-issues run-action '{"action":"sin.github.issues.runners.list","repo":"OpenSIN-AI/OpenSIN-backend"}'
sin-github-issues run-action '{"action":"sin.github.issues.workflow.runs.list","repo":"OpenSIN-AI/OpenSIN-backend","branch":"sin-github-issues-bootstrap"}'
sin-github-issues run-action '{"action":"sin.github.issues.workflow.local_suite.run","repoPath":"/abs/repo","suite":"docs-and-architecture","confirm":true}'
Current Action Surface
Issue & Repo Lifecycle
issue.ensure/issue.comment/issue.closeissue.evidence.policyrepo.status/repo.branch.start/repo.commit/repo.pushworkflow.finalize_fixcomment/closure handoff
Issue Evidence Standard
- Use OpenCode
/sharelinks as the source of truth for issue evidence whenever a debugging or fix session exists. - Put the share URL directly into the issue body or comment.
- Open that shared session in the browser and capture screenshots from the browser-rendered share page instead of from a local editor window.
- Always pair the share link and screenshot with exact
path:linereferences. - Keep the screenshot artifact in the issue timeline even if the backing session is later archived.
Workflow & Runner Control
runners.listworkflow.runs.listworkflow.run.rerunworkflow.run.cancelworkflow.local_suite.runfor predefined local CI suites when GitHub-hosted Actions are unavailable or budget-blocked
Profile & Achievement Management
auth.check/auth.loginguidanceprofile.get/profile.update(name, company, blog, location, bio, twitter, hireable)profile.pinned_repos.list/profile.pinned_repos.setrepo.description.update/repo.metadata.updateachievement.quickdraw.trigger/achievement.quickdraw.status
Auth & Onboarding
auth.status/onboarding.status/onboarding.save
Publication Notes
- This package is Docker/Hugging Face Space ready via the repository
Dockerfile. - The standalone GitHub repo should contain the same contents as this directory root.
- Remote publication is only complete after landing, agent card, and A2A endpoint reachability are verified with the live audit.