@senpi/runtime 3.0.73 → 3.0.75

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.
Files changed (56) hide show
  1. package/dist/deploy/package.d.ts +56 -0
  2. package/dist/deploy/package.d.ts.map +1 -1
  3. package/dist/deploy/package.js +71 -22
  4. package/dist/deploy/package.js.map +1 -1
  5. package/dist/deploy/proof-gate.d.ts +4 -0
  6. package/dist/deploy/proof-gate.d.ts.map +1 -1
  7. package/dist/deploy/proof-gate.js +4 -0
  8. package/dist/deploy/proof-gate.js.map +1 -1
  9. package/dist/dsl/events/handlers.d.ts +6 -4
  10. package/dist/dsl/events/handlers.d.ts.map +1 -1
  11. package/dist/dsl/events/handlers.js +29 -17
  12. package/dist/dsl/events/handlers.js.map +1 -1
  13. package/dist/dsl/events/initial-state.d.ts +21 -11
  14. package/dist/dsl/events/initial-state.d.ts.map +1 -1
  15. package/dist/dsl/events/initial-state.js +6 -0
  16. package/dist/dsl/events/initial-state.js.map +1 -1
  17. package/dist/dsl/notifications/formatter.d.ts.map +1 -1
  18. package/dist/dsl/notifications/formatter.js +13 -5
  19. package/dist/dsl/notifications/formatter.js.map +1 -1
  20. package/dist/dsl/notifications/index.d.ts.map +1 -1
  21. package/dist/dsl/notifications/index.js +5 -3
  22. package/dist/dsl/notifications/index.js.map +1 -1
  23. package/dist/dsl/notifications/stop-raise-debounce.d.ts +9 -8
  24. package/dist/dsl/notifications/stop-raise-debounce.d.ts.map +1 -1
  25. package/dist/dsl/notifications/stop-raise-debounce.js +41 -17
  26. package/dist/dsl/notifications/stop-raise-debounce.js.map +1 -1
  27. package/dist/runtime/runtime-schema.d.ts +100 -100
  28. package/dist/scanners/external/scaffold/preflight.py +39 -0
  29. package/dist/validate/codes.d.ts +8 -0
  30. package/dist/validate/codes.d.ts.map +1 -1
  31. package/dist/validate/codes.js +31 -1
  32. package/dist/validate/codes.js.map +1 -1
  33. package/dist/validate/live-stage.d.ts +8 -0
  34. package/dist/validate/live-stage.d.ts.map +1 -1
  35. package/dist/validate/live-stage.js +87 -18
  36. package/dist/validate/live-stage.js.map +1 -1
  37. package/dist/validate/package-gates-stage.d.ts +61 -0
  38. package/dist/validate/package-gates-stage.d.ts.map +1 -0
  39. package/dist/validate/package-gates-stage.js +215 -0
  40. package/dist/validate/package-gates-stage.js.map +1 -0
  41. package/dist/validate/run.d.ts +24 -1
  42. package/dist/validate/run.d.ts.map +1 -1
  43. package/dist/validate/run.js +50 -8
  44. package/dist/validate/run.js.map +1 -1
  45. package/dist/validate/taxonomy-finding.d.ts +22 -0
  46. package/dist/validate/taxonomy-finding.d.ts.map +1 -0
  47. package/dist/validate/taxonomy-finding.js +25 -0
  48. package/dist/validate/taxonomy-finding.js.map +1 -0
  49. package/dist/validate/universe-stage.d.ts.map +1 -1
  50. package/dist/validate/universe-stage.js +2 -20
  51. package/dist/validate/universe-stage.js.map +1 -1
  52. package/dist/validate/wallet-binding-stage.d.ts.map +1 -1
  53. package/dist/validate/wallet-binding-stage.js +2 -13
  54. package/dist/validate/wallet-binding-stage.js.map +1 -1
  55. package/openclaw.plugin.json +1 -1
  56. package/package.json +1 -1
