Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
f755b73
Preserve process queues across restart, fix MCP tool subscription per…
niblyx-malnus Mar 22, 2026
5610166
Add telegram bot nexus, oneshot nexus, loader improvements
niblyx-malnus Mar 22, 2026
c391b07
Split %manu dart: by-road in %node load, direct in root dart
niblyx-malnus Mar 23, 2026
1b69b7e
Unify all compilation through build-code, eliminate %temp pseudo-mark
niblyx-malnus Mar 24, 2026
978fada
Purge dead marks, libs, and sur files; separate desk/mar from gub/mar
niblyx-malnus Mar 24, 2026
c4d2bea
Build system: tagged built type, six import runes, mime artifacts
niblyx-malnus Mar 25, 2026
6076c69
Add bill and kelvin mark files
niblyx-malnus Mar 25, 2026
5ee0af5
use /< * in a few marks
niblyx-malnus Mar 25, 2026
acfdab8
implement pytz as it was meant to be implemented
niblyx-malnus Mar 25, 2026
38e2bbf
Silo stores pages instead of cages; delete reload
niblyx-malnus Mar 25, 2026
1f5a0a1
Boom: graceful crash recovery for nexus reloads and process spawns
niblyx-malnus Mar 25, 2026
af076d6
add experimental sys.kelvin to gub
niblyx-malnus Mar 26, 2026
d2e07bf
Scoped code nexuses, fix validate-marks loop, recursive nexus init
niblyx-malnus Mar 26, 2026
cbb7c3d
Refactor boom from flat maps to axal with +bm helper door
niblyx-malnus Mar 26, 2026
a9f2ff9
Fix silent card dropping in on-init/on-load, add kelvin enforcement
niblyx-malnus Mar 26, 2026
f6cf594
Fix kelvin mismatch loops, bootstrap mark daises, validate-ball paths
niblyx-malnus Mar 26, 2026
3279642
Fix MCP tool discovery path, remove dead /cus/ directory
niblyx-malnus Mar 26, 2026
37a8dc7
Add scoped code lookups, boom/font queries, and extend-road helper
niblyx-malnus Mar 27, 2026
669a18e
Add build-vale and vale gate building (grad elimination step 1)
niblyx-malnus Mar 27, 2026
b38410a
Switch consumers from dais to vale gates (grad elimination step 2)
niblyx-malnus Mar 27, 2026
b4f1294
Stop building dais/nave in build-code (grad elimination step 3)
niblyx-malnus Mar 27, 2026
33e6f15
Remove +grad from gub/mar/ marks and validate-build (grad elimination…
niblyx-malnus Mar 27, 2026
93f02c0
Remove dead dais/nave code from marks.hoon and build.hoon (grad elimi…
niblyx-malnus Mar 27, 2026
b90b04c
Remove %diff dart, add lazy tube building to %code handler
niblyx-malnus Mar 27, 2026
0ed4cb4
Unify mark system into marc dispatch cores
niblyx-malnus Mar 28, 2026
8d8f7f5
Marc as core, neck as rail, single-pass build
niblyx-malnus Mar 28, 2026
f23eafe
Hierarchical marks: +$ blot rail replaces flat @tas marks
niblyx-malnus Mar 28, 2026
036f5cb
Hermetic code namespaces, explorer code/boom links, get-tube grab fal…
niblyx-malnus Mar 28, 2026
83a317e
Robust validation: detect any code change, boom on failure
niblyx-malnus Mar 28, 2026
05f32c5
Code governance scoping, hardcoded root nexus, boom lifecycle fixes
niblyx-malnus Mar 28, 2026
2d26652
MCP tools for boom/font, seek-built root fix, build line offsets
niblyx-malnus Mar 28, 2026
8b31ab3
DAG-based goal tracking system with web UI and MCP tools
niblyx-malnus Mar 31, 2026
a45e877
Build-time test framework, goals test suite, MCP crash-proof arg parsing
niblyx-malnus Mar 31, 2026
621b84a
Replace flat cage marks with hierarchical blot-typed sage across grub…
niblyx-malnus Apr 1, 2026
59900a2
Simplify %font to just return governing /code namespace
niblyx-malnus Apr 1, 2026
7fcde8d
Merge boom into pool: process errors inline, eliminate boom axal
niblyx-malnus Apr 2, 2026
6b4b813
Wallet nexus page.html, recursive nexus reload, goal docs
niblyx-malnus Apr 2, 2026
370351f
Enhance README with Shrubbery descriptions
niblyx-malnus Apr 3, 2026
85731be
Enhance formatting of Shrubbery descriptions
niblyx-malnus Apr 3, 2026
bbd0a7b
Fix spelling of 'blockchain' in README
niblyx-malnus Apr 3, 2026
4a93de1
Wallet nexus with SSE, BIP39/BIP32 libs, spawn-proc restart fixes
niblyx-malnus Apr 3, 2026
e207254
Add per-wallet detail pages with materialized views
niblyx-malnus Apr 3, 2026
5041355
fix notify flood on reload; move wallet nexus to wallet/app
niblyx-malnus Apr 5, 2026
8cb6717
add per-wallet nexus; wallets are now child nexus directories
niblyx-malnus Apr 5, 2026
1e379c9
fix double eyre binding on boot; protect manu handler from crashes
niblyx-malnus Apr 5, 2026
bd80c45
separate process spawning from nexus reload; fix double eyre bindings
niblyx-malnus Apr 5, 2026
424a7fb
blot refactor: replace flat marks with hierarchical blots across conv…
niblyx-malnus Apr 6, 2026
0304aca
build cache key invariant; make-soft/cull-soft; SSE live updates; col…
niblyx-malnus Apr 6, 2026
865a484
wallet: loading indicator, server-side error clearing, dismiss button
niblyx-malnus Apr 6, 2026
c25086c
fix make-dir process spawning; explorer nexus display/links; account …
niblyx-malnus Apr 6, 2026
9e5a4a0
wallet: fix SSE URL for /ball/ route, make SSE the SSOT for all UI state
niblyx-malnus Apr 6, 2026
09e8c11
explorer: resolve code-namespace in SSE handler for blot links
niblyx-malnus Apr 6, 2026
dd934fd
fiberio: remove wire parameter from one-shot sequential IO arms
niblyx-malnus Apr 6, 2026
7a1b467
wallet: add SSE client-side teardown to prevent connection stacking
niblyx-malnus Apr 7, 2026
1bab36c
wallet: SSE manager for targeted fragment updates; address-info types…
niblyx-malnus Apr 8, 2026
b3d0d2c
mcp: add delete-clay-file tool
niblyx-malnus Apr 8, 2026
38851bb
probe-block: add reveals stage
niblyx-malnus Apr 13, 2026
ddb3691
groundwire: port urb protocol stack and build full regtest UI
niblyx-malnus Apr 15, 2026
18752d8
urb-wallet mark: show tweak and full UTXO in JSON, add mime
niblyx-malnus Apr 15, 2026
df8b300
grubbery: sketch jael PKI subscription bridge (untested)
niblyx-malnus Apr 17, 2026
a28d84e
wallet: SSE-driven UI, address nexus owns fetch, scan-refresh pattern
niblyx-malnus Apr 20, 2026
f1f8806
wallet: remove orphaned watch-loop line from account page.html
niblyx-malnus Apr 20, 2026
7dd8dbf
wallet: fix page.html lifecycle, sequential scan, fast derive
niblyx-malnus Apr 20, 2026
72d16e9
wallet: persist scan progress, resume after reload, sorted address in…
niblyx-malnus Apr 20, 2026
7e29409
wallet: fix account page scroll — pin header/summary, scroll addresses
niblyx-malnus Apr 20, 2026
b1ad04f
wallet: expand network types, add network selector + receive modal
niblyx-malnus Apr 20, 2026
1e6247f
claw: surface API errors into chat UI, add debug traces
niblyx-malnus Apr 28, 2026
0be3e9b
grubbery: code namespace registration, claw agent/channel nexuses, bo…
niblyx-malnus Apr 29, 2026
07d050c
claw: add lcm nexus — lossless context management
niblyx-malnus Apr 29, 2026
2820fc7
claw agent: sliding window, history tools, file search, summarize
niblyx-malnus Apr 29, 2026
f1a8391
claw: comprehensive system prompt and reference docs
niblyx-malnus Apr 29, 2026
70d2f07
claw: dynamic tools, proc/tools, context window fixes, config defaults
niblyx-malnus Apr 30, 2026
266ded3
add relative road (bend) support to add_weir and del_weir tools
niblyx-malnus May 1, 2026
b0e9b2a
fix stab crash on root path "/" in all weir tools
niblyx-malnus May 1, 2026
a22e875
eliminate bowl:nexus, replace with virtual files and %here dart
niblyx-malnus May 2, 2026
df67d1b
remove /sys/bowl/ seeding from on-init and on-load
niblyx-malnus May 2, 2026
bc02645
remove dead /sys/main.sig from root nexus
niblyx-malnus May 2, 2026
985f66a
claw: unified dashboard, first-class APIs, channel nexuses, outbox
niblyx-malnus May 3, 2026
588bcac
claw agent: granular status, tool interrupt, spawn_task auto-cleanup
niblyx-malnus May 3, 2026
8182640
add about.txt + tools
niblyx-malnus May 4, 2026
c1e427d
rename finish tool to outbox
niblyx-malnus May 4, 2026
a6fc693
position-independent paths: ancestor-road + find-in-here cleanup
niblyx-malnus May 4, 2026
f7a2b2b
claw agent: multi-chat support with sidebar UI
niblyx-malnus May 4, 2026
de81055
claw agent: fix tool abort, incremental chat writes, summarize tool
niblyx-malnus May 4, 2026
6d7a9a9
claw agent: multi-range summarize with persistent summaries
niblyx-malnus May 4, 2026
abb6ec6
claw agent: channel inbound/outbound for main chat
niblyx-malnus May 4, 2026
142e5a9
claw agent: truncate summarize input to context window
niblyx-malnus May 4, 2026
fce19bb
port hoon-git libs, upgrade github nexus, remove /config
niblyx-malnus May 4, 2026
ae9c30b
move peers nexus to runtime, track ball dir mutations properly
niblyx-malnus May 5, 2026
9b1d7b7
materialized gall subscriptions at /sys/gall/
niblyx-malnus May 5, 2026
4e3919a
github nexus: commit diff view with line-level diffs
niblyx-malnus May 6, 2026
9cc1f0f
split sync into fetch (remote) and switch (local branch)
niblyx-malnus May 6, 2026
7bbdaa1
add git-push MCP tool: commit and push to GitHub via REST API
niblyx-malnus May 6, 2026
b6668b3
rename github nexus to git/repo, add push.sig handler
niblyx-malnus May 6, 2026
bf58945
local git commits: implement commit-to-raw, commit-request flow
niblyx-malnus May 6, 2026
fb7508e
add git-commit MCP tool, rename diff handler, test local commit
niblyx-malnus May 6, 2026
eb79017
git primitives, reflog, mtime optimization, runtime mtime fix
niblyx-malnus May 6, 2026
a9bd36f
reflog: use first line of commit message only
niblyx-malnus May 6, 2026
53b526e
branch management, stash stack, HEAD unification
niblyx-malnus May 7, 2026
114a7ff
claw: API accounting + prompt caching
niblyx-malnus May 8, 2026
0438ea9
rhizome: wiki-linked markdown notes with backlink tracking
niblyx-malnus May 8, 2026
2a3503e
s3 nexus + fix make-soft marc crash
niblyx-malnus May 8, 2026
983e546
git: incremental fetch, multi-pack storage, claw channel config
niblyx-malnus May 8, 2026
918680f
peers: stub nexus for usergroup management
niblyx-malnus May 8, 2026
66afd13
claw: persistent typing indicator for telegram channels
niblyx-malnus May 8, 2026
04cf0f7
explorer: rename, move, copy operations + fiberio move helpers
niblyx-malnus May 9, 2026
6d94260
derive API paths from tree position, split get-here/get-here-abs
niblyx-malnus May 9, 2026
ad5850a
server nexus → runtime: move HTTP binding/routing into grubbery agent
niblyx-malnus May 9, 2026
f2b8a3e
counter: derive API URLs from window.location.pathname
niblyx-malnus May 9, 2026
67da0e8
move HTTP server from runtime into root nexus fiber
niblyx-malnus May 9, 2026
ba7ed79
rename /sys/peer → /sys/ames, restructure usergroups as per-group dir…
niblyx-malnus May 9, 2026
fc82965
fix multipart parser OOM on large uploads, fix filename parsing
niblyx-malnus May 9, 2026
642214d
move agent weirs from /agents directory to individual agents
niblyx-malnus May 10, 2026
6c75a82
add timer service, cron jobs, and explorer fixes
niblyx-malnus May 10, 2026
b30f503
move vane interactions to /sys/ namespace runtime services
niblyx-malnus May 11, 2026
7fe4a6f
eliminate dotket and do-scry from grub code
niblyx-malnus May 11, 2026
297b252
add /sys/dill/ and /sys/clay/ new-desk services, refactor dispatch
niblyx-malnus May 11, 2026
46eecdd
add /sys/gall/ poke service, restructure gall subs to /sys/gall/subs/
niblyx-malnus May 11, 2026
80349f2
change gall-poke interface from [dock cage] to [dock page]
niblyx-malnus May 11, 2026
b6a7034
add /sys/clay/ file write service, replace kiln-info pokes
niblyx-malnus May 11, 2026
4ddba2b
mcp: add mark validation and txt-to-wain conversion to clay write tools
niblyx-malnus May 11, 2026
052f0e6
strip noisy debug traces from hot paths, allow main chat deletion
niblyx-malnus May 11, 2026
b826147
fix take-wake timer matching: parse path knot instead of comparing sc…
niblyx-malnus May 13, 2026
2c29f97
route eyre requests directly to handlers, remove old card-based eyre …
niblyx-malnus May 13, 2026
eac354a
remove request/cancel routing from eyre server-state spool
niblyx-malnus May 14, 2026
609bb21
move eyre-action handling from server-state fiber to agent runtime
niblyx-malnus May 14, 2026
7231831
migrate ball-api HTTP responses from raw cards to /sys/eyre/ pokes
niblyx-malnus May 14, 2026
0ed44d4
kill dead grub↔vane forwarding: soup, scry dart, arvo/agent/watch/lea…
niblyx-malnus May 14, 2026
9be9592
organize /sys/ namespace services alphabetically, clean up comments
niblyx-malnus May 14, 2026
55104d4
resolve gall poke marks via code nexus marcs, not Clay dais
niblyx-malnus May 14, 2026
0eefff6
cross-ship grubbery: unified action routing through /sys/ames/ weir
niblyx-malnus May 14, 2026
76bc8ca
ensure our own ship's virtual node exists at boot
niblyx-malnus May 14, 2026
8c8afb4
rename grubbery-action to grubbery-load, add grubbery-intake
niblyx-malnus May 14, 2026
4670356
mark->blot: replace vestigial @tas mark with blot:tarball throughout
niblyx-malnus May 15, 2026
c562be9
s3/bridge: bidirectional S3 sync nexus
niblyx-malnus May 16, 2026
7323c20
s3/bridge: preserve sync dir through reload, clean up debug traces
niblyx-malnus May 16, 2026
d45577b
some speculative git-like content-addressing types
niblyx-malnus May 16, 2026
95092fe
ford dedup: global refcounted bins for compiled artifacts
niblyx-malnus May 16, 2026
0692bff
fix bins-to-cache: join keys→refs→bins for correct cache reconstruction
niblyx-malnus May 16, 2026
b2a7790
s3 bridge: pull unknown extensions as mime, add boom mark
niblyx-malnus May 16, 2026
47ae33b
build-code: input-based dedup keys, remove kelvin crash path
niblyx-malnus May 16, 2026
abf97fe
s3 bridge: remove neck-setting on pull, treat as inert file bridge
niblyx-malnus May 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

A tree-shaped manager for stateful long-running processes on Urbit.

- **Grub-based Shrubbery** - Active, bug-like processes inspired by %spider in a file system inspired by Shrubbery. Emphasis on **doing** over **being**.
- **Grug-brained Shrubbery** - Aims at a simple, mechanical feel with few moving parts.
- **Groundwire Shrubbery** - Asynchronous monadic processes allow easy expression of complex blockchain operations. Sandboxing provides security.

## Core Concepts

**Grub** — a file and its running process. Files are the leaves of the tree. Each file has content (a cage) and a long-running fiber that operates on it. When a grub's process completes, the grub is deleted. When it fails, it restarts.
Expand All @@ -16,4 +20,4 @@ A tree-shaped manager for stateful long-running processes on Urbit.

**Dart** — an effect yielded by a fiber. Darts are the fiber's way of interacting with the world: making new grubs, poking files, peeking at state, subscribing to directories, sending gall cards, and so on.

**Intake** — an event received by a fiber. Intakes are responses to darts (peek results, poke acks), external inputs (incoming pokes, subscription updates), or lifecycle events (process start, restart after failure).
**Intake** — an event received by a fiber. Intakes are responses to darts (peek results, poke acks), external inputs (incoming pokes, subscription updates), or lifecycle events (process start, restart after failure).
Loading