Feature: CI workflow validation As a developer I want to ensure the CI workflow exists and uses nox sessions So that all CI checks run through the same tooling as local development Scenario: CI workflow file exists Given the CI workflow file at ".forgejo/workflows/ci.yml" Then the CI workflow file should exist Scenario: CI workflow references nox for lint Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow should have a job named "lint" And the job "lint" should run "nox -s lint" Scenario: CI workflow references nox for typecheck Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow should have a job named "typecheck" And the job "typecheck" should run "nox -s typecheck" Scenario: CI workflow references nox for unit tests Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow should have a job named "unit_tests" And the job "unit_tests" should run "nox -s unit_tests" Scenario: CI workflow references nox for integration tests Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow should have a job named "integration_tests" And the job "integration_tests" should run "nox -s integration_tests" Scenario: CI workflow references nox for coverage Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow should have a job named "coverage" And the job "coverage" should run "nox -s coverage_report" Scenario: CI workflow references nox for security Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow should have a job named "security" And the job "security" should run "nox -s security_scan" Scenario: CI workflow references nox for build Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow should have a job named "build" And the job "build" should run "nox -s build" Scenario: CI workflow uses Python 3.13 Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow env should set "PYTHON_VERSION" to "3.13" Scenario: CI workflow coverage job depends on lint and typecheck Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the job "coverage" should depend on "lint" And the job "coverage" should depend on "typecheck" Scenario: All required nox sessions are referenced Given the CI workflow file at ".forgejo/workflows/ci.yml" When I parse the CI workflow YAML Then the workflow should reference these nox sessions: | session | | lint | | typecheck | | unit_tests | | integration_tests | | coverage_report | | security_scan | | dead_code | | complexity | | build |