@llblab/pi-kit 0.38.4 → 0.39.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/CHANGELOG.md +5 -0
- package/README.md +1 -1
- package/node_modules/@llblab/pi-actors/AGENTS.md +108 -20
- package/node_modules/@llblab/pi-actors/BACKLOG.md +207 -4
- package/node_modules/@llblab/pi-actors/CHANGELOG.md +13 -0
- package/node_modules/@llblab/pi-actors/README.md +31 -1
- package/node_modules/@llblab/pi-actors/dist/index.js +1 -1
- package/node_modules/@llblab/pi-actors/dist/lib/async-runs.d.ts +37 -0
- package/node_modules/@llblab/pi-actors/dist/lib/async-runs.js +131 -62
- package/node_modules/@llblab/pi-actors/dist/lib/automatic-review-runtime.d.ts +2 -0
- package/node_modules/@llblab/pi-actors/dist/lib/automatic-review-runtime.js +3 -2
- package/node_modules/@llblab/pi-actors/dist/lib/command-templates.d.ts +37 -0
- package/node_modules/@llblab/pi-actors/dist/lib/command-templates.js +263 -129
- package/node_modules/@llblab/pi-actors/dist/lib/execution-files.d.ts +32 -0
- package/node_modules/@llblab/pi-actors/dist/lib/execution-files.js +128 -0
- package/node_modules/@llblab/pi-actors/dist/lib/execution-output.js +5 -4
- package/node_modules/@llblab/pi-actors/dist/lib/execution-sessions.d.ts +19 -1
- package/node_modules/@llblab/pi-actors/dist/lib/execution-sessions.js +62 -26
- package/node_modules/@llblab/pi-actors/dist/lib/execution.d.ts +4 -1
- package/node_modules/@llblab/pi-actors/dist/lib/execution.js +6 -1
- package/node_modules/@llblab/pi-actors/dist/lib/extension-runtime.d.ts +9 -2
- package/node_modules/@llblab/pi-actors/dist/lib/extension-runtime.js +92 -14
- package/node_modules/@llblab/pi-actors/dist/lib/file-state.js +21 -2
- package/node_modules/@llblab/pi-actors/dist/lib/inspector-command.js +2 -2
- package/node_modules/@llblab/pi-actors/dist/lib/inspector-overlay.d.ts +25 -7
- package/node_modules/@llblab/pi-actors/dist/lib/inspector-overlay.js +562 -262
- package/node_modules/@llblab/pi-actors/dist/lib/inspector.d.ts +20 -10
- package/node_modules/@llblab/pi-actors/dist/lib/inspector.js +80 -91
- package/node_modules/@llblab/pi-actors/dist/lib/limits.d.ts +1 -0
- package/node_modules/@llblab/pi-actors/dist/lib/limits.js +1 -0
- package/node_modules/@llblab/pi-actors/dist/lib/observability.d.ts +15 -1
- package/node_modules/@llblab/pi-actors/dist/lib/observability.js +216 -99
- package/node_modules/@llblab/pi-actors/dist/lib/pi.d.ts +5 -4
- package/node_modules/@llblab/pi-actors/dist/lib/pi.js +64 -10
- package/node_modules/@llblab/pi-actors/dist/lib/recipe-projection.d.ts +18 -0
- package/node_modules/@llblab/pi-actors/dist/lib/recipe-projection.js +220 -0
- package/node_modules/@llblab/pi-actors/dist/lib/recipes-context.d.ts +2 -0
- package/node_modules/@llblab/pi-actors/dist/lib/recipes-context.js +30 -6
- package/node_modules/@llblab/pi-actors/dist/lib/registry.js +270 -36
- package/node_modules/@llblab/pi-actors/dist/lib/run-delivery.d.ts +213 -5
- package/node_modules/@llblab/pi-actors/dist/lib/run-delivery.js +1909 -40
- package/node_modules/@llblab/pi-actors/dist/lib/run-supervision.d.ts +107 -0
- package/node_modules/@llblab/pi-actors/dist/lib/run-supervision.js +412 -0
- package/node_modules/@llblab/pi-actors/dist/lib/run-ui-runtime.d.ts +9 -2
- package/node_modules/@llblab/pi-actors/dist/lib/run-ui-runtime.js +283 -60
- package/node_modules/@llblab/pi-actors/dist/lib/runs-artifacts.d.ts +26 -1
- package/node_modules/@llblab/pi-actors/dist/lib/runs-artifacts.js +68 -2
- package/node_modules/@llblab/pi-actors/dist/lib/runs-context-exports.d.ts +451 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-context-exports.js +2315 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-context-index.d.ts +97 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-context-index.js +368 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-control-delivery.js +46 -7
- package/node_modules/@llblab/pi-actors/dist/lib/runs-control.d.ts +78 -2
- package/node_modules/@llblab/pi-actors/dist/lib/runs-control.js +334 -2
- package/node_modules/@llblab/pi-actors/dist/lib/runs-controls.js +4 -1
- package/node_modules/@llblab/pi-actors/dist/lib/runs-descendant-launches.d.ts +80 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-descendant-launches.js +287 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-execution-evidence.d.ts +110 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-execution-evidence.js +282 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-index.d.ts +66 -1
- package/node_modules/@llblab/pi-actors/dist/lib/runs-index.js +349 -13
- package/node_modules/@llblab/pi-actors/dist/lib/runs-native-launches.d.ts +73 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-native-launches.js +227 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-outcomes.d.ts +141 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-outcomes.js +292 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-ownership.d.ts +10 -1
- package/node_modules/@llblab/pi-actors/dist/lib/runs-ownership.js +36 -4
- package/node_modules/@llblab/pi-actors/dist/lib/runs-process-windows-mi.d.ts +46 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-process-windows-mi.js +114 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-process.d.ts +34 -1
- package/node_modules/@llblab/pi-actors/dist/lib/runs-process.js +158 -26
- package/node_modules/@llblab/pi-actors/dist/lib/runs-results.d.ts +116 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-results.js +518 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-retention.d.ts +15 -2
- package/node_modules/@llblab/pi-actors/dist/lib/runs-retention.js +148 -9
- package/node_modules/@llblab/pi-actors/dist/lib/runs-session-exports.d.ts +95 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-session-exports.js +470 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-snapshot.d.ts +58 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-snapshot.js +92 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-start.d.ts +2 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-start.js +44 -3
- package/node_modules/@llblab/pi-actors/dist/lib/runs-status.d.ts +15 -1
- package/node_modules/@llblab/pi-actors/dist/lib/runs-status.js +337 -13
- package/node_modules/@llblab/pi-actors/dist/lib/runs-supervision.d.ts +105 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-supervision.js +501 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-trace.d.ts +1 -0
- package/node_modules/@llblab/pi-actors/dist/lib/runs-trace.js +14 -3
- package/node_modules/@llblab/pi-actors/dist/lib/runtime.js +22 -3
- package/node_modules/@llblab/pi-actors/dist/lib/session-evidence.d.ts +37 -0
- package/node_modules/@llblab/pi-actors/dist/lib/session-evidence.js +59 -3
- package/node_modules/@llblab/pi-actors/dist/lib/state-readers.d.ts +4 -1
- package/node_modules/@llblab/pi-actors/dist/lib/state-readers.js +14 -8
- package/node_modules/@llblab/pi-actors/dist/lib/temp.d.ts +2 -4
- package/node_modules/@llblab/pi-actors/dist/lib/temp.js +4 -56
- package/node_modules/@llblab/pi-actors/dist/lib/tools-access.d.ts +3 -0
- package/node_modules/@llblab/pi-actors/dist/lib/tools-access.js +13 -0
- package/node_modules/@llblab/pi-actors/dist/lib/tools-inspect.d.ts +1 -0
- package/node_modules/@llblab/pi-actors/dist/lib/tools-inspect.js +110 -43
- package/node_modules/@llblab/pi-actors/dist/lib/tools-local.d.ts +3 -0
- package/node_modules/@llblab/pi-actors/dist/lib/tools-local.js +18 -6
- package/node_modules/@llblab/pi-actors/dist/lib/tools-message.d.ts +4 -1
- package/node_modules/@llblab/pi-actors/dist/lib/tools-message.js +126 -31
- package/node_modules/@llblab/pi-actors/dist/lib/tools-response.d.ts +31 -3
- package/node_modules/@llblab/pi-actors/dist/lib/tools-response.js +311 -47
- package/node_modules/@llblab/pi-actors/dist/lib/tools-spawn.d.ts +3 -0
- package/node_modules/@llblab/pi-actors/dist/lib/tools-spawn.js +29 -7
- package/node_modules/@llblab/pi-actors/dist/lib/trace-projection.d.ts +20 -0
- package/node_modules/@llblab/pi-actors/dist/lib/trace-projection.js +192 -43
- package/node_modules/@llblab/pi-actors/dist/scripts/async-runner.mjs +272 -194
- package/node_modules/@llblab/pi-actors/dist/scripts/conformance.mjs +14 -2
- package/node_modules/@llblab/pi-actors/dist/skills/actors/SKILL.md +46 -2
- package/node_modules/@llblab/pi-actors/dist/skills/actors/references/diagnostics.md +40 -0
- package/node_modules/@llblab/pi-actors/dist/skills/actors/references/runs.md +55 -1
- package/node_modules/@llblab/pi-actors/docs/README.md +9 -1
- package/node_modules/@llblab/pi-actors/docs/actor-inspector.md +84 -15
- package/node_modules/@llblab/pi-actors/docs/agent-experience.md +216 -0
- package/node_modules/@llblab/pi-actors/docs/async-runs.md +18 -2
- package/node_modules/@llblab/pi-actors/docs/composition-transport.md +103 -0
- package/node_modules/@llblab/pi-actors/docs/coordinator-delivery.md +204 -4
- package/node_modules/@llblab/pi-actors/docs/inspection.md +38 -2
- package/node_modules/@llblab/pi-actors/docs/output-projection-map.md +130 -0
- package/node_modules/@llblab/pi-actors/docs/releasing.md +19 -2
- package/node_modules/@llblab/pi-actors/docs/run-supervision.md +1622 -0
- package/node_modules/@llblab/pi-actors/docs/template-recipes.md +4 -0
- package/node_modules/@llblab/pi-actors/docs/windows-process-observation.md +248 -0
- package/node_modules/@llblab/pi-actors/index.ts +1 -1
- package/node_modules/@llblab/pi-actors/lib/async-runs.ts +164 -73
- package/node_modules/@llblab/pi-actors/lib/automatic-review-runtime.ts +4 -2
- package/node_modules/@llblab/pi-actors/lib/command-templates.ts +287 -138
- package/node_modules/@llblab/pi-actors/lib/execution-files.ts +118 -0
- package/node_modules/@llblab/pi-actors/lib/execution-output.ts +4 -4
- package/node_modules/@llblab/pi-actors/lib/execution-sessions.ts +57 -27
- package/node_modules/@llblab/pi-actors/lib/execution.ts +8 -0
- package/node_modules/@llblab/pi-actors/lib/extension-runtime.ts +102 -12
- package/node_modules/@llblab/pi-actors/lib/file-state.ts +16 -2
- package/node_modules/@llblab/pi-actors/lib/inspector-command.ts +2 -2
- package/node_modules/@llblab/pi-actors/lib/inspector-overlay.ts +524 -261
- package/node_modules/@llblab/pi-actors/lib/inspector.ts +101 -130
- package/node_modules/@llblab/pi-actors/lib/limits.ts +1 -0
- package/node_modules/@llblab/pi-actors/lib/observability.ts +235 -116
- package/node_modules/@llblab/pi-actors/lib/pi.ts +59 -11
- package/node_modules/@llblab/pi-actors/lib/recipe-projection.ts +232 -0
- package/node_modules/@llblab/pi-actors/lib/recipes-context.ts +27 -6
- package/node_modules/@llblab/pi-actors/lib/registry.ts +266 -36
- package/node_modules/@llblab/pi-actors/lib/run-delivery.ts +1737 -49
- package/node_modules/@llblab/pi-actors/lib/run-supervision.ts +411 -0
- package/node_modules/@llblab/pi-actors/lib/run-ui-runtime.ts +237 -73
- package/node_modules/@llblab/pi-actors/lib/runs-artifacts.ts +73 -1
- package/node_modules/@llblab/pi-actors/lib/runs-context-exports.ts +1871 -0
- package/node_modules/@llblab/pi-actors/lib/runs-context-index.ts +372 -0
- package/node_modules/@llblab/pi-actors/lib/runs-control-delivery.ts +36 -18
- package/node_modules/@llblab/pi-actors/lib/runs-control.ts +297 -1
- package/node_modules/@llblab/pi-actors/lib/runs-controls.ts +3 -1
- package/node_modules/@llblab/pi-actors/lib/runs-descendant-launches.ts +338 -0
- package/node_modules/@llblab/pi-actors/lib/runs-execution-evidence.ts +302 -0
- package/node_modules/@llblab/pi-actors/lib/runs-index.ts +345 -17
- package/node_modules/@llblab/pi-actors/lib/runs-native-launches.ts +270 -0
- package/node_modules/@llblab/pi-actors/lib/runs-outcomes.ts +377 -0
- package/node_modules/@llblab/pi-actors/lib/runs-ownership.ts +37 -4
- package/node_modules/@llblab/pi-actors/lib/runs-process-windows-mi.ts +113 -0
- package/node_modules/@llblab/pi-actors/lib/runs-process.ts +210 -34
- package/node_modules/@llblab/pi-actors/lib/runs-results.ts +601 -0
- package/node_modules/@llblab/pi-actors/lib/runs-retention.ts +134 -10
- package/node_modules/@llblab/pi-actors/lib/runs-session-exports.ts +406 -0
- package/node_modules/@llblab/pi-actors/lib/runs-snapshot.ts +143 -0
- package/node_modules/@llblab/pi-actors/lib/runs-start.ts +44 -2
- package/node_modules/@llblab/pi-actors/lib/runs-status.ts +252 -10
- package/node_modules/@llblab/pi-actors/lib/runs-supervision.ts +394 -0
- package/node_modules/@llblab/pi-actors/lib/runs-trace.ts +14 -3
- package/node_modules/@llblab/pi-actors/lib/runtime.ts +22 -3
- package/node_modules/@llblab/pi-actors/lib/session-evidence.ts +76 -4
- package/node_modules/@llblab/pi-actors/lib/state-readers.ts +16 -7
- package/node_modules/@llblab/pi-actors/lib/temp.ts +3 -56
- package/node_modules/@llblab/pi-actors/lib/tools-access.ts +13 -0
- package/node_modules/@llblab/pi-actors/lib/tools-inspect.ts +110 -51
- package/node_modules/@llblab/pi-actors/lib/tools-local.ts +37 -24
- package/node_modules/@llblab/pi-actors/lib/tools-message.ts +120 -37
- package/node_modules/@llblab/pi-actors/lib/tools-response.ts +273 -50
- package/node_modules/@llblab/pi-actors/lib/tools-spawn.ts +31 -10
- package/node_modules/@llblab/pi-actors/lib/trace-projection.ts +165 -42
- package/node_modules/@llblab/pi-actors/package.json +10 -6
- package/node_modules/@llblab/pi-actors/scripts/async-runner.mjs +272 -194
- package/node_modules/@llblab/pi-actors/scripts/conformance.mjs +14 -2
- package/node_modules/@llblab/pi-actors/skills/actors/SKILL.md +46 -2
- package/node_modules/@llblab/pi-actors/skills/actors/references/diagnostics.md +40 -0
- package/node_modules/@llblab/pi-actors/skills/actors/references/runs.md +55 -1
- package/node_modules/yaml/LICENSE +13 -0
- package/node_modules/yaml/README.md +172 -0
- package/node_modules/yaml/bin.mjs +11 -0
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
- package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/node_modules/yaml/browser/dist/errors.js +57 -0
- package/node_modules/yaml/browser/dist/index.js +17 -0
- package/node_modules/yaml/browser/dist/log.js +11 -0
- package/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
- package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
- package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
- package/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/node_modules/yaml/browser/dist/util.js +11 -0
- package/node_modules/yaml/browser/dist/visit.js +233 -0
- package/node_modules/yaml/browser/index.js +5 -0
- package/node_modules/yaml/browser/package.json +3 -0
- package/node_modules/yaml/dist/cli.d.ts +8 -0
- package/node_modules/yaml/dist/cli.mjs +201 -0
- package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/node_modules/yaml/dist/compose/compose-node.js +112 -0
- package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/node_modules/yaml/dist/compose/composer.js +224 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
- package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/node_modules/yaml/dist/doc/Document.js +337 -0
- package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/node_modules/yaml/dist/doc/directives.js +178 -0
- package/node_modules/yaml/dist/errors.d.ts +21 -0
- package/node_modules/yaml/dist/errors.js +62 -0
- package/node_modules/yaml/dist/index.d.ts +25 -0
- package/node_modules/yaml/dist/index.js +50 -0
- package/node_modules/yaml/dist/log.d.ts +3 -0
- package/node_modules/yaml/dist/log.js +19 -0
- package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/Alias.js +118 -0
- package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
- package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/node_modules/yaml/dist/options.d.ts +350 -0
- package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/node_modules/yaml/dist/parse/cst.js +112 -0
- package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/node_modules/yaml/dist/parse/lexer.js +723 -0
- package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/node_modules/yaml/dist/parse/parser.js +980 -0
- package/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/node_modules/yaml/dist/public-api.js +107 -0
- package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/node_modules/yaml/dist/schema/tags.js +99 -0
- package/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/node_modules/yaml/dist/stringify/stringify.js +132 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/node_modules/yaml/dist/test-events.js +134 -0
- package/node_modules/yaml/dist/util.d.ts +16 -0
- package/node_modules/yaml/dist/util.js +28 -0
- package/node_modules/yaml/dist/visit.d.ts +102 -0
- package/node_modules/yaml/dist/visit.js +236 -0
- package/node_modules/yaml/package.json +97 -0
- package/node_modules/yaml/util.js +2 -0
- package/package.json +2 -2
- package/node_modules/@llblab/pi-actors/banner.jpg +0 -0
- package/node_modules/@llblab/pi-actors/dist/lib/inspector-actions.d.ts +0 -16
- package/node_modules/@llblab/pi-actors/dist/lib/inspector-actions.js +0 -57
- package/node_modules/@llblab/pi-actors/lib/inspector-actions.ts +0 -79
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Runtime Output Projection Map
|
|
2
|
+
|
|
3
|
+
Status: F1.1 source ownership audit, updated for the F1.2 helper and F1.3a1 compact launch migration on candidate `16a3417` and the retained working tree. This map is not production migration, live UI/native acceptance or default activation proof. The [AX contract](agent-experience.md#document-envelope-and-yaml-syntax) owns the adopted format; [BACKLOG.md](../BACKLOG.md) alone owns remaining work. Line references are navigation anchors for this audited source, not permanent identities.
|
|
4
|
+
|
|
5
|
+
## Reading the Map
|
|
6
|
+
|
|
7
|
+
- **Runtime metadata:** Target is native block YAML, bare when there is no separately selected body. A body-bearing document has `---` above/below its metadata, followed by unchanged selected text/Markdown. Tool synchrony does not choose framing.
|
|
8
|
+
- **Selected content:** Actor reports, stdout/stderr excerpts, literal requested sources and opaque advice/diagnostics are not objects to parse and reserialize. Preserve their existing selection/privacy/clipping basis; do not promise recovery of discarded upstream bytes.
|
|
9
|
+
- **Machine data:** SDK/Recipe inputs, `details`, canonical journals, inventories, fingerprints and helper protocols keep their machine formats. A runtime-generated readable view of those facts is a separate YAML projection.
|
|
10
|
+
- **UI chrome:** Selection, columns, stripes, modal choices, animation and paging are not serialization formats. Owned metadata documents are in scope; changing their appearance must preserve their native UI behavior.
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
JSON arguments -> SDK/context/admission/execution owners
|
|
14
|
+
-> selected facts/details -> owned tool text -> host tool result
|
|
15
|
+
-> selected producer text -------------------> opaque body
|
|
16
|
+
|
|
17
|
+
Terminal observation -> frozen completion/attention capture
|
|
18
|
+
-> budgeted text + compiler frame/hints -> Pi delivery
|
|
19
|
+
-> stored acceptance/recovery + compact/expanded renderer
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Public Tool Surfaces
|
|
23
|
+
|
|
24
|
+
### 1. Host Adaptation and Shared Text Primitives
|
|
25
|
+
|
|
26
|
+
- **Owners:** `index.ts:12` delegates composition; `lib/extension-runtime.ts:131` `withCurrentThinkingContext` prepares context, then applies response spacing at `:152–154`. Core/runtime tools register at `:164–167` and `:270`.
|
|
27
|
+
- **Current:** `lib/tools-response.ts:83` `formatMarkdownField` and `:90` `formatInspectNextAction` produce list-key pseudo-records for unmigrated consumers; `:95` `formatLiteralBlock` dynamically fences literals. `:178` `jsonText` and `:318` `maybeJsonText` select generated pretty JSON for readable verbose output. `:17` `renderYamlMetadata` uses the declared `yaml@2.9.0` public API and now serves compact asynchronous launch receipts. It prefers plain safe keys, with library scalar-node quoting for BOM-bearing keys; other runtime consumers remain unmigrated.
|
|
28
|
+
- **Transition boundary:** These helpers have mixed consumers, including retained completion codecs. Do not replace all calls or serialize arbitrary `content` in `spaceToolResult` (`:144`). That wrapper adds spacing and preserves other content/details; `spaceToolError` (`:164`) retains its existing Error/primitive behavior. The target requires one visual blank line after host invocation/arguments for every result/error, without changing selected body text or echoing inputs. Current exactly-one-leading-LF helpers prove their wired text convention, not full rendered/host coverage. Context-preparation failures can precede the catch; host `isError` handling is downstream.
|
|
29
|
+
- **Proof owners:** `tests/tools-response.test.ts` covers closed hints, opaque values, immutable inputs, whole locations, old handoff and spacing; installed owner replay is in `tests/installed.scripts.test.ts:2492,2597–2620`. Emitter and compact-launch properties prove native types, selected observations, whole-row fitting and prefix spacing; full host UI and codec migration remain separate. The installed owner replay now requires all 18 response tests, not the former eight. Its 49,152-byte/64-level execution ceilings need caller-specific reconciliation; atomic key enumeration and arbitrary Proxy execution are not bounded by its scalar/node preflight.
|
|
30
|
+
|
|
31
|
+
### 2. Spawn and Registered Asynchronous Launch Receipts
|
|
32
|
+
|
|
33
|
+
- **Owners:** `lib/tools-spawn.ts:124` `createSpawnToolDefinition.execute` selects `maybeJsonText(details, verbose, compactAsyncRunStatus(details))` at `:222`. `lib/tools-local.ts:146` `createRuntimeToolDefinition` uses the same compact launch projection in its async branch (`:236–279`).
|
|
34
|
+
- **Current:** `tools-response.ts:243` `compactAsyncRunStatus` now emits bare block YAML through the shared emitter, with native `launchModelPolicy` (`:205`) groups, nested `run_files` and a separate owned observation label. One original JSON selection of navigation becomes native nodes; original hooks/errors and unchanged details stay distinct. Exactly one leading LF belongs to host invocation spacing. Spawn verbose still selects full pretty JSON without the compact limit; the registered async invocation has no equivalent invocation-level verbose switch.
|
|
35
|
+
- **Target / guard:** Compact launch facts, provenance, actual reuse and complete navigation are now **bare YAML**; full spawn-verbose migration is separately open. A launch receipt is not the future Actor result. Preserve 16 KiB whole-field/row omission, unavailable catalog facts and optional hint suppression only when the complete direct row is available. `tools-access.ts:19` owns session-bound navigation; formatting must not reread/adopt files or disclose non-enumerable catalog causes. `writeSpawnDraftRecipe` persists JSON input/source and is not a text-projection conversion.
|
|
36
|
+
- **Proof owners:** `tests/tools-response.test.ts` launch/type/observer/whole-row/16-KiB boundary families; `tests/tools.test.ts` launch/schema/delegation/policy families; installed dist owner replay and packed retirement's direct-location witness. SDK launch parsing/assertions are updated in completion-boundary/session-navigation fixtures without changing old completion parsing or cleanup. Fresh full source/packed SDK and loaded-host acceptance remain later gates, not inferred from earlier literal-JSON witnesses.
|
|
37
|
+
|
|
38
|
+
### 3. Synchronous Registered Output and Local Usage/Launch Errors
|
|
39
|
+
|
|
40
|
+
- **Owners:** `tools-spawn.ts:86` `spawnGuardText` / `:106` `runIdFromTarget`; `tools-local.ts:69` `formatRuntimeToolUsageHint`, `:128` `formatRuntimeToolArgumentError`, and execute's `dispatchEntered` cutoff. `lib/execution.ts:1081` `executeRegisteredTool` returns selected `formatted.text` plus machine details at `:1142`.
|
|
41
|
+
- **Current:** Local guards are pseudo-fields; usage guidance mixes prose, JSON call examples and argument lists. `lib/execution-output.ts:91` `formatOutput` and `:112` `formatFailureOutput` own stdout/stderr trim/tail selection, runtime labels and truncation notices.
|
|
42
|
+
- **Target / guard:** Owned guard/guidance facts become YAML. Actual JSON invocation examples remain instructional source; selected command/report JSON remains content. If separately selected body text is present, use a delimited header without changing existing source selection. Do not claim current formatted tails are original complete stdout. After executor entry/async handoff, the local catch preserves its original failure rather than treating wording as a repairable argument error. Host schema/clone/coercion errors may occur before facade guards.
|
|
43
|
+
- **Proof owners:** `tests/tools-spawn.test.ts`, `tests/tools-local.test.ts`, `tests/tools.test.ts:304`, `tests/execution-output.test.ts`; packed dispatch-failure preservation at installed `:2656`.
|
|
44
|
+
|
|
45
|
+
### 4. Control Receipts and Public Failures
|
|
46
|
+
|
|
47
|
+
- **Owners:** `lib/tools-message.ts:23` `controlGuardText`, `:66` `compactControlResult`, `:120` `createControlToolDefinition`; conservative actor-local failure catch at `:224`, replacement-state withholding at `:246–248`, verbose JSON at `:258`.
|
|
48
|
+
- **Current:** Pseudo-fields distinguish request, delivery, handling, legacy kill attempt/closure uncertainty and one selected next action. Verbose text is JSON of request/result, also retained separately as machine `details`; exact cause chains stay private.
|
|
49
|
+
- **Target / guard:** Metadata-only receipts/refusals become bare YAML, including native option sequences and nested verbose facts. Preserve whole identity/option bounds and existing caller facts. No private causes, inferred correlation, automatic retry, new recipient lease or no-effects/closure claim follows. Kill/archive/prune/dependency failures remain separately owned and may follow effects.
|
|
50
|
+
- **Proof owners:** `tests/tools-message.test.ts` guard/host/refusal/privacy/context-change families; `tests/runs-control-delivery.test.ts` and awaited-Control cases in `tests/async-runs.test.ts`. YAML migration does not resolve those authority/transport gates.
|
|
51
|
+
|
|
52
|
+
### 5. Inspect: Compact, Verbose and Schema
|
|
53
|
+
|
|
54
|
+
- **Owners:** `lib/tools-inspect.ts:188` `compactRuntime`, `:201` `formatInspectFailure`, `:508` `inspectRun`, `:597` `inspectTool`, `:637` `compactResult`, execute at `:728`; `tools-response.ts:436` `formatInspectionHint` / `:443` `compactRecipeRegistry`.
|
|
55
|
+
- **Current:** Compact paths use pseudo-fields. **Every verbose view and `tool:* view=schema` even without verbose** selects generated pretty JSON. Compact Run views supply a run/view header, not a newly available body/status snapshot. Recipe/source hints and authored advice have distinct typed versus opaque paths.
|
|
56
|
+
- **Target / guard:** Runtime-generated compact/verbose/JSON-Schema presentation becomes YAML. Underlying `tool.parameters` JSON Schema and machine details do not change. `view=schema` is generated definition metadata, not the literal-source-file exception. Preserve filtering/redaction, partiality, exact portable sources and selected next actions; no new read, default snapshot or timing route is authorized.
|
|
57
|
+
- **Proof owners:** `tests/tools-inspect.test.ts` refusals, schemas, views, privacy, current-session navigation and failed-priority families; installed inspection contracts at `:2492`.
|
|
58
|
+
|
|
59
|
+
### 6. Registration, Listing, Deletion and Draft Promotion
|
|
60
|
+
|
|
61
|
+
- **Owners:** `lib/tools-register.ts:61` delegates to Registry. `lib/registry.ts:94` `registryListText`, `:176` `registrationReceiptText`, `:352` `draftReceiptText`, `:501` `registryDeletionText` and their list/promote/delete/register transaction callers.
|
|
62
|
+
- **Current:** Pseudo-fields and real selected sequences for tool/result/source/callability, args/warnings/names/coverage; source references may be fenced literals. Draft promotion has its own selected/coerced display facts. Delete has a manual reload note.
|
|
63
|
+
- **Target / guard:** Metadata-only returns become bare YAML. Preserve actual persistence versus current callability, reuse of selected values, warning priority, whole-group omissions and source references. Do not normalize old flags into stronger activation truth. Formatting/notifier/unlink/reactivation failures may follow writes; a reload instruction is not permission to reload.
|
|
64
|
+
- **Proof owners:** `tests/registry.test.ts` ordinary/draft/list/delete/activation-order families; `tests/registration-truth.test.ts` and installed registry/runtime owner replay.
|
|
65
|
+
|
|
66
|
+
### 7. Registry Refusals and Transaction Diagnostics
|
|
67
|
+
|
|
68
|
+
- **Owners:** `registry.ts` `assertRegisterToolInputModes` (`:776`), `reservedRegistrationNameText` / `executeRegisterToolUnlocked` (`:827,:840`), `duplicateRegistrationText` (`:374`), `assertTemplateIsNotNestedRecipe` / `getInputTemplate` (`:588,:606`), `normalizeDefaults` / `buildAuthoredRecipe` (`:653,:702`). Selected error formatters are `draftPathFailureText`, `sourceNormalizationFailureText`, `candidateAdmissionFailureText`, `draftRecipeFailureText`, `registrationTransactionFailureText` (`:315,:279,:254,:384,:231`).
|
|
69
|
+
- **Current → target:** Locally selected pseudo-record facts become bare YAML, with opaque selected advice/reasons/diagnostics and complete or explicitly omitted source literals. This is not a global exception wrapper.
|
|
70
|
+
- **Guard / proof:** Preserve guard/getter/String/join/Error order, existing diagnostic clipping, source-mode/duplicate predicates, cleanup and post-effect faults. A joined legacy diagnostic/summary is not a newly complete list; do not parse it into one or add raw causes/body/value echoes. Exact cases live in `tests/registry.test.ts` source/defaults/template/path/diagnostic/transaction groups; runtime/source/dependency failures retain their own owners.
|
|
71
|
+
|
|
72
|
+
### 8. Registry, Callback, Watcher and Teardown Notices
|
|
73
|
+
|
|
74
|
+
- **Owners:** `registry.ts:224` `registryNoticeText`; `lib/runtime.ts:96` `notify`, `:189` `formatRecipeToolWarnings`, `:336` `createRecipeToolReloadWatcher`. Runtime callback/steer diagnostics are in `run-ui-runtime.ts:49,151,335,400,692`; watcher/retirement notices in `observability.ts:254,1007,1016`.
|
|
75
|
+
- **Current → target:** Owned pseudo-record reports/category sequences/counts become bare YAML when metadata-only; selected diagnostics stay opaque. Keep the actual `ctx.ui.notify`/forwarding owner: runtime's notifier is `hasUI`-gated, but the reload watcher has direct notify sites. Progress/chrome is separate below.
|
|
76
|
+
- **Guard / proof:** Do not add a model-output cap to uncapped UI text, expose raw causes, change callback/rearm/dedup or read new error properties. Retirement notification is inside the stop path, so notifier failure can follow effects. Steer UI preview versus persisted error bounds remain separate. `tests/runtime.test.ts`, `tests/registry.test.ts:74,113`, callback/teardown cases in `tests/run-ui-runtime.test.ts`, watcher/retirement cases in `tests/observability.test.ts` own these boundaries.
|
|
77
|
+
|
|
78
|
+
## Captured Delivery and UI
|
|
79
|
+
|
|
80
|
+
F1.6 source-audit correction: Pi 1.0 native custom-message storage, session reconstruction and pre-provider context hooks preserve `details`. `convertToLlm` drops both details and customType afterward; it does not replace stored native entries. Current stripped-details tests deliberately simulate degradation, not a normal storage defect. Minimal content correlation still preserves that supported fallback; it is not needed for the model to perform kernel acceptance. Native content-block arrays alone also do not establish independent renderer fallback.
|
|
81
|
+
|
|
82
|
+
### 9. Terminal Observation and Frozen Completion Text
|
|
83
|
+
|
|
84
|
+
- **Owners:** `observability.ts` `terminalSemanticResult`, `observeRun`, `readyRunCompletions`, `collectRunCompletionBatchMembers` (`:577,:627,:1460,:1485`) → `run-ui-runtime.ts:313` `admitCompletionTransitions` → `run-delivery.ts:893,898` admission/capture and `:2033` `retainSharedCompletionTexts`.
|
|
85
|
+
- **Current:** Private source/generation-bound members freeze selected primary/final-response text, diagnostics or separately labeled legacy fallback and a captured layout/budget. This private capture is not a public YAML document.
|
|
86
|
+
- **Target / guard:** Only metadata serialization changes. Do not merge source classes, substitute raw stdout after loss, create primary kind for fallback or reread sources during rendering. Current-session locations are observed/rechecked before journal mutation. Preserve frozen equal shares, unchanged source fences and exact replay.
|
|
87
|
+
- **Proof owners:** `tests/run-ui-runtime.test.ts:935–988`, `tests/run-delivery.test.ts` primary/diagnostic/artifact binding families, `tests/runs-context-exports.test.ts` source loss/replay. S1 numbering and native/clock work remain independent.
|
|
88
|
+
|
|
89
|
+
### 10. Completion Projection, Compiler Frame and Native Renderer
|
|
90
|
+
|
|
91
|
+
- **Owners:** `run-delivery.ts:1510` `completionRecordRow`, `:1683` `assembleFrontmatter`, `:1886` `projectCompletionRecords`, `:2110` `projectRunCompletionBatchPresentation`, `:2233` `readRunCompletionPresentation`, `:2283` retained projection, `:2328` message formatting. `run-ui-runtime.ts:68` `registerRunCompletionRenderer` is wired at `extension-runtime.ts:122`.
|
|
92
|
+
- **Current:** Headers contain flow-JSON `references`/`run_files`; raw bodies and separate cut/uncertainty markers follow. Omission/inventory service text still uses pseudo-records/JSON. HTML compiler frames/closed completion markers and `details.pi_actors_presentation` bind ranges/hashes. Valid compact views render compiler text separately from native Markdown bodies; expansion/invalid hints expose original text.
|
|
93
|
+
- **Prepared wire core:** `run-delivery.ts` `encodeCompletionYamlCarrier` / `readCompletionYamlCarrier` provide the accepted pure/nondefault mechanics; the prototype encodes and typed native view decodes them. Working source now also has a partial, unverified private candidate capture/layout route and strict-core Pi correlation. Default capture still uses `frontmatter_v2`; compiled/SDK integration and candidate acceptance are not established. They encode one `_completion` packet ID/codec and relative body/marker lengths, then derive dense ranges while decoding. Canonical bare headers are independent YAML fragments separated by codec-owned blank lines, not one mapping or a standard YAML multi-document stream; body-present headers are delimited and raw parts remain opaque. All-omitted is bare service metadata, not a fake Run. Empty selected bodies are distinct from absent bodies; empty-marker-only wrappers are refused. Input uses named top-level result keys with explicit depth/work bounds; fresh source admission and carrier acceptance remain F1.6v-gated, and meaningful service warnings must not be hidden wholesale.
|
|
94
|
+
- **Prepared source projection (nondefault):** `projectRunCompletionYamlPrototype` projects current AX/frontmatter selected snapshots through one shared private fitter; it returns content, a format/digest-only hint and fitting facts, not a newly admitted or relabeled Batch. Frozen budgets/prefixes remain immutable. Canonical header/raw-part costs are measured additively, with unsupported data distinct from byte overflow; final content must agree with the unchanged core encoder/decoder. This prototype API remains data-only and source-class restricted. The partial private captured-layout route reuses internal YAML assembly rather than relabeling an old frozen snapshot; its independent quota/inventory, replay and epoch evidence is still incomplete. Native renderer support is prepared below; actual carrier acceptance remains a separate gate.
|
|
95
|
+
- **Prepared native view (nondefault):** `readRunCompletionPresentation` derives frozen typed segments from the strict core and exact minimal format/digest hint; the registered renderer hides whole decoded reference/location nodes, retains every service fact and renders each body as independent native Markdown with literal Text metadata/markers. Valid-core missing/invalid hints and declared-new malformed content expose original full Text; expansion keeps that same source. Malformed content without a safely readable own new-format declaration retains historical dispatch, not a body-scanning heuristic. Headless widths/padding and old-history preservation are proved. Repo SDK 1.0.0's public `CustomMessageComponent` falls back to one Markdown component when a renderer is absent, returns undefined or throws, joining text-block arrays; a fresh component probe confirms this boundary, not session/interactive dispatch. Preserve that fallback unchanged: full content supplied to Markdown is neither independent-body rendering nor literal-visibility proof. Independent Markdown belongs only to the validated registered compact branch; registered degraded/expanded views keep original Text. Actual source-admitted native storage/context/provider/reopen and loaded terminal/phone behavior remain separate acceptance.
|
|
96
|
+
- **Selected-source bridge preservation:** A collector-supported legacy artifact declaration containing a lone UTF-16 surrogate is accepted and escaped by the old codec but refused by the pure YAML core; validator support does not assert that its target exists. The private bridge must preserve such known string-valued metadata slots as an explicit `utf16_code_units` mapping of four-hex-digit units, without U+FFFD repair, reference deletion, body encoding or machine/history mutation. Ordinary strings stay strings. Source-family probes reached depth eight and an exact 49,152-byte equal-share packet; these are representative witnesses, not universal compatibility proof. Pure projection/fitting precedes native renderer dispatch. One private optimizer distinguishes unsupported data from byte overflow; no public selector or newly budgeted Batch mislabeled as an old layout. Meaningful service warnings remain visible, and final output must satisfy the unchanged core's whole-packet contract.
|
|
97
|
+
- **Concrete coupling:** `readFrontmatterFrame` (`run-delivery.ts:1628`) validates single-line fields/values and complete ordered coverage. The retained compact branch in `run-ui-runtime.ts` hides only single `references: ` / `run_files: ` lines; the new typed-segment branch handles whole decoded nodes. A serializer-only switch to nested YAML breaks validation or exposes orphaned reference children. Header parsing, whole-node hiding, fitting, hint/frame generation and source/body rendering must move together for new captures.
|
|
98
|
+
- **Target / guard:** Block-YAML metadata with body-dependent delimiters; opaque independent body blocks and exact omission markers. Keep old codecs/bytes/hints, 48 KiB/64 shown/256 captured limits and whole references. The F1.6 necessity audit supports deleting fresh prefix hashes and duplicate coordinate/range tables, not moving the whole payload. The target carries one packet identity and minimal relative opaque-body/marker segments in YAML; absolute ranges are derived. Full admitted-source compatibility and actual carrier acceptance remain unproved, so the current HTML reader/producer are not removed in place. `completionInventoryText` (`:434`) remains machine JSON.
|
|
99
|
+
- **Proof owners:** `tests/run-delivery.test.ts` YAML/body injection, scalar/CRLF/Unicode cuts, historical fingerprints, compiler hints, whole omissions/inventory; `tests/run-ui-runtime.test.ts:728,783`; `tests/pi.test.ts` stripped/forged/malformed-frame cases. The pure codec/projection and native-view groups prove prepared nested YAML and headless rendering; retained Pi/default groups do not prove fresh-carrier admission or loaded-host behavior.
|
|
100
|
+
|
|
101
|
+
### 11. Pi Delivery and Acceptance/Recovery
|
|
102
|
+
|
|
103
|
+
- **Owners:** `lib/pi.ts:53` `createRunCompletionBatchEntry`, `:73` `sendRunCompletionBatch`, `:128` `completionBatchMessage`, `:160` context deduplication, `:268` session evidence; `session-evidence.ts:159` bounded active entries. `run-ui-runtime.ts` `reconcileCompletionBatch`, `flushCompletionBatch`, `onTurnEnd` and `projectContext` own reconcile/flush/turn-end/context delivery.
|
|
104
|
+
- **Current:** `pi-actors-run-batch` content and private correlation/presentation details pass through active boundary proposals or idle follow-up send. Details take precedence; stripped-details recovery uses closed content correlation or retained headers, not body equality. Bounded parent-chain evidence distinguishes present/absent/conflict/unknown.
|
|
105
|
+
- **Guard / proof:** A proposed entry is not acceptance; unknown/conflicting delivery cannot authorize resend, ACK or reallocation. Do not replace content framing with an assumed hidden-details channel. Successful delivery stays silent. `tests/pi.test.ts`, `tests/session-evidence.test.ts`, run-ui active-boundary/restart/recovery/send-failure families and installed source/packed SDK fixtures own the integration. No alternate carrier or loaded-client proof was run here.
|
|
106
|
+
|
|
107
|
+
### 12. Notify, Followup and Urgent Steer
|
|
108
|
+
|
|
109
|
+
- **Owners:** `observability.ts:197` `deliverRunAttentionNotifications`, `:1326` `formatRunAttentionMessage`, `:1342,1365` AX checkpoint/path formatting, `:1374` `formatRunSteerMessage`; `run-ui-runtime.ts:247,400` steer admission/flush; `run-delivery.ts:1064` durable steer admission; `pi.ts:39,83` sink/send.
|
|
110
|
+
- **Current:** Pseudo-record run/checkpoint/body fields plus JSON-literal paths in fenced groups. Notify reaches UI; followup also sends `pi-actors-run-trace` with `display:false`. Urgent delivery freezes content before `pi-actors-run-steer`/`deliverAs:steer`.
|
|
111
|
+
- **Target / guard:** Owned metadata becomes YAML; separately selected text stays outside a delimited header, metadata-only events remain bare YAML. Legacy non-string event bodies need source classification before conversion. Preserve saved steer content verbatim, first-eight reference coverage, startup priming/order/seen IDs and existing distinct ordinary/16 KiB steer bounds. No inferred private tail count or source-policy change.
|
|
112
|
+
- **Proof owners:** Attention/reference/privacy cases in `tests/observability.test.ts`; ordering/bounds/recovery/saved-text cases in `tests/run-ui-runtime.test.ts`; durable steer cases in `tests/run-delivery.test.ts`; installed packed coordinator epochs.
|
|
113
|
+
|
|
114
|
+
### 13. Inspector, Trace and Progress Chrome
|
|
115
|
+
|
|
116
|
+
- **Owners:** `inspector-command.ts:13` command/UI entry; `inspector.ts:100,120,128` selected kill feedback and owner/generation action; `inspector-overlay.ts:411,467,490,640` kill/confirmation/popup recognition and `:743,804,826,896,919,935,945` list/detail/document projections. `trace-projection.ts:196,243,293` supplies observed Trace/Control/agent data; session privacy remains in `session-evidence.ts`. `observability.ts:935,947` → `run-ui-runtime.ts:504` owns animated status.
|
|
117
|
+
- **Current:** Literal semantic documents use pseudo-records/nested sequences with ephemeral compiler-label provenance, selected text uses native wrapping, and popup coloring recognizes current anchored AX feedback. Trace previews retain existing normalization/160-unit selection and unknown-loss semantics. Stripes, ranks, paging, focus, animation and modal choice labels are UI chrome, not model serialization.
|
|
118
|
+
- **Target / guard:** Owned document metadata is a YAML migration owner; do not interpret source lines as metadata or turn all chrome into YAML. Preserve original selected body/preview basis, columns/separators, safety/choices, frozen underlay and once-only generation action. A syntax change must update anchored feedback recognition without granting source labels meaning.
|
|
119
|
+
- **Proof owners:** `tests/inspector.test.ts`, `tests/inspector-overlay.test.ts` documents/wrapping/Trace gaps/modal/safety families, `tests/trace-projection.test.ts`, session privacy and run-ui callback-animation tests. Headless/source tests do not prove actual terminal/phone rendering.
|
|
120
|
+
|
|
121
|
+
## Explicit Exclusions and Capability Boundaries
|
|
122
|
+
|
|
123
|
+
- **Private/unwired helpers:** `tools-response.ts:107` `renderRunSnapshot` has text/JSON render paths but no inspected production tool callsite. `compactRecipeImports` / `compactRecipeDoctor` and `observability.ts:1571` `formatRunTransitionMessage` likewise have no inspected production egress. This is a bounded callsite finding, not proof they can be deleted or public snapshot support is active.
|
|
124
|
+
- **Helper JSON with real consumers:** `skills/music-player/scripts/playback.mjs:1406` `controlMain` emits status JSON at `:1428`; `skills/music-player/genapps/music-player.mjs:70` `readPlayback` parses that stdout at `:82`. YAML conversion there would break a machine consumer. The GenApp's `render` (`:147`) contains Telegram button transport markup at `:153`, not the pi-actors completion footer; never mass-strip HTML comments.
|
|
125
|
+
- **Capability output versus kernel metadata:** `skills/project-work/scripts/project-utils.mjs:26,49` package/Skill summaries and `skills/actors/scripts/run-utils.mjs:96,137` reports emit JSON as capability stdout. `skills/project-work/recipes/package-summary.json` invokes that producer. If selected as Actor output, preserve it as content; changing a capability's own format requires its consumer/Skill contract, not a global runtime object serializer. Canonical status/checkpoint/socket/journal JSON and compiler/build diagnostics are not public YAML migration targets merely because they use `JSON.stringify`.
|
|
126
|
+
- **Validation anchors:** Installed owner replay (`tests/installed.scripts.test.ts:2492`), packed steer/coordinator epochs (`:3498`), source/packed public spawn/primary/overflow (`:4446`, fixture `tests/fixtures/completion-boundary-sdk.mjs`), and playback/GenApp contract cases (`:3083`) identify existing proof owners. They were not rerun by the audit, and their existence does not prove a new YAML serializer, service carrier, native convergence or loaded UI.
|
|
127
|
+
|
|
128
|
+
## Dependency Facts, Not a Second Work Plan
|
|
129
|
+
|
|
130
|
+
Bare tool receipts can be addressed in their projection owners without redefining Run execution. Completion changes are coupled across byte fitting, frozen capture compatibility, nested-header validation, whole-node hiding, compiler ranges and stripped-details recovery. Service-carrier replacement has a further evidence gate. There is no safe global `JSON.stringify` or `formatMarkdownField` replacement: both cross metadata, source, historical replay and machine-data boundaries. Remaining implementation and acceptance are tracked only by F1 in `BACKLOG.md`.
|
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Stable releases use one immutable tag workflow. The workflow runs normal product validation on Ubuntu, macOS, and Windows plus the dependency audit before any publication, publishes and verifies the exact npm package through Trusted Publisher, then creates or converges the GitHub Release from the matching changelog section. Architecture review uses the project-local Domain DAG Skill during architecture-affecting development; release automation does not run policy, line-count, source-style, or Domain DAG gates.
|
|
4
4
|
|
|
5
|
+
## CI Trigger Boundary
|
|
6
|
+
|
|
7
|
+
- **Ordinary branch push (`dev`, feature branches, or `main`):** No standalone validation or publication workflow. Updating an open PR emits its PR event, which owns the development checks.
|
|
8
|
+
- **Pull request:** One validation workflow runs the complete Ubuntu/macOS/Windows product matrix and one Ubuntu dependency audit. A branch push must not start a second copy of these checks.
|
|
9
|
+
- **Version-tag push (`v*.*.*`):** Only the release workflow starts. It invokes reusable validation once for the immutable tagged commit, then performs exact-tag/package preflight, npm publication/verification and GitHub Release convergence. This explicit pre-publication gate is retained; no standalone push-validation workflow runs alongside it.
|
|
10
|
+
- **`workflow_call`:** Reuses the validation implementation for that release gate; it is not an independent push trigger. The release and PR paths share the same platform/audit contract, not copied job definitions.
|
|
11
|
+
|
|
12
|
+
## Product Test Shards
|
|
13
|
+
|
|
14
|
+
The adopted CI layout has three isolated test jobs on each supported OS: `installed` runs the heavy `installed.scripts.test.ts` package/SDK owner; `owners-a` and `owners-b` receive alternating entries from the sorted discovery of every other top-level `*.test.ts` file. New test files join automatically. The partition must be exhaustive and non-overlapping; do not split or filter assertions inside an owner, omit platform cases, or change fixture/SDK watchdogs.
|
|
15
|
+
|
|
16
|
+
Each job uses a separate checkout and test-agent state, Node24 and the existing single-worker/preload flags. Package validation (types, Recipe QA, committed build parity and extension import) plus dry-pack runs once per OS on `installed`, not on every shard. Local `npm test` and `npm run validate` remain complete unsharded entrypoints. The reusable workflow must wait for all nine test jobs and the single dependency audit before release publication; one successful shard never substitutes for the full gate. This layout reduces aggregate critical-path pressure, not the cost or correctness obligations of an individual native test.
|
|
17
|
+
|
|
18
|
+
Simple tools/registration fixtures bind original runner births and actual `close`, then validate canonical success and fresh ESRCH again at deletion. Their joint acceptance phase has one10-second watchdog, replacing the old approximately2-second result/exit polling assumption; this is a fixture allowance, not a product/SDK/workload deadline. Missing post-close results fail promptly; uncertainty retains roots without signals or automatic wait inflation.
|
|
19
|
+
|
|
20
|
+
Implementation and native CI acceptance are tracked in BACKLOG until the complete sharded candidate passes.
|
|
21
|
+
|
|
5
22
|
## One-time npm Trusted Publisher setup
|
|
6
23
|
|
|
7
24
|
Configure the existing public package `@llblab/pi-actors` on npmjs.com with a GitHub Actions Trusted Publisher using these exact values:
|
|
@@ -19,10 +36,10 @@ Do not create `NPM_TOKEN`, `NODE_AUTH_TOKEN`, or another long-lived npm publish
|
|
|
19
36
|
|
|
20
37
|
1. Merge the validated release tree through the repository's guarded `dev` to `main` flow.
|
|
21
38
|
2. Create one immutable `v<package.version>` tag on the verified `main` commit.
|
|
22
|
-
3. Let `.github/workflows/release.yml` invoke the reusable
|
|
39
|
+
3. Let `.github/workflows/release.yml` invoke the reusable complete product-validation and dependency-audit workflow.
|
|
23
40
|
4. Let the publication job verify the tag commit, package manifests, and non-empty changelog section.
|
|
24
41
|
5. Publish the exact public npm package through OIDC when the version does not exist.
|
|
25
42
|
6. Verify npm version, `gitHead`, Pi extension/skill metadata, and packed runtime manifests.
|
|
26
43
|
7. Create or update the GitHub Release only after npm verification succeeds.
|
|
27
44
|
|
|
28
|
-
A rerun skips `npm publish` only when the exact existing version reports the same tagged `gitHead`; contradictory identity fails closed because npm versions are immutable.
|
|
45
|
+
A rerun skips `npm publish` only when the exact existing version reports the same tagged `gitHead`; contradictory identity fails closed because npm versions are immutable. After npm accepts publication, public metadata and the tarball may remain unavailable while the registry processes the package. Verification waits up to ten minutes, checks online metadata and tarball availability every ten seconds, and bounds each npm command by the remaining deadline. Exact version, `gitHead`, Pi metadata, or packed-manifest mismatches fail immediately once both registry reads succeed; availability retries never relax identity checks or repeat publication. A verification timeout leaves publication accepted but not yet verified: do not republish or move the tag. Wait for the exact public version and `gitHead`, then rerun the failed publication job so it skips the existing package and finishes GitHub Release convergence. A missing or mismatched Trusted Publisher usually surfaces as npm authentication or not-found failure and must be corrected in npm package settings—never by adding a token fallback.
|