A Forgejo coordination tool that encodes anarchist organizing principles as executable commands. Demonstrates how abstract values translate into concrete design choices.
The Pattern: Principles as Code
When building coordination tools for non-hierarchical groups, governance principles become command structures. Rather than documenting “how we do consent-based decision-making,” encode the rules as transparent, auditable operations.
bloc implements this for the commune’s Forgejo-based governance.
Design Patterns
Consent-Based Governance
# Automate consent calculation
bloc governance check-threshold --pr 42
# Detect reviews on old commits
bloc governance detect-stale --pr 42
# Prevent self-approval (encoded as constraint)
bloc governance prevent-self-review --pr 42Rather than requiring a coordinator to manually verify these patterns, the tool makes governance rules executable by anyone.
Transparency Without Surveillance
# Self-accountability
bloc audit my-approvals --since 2026-02-01
# Personal tracking
bloc audit my-activity --repo commune/library
# Community health check
bloc audit who-active --days 30Notice: anyone can query their own activity or aggregate community patterns, but the tool doesn’t enable tracking specific others without consent. Transparency serves accountability, not control.
Escalation Without Hierarchy
# Identify expertise by contribution history
bloc delegate find-expert --topic "docker security"
# Request review with justification
bloc delegate escalate 42 --to @security-interested \
--reason "needs review of SSH hardening changes"Authority emerges from demonstrated competence and explicit consent, not position. The tool surfaces expertise without creating a management layer.
Reducing Coordination Overhead
# Aggregate meeting responses
bloc meeting synthesize 15 --guide-moderator
# Batch operations reduce toil
bloc batch review --where mentioned --repo commune/skillsAutomation serves to reduce toil, not to replace deliberation. Consent remains human; coordination can be automated.
Architectural Choices
The tool’s design encodes values at the infrastructure level:
| Choice | Value Encoded |
|---|---|
| Python + typer + rich | Iteration speed over performance — tools should be modifiable by their users |
| Repo inference from git context | No global config, no central registry — topologically distributed (like gh CLI) |
JSON output mode (--json) | Scriptable by anyone — extensibility through composition |
| Auth chain: env → rbw → Forgejo | Credentials controlled locally — self-sovereignty over secrets |
| Explicit merge requirement | Even with all approvals, no auto-merge — safety over convenience |
These aren’t neutral technical choices. They’re how “distributed authority” and “consent over automation” manifest in code.
The Design Process
- Identify a coordination burden — checking PR status, finding reviewers, calculating thresholds
- Ask: Does automating this centralize or distribute power?
- If it distributes: encode the governance rule as a transparent, auditable command
- If it centralizes: redesign to surface information, not make decisions
- Test: “Could this tool bypass consent or hide information?” If yes, redesign
Tools shape behavior. A CLI that makes unilateral merges easy will produce unilateral merges. A CLI that makes consent-checking easy will produce better consent processes.
Beyond Bloc
This pattern applies to any coordination infrastructure:
- CI systems that enforce branch protection — consent becomes automatic
- Webhook routers requiring explicit subscriptions — no silent surveillance
- Meeting bots that synthesize but never vote — facilitation without authority
- Label systems anyone can query but only owners modify — transparency with boundaries
When you build for non-hierarchical groups, your design choices are political choices. The question isn’t “what features should this have?” but “what behaviors will this make easy, and what will it make hard?”
See Also
- Anarchism — theoretical foundations
- Multi-Agent Coordination — resilience patterns
- Brad’s Projects — other coordination infrastructure