Skip to content

Repository files navigation

Convergence

Convergence is an experimental next-generation version control and collaboration system.

Core idea: capture work continuously (or via explicit snapshots), then converge it through configurable, policy-driven gate stages into increasingly consumable candidates, culminating in releases where appropriate.

Key terms:

  • snap: a snapshot of a workspace state (not necessarily buildable)
  • publish: submit a snap to a gate/scope as an input
  • candidate: output produced by a gate after coalescing inputs (g02.029 renamed it from bundle)
  • promote: move a candidate to the next gate
  • release: a candidate designated for consumption, identified by a semver version (g02.028 retired channels)
  • superposition: a conflict preserved as data and resolved per gate policy

Current State

The g01-era implementation is archived at tag v0-legacy and branch archive/g01. main carries the rebuilt stack: CLI, TUI, single-process server, Postgres/S3 backends, gate graph, identity, secrets, git interop, and semver releases. Terminology is candidate (not bundle) after g02.029.

Capture artifacts from the archived generation:

Active generation: g02 (29 roadmaps, closing). See docs/roadmaps/g02/README.md.

Documentation is the source of truth:

Effigy-First Loop

effigy tasks
effigy doctor
effigy health
effigy validate
effigy qa:docs

Rust 2024 edition. Direct commands when needed:

cargo fmt
cargo clippy --all-targets -- -D warnings
cargo nextest run -P ci

Next task

The g02.030 audit merged in PR #3. No repair card is authorized from its retained findings. Product direction remains paused: g02.027 awaits the operator's TUI cold-drive verdict and g02.022 batch 22.5 awaits release authority. See docs/roadmaps/g02/README.md.

About

The sane modern distributed version control system

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages