# .ontology/state.ncl — Project: {{ project_name }}
# State dimensions track WHERE the project IS vs WHERE it WANTS to BE.
#
# To use typed construction helpers, add ontology/defaults/ from the ontoref
# checkout and: let d = import "ontology/defaults/state.ncl" in
#
# Fields (dimension):
#   id            — unique kebab-case identifier
#   name          — human-readable label
#   description   — what this dimension measures
#   current_state — string ID of where the project is now
#   desired_state — string ID of where it should be
#   horizon       — 'Weeks | 'Months | 'Years | 'Continuous
#   states        — [] (or list of named states)
#   transitions   — list of transition records
#
# Fields (transition):
#   from      — source state ID
#   to        — target state ID
#   condition — measurable condition for the transition
#   catalyst  — what would trigger it
#   blocker   — what currently prevents it
#   horizon   — 'Weeks | 'Months | 'Years

{
  dimensions = [

    {
      id            = "{{ project_name }}-maturity",
      name          = "{{ project_name }} Maturity",
      description   = "Overall maturity of {{ project_name }} — from initial scaffold to stable production use.",
      current_state = "bootstrapped",
      desired_state = "stable",
      horizon       = 'Months,
      states        = [],
      transitions   = [
        {
          from      = "bootstrapped",
          to        = "stable",
          condition = "Replace with measurable condition.",
          catalyst  = "What would trigger this transition?",
          blocker   = "What is currently blocking it?",
          horizon   = 'Months,
        },
      ],
    },

    # Add more dimensions as the project's state space becomes clearer.
    # Useful dimensions: adoption, documentation-coverage, api-stability, test-coverage

  ],
}
