From 8609599035f4e447f025ab06db053ed3eba0d3ac Mon Sep 17 00:00:00 2001 From: Philip Monk Date: Tue, 24 Jan 2023 13:07:19 -0700 Subject: [PATCH 01/10] ames: put "is ok"/"not responding" behind |ames-verb Fixes #6245 --- pkg/arvo/sys/lull.hoon | 2 +- pkg/arvo/sys/vane/ames.hoon | 96 +++++++++++++++++++++++++++++-------- 2 files changed, 76 insertions(+), 22 deletions(-) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 9bca8c59b..c5fcd71dc 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -436,7 +436,7 @@ +$ address @uxaddress :: $verb: verbosity flag for ames :: - +$ verb ?(%snd %rcv %odd %msg %ges %for %rot) + +$ verb ?(%snd %rcv %odd %msg %ges %for %rot %kay) :: $blob: raw atom to or from unix, representing a packet :: +$ blob @uxblob diff --git a/pkg/arvo/sys/vane/ames.hoon b/pkg/arvo/sys/vane/ames.hoon index 41b64dd71..7404aaa18 100644 --- a/pkg/arvo/sys/vane/ames.hoon +++ b/pkg/arvo/sys/vane/ames.hoon @@ -102,6 +102,7 @@ ges=`?`%.n :: congestion control for=`?`%.n :: packet forwarding rot=`?`%.n :: routing attempts + kay=`?`%.n :: is ok/not responding == => ~% %ames ..part ~ @@ -121,14 +122,14 @@ :: +qos-update-text: notice text for if connection state changes :: ++ qos-update-text - |= [=ship old=qos new=qos] + |= [=ship old=qos new=qos k=? ships=(set ship)] ^- (unit tape) :: ?+ [-.old -.new] ~ [%unborn %live] `"; {(scow %p ship)} is your neighbor" - [%dead %live] `"; {(scow %p ship)} is ok" - [%live %dead] `"; {(scow %p ship)} not responding still trying" - [%unborn %dead] `"; {(scow %p ship)} not responding still trying" + [%dead %live] ((trace k ship ships |.("is ok")) ~) + [%live %dead] ((trace k ship ships |.("not responding still trying")) ~) + [%unborn %dead] ((trace k ship ships |.("not responding still trying")) ~) [%live %unborn] `"; {(scow %p ship)} has sunk" [%dead %unborn] `"; {(scow %p ship)} has sunk" == @@ -627,7 +628,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ship-state-4 ship-state-5 @@ -656,7 +657,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ship-state-6 @@ -685,7 +686,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ames-state-8 @@ -693,11 +694,25 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 corks=(set wire) == :: - ++$ bug-9 + $: veb=_[`?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n] + ships=(set ship) + == +:: ++$ ames-state-9 + $: peers=(map ship ship-state) + =unix=duct + =life + crypto-core=acru:ames + bug=bug-9 + corks=(set wire) + snub=(set ship) + == +:: :: $bug: debug printing configuration :: :: veb: verbosity toggles @@ -860,7 +875,8 @@ [%6 ames-state-6] [%7 ames-state-7] [%8 ames-state-8] - [%9 ^ames-state] + [%9 ames-state-9] + [%10 ^ames-state] == :: |= [now=@da eny=@ rof=roof] @@ -983,7 +999,7 @@ :: lifecycle arms; mostly pass-throughs to the contained adult ames :: ++ scry scry:adult-core - ++ stay [%9 %larva queued-events ames-state.adult-gate] + ++ stay [%10 %larva queued-events ames-state.adult-gate] ++ load |= $= old $% $: %4 @@ -1020,8 +1036,15 @@ state=ames-state-8 == [%adult state=ames-state-8] - == == + == == $: %9 + $% $: %larva + events=(qeu queued-event) + state=ames-state-9 + == + [%adult state=ames-state-9] + == == + $: %10 $% $: %larva events=(qeu queued-event) state=_ames-state.adult-gate @@ -1076,12 +1099,22 @@ =. queued-events events.old larval-gate :: - [%9 %adult *] (load:adult-core %9 state.old) + [%9 %adult *] + =. cached-state `[%9 state.old] + ~> %slog.0^leaf/"ames: larva reload" + larval-gate :: [%9 %larva *] + ~> %slog.0^leaf/"ames: larva: load" + =. queued-events events.old + larval-gate + :: + [%10 %adult *] (load:adult-core %10 state.old) + :: + [%10 %larva *] ~> %slog.1^leaf/"ames: larva: load" =. queued-events events.old - =. adult-gate (load:adult-core %9 state.old) + =. adult-gate (load:adult-core %10 state.old) larval-gate :: == @@ -1102,7 +1135,9 @@ 8+(state-7-to-8:load:adult-core +.u.cached-state) =? u.cached-state ?=(%8 -.u.cached-state) 9+(state-8-to-9:load:adult-core +.u.cached-state) - ?> ?=(%9 -.u.cached-state) + =? u.cached-state ?=(%9 -.u.cached-state) + 10+(state-9-to-10:load:adult-core +.u.cached-state) + ?> ?=(%10 -.u.cached-state) =. ames-state.adult-gate +.u.cached-state [moz larval-core(cached-state ~)] -- @@ -1178,15 +1213,15 @@ [moves ames-gate] :: +stay: extract state before reload :: -++ stay [%9 %adult ames-state] +++ stay [%10 %adult ames-state] :: +load: load in old state after reload :: ++ load =< |= $= old-state - $% [%9 ^ames-state] + $% [%10 ^ames-state] == ^+ ames-gate - ?> ?=(%9 -.old-state) + ?> ?=(%10 -.old-state) ames-gate(ames-state +.old-state) :: |% @@ -1260,7 +1295,7 @@ == ++ state-8-to-9 |= ames-state=ames-state-8 - ^- ^^ames-state + ^- ames-state-9 :* peers.ames-state unix-duct.ames-state life.ames-state @@ -1269,6 +1304,19 @@ corks.ames-state *(set ship) == + ++ state-9-to-10 + |= ames-state=ames-state-9 + ^- ^^ames-state + :* peers.ames-state + unix-duct.ames-state + life.ames-state + crypto-core.ames-state + %= bug.ames-state + veb [&1 &2 &3 &4 &5 &6 |6 %.n]:veb.bug.ames-state + == + corks.ames-state + snub.ames-state + == -- :: +scry: dereference namespace :: @@ -1507,6 +1555,7 @@ %ges acc(ges %.y) %for acc(for %.y) %rot acc(rot %.y) + %kay acc(kay %.y) == event-core :: +on-prod: re-send a packet per flow to each of .ships @@ -2016,7 +2065,9 @@ =. +.peer-state +:*^peer-state :: print change to quality of service, if any :: - =/ text=(unit tape) (qos-update-text ship old-qos qos.peer-state) + =/ text=(unit tape) + %^ qos-update-text ship old-qos + [qos.peer-state kay.veb ships.bug.ames-state] :: =? event-core ?=(^ text) (emit duct %pass /qos %d %flog %text u.text) @@ -2421,7 +2472,10 @@ =^ old-qos qos.peer-state [qos.peer-state new-qos] :: if no update worth reporting, we're done :: - ?~ text=(qos-update-text her.channel old-qos new-qos) + =/ text + %^ qos-update-text her.channel old-qos + [new-qos kay.veb ships.bug.ames-state] + ?~ text peer-core :: print message :: From 9e9fdeb2c6db6452a74a61de693b11e6aeb5a6e3 Mon Sep 17 00:00:00 2001 From: dachus Date: Thu, 26 Jan 2023 16:55:23 -0600 Subject: [PATCH 02/10] flow scry added, moved to lull --- pkg/arvo/sys/lull.hoon | 43 ++++++++++++++++++++++++++++++++ pkg/arvo/sys/vane/clay.hoon | 49 +------------------------------------ 2 files changed, 44 insertions(+), 48 deletions(-) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 9bca8c59b..3f1d1ab0e 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -885,6 +885,17 @@ +$ norm (axal ?) :: tombstone policy +$ open $-(path vase) :: get prelude +$ page ^page :: export for compat + +$ pour :: ford build w/content + $% [%file =path] + [%nave =mark] + [%dais =mark] + [%cast =mars] + [%tube =mars] + :: leafs + :: + [%vale =path =lobe] + [%arch =path =(map path lobe)] + == +$ rang :: repository $: hut=(map tako yaki) :: changes lat=(map lobe page) :: data @@ -919,6 +930,13 @@ +$ rule [mod=?(%black %white) who=(set whom)] :: node permission +$ rump [p=care q=case r=@tas s=path] :: relative path +$ saba [p=ship q=@tas r=moar s=dome] :: patch+merge + +$ soak :: ford result + $% [%cage =cage] + [%vase =vase] + [%arch dir=(map @ta vase)] + [%dais =dais] + [%tube =tube] + == +$ soba (list [p=path q=miso]) :: delta +$ suba (list [p=path q=misu]) :: delta +$ tako @uvI :: yaki ref @@ -1058,6 +1076,31 @@ %^ cat 7 (sham [%yaki (roll p add) q t]) (sham [%tako (roll p add) q t]) [p q has t] + :: + :: $leak: ford cache key + :: + :: This includes all build inputs, including transitive dependencies, + :: recursively. + :: + +$ leak + $~ [*pour ~] + $: =pour + deps=(set leak) + == + :: + :: $flow: global ford cache + :: + :: Refcount includes references from other items in the cache, and + :: from spills in each desk + :: + :: This is optimized for minimizing the number of rebuilds, and given + :: that, minimizing the amount of memory used. It is relatively slow + :: to lookup, because generating a cache key can be fairly slow (for + :: files, it requires parsing; for tubes, it even requires building + :: the marks). + :: + +$ flow (map leak [refs=@ud =soak]) + :: :: $pile: preprocessed hoon source file :: :: /- sur-file :: surface imports from /sur diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index f9a6f5954..35dc2d49d 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -191,19 +191,6 @@ [%1 peg=(unit page)] == :: -:: Global ford cache -:: -:: Refcount includes references from other items in the cache, and -:: from spills in each desk -:: -:: This is optimized for minimizing the number of rebuilds, and given -:: that, minimizing the amount of memory used. It is relatively slow -:: to lookup, because generating a cache key can be fairly slow (for -:: files, it requires parsing; for tubes, it even requires building -:: the marks). -:: -+$ flow (map leak [refs=@ud =soak]) -:: :: Per-desk ford cache :: :: Spill is the set of "roots" we have into the global ford cache. @@ -228,41 +215,6 @@ [%arch =path] == :: -:: Ford build with content. -:: -+$ pour - $% [%file =path] - [%nave =mark] - [%dais =mark] - [%cast =mars] - [%tube =mars] - :: leafs - :: - [%vale =path =lobe] - [%arch =path =(map path lobe)] - == -:: -:: Ford result. -:: -+$ soak - $% [%cage =cage] - [%vase =vase] - [%arch dir=(map @ta vase)] - [%dais =dais] - [%tube =tube] - == -:: -:: Ford cache key -:: -:: This includes all build inputs, including transitive dependencies, -:: recursively. -:: -+$ leak - $~ [*pour ~] - $: =pour - deps=(set leak) - == -:: :: New desk data. :: :: Sent to other ships to update them about a particular desk. @@ -5647,6 +5599,7 @@ %sweep ``[%sweep !>(sweep)] %rang ``[%rang !>(ran.ruf)] %tomb ``[%flag !>((tomb t.path))] + %flow ``[%flow !>(fad.ruf)] %domes domes %tire ``[%tire !>(tore:(lu now rof *duct ruf))] %tyre ``[%tyre !>(tyr.ruf)] From f6ee174d64b65866feef74a16dc1daf0511b30da Mon Sep 17 00:00:00 2001 From: fang Date: Sat, 28 Jan 2023 00:34:03 +0100 Subject: [PATCH 03/10] webterm: simpler printf rendering As it turns out, the exact behavior of the 'S' CSI command is not "move contents up into scrollback", but rather "delete the top line(s), move other contents up". This behavior leads webterm to eat into outputs whenever it renders slogs. Xterm(.js), when given a newline character at the bottom of a scroll region, does produce the desired behavior of bumping the top line away into scrollback, instead of obliterating it. This implementation now diverges from vere's, which is unfortunate, but the alternative is making webterm track the contents of the bottom-most line of the default session, which seems rather ridiculous by comparison. Fixes #6257. --- pkg/interface/webterm/lib/blit.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/interface/webterm/lib/blit.ts b/pkg/interface/webterm/lib/blit.ts index 720941ff6..6589cb13c 100644 --- a/pkg/interface/webterm/lib/blit.ts +++ b/pkg/interface/webterm/lib/blit.ts @@ -58,15 +58,15 @@ export const showBlit = (term: Terminal, blit: Blit) => { export const showSlog = (term: Terminal, slog: string) => { // set scroll region to exclude the bottom line, - // scroll up one line, - // move cursor to start of the newly created whitespace, + // move cursor to bottom left of the scroll region, + // print a newline to move everything up a line, // set text to grey, // print the slog, // restore color, scroll region, and cursor. // term.write(csi('r', 1, term.rows - 1) - + csi('S', 1) + csi('H', term.rows - 1, 1) + + '\n' + csi('m', 90) + slog + csi('m', 0) From abd6674ae027b5f8fdc45f04f8b694d072b1c50c Mon Sep 17 00:00:00 2001 From: Tinnus Napbus Date: Mon, 30 Jan 2023 14:46:39 +1300 Subject: [PATCH 04/10] show-vat: fix +show-vat to work with wafts --- pkg/arvo/gen/show-vat.hoon | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/arvo/gen/show-vat.hoon b/pkg/arvo/gen/show-vat.hoon index 922cc92bc..0d3d1d2b1 100644 --- a/pkg/arvo/gen/show-vat.hoon +++ b/pkg/arvo/gen/show-vat.hoon @@ -6,9 +6,15 @@ :- %tang %- flop ^- tang =/ pax=path /(scot %p p.bec)/[desk]/(scot %da now) -=+ .^([lal=@tas num=@ud] cx+(weld pax /sys/kelvin)) +=/ welt=(list [@tas @ud]) + =+ .^(=waft:clay cx+(weld pax /sys/kelvin)) + %+ sort ~(tap in (waft-to-wefts:clay waft)) + |= [a=weft b=weft] + ?: =(lal.a lal.b) + (lte num.a num.b) + (lte lal.a lal.b) :~ '/sys/kelvin:' - leaf/"[{} {}]" + (sell !>(welt)) '/desk/bill:' (sell !>(.^((list dude:gall) cx+(weld pax /desk/bill)))) == From 6a2c9355413d69ccd6e417440eb4ce7579249dba Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Wed, 1 Feb 2023 11:22:31 -0500 Subject: [PATCH 05/10] Update issue templates For creating an issue just to make a PR, and some other use cases, it's convenient to be able to create a blank issue. --- .github/ISSUE_TEMPLATE/blank-issue.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/blank-issue.md diff --git a/.github/ISSUE_TEMPLATE/blank-issue.md b/.github/ISSUE_TEMPLATE/blank-issue.md new file mode 100644 index 000000000..acac852e5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/blank-issue.md @@ -0,0 +1,10 @@ +--- +name: Blank Issue +about: Other +title: '' +labels: '' +assignees: '' + +--- + + From 9bdb2b5b423bdd422bc66ea7b6de4c14375a0aa6 Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Wed, 1 Feb 2023 15:29:38 -0500 Subject: [PATCH 06/10] MAINTAINERS.md: add release checklist --- MAINTAINERS.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index eceb7ebaf..db2f54b50 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -119,3 +119,40 @@ following command: ``` git push origin ``` + +## Releases + +- [ ] Create a pull request from the relevant release branch to `master`. +- [ ] ssh into `~zod` +- [ ] Check to ensure that nobody else is ssh'd into `~zod`, by running `screen -ls` and verifying no sessions are attached. +- [ ] Attach to the screen session using `screen -x` +- [ ] Install the contents of the `%kids` desk on `~marnec-dozzod-marzod` into our `%base`: `|merge %base ~marnec-dozzod-marzod %kids, =gem %only-that` +- [ ] Check that `~zod` has updated to the latest release. For a Kelvin release, you can run `zuse` in the Dojo. Each non-Kelvin release might its own way of checking whether the update has completed, possibly through checking the `%cz` hash of the `%base` desk matches the hash on `~marnec-dozzod-marzod` by comparing the outputs of `+vat %base` on both ships. +- [ ] Merge `~zod`'s `%base` desk into its `%kids` desk to distribute the new code to the network: `|merge %kids our %base, =gem %only-that` +- [ ] Before exiting the screen session on `~zod`, make sure the screen session is not left in copy mode for a long period of time, since that will disrupt `~zod`'s operation. + +### Release Communications + +- [ ] Tag the commit that went onto the live network as a release, using GitHub's "Releases" interface. See the "Tagging" section of this document for details. +- [ ] Email the urbit-dev mailing list with an "[ANNOUNCE]" prefix in the email subject. See previous release emails for reference. +- [ ] Tweet from the `@zodisok` Twitter account linking to the GitHub release. +- [ ] Post links to the release in the Urbit Community Development channel and a channel in the UF public group. + +### Post-Release Git Cleanup + +- [ ] Merge master back into develop. +- [ ] Cut a new release branch from develop. TODO describe release branch naming + +### Post-Release Checks +- [ ] Check that `~marzod` and other distribution stars are receiving the update by running `|ames-sift ~zod` and `|ames-verb %rcv %ges`. You should see lots of packets from `~zod`. Once you have confirmed packets are flowing, run `|ames-sift` and `|ames-verb` with no arguments to reset the verbosity state. +- [ ] Check that planets are receiving the update. They should start updating within an hour or so. +- [ ] Monitor the Urbit Community Help channel, UF public group channels, and Twitter to make + +### Post-Release Artifacts +After waiting at least 24 hours after the release to the network, make and distribute a pill. +- [ ] Find a ship on the network (for now, use `~halbex-palheb`, which runs the UF public group) whose sources for `%base` and the standard app desks are mainline, not devstream. +- [ ] Ensure the `%cz` hashes of all desks match those on the distribution ships. +- [ ] Make a pill by running `.multi-vX-XX/pill +solid %base %garden %webterm %landscape %groups %talk` (replacing `X-XX` with the appropriate version numbers, in this and later steps). +- [ ] Boot a fakezod off that pill to make sure the pill is viable. +- [ ] Upload the pill to `bootstrap.urbit.org` using the Google Cloud SDK by running: `gsutil cp /path/to/pier/.urb/put/multi-vX-XX.pill gs://bootstrap.urbit.org/urbit-vX.XX.pill` -- note that it should be `vX.XX`, not `vX-XX` as in the original pill filename. +- [ ] Boot a ship with the latest binary and check that it downloads the pill from `https://bootstrap.urbit.org/urbit-vX.XX.pill` where you just uploaded it. From e7c650fb41bf468a6065cdeb59d744ad9ec3bce6 Mon Sep 17 00:00:00 2001 From: james acklin <748181+jamesacklin@users.noreply.github.com> Date: Thu, 2 Feb 2023 08:43:38 -0500 Subject: [PATCH 07/10] meta: fix landscape reporting link fixes tloncorp/landscape-apps#1799 --- .github/ISSUE_TEMPLATE/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ed0ab9842..1cbaa900a 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,8 +1,8 @@ blank_issues_enabled: true contact_links: - name: Submit a Landscape issue - url: https://github.com/urbit/landscape/issues/new/choose - about: Issues with Landscape (Tlon's flagship client) should be filed at urbit/landscape. This includes groups, chats, collections, notebooks, and more. + url: https://github.com/tloncorp/landscape-apps/issues/new/choose + about: Issues with Landscape should be filed at tloncorp/landscape-apps. This includes Groups, Talk, and Landscape proper. - name: urbit-dev mailing list url: https://groups.google.com/a/urbit.org/g/dev about: Developer questions and discussions also take place on the urbit-dev mailing list. From cb1ce574751524c5764765909fb5876ba846a033 Mon Sep 17 00:00:00 2001 From: DaneBettis Date: Thu, 2 Feb 2023 11:30:54 +0000 Subject: [PATCH 08/10] added %meme tests to hints.hoon --- tests/run/hints.hoon | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/run/hints.hoon b/tests/run/hints.hoon index ac382497f..8bdcac295 100644 --- a/tests/run/hints.hoon +++ b/tests/run/hints.hoon @@ -24,6 +24,14 @@ ++ test-hint-xray ~> %xray.[1 leaf+"test-hint-xray ~"] ~ +:: test that these memory-report hints +:: are safe to run or ignore +++ test-hilt-meme + ~> %meme + ~ +++ test-hint-meme + ~> %meme.[1 leaf+"test-hint-meme ~"] + ~ :: test that the hilt bout hint :: is safe to run or ignore ++ test-hilt-bout From 98069d56f1b80d053f3ae44f9c76befccbed4f9f Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Fri, 3 Feb 2023 07:31:40 -0800 Subject: [PATCH 09/10] Update MAINTAINERS.md --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index db2f54b50..85d610377 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -140,7 +140,7 @@ git push origin ### Post-Release Git Cleanup -- [ ] Merge master back into develop. +- [ ] Merge `master` back into `develop`. - [ ] Cut a new release branch from develop. TODO describe release branch naming ### Post-Release Checks From aec89503ce4cbc6ebe306ebeee71a6b3c6ba95b3 Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Fri, 3 Feb 2023 07:31:46 -0800 Subject: [PATCH 10/10] Update MAINTAINERS.md --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 85d610377..73502d532 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -141,7 +141,7 @@ git push origin ### Post-Release Git Cleanup - [ ] Merge `master` back into `develop`. -- [ ] Cut a new release branch from develop. TODO describe release branch naming +- [ ] Cut a new release branch from `develop`. The branch should have the format `release/urbit-os-vX.XX` ### Post-Release Checks - [ ] Check that `~marzod` and other distribution stars are receiving the update by running `|ames-sift ~zod` and `|ames-verb %rcv %ges`. You should see lots of packets from `~zod`. Once you have confirmed packets are flowing, run `|ames-sift` and `|ames-verb` with no arguments to reset the verbosity state.