lernie 0.0.9

A git-backed agent harness
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
# lernie agent-name wordlist — 541 words. One is drawn as an agent name when
# a creation path omits `name` (ARCH §2.3): the mint's whole pool, and the
# bound on its collision-retry scan.
#
# PROVENANCE: authored for this repository. No third-party corpus was
#   copied, filtered, sampled or diffed to produce it — the words were
#   written out by category (weather, landscape, plants, food, materials,
#   colours, tools, instruments, buildings, animals, textures, crafts) and
#   screened by hand. It carries no attribution obligation to anyone: it is
#   part of this crate and is covered by the crate's own licence (MIT, see
#   LICENSE), like every other file here. It replaces an EFF-derived,
#   CC BY 4.0 list (bl-b59c) — replaced rather than pruned, because a
#   filtered copy of that list would still be an adaptation of it and would
#   still owe the notice.
#
# WHY 541 AND NOT THOUSANDS. The pool sizes the *occupied-set* problem, and
#   the occupied set is one workspace's living agents (ARCH §2.3) — tens,
#   and recycled the moment retention (§9.2) deletes a ref. A collision is
#   not a failure, only a scan step; exhaustion needs every one of these 541
#   worn at once, and is loud rather than a loop. Against that, a small list
#   buys the two things a big one cannot: it can be *read* end to end by a
#   human, which is what makes the approval below meaningful, and every word
#   is one an operator can say aloud and remember.
#
# INVARIANTS a consumer may rely on, all pinned by
# `src/workspace/agent_name/mint/tests.rs`:
#   - every word matches ^[a-z]{3,9}$ — so a name is path-safe on every
#     supported filesystem, shell-safe unquoted, and case-unambiguous;
#   - the words are unique and sorted, so a diff of this file is reviewable;
#   - every word is a concrete, neutral, everyday English noun or adjective:
#     no proper noun, no brand, no personal name, and nothing violent,
#     sexual, medical, political or insulting. An agent wears its name in
#     front of an operator; the mint may not put a slur in their mouth;
#   - no word is a plausible human identity, so a minted name can never be
#     mistaken for a $USER-stamped or "unknown"-stamped claimant;
#   - lines beginning with '#' and empty lines are comments; skip them.
#
# ADDING A WORD IS A REVIEW EVENT. The test pins this set by digest and by
# count, so any edit fails the suite until both lines are updated by hand —
# that is the approval record, and it is the point, not a nuisance.
accordion
acorn
alder
alloy
almanac
almond
alpaca
amethyst
anagram
antelope
anvil
apricot
aqueduct
archway
asparagus
attic
avocado
awning
axolotl
azure
backpack
badger
bagpipe
baguette
balmy
bamboo
banana
banister
banjo
barn
barnacle
basalt
basket
beaver
beige
bellows
birch
biscuit
bison
blanket
blizzard
bloom
blossom
blueberry
bobbin
bookcase
bookmark
boulder
bracken
bramble
brass
breeze
breezy
bridge
bright
brioche
brisk
broccoli
bronze
broom
bucket
buckle
burlap
butterfly
button
cabbage
cabin
cactus
calendar
caliper
calm
camel
canopy
canteen
canvas
canyon
capybara
caramel
cardboard
carrot
carving
cashew
cavern
cedar
celery
cellar
cello
ceramic
chalet
charcoal
cheddar
cheerful
chestnut
chilly
chime
chimney
chipmunk
chisel
cinnamon
clamp
clarinet
clear
clever
cloud
cloudy
coastal
cobalt
cocoa
colander
compass
cool
copper
cordial
cottage
cotton
courtyard
cove
cozy
cranberry
crayfish
creek
cricket
crisp
croissant
cucumber
cupboard
curious
curtain
cushion
custard
cygnet
cymbal
cypress
dappled
daybreak
denim
dewdrop
dolphin
donkey
doodle
doorknob
doorstep
doorway
dragonfly
dresser
drift
driftwood
drizzle
duckling
dumpling
dune
dusk
eggplant
emerald
envelope
equinox
estuary
evening
fabric
ferret
fiddle
firefly
fjord
fluffy
flute
foggy
foliage
foothill
fountain
fresh
frost
frosty
funnel
garden
gazebo
gazelle
gecko
gelato
gentle
gerbil
giraffe
glacier
glade
glass
glossy
gnocchi
golden
gopher
gorge
granary
granite
granola
grater
gravel
grotto
guitar
guppy
gusty
gypsum
hailstone
halloumi
hallway
hamper
hamster
harbor
harmonica
harp
harvest
haze
hazy
headland
hedgehog
heron
highland
hillside
hinge
holiday
hollow
humble
ibex
iguana
indigo
isthmus
jackdaw
jellyfish
jetty
jolly
journey
kazoo
kettle
keyboard
keyring
khaki
knitting
koala
lacquer
ladder
ladle
ladybug
lagoon
lampshade
lantern
lattice
lavender
leather
lemon
lemonade
lemur
lettuce
lichen
lilac
limestone
linen
llama
lobster
lowland
lullaby
lute
magenta
magnolia
magpie
mailbox
mallet
manatee
mandolin
mango
maple
marble
marimba
marmalade
marmot
maroon
marsh
matte
mauve
meadow
mellow
melon
mesa
metronome
midday
mild
minnow
mist
misty
mitten
modest
monsoon
moonlit
moorland
moose
morning
mosaic
moss
muffin
mussel
narwhal
newt
nickel
nimble
noodle
noon
notebook
nougat
nutmeg
oasis
oatcake
oatmeal
oboe
obsidian
ochre
octopus
orange
orchard
oregano
origami
oryx
otter
oval
overalls
overcast
oyster
pancake
panda
papaya
paprika
parchment
parrot
parsnip
pastel
pastry
pasture
patio
pavement
peach
peanut
pear
pebble
pecan
pelican
penguin
petal
pewter
piano
pinecone
pitcher
plain
plateau
pliers
plum
plump
plywood
pocket
polished
pollen
pony
poplar
porcelain
porch
porridge
postcard
potato
pottery
prairie
praline
pretzel
pudding
puffin
pulley
pumpkin
puzzle
quarry
quartz
quiet
quilt
quokka
rabbit
raccoon
radish
rainbow
raincoat
rainfall
raspberry
ratchet
ravine
redwood
reef
reindeer
rhubarb
rhythm
ribbon
ricotta
riddle
ridge
risotto
rooftop
round
rubber
russet
rustic
sandal
sandstone
sapling
satchel
saucepan
saucer
savanna
scallop
scarf
scrapbook
seahorse
seashore
seaweed
seedling
sepia
shallot
shellac
shoal
shoreline
shovel
sieve
silk
silo
silver
sitar
sketch
skylight
slate
sleet
slipper
sloth
smooth
snail
snowfall
snowy
soft
solstice
sonnet
sorbet
sourdough
sparrow
spatula
spinach
spool
spotted
sprout
spruce
spry
squall
squirrel
stable
stairway
starfish
starling
starlit
starry
steady
still
striped
sturdy
summit
sunbeam
sunlight
sunny
sunrise
sunset
sweater
sycamore
tabla
tadpole
tangerine
tapestry
tapir
teacup
teal
teapot
tempo
terrace
thaw
thicket
thimble
thistle
thunder
tidy
timber
tinfoil
tiny
toffee
tomato
tongs
toolbox
topaz
tortilla
tortoise
toucan
treetop
trellis
trolley
trombone
trowel
trumpet
tumbler
tundra
tunnel
turnip
turquoise
turtle
twig
twilight
ukulele
umber
umbrella
valley
vanilla
velvet
velvety
veranda
violin
waffle
walnut
walrus
weaving
weekend
wetland
wharf
whisk
wicker
windmill
windy
wombat
woodland
woolen
woolly
workbench
woven
wrench
xylophone
yogurt
zebra
zipper
zucchini