diff --git a/pkg/arvo/app/neo.hoon b/pkg/arvo/app/neo.hoon index bd2dbd1b15..71aced568f 100644 --- a/pkg/arvo/app/neo.hoon +++ b/pkg/arvo/app/neo.hoon @@ -197,6 +197,7 @@ ++ do-ack |= =ack:neo ^- (list card) + %- (slog leaf/"do from: {} to: {}" ~) ?: =(p.ack sys-pith) %. *(list card) ?~ q.ack @@ -272,7 +273,7 @@ ++ on-move |= =move:neo ^+ run - %- (slog leaf/"{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: {<-.q.q.move>}" ~) + :: %- (slog leaf/"{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: {<-.q.q.move>}" ~) =/ src=name:neo (de-pith:name:neo p.move) =/ dst=name:neo (de-pith:name:neo p.q.move) ?> =(src.bowl ship.src) @@ -291,6 +292,7 @@ %gone (slog leaf/"Missing dep: {}" ~) %goof (slog leaf/"nacked on flow {}" tang.u.q.ack) == + %- (slog leaf/"on-ack from: {} to: {}" ~) (on-move q.p.ack p.p.ack %poke ack/!>(q.ack)) :: ++ on-dirt-card @@ -1728,9 +1730,17 @@ :: ++ trace-card |= =move:neo - ^- tank + ::?: =((snag 1 p.q.move) %srv) + :: same + %- trace + ^- tang + :_ ~ :- %leaf - "{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: {<-.q.q.move>}" + %+ welp + "{(en-tape:pith:neo p.move)} -> {(en-tape:pith:neo p.q.move)}: " + ?+ -.q.q.move (trip -.q.q.move) + %poke "%poke {}" + == ++ trace |= =tang ?. verb same @@ -1784,6 +1794,7 @@ ++ apply |= =move:neo ^+ arvo + %- (trace-card move) ?. =(~ err.block) :: skip if we have errored arvo @@ -1791,7 +1802,6 @@ =. src (de-pith:name:neo p.move) =/ =name:neo (de-pith:name:neo p.q.move) =. here +:p.q.move - %- (trace leaf/"{<-.q.q.move>} {(spud (pout here))}" ~) ?- -.q.q.move %make (make +.q.q:move) %poke (poke +.q.q:move) @@ -1832,26 +1842,33 @@ |- ^+ [bad arvo] ?~ deps [bad arvo] - =/ [=term required=? =quay:neo] i.deps + =/ [=term =deed:neo =quay:neo] i.deps + =/ req=? + ?@(deed deed req.deed) + =/ timeout=(unit @dr) + ?@(deed ~ time.deed) =/ =care:neo (get-care:quay:neo quay) - ?: &(required !(~(has by conf) term)) + ?: &(req !(~(has by conf) term)) =. bad (~(put in bad) term) $(deps t.deps) - ?: &(!required !(~(has by conf) term)) + ?: &(!req !(~(has by conf) term)) $(deps t.deps) =/ pit=pith:neo (~(got by conf) term) =/ res (look care pit) =/ nam=name:neo (de-pith:name:neo pit) ?~ res ?: =(our.bowl ship.nam) - ?. required + ?. req $(deps t.deps) =. bad (~(put in bad) term) $(deps t.deps) - =? get.block required + ?: &(=(timeout `0) req) + =. bad (~(put in bad) term) + $(deps t.deps) + =? get.block req (~(put in get.block) care pit) =. run abet:(~(start sale pit) [p/our.bowl here] care) - =? run !required + =? run !req (stalk:rage care^pit %rely term here) $(deps t.deps) ?^ u.res @@ -1867,11 +1884,13 @@ ?~ cew arvo =/ [=term =pith:neo] i.cew - =/ d=(unit [req=? =quay:neo]) (~(get by band) term) + =/ d=(unit [=deed:neo =quay:neo]) (~(get by band) term) :: skip extraneous, XX: is correct? ?~ d $(cew t.cew) - =/ [req=? =quay:neo] u.d + =/ [=deed:neo =quay:neo] u.d + =/ req=? + ?@(deed deed req.deed) =/ =hunt:neo [(get-care:quay:neo quay) pith] =/ =name:neo (de-pith:name:neo pith) ?: &(req =(~ (moor quay name))) @@ -1976,18 +1995,19 @@ %- ~(gas by *(map term [pith lore:neo])) ^- (list [term pith lore:neo]) %+ murn ~(tap by deps:kook) - |= [=term required=? =quay:neo] + |= [=term =deed:neo =quay:neo] ^- (unit [^term pith:neo lore:neo]) =/ dep=(unit pith) (~(get by crew.wave) term) + =/ req ?@(deed deed req.deed) ?~ dep ~| invariant-missing-required-conf/term - ?< required + ?< req ~ =/ =name:neo (de-pith:name:neo u.dep) =/ =care:neo (get-care:quay:neo quay) ?~ lor=(moor quay name) - ?< required - ~ + ?< req + `[term u.dep *lore:neo] :: %- (slog term (epic:dbug:neo epic) ~) `[term u.dep u.lor] :: @@ -2012,7 +2032,7 @@ ++ su-give |= =gift:neo ?. (~(has in poke.dock.wave) %gift) - ~& skipping-give/here + :: ~& skipping-give/here su-core (su-poke gift/!>(gift)) :: @@ -2027,7 +2047,7 @@ same (slog (print-quit:neo u.ack)) ?: ?=(%rely p.pail) - ((slog leaf/"no support for %rely" ~) su-core) + su-core :: ((slog leaf/"no support for %rely" ~) su-core) (mean leaf/"no support for {}" ~) =/ [caz=(list card:neo) new=pail:neo] (poke:su-form pail) diff --git a/pkg/arvo/lib/neo-two.hoon b/pkg/arvo/lib/neo-two.hoon index 93599f17f4..069625b698 100644 --- a/pkg/arvo/lib/neo-two.hoon +++ b/pkg/arvo/lib/neo-two.hoon @@ -498,7 +498,7 @@ ++ piek |= [=care:neo =pith:neo] ^- (unit (unit (axal:neo saga:neo))) - ~& peek-no-once/[care pith] + :: ~& peek-no-once/[care pith] ``(fallback-peek care pith) :: @@ -506,7 +506,7 @@ |= [=care:neo =pith:neo] ^- (unit (unit (axal:neo saga:neo))) ?~ nce=(now-once care pith) - ~& peek-no-once/[care pith] + :: ~& peek-no-once/[care pith] ~ :: =/ res :: (fallback-peek care pith) diff --git a/pkg/arvo/neo/cod/std/src/imp/accel-conf.hoon b/pkg/arvo/neo/cod/std/src/imp/accel-conf.hoon index 21140d8afa..963c5cd909 100644 --- a/pkg/arvo/neo/cod/std/src/imp/accel-conf.hoon +++ b/pkg/arvo/neo/cod/std/src/imp/accel-conf.hoon @@ -5,6 +5,7 @@ ++ build |= [=bowl:neo conf=accel-conf] ^- (quip card pail:neo) + ~& build/conf :_ accel-conf/!>(conf) =/ =term `@tas`(cat 3 'accel-' (scot %t (spat (pout (snip here.bowl))))) @@ -30,14 +31,32 @@ |= [=term =pith:neo =lore:neo] ^- [^term vase] [term (lift-lore lore)] + ++ check-prelude + =| res=(set term) + |= =bowl:neo + ^+ res + =/ deps ~(tap by deps.bowl) + |- ^+ res + ?~ deps + res + =/ [=term =pith:neo =lore:neo] i.deps + ?. =(lore *lore:neo) + $(deps t.deps) + $(deps t.deps, res (~(put in res) term)) :: ++ produce |= =bowl:neo ^- pail:neo + =/ missing (check-prelude bowl) + ~& hoon/hoon.conf + ?. =(missing ~) + :- %tang !> ^- tang + [leaf/"Missing deps" (turn ~(tap in missing) |=(=term leaf/(trip term)))] =/ res=(each vase tang) (mule |.((slap (get-prelude bowl) (ream hoon.conf)))) ?: ?=(%& -.res) vase/p.res + %- (slog p.res) tang/!>(p.res) -- ^- kook:neo @@ -50,7 +69,7 @@ %+ turn ~(tap in ~(key by crew.conf)) |= =term ^- [_term fief:neo] - [term req=& [any/~ ~] ~] + [term req=| [any/~ ~] ~] ++ form ^- form:neo |_ [=bowl:neo =aeon:neo =pail:neo] @@ -58,16 +77,18 @@ |= [=stud:neo vax=vase] ^- (quip card:neo pail:neo) =/ new=pail:neo (produce bowl) - ?: =(new pail) - `pail - :_ pail + %- (slog leaf/"New val: {}" (sell q.new) ~) + ?: =(new pail) `new + :_ new %+ turn ~(tap by poke.conf) |= [=pith:neo =stud:neo] - [pith %poke [stud q.pail]] + [pith %poke [stud q.new]] :: ++ init |= pal=(unit pail:neo) - `(produce bowl) + =/ new=pail:neo (produce bowl) + %- (slog leaf/"New val: {}" (sell q.new) ~) + `new -- -- -- diff --git a/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon b/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon index 6386ba980b..9bcb473c9e 100644 --- a/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon +++ b/pkg/arvo/neo/cod/std/src/imp/hawk-eyre.hoon @@ -29,7 +29,7 @@ =/ =crew:neo (~(gas by *crew:neo) src/inner ~) =/ =made:neo [%hawk-eyre-handler `[stud vax] crew] :_ sig/!>(~) - :~ [(welp here.bowl #/[uv/eny.bowl]) %make made] + :~ [(welp here.bowl #/[uv/(end [3 4] eny.bowl)]) %make made] == == ++ init diff --git a/pkg/arvo/sur/neo.hoon b/pkg/arvo/sur/neo.hoon index 29e684f3ce..ec1294ba22 100644 --- a/pkg/arvo/sur/neo.hoon +++ b/pkg/arvo/sur/neo.hoon @@ -851,6 +851,12 @@ ++ duck (dial dole) -- :: ++$ deed + $@ ? + $: time=(unit @dr) + req=? + == +:: :: $gift: notification that a children changed :: +$ gift (axal loot) @@ -2007,7 +2013,7 @@ %x p.u.q.q -- -+$ fief [required=? =quay] ++$ fief [=deed =quay] :: :: $port: Children API ::