Compare the suite, project by project.
Each project here goes up against the well-known tools in its space. The matrices below stay honest about trade-offs. Every project has at least one row where it doesn’t try to compete. Pick the rows that matter for your team and use them to decide.
// no premine · no roadmap · no issuer · no censorship
poor-mans-ci vs. CI providers
CI is the most crowded space in the suite. The choices range from SaaS-only (CircleCI, hosted GitHub Actions) to self-hostable but forge-tied (GitLab CI, Forgejo Actions) to fully self-hosted but heavy to run (Jenkins, Tekton). PMCI’s goal is narrower: write signed test results to disk, then refuse anything that doesn’t match a content hash. The matrix shows what that swap costs.
| Feature | PMCI | GitHub Actions | GitLab CI/CD | CircleCI / Buildkite | Drone / Woodpecker | Jenkins | Tekton |
|---|---|---|---|---|---|---|---|
| Self-hosted by default (no SaaS option) | ✓ | × | · | × | ✓ | ✓ | ✓ |
| No SaaS provider in trust path | ✓ | × | · | × | ✓ | ✓ | ✓ |
| Open-source license | ✓ | × | · | × | ✓ | ✓ | ✓ |
| Signed attestations on disk per run | ✓ | · | · | × | × | × | · |
Content-addressed artifact mirror (/artifact/<sha256>) |
✓ | × | × | × | × | × | × |
| Language-agnostic versioned protocol (a second engine can be implemented) | ✓ | × | × | × | × | × | · |
| Commit-addressed runner checkouts | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Pinned runner image evidence (sha) | ✓ | × | × | × | × | × | · |
| Head-build + synthetic test-merge dual workflows | ✓ | · | · | × | × | × | × |
| Radicle-native (no centralized PR / merge surface) | ✓ | × | × | × | × | × | × |
| YAML-free pipeline definitions (JSON manifest) | ✓ | × | × | × | × | · | × |
| Marketplace of third-party actions | × | ✓ | · | ✓ | · | ✓ | · |
| Enterprise workflow admin (RBAC, audit-as-product) | × | ✓ | ✓ | ✓ | · | ✓ | · |
| Real-time multi-user dashboard | × | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
GitHub Actions
Hosted-or-self-hosted runners, marketplace, PR integration, run logs in browser.GitHub holds source identity, the runner pool, the marketplace, and the merge surface. PMCI replaces the runner + evidence stack; it does not try to replace the marketplace, but it removes the runtime dependency on a single platform.
GitLab CI/CD
Self-hostable CI tied to the same forge that holds source, MR review, and registry.GitLab couples CI to the forge: change forge, change CI. PMCI is decoupled — source replicates over Radicle, CI runs against any ref, evidence is signed independently.
CircleCI / Buildkite
Hosted runner orchestration with strong cache stories and rich dashboards.Both bet that the control plane is best owned by a SaaS provider. PMCI bets the opposite: the control plane is local files plus a Radicle peer set, and the SaaS dashboard is replaced with one a dashboard process anyone can run.
Drone / Woodpecker
Container-native, forge-pluggable, self-hostable, YAML pipelines.The closest neighbors in spirit. The split is the evidence model: Drone/Woodpecker produce run logs and exit codes; PMCI produces signed attestations + content-addressed artifacts that survive without the dashboard.
Jenkins
Long-lived self-hosted CI with deep plugin ecosystem.Jenkins is the canonical “run anything anywhere” tool. PMCI gives up plugin sprawl in exchange for a tighter protocol contract and content-addressed artifacts. Jenkins wins on flexibility; PMCI wins on auditability.
Tekton
Kubernetes-native CI primitives, CRD-driven pipelines.Tekton requires Kubernetes and lives inside its CRDs. PMCI runs on any host with a shell and produces evidence that does not require a cluster to read.
poor-mans-cd vs. deployment platforms
Most deployments in 2026 assume either a hosted control plane (Heroku, Render, Vercel, Fly) or a Kubernetes cluster running a GitOps reconciler (ArgoCD, Flux). PMCD says you don’t need either. A manifest ties bytes to a sha256, and a deploy host installs them only when the hash matches. The matrix below shows where that swap buys simplicity and where it costs you orchestration features.
| Feature | PMCD | GitHub Deployments | ArgoCD | Flux CD | Spinnaker | Octopus / AWS CodeDeploy | Ansible / Capistrano |
|---|---|---|---|---|---|---|---|
| Deploy by manifest (sha256-bound bytes) | ✓ | × | · | · | · | · | × |
| Refuse install when sha256 doesn’t match | ✓ | × | · | · | × | × | × |
| Receipts on disk (audit without network) | ✓ | × | · | · | × | · | · |
| Dashboard rebuilds state from local files alone | ✓ | × | × | × | × | × | × |
| No Kubernetes required | ✓ | ✓ | × | × | × | ✓ | ✓ |
| No long-lived control-plane process | ✓ | × | × | × | × | × | ✓ |
| Pull-style CD (deploy hosts poll promotions) | ✓ | × | ✓ | ✓ | · | × | × |
| Gated promotion per repo | ✓ | · | ✓ | ✓ | ✓ | ✓ | × |
| SSH-based deploy (no daemon / agent install) | ✓ | × | × | × | × | · | ✓ |
| Imports PMCI / external attestation evidence | ✓ | × | × | × | × | × | × |
| Secrets out-of-band (never in manifest) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Multi-cloud orchestration UI | × | × | · | × | ✓ | ✓ | × |
| Real-time multi-user editing in dashboard | × | ✓ | ✓ | · | ✓ | ✓ | × |
GitHub Deployments
Deployment environments tied to GitHub Actions runs and a deployments tab.The deploy authority is “whoever can write a workflow file in a GitHub repo.” PMCD makes the deploy authority “whoever can write the release manifest,” pinned to a sha256, and refuses anything that doesn’t match.
ArgoCD
GitOps reconciler for Kubernetes: a control plane watches Git and syncs cluster state.ArgoCD assumes a cluster and a long-running controller. PMCD assumes a host with SSH and a sha256. They solve different shapes of the problem; ArgoCD wins when k8s is non-negotiable.
Flux CD
GitOps controllers that pull manifests from Git and apply them to clusters.Closest in spirit to PMCD’s pull-style CD — both poll for promotion changes. The split is the target: Flux is k8s-shaped; PMCD is anything you can SSH into.
Spinnaker
Multi-cloud deployment orchestration with pipelines, gates, and canary stages.Spinnaker brings opinionated multi-cloud orchestration. PMCD is opinionated about evidence, not about clouds. If your problem is “ship to 4 clouds with the same pipeline,” Spinnaker wins.
Octopus / AWS CodeDeploy
Vendor deployment platforms with agents on target hosts.Both require an agent on the target. PMCD requires SSH and a manifest reader. The trade is agent ergonomics (rich health checks, blue/green automation) vs. fewer moving parts.
Ansible / Capistrano
Imperative deploy scripts run over SSH; long-standing patterns for self-hosting.The closest UX neighbor — both are SSH-based. PMCD replaces the “run a script” model with “install these bytes if the hash matches.” That swap is the whole product.
radicle-seed-kit vs. forges + bare Radicle
Sharing source today is dominated by hosted forges (GitHub, GitLab) and a long tail of self-hosted alternatives (Gitea, Forgejo, sourcehut, cgit). Seed Kit swaps the forge for an always-on Radicle seed plus a privacy and onboarding layer. It solves the NAT and access-control problems that the raw Radicle protocol leaves to the operator.
| Feature | Seed Kit | GitHub Private | GitLab Self-host | Gitea / Forgejo | sourcehut | cgit + gitolite | Bare Radicle node |
|---|---|---|---|---|---|---|---|
| Private repos by default | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| No third-party account required | ✓ | × | ✓ | ✓ | ✓ | ✓ | ✓ |
| Always-on availability for offline collaborators | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| NAT-friendly mirroring (reverse-tunnel onboarding) | ✓ | ✓ | · | · | · | × | × |
| Tor onion endpoint support | ✓ | × | · | · | · | · | · |
| Multi-seed redundancy out of the box | ✓ | ✓ | · | · | × | × | × |
| Privacy guardrails (refuse accidental publish) | ✓ | · | × | × | × | × | × |
| DigitalOcean automation included | ✓ | × | × | × | × | × | × |
| Friend-onboarding runbook included | ✓ | × | × | × | × | × | × |
| Circle Source collaboration protocol | ✓ | × | × | × | × | × | × |
| Replication via Radicle gossip (not HTTPS git push) | ✓ | × | × | × | × | × | ✓ |
| PR / MR UI in the browser | × | ✓ | ✓ | ✓ | ✓ | × | × |
| Web-based code review | × | ✓ | ✓ | ✓ | ✓ | · | × |
GitHub Private
Privately-hosted repos with browser UI, MRs, issues, integrations, and SSO.GitHub holds source identity, the review surface, and the access decision. Seed Kit gives the access decision back to a Radicle allowlist, and replaces the browser review surface with patches gossiped between peers.
GitLab Self-host
Self-hostable forge with CI, MRs, registry, pages, and rich admin UI.GitLab is a single integrated platform. Seed Kit decomposes that into source replication (Seed Kit), CI (PMCI), CD (PMCD), and backlog (Radicle Priorities) so each piece is replaceable.
Gitea / Forgejo
Lightweight, self-hosted, OSS-friendly forges with the GitHub-style flow.Closest UX neighbors for “a small team self-hosts source.” The split: Seed Kit doesn’t give you a browser MR UI — it gives you a seed-backed Radicle network with private-by-default availability.
sourcehut
Self-hosted, mailing-list-style, suckless-philosophy forge.sourcehut and Seed Kit agree that the browser shouldn’t be the canonical workspace. Seed Kit goes further by making source replication itself peer-to-peer rather than HTTPS-clone-from-a-host.
cgit + gitolite
A read-only browser plus an SSH access control layer over bare Git.cgit + gitolite is the “just enough forge” setup that pre-dates GitHub. Seed Kit adds gossip, NAT-friendly onboarding, and a privacy guardrail layer that gitolite doesn’t reach.
Bare Radicle node
Just runningrad node start on a VPS.
The minimum viable Radicle setup. Seed Kit is the “you actually want to operate this” layer on top: DigitalOcean automation, onboarding flows, privacy guardrails, Tor + multi-seed templates, mirroring runbooks.
radicle-priorities vs. issue trackers + Kanban boards
Radicle Priorities makes BDD .feature files the
backlog, Radicle issues the place the team talks, and the local
board UI a live view of your working tree. It compares to a wide
set of tools: GitHub Projects, Jira, Linear, Trello, Asana,
Plane, OpenProject, Gitea, git-bug, Fossil, and generic Radicle
web UIs.
That comparison is the main attraction on its own site, so we don’t copy it here. The full 17-row matrix and per-tool cards live there:
See the full comparison on extremebdd.com →
That comparison also lists honest losses: enterprise workflow admin, real-time multi-user editing, and the fact that you need Git, Radicle, and BDD skills to use it. It isn’t right for every team. The page lets each reader decide on their own terms.
ecsc vs. service-payment and state-channel patterns
ECSC sits in a narrow space: it pays for verified service work between two peers over an ordinary Lightning channel, and it refuses to settle any payment update whose claim doesn’t match its evidence. The closest neighbors are L402 (pay an invoice, unlock an API), Podcasting 2.0 Value-for-Value (stream sats while media plays), generalized state channels (Celer / Nitro / Raiden, application-state-conditioned payments), Web Monetization (in-browser payment streams), DLCs (oracle-attested Bitcoin settlement), and appchains (give an application its own chain). ECSC borrows from each of these without becoming any of them.
| Feature | ECSC | L402 / Aperture | V4V / streaming sats | State channels (Celer, Nitro, Raiden) | Web Monetization / Interledger | DLCs | Appchains (Cosmos, Polkadot, …) |
|---|---|---|---|---|---|---|---|
| Settles on real Lightning HTLCs (no new client required) | ✓ | ✓ | ✓ | × | · | × | × |
Node-backed proof of update_add_htlc / commitment_signed / revoke_and_ack |
✓ | × | × | × | × | × | × |
Signed application service_state bound to payment_hash |
✓ | · | × | ✓ | × | · | · |
| Refuses to settle when evidence does not match the claim | ✓ | × | × | · | × | ✓ | · |
| Bilateral & non-custodial (each peer holds their own funds) | ✓ | ✓ | · | ✓ | · | ✓ | · |
| Offline replay of a redacted audit bundle (no nodes required to verify) | ✓ | × | × | × | × | · | · |
| Deterministic rejection reasons for cheating attempts | ✓ | × | × | · | × | ✓ | · |
| No new chain, validator set, or token introduced | ✓ | ✓ | ✓ | × | ✓ | ✓ | × |
| Service-access token model (pay invoice → unlock API) | × | ✓ | × | × | · | × | × |
| General-purpose application state-channel framework | × | × | × | ✓ | × | × | ✓ |
| Media monetization / per-second streaming cadence | × | × | ✓ | × | ✓ | × | × |
| Independent execution environment / own VM / own governance | × | × | × | × | × | × | ✓ |
L402 / LSAT / Aperture
Binds a Lightning invoice + preimage to a service access token.The closest Lightning-native neighbor. L402 answers “did this client pay for access?” ECSC answers “does this bilateral service state have enough evidence to justify the next channel update?” Same Lightning primitives, different center of gravity: access control vs. evidence-gated bilateral settlement.
Podcasting 2.0 Value-for-Value / streaming sats
Streams small Lightning payments to creators while media plays.V4V generalizes payment cadence (pay continuously, per minute, per listen). ECSC generalizes payment justification (pay only when evidence proves a service-state transition is valid). The two can compose — a streaming-media platform could use ECSC if each segment, royalty split, or transcript job needed evidence-gated settlement — but ECSC is not a media monetization protocol.
Celer / Nitro / Perun / Raiden
Generalized state-channel frameworks: application state conditions off-chain payment outcomes.The closest abstract family. ECSC deliberately narrows the first implementation to ordinary Lightning HTLCs instead of introducing a new smart-contract state-channel framework. Same idea (application state gates a payment); much narrower scope (one bilateral service contract on Lightning, not a general-purpose VM).
Web Monetization / Interledger STREAM
In-browser payment streams; STREAM multiplexes money + data across ledgers.ECSC is not a browser monetization protocol or a ledger-agnostic transport. It is Lightning-focused and binds evidence roots to HTLC / channel receipts. ECSC should borrow the evidence-message discipline of these systems without becoming a value-routing intermediary.
Discreet Log Contracts
Oracle attestations settle conditional Bitcoin contracts.The conceptual overlap is the oracle pattern: PMCI attestations sign facts that get used in a settlement decision. ECSC doesn’t need DLC settlement mechanics; PMCI attests service work, policy, result hashes, freshness, worker identity, and verifier authority rather than acting as a general financial-outcome oracle.
Cosmos / Polkadot / Avalanche / Polygon CDK
Give an application its own chain — execution environment, validator set, governance, state roots, bridges.ECSC is not an appchain. It has canonical protocol artifacts, evidence roots, and state machines, but no validator set, no block production, no bridge, no chain consensus layer. The settlement substrate is the Lightning Network, not a new chain.