githolon 0.99.0 → 0.100.0
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 +66 -129
- package/package.json +3 -3
package/dist/cli.mjs
CHANGED
|
@@ -6083,7 +6083,11 @@ async function runChildBirthLeg(eng, ws, lawHash, cb, frameworkHash) {
|
|
|
6083
6083
|
const checks = downgraded.certChecks !== void 0 ? ` certChecks=${JSON.stringify(downgraded.certChecks)}` : "";
|
|
6084
6084
|
lines.push(`\u26A0 child ${childWs} was born UNWARRANTED \u2014 ${String(downgraded.reason ?? "cert not seeded")}${checks}`);
|
|
6085
6085
|
}
|
|
6086
|
-
|
|
6086
|
+
if (cb.businessAggregateId !== void 0) {
|
|
6087
|
+
lines.push(`\u2713 birth(${cb.businessAggregateId}) \u2014 business facts became a durable holon`);
|
|
6088
|
+
} else {
|
|
6089
|
+
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)`);
|
|
6090
|
+
}
|
|
6087
6091
|
const installed = (hash) => {
|
|
6088
6092
|
try {
|
|
6089
6093
|
return qById(eng, childWs, `domain-installation:${hash}`).length > 0;
|
|
@@ -6097,7 +6101,11 @@ async function runChildBirthLeg(eng, ws, lawHash, cb, frameworkHash) {
|
|
|
6097
6101
|
if (!installed(lawHash)) {
|
|
6098
6102
|
return done(false, `the born child ${childWs} did not install the child law in-chain (domain-installation:${lawHash.slice(0, 12)}\u2026 absent) \u2014 the genesis nomos/installDomain did not fold (by-hash byte routing failed: does the parent fold this law?)`);
|
|
6099
6103
|
}
|
|
6100
|
-
|
|
6104
|
+
if (cb.businessAggregateId !== void 0) {
|
|
6105
|
+
lines.push(`\u2713 law travelled with ${cb.businessAggregateId} and admitted its first business fact`);
|
|
6106
|
+
} else {
|
|
6107
|
+
lines.push(`\u2713 the born child installed the framework + child law IN-CHAIN (the genesis installDomain\xD72 folded)`);
|
|
6108
|
+
}
|
|
6101
6109
|
let seedRows = [];
|
|
6102
6110
|
if (cb.childSeedInstanceId !== void 0) {
|
|
6103
6111
|
try {
|
|
@@ -6116,7 +6124,9 @@ async function runChildBirthLeg(eng, ws, lawHash, cb, frameworkHash) {
|
|
|
6116
6124
|
if ((cb.childSeedInstanceId !== void 0 || cb.childQuery !== void 0) && seedRows.length < 1) {
|
|
6117
6125
|
return done(false, `the born child ${childWs} did not seed ${cb.childSeedAggregateId ?? "its genesis record"} (${cb.childSeedDirectiveId} produced no readable row) \u2014 the child genesis seed did not run`);
|
|
6118
6126
|
}
|
|
6119
|
-
|
|
6127
|
+
if (cb.businessAggregateId === void 0) {
|
|
6128
|
+
lines.push(`\u2713 the born child's genesis seed ran \u2014 ${cb.childSeedDirectiveId} produced ${seedRows.length} readable ${cb.childSeedAggregateId ?? "row"}(s) in ${childWs}`);
|
|
6129
|
+
}
|
|
6120
6130
|
let verdict;
|
|
6121
6131
|
try {
|
|
6122
6132
|
verdict = verifyChainLocal(eng, childWs);
|
|
@@ -6126,7 +6136,11 @@ async function runChildBirthLeg(eng, ws, lawHash, cb, frameworkHash) {
|
|
|
6126
6136
|
if (verdict.valid !== true) {
|
|
6127
6137
|
return done(false, `the born child ${childWs} FAILED verify_chain at ${verdict.check ?? "?"}${verdict.atIndex !== void 0 ? ` (intent ${verdict.atIndex})` : ""}: ${verdict.error ?? "invalid"} \u2014 the child's own gate refused its genesis`);
|
|
6128
6138
|
}
|
|
6129
|
-
|
|
6139
|
+
if (cb.businessAggregateId !== void 0) {
|
|
6140
|
+
lines.push(`\u2713 full history replayed green locally (${verdict.plansRerun ?? "?"} plans re-run)`);
|
|
6141
|
+
} else {
|
|
6142
|
+
lines.push(`\u2713 verify_chain GREEN on the born child ${childWs} (${verdict.plansRerun ?? "?"} plans re-run \u2014 it self-validates from intent 0 through its OWN gate)`);
|
|
6143
|
+
}
|
|
6130
6144
|
const bornEntry = (res.born ?? []).find((b) => b?.workspace === childWs);
|
|
6131
6145
|
const packed = packBornChildren(eng, bornEntry === void 0 ? [] : [bornEntry]);
|
|
6132
6146
|
const childPack = packed.find((b) => b.workspace === childWs);
|
|
@@ -6148,7 +6162,11 @@ async function runChildBirthLeg(eng, ws, lawHash, cb, frameworkHash) {
|
|
|
6148
6162
|
return done(false, `the recovered child ${childWs} verified but its business root ${cb.childSeedInstanceId} was missing`);
|
|
6149
6163
|
}
|
|
6150
6164
|
}
|
|
6151
|
-
|
|
6165
|
+
if (cb.businessAggregateId !== void 0) {
|
|
6166
|
+
lines.push(`\u2713 persistence + recovery \u2014 evicted, restored from durable custody, and ${cb.businessAggregateId} read back`);
|
|
6167
|
+
} else {
|
|
6168
|
+
lines.push(`\u2713 persistence + recovery \u2014 child custody packed, resident copy discarded, verify_chain GREEN and ${cb.childSeedInstanceId ?? cb.childSeedAggregateId ?? "the business root"} readable after reopen`);
|
|
6169
|
+
}
|
|
6152
6170
|
return done(true);
|
|
6153
6171
|
}
|
|
6154
6172
|
function seatRelationAuthority(eng, ws, lawHash, rb, actor, stamp, lines, authorSecret, subjectActor = actor) {
|
|
@@ -6388,7 +6406,7 @@ async function runOfflineProofStandalone(proofPath, cloud, domain) {
|
|
|
6388
6406
|
}
|
|
6389
6407
|
const deployBody = JSON.parse(readFileSync7(deployFile, "utf8"));
|
|
6390
6408
|
const lawHash = await sha256hex(deployBody.packageUsda);
|
|
6391
|
-
console.log(`githolon proof \u2014
|
|
6409
|
+
console.log(`githolon proof \u2014 generated business proof in the real local engine`);
|
|
6392
6410
|
const runtimeKind = legs.childBirth !== void 0 || (legs.childBirths?.length ?? 0) > 0 ? "test-mint" : "production";
|
|
6393
6411
|
const { eng } = await holonEngine(cloud, deployBody, "githolon-proof", runtimeKind);
|
|
6394
6412
|
const ws = "proof-offline";
|
|
@@ -6403,7 +6421,7 @@ async function runOfflineProofStandalone(proofPath, cloud, domain) {
|
|
|
6403
6421
|
}
|
|
6404
6422
|
console.log(`
|
|
6405
6423
|
OFFLINE PROOF GREEN (${Math.round(v.ms)}ms) \u2014 the same legs rerun on every save in \`githolon dev\`.`);
|
|
6406
|
-
console.log(`
|
|
6424
|
+
console.log(`Run the same generated business proof against Nomos Cloud when ready: githolon proof --live`);
|
|
6407
6425
|
return 0;
|
|
6408
6426
|
}
|
|
6409
6427
|
var keyHashOf, OFFLINE_PROOF_VERIFIER;
|
|
@@ -8823,7 +8841,7 @@ var HELP = {
|
|
|
8823
8841
|
},
|
|
8824
8842
|
proof: {
|
|
8825
8843
|
usage: "githolon proof [build/<name>.proof.mts] [--domain <key>] [--live] [--keep]",
|
|
8826
|
-
what: "Run the proof GENERATED from your law.
|
|
8844
|
+
what: "Run the proof GENERATED from your business law. By default it drives the real local engine:\nbirth, full-history verification, durable custody, eviction, restore, and read-back. --live runs the\nsame business proof against Nomos Cloud; identity, provisioning, persistence, and cleanup remain\ninside Nomos. --domain selects one domain in a multi-domain package. ALL GREEN or it names the jam.",
|
|
8827
8845
|
examples: ["githolon proof", "githolon proof --domain co2_platform", "githolon proof --live", "githolon proof --live --keep"]
|
|
8828
8846
|
},
|
|
8829
8847
|
dev: {
|
|
@@ -8911,7 +8929,7 @@ var HELP = {
|
|
|
8911
8929
|
},
|
|
8912
8930
|
login: {
|
|
8913
8931
|
usage: "githolon login --agent | --token <refresh_token>",
|
|
8914
|
-
what: "Establish the
|
|
8932
|
+
what: "Establish the identity Nomos uses beneath birth. --agent creates a verified development identity\n(no browser; linkable later); --token adopts an existing session. Credentials auto-refresh.",
|
|
8915
8933
|
examples: ["githolon login --agent", "githolon login --token <refresh_token>"]
|
|
8916
8934
|
},
|
|
8917
8935
|
whoami: {
|
|
@@ -8932,16 +8950,14 @@ var HELP = {
|
|
|
8932
8950
|
what: "Clear the session. Stored workspace secrets are KEPT."
|
|
8933
8951
|
},
|
|
8934
8952
|
ws: {
|
|
8935
|
-
usage: "githolon ws <
|
|
8936
|
-
what: "
|
|
8953
|
+
usage: "githolon ws <status|retire|reclaim> [<name>] [--parent <ws>] [--cloud <url>] [--target <name>]",
|
|
8954
|
+
what: "Operator inspection and disposal of existing cloud custody. Application creation is not here:\ndeclare birth(Aggregate, spec) and call the generated app.birth(businessFacts). `status` inspects\nlineage and verdicts; `retire` withdraws law while retaining data; `reclaim` discards custody only\nafter retirement.",
|
|
8937
8955
|
flags: [
|
|
8938
|
-
["--principal <p>", "the birth's principal (uid or access token; remembered as the default)"],
|
|
8939
|
-
["--via <parent>", "ws create: sign a createWorkspace offer at <parent> instead of the raw birth"],
|
|
8940
8956
|
["--parent <ws>", "retire/reclaim: the governance workspace to sign against (default root)"],
|
|
8941
8957
|
["--cloud <url>", "target cloud (default: $NOMOS_CLOUD or the public cloud)"],
|
|
8942
8958
|
["--target <name>", "ws status: pick among the project's named workspace targets"]
|
|
8943
8959
|
],
|
|
8944
|
-
examples: ["githolon ws
|
|
8960
|
+
examples: ["githolon ws status", "githolon ws retire my-guestbook"]
|
|
8945
8961
|
},
|
|
8946
8962
|
key: {
|
|
8947
8963
|
usage: "githolon key <enroll|show|import|export> [--principal <uid>] [--secret <key>] [--sha256] [--format hex|base64] [--parent <ws>] [--yes]",
|
|
@@ -8977,9 +8993,8 @@ var HELP = {
|
|
|
8977
8993
|
],
|
|
8978
8994
|
examples: [
|
|
8979
8995
|
`githolon gov root grantCreation --payload '{"principal":"d205ca94-\u2026"}' --as 32c7100e-\u2026 --stamp`,
|
|
8980
|
-
"githolon gov
|
|
8981
|
-
"githolon gov root
|
|
8982
|
-
"githolon gov relay root co2.offer.json"
|
|
8996
|
+
"githolon gov root setGovernancePosture --payload-file posture.json --as 32c7100e-\u2026 --save posture.offer.json",
|
|
8997
|
+
"githolon gov relay root posture.offer.json"
|
|
8983
8998
|
]
|
|
8984
8999
|
},
|
|
8985
9000
|
rebirth: {
|
|
@@ -9050,12 +9065,12 @@ var HELP = {
|
|
|
9050
9065
|
},
|
|
9051
9066
|
git: {
|
|
9052
9067
|
usage: "githolon git <setup | remote [<ws>] [<remoteName>]> [--cloud <url>] [--target <name>]",
|
|
9053
|
-
what: "
|
|
9068
|
+
what: "Operator transport plumbing for existing holons. `setup` installs the credential helper;\n`remote` wires a local repo to existing cloud custody. Application code does not use git to\ncreate business things; it calls the generated birth(businessFacts).",
|
|
9054
9069
|
examples: ["githolon git setup", "githolon git remote my-guestbook", "git push nomos refs/heads/session/dev"]
|
|
9055
9070
|
},
|
|
9056
9071
|
ledger: {
|
|
9057
9072
|
usage: "githolon ledger <init|verify> <dir> [--file <deploy.json>] [--cloud <url>]",
|
|
9058
|
-
what: "
|
|
9073
|
+
what: "Low-level local custody and verification for framework development. `init` writes compiled\nlaw into a git-backed holon; `verify` replays its full history. Application packages use the\ngenerated birth(businessFacts) surface instead.",
|
|
9059
9074
|
examples: ["githolon ledger init ./my-holon", "githolon ledger verify ./my-holon"]
|
|
9060
9075
|
}
|
|
9061
9076
|
};
|
|
@@ -9555,117 +9570,37 @@ async function status(wsArg, opts) {
|
|
|
9555
9570
|
// src/cli.ts
|
|
9556
9571
|
var KINDS = ["domain", "aggregate", "intent"];
|
|
9557
9572
|
var DEFAULT_OUT = "domains";
|
|
9558
|
-
var USAGE = `githolon \u2014
|
|
9559
|
-
|
|
9560
|
-
The inner loop:
|
|
9561
|
-
githolon dev watch \u2192 recompile \u2192 law LIVE in a local holon \u2192
|
|
9562
|
-
the generated proof's offline legs rerun \u2192 local
|
|
9563
|
-
reads served \u2014 sub-second, offline after warmup
|
|
9564
|
-
githolon status [<ws>] local law hash vs the DEPLOYED law, remedy named
|
|
9565
|
-
githolon replay <ws|dir> the ledger as film: step the chain intent-by-
|
|
9566
|
-
intent; finale = the verify_chain verdict
|
|
9567
|
-
githolon scene <ws|dir> [--out <dir>] the ledger as a PORTABLE USD scene: verify_chain-
|
|
9568
|
-
gated chain\u2192USD projection (.usda + .usdz, loads
|
|
9569
|
-
in three.js/usdview/QuickLook; timeCode = index)
|
|
9570
|
-
githolon decrypt <ws> --as <p> --secret <b64> clone + decrypt as a principal: unwrap their scope
|
|
9571
|
-
--query <id> [--param k=v] keys from the chain, read private fields in cleartext
|
|
9572
|
-
|
|
9573
|
-
Authoring:
|
|
9574
|
-
githolon check [config] [--json] [--against <p>] run the author-time gate (static twins) on
|
|
9575
|
-
./nomos.package.mjs \u2014 the unified report; exits
|
|
9576
|
-
non-zero on any REFUSE (compile runs it implicitly).
|
|
9577
|
-
--json emits the findings (with file:line) as an array
|
|
9578
|
-
githolon compat <ws-url|deploy.json|dir> [--json] THE CI GATE: compare the current build's interface
|
|
9579
|
-
against a target's installed law, PER MEMBER (#72
|
|
9580
|
-
subtyping); exits non-zero on any incompatible member
|
|
9581
|
-
githolon lsp the author-time gate as a stdio Language Server:
|
|
9582
|
-
red squiggles while you write law (VS Code/Neovim/\u2026)
|
|
9583
|
-
githolon mcp the author-time gate as a stdio MCP server for AI
|
|
9584
|
-
agents (Codex/Claude): tools nomos_check +
|
|
9585
|
-
nomos_evolve_preview. Setup: codex mcp add nomos -- githolon mcp
|
|
9586
|
-
githolon compile [compiler args] compile the package by ./nomos.package.mjs
|
|
9587
|
-
githolon init-editor write .vscode/extensions.json recommending the
|
|
9588
|
-
Nomos Law extension \u2014 the check gate as red
|
|
9589
|
-
squiggles while you type (idempotent)
|
|
9590
|
-
githolon proof [build/<name>.proof.mts] run the proof GENERATED from your law, live
|
|
9591
|
-
(every compile emits it; ALL GREEN or it names the jam)
|
|
9592
|
-
githolon harness-install --deploy <deploy.json[,...]> offline install for the headless TEST HARNESS:
|
|
9593
|
-
--workspace <ws> --out <snapshot> install tenant law IN-CHAIN (no cloud), write the
|
|
9594
|
-
restore snapshot, print { ok, snapshot, lawHashes }
|
|
9595
|
-
githolon generate <domain|aggregate|intent> <name> [options]
|
|
9596
|
-
githolon g <domain|aggregate|intent> <name> [options]
|
|
9573
|
+
var USAGE = `githolon \u2014 model a business; Nomos owns the compute science
|
|
9597
9574
|
|
|
9598
|
-
|
|
9599
|
-
githolon
|
|
9600
|
-
githolon
|
|
9601
|
-
githolon
|
|
9602
|
-
githolon
|
|
9603
|
-
deploy/gov/grant/key author as (--as overrides per-cmd)
|
|
9604
|
-
githolon logout clear the session (workspace secrets kept)
|
|
9605
|
-
githolon key enroll [--principal <uid>] [--parent <ws>] [--domain <d>] [--directive <id>] mint a signing device key + enroll it on-chain (the signing directive is DISCOVERED from the parent's installed law; the flags override)
|
|
9606
|
-
(secret stays local; warrants SIGNED governance)
|
|
9607
|
-
githolon key import --principal <uid> --secret <key> bring an EXISTING admin key into ~/.holon (accepts
|
|
9608
|
-
hex / base64 seed, or --sha256 <passphrase>)
|
|
9609
|
-
githolon key show | export [--principal <uid>] the device key's public identity (export --yes: secret)
|
|
9575
|
+
Start here:
|
|
9576
|
+
githolon compile compile aggregates, birth, directives, and reads into law + a typed client
|
|
9577
|
+
githolon proof run the generated business proof in the real local engine
|
|
9578
|
+
githolon dev watch, compile, and rerun that proof on every save
|
|
9579
|
+
githolon check explain anything the law can already prove it would refuse
|
|
9610
9580
|
|
|
9611
|
-
|
|
9612
|
-
|
|
9613
|
-
[--payload <json>] from installed law; --domain overrides) as a signed offer
|
|
9614
|
-
[--as <uid>] [--stamp] [--save <file>] to <ws> (--save signs without relaying; relay later)
|
|
9615
|
-
githolon gov relay <ws> <offer-file> relay a saved offer (the only step that hits the cloud)
|
|
9616
|
-
githolon gov rebirth <ws> --reason <text> LAWFUL SUPERSESSION (recovery verb 3): supersede a
|
|
9617
|
-
[--dry-run [--json]] [--yes] scarred chain; --dry-run = READ-ONLY impact report
|
|
9618
|
-
githolon rebirth plan <ws> [--reason <text>] [--out D] write a stable plan.json + impact.md (rebirths-as-code)
|
|
9619
|
-
githolon rebirth apply --plan <plan.json> drift-pinned apply of a reviewed plan \u2192 certificate.json
|
|
9620
|
-
--gcp-secret nomos-root-custodian-key [--yes] (apply needs the ROOT CUSTODIAN seed; --gcp-secret is blessed)
|
|
9621
|
-
githolon replay <ws> --repair execute the repair matching a red verify (\u2192 certificate)
|
|
9622
|
-
githolon grant <admin|creation> <principal> [--label L] grant authority at the parent (default root)
|
|
9623
|
-
githolon grant quota <principal> --max <N> grant a per-principal workspace allowance
|
|
9624
|
-
githolon revoke <admin|creation> <principal> revoke it (the revoked fact rides the chain)
|
|
9625
|
-
(all gated by the parent's law: only an admin's
|
|
9626
|
-
signature is admitted; --parent <p> targets a platform)
|
|
9581
|
+
The application surface is one idea:
|
|
9582
|
+
const thing = await app.birth(businessFacts)
|
|
9627
9583
|
|
|
9628
|
-
|
|
9629
|
-
|
|
9630
|
-
|
|
9631
|
-
(no identity on file? it self-onboards an agent login)
|
|
9632
|
-
githolon ws create <name> --via <parent> request it as a SIGNED createWorkspace governance
|
|
9633
|
-
offer at the parent
|
|
9634
|
-
githolon ws status [<name>] workspace status (lineage, phase, verdicts)
|
|
9635
|
-
githolon ws retire <name> [--parent <ws>] retire a workspace via a SIGNED governance offer;
|
|
9636
|
-
quota freed; data retained; reads keep serving
|
|
9637
|
-
githolon ws reclaim <name> [--parent <ws>] lawful custody discard via a SIGNED governance offer
|
|
9638
|
-
(only a retired workspace; never root)
|
|
9639
|
-
githolon deploy [<ws>] [--file <deploy.json>] deploy build/*.deploy.json \u2014 DEFAULT replace-current:
|
|
9640
|
-
[--keep-beside] [--retire-replaced] new law becomes active; prior install is superseded
|
|
9641
|
-
per domain key (prints what moved). --keep-beside
|
|
9642
|
-
installs beside; --retire-replaced marks retired
|
|
9643
|
-
githolon domains status <ws> per domain key: active law plus superseded/retired
|
|
9644
|
-
[--explain-current-interface] lineage (active = served now)
|
|
9645
|
-
githolon domains retire <ws> <hashOrKey> retire an install (marks it retired \u2014 replayable,
|
|
9646
|
-
[--with <hashOrKey>] no longer served) via a signed installDomain offer
|
|
9647
|
-
githolon dlq sweep <ws> [--depth <n>] [--full] sweep a platform subtree's dead-letter queues
|
|
9648
|
-
(registry-enumerated; exit 2 when jams exist)
|
|
9649
|
-
githolon secret set <ws> <push-password> store a git push password (authenticated git sync)
|
|
9650
|
-
githolon secret rotate <ws> RETIRED \u2014 host holds no ownership credential (410)
|
|
9584
|
+
A born aggregate is a holon: its law, facts, and history travel together. Nomos owns durable identity,
|
|
9585
|
+
authorship, local execution, validation, persistence, synchronisation, provenance, and recovery beneath
|
|
9586
|
+
that call. Those mechanisms are not separate application workflows.
|
|
9651
9587
|
|
|
9652
|
-
|
|
9653
|
-
githolon
|
|
9654
|
-
githolon
|
|
9655
|
-
|
|
9588
|
+
Useful authoring commands:
|
|
9589
|
+
githolon generate <domain|aggregate|intent> <name>
|
|
9590
|
+
githolon compat <target>
|
|
9591
|
+
githolon lsp
|
|
9592
|
+
githolon mcp
|
|
9593
|
+
githolon login --agent
|
|
9656
9594
|
|
|
9657
|
-
|
|
9658
|
-
|
|
9659
|
-
wasm gate the cloud runs, written as a git repo
|
|
9660
|
-
githolon ledger verify <dir> re-run the chain's self-verification from disk
|
|
9595
|
+
Operational and inspection commands remain available to maintain Nomos itself. Ask any command for its
|
|
9596
|
+
focused screen: githolon <command> --help (for example: status, replay, scene, deploy, domains, or gov).
|
|
9661
9597
|
|
|
9662
9598
|
Options:
|
|
9663
|
-
--cloud <url> target cloud
|
|
9664
|
-
--
|
|
9665
|
-
--
|
|
9666
|
-
--
|
|
9667
|
-
|
|
9668
|
-
-h, --help top level here; \`githolon <command> --help\` for that command's flags + examples
|
|
9599
|
+
--cloud <url> target cloud
|
|
9600
|
+
--out <dir> generate into a different directory (default: ${DEFAULT_OUT})
|
|
9601
|
+
--force overwrite generated source
|
|
9602
|
+
--dry-run print generated source without writing it
|
|
9603
|
+
-h, --help show this page; githolon <command> --help shows one focused command
|
|
9669
9604
|
`;
|
|
9670
9605
|
function cloudArgs(rest) {
|
|
9671
9606
|
const pos = [];
|
|
@@ -9839,7 +9774,7 @@ async function runProof(args) {
|
|
|
9839
9774
|
const tsxPkg = JSON.parse(readFileSync16(join17(tsxDir, "package.json"), "utf8"));
|
|
9840
9775
|
const tsxBinRel = typeof tsxPkg.bin === "string" ? tsxPkg.bin : tsxPkg.bin?.["tsx"];
|
|
9841
9776
|
const tsxCli = join17(tsxDir, tsxBinRel ?? "dist/cli.mjs");
|
|
9842
|
-
console.log("githolon proof --live \u2014 the
|
|
9777
|
+
console.log("githolon proof --live \u2014 the generated business proof against Nomos Cloud" + (keep ? " (--keep preserves its temporary custody)" : ""));
|
|
9843
9778
|
const { wsCreate: wsCreate2, wsRetire: wsRetire2 } = await Promise.resolve().then(() => (init_cloud(), cloud_exports));
|
|
9844
9779
|
const { resolveGovernancePrincipal: resolveGovernancePrincipal2 } = await Promise.resolve().then(() => (init_governance(), governance_exports));
|
|
9845
9780
|
const { login: login2, activePrincipal: activePrincipal2 } = await Promise.resolve().then(() => (init_cloud(), cloud_exports));
|
|
@@ -9859,11 +9794,7 @@ async function runProof(args) {
|
|
|
9859
9794
|
const cr = await wsCreate2(ws, { via: "root", principal });
|
|
9860
9795
|
if (cr !== 0) {
|
|
9861
9796
|
return refuse(
|
|
9862
|
-
`proof --live:
|
|
9863
|
-
remedies:
|
|
9864
|
-
\u2022 ask an operator: githolon grant creation ${principal} (then rerun)
|
|
9865
|
-
\u2022 or pre-create a REGISTERED workspace yourself and hand it over: NOMOS_WS=<ws> githolon proof --live
|
|
9866
|
-
\u2022 or develop offline (no cloud workspace at all): githolon proof`
|
|
9797
|
+
`proof --live: Nomos could not establish safe custody for birth as ${principal}. This is a framework failure: no manual grant, key, parent, or provisioning step is part of the application contract. The local business proof remains available with: githolon proof`
|
|
9867
9798
|
);
|
|
9868
9799
|
}
|
|
9869
9800
|
}
|
|
@@ -10176,6 +10107,12 @@ ${commandHelp("status")}`);
|
|
|
10176
10107
|
}
|
|
10177
10108
|
return status(pos[0], opts);
|
|
10178
10109
|
}
|
|
10110
|
+
if (argv[0] === "ws" && argv[1] === "create") {
|
|
10111
|
+
process.stderr.write(
|
|
10112
|
+
"error: `githolon ws create` is not an application birth API. Declare birth(Aggregate, spec) and call the generated app.birth(businessFacts); Nomos owns custody beneath it.\n"
|
|
10113
|
+
);
|
|
10114
|
+
return 1;
|
|
10115
|
+
}
|
|
10179
10116
|
if (argv[0] === "ws" || argv[0] === "deploy" || argv[0] === "secret") {
|
|
10180
10117
|
return runCloud(argv);
|
|
10181
10118
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "githolon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.100.0",
|
|
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.100.0",
|
|
33
|
+
"@githolon/dsl": "^0.100.0",
|
|
34
34
|
"isomorphic-git": "^1.38.4"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|