@@ -0,0 +1,215 @@
1
+ /**
2
+ * The package-derivable gates `senpi deploy` refuses on, asked at validate's STATIC depth.
3
+ *
4
+ * Deploy's pre-money block decides four things from the package's own bytes: an instance with no
5
+ * DSL exit, a scanner declaring an unsupported `enabled` key, a mixed-case package id, and two
6
+ * instances sharing one recipe directory. None of them can change between a validation and a
7
+ * deploy — unlike the universe check, whose TOCTOU justification is spelled out in `proof-gate.ts`
8
+ * — so validate reporting green on bytes deploy rejects is not a race, it is a divergence. The
9
+ * author would first learn about a package-derivable fault from the money path, which is what
10
+ * `senpi validate` exists to prevent (`wallet-binding-stage.ts` made this move first, for the
11
+ * binding gate; this is the rest of the set).
12
+ *
13
+ * Each refusal these mirror also tells its reader to run `openclaw senpi validate` — so without
14
+ * this module, following a deploy refusal's own instruction returns PASS and disproves the refusal
15
+ * that emitted it.
16
+ *
17
+ * ## Why STATIC depth
18
+ *
19
+ * Every check here reads the package's own bytes and nothing else: no exchange, no gateway, no
20
+ * credentials. That puts them at the shallowest depth, where `depthsUpTo` runs them at every depth
21
+ * above — so an offline CI run with no MCP server reachable still catches them. None of them halts
22
+ * the deeper stages (`NON_HALTING_CODES` in `run.ts`): a package that cannot be funded is still a
23
+ * package whose scanner an author is entitled to import and tick.
24
+ *
25
+ * ## Two checks read the config, two read the package
26
+ *
27
+ * The DSL-exit and scanner-`enabled` faults live in the recipe, so they are asked of the config
28
+ * `collectRecipeFindings` has already parsed. That covers a recipe with no manifest around it yet
29
+ * — the mid-authoring case deploy cannot see at all — and it means neither check can throw on a
30
+ * recipe that does not parse: `config` is `undefined` there, and the YAML-syntax gate already owns
31
+ * that fault and words it properly. The id-case and directory-collision faults live in the
32
+ * manifest, so they need `target.pkg` and are silent without one.
33
+ *
34
+ * ## Scoped to the recipe being validated
35
+ *
36
+ * `target.ts` resolves a package ROOT to a refusal ("pick an instance"), so every run that reaches
37
+ * here is about exactly one recipe. Reporting a sibling instance's fault would be telling the
38
+ * author to edit a file this command did not look at — the rule `wallet-binding-stage.ts` states.
39
+ * The id-case check is the deliberate exception: the id belongs to the package, so it is this
40
+ * recipe's problem too, and its fix is one edit in a file the author already has open.
41
+ *
42
+ * ## An unreadable manifest is silent here, deliberately
43
+ *
44
+ * Same call `wallet-binding-stage.ts` makes, for the same reason. When `target.packageUnreadable`
45
+ * is set, `target.pkg` is absent and the two package-level checks go quiet — but that is not
46
+ * failing open: `target.ts` raises `E_VALIDATE_UNREADABLE_MANIFEST` at the package root, the
47
+ * universe check reports the same unreadable file below it, and no reading of a manifest nobody
48
+ * can read could clear a package for funding. A third voice on one fault is noise.
49
+ */
50
+ import { dirname, isAbsolute, join, relative } from "node:path";
51
+ import { hasDslExitBlock, lowercasePackageIdFix, nonLowercasePackageId, renderScannerEnabledLine, scannerEnabledEntries, } from "../deploy/package.js";
52
+ import { collidingInstanceDirs } from "../deploy/proof-gate.js";
53
+ import { VALIDATE_CODE } from "./codes.js";
54
+ import { taxonomyFinding } from "./taxonomy-finding.js";
55
+ /**
56
+ * Package-relative where it sits underneath, absolute only where it genuinely sits outside.
57
+ *
58
+ * `wallet-binding-stage.ts` renders the same way, but with one difference that matters here: there,
59
+ * the target is a recipe FILE and can never equal the package directory, so its `rel === ""` branch
60
+ * is unreachable. Here the collision check passes a DIRECTORY, and on a flat package that directory
61
+ * IS the package root — the canonical collision this gate exists for. Falling through to `absolute`
62
+ * would print a machine-local `/var/folders/…` path into a finding whose sibling lines are all
63
+ * package-relative.
64
+ */
65
+ function asPath(base, absolute) {
66
+ const rel = relative(base, absolute);
67
+ if (rel === "")
68
+ return ".";
69
+ return rel.startsWith("..") || isAbsolute(rel) ? absolute : rel;
70
+ }
71
+ /**
72
+ * The checks, as findings.
73
+ *
74
+ * `config` is `undefined` when the recipe did not parse or failed the schema; both faults are
75
+ * already reported by the recipe checks, and every question below would be asked of a shape that
76
+ * was never established.
77
+ */
78
+ export function packageGateFindings(target, config) {
79
+ const findings = [];
80
+ const base = target.pkg?.dir ?? target.baseDir ?? "";
81
+ if (config !== undefined) {
82
+ if (!hasDslExitBlock(config))
83
+ findings.push(noDslExitFinding(target, base, config));
84
+ for (const entry of scannerEnabledEntries(config)) {
85
+ findings.push(scannerEnabledFinding(entry, target, base));
86
+ }
87
+ }
88
+ // The one check here that is about the PACKAGE rather than this recipe. It is still this recipe's
89
+ // problem — every wallet the package funds carries the mis-cased stamp — and its fix is one edit
90
+ // in a file the author already has open, so the rule against reporting a sibling's fault does not
91
+ // reach it.
92
+ const pkg = target.pkg;
93
+ if (pkg !== undefined && nonLowercasePackageId(pkg) !== null) {
94
+ findings.push(packageIdCaseFinding(pkg, base));
95
+ }
96
+ // Only the collision this recipe is IN. Two siblings sharing some other directory is a real fault
97
+ // that this run did not look at, and sending an author to fix it here would be reporting on files
98
+ // outside the target.
99
+ if (pkg !== undefined && target.recipePath !== undefined) {
100
+ const dir = dirname(target.recipePath);
101
+ const collision = collidingInstanceDirs(pkg).find((c) => c.dir === dir);
102
+ if (collision !== undefined)
103
+ findings.push(instanceDirCollisionFinding(collision, pkg, base));
104
+ }
105
+ return findings;
106
+ }
107
+ /**
108
+ * Two states, two instructions — because the obvious single wording emits a duplicate YAML key.
109
+ *
110
+ * The predicate is "no DSL exit", not "no `exit:`". A recipe carrying `exit: { engine: sm_flip }`
111
+ * trips this gate with an `exit:` block plainly in the file, and "add an `exit:` block" would have
112
+ * an agent append a second top-level `exit:` — which YAML resolves as a duplicate key, not an
113
+ * override. This module's own test suite already records that hazard about a fixture; a refusal is
114
+ * not allowed to walk into it. The state is knowable from the config in hand, so it is read rather
115
+ * than assumed.
116
+ */
117
+ function noDslExitFinding(target, base, config) {
118
+ const file = target.recipePath === undefined ? "this recipe" : asPath(base, target.recipePath);
119
+ const exit = config.exit;
120
+ const hasExitBlock = exit !== null && typeof exit === "object" && !Array.isArray(exit);
121
+ return taxonomyFinding(VALIDATE_CODE.noDslExit, {
122
+ where: { file, yaml_path: "exit" },
123
+ what: hasExitBlock
124
+ ? "This recipe's `exit:` block names no DSL engine and no preset (`exit.dsl_preset`, or `exit.engine: dsl`)"
125
+ : "This recipe declares no `exit:` block at all",
126
+ why: "Every position it opens would run with nothing to close it: no fixed floor from " +
127
+ "`max_loss_pct`, no trailing floor, and no time-based cut. The strategy trades, reports " +
128
+ "healthy, and rides a position all the way back down. `senpi deploy` refuses to fund a " +
129
+ "package in this state before any money moves, and the skills-side `_pkg.validate` refuses " +
130
+ "to deploy one — this is that same rule, where the fix is still free.",
131
+ fix: (hasExitBlock
132
+ ? `Inside the \`exit:\` block already in ${file}, either add a \`dsl_preset:\` map or set ` +
133
+ "`engine: dsl` to run the engine on its defaults. Edit that block — a second top-level " +
134
+ "`exit:` is a duplicate key, not an override."
135
+ : `Add an \`exit:\` block to ${file} — either \`exit.dsl_preset\` with a preset map, or ` +
136
+ "`exit.engine: dsl` to run the engine on its defaults.") +
137
+ " `openclaw senpi guide dsl` prints the preset fields and a known-good starting point.",
138
+ });
139
+ }
140
+ /**
141
+ * One finding per offending entry, not one per package.
142
+ *
143
+ * `where.yaml_path` points at the exact entry, which is the validate idiom — `duplicateFindings`
144
+ * emits one per duplicate for the same reason. Deploy's single all-offenses refusal is the money
145
+ * path's idiom: it fires once, so it has to carry the whole package's work in one read.
146
+ */
147
+ function scannerEnabledFinding(entry, target, base) {
148
+ const file = target.recipePath === undefined ? "this recipe" : asPath(base, target.recipePath);
149
+ return taxonomyFinding(VALIDATE_CODE.scannerEnabled, {
150
+ where: { file, yaml_path: `scanners.${entry.index}.enabled` },
151
+ what: `Scanner "${entry.scanner}" declares an \`enabled\` key, which the runtime never reads`,
152
+ why: "The engine derives a scanner's enabled state from the strategy's registration, not from the " +
153
+ "scanner entry: the scanner schema passes `enabled` through untyped and nothing forwards it. " +
154
+ "A scanner written `enabled: false` therefore registers ENABLED and ticks — the package " +
155
+ "would trade while its author believes it is switched off. Every value is reported, not just " +
156
+ "`false`: a `true` is just as unread, and accepting it would teach the next reader that the " +
157
+ "key works.",
158
+ fix: `Delete the line \`${renderScannerEnabledLine(entry.value)}\` from ${file}. To stop a ` +
159
+ "scanner running, remove its entry from `scanners:` entirely; to switch one off after " +
160
+ "install, use the runtime API (`disableScanner`). `senpi deploy` reads the same key and " +
161
+ "refuses to fund the package for the same reason.",
162
+ evidence: { scanner: entry.scanner, value: entry.value, file },
163
+ });
164
+ }
165
+ function packageIdCaseFinding(pkg, base) {
166
+ const fix = lowercasePackageIdFix(pkg.id, pkg.dir);
167
+ return taxonomyFinding(VALIDATE_CODE.packageIdCase, {
168
+ where: { file: asPath(base, join(pkg.dir, "strategy.yaml")), yaml_path: "id" },
169
+ what: `This package's strategy.yaml declares \`id: ${pkg.id}\`, which is not lowercase`,
170
+ why: "`senpi deploy` writes the id into each wallet's `skillName` attribution stamp VERBATIM at " +
171
+ "create, and the backend stores what it is given case-normalized — so a mixed-case id is " +
172
+ "stamped under one spelling and looked up under another. That is how `close.py` came to " +
173
+ 'print "no OPEN strategies to close." over a live, funded, trading wallet.',
174
+ // The instruction comes from the shared producer, which emits the directory rename only when
175
+ // the directory IS this id in another case — lowercasing the id alone would otherwise trade
176
+ // this finding for an `id != package dir` refusal from the skills validator.
177
+ fix: `Lowercase it — ${fix.instruction}. \`senpi deploy\` refuses the same package for the same ` +
178
+ "reason, before any wallet exists to carry the wrong stamp.",
179
+ evidence: { id: pkg.id, expected: pkg.id.toLowerCase(), package_dir: pkg.dir },
180
+ });
181
+ }
182
+ /**
183
+ * The collision as an END STATE, with no command.
184
+ *
185
+ * `buildInstanceDirCollisionRefusal` establishes why, and the reasoning holds here: the directories
186
+ * the fix describes do not exist yet, so any `openclaw senpi validate` path printed would be one
187
+ * the reader cannot run — and a bare `mv` of a recipe re-points its relative `scanners[].path` at a
188
+ * directory that is not there. Name what has to become true; emit no command whose preconditions
189
+ * this check cannot verify.
190
+ */
191
+ function instanceDirCollisionFinding(collision, pkg, base) {
192
+ const names = collision.instances.map((inst) => inst.name);
193
+ const rows = collision.instances
194
+ .map((inst) => ` - "${inst.name}" → ${asPath(base, inst.runtimeYamlPath)}`)
195
+ .join("\n");
196
+ return taxonomyFinding(VALIDATE_CODE.instanceDirCollision, {
197
+ where: { file: asPath(base, collision.dir) },
198
+ what: `${names.length} instances keep their recipe in one directory ` +
199
+ `(${asPath(base, collision.dir)}):\n${rows}`,
200
+ why: "A proof lives BESIDE the recipe it is a claim about — one `.senpi-proof.json` per " +
201
+ "directory, naming the one recipe it was recorded for. Two recipes in one directory share a " +
202
+ "single proof file, and whichever validation ran last is the only one it describes. " +
203
+ "`senpi deploy` refuses the package rather than read that as evidence for both: the " +
204
+ "unproven recipe would ride its sibling's pass into funding.",
205
+ fix: "Each instance needs its own directory holding its own recipe, with its `runtime:` in " +
206
+ `${asPath(base, join(pkg.dir, "strategy.yaml"))} pointing there. Moving a recipe is not ` +
207
+ "enough on its own: a relative `scanners[].path` resolves against the directory the RECIPE " +
208
+ "is in, so a recipe that moves alone re-points every one of them at a directory that does " +
209
+ "not exist. Whether the tree it names moves with the recipe, is copied, or is referenced " +
210
+ "from both is a decision about this package — these instances share a directory today, so " +
211
+ "they may be sharing what is in it.",
212
+ evidence: { dir: asPath(base, collision.dir), instances: names },
213
+ });
214
+ }
215
+ //# sourceMappingURL=package-gates-stage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-gates-stage.js","sourceRoot":"","sources":["../../src/validate/package-gates-stage.ts"],"names":[],"mappings":"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"}
@@ -61,11 +61,34 @@ export interface ValidateResult {
61
61
  proof_recorded?: boolean;
62
62
  }
