Skip to content

How-to: Add a new artifact type

This repo uses ports/adapters and a workflow pipeline.

Checklist

  1. Define the domain model

  2. Add a new artifacts.Type value

  3. Add a v1 model struct and constructor

  4. Implement a compute usecase

  5. IO via datasource.CanonicalStore

  6. Deterministic version hash (exclude build info)

  7. Update validation

  8. Extend builtin validator: schema checks + version recompute

  9. Wire into workflow

  10. Add to workflow.Pipeline.RunDay

  11. Add to job mode (compute job + publish job)

  12. Add reference docs

  13. Add schema under schemas/artifacts/

  14. Update reference/output-layout.md

Non-negotiables

  • Deterministic output for same canonical inputs
  • Bounded resource usage
  • Publish pointer updated last