Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
42e04b0
docs(plans): add EPR-git roadmap and Phase 0+1 plan
Apr 11, 2026
14545ff
docs(schema): initial brit app-level schema design
Mbd06b Apr 11, 2026
00e29f7
docs(schema): initial brit app-level schema design
Mbd06b Apr 11, 2026
f9bbd56
docs(schema): resolve #3 (key recovery) and #6 (closed vocabulary)
Apr 11, 2026
7197861
docs(review): critique of async-default merge consent design
Mbd06b Apr 12, 2026
c25da63
docs(schema): apply merge consent critique — §5.13 MergeProposal + as…
Apr 12, 2026
7312a50
docs(schema): apply reach reframe — branches inherit protocol reach g…
Apr 12, 2026
bf75d5e
plan(phase-0+1): revise for engine/elohim split and tightened scope
Apr 12, 2026
e087351
feat(brit-epr): scaffold crate with engine/elohim feature split
Apr 12, 2026
b7ca3e1
feat(brit-epr/engine): add AppSchema trait, TrailerSet, errors
Apr 12, 2026
d82bdff
feat(brit-epr/engine): implement parse_trailer_block via gix-object
Apr 12, 2026
21fbe19
feat(brit-epr/elohim): add PillarTrailers, TrailerKey, schema impl
Apr 12, 2026
9a2477d
feat(brit-epr/elohim): implement parse_pillar_trailers
Apr 12, 2026
6044af9
feat(brit-epr/elohim): add structural pillar validator
Apr 12, 2026
31c9644
feat(brit-verify): first brit binary — pillar trailer verifier
Apr 12, 2026
c89cee3
docs: rewrite README — center EPR theory and the three-pillar case
Apr 12, 2026
9fa0a87
docs: design spec, composition model, phase summaries, capability-for…
Mbd06b Apr 12, 2026
2f390ea
docs(plans): add Phase 2a design doc and implementation plan
Mbd06b Apr 16, 2026
5d4b671
chore(brit-epr): add serde, blake3, ed25519-dalek, chrono, hex deps
Mbd06b Apr 16, 2026
eb182f8
feat(brit-epr/engine): add BritCid type with blake3 hashing
Mbd06b Apr 16, 2026
7d6aa9c
feat(brit-epr/engine): add ContentNode trait and LocalObjectStore
Mbd06b Apr 16, 2026
3564a74
feat(brit-epr/engine): add ed25519 agent signing
Mbd06b Apr 16, 2026
6a8ef36
feat(brit-epr/elohim): add three attestation ContentNode schemas
Mbd06b Apr 16, 2026
fa26d0f
feat(brit-epr/elohim): add BritRefManager for refs/notes/brit/ namespace
Mbd06b Apr 16, 2026
5112530
feat(brit-epr/elohim): add deterministic reach computation
Mbd06b Apr 16, 2026
084c4b9
feat(brit-build-ref): CLI for build/deploy/validate/reach attestation…
Mbd06b Apr 16, 2026
0697895
feat(brit-epr): add attestation convenience re-exports
Mbd06b Apr 16, 2026
105321a
docs(plans): update roadmap with Phase 0+1 done, Phase 2a in progress
Mbd06b Apr 16, 2026
d01fff3
style: fix clippy warnings in refs.rs and build_cmd.rs
Mbd06b Apr 16, 2026
f77a675
fix: address code review findings — canonical JSON, encoding, security
Mbd06b Apr 16, 2026
5b6df29
feat: rename health_check_url to health_check_epr, add missing CLI args
Mbd06b Apr 16, 2026
09e5340
feat(brit-epr): add Signed trait and verify_signed_node
Mbd06b Apr 16, 2026
a49d8dc
fix(brit-epr): expand encode_segment for all git-forbidden ref chars
Mbd06b Apr 16, 2026
310e554
feat(brit-graph): scaffold EPR-native graph engine crate
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
019a980
feat(brit-graph): EprGraph — BritCid-keyed DAG data structure
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
c44961b
refactor(brit-graph): address code review — O(1) lookups, clearer types
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
7ef8c1b
feat(brit-graph): GraphConnections trait — direct and deep traversal
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
d0f25d8
feat(brit-graph): AffectedTracker with provenance and scoped propagation
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
c82c40e
feat(brit-graph): TopoPlan — topological sort with parallelizable levels
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
cd8f117
feat(brit-graph): ContentFingerprint — deterministic input hashing
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
e5cec7e
chore(brit-graph): remove stale dead_code annotations and task comments
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
eeba85c
chore(brit-graph): update Cargo.lock with brit-graph and dependencies
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
fb96753
Merge feat/brit-graph-mvp: EPR-native graph engine
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
4c694be
feat(brit-cli): scaffold crate with clap subcommand stubs (graph, aff…
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
94600a2
feat(brit-cli): graph discover — list manifests + summary JSON
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
0320544
feat(brit-cli): graph show — JSON and Graphviz DOT output
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
b055b74
feat(brit-cli): affected — list affected steps from --files or --sinc…
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
90a9517
feat(brit-cli): plan — emit BuildPlan JSON conforming to build-plan.s…
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
abd4788
feat(brit-cli): fingerprint — deterministic ContentFingerprint of ste…
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
fdc17df
feat(brit-cli): baseline read/write/migrate — git ref-backed baselines
ArkoselabsDoesNotWork-72355740 Apr 19, 2026
4095951
Merge feat/brit-cli-rakia-codegen: brit CLI with 8 subcommands
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
951dfcc
feat(brit-graph): scaffold repo_fingerprint module + FingerprintError…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
a032328
test(brit-graph): repo fingerprint — 7 cases (empty, single, multi, d…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
a50635c
chore(brit-cli): enable brit-graph repo feature + add gix dep for com…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
6bb401e
feat(brit-cli): fingerprint reads file CONTENTS via from_repo_globs (…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
51f26a0
test(brit-cli): smoke test for content-addressed fingerprint output (…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
0d5bd7b
feat(brit-cli): plan computes content-addressed fingerprints via from…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
25390a9
Merge feat/brit-content-fingerprint: content-addressed fingerprints
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
d1b1ef9
feat: rename gix bin to brit, brit-cli bin to rakia (one cli command)
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
f1b7f7b
Merge feat/rename-gix-to-brit: gix → brit, brit-cli → rakia
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
f85556d
feat(cli-journey): scaffold test infrastructure crate (TestRepo, Mock…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
176783a
feat(cli-test-page): scaffold runner crate with three-mode clap entry…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
3dbf71c
chore(brit): wire cli-journey + cli-test-page into workspace + gitign…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
bb01ed7
feat(cli-journey): TestRepo helper with static-git-environment for de…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
09a974e
feat(cli-journey): MockRemote helper (bare repo + file:// URL for clo…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
4f4f728
feat(cli-journey): Normalizer (ANSI/tempdir/timestamp/SHA redaction w…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
68376aa
feat(cli-journey): BritInvocation runner (capture stdout/stderr/statu…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
cbb9dfd
feat(cli-test-page): subcommand discovery via recursive --help parsin…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
bef2664
feat(cli-test-page): coverage computation (per-binary covered/total/u…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
844638d
feat(cli-test-page): markdown format (coverage table + per-binary sub…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
3338df9
feat(cli-test-page): unified diff via similar crate
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
e8f9c61
feat(cli-test-page): wire three modes (--check/--update/--candidate) …
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
06c94f8
test(rakia): journey shell smoke + Rust integration tests covering al…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
010497a
test(brit-verify): journey shell smoke + Rust integration tests with …
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
a3b1edd
test(brit-build-ref): journey shell + Rust integration tests covering…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
6795db1
test(brit): Rust integration tests for 11 daily-driver subcommands (l…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
25a4caf
feat(journey): dump-to-staging helper in utilities.sh
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
b99bd4f
feat(cli-journey,test-page): extend Normalizer for clock/duration/thr…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
4094b73
Merge feat/brit-cli-test-page: hybrid CLI test suite + baseline.md
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
6aa83f0
Merge upstream/main: bring in 43 commits from GitoxideLabs/gitoxide
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
b02a74d
ci: add sync-gix-main workflow to fast-forward gix-main from upstream…
ArkoselabsDoesNotWork-72355740 Apr 20, 2026
552be2d
ci(sync): make tag mirror push best-effort
ArkoselabsDoesNotWork-72355740 Apr 21, 2026
02fdb8a
chore(devspace): add Eclipse Che devfile and workspace badge
Mbd06b Apr 22, 2026
a1248aa
chore(devspace): disable postStart hooks until first successful boot
Mbd06b Apr 22, 2026
f4a3fd3
chore(devspace): raise memoryLimit 6Gi → 10Gi for rust-analyzer headroom
Mbd06b Apr 23, 2026
49e8430
review: tighten gix-steward — cross-cutting value per call + caller d…
claude Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
269 changes: 269 additions & 0 deletions .claude/agents/gix-steward.md

Large diffs are not rendered by default.

78 changes: 78 additions & 0 deletions .github/workflows/sync-upstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Sync gix-main branch with upstream/main.
#
# gix-main is a pristine mirror of GitoxideLabs/gitoxide's main branch.
# It MUST stay fast-forward-only. If a fast-forward fails, something
# has gone wrong and we want to know about it immediately rather than
# papering over it with a merge commit.
#
# Branch protection for gix-main should forbid direct pushes from
# anyone but this workflow.
name: sync-gix-main

on:
schedule:
# Every 6 hours. Upstream moves at a few commits per day, this is enough
# cadence to have gix-main be fresh without burning Actions minutes.
- cron: "17 */6 * * *"
workflow_dispatch: {}

permissions:
contents: write

jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout gix-main
uses: actions/checkout@v4
with:
ref: gix-main
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

- name: Configure git identity
run: |
git config user.name "gix-main sync bot"
git config user.email "ci@ethosengine.invalid"

- name: Add upstream remote
run: |
git remote add upstream https://github.com/GitoxideLabs/gitoxide.git
git fetch upstream main --tags

- name: Fast-forward gix-main to upstream/main
id: ff
run: |
set -eu
before="$(git rev-parse HEAD)"
target="$(git rev-parse upstream/main)"
if [ "$before" = "$target" ]; then
echo "Already up-to-date at $before."
echo "changed=false" >> "$GITHUB_OUTPUT"
exit 0
fi
# Fast-forward only. If this fails, gix-main has diverged from
# upstream/main — that should never happen and is worth a loud failure.
git merge --ff-only upstream/main
after="$(git rev-parse HEAD)"
echo "Advanced gix-main: $before -> $after"
echo "changed=true" >> "$GITHUB_OUTPUT"

- name: Push updated gix-main
if: steps.ff.outputs.changed == 'true'
run: git push origin gix-main

# Tags are nice-to-have but not critical for our sync purposes.
# Upstream has 6000+ tags; a single collision or protected-tag rule
# would otherwise kill the whole run. Best-effort push, report in logs.
- name: Push mirrored tags (best effort)
if: steps.ff.outputs.changed == 'true'
continue-on-error: true
run: |
set +e
git push origin --tags 2>&1 | tee push-tags.log
status=${PIPESTATUS[0]}
if [ "$status" -ne 0 ]; then
echo "::warning::Tag mirror push exited with status $status; some tags may not have synced. See push-tags.log above."
fi
exit 0
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,9 @@ $**/fuzz/Cargo.lock

# Instead of adding more environment-specific ignores here, like for the IDE in use, prefer Git's user-global
# `core.excludesFile` mechanism, see https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreexcludesFile.

# Worktrees for isolated development
.worktrees/

# Worktrees for isolated development
.worktrees/
Loading
Loading