@sublang/playbook 12.2.0 → 12.2.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sublang/playbook",
3
- "version": "12.2.0",
3
+ "version": "12.2.1",
4
4
  "type": "module",
5
5
  "description": "Composable XState v5 playbook runtime with compiled Captain, CODE, REVIEW, DECIDE, and DEV workflows driven by GEARS specs.",
6
6
  "license": "Apache-2.0",
package/slc/gears2fsm.md CHANGED
@@ -385,6 +385,9 @@ implementation.
385
385
 
386
386
  A literal call shall retain the existing representation: `playbookId` is the
387
387
  literal target and `text` is the composed GEARS blockquote.
388
+ Composing that text follows the quoted-relay rules of [link](link.md): a
389
+ relayed value that is empty contributes no line, a multi-line value is quoted
390
+ line by line, and the composer inserts no empty quoted line of its own.
388
391
 
389
392
  A dynamic call written
390
393
  ``Captain shall call playbook selected by `<target-field>`:`` shall declare the
package/slc/link.md CHANGED
@@ -2413,6 +2413,10 @@ original template. Replacement strings are literal: placeholder-looking text
2413
2413
  inside Boss/catalog/plan/result values and JavaScript replacement tokens such
2414
2414
  as `$&`, `$$`, dollar-backtick, and `$'` shall not be interpreted or
2415
2415
  substituted again.
2416
+ A quoted relay line `> <placeholder>` whose value is empty shall be omitted
2417
+ from the composed text rather than left as an empty quoted line, a multi-line
2418
+ value shall be quoted line by line so every continuation line keeps its `>`
2419
+ marker, and the composer shall insert no empty quoted line of its own.
2416
2420
 
2417
2421
  ## Host adaptation (informative, not normative)
2418
2422
 
package/slc/text2gears.md CHANGED
@@ -145,6 +145,11 @@ The guard name shall match the ASCII identifier pattern
145
145
  The bullet order is authoritative, guard names are unique within the item, and
146
146
  the description shall name every required output property with its exact
147
147
  case-sensitive identifier.
148
+ An output property name shall match the same ASCII identifier pattern as a
149
+ guard name: a kebab-case Source placeholder such as `<coder-output>` names the
150
+ property `coderOutput` through the canonical kebab-token-to-camel-field mapping
151
+ of [link](link.md), never a quoted kebab-case key, because downstream artifacts
152
+ and calling playbooks consume these properties by name.
148
153
 
149
154
  A produced value consumed later shall have a declared producer: where any
150
155
  later item's blockquote reads a value through a `<placeholder>`, the item
@@ -242,6 +247,12 @@ text2gears shall emit an item whose behavior uses
242
247
  complete JSON-safe input-text template for that call.
243
248
  The literal target id shall be a stable configured playbook id, not a slash
244
249
  command or module specifier.
250
+ A nested-call item shall carry no `Results:` label: the child's terminal result
251
+ is its outcome, so Source's continuation after child success, abort, or failure
252
+ stays as prose after the blockquote for
253
+ [gears2fsm](gears2fsm.md#nested-playbook-calls) to route through
254
+ `invoke.onDone` and `invoke.onError`; a `Results:` block on a nested-call item
255
+ is malformed.
245
256
 
246
257
  Example:
247
258