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.
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.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?