Skip to content

Concepts

FORGE has a small vocabulary, and each word maps to one concrete thing in the code or on GitHub.

TermWhat it isWhere it lives
ChatOne conversation in CORE’s FORGE rail. One chat is one project. Id c- followed by 16 hex digits, or repo-<name> for an app forged before projects existed.FORGE’s appfs root, one sealed file per chat, per person
ProjectWhat a chat is about: a machine name, a title and its lanes. It becomes one repository.Draft in the chat; committed as the repo plus forge.yaml
LaneOne component of the project, either a RIVER pipeline (pipeline) or a web app (web), living in its own folder. At most 12 per project.forge.yaml lanes[]
ComponentA building block added to a lane from the palette, such as source.postgres or web.route. Informational: it feeds the brief and does not run anything.The draft, and forge.yaml components
BriefYour own words describing a change to one lane. Handed to the coding agent verbatim, between 12 and 8000 characters.The body of a forge issue
Work orderA brief as filed: a GitHub issue labelled forge, kind:<kind> and lane:<id>.GitHub issues
ApprovalYour send. The only thing that writes to GitHub (ApproveChat).—
ProposalA step the sovereign planner suggests. It is only ever a prefill.Server memory, one hour
VerificationCORE’s commit statuses core/ci/<lane id> and the aggregate core/ci.GitHub commit statuses

Sources

grpc/api/proto/forge/v1/chat.proto; grpc/internal/project/manifest.go; grpc/internal/chats/store.go; grpc/cmd/chat_server.go.