Conversation
Adds the gib overlay (topic tm_gib, lookup ls_gib) that indexes commit
heads: 1-sat PushDrop coins with fields ["gib", origin, branch, root,
identity] carrying the git commit object as an inscription. Each head is
stored with its decoded commit and linked to the head it spent, so a
branch's push history is the coin's spend chain.
- pkg/template/gib: decoder (lock-before/after, inscription prefix/suffix,
raw or string outpoints, raw or hex identity), git commit parser with
object-id, reference encoder.
- pkg/gib: topic manager, lookup service (admission records spends of gib
inputs; SpendSync records burns from indexer spend events), per-topic
gib_heads table (SQLite/Postgres), REST routes under /gib (repos by
activity or identity, repo summary, branches, branch history, heads),
BRC-24 lookup, config, README, swagger fragment.
- pkg/parse/gib.go: parser emitting `gib` and `gib:{origin}` events.
- cmd/server: wiring (init, status-handler lookups, admin engines, routes,
event bridge on gib/spend:gib -> q:gib, optional JungleBus subscriber),
runtime config keys overlay.gib.*, admin UI panel.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ngine) Signed, SPV-verifiable transactions submitted through the module engine land in gib_heads with prev/next linked and the REST view matches. BEEF storage is optional for the module (as for ordlock) so it can run in library form and tests. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A commit is a DAG node: several heads may publish it (forks reuse the forked commit verbatim) and its parents may live on another origin's heads. gib_commit_parents plus a commit_sha index make both directions queryable, so clients can walk history across repositories. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
New overlay module for gib (on-chain git): indexes commit heads, the 1-sat PushDrop coins with fields
["gib", origin, branch, root, identity]that carry the git commit object as an inscription. A coin's spend chain is the branch's push history, so each head is stored with its decoded commit and linked to the head it spent.pkg/template/gib— decoder (lock-before/after, inscription prefix/suffix, raw ortxid_voutoutpoints, raw or hex identity), git commit parser with object id, reference encoder.pkg/gib— topictm_gib, lookupls_gib,gib_headstable (SQLite/Postgres), REST under/1sat/gib(/repos,/identity/:id/repos,/repo/:origin,/repo/:origin/branches,/repo/:origin/branch/*,/heads,/head/:outpoint), BRC-24 lookup,SpendSyncfor burns, README + swagger fragment.pkg/parse/gib.go— emitsgibandgib:{origin}events (per-repo SSE feed for free).cmd/server— init, status-handler lookups, admin engines, routes, event bridgegib/spend:gib→q:gib(single worker, arrival order), optional JungleBus subscriber, runtime keysoverlay.gib.*, admin UI panel.Disabled by default (
gib.mode: embeddedoroverlay.gib.enabledto turn on). Feeds from broadcasts through the stack; no JungleBus subscription required.Consumer: gibhub.net. Design docs: gib-cli
docs/plans/.Test plan
go test ./pkg/template/gib ./pkg/gib ./pkg/parse ./cmd/server(decode variants/rejects, commit parsing vsgit hash-object, mint → push → burn linking, spend-before-admit, block-height restamp, eviction, BRC-24 queries, REST routes, runtime config)go build ./... && go vet; admin UItsc -b🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.