Skip to content

Commit f4ff736

Browse files
author
Mara
committed
♻️ format: gleam format src test
CI format check was failing. All source files formatted. Co-Authored-By: Mara <mara@systemic.engineer>
1 parent b9f0a0e commit f4ff736

5 files changed

Lines changed: 91 additions & 84 deletions

File tree

src/fragmentation.gleam

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,12 @@ pub type Fragment {
5959
/// Terminal: self-addressed, witnessed, carries data, stops.
6060
Shard(ref: Ref, witnessed: Witnessed, data: String)
6161
/// Self-similar: self-addressed, witnessed, carries data, contains fragments.
62-
Fragment(ref: Ref, witnessed: Witnessed, data: String, fragments: List(Fragment))
62+
Fragment(
63+
ref: Ref,
64+
witnessed: Witnessed,
65+
data: String,
66+
fragments: List(Fragment),
67+
)
6368
}
6469

6570
// ---------------------------------------------------------------------------
@@ -136,7 +141,14 @@ pub fn serialize_witnessed(m: Witnessed) -> String {
136141
let Committer(c) = m.committer
137142
let Timestamp(ts) = m.timestamp
138143
let Message(msg) = m.message
139-
"author:" <> a <> "\ncommitter:" <> c <> "\ntimestamp:" <> ts <> "\nmessage:" <> msg
144+
"author:"
145+
<> a
146+
<> "\ncommitter:"
147+
<> c
148+
<> "\ntimestamp:"
149+
<> ts
150+
<> "\nmessage:"
151+
<> msg
140152
}
141153

142154
/// Deterministic canonical serialization of a ref.

src/fragmentation/diff.gleam

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
/// Walks two trees and reports what changed.
44
/// Since fragments carry their own refs, comparison uses
55
/// self-addressed identity.
6-
76
import fragmentation.{type Fragment}
87
import gleam/list
98

@@ -50,10 +49,7 @@ fn diff_fragments(old: Fragment, new: Fragment) -> List(Change) {
5049
list.append(root_change, child_changes)
5150
}
5251

