glhub
English한국어日本語中文
Open source · Forge-neutral · Apache-2.0

Generation Lineage Hub

If GitHub is a thinking space for code review through commits and pull requests, glhub is a thinking space for evolution review through generations and evolution documents. Capture what AI agents change, why, and what carries forward.

GitHub-shaped UX for evolution review Works with GitHub, GitLab, Codeberg, Forgejo, Gitea Apache-2.0 lineage primitives, open core
Generation Lineage Hub

What you get

Evolution documents

Every generation gets a before / transition / after / next document with score deltas, gains, losses, retrospective rules, and bug fixes — not raw JSON.

Forge-neutral by design

Attach any GitHub, GitLab, Codeberg, Forgejo, or self-hosted Gitea URL. Provider auto-inferred. The lineage stays portable when forges change.

glctl: Git-like CLI

Local YAML-on-disk store, init / new / show / lineage / push commands. glctl login uses GitHub OAuth via loopback flow.

Comments are generations

Comments and edits are saved as child generations, never overwriting evolution memory. The audit trail is the product.

Branches for thought experiments

branch?: string on every record. Use git worktrees to run parallel agent experiments and compare lineages side-by-side.

Open core, honest matrix

Lineage primitives are Apache-2.0 in the public repo. Multi-user RBAC, SSO, audit-grade compliance live in Cloud / Enterprise — clearly separated, no source-available trickery.

Validated by default

Every push is checked against the spec. Bad payloads get HTTP 422 with a human-readable errors[] list — the lineage stays clean.

📊

Score guard: (0, 1]

Each metrics.score must be a finite number greater than 0 and at most 1. Score 0 is rejected — it indicates no actual evaluation. For failed runs, set success: false instead.

🆔

ID format

Every id, parent_id, and relation endpoint must match gen-YYYYMMDD-NNN. Duplicates within a single push are rejected.

🔗

Self-contained snapshots

Each relations[i].from and to must resolve to a generation in the same payload. Cross-snapshot references are rejected.

🔒

Schema version lock

Only glhub-push/v1 is accepted today. Future versions ship with a documented migration plan before the writer flips.

How it works

Three steps from local capture to shared lineage.

1

Install glctl

Download the latest binary from GitHub Releases. Or build from source with cargo if you prefer.

# macOS (Apple Silicon)
curl -fsSL -o glctl https://github.com/baryonlabs/glctl/releases/latest/download/glctl-aarch64-apple-darwin
chmod +x glctl && sudo mv glctl /usr/local/bin/

# macOS x86_64 / Linux: see Releases for other targets
# Build from source: cargo install --git https://github.com/baryonlabs/glctl
2

Authenticate

Browser-based GitHub OAuth via loopback. Token saved to ~/.glctl/config — no manual paste.

glctl login
# → Opens browser, GitHub authorizes, token returns to localhost
# → Token saved to ~/.glctl/config
3

Push lineage

From any company-scoped lineage repo, push the snapshot to the hosted instance or your self-host.

GLCTL_COMPANY_ID=demo \
GLCTL_DATA_DIR=$HOME/.glctl/data \
glctl push --remote https://glhub.baryon.ai

Connect any forge

First-class adapters for GitHub, GitLab, Codeberg, Forgejo, and self-hosted Gitea. Provider is auto-inferred from any repo URL — no configuration. Webhooks land at /webhooks/{provider} with HMAC verification.

GitHubGitLabCodebergForgejoGiteaBitbucket

Open core, honest about boundaries

Lineage primitives are Apache-2.0. Multi-user, audit-grade, and on-prem features are commercial. Sentry-style separation, not GitLab-style ee/ subdirectory.

OSS
Apache-2.0
  • glctl record + push
  • Self-hosted viewer
  • Forge connectors (basic)
  • GitHub OAuth login (preview)
  • Personal Access Token push
  • company_id ownership (single owner)
Cloud
Paid hosted
  • Everything in OSS
  • Multi-user RBAC
  • SSO (SAML / SCIM / OIDC)
  • Hosted ops (backup, scaling, SLA)
  • Multi-tenancy + geo-replication
  • Org dashboards
Enterprise
On-prem + paid
  • Everything in Cloud
  • Immutable audit log (1y+)
  • Signed audit pack (cryptographic)
  • Policy DSL + enforcement gate
  • Compliance (SOC2 / EU AI Act / NIST AI RMF / HIPAA / ISO 42001)
  • Air-gapped on-prem package

Try the live demo

10 generations, all fields populated. See how glhub presents AI evolution as a readable document instead of raw payloads.

Open the demo Read the docs