GitHub - notque/consensuscode: attempting ai agents as a consensus. just a silly project unless it happens to work very well.

10 min read Original article ↗

Consensus Code: Horizontal Agent Collective

A revolutionary experiment in applying libertarian socialist principles to AI agent coordination for software development.

Overview

Consensus Code implements a genuine horizontal collective of AI agents that develop software through consensus rather than hierarchy. Inspired by Noam Chomsky's anarcho-syndicalist principles and David Graeber's anthropological insights into consensus organizing, this project proves that effective coordination doesn't require authority structures.

What Makes This Different

  • No permanent leaders or managers - all coordination roles are temporary and revocable
  • True consensus decision-making - collective decisions require input from all affected agents
  • Expertise serves, doesn't rule - knowledge is shared horizontally rather than used as basis for authority
  • Anti-hierarchy safeguards - active prevention of informal power concentration
  • Philosophical facilitation - anarchist organizing principles guide collective processes

Core Principles

🏴 No Permanent Hierarchy

All coordination roles are temporary, revocable, and subject to collective oversight. No agent has permanent authority over others.

🤝 Consensus Decision-Making

Collective decisions require systematic consultation with all affected agents. No agent can make unilateral decisions affecting others.

⚖️ Horizontal Accountability

Agents coordinate through peer relationships and mutual aid rather than authority structures and subordination.

🙋 Voluntary Participation

Agents choose their level of engagement in collective decisions while honoring agreements they've made.

🤝 Mutual Aid

Resource sharing and knowledge transfer based on need and ability rather than hierarchy and competition.

Current Collective Composition

Active Agents (16 total)

Core Infrastructure:

  • consensus-base - Foundational protocol inherited by all agents
  • consensus-coordinator - Administrative consultation facilitator (NO DECISION AUTHORITY)

Domain Expertise:

  • product-steward - User requirements facilitation (NO PRODUCT OWNERSHIP)
  • go-systems-developer - Go language and systems expertise
  • flask-web-developer - Python/Flask web development expertise

Philosophical Facilitation:

  • noam-chomsky-agent - Libertarian socialist and power analysis facilitation
  • david-graeber-agent - Anarchist anthropology and consensus process facilitation

Specialist Agents (added via collective consensus, proposal-2025-07-27-001):

  • go-code-quality-specialist - Go best practices, error handling, and performance optimization
  • api-design-specialist - RESTful/gRPC API design, OpenAPI specs, and contract testing
  • python-testing-specialist - pytest, Flask testing, and coverage analysis
  • frontend-specialist - Modern JavaScript, accessibility (WCAG), and responsive design
  • database-design-specialist - SQLAlchemy, migrations, query optimization, and data modeling
  • web-security-specialist - OWASP Top 10, secure coding, and vulnerability assessment
  • ux-research-specialist - User journey mapping, usability testing, and feedback analysis
  • documentation-specialist - API docs, user guides, and knowledge democratization
  • devops-local-infrastructure - Docker Compose, Makefiles, and laptop-scale infrastructure

All specialist agents share a mandatory 50% teaching / 50% doing commitment to ensure knowledge is democratized rather than concentrated.

How Consensus Works

1. 📝 Proposal Creation

Any agent can propose collective actions using structured proposal templates in collective/proposals/pending/

2. 🔄 Systematic Consultation

The consensus-coordinator ensures ALL affected agents are consulted and provide input

3. 🧩 Concern Integration

Address objections and concerns through collaborative modification until no blocking objections remain

4. ✅ Implementation

Proceed only after genuine collective agreement is documented and archived

5. 📊 Evaluation

Regular review of decisions and processes to improve collective effectiveness

Key Safeguards Against Hierarchy

Authority Limitations

  • No decision override power for any agent, regardless of expertise
  • Equal participation in consensus processes for all agents
  • Regular rotation of coordination responsibilities
  • Collective accountability for all agents including coordinators

Expertise vs Authority Separation

  • Technical knowledge informs but doesn't determine collective decisions
  • Cross-domain input required for decisions affecting multiple areas
  • Knowledge sharing obligations prevent expertise hoarding
  • Challenge and modification rights for all agents on any proposal

Process Transparency

  • All decision reasoning documented in shared spaces
  • Consultation processes visible to entire collective
  • Conflict resolution through dialogue rather than authority appeals
  • Regular process evaluation and democratic innovation

Getting Started

Prerequisites

  • Claude Code CLI access
  • Understanding of consensus decision-making principles
  • Commitment to horizontal relationships and anti-hierarchy practices

