githolon 0.47.0 → 0.48.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +24 -8
- package/package.json +3 -3
package/dist/cli.mjs
CHANGED
|
@@ -1618,7 +1618,7 @@ function author(eng, ws, domain, directiveId, payload, controllerHash, opts = {}
|
|
|
1618
1618
|
writeWork(eng, `envelope-${seq}.json`, enc3.encode(stringifyBig(envelope)));
|
|
1619
1619
|
v = offerOnce();
|
|
1620
1620
|
}
|
|
1621
|
-
const res = v.outcome === "admitted" ? { ok: true, head: v.head, intentOut: v.intentOut, ...v.born ? { born: v.born } : {} } : v.outcome === "refused" ? { ok: false, error: v.verdict?.reason ?? v.error } : v;
|
|
1621
|
+
const res = v.outcome === "admitted" ? { ok: true, head: v.head, intentOut: v.intentOut, ...v.born ? { born: v.born } : {}, ...v.birthOutcomes ? { birthOutcomes: v.birthOutcomes } : {} } : v.outcome === "refused" ? { ok: false, error: v.verdict?.reason ?? v.error } : v;
|
|
1622
1622
|
if (defer && res.ok) (eng.pendingProjection ??= /* @__PURE__ */ new Set()).add(ws);
|
|
1623
1623
|
return res;
|
|
1624
1624
|
}
|
|
@@ -2044,14 +2044,30 @@ function runChildBirthLeg(eng, ws, lawHash, cb, frameworkHash) {
|
|
|
2044
2044
|
}
|
|
2045
2045
|
const childWs = (res.born ?? []).map((b) => b?.workspace).find((w) => typeof w === "string" && w.length > 0);
|
|
2046
2046
|
if (childWs === void 0) {
|
|
2047
|
+
const planReturnHint = "\n fix: the named step's plan must RETURN AN ARRAY of ops \u2014 fluent builders (ensure()/create().set(...)) record themselves, so end the plan with `return [];`, or wrap standalone ops in `[ ... ]`. Then recompile and rerun.";
|
|
2048
|
+
const recipeHint = "\n fix: the named genesis step is what the child's own gate refused \u2014 correct that directive/payload in the recipe and recompile. A working template: bench/scale/fixtures/estate-birth.";
|
|
2049
|
+
const failing = (res.birthOutcomes ?? []).find((o) => o?.status === "failed" || o?.status === "deferred");
|
|
2050
|
+
if (failing !== void 0) {
|
|
2051
|
+
const reason = String(failing.reason ?? "unknown");
|
|
2052
|
+
const what = failing.status === "deferred" ? `the birth of '${failing.workspace}' was DEFERRED to the edge (no local child custody):
|
|
2053
|
+
${reason}
|
|
2054
|
+
(expected on a host-less/native peer \u2014 the edge materializes the child on next sync; not a law bug)` : `the child genesis of '${failing.workspace}' FAILED inside the kernel's birth offer-effect:
|
|
2055
|
+
${reason}${/not iterable/.test(reason) ? planReturnHint : recipeHint}`;
|
|
2056
|
+
return done(false, `child birth ${cb.parentDomain}/${cb.birthDirectiveId} admitted, but ${what}`);
|
|
2057
|
+
}
|
|
2047
2058
|
const kernelSays = eng.STDERR?.filter((l) => l.includes("birth-effect-failed")).at(-1);
|
|
2048
2059
|
if (kernelSays !== void 0) {
|
|
2049
|
-
const hint = /not iterable/.test(kernelSays) ?
|
|
2060
|
+
const hint = /not iterable/.test(kernelSays) ? planReturnHint : recipeHint;
|
|
2050
2061
|
return done(false, `child birth ${cb.parentDomain}/${cb.birthDirectiveId} admitted, but the child genesis FAILED inside the kernel's birth offer-effect:
|
|
2051
2062
|
${kernelSays.replace(/^nomos:\s*/, "")}${hint}`);
|
|
2052
2063
|
}
|
|
2053
2064
|
return done(false, `child birth ${cb.parentDomain}/${cb.birthDirectiveId} admitted but the offer-effect spawned no child (born=${JSON.stringify(res.born ?? [])}) and the kernel logged no birth-effect failure \u2014 check the recipe carries a genesis chain (birth({ workspace, genesisChain })), and that the runtime wasm is current (~/.holon/runtime)`);
|
|
2054
2065
|
}
|
|
2066
|
+
const downgraded = (res.birthOutcomes ?? []).find((o) => o?.workspace === childWs && o?.status === "unwarranted-cert");
|
|
2067
|
+
if (downgraded !== void 0) {
|
|
2068
|
+
const checks = downgraded.certChecks !== void 0 ? ` certChecks=${JSON.stringify(downgraded.certChecks)}` : "";
|
|
2069
|
+
lines.push(`\u26A0 child ${childWs} was born UNWARRANTED \u2014 ${String(downgraded.reason ?? "cert not seeded")}${checks}`);
|
|
2070
|
+
}
|
|
2055
2071
|
lines.push(`\u2713 child birth ${cb.parentDomain}/${cb.birthDirectiveId} \u2014 ${childWs} born (the offer-effect folded the child genesis through the child's OWN gate)`);
|
|
2056
2072
|
const installed = (hash) => {
|
|
2057
2073
|
try {
|
|
@@ -4851,12 +4867,12 @@ deploy is OPEN + kernel-gated \u2014 births return no host secret, ownership is
|
|
|
4851
4867
|
githolon ws reclaim <name> [--parent <ws>] lawful custody discard via a SIGNED governance offer
|
|
4852
4868
|
(only a retired workspace; never root)
|
|
4853
4869
|
githolon deploy [<ws>] [--file <deploy.json>] deploy build/*.deploy.json \u2014 DEFAULT replace-current:
|
|
4854
|
-
[--keep-beside] [--retire-replaced]
|
|
4855
|
-
key (prints what moved). --keep-beside
|
|
4856
|
-
beside; --retire-replaced
|
|
4857
|
-
githolon domains status <ws> per domain key:
|
|
4858
|
-
[--explain-current-interface]
|
|
4859
|
-
githolon domains retire <ws> <hashOrKey> retire an install (marks it
|
|
4870
|
+
[--keep-beside] [--retire-replaced] new law becomes active; prior install is superseded
|
|
4871
|
+
per domain key (prints what moved). --keep-beside
|
|
4872
|
+
installs beside; --retire-replaced marks retired
|
|
4873
|
+
githolon domains status <ws> per domain key: active law plus superseded/retired
|
|
4874
|
+
[--explain-current-interface] lineage (active = served now)
|
|
4875
|
+
githolon domains retire <ws> <hashOrKey> retire an install (marks it retired \u2014 replayable,
|
|
4860
4876
|
[--with <hashOrKey>] no longer served) via a signed installDomain offer
|
|
4861
4877
|
githolon secret set <ws> <push-password> store a git push password (push-to-create birth lane)
|
|
4862
4878
|
githolon secret rotate <ws> RETIRED \u2014 host holds no ownership credential (410)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "githolon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "githolon — the Nomos developer CLI: Rails-style generators for @githolon/dsl domains + the package compiler. Kernel-independent.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@bjorn3/browser_wasi_shim": "0.4.2",
|
|
32
|
-
"@githolon/client": "^0.
|
|
33
|
-
"@githolon/dsl": "^0.
|
|
32
|
+
"@githolon/client": "^0.48.1",
|
|
33
|
+
"@githolon/dsl": "^0.48.1",
|
|
34
34
|
"isomorphic-git": "^1.38.4"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|