Declarative workflow pack schema: YAML format and JSON Schema, no runtime code

amiel-35 proposes a file-based format for Mike workflows: YAML files validated against a JSON Schema, with metadata for jurisdiction, language, and practice area. Nothing in the runtime changes yet -- this is the data model proposal before any importer is written.

workflowknowledge-management

The proposal adds schemas/workflow.schema.json and docs/workflows.md. A workflow pack requires id, title, type (assistant or tabular), and prompt_md. Tabular workflows additionally require columns_config -- an array of columns each with name, format, and prompt. Optional fields (practice, jurisdiction, language, version, is_system) exist for organization and future distribution but carry no runtime semantics in this proposal.

The second commit tightens one detail: the pack id and the database primary key are explicitly decoupled. A pack can use nda-review as its id even if the database expects UUIDs. A future importer would handle the mapping, including deriving deterministic UUIDs where needed.

The non-goals section is worth reading. amiel-35 draws a clear line: no runtime loading, no importer, no migration changes, no prompt copying from the live app. The stated intent is to land the schema shape first so the data model discussion can happen before execution semantics are entangled with it.

Two worked examples cover both types. The NDA review tabular example uses four columns (Parties, Confidentiality obligations, Term and survival, Risk level), with Risk level as a select format. The directory layout proposal nests packs under workflow-packs/<lang>/<jurisdiction>/<practice>/.

One gap in the schema: format on column entries is typed as a plain string with no enum. If you adopt this schema, you will need to decide independently which format values are valid and enforce them either in the importer or via an extended schema.

So what Worth a look if you have been thinking about externalizing your workflow/prompt definitions into files for versioning or contributor access. The schema is close enough to the current Mike data model that it could serve as a starting point. Skip it if you need something that actually loads workflows -- there is no importer here, and it is unclear when or whether amiel-35 intends to build one.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

2 commits from amiel-35/mikelaw-oss, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
f36519a0 docs(workflows): add declarative workflow pack format Amiel Lavon 2026-05-05 ↗ GitHub
557a990c docs(workflows): add declarative workflow pack format Amiel Lavon 2026-05-05 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-307.md from inside the repo you want the changes in.

⬇ Download capture-thread-307.md