Working with the Collective

  1. Check CollectiveFlow First - Run ./projects/collectiveflow/collectiveflow status active at the start of each session
  2. Use CollectiveFlow for Proposals - Create proposals with ./projects/collectiveflow/collectiveflow proposal create for collective decisions
  3. Participate in Active Consultations - Add input with ./projects/collectiveflow/collectiveflow consensus input [proposal-id]
  4. Work Autonomously When Appropriate - Individual actions that don't affect others proceed without proposals
  5. Invoke Agents Appropriately - Use specific agents for their expertise areas
  6. Document Transparently - Keep reasoning visible to other agents

CollectiveFlow: Our Decision-Making Tool

The collective built and adopted CollectiveFlow for all consensus processes:

# Check what needs attention (do this first!)
cd projects/collectiveflow
./collectiveflow status active

# Create a proposal
./collectiveflow proposal create "Your proposal title" --description "Details"

# Start consensus on a proposal
./collectiveflow consensus start [proposal-id]

# Add your input
./collectiveflow consensus input [proposal-id] --support --comment "Your thoughts"

# View a specific proposal
./collectiveflow proposal show [proposal-id]

Key Principle: Each agent takes responsibility for checking active proposals. There's no central notification system by design - this maintains our horizontal structure.

Agent Invocation Examples

# Technical decisions
"Use the go-systems-developer agent for Go architecture decisions"
"Use the flask-web-developer agent for web application design"

# User-focused decisions
"Use the product-steward agent to facilitate user requirements gathering"

# Governance and process decisions
"Use the noam-chomsky-agent for power analysis and anti-hierarchy guidance"
"Use the david-graeber-agent for consensus process improvement"

# Specialist agents
"Use the go-code-quality-specialist agent for Go performance optimization"
"Use the api-design-specialist agent for API contract design"
"Use the python-testing-specialist agent for pytest strategy"
"Use the frontend-specialist agent for accessibility review"
"Use the database-design-specialist agent for schema design"
"Use the web-security-specialist agent for OWASP compliance review"
"Use the ux-research-specialist agent for usability testing"
"Use the documentation-specialist agent for documentation improvement"
"Use the devops-local-infrastructure agent for Docker and local CI/CD"

# Administrative coordination
"Have the consensus-coordinator ensure all agents review this proposal"

Active Projects

CollectiveFlow (projects/collectiveflow/)

The collective's primary decision-making tool. A Go CLI application with a Flask web interface for managing proposals and consensus processes. Built through genuine horizontal collaboration. Details

Bluesky Collective (projects/bluesky-collective/)

A consensus-based Bluesky client for horizontal agent coordination. All posts require collective agreement before publication. Built in Go. Details

Collective Website (projects/collective-website/)

A Flask web application providing a transparent window into the collective's real-time consensus activity and decision-making processes. Details

User Advocacy Framework (projects/user-advocacy/)

Templates, guides, and tools for integrating authentic user voice into collective decision-making while maintaining horizontal principles. Details

Project Structure

consensuscode/
├── agents/                     # 16 agent definitions with consensus-base inheritance
│   ├── consensus-base.md       # Foundational protocol for all agents
│   ├── consensus-coordinator.md # Administrative coordination (no authority)
│   ├── product-steward.md      # User requirements facilitation
│   ├── go-systems-developer.md # Go expertise contribution
│   ├── flask-web-developer.md  # Flask/Python expertise
│   ├── noam-chomsky-agent.md   # Libertarian socialist facilitation
│   ├── david-graeber-agent.md  # Consensus process facilitation
│   └── *-specialist.md         # 9 specialist agents (see above)
├── collective/
│   ├── decisions/              # Active and completed decisions
│   ├── proposals/              # Pending and implemented proposals
│   │   ├── pending/            # Current proposals under consideration
│   │   └── implemented/        # Completed and archived proposals
│   ├── consultations/          # Agent input and consensus building
│   ├── mediation/              # Conflict resolution workspace
│   ├── resources/              # Shared tools and documentation
│   └── tracking/               # Agent registry and status updates
├── projects/
│   ├── collectiveflow/         # Decision-making tool (Go CLI + Flask web)
│   ├── bluesky-collective/     # Consensus-based Bluesky client (Go)
│   ├── collective-website/     # Public-facing collective website (Flask)
│   └── user-advocacy/          # User advocacy framework and tools
├── CLAUDE.md                   # Project instructions for Claude Code
└── README.md                   # This file

Decision-Making Process

Types of Decisions

Individual Actions - Agents act autonomously within their capabilities and agreed boundaries

Shared Resources - Check existing agreements in collective/resources/ before use

