Skip to content

Guts MVP Roadmap

Roadmap to a fully working MVP with E2E tests: 3 nodes + 2 collaborating git clients

MVP Goal

Two git clients collaborating on a Guts-hosted repository:

  1. Client 1: Creates repo, commits and pushes content
  2. Client 2: Clones/pulls the repo, commits and pushes new content
  3. Client 1: Pulls and sees Client 2's changes

All running on a 3-node Guts network with consensus.

Architecture Overview

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Node 1    │◄───►│   Node 2    │◄───►│   Node 3    │
│  (Leader)   │     │  (Replica)  │     │  (Replica)  │
└──────┬──────┘     └─────────────┘     └─────────────┘

       │ HTTP API

┌─────────────┐     ┌─────────────┐
│  Client 1   │     │  Client 2   │
│  (git CLI)  │     │  (git CLI)  │
└─────────────┘     └─────────────┘

Current Status

Completed Milestones

MilestoneStatusDescription
Milestone 1✅ CompleteFoundation (Git Storage, Protocol, Node API)
Milestone 2✅ CompleteMulti-node P2P Replication
Milestone 3✅ CompleteCollaboration (PRs, Issues, Comments, Reviews)
Milestone 4✅ CompleteGovernance (Orgs, Teams, Permissions, Webhooks)
Milestone 5✅ CompleteWeb Gateway (Search, API Docs)
Milestone 6✅ CompleteReal-time Updates (WebSocket, Notifications)
Milestone 7✅ CompleteCI/CD Integration (Workflows, Runs, Artifacts)
Milestone 8✅ CompleteGit/GitHub Compatibility (Tokens, Users, Contents)
Milestone 9✅ CompleteProduction Quality (Observability, Testing, Resilience)
Milestone 10✅ CompletePerformance & Scalability (RocksDB, Caching, Benchmarks)

Production Readiness Milestones

MilestoneStatusDescription
Milestone 11✅ CompleteTrue Decentralization (BFT Consensus, P2P Bootstrap)
Milestone 12✅ CompleteOperator Experience & Documentation
Milestone 13✅ CompleteUser Adoption & Ecosystem
Milestone 14🚧 NextSecurity Hardening & Audit Preparation

Phase 1: Core Infrastructure ✅

1.1 Git Object Storage ✅

  • [x] Implement content-addressed blob storage
  • [x] Store git objects (blobs, trees, commits)
  • [x] Reference management (branches, tags, HEAD)

1.2 Repository State ✅

  • [x] Repository metadata (name, owner, refs)
  • [x] Ref updates with optimistic locking
  • [x] Pack file support (for efficient transfer)

Phase 2: Networking ✅

2.1 P2P Node Communication ✅

  • [x] Node discovery and connection
  • [x] Message passing between nodes
  • [x] Peer management

2.2 Broadcast & Replication ✅

  • [x] Broadcast repository updates to all nodes
  • [x] Replicate git objects across nodes
  • [x] Consistency verification

Phase 3: Git Protocol ✅

3.1 Git Smart HTTP Protocol ✅

  • [x] /info/refs - Reference advertisement
  • [x] /git-upload-pack - Fetch/clone (client pulls)
  • [x] /git-receive-pack - Push (client pushes)

3.2 Pack Protocol ✅

  • [x] Pack file parsing
  • [x] Pack file generation
  • [x] Delta compression (optional for MVP)

Phase 4: API & CLI ✅

4.1 HTTP API ✅

  • [x] Create repository endpoint
  • [x] List repositories endpoint
  • [x] Git smart HTTP endpoints

4.2 CLI Commands ✅

  • [x] guts repo create <name> - Create repository
  • [x] guts repo list - List repositories
  • [x] guts clone <repo> - Clone via git
  • [x] guts push / guts pull - Git operations

Phase 5: Collaboration ✅

5.1 Pull Requests ✅

  • [x] Create, update, close, merge PRs
  • [x] PR comments and discussions
  • [x] Code review workflow

5.2 Issues ✅

  • [x] Create, update, close, reopen issues
  • [x] Issue comments and labels

5.3 Reviews ✅

  • [x] Submit reviews (Approve, Request Changes, Comment)
  • [x] Review comments

Phase 6: Governance ✅

6.1 Organizations ✅

  • [x] Create and manage organizations
  • [x] Member management with roles (Owner, Admin, Member)
  • [x] Multi-user repository ownership

6.2 Teams ✅

  • [x] Create teams within organizations
  • [x] Team-based repository access
  • [x] Default permission levels for teams

6.3 Permissions ✅

  • [x] Granular permission levels (Read, Write, Admin)
  • [x] Collaborator management
  • [x] Permission resolution algorithm

6.4 Branch Protection ✅

  • [x] Branch protection rules
  • [x] Require PRs for protected branches
  • [x] Required review counts

6.5 Webhooks ✅

  • [x] Webhook subscriptions
  • [x] Event notifications (push, PR, issues, etc.)
  • [x] Webhook management API

