@mhingston5/lasso 0.1.0 → 0.1.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/README.md +40 -42
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,8 +4,39 @@
|
|
|
4
4
|
<img src="docs/agent-wrangling.png" width="320" alt="Agent Wrangling" />
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
## Table of contents
|
|
8
|
+
|
|
9
|
+
- [What is Lasso?](#what-is-lasso)
|
|
10
|
+
- [Why Lasso exists](#why-lasso-exists)
|
|
11
|
+
- [What Lasso does](#what-lasso-does)
|
|
12
|
+
- [How it works](#how-it-works)
|
|
13
|
+
- [Slash commands](#slash-commands)
|
|
14
|
+
- [Bundled workflows](#bundled-workflows)
|
|
15
|
+
- [Request examples](#request-examples)
|
|
16
|
+
- [Custom workflows](#custom-workflows)
|
|
17
|
+
- [HarnessSpec reference](#harnessspec-reference)
|
|
18
|
+
- [Library API](#library-api)
|
|
19
|
+
- [Compiler](#compiler)
|
|
20
|
+
- [Compiler feedback](#compiler-feedback)
|
|
21
|
+
- [Verification engine](#verification-engine)
|
|
22
|
+
- [Compiler optimizations](#compiler-optimizations)
|
|
23
|
+
- [Harness mutations](#harness-mutations)
|
|
24
|
+
- [Guardrails](#guardrails)
|
|
25
|
+
- [Failure mode generation](#failure-mode-generation)
|
|
26
|
+
- [Adaptive runtime](#adaptive-runtime)
|
|
27
|
+
- [Lineage persistence](#lineage-persistence)
|
|
28
|
+
- [Harness memory](#harness-memory)
|
|
29
|
+
- [Environment model](#environment-model)
|
|
30
|
+
- [Failure ontology](#failure-ontology)
|
|
31
|
+
- [Capabilities](#capabilities)
|
|
32
|
+
- [Meta-harness](#meta-harness)
|
|
33
|
+
- [Multi-harness composition](#multi-harness-composition)
|
|
34
|
+
- [How Lasso fits with pi-duroxide](#how-lasso-fits-with-pi-duroxide)
|
|
35
|
+
- [Non-goals](#non-goals)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
Lasso goes from intent to executable workflow — and repairs the harness while it runs.
|
|
9
40
|
|
|
10
41
|
```text
|
|
11
42
|
Intent
|
|
@@ -18,15 +49,12 @@ Intent
|
|
|
18
49
|
→ Runtime adaptation (trace → mutate → continueAsNew)
|
|
19
50
|
```
|
|
20
51
|
|
|
21
|
-
If `pi-duroxide` is the durable runtime engine, **Lasso is the layer that
|
|
22
|
-
generates, optimizes, and repairs the harnesses that run on it**.
|
|
23
|
-
|
|
24
52
|
## What is Lasso?
|
|
25
53
|
|
|
26
|
-
Lasso is a **
|
|
54
|
+
Lasso is a **dynamic harness engine** built on [pi-duroxide](https://github.com/mhingston/pi-duroxide). It's a TypeScript package that plugs into
|
|
27
55
|
pi via the `pi` field in `package.json`. When installed, it:
|
|
28
56
|
|
|
29
|
-
1. Boots
|
|
57
|
+
1. Boots [pi-duroxide](https://github.com/mhingston/pi-duroxide) (the durable workflow runtime)
|
|
30
58
|
2. Registers 5 slash commands (`/lasso:plan`, `/lasso:run`, etc.)
|
|
31
59
|
3. Exports a library API for programmatic use
|
|
32
60
|
|
|
@@ -75,41 +103,11 @@ const signature = classifyFailure(error, { nodeId: "deploy" });
|
|
|
75
103
|
> target repo. Use a throwaway clone or disposable worktree, not your primary
|
|
76
104
|
> checkout.
|
|
77
105
|
|
|
78
|
-
## Table of contents
|
|
79
|
-
|
|
80
|
-
- [What is Lasso?](#what-is-lasso)
|
|
81
|
-
- [Why Lasso exists](#why-lasso-exists)
|
|
82
|
-
- [What Lasso does](#what-lasso-does)
|
|
83
|
-
- [How it works](#how-it-works)
|
|
84
|
-
- [Slash commands](#slash-commands)
|
|
85
|
-
- [Bundled workflows](#bundled-workflows)
|
|
86
|
-
- [Request examples](#request-examples)
|
|
87
|
-
- [Custom workflows](#custom-workflows)
|
|
88
|
-
- [HarnessSpec reference](#harnessspec-reference)
|
|
89
|
-
- [Library API](#library-api)
|
|
90
|
-
- [Compiler](#compiler)
|
|
91
|
-
- [Compiler feedback](#compiler-feedback)
|
|
92
|
-
- [Verification engine](#verification-engine)
|
|
93
|
-
- [Compiler optimizations](#compiler-optimizations)
|
|
94
|
-
- [Harness mutations](#harness-mutations)
|
|
95
|
-
- [Guardrails](#guardrails)
|
|
96
|
-
- [Failure mode generation](#failure-mode-generation)
|
|
97
|
-
- [Adaptive runtime](#adaptive-runtime)
|
|
98
|
-
- [Lineage persistence](#lineage-persistence)
|
|
99
|
-
- [Harness memory](#harness-memory)
|
|
100
|
-
- [Environment model](#environment-model)
|
|
101
|
-
- [Failure ontology](#failure-ontology)
|
|
102
|
-
- [Capabilities](#capabilities)
|
|
103
|
-
- [Meta-harness](#meta-harness)
|
|
104
|
-
- [Multi-harness composition](#multi-harness-composition)
|
|
105
|
-
- [How Lasso fits with pi-duroxide](#how-lasso-fits-with-pi-duroxide)
|
|
106
|
-
- [Non-goals](#non-goals)
|
|
107
|
-
|
|
108
106
|
---
|
|
109
107
|
|
|
110
108
|
## Why Lasso exists
|
|
111
109
|
|
|
112
|
-
|
|
110
|
+
[pi-duroxide](https://github.com/mhingston/pi-duroxide) gives you a durable workflow runtime. That is the right layer when
|
|
113
111
|
you already know what workflow you want to run.
|
|
114
112
|
|
|
115
113
|
Lasso sits one level higher. It:
|
|
@@ -134,7 +132,7 @@ Use Lasso when you want workflow automation that is:
|
|
|
134
132
|
|
|
135
133
|
Lasso takes a declarative `HarnessSpec`, validates it, lowers it to CIR,
|
|
136
134
|
optimizes it, and compiles it into a replay-safe workflow that runs on
|
|
137
|
-
|
|
135
|
+
[pi-duroxide](https://github.com/mhingston/pi-duroxide).
|
|
138
136
|
|
|
139
137
|
Out of the box, it ships with:
|
|
140
138
|
|
|
@@ -685,15 +683,15 @@ Lasso is distributed as a **pi extension** (`package.json` has a `"pi"` field
|
|
|
685
683
|
pointing to `./src/index.ts`). When you `pi install` it:
|
|
686
684
|
|
|
687
685
|
1. pi loads `src/index.ts`, which exports a default extension function
|
|
688
|
-
2. That function (`src/pi/extension.ts`) first boots
|
|
686
|
+
2. That function (`src/pi/extension.ts`) first boots [pi-duroxide](https://github.com/mhingston/pi-duroxide)
|
|
689
687
|
3. Then it registers the 5 slash commands with pi's `ExtensionAPI`
|
|
690
688
|
|
|
691
689
|
The layering:
|
|
692
690
|
|
|
693
|
-
-
|
|
691
|
+
- [pi-duroxide](https://github.com/mhingston/pi-duroxide) owns workflow lifecycle, replay, timers, events, and runtime registration
|
|
694
692
|
- Lasso owns spec validation, CIR lowering, optimization, compilation, and operator-facing commands
|
|
695
693
|
|
|
696
|
-
In other words:
|
|
694
|
+
In other words: [pi-duroxide](https://github.com/mhingston/pi-duroxide) is the durable runtime engine; Lasso is the
|
|
697
695
|
harness generation, optimization, and adaptation layer built on top of it.
|
|
698
696
|
|
|
699
697
|
## Non-goals
|
package/package.json
CHANGED