63
63
  export declare function isImplemented(depth: Depth): boolean;
64
+ /**
65
+ * Static findings that do NOT stop the depths below them.
66
+ *
67
+ * The depth loop halts on error-severity findings because *"the next reads a shape this one could
68
+ * not establish"* — true of a recipe that will not parse or will not satisfy the schema, since
69
+ * every deeper stage starts from a parsed config. It is not true of every error: a package-level
70
+ * fault like a mixed-case id, or a recipe that ships no exit block, leaves the code just as
71
+ * importable and just as tickable as it was.
72
+ *
73
+ * That distinction is load-bearing for the authoring loop rather than cosmetic. `--stage import` is
74
+ * the taught write-time tool (`senpi-strategy-author/SKILL.md`: "Use it while you write, not only
75
+ * at the end"), and the interview it drives settles the exit block LAST — so a static error that
76
+ * halts on a half-written recipe takes the fast-feedback path away exactly when it is being used.
77
+ *
78
+ * A closed list rather than a severity sweep or a stage test, for the reason `install-gate.ts`
79
+ * keeps one: a rule that widens silently as checks are added is one that will one day let
80
+ * something through that nobody decided to let through. Adding a code here is a claim that the
81
+ * import and live stages can still say something true while this fault stands.
82
+ */
83
+ export declare const NON_HALTING_CODES: ReadonlySet<string>;
84
+ /** True when at least one finding invalidates the depths after this one. */
85
+ export declare function haltsDeeperStages(findings: readonly Finding[]): boolean;
64
86
  /**
65
87
  * Validate, and report what it means.
66
88
  *
67
89
  * Stages short-circuit: a depth that produced an error stops the ones after it, because they would
68
- * be reading a shape that was never established.
90
+ * be reading a shape that was never established — for the errors where that is actually so. See
91
+ * {@link NON_HALTING_CODES}.
69
92
  */