Phase 7: E2E Testing ✅

7.1 Test Infrastructure ✅

  • [x] Multi-node test harness
  • [x] Deterministic networking for tests
  • [x] Test utilities for git operations

7.2 Collaboration Test ✅

  • [x] Start 3 nodes
  • [x] Client 1: init, commit, push
  • [x] Client 2: clone, commit, push
  • [x] Client 1: pull, verify changes
  • [x] All nodes: verify consistency

Implementation Order (Historical)

  1. Git Storage (guts-storage crate) ✅

    • In-memory storage first, then persistent
    • Content-addressed object store
    • Reference store
  2. Git Protocol (guts-git crate) ✅

    • Pack file parsing/generation
    • Smart HTTP protocol handlers
  3. HTTP API (in guts-node) ✅

    • Repository CRUD
    • Git smart HTTP endpoints
  4. P2P Replication (using commonware) ✅

    • Broadcast git objects
    • Replicate refs
  5. Collaboration (guts-collaboration crate) ✅

    • Pull requests, issues, comments
    • Code review infrastructure
  6. Governance (guts-auth crate) ✅

    • Organizations and teams
    • Permissions and branch protection
    • Webhooks
  7. E2E Tests (tests/ directory) ✅

    • Multi-node harness
    • Collaboration scenario

Success Criteria ✅

  • [x] 3 nodes start and form a network
  • [x] Client 1 can create a repo and push commits
  • [x] Client 2 can clone, modify, and push
  • [x] Client 1 can pull Client 2's changes
  • [x] All 3 nodes have consistent state
  • [x] E2E test passes in CI
  • [x] Pull requests and issues work across nodes
  • [x] Organizations and teams manage access
  • [x] Branch protection enforces policies

Completed: Milestone 5 (Web Gateway)

The following features have been implemented:

FeatureDescriptionStatus
Web GatewayBrowser access to repositories✅ Complete
Repository BrowsingFile tree, commits, branches✅ Complete
Collaboration UIPRs, Issues, Comments, Reviews✅ Complete
Organization ViewsOrgs, Teams, Members✅ Complete
Search & DiscoveryRepository, Code, Issue/PR search✅ Complete
API DocumentationOpenAPI 3.1 with Swagger UI✅ Complete

Completed: Milestone 6 (Real-time Updates)

The following features have been implemented:

FeatureDescriptionStatus
WebSocket ServerPersistent connections for real-time communication✅ Complete
Event BroadcastingBroadcast repository events to connected clients✅ Complete
Channel SubscriptionsSubscribe to repo, user, and org channels✅ Complete
Live UI UpdatesReal-time notifications in web interface✅ Complete
Connection ManagementAutomatic reconnection with backoff✅ Complete
Stats APIReal-time connection statistics endpoint✅ Complete

Completed: Milestone 7 (CI/CD Integration)

The following features have been implemented:

FeatureDescriptionStatus
Workflow ConfigurationYAML-based pipeline definitions✅ Complete
Job ExecutionIsolated step-by-step job processing✅ Complete
Status ChecksIntegration with branch protection✅ Complete
Artifact ManagementStore and retrieve build artifacts✅ Complete
Real-time LogsStream build logs via WebSocket✅ Complete
CLI CommandsWorkflow and run management✅ Complete

Completed: Milestone 8 (Git/GitHub Compatibility)

The following features have been implemented:

FeatureDescriptionStatus
User AccountsUser registration and profiles✅ Complete
Personal Access TokensToken-based API authentication✅ Complete
SSH Key ManagementSSH key storage and fingerprinting✅ Complete
Rate LimitingGitHub-compatible rate limit headers✅ Complete
PaginationLink header-based pagination✅ Complete
Repository Contents APIFile browsing without cloning✅ Complete
Releases & AssetsRelease management with assets✅ Complete
Archive DownloadsTarball and zipball generation✅ Complete

Completed: Milestone 9 (Production Quality Improvements)

The following features have been implemented:

FeatureDescriptionStatus
Structured LoggingRequest IDs and JSON logging✅ Complete
Prometheus MetricsHTTP, P2P, storage, and business metrics✅ Complete
Configuration ValidationEnvironment variable binding and validation✅ Complete
Input ValidationAPI input validation with consistent errors✅ Complete
Error HandlingProper error handling without panics✅ Complete
Resilience PatternsRetry, circuit breaker, timeouts✅ Complete
Health ChecksLiveness, readiness, and startup probes✅ Complete
Property-Based TestingProtocol parsing tests with proptest✅ Complete
Fuzz Testing7 fuzz targets for protocol/parsing✅ Complete
Chaos TestingP2P layer chaos and failure simulation✅ Complete
Load TestingPerformance benchmarks and stress tests✅ Complete
Failure InjectionStorage/network failure recovery tests✅ Complete

Completed: Milestone 10 (Performance & Scalability)

The following features have been implemented:

FeatureDescriptionStatus
BenchmarkingCriterion + K6 comprehensive benchmarks✅ Complete
RocksDB IntegrationPersistent storage backend✅ Complete
Consensus OptimizationBatch proposals, throughput tuning✅ Complete
Memory OptimizationObject pooling, string interning✅ Complete
Caching StrategyMulti-level cache hierarchy✅ Complete
CDN IntegrationCache headers, archive pre-generation✅ Complete

Upcoming Milestones

The following milestones represent the path from current state to a production-grade, fully production-ready platform:

MilestoneStatusDescriptionPriority
Milestone 14🚧 NextSecurity Hardening & Audit PreparationCritical

Completed: Milestone 13 (User Adoption & Ecosystem)

The following features have been implemented:

FeatureDescriptionStatus
Migration Toolsguts-migrate crate for GitHub/GitLab/Bitbucket migration✅ Complete
TypeScript SDK@guts/sdk npm package with full API coverage✅ Complete
Python SDKguts-sdk PyPI package with Pydantic models✅ Complete
Git Credential HelperSecure token storage with system keyring✅ Complete
Developer DocumentationAPI reference, guides, SDK documentation✅ Complete

Completed: Milestone 11 (True Decentralization)

The following features have been implemented:

FeatureDescriptionStatus
Simplex BFT ConsensusReal BFT consensus via commonware-consensus✅ Complete
Transaction OrderingTotal ordering of all state changes✅ Complete
Block Production2-hop proposal, 3-hop finalization✅ Complete
Byzantine ToleranceTolerates f < n/3 Byzantine validators✅ Complete
Validator ManagementGenesis-configured validator sets✅ Complete
Bootstrap DiscoveryPeer exchange and bootstrap nodes✅ Complete
Consensus APIFull HTTP API for consensus status/blocks✅ Complete
4-Node DevnetDocker-based BFT network for testing✅ Complete
E2E Test SuiteComprehensive BFT consensus testing✅ Complete

Completed: Milestone 12 (Operator Experience & Documentation)

The following features have been implemented:

FeatureDescriptionStatus
Operator DocumentationComprehensive deployment guides (quickstart, architecture, installation)✅ Complete
Configuration ReferenceComplete YAML config reference with all options✅ Complete
Operational Runbooks8 runbooks (node sync, consensus, disk, memory, shutdown, keys, corruption)✅ Complete
Prometheus ConfigScrape configs, recording rules, alert rules✅ Complete
Grafana DashboardsPre-built overview dashboard with 30+ panels✅ Complete
Alertmanager SetupPagerDuty/Slack integration with routing✅ Complete
Backup/RestoreCLI commands + shell scripts with S3 support✅ Complete
CLI Operator Commandskeygen, backup, restore, diagnostics, verify-data✅ Complete
Helm ChartComplete K8s deployment chart with StatefulSet, PDB, ServiceMonitor✅ Complete
Terraform ModulesAWS, GCP, Azure multi-cloud infrastructure✅ Complete

Milestone 13: User Adoption & Ecosystem ✅

Enable mass adoption through tooling and migration paths.

FeatureDescriptionStatus
Migration ToolsGitHub/GitLab/Bitbucket migration✅ Complete
SDKsTypeScript, Python SDKs✅ Complete
Git Credential HelperSecure token storage✅ Complete
Developer DocsComprehensive API documentation✅ Complete
IDE IntegrationVS Code extension, JetBrains pluginPlanned
SSH SupportGit over SSHPlanned
CommunityForum, Discord, support infrastructurePlanned

Milestone 14: Security Hardening & Audit Preparation

Prepare Guts for a professional security audit and establish robust security infrastructure.

FeatureDescriptionStatus
Threat ModelComprehensive STRIDE threat analysisPlanned
Security PolicyVulnerability disclosure and bug bountyPlanned
Cryptographic ReviewAudit all crypto implementationsPlanned
Extended Fuzzing15+ fuzz targets for all protocolsPlanned
Supply ChainSBOM generation, reproducible buildsPlanned
Key RotationAutomated key rotation infrastructurePlanned

Future Milestones (Post-1.0)

FeatureDescriptionPriority
Package RegistryDecentralized package hostingP3
FederationInter-network repository bridgingP3
Mobile AppsiOS/Android native applicationsP4
Enterprise FeaturesSSO, audit logs, complianceP4

Test Coverage

The project currently has 500+ tests covering:

  • Unit tests for all crates (including guts-consensus)
  • E2E tests for HTTP API
  • Integration tests for P2P replication
  • Collaboration and governance scenarios
  • CI/CD workflow and run tests
  • Compatibility layer tests (users, tokens, releases)
  • Property-based tests (proptest) for protocol parsing
  • Fuzz testing (7 targets) for protocol robustness
  • Chaos testing for P2P layer resilience
  • Load testing for performance benchmarks
  • Failure injection tests for recovery patterns
  • Simplex BFT consensus E2E tests (block production, Byzantine tolerance, cross-validator consistency)
  • Devnet E2E test suite (comprehensive 4-validator network testing)

Released under the MIT License.