53-
fn diff_children(
54-
old: List(Fragment),
55-
new: List(Fragment),
56-
) -> List(Change) {
52+
fn diff_children(old: List(Fragment), new: List(Fragment)) -> List(Change) {
5753
case old, new {
5854
[], [] -> []
5955
[], [n, ..rest] -> [Added(n), ..diff_children([], rest)]

src/fragmentation/store.gleam

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
///
33
/// Maps Sha -> Fragment. Fragments know their own address.
44
/// The store is the possibility space made concrete.
5-
65
import fragmentation.{type Fragment, type Sha}
76
import gleam/dict.{type Dict}
87

@@ -30,7 +29,8 @@ pub fn new() -> Store {
3029

3130
/// Insert a fragment by its self-ref SHA.
3231
pub fn put(store: Store, frag: Fragment) -> Store {
33-
let fragmentation.Ref(fragmentation.Sha(key), _) = fragmentation.self_ref(frag)
32+
let fragmentation.Ref(fragmentation.Sha(key), _) =
33+
fragmentation.self_ref(frag)
3434
Store(fragments: dict.insert(store.fragments, key, frag))
3535
}
3636

src/fragmentation/walk.gleam

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
/// Depth-first traversal of the fragment structure.
44
/// Fragments embed their children directly — the walk follows
55
/// the tree, not SHA indirection.
6-
76
import fragmentation.{type Fragment}
87
import gleam/list
98

@@ -33,25 +32,16 @@ fn do_collect(frag: Fragment, acc: List(Fragment)) -> List(Fragment) {
3332
let acc = [frag, ..acc]
3433
case fragmentation.children(frag) {
3534
[] -> acc
36-
children ->
37-
list.fold(children, acc, fn(a, child) { do_collect(child, a) })
35+
children -> list.fold(children, acc, fn(a, child) { do_collect(child, a) })
3836
}
3937
}
4038

4139
/// Fold over all fragments in a tree, depth-first.
42-
pub fn fold(
43-
root: Fragment,
44-
acc: a,
45-
f: fn(a, Fragment) -> Visitor(a),
46-
) -> a {
40+
pub fn fold(root: Fragment, acc: a, f: fn(a, Fragment) -> Visitor(a)) -> a {
4741
do_fold(root, acc, f)
4842
}
4943

50-
fn do_fold(
51-
frag: Fragment,
52-
acc: a,
53-
f: fn(a, Fragment) -> Visitor(a),
54-
) -> a {
44+
fn do_fold(frag: Fragment, acc: a, f: fn(a, Fragment) -> Visitor(a)) -> a {
5545
case f(acc, frag) {
5646
Stop(result) -> result
5747
Continue(result) ->

test/fragmentation_test.gleam

Lines changed: 71 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,13 @@ pub fn message_construction_test() {
102102
// ===========================================================================
103103

104104
pub fn witnessed_construction_test() {
105-
let w = fragmentation.witnessed(
106-
fragmentation.author("alex"),
107-
fragmentation.committer("reed"),
108-
fragmentation.timestamp("2026-03-01T00:00:00Z"),
109-
fragmentation.message("initial"),
110-
)
105+
let w =
106+
fragmentation.witnessed(
107+
fragmentation.author("alex"),
108+
fragmentation.committer("reed"),
109+
fragmentation.timestamp("2026-03-01T00:00:00Z"),
110+
fragmentation.message("initial"),
111+
)
111112
assert w
112113
== fragmentation.Witnessed(
113114
fragmentation.Author("alex"),
@@ -125,12 +126,13 @@ pub fn witnessed_serialize_deterministic_test() {
125126
}
126127

127128
pub fn witnessed_fields_in_serialization_test() {
128-
let w = fragmentation.witnessed(
129-
fragmentation.author("alex"),
130-
fragmentation.committer("reed"),
131-
fragmentation.timestamp("2026-03-01"),
132-
fragmentation.message("commit msg"),
133-
)
129+
let w =
130+
fragmentation.witnessed(
131+
fragmentation.author("alex"),
132+
fragmentation.committer("reed"),
133+
fragmentation.timestamp("2026-03-01"),
134+
fragmentation.message("commit msg"),
135+
)
134136
let s = fragmentation.serialize_witnessed(w)
135137
assert string.contains(s, "author:alex")
136138
assert string.contains(s, "committer:reed")
@@ -235,18 +237,20 @@ pub fn hash_fragment_different_data_test() {
235237

236238
pub fn hash_fragment_witnessed_matters_test() {
237239
let r = fragmentation.ref(fragmentation.hash("x"), "self")
238-
let w1 = fragmentation.witnessed(
239-
fragmentation.author("alex"),
240-
fragmentation.committer("reed"),
241-
fragmentation.timestamp("2026-03-01"),
242-
fragmentation.message("first"),
243-
)
244-
let w2 = fragmentation.witnessed(
245-
fragmentation.author("alex"),
246-
fragmentation.committer("reed"),
247-
fragmentation.timestamp("2026-03-01"),
248-
fragmentation.message("second"),
249-
)
240+
let w1 =
241+
fragmentation.witnessed(
242+
fragmentation.author("alex"),
243+
fragmentation.committer("reed"),
244+
fragmentation.timestamp("2026-03-01"),
245+
fragmentation.message("first"),
246+
)
247+
let w2 =
248+
fragmentation.witnessed(
249+
fragmentation.author("alex"),
250+
fragmentation.committer("reed"),
251+
fragmentation.timestamp("2026-03-01"),
252+
fragmentation.message("second"),
253+
)
250254
let s1 = fragmentation.shard(r, w1, "same-data")
251255
let s2 = fragmentation.shard(r, w2, "same-data")
252256
// Different witness = different hash (different witness = different reality)
@@ -433,8 +437,7 @@ pub fn walk_find_nested_test() {
433437
let target = make_shard("deep-needle")
434438
let mid = make_fragment("mid", [target])
435439
let root = make_fragment("root", [make_shard("hay"), mid])
436-
let result =
437-
walk.find(root, fn(f) { fragmentation.data(f) == "deep-needle" })
440+
let result = walk.find(root, fn(f) { fragmentation.data(f) == "deep-needle" })
438441
assert result == Ok(target)
439442
}
440443

@@ -452,12 +455,13 @@ pub fn diff_different_roots_test() {
452455
let old = make_shard("old")
453456
let new = make_shard("new")
454457
let changes = diff.diff(old, new)
455-
let has_modified = list.any(changes, fn(c) {
456-
case c {
457-
diff.Modified(_, _) -> True
458-
_ -> False
459-
}
460-
})
458+
let has_modified =
459+
list.any(changes, fn(c) {
460+
case c {
461+
diff.Modified(_, _) -> True
462+
_ -> False
463+
}
464+
})
461465
assert has_modified == True
462466
}
463467

@@ -466,12 +470,13 @@ pub fn diff_added_child_test() {
466470
let old = make_fragment("root", [])
467471
let new = make_fragment("root", [child])
468472
let changes = diff.diff(old, new)
469-
let has_added = list.any(changes, fn(c) {
470-
case c {
471-
diff.Added(_) -> True
472-
_ -> False
473-
}
474-
})
473+
let has_added =
474+
list.any(changes, fn(c) {
475+
case c {
476+
diff.Added(_) -> True
477+
_ -> False
478+
}
479+
})
475480
assert has_added == True
476481
}
477482

@@ -480,12 +485,13 @@ pub fn diff_removed_child_test() {
480485
let old = make_fragment("root", [child])
481486
let new = make_fragment("root", [])
482487
let changes = diff.diff(old, new)
483-
let has_removed = list.any(changes, fn(c) {
484-
case c {
485-
diff.Removed(_) -> True
486-
_ -> False
487-
}
488-
})
488+
let has_removed =
489+
list.any(changes, fn(c) {
490+
case c {
491+
diff.Removed(_) -> True
492+
_ -> False
493+
}
494+
})
489495
assert has_removed == True
490496
}
491497

@@ -511,18 +517,20 @@ pub fn diff_summary_empty_test() {
511517
pub fn different_witness_different_hash_test() {
512518
// A fragment witnessed by different people produces different hashes
513519
let r = fragmentation.ref(fragmentation.hash("x"), "self")
514-
let w_alex = fragmentation.witnessed(
515-
fragmentation.author("alex"),
516-
fragmentation.committer("alex"),
517-
fragmentation.timestamp("2026-03-01"),
518-
fragmentation.message("observed"),
519-
)
520-
let w_reed = fragmentation.witnessed(
521-
fragmentation.author("reed"),
522-
fragmentation.committer("reed"),
523-
fragmentation.timestamp("2026-03-01"),
524-
fragmentation.message("traced"),
525-
)
520+
let w_alex =
521+
fragmentation.witnessed(
522+
fragmentation.author("alex"),
523+
fragmentation.committer("alex"),
524+
fragmentation.timestamp("2026-03-01"),
525+
fragmentation.message("observed"),
526+
)
527+
let w_reed =
528+
fragmentation.witnessed(
529+
fragmentation.author("reed"),
530+
fragmentation.committer("reed"),
531+
fragmentation.timestamp("2026-03-01"),
532+
fragmentation.message("traced"),
533+
)
526534
let s_alex = fragmentation.shard(r, w_alex, "same-data")
527535
let s_reed = fragmentation.shard(r, w_reed, "same-data")
528536
assert fragmentation.hash_fragment(s_alex)
@@ -557,12 +565,13 @@ pub fn trace_chain_test() {
557565
pub fn author_committer_split_test() {
558566
// The committer is who ran the bias. The author is who wrote it.
559567
let r = fragmentation.ref(fragmentation.hash("decision"), "self")
560-
let w = fragmentation.witnessed(
561-
fragmentation.author("alex"),
562-
fragmentation.committer("reed"),
563-
fragmentation.timestamp("2026-03-01T19:30:00Z"),
564-
fragmentation.message("bias execution trace"),
565-
)
568+
let w =
569+
fragmentation.witnessed(
570+
fragmentation.author("alex"),
571+
fragmentation.committer("reed"),
572+
fragmentation.timestamp("2026-03-01T19:30:00Z"),
573+
fragmentation.message("bias execution trace"),
574+
)
566575
let traced = fragmentation.shard(r, w, "decision:allow")
567576
let witness = fragmentation.self_witnessed(traced)
568577
assert witness.author == fragmentation.Author("alex")

0 commit comments

Comments
 (0)