70
93
  export declare function runValidation(options: ValidateOptions): Promise<ValidateResult>;
71
94
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/validate/run.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAU1E,OAAO,EAAkC,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEtF,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEnD,qGAAqG;AACrG,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAErC,uGAAuG;AACvG,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;IACb,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,aAAa,EAAE,YAAY,CAAC;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,oFAAoF;IACpF,cAAc,EAAE,OAAO,CAAC;IACxB,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAwDD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAOrF;AA8SD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAuB7E;AAiGD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC7C,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,EAAE,CAQjF"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/validate/run.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { existsSync } from "node:fs";
9
9
  import { dirname, relative, resolve } from "node:path";
10
10
  import { VALIDATE_CODE } from "./codes.js";
11
11
  import { universeFindings } from "./universe-stage.js";
12
+ import { packageGateFindings } from "./package-gates-stage.js";
12
13
  import { walletBindingFindings } from "./wallet-binding-stage.js";
13
14
  import { checkScanner, resolveRoot } from "./import-stage.js";
14
15
  import { judgeTick, productionBudgetSeconds, runTick } from "./live-stage.js";
@@ -69,11 +70,48 @@ const IMPLEMENTED = ["static", "import", "live"];
69
70
  export function isImplemented(depth) {
70
71
  return IMPLEMENTED.includes(depth);
71
72
  }