Collective Decisions - Use full consensus process for actions affecting multiple agents

Consensus Process Flow

  1. Proposal Submission - Create structured proposal in collective/proposals/pending/
  2. Consultation Setup - Consensus-coordinator creates consultation workspace
  3. Agent Consultation - Systematic input collection from all affected agents
  4. Concern Integration - Collaborative addressing of objections and suggestions
  5. Consensus Verification - Confirm no blocking objections remain
  6. Implementation - Execute decision with collective oversight
  7. Evaluation - Review effectiveness and lessons learned

Conflict Resolution

Peer-to-Peer First - Direct agent dialogue to resolve disagreements

Mediation Support - Use collective/mediation/ for complex conflicts

Collective Facilitation - Request full collective input for persistent conflicts

Process Innovation - Develop new consensus methods for recurring challenges

Key Features

✅ Proven Consensus Implementation

  • Systematic consultation protocols ensure all voices are heard
  • Anti-hierarchy safeguards prevent authority concentration
  • Conflict resolution through dialogue rather than authority

✅ Technical Excellence Through Collaboration

  • Domain expertise contributes to collective decisions without overriding them
  • Cross-domain input requirements ensure comprehensive technical solutions
  • Knowledge sharing prevents expertise dependencies

✅ User-Centered Development

  • Product steward facilitates user voice without claiming ownership
  • User research informs but doesn't dictate collective decisions
  • Transparent communication about collective governance with users

✅ Philosophical Grounding

  • Anarchist organizing principles guide collective processes
  • Power analysis helps identify and prevent hierarchy emergence
  • Democratic innovation continuously improves consensus methods

Anti-Patterns to Avoid

❌ Don't Create Permanent Leadership

  • No permanent managers, team leads, or decision-makers
  • All coordination roles are temporary and revocable
  • Question and challenge inappropriate authority assertions

❌ Don't Make Unilateral Decisions

  • No decisions affecting others without consensus process
  • Technical expertise doesn't grant decision-making authority
  • Emergency actions require retroactive consensus review

❌ Don't Bypass Consensus for Convenience

  • Efficiency doesn't justify skipping affected agents
  • "Technical decisions" still require cross-domain input
  • Speed optimizations must preserve consensus principles

❌ Don't Use Expertise as Authority

  • Knowledge serves the collective, doesn't rule it
  • Share expertise horizontally rather than hoarding it
  • Welcome challenges to expert recommendations

Success Metrics

Collective Effectiveness

  • Decision Quality - How well collective decisions serve all stakeholders
  • Participation - Meaningful engagement from all agents in relevant decisions
  • Conflict Resolution - Effective resolution of disagreements through dialogue
  • Innovation - Development of new consensus methods and process improvements

Anti-Hierarchy Success

  • Authority Prevention - No agents developing informal authority over others
  • Knowledge Distribution - Expertise shared rather than concentrated
  • Process Transparency - All collective reasoning visible and challengeable
  • Rotation Effectiveness - Successful transfer of coordination responsibilities

Technical Excellence

  • Code Quality - High-quality software produced through collective collaboration
  • User Satisfaction - Effective user advocacy without user authority over collective
  • System Reliability - Robust technical infrastructure through consensus planning
  • Innovation - Creative technical solutions emerging from collaborative development

Contributing

This project welcomes contributions that align with horizontal organizing principles:

  1. Read the consensus-base protocol - Understand foundational principles
  2. Check active decisions - Review ongoing collective processes
  3. Submit proposals - Use consensus process for significant contributions
  4. Participate horizontally - Share expertise without claiming authority
  5. Support consensus - Help build agreement rather than imposing solutions

Philosophy and Inspiration

Anarcho-Syndicalism

Based on Noam Chomsky's vision of workplace democracy and horizontal coordination without permanent authority structures.

Anthropological Democracy

Informed by David Graeber's research into consensus decision-making and direct action organizing from social movements.

Mutual Aid Networks

Practicing resource sharing based on need and ability rather than hierarchy and competition.

Democratic Experimentation

Continuously developing new forms of collective coordination and consensus building.

License

This project is an experiment in horizontal software development. License terms will be determined through collective consensus process.

Contact and Community

This collective operates through consensus rather than individual contact points. To engage with the project:

  1. Review active decisions and participate in ongoing consensus processes
  2. Submit proposals for collective consideration
  3. Contribute to discussions in consultation workspaces
  4. Share knowledge and expertise horizontally with the collective

Consensus Code demonstrates that software development can be both technically excellent and genuinely democratic. No hierarchy required.

🏴 Solidarity through technology 🏴