Team Ai
Apppublic

delqhi/sin-github-issues

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
App README

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-supabase audit persistence for workflow events
  • —canonical env names: SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY (legacy SIN_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], or SIN-BugBounty[bot].
  • —Central webhook endpoint: POST /api/webhooks/github-apps
  • —The current implementation prefers one central endpoint with installation.app_id routing.
  • —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.example and .env.example in this agent root
  • —Secret material is never committed. Use env-backed private key + webhook secret fields referenced from the routing config.

Operator Setup

  1. 1.Generate a local routing file from the example template:
bash
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
  1. 1.Export SIN_GITHUB_APP_ROUTING_PATH=./config/github-app-routing.local.json.
  2. 2.Fill the referenced env vars for each GitHub App in your runtime environment:
  3. 3.SIN_HERMES_GITHUB_APP_ID, SIN_HERMES_GITHUB_APP_CLIENT_ID, SIN_HERMES_GITHUB_APP_PRIVATE_KEY_PEM, SIN_HERMES_GITHUB_APP_WEBHOOK_SECRET
  4. 4.SIN_ZEUS_GITHUB_APP_ID, SIN_ZEUS_GITHUB_APP_CLIENT_ID, SIN_ZEUS_GITHUB_APP_PRIVATE_KEY_PEM, SIN_ZEUS_GITHUB_APP_WEBHOOK_SECRET
  5. 5.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
  6. 6.Point the selected GitHub Apps to the shared webhook path POST /api/webhooks/github-apps.
  7. 7.Validate the webhook router before going live:
bash
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

bash
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.close
  • —issue.evidence.policy
  • —repo.status / repo.branch.start / repo.commit / repo.push
  • —workflow.finalize_fix comment/closure handoff

Issue Evidence Standard

  • —Use OpenCode /share links 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:line references.
  • —Keep the screenshot artifact in the issue timeline even if the backing session is later archived.

Workflow & Runner Control

  • —runners.list
  • —workflow.runs.list
  • —workflow.run.rerun
  • —workflow.run.cancel
  • —workflow.local_suite.run for predefined local CI suites when GitHub-hosted Actions are unavailable or budget-blocked

Profile & Achievement Management

  • —auth.check / auth.login guidance
  • —profile.get / profile.update (name, company, blog, location, bio, twitter, hireable)
  • —profile.pinned_repos.list / profile.pinned_repos.set
  • —repo.description.update / repo.metadata.update
  • —achievement.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.