Skip to main content

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_id
  • self_dependency — a step depends on or references itself
  • dangling_needsneeds names a step that does not exist
  • dangling_step_reference${steps.X} points to a missing step
  • dangling_input_reference${inputs.X} references an undeclared input
  • cyclic_dependency — the step graph contains a cycle (reports the cycle path)
  • unproduced_output — a declared output is not produced by any step
  • unreachable_step — a step produces nothing and nothing depends on it

Cross-recipe:

  • name_collision — two recipes share a name

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tesserakit_recipes-0.4.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tesserakit_recipes-0.4.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

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

Hashes for tesserakit_recipes-0.4.0.tar.gz
Algorithm Hash digest
SHA256 2209f388eb376cd5891120248710f4cfe9b62e925844ef1f4cf1b23cf1427476
MD5 c79f141555a1567cf8bfa23e67beafd5
BLAKE2b-256 ca6de7dd9c45639c58d73c989e57c74866d84230c546c121663cd6aa797f8f7c

See more details on using hashes here.

File details

Details for the file tesserakit_recipes-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tesserakit_recipes-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95b15f5e16c3277ffd7713fb80e28e25e9b17d2a75a037bd4f4e6bb2574bb432
MD5 c135330324e6e41b4ab72704c60231ed
BLAKE2b-256 798316f9f835cd7774f24146c55f9200a510dbcb522fbf0ea218f4ed4e2c288c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page