Use YYLO workflow Records
Treat Ledger as the source of truth for workflow identity, validated definition,
and revision history. Use yy ledger in a YYLO controller or yylo-ledger
standalone. Inspect COMMAND workflow --help; if the namespace is absent, do not
invent it or edit Ledger storage directly.
Keep three boundaries distinct
- Ledger stores and validates workflow data. It does not execute workflows.
- A separately selected YYLO runner executes reviewed workflow data. Storage does not grant execution, network, mutation, release, or deployment authority.
- Artifact Records retain run evidence. Do not overwrite the workflow definition with stdout, logs, model output, reports, or receipts.
The read-only Ledger host also has no workflow execution endpoint.
Discover and inspect
yy ledger workflow search --text "release verification" --projection summary --limit 20 -f json
yy ledger workflow get RECORD_ID -f json
yy ledger workflow get RECORD_ID --raw
yy ledger workflow get RECORD_ID --validated
Prefer immutable IDs after discovery. Use bounded projections and explicit archive
scope. --validated emits normalized YAML only after schema validation.
Author safe workflow data
A workflow v1 document requires a mapping with schema_version: v1, a non-empty
workflow_id, and a steps list whose step IDs are non-empty and unique.
schema_version: v1
workflow_id: focused-validation
steps:
- id: test
command: ["npm", "test"]
Create through file/stdin transport:
yy ledger workflow create --title "Focused validation" --file workflow.yaml
Ledger rejects unsafe or non-portable YAML, including duplicate keys, aliases, anchors, explicit tags, recursive structures, non-string mapping keys, implicit date/time values, non-finite numbers, CRLF input, and unsupported values. Never weaken validation by storing executable shell as an unvalidated substitute.
Revise safely
Read the current revision and history, then follow the installed
workflow update --help compare-and-replace contract. Bind updates to the
expected revision and preimage/digests, validate the result, and read it back.
On drift, stop and reconcile instead of forcing. Archive is non-destructive.
Before execution, freeze the exact workflow Record ID, revision, payload digest,
runner identity, inputs, and granted authorities. After execution, store bounded
outputs under artifact-yylo with workflow/run provenance. An execution request
never implies merge, release, publication, deployment, or production authority.
Complete request
$ARGUMENTS
When to Use
- You need to find, create, or revision-safe update validated YYLO Ledger workflow Records.
- You must keep storage, execution, and run-evidence boundaries explicit.
Limitations
- Ledger stores and validates workflow data; it never executes workflows and grants no execution, network, mutation, release, or deployment authority.
- Run evidence belongs in
artifact-yylorecords with workflow/run provenance - never overwrite the workflow definition with outputs. - An execution request never implies merge, release, publication, deployment, or production authority. On revision drift, stop and reconcile instead of forcing.
Example
yy ledger workflow search --text "release verification" --projection summary --limit 20 -f json
yy ledger workflow get RECORD_ID --validated
Adapted from yylo-dev/yylo-skills (MIT) - v2.0.1; frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance.