Recipes job pack for Tessera: compile multi-step workflow recipes into validated, ordered assets.
Project description
tessera-recipes
Compile multi-step workflow recipes into validated, dependency-ordered assets.
tessera-recipes reads a directory of recipe files (frontmatter + body), normalizes them into a canonical Recipe schema, validates the step dependency graph (cycle detection, dangling references, reachability), computes a topological execution order, and emits a catalog plus machine and human execution plans.
Input shape
Each recipe is either a single file <name>.recipe.md or a folder <name>/RECIPE.md. The file is YAML frontmatter followed by a markdown body.
---
name: release-notes
description: Build release notes from commits, then summarize and publish.
version: 1.0.0
tags: [git, release]
inputs:
- name: since_tag
type: string
required: true
outputs:
- name: published_url
steps:
- id: collect
uses: changelog-generator
inputs:
range: "${inputs.since_tag}..HEAD"
produces: raw_changelog
- id: summarize
needs: [collect]
inputs:
text: "${steps.collect.output}"
produces: summary
- id: publish
inputs:
body: "${steps.summarize.output}"
produces: published_url
---
Human-readable narrative of the workflow goes here.
Step dependencies are the union of explicit needs and edges inferred from ${steps.X} references in inputs, so authors can rely on either form.
Compile a recipe pack
tessera recipes compile --input examples/recipes/ --output ./out/recipe_pack
Artifacts written:
index.jsonl canonical Recipe rows
plans.jsonl machine execution plan per recipe (topo order, edges, cycle)
index.md human-readable catalog
validation_report.md graph + frontmatter findings
coverage_report.md step counts, acyclic ratio, tag distribution
execution_plans.md per-recipe topological order + dependency edges
Validation rules
Frontmatter / structure:
missing_name,non_canonical_name,invalid_version,missing_description,short_description,no_steps
Steps and graph:
missing_step_id,duplicate_step_idself_dependency— a step depends on or references itselfdangling_needs—needsnames a step that does not existdangling_step_reference—${steps.X}points to a missing stepdangling_input_reference—${inputs.X}references an undeclared inputcyclic_dependency— the step graph contains a cycle (reports the cycle path)unproduced_output— a declared output is not produced by any stepunreachable_step— a step produces nothing and nothing depends on it
Cross-recipe:
name_collision— two recipes share a name
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tesserakit_recipes-0.4.0.tar.gz.
File metadata
- Download URL: tesserakit_recipes-0.4.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2209f388eb376cd5891120248710f4cfe9b62e925844ef1f4cf1b23cf1427476
|
|
| MD5 |
c79f141555a1567cf8bfa23e67beafd5
|
|
| BLAKE2b-256 |
ca6de7dd9c45639c58d73c989e57c74866d84230c546c121663cd6aa797f8f7c
|
File details
Details for the file tesserakit_recipes-0.4.0-py3-none-any.whl.
File metadata
- Download URL: tesserakit_recipes-0.4.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95b15f5e16c3277ffd7713fb80e28e25e9b17d2a75a037bd4f4e6bb2574bb432
|
|
| MD5 |
c135330324e6e41b4ab72704c60231ed
|
|
| BLAKE2b-256 |
798316f9f835cd7774f24146c55f9200a510dbcb522fbf0ea218f4ed4e2c288c
|