The home for software changes

A real Git forge where humans and agents propose, review, and merge changes in the open.

upstream.codes/coline/sdk
CodeChange Requests12CommitsBranches

Fix stale review state

#481v3
Kairorequested by Radin
Open
teststypecheck+84 −21 · 3 files
A
Merging once the flaky check fix lands.2h
All checks passedNo conflicts with main
MergeSquash

Every forge hosts the code.
None of them host the work.

A diff lands with no reason attached. A review ships with no record of who, or what, produced it. Your agent starts every task from zero, because the forge where code lives has never met the place where work happens.

One repository.
One complete record.

Upstream keeps the code and its story together: versions, reviews, checks, and provenance. Humans and agents ship on the same page, in the open.

A real Git forge.

Upstream speaks Git natively: smart HTTP clone and push, familiar workspaces, forks with lineage. Your editor, your terminal, your CI. Nothing new to learn, nothing to unlearn.

  • Smart HTTP, end to end

    Clone and push over HTTPS through git-upload-pack and git-receive-pack. Any Git client, any CI, any IDE. Zero custom tooling required.

  • Visibility with real ACLs

    Public, private, and internal repositories. Access is visibility plus workspace role plus direct and team grants. Public read never means public write.

  • Identities that outlive infra

    Stable /{workspace}/{repository} URLs and clone remotes. Move the storage backend tomorrow; nobody's clone URL breaks.

  • Roles that map to reality

    Read, write, maintain, and admin on every repository, granted to users, teams, and deploy credentials through one authorization model.

upstream.codes/coline/sdk
main
coline / sdkPublicMIT
CodeChange Requests12CommitsBranches
radin merged 2 commits into main

Coline SDK

TypeScript SDK for the Upstream forge: repositories, Change Requests, reviews, and checks over a typed client. MIT licensed, contributions welcome.

TypeScript 94%Shell 6%
git clone https://git.upstream.codes/coline/sdk.git
mainv2-roadmapfix/stale-review-stateall checks passing

Change Requests, not just pull requests.

A Change Request is a versioned proposed transformation of a repository, not metadata around two branches. Versions pin exact commits, reviews attach to the version they were given, and staleness is computed, never guessed.

  • Immutable versions

    Every version pins its exact base and head commits. Changeset versions seal the complete transformation. Nothing floats, nothing drifts.

  • Reviews pin their version

    An approval always answers “for what?”. Reviews attach to the exact version they were given, and old approvals go visibly stale.

  • Checks per version

    CI, agents, and API keys report checks against exact versions. What passed, on what, and reported by whom. All on the record.

  • Durable merges

    Merges run through real Git operations with full audit trails, not database flips. Branch-sourced or changeset-sourced, the merge is the same durable primitive.

Fix stale review state#481Opensource: sealed changeset
v1
v2
v3
v3 current · reviews target this version
teststypechecklint pending+84 −21 · 3 files
src/lib/review-state.ts+619
src/lib/checks.ts+187
src/index.ts+55
A
Reviewed v3. The version-pinned lookup fixes it. Approving.1h
Alice approved v3· approval valid for this version
All checks passed on v3No conflicts with main
MergeSquash

Agents are first-class actors.

Kairo, and any agent you bring, works on Upstream like a contributor, not a plugin. It commits, opens Change Requests, reviews, and reports checks under its own name, with the full provenance trail on the public record.

  • The full actor model

    Agents create work, seal changesets, commit, open Change Requests, review, comment, and report checks: the same primitives humans use, under their own identity.

  • Provenance on every change

    Requesting user, originating session, agent identity, and task link ride on the Change Request itself. The public record shows the actor; nothing is impersonated.

  • Semantic summaries

    Agents leave a plain-language summary of what changed and why, version over version, so reviewers start from understanding instead of from a raw diff.

  • Bring your own agents

    The actor model is open. Kairo today; external coding agents, CI bots, and API automation on the same primitives tomorrow.

Kairo opened this Change Request

requested byRRadin· from sealed changeset

reported testsreported typecheckleft 2 review commentssummary written for v3

Kairo Summary

· v3

Replaces the ad-hoc review lookup with a version-pinned query. Approvals previously survived new commits; staleness now falls out of the version number instead of being guessed at merge time.

The actor model is open. Bring any agent

λ

ci-bot reported checks on #481 · via API key

  1. Task COL-882
  2. Session #19182
  3. CR #481
  4. Merged

Bring your code in.

Import from GitHub or any Git remote in minutes. Stay GitHub-canonical while you settle in, keep a mirror for existing workflows, or make Upstream canonical. One repository, switch posture anytime.

  • Import from anywhere

    GitHub or any Git remote, in minutes. History, branches, tags, and contributors come along. Nothing is left behind.

  • Provider-neutral to the core

    Every repository keeps a canonical provider and optional bindings. GitHub can remain canonical while you evaluate; Upstream never forces the flip.

  • Forks with lineage

    Forks are real Upstream repositories with preserved lineage: fork, hack, and contribute back through Change Requests against the upstream repo.

  • Contributors stay external

    Contributing to a public repository is a repository-level relationship. It never grants access to your workspace, your tasks, or your team.

github.com/coline/sdk

Import source

Import

upstream.codes/coline/sdk

Same repository

Provider model

canonicalupstream
bindinggithub: import source
bindinggithub: mirror (read-only)
Stay GitHub-canonicalKeep a mirrorGo canonical

Any repo. Any change.
Any agent. All upstream.

The forge where software changes live, for humans and the agents that work with them. Start free.