@oneharness/sdk 0.12.0 → 0.12.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.
@@ -324,13 +324,16 @@ export interface FallbackReport {
324
324
  * [`RunResult::work`] read [`RunWork::None`] on a failure no classifier
325
325
  * recognized.
326
326
  *
327
- * The chain still stops there, deliberately: re-running a task that may
328
- * genuinely have failed for free would burn the next identity's quota on
329
- * the same failure, which is worse than stopping (see
327
+ * The chain still stops there, deliberately — decided, not inherited:
328
+ * empty accounting is the absence of work evidence, not proof nothing was
329
+ * spent, so handing the candidate on could bill a task twice (the decision
330
+ * and its reasoning are stated once, at
330
331
  * [`crate::domain::fallback::startup_failure_reason`]). What this flag adds
331
332
  * is the *attribution* — without it a candidate that never got started reads
332
333
  * in the report exactly like one that tried the task and failed it, and the
333
- * remaining candidates look untried for a reason nobody can name.
334
+ * remaining candidates look untried for a reason nobody can name — and the
335
+ * failure summary carries the candidate's own words beside it, so the
336
+ * reader left holding that one line can act on the cause.
334
337
  *
335
338
  * `false` whenever `ran` is `null` (no candidate ran at all — every one is
336
339
  * in `fell_through`, each with its reason).
@@ -398,13 +398,16 @@ export interface FallbackReport {
398
398
  * [`RunResult::work`] read [`RunWork::None`] on a failure no classifier
399
399
  * recognized.
400
400
  *
401
- * The chain still stops there, deliberately: re-running a task that may
402
- * genuinely have failed for free would burn the next identity's quota on
403
- * the same failure, which is worse than stopping (see
401
+ * The chain still stops there, deliberately — decided, not inherited:
402
+ * empty accounting is the absence of work evidence, not proof nothing was
403
+ * spent, so handing the candidate on could bill a task twice (the decision
404
+ * and its reasoning are stated once, at
404
405
  * [`crate::domain::fallback::startup_failure_reason`]). What this flag adds
405
406
  * is the *attribution* — without it a candidate that never got started reads
406
407
  * in the report exactly like one that tried the task and failed it, and the
407
- * remaining candidates look untried for a reason nobody can name.
408
+ * remaining candidates look untried for a reason nobody can name — and the
409
+ * failure summary carries the candidate's own words beside it, so the
410
+ * reader left holding that one line can act on the cause.
408
411
  *
409
412
  * `false` whenever `ran` is `null` (no candidate ran at all — every one is
410
413
  * in `fell_through`, each with its reason).
@@ -1945,7 +1945,7 @@
1945
1945
  ]
1946
1946
  },
1947
1947
  "stopped_without_work": {
1948
- "description": "Whether the candidate named by `ran` stopped the chain **having shown no\nevidence it did the task's work, and with nothing to say why** — its\n[`RunResult::work`] read [`RunWork::None`] on a failure no classifier\nrecognized.\n\nThe chain still stops there, deliberately: re-running a task that may\ngenuinely have failed for free would burn the next identity's quota on\nthe same failure, which is worse than stopping (see\n[`crate::domain::fallback::startup_failure_reason`]). What this flag adds\nis the *attribution* — without it a candidate that never got started reads\nin the report exactly like one that tried the task and failed it, and the\nremaining candidates look untried for a reason nobody can name.\n\n`false` whenever `ran` is `null` (no candidate ran at all — every one is\nin `fell_through`, each with its reason).",
1948
+ "description": "Whether the candidate named by `ran` stopped the chain **having shown no\nevidence it did the task's work, and with nothing to say why** — its\n[`RunResult::work`] read [`RunWork::None`] on a failure no classifier\nrecognized.\n\nThe chain still stops there, deliberately — decided, not inherited:\nempty accounting is the absence of work evidence, not proof nothing was\nspent, so handing the candidate on could bill a task twice (the decision\nand its reasoning are stated once, at\n[`crate::domain::fallback::startup_failure_reason`]). What this flag adds\nis the *attribution* — without it a candidate that never got started reads\nin the report exactly like one that tried the task and failed it, and the\nremaining candidates look untried for a reason nobody can name — and the\nfailure summary carries the candidate's own words beside it, so the\nreader left holding that one line can act on the cause.\n\n`false` whenever `ran` is `null` (no candidate ran at all — every one is\nin `fell_through`, each with its reason).",
1949
1949
  "type": "boolean",
1950
1950
  "default": false
1951
1951
  }
@@ -3016,7 +3016,7 @@
3016
3016
  ]
3017
3017
  },
3018
3018
  "stopped_without_work": {
3019
- "description": "Whether the candidate named by `ran` stopped the chain **having shown no\nevidence it did the task's work, and with nothing to say why** — its\n[`RunResult::work`] read [`RunWork::None`] on a failure no classifier\nrecognized.\n\nThe chain still stops there, deliberately: re-running a task that may\ngenuinely have failed for free would burn the next identity's quota on\nthe same failure, which is worse than stopping (see\n[`crate::domain::fallback::startup_failure_reason`]). What this flag adds\nis the *attribution* — without it a candidate that never got started reads\nin the report exactly like one that tried the task and failed it, and the\nremaining candidates look untried for a reason nobody can name.\n\n`false` whenever `ran` is `null` (no candidate ran at all — every one is\nin `fell_through`, each with its reason).",
3019
+ "description": "Whether the candidate named by `ran` stopped the chain **having shown no\nevidence it did the task's work, and with nothing to say why** — its\n[`RunResult::work`] read [`RunWork::None`] on a failure no classifier\nrecognized.\n\nThe chain still stops there, deliberately — decided, not inherited:\nempty accounting is the absence of work evidence, not proof nothing was\nspent, so handing the candidate on could bill a task twice (the decision\nand its reasoning are stated once, at\n[`crate::domain::fallback::startup_failure_reason`]). What this flag adds\nis the *attribution* — without it a candidate that never got started reads\nin the report exactly like one that tried the task and failed it, and the\nremaining candidates look untried for a reason nobody can name — and the\nfailure summary carries the candidate's own words beside it, so the\nreader left holding that one line can act on the cause.\n\n`false` whenever `ran` is `null` (no candidate ran at all — every one is\nin `fell_through`, each with its reason).",
3020
3020
  "type": "boolean",
3021
3021
  "default": false
3022
3022
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneharness/sdk",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "description": "Typed Node.js SDK for oneharness",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,7 +19,7 @@
19
19
  "node": ">=20"
20
20
  },
21
21
  "dependencies": {
22
- "oneharness-cli": "0.12.0",
22
+ "oneharness-cli": "0.12.1",
23
23
  "zod": "^4.4.3"
24
24
  }
25
25
  }