How vimalyad/oss-pipeline-stale works
oss-pipeline automates open-source contributions, from issue discovery through proposal, human approval, implementation, pull-request submission, and ongoing CI/review follow-up. The Go CLI is the scheduled runtime; the README describes the Python implementation as an unscheduled rollback and parity counterpart. The graph preserves the distinct domain stages and safety boundaries. Some implementation files were not sampled, so their connections are shown only where the README or source index supports them; unsampled details are not inferred.
Main entry points: implement.go Implementation stage · submit.py Python PR submission · main.go Pipeline CLI · store.go JSON candidate store
Components 29
Discovery and triage
- Pipeline CLI
cmd/pipeline/main.go - Issue discovery
internal/discover/discover.go - Issue harvesting
internal/harvest/harvest.go - Issue brief
internal/brief/brief.go - Repository facts
internal/repofacts/repofacts.go
Candidate decisions
- Candidate state
internal/model/candidate.go - JSON candidate store
internal/store/store.go - Candidate scoring
internal/score/score.go - Proposal report
internal/propose/propose.go - Human approval gate
internal/gate/gate.go - Machine capability gate
internal/machine/machine.go
Implementation and verification
- Implementation stage
internal/implement/implement.go - Build recipe derivation
internal/recipe/derive.go - Isolated execution
internal/sandbox/sandbox.go - Failure reproduction
internal/repro/repro.go - Model CLI
internal/llm/llm.go
Safe publication
- Git identity boundary
internal/identity/identity.go - PR submission
internal/submit/submit.go - Publication guards
internal/guard/guard.go - CI and PR watch
internal/watch/poll.go - Maintainer replies
internal/replies/replies.go
Python rollback
- Python CLI
src/oss_pipeline/cli.py - Python candidate models
src/oss_pipeline/models.py - Python PR submission
src/oss_pipeline/submit.py - Python identity
src/oss_pipeline/identity.py - Python repository access
src/oss_pipeline/repo.py - Python GitHub API
src/oss_pipeline/ghapi.py - Python audit
src/oss_pipeline/audit.py
Other components
- Operator
Connections 31
- Operator → Pipeline CLI: runs stages
README.md - Pipeline CLI → Issue discovery: starts discovery
README.md - Pipeline CLI → Human approval gate: records decisions
README.md - Pipeline CLI → Implementation stage: starts implementation
README.md - Pipeline CLI → CI and PR watch: starts watch
README.md - Issue discovery → Issue harvesting: finds issue context
- Issue harvesting → Issue brief: builds brief
README.md - Repository facts → Candidate scoring: informs scoring
internal/score/score.go - Issue discovery → JSON candidate store: records candidates
README.md - Candidate scoring → Proposal report: ranks candidates
README.md - Proposal report → JSON candidate store: reads candidates
README.md - Operator → Human approval gate: approves proposal
README.md - Human approval gate → JSON candidate store: persists decision
internal/gate/gate.go - Human approval gate → Candidate state: transitions state
internal/gate/gate.go - Machine capability gate → JSON candidate store: rechecks candidates
- Implementation stage → Build recipe derivation: derives verification
- Implementation stage → Model CLI: requests patch
internal/llm/llm.go - Implementation stage → Isolated execution: runs verification
internal/sandbox/sandbox.go - Implementation stage → Failure reproduction: reproduces failure
internal/repro/repro.go - Implementation stage → PR submission: submits change
README.md - PR submission → Git identity boundary: asserts identity
internal/submit/submit.go - PR submission → Publication guards: screens shipment
internal/submit/submit.go - PR submission → Model CLI: drafts PR body
internal/submit/submit.go - CI and PR watch → JSON candidate store: syncs PR state
README.md - Operator → Maintainer replies: manages replies
README.md - Python CLI → Python PR submission: runs submission
- Python PR submission → Python identity: asserts identity
src/oss_pipeline/submit.py - Python PR submission → Python repository access: uses repository access
src/oss_pipeline/submit.py - Python PR submission → Python GitHub API: uses GitHub API
src/oss_pipeline/submit.py - Python PR submission → Python candidate models: uses candidate model
src/oss_pipeline/submit.py - Python PR submission → Python audit: records audit
src/oss_pipeline/submit.py