artifact-yylo · git:20260919.8d9c097 · 2026-09-19 · sha256 b413282ddb32dfdd
artifact-yylo git:20260919.8d9c097A
Immutable. This exact content is served forever at /api/v1/blob/b413282ddb32dfdd.
--- name: artifact-yylo description: Capture and retrieve durable YYLO Ledger artifact Records with intentional profiles, payload modes, provenance, retention, and secret-safe immutable evidence. category: project-management risk: safe source: https://github.com/yylo-dev/yylo-skills source_repo: yylo-dev/yylo-skills source_type: community date_added: '2026-09-19' license: MIT license_source: https://github.com/yylo-dev/yylo-skills/blob/main/LICENSE compatibility: Requires the `yy` CLI with the `artifact` record group installed. Captures immutable, secret-safe evidence with provenance and retention; never publishes or deploys. argument-hint: '[artifact or evidence to capture/find/inspect]' enable-shell-directives: true --- # Use YYLO artifact Records Treat Ledger as the source of truth for artifact identity and metadata. Use `yy ledger` in a YYLO controller or `yylo-ledger` standalone. Inspect `COMMAND artifact --help`; if unavailable, do not create store files manually. A Ledger Artifact Record is durable evidence, not an npm/Python release artifact and not an implicit request to publish or deploy. ## Classify before capture Choose the profile matching the evidence: - `stdout`: bounded process output; - `model-output`: an agent/model response; - `report`: a generated human- or machine-readable result; - `receipt`: evidence binding an operation and its inputs/outcome. Choose payload mode deliberately: - `inline`: small immutable bytes embedded in the Record; - `local`: immutable content-addressed bytes in Ledger storage; - `external`: immutable external bytes with URI, digest, and size; - `link`: URI reference without an immutable-byte guarantee. Prefer immutable evidence when later verification depends on exact bytes. A link must never be presented as content-addressed proof. ## Create explicitly Use file/stdin transport and provide the media type: ```bash yy ledger artifact create --title "Focused test report" --profile report \ --mode local --media-type application/json --file report.json ``` For external immutable content, provide the supported URI, SHA-256 digest, and size shown by installed help. Never embed URI credentials. Ledger rejects unsafe schemes, traversal, size/digest mismatches, oversized capture, and known secret patterns. Attach only supported, non-secret provenance such as actor, agent, model, session, run, invocation, task, or workflow identity. Task/workflow provenance uses immutable Record IDs. Select `temporary`, `standard`, or `permanent` retention deliberately; retention metadata does not itself authorize deletion. ## Operational-document boundary Store new PDRs, architecture and migration contracts, plans, reports, receipts, and execution evidence as Artifact Records. Draft through a fresh external file, capture it with an intentional profile and immutable payload mode, read it back, and verify its ID, digest, size, provenance, retention, and history before removing the draft. Use the `report` profile for human-readable PDRs/contracts unless installed help provides a more specific approved profile. Product `docs/` is only for documentation shipped as part of the product. Never put operational evidence there to manufacture a task product diff. Preserve legacy `.juno_task/specs` files, but do not create new ones as a fallback. If the installed artifact API is unavailable, stop with the external draft intact and request a Ledger upgrade; do not put it in task bodies, responses, product docs, or manually managed controller paths. ## Find and verify ```bash yy ledger artifact search --profile report --projection summary --limit 20 -f json yy ledger artifact get RECORD_ID -f json yy ledger artifact history RECORD_ID -f ndjson ``` Use bounded metadata/summary projections before requesting payload details. Verify profile, mode, media type, digest, size, provenance, retention, revision, and immutable ID before relying on evidence. Artifact payloads are immutable evidence. Represent replacement with explicit predecessor/successor relationships and the installed revision-safe update contract; do not overwrite bytes or edit content objects. Archive is a lifecycle transition, not deletion. Release, publication, external upload, retention execution, and production mutation always require separate authority. ## Complete request $ARGUMENTS ## When to Use - You need to capture or retrieve durable YYLO Ledger artifact Records (stdout, model-output, report, receipt) with provenance, retention, and immutable payloads. - New operational PDRs, contracts, plans, reports, and receipts belong here - not in product docs, task bodies, or new `.juno_task/specs` files. ## Limitations - Payloads are immutable: represent replacement with predecessor/successor relations, never by overwriting bytes. Archive is a lifecycle transition, not deletion. - Secret-safe only: never embed URI credentials; Ledger rejects unsafe schemes, traversal, size/digest mismatches, and known secret patterns. - Retention metadata never authorizes deletion; release, publication, upload, and production mutation always need separate authority. ### Example ```bash yy ledger artifact search --profile report --projection summary --limit 20 -f json yy ledger artifact get RECORD_ID -f json ``` > Adapted from [yylo-dev/yylo-skills](https://github.com/yylo-dev/yylo-skills) (MIT) - v2.0.1; frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance.