Agentic workshop to improve code quality and robustness
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-12 10:18:08 +02:00
.agents/skills feat: improve init_skill for grill scenar 2026-10-09 15:49:34 +02:00
data feat: simplify the problem 2026-10-12 10:18:08 +02:00
docs feat: boilerplate 2026-09-24 10:19:18 +02:00
issues feat: simplify the problem 2026-10-12 10:18:08 +02:00
outage_quality fix: ddd standard 2026-09-28 10:33:14 +02:00
tests feat: simplify the problem 2026-10-12 10:18:08 +02:00
.gitignore feat: run csv format validation from the cli 2026-09-25 13:22:14 +02:00
.pre-commit-config.yaml feat: boilerplate 2026-09-24 10:19:18 +02:00
.python-version feat: boilerplate 2026-09-24 10:19:18 +02:00
AGENTS.md feat: improve init_skill for grill scenar 2026-10-09 15:49:34 +02:00
ComparisonWithAndWithout.png feat: comparison with and without skills 2026-09-28 16:49:14 +02:00
LICENSE feat: license 2026-09-25 13:27:51 +02:00
main.py feat: run csv format validation from the cli 2026-09-25 13:22:14 +02:00
pyproject.toml fix: ddd standard 2026-09-28 10:33:14 +02:00
README.md feat: simplify the problem 2026-10-12 10:18:08 +02:00
ruff.toml feat: boilerplate 2026-09-24 10:19:18 +02:00
training_content.png docs: add training content picture 2026-09-25 16:16:24 +02:00
uv.lock feat: run csv format validation from the cli 2026-09-25 13:22:14 +02:00

TSO outage data-quality workshop

A small Python workshop for practising reliable, maintainable agentic-AI-assisted delivery.

Note: the use case is fictitious and exists solely to practise the agentic delivery methodology.

The exercise concerns an auditable planned-outage data-quality report. It reads asset and outage-request CSV extracts and will eventually identify invalid requests and duplicate request IDs before the data is used by downstream planning or operational-support processes.

The workshop improves quality, not productivity. Any productivity gain must not reduce reliability.

Safety boundary

This project is a data-quality exercise. It does not approve, schedule, alter, or execute outages. It produces traceable findings for a human process to investigate.

Starting point

The repository intentionally contains only the architecture scaffold, representative CSV inputs, and a command-line interface that runs the structural extract validation. The business behaviour is introduced through tests during the workshop.

  • outage_quality/domain/: pure outage and asset value objects (no I/O, no framework)
  • outage_quality/application/: use cases, their ports and report contracts
  • outage_quality/infrastructure/: CSV and other replaceable I/O adapters
  • outage_quality/interfaces/: thin command-line interface
  • data/: representative, non-operational CSV examples
  • tests/data/: copies of the CSV fixtures used by the automated tests
  • plans/: intent and implementation plans for the exercise

Dependencies flow inward:

interfaces -> application -> domain <- infrastructure

Run

uv run validate_extracts
uv run python main.py
uv run pytest -n auto tests/ -v
uv run pre-commit run --all-files

validate_extracts reads data/assets.csv and data/outage_requests.csv, runs the structural extract validation, prints a per-file report, and exits non-zero when any file fails its contract.

Workshop intent

As an outage-planning data user, I want an auditable report of invalid and duplicated planned-outage requests, so that incorrect or conflicting input data is identified before it enters downstream planning and operational-support processes.

The detailed alignment and TDD delivery plan are in plans/.