@lotics/cli 0.311.0 → 0.311.2
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/dist/src/cli.js +58 -24
- package/docs/agent_surface.md +3 -3
- package/docs/design.md +14 -1
- package/docs/workflows.md +4 -3
- package/package.json +1 -1
package/docs/agent_surface.md
CHANGED
|
@@ -182,9 +182,9 @@ An act that states `review` runs a workflow that only proposes: call it with the
|
|
|
182
182
|
writing nothing, the changeset its body proposes in `data.review` — `table_id`, `creates` (each with its `key`) and
|
|
183
183
|
`updates` (each with its `record_id`), each row's `data` holding only the fields that change, by field key, with an
|
|
184
184
|
optional `note` and `ticked` (`false` where the body leaves it for a person to choose), and `unplaced`, what was read
|
|
185
|
-
and matched nothing. Call it again with the same inputs and `approved`,
|
|
186
|
-
`{ "updates": [{ "record_id", "sha" }], "creates": [{ "key", "sha" }] }
|
|
187
|
-
|
|
185
|
+
and matched nothing; the platform adds a `sha` to every row. Call it again with the same inputs and `approved`,
|
|
186
|
+
`{ "updates": [{ "record_id", "sha" }], "creates": [{ "key", "sha" }] }`, listing the rows to write with the `sha` each
|
|
187
|
+
carries in the proposal, copied as it came — never computed — and the platform writes those rows as that second call
|
|
188
188
|
proposes them, each only where it proposes the values read:
|
|
189
189
|
|
|
190
190
|
```
|
package/docs/design.md
CHANGED
|
@@ -47,7 +47,10 @@ rows in time, a template's act — until the model states it or declines it.
|
|
|
47
47
|
in — and beside each the query or workflow of the app that answers it (`agent_surface`). What the screen
|
|
48
48
|
reads and does is generated. An ask no screen makes is declared: a read in `queries` (`model/queries`),
|
|
49
49
|
a write in `workflows` (`model/workflows`). A figure an agent calls states its `alias`. An ask with
|
|
50
|
-
nothing to answer it is a gap in the model, closed before the apply.
|
|
50
|
+
nothing to answer it is a gap in the model, closed before the apply. An app is built to be run by an agent:
|
|
51
|
+
every flow a person works can be driven end to end through its workflows, the person is asked only where
|
|
52
|
+
their judgement or authority is needed, and the screens show what was done and let a person do or put back
|
|
53
|
+
any step by hand.
|
|
51
54
|
6. **A treatment for every list and every entity** — the next section. Choose it from what the rows ARE,
|
|
52
55
|
before writing any register.
|
|
53
56
|
7. **Plan, apply, look.** The `check_model` tool (`lotics model check` on the CLI) checks the
|
|
@@ -216,6 +219,16 @@ other, so the second's bars are read over its own first step: they draw on one g
|
|
|
216
219
|
edge and every value ending at another, each under its own label. A step no row holds a number in reads as not measured, so leave a count empty
|
|
217
220
|
rather than typing a zero nobody measured.
|
|
218
221
|
|
|
222
|
+
#### Priced lines
|
|
223
|
+
|
|
224
|
+
A quote's items, an estimate's works, a repair sheet's damages are lines priced off a book: an entity whose
|
|
225
|
+
`records` names each item, puts the code people type on its line and its price as its `figure`. The line links to
|
|
226
|
+
it, asks the link and its quantities in its block's `create`, and copies the price (`default_from`), so the quote
|
|
227
|
+
keeps what was quoted when the book moves. A line's amount is a formula, the record's total a rollup over the rows
|
|
228
|
+
the block shows — what is not paid for is a second rollup, never a filter on the first, so each group subtotals.
|
|
229
|
+
Group the lines by the parts the record is quoted in (a container, a room, a leg), a field the line asks. The book
|
|
230
|
+
is its keeper's desk, an app of its own.
|
|
231
|
+
|
|
219
232
|
### The record
|
|
220
233
|
|
|
221
234
|
#### Sections
|
package/docs/workflows.md
CHANGED
|
@@ -517,9 +517,10 @@ proposes: its body calls steps that read and no other, and runs no agent — eit
|
|
|
517
517
|
and returns in `data.review` one changeset of the act's table, which the platform writes the approved rows of. Called
|
|
518
518
|
with what the act asks, it answers the proposal and nothing is written; called again with
|
|
519
519
|
`approved: { updates: [{ record_id, sha }], creates: [{ key, sha }] }`, the body runs again and the platform writes
|
|
520
|
-
those rows as this second run proposes them, so the body never reads `approved`.
|
|
521
|
-
|
|
522
|
-
|
|
520
|
+
those rows as this second run proposes them, so the body never reads `approved`. The platform adds a `sha` to every row
|
|
521
|
+
of the proposal it answers — the body states none, and one it states is dropped — and the caller echoes the `sha` of
|
|
522
|
+
each row it approves. A row the second run proposes with other values than the `sha` was read from is left unwritten
|
|
523
|
+
(`changed`), so the body must propose the same for the same inputs and the rows it reads.
|
|
523
524
|
An update is of a record the act is run over (`record_id`, or one of `record_ids`): one of any other record is left
|
|
524
525
|
unwritten. An act over every row in view is handed no rows: its body reads the rows it may change, and any of them may
|
|
525
526
|
be proposed. A create carries a `key`, a text of the body's own that names the same line on every run
|