Skip to main content

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_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

Project details


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.

Supported by

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