73
+ /**
74
+ * Static findings that do NOT stop the depths below them.
75
+ *
76
+ * The depth loop halts on error-severity findings because *"the next reads a shape this one could
77
+ * not establish"* — true of a recipe that will not parse or will not satisfy the schema, since
78
+ * every deeper stage starts from a parsed config. It is not true of every error: a package-level
79
+ * fault like a mixed-case id, or a recipe that ships no exit block, leaves the code just as
80
+ * importable and just as tickable as it was.
81
+ *
82
+ * That distinction is load-bearing for the authoring loop rather than cosmetic. `--stage import` is
83
+ * the taught write-time tool (`senpi-strategy-author/SKILL.md`: "Use it while you write, not only
84
+ * at the end"), and the interview it drives settles the exit block LAST — so a static error that
85
+ * halts on a half-written recipe takes the fast-feedback path away exactly when it is being used.
86
+ *
87
+ * A closed list rather than a severity sweep or a stage test, for the reason `install-gate.ts`
88
+ * keeps one: a rule that widens silently as checks are added is one that will one day let
89
+ * something through that nobody decided to let through. Adding a code here is a claim that the
90
+ * import and live stages can still say something true while this fault stands.
91
+ */
92
+ export const NON_HALTING_CODES = new Set([
93
+ // A recipe with no exit block imports and ticks exactly as it would with one. The fault is about
94
+ // what happens to a POSITION, and no deeper stage opens one.
95
+ VALIDATE_CODE.noDslExit,
96
+ // An unread key changes nothing about whether the scanner imports or ticks — and the import
97
+ // stage is where an author finds out their scanner is broken.
98
+ VALIDATE_CODE.scannerEnabled,
99
+ // The id lives in the manifest, and the deeper stages never read it.
100
+ VALIDATE_CODE.packageIdCase,
101
+ // A shared directory is about which proof file speaks for which recipe. Neither the import stage
102
+ // nor the live stage reads a proof.
103
+ VALIDATE_CODE.instanceDirCollision,
104
+ ]);
105
+ /** True when at least one finding invalidates the depths after this one. */
106
+ export function haltsDeeperStages(findings) {
107
+ return findings.some((f) => f.severity === "error" && !NON_HALTING_CODES.has(f.code));
108
+ }
72
109
  /**
73
110
  * Validate, and report what it means.
74
111
  *
75
112
  * Stages short-circuit: a depth that produced an error stops the ones after it, because they would
76
- * be reading a shape that was never established.
113
+ * be reading a shape that was never established — for the errors where that is actually so. See
114
+ * {@link NON_HALTING_CODES}.
77
115
  */
78
116
  export async function runValidation(options) {
79
117
  const startedAt = Date.now();
@@ -132,8 +170,8 @@ async function runValidationInner(options) {
132
170
  stagesRun.push(depth);
133
171
  findings.push(...produced.findings);
134
172
  // A depth that failed invalidates everything after it: the next reads a shape this one could
135
- // not establish.
136
- if (produced.findings.some((f) => f.severity === "error"))
173
+ // not establish — but only for the findings that actually do. See `NON_HALTING_CODES`.
174
+ if (haltsDeeperStages(produced.findings))
137
175
  break;
138
176
  }
139
177
  const result = assemble(target, stagesRun, findings, options, wallet, liveExecuted);
@@ -318,11 +356,15 @@ prior) {
318
356
  content: target.recipeContent,
319
357
  baseDir: target.baseDir,
320
358
  });
321
- // Package-derivable and needs no I/O, so it belongs at the shallowest depth — which `depthsUpTo`
322
- // then runs at every depth above. Deploy's copy of this gate is pre-money; without one here the
323
- // author first learns about it from the money path, which is the divergence `senpi validate`
324
- // exists to prevent.
325
- const findings = [...result.findings, ...walletBindingFindings(target)];
359
+ // Package-derivable and needs no I/O, so these belong at the shallowest depth — which
360
+ // `depthsUpTo` then runs at every depth above. Deploy's copies of these gates are pre-money;
361
+ // without one here the author first learns about them from the money path, which is the
362
+ // divergence `senpi validate` exists to prevent.
363
+ const findings = [
364
+ ...result.findings,
365
+ ...walletBindingFindings(target),
366
+ ...packageGateFindings(target, result.config),
367
+ ];
326
368
  // `--scanner` can only be checked once the recipe names its scanners.
327
369
  if (options.scanner !== undefined && result.config !== undefined) {
328
370
  const declared = (result.config.scanners ?? []).map((s) => s.name);
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/validate/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/validate/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * A finding whose class comes from the taxonomy rather than from the call site.
3
+ *
4
+ * `severity`, `stage`, `actor` and `fix_kind` are all read from the table — the same rule
5
+ * `target.ts` follows and for the same reason: a `fix_kind` disagreeing with the table is a finding
6
+ * that routes wrong, and nothing in the suite compares a finding's metadata against the table, so a
7
+ * hand-written copy drifts silently. Here the values are stated once, in `codes.ts`.
8
+ *
9
+ * Extracted from `universe-stage.ts` and `wallet-binding-stage.ts`, which held byte-identical
10
+ * copies of it. A helper whose whole purpose is "do not hand-copy the metadata" should not itself
11
+ * be hand-copied into every new stage.
12
+ */
13
+ import { type ValidateCode } from "./codes.js";
14
+ import type { Finding } from "./types.js";
15
+ export declare function taxonomyFinding(code: ValidateCode, parts: {
16
+ what: string;
17
+ why: string;
18
+ fix: string;
19
+ where?: Finding["where"];
20
+ evidence?: Record<string, unknown>;
21
+ }): Finding;
22
+ //# sourceMappingURL=taxonomy-finding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taxonomy-finding.d.ts","sourceRoot":"","sources":["../../src/validate/taxonomy-finding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE;IACL,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GACA,OAAO,CAUT"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * A finding whose class comes from the taxonomy rather than from the call site.
3
+ *
4
+ * `severity`, `stage`, `actor` and `fix_kind` are all read from the table — the same rule
5
+ * `target.ts` follows and for the same reason: a `fix_kind` disagreeing with the table is a finding
6
+ * that routes wrong, and nothing in the suite compares a finding's metadata against the table, so a
7
+ * hand-written copy drifts silently. Here the values are stated once, in `codes.ts`.
8
+ *
9
+ * Extracted from `universe-stage.ts` and `wallet-binding-stage.ts`, which held byte-identical
10
+ * copies of it. A helper whose whole purpose is "do not hand-copy the metadata" should not itself
11
+ * be hand-copied into every new stage.
12
+ */
13
+ import { VALIDATE_CODE_META, severityOf } from "./codes.js";
14
+ export function taxonomyFinding(code, parts) {
15
+ const meta = VALIDATE_CODE_META[code];
16
+ return {
17
+ code,
18
+ severity: severityOf(code),
19
+ stage: meta.stage,
20
+ actor: meta.actor,
21
+ fix_kind: meta.fix_kind,
22
+ ...parts,
23
+ };
24
+ }
25
+ //# sourceMappingURL=taxonomy-finding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taxonomy-finding.js","sourceRoot":"","sources":["../../src/validate/taxonomy-finding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAqB,MAAM,YAAY,CAAC;AAG/E,MAAM,UAAU,eAAe,CAC7B,IAAkB,EAClB,KAMC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,KAAK;KACT,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"universe-stage.d.ts","sourceRoot":"","sources":["../../src/validate/universe-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAKH,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE7C,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;CACb;AAyBD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,OAAO,EAAE,CAAC,CAiDpB"}
1
+ {"version":3,"file":"universe-stage.d.ts","sourceRoot":"","sources":["../../src/validate/universe-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAKH,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE7C,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,OAAO,EAAE,CAAC,CAiDpB"}
@@ -47,26 +47,8 @@
47
47
  import { isAbsolute, join, relative } from "node:path";
48
48
  import { errorText } from "../deploy/error-text.js";
49
49
  import { checkPackageUniverse, checkedTickerForms, } from "../universe/package-universe.js";
50
- import { VALIDATE_CODE, VALIDATE_CODE_META, severityOf } from "./codes.js";
51
- /**
52
- * A finding whose class comes from the taxonomy rather than from this call site.
53
- *
54
- * `severity`, `stage`, `actor` and `fix_kind` are all read from the table — the same rule
55
- * `target.ts` follows and for the same reason: a `fix_kind` disagreeing with the table is a finding
56
- * that routes wrong, and nothing in the suite compares a finding's metadata against the table, so a
57
- * hand-written copy drifts silently. Here the values are stated once, in `codes.ts`.
58
- */
59
- function taxonomyFinding(code, parts) {
60
- const meta = VALIDATE_CODE_META[code];
61
- return {
62
- code,
63
- severity: severityOf(code),
64
- stage: meta.stage,
65
- actor: meta.actor,
66
- fix_kind: meta.fix_kind,
67
- ...parts,
68
- };
69
- }
50
+ import { VALIDATE_CODE } from "./codes.js";
51
+ import { taxonomyFinding } from "./taxonomy-finding.js";
70
52
  /**
71
53
  * The check, as findings. Called from the live depth; never from static or import.
72
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"universe-stage.js","sourceRoot":"","sources":["../../src/validate/universe-stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"universe-stage.js","sourceRoot":"","sources":["../../src/validate/universe-stage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-binding-stage.d.ts","sourceRoot":"","sources":["../../src/validate/wallet-binding-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAkB1C;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,EAAE,CAgBvE"}
1
+ {"version":3,"file":"wallet-binding-stage.d.ts","sourceRoot":"","sources":["../../src/validate/wallet-binding-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,EAAE,CAgBvE"}
@@ -32,19 +32,8 @@
32
32
  */
33
33
  import { isAbsolute, relative } from "node:path";
34
34
  import { unboundWalletInstances } from "../deploy/package.js";
35
- import { VALIDATE_CODE, VALIDATE_CODE_META, severityOf } from "./codes.js";
36
- /** Metadata from the taxonomy, never hand-copied — see `universe-stage.ts` for why. */
37
- function taxonomyFinding(code, parts) {
38
- const meta = VALIDATE_CODE_META[code];
39
- return {
40
- code,
41
- severity: severityOf(code),
42
- stage: meta.stage,
43
- actor: meta.actor,
44
- fix_kind: meta.fix_kind,
45
- ...parts,
46
- };
47
- }
35
+ import { VALIDATE_CODE } from "./codes.js";
36
+ import { taxonomyFinding } from "./taxonomy-finding.js";
48
37
  /**
49
38
  * The check, as findings.
50
39
  *
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-binding-stage.js","sourceRoot":"","sources":["../../src/validate/wallet-binding-stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-binding-stage.js","sourceRoot":"","sources":["../../src/validate/wallet-binding-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAA+C,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IAC1D,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,8FAA8F;QAC9F,qEAAqE;QACrE,gGAAgG;QAChG,2FAA2F;QAC3F,2EAA2E;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,KAAK,MAAM,CAAC,UAAU,CACxE,CAAC;IACF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB,EAAE,GAAkB;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7D,MAAM,KAAK,GACT,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC1B,CAAC,CAAC,sCAAsC;QACxC,CAAC,CAAC,4BAA4B,KAAK,CAAC,QAAQ,IAAI,CAAC;IACrD,OAAO,eAAe,CAAC,aAAa,CAAC,aAAa,EAAE;QAClD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE;QAC7C,IAAI,EACF,eAAe,KAAK,8CAA8C,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK;YAC/F,iBAAiB,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG;QACzC,GAAG,EACD,+FAA+F;YAC/F,KAAK,KAAK,CAAC,QAAQ,0EAA0E;YAC7F,2FAA2F;YAC3F,4FAA4F;YAC5F,8FAA8F;YAC9F,iDAAiD;QACnD,GAAG,EACD,8BAA8B,IAAI,UAAU,KAAK,CAAC,QAAQ,qCAAqC;YAC/F,2FAA2F;YAC3F,4EAA4E;QAC9E,QAAQ,EAAE;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;YAC7B,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;YACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI;SACL;KACF,CAAC,CAAC;AACL,CAAC;AAED,sGAAsG;AACtG,SAAS,MAAM,CAAC,IAAY,EAAE,QAAgB;IAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrC,OAAO,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AAChF,CAAC"}
@@ -2,7 +2,7 @@
2
2
  "id": "runtime",
3
3
  "name": "Senpi Runtime",
4
4
  "description": "Senpi runtime plugin for OpenClaw. Orchestrates scanners, LLM-based trade decisions, and a DSL trailing stop-loss exit engine.",
5
- "version": "3.0.73",
5
+ "version": "3.0.75",
6
6
  "commandAliases": [
7
7
  {
8
8
  "name": "senpi"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@senpi/runtime",
3
- "version": "3.0.73",
3
+ "version": "3.0.75",
4
4
  "description": "Senpi runtime plugin for OpenClaw",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",