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
Metadata
Release files for tesserakit-recipes 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tesserakit_recipes-0.4.0.tar.gz | 10.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tesserakit_recipes-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.0 kB
Release files / tesserakit_recipes-0.4.0.tar.gz
| Download URL | tesserakit_recipes-0.4.0.tar.gz |
|---|---|
| Size | 10.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2209f388eb376cd5891120248710f4cfe9b62e925844ef1f4cf1b23cf1427476
|
|
BLAKE2b-256 checksum How to use checksums |
ca6de7dd9c45639c58d73c989e57c74866d84230c546c121663cd6aa797f8f7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / tesserakit_recipes-0.4.0-py3-none-any.whl
| Download URL | tesserakit_recipes-0.4.0-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
95b15f5e16c3277ffd7713fb80e28e25e9b17d2a75a037bd4f4e6bb2574bb432
|
|
BLAKE2b-256 checksum How to use checksums |
798316f9f835cd7774f24146c55f9200a510dbcb522fbf0ea218f4ed4e2c288c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|