Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 34 additions & 26 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,77 +4,85 @@ All notable changes to SynthOps will be documented in this file.

This project follows the spirit of [Keep a Changelog](https://keepachangelog.com/) and aims to make changes understandable for users, contributors and maintainers.

SynthOps is currently in early development and has not yet published a stable release.
SynthOps is currently in early development. Version `0.1.0` is the first pre-release and is not a stable `1.0` release.

---

## [Unreleased]

### Added

### Changed

### Fixed

### Documentation

---

## [0.1.0] - 2026-08-25

### Added

- Initial Python package structure using a `src/` layout.
- Core reusable ID generation utilities.
- Core reusable date utilities.
- Adult Social Care domain module structure.
- Scenario-driven `care_homes` generator.
- Adult Social Care `residents` lifecycle generator.
- Time-aware resident generation using `dataset_start_date` and `dataset_end_date`.
- Active, discharged and deceased resident lifecycle records.
- Resident records linked to generated care homes.
- Configurable care home ID prefixes and ID widths.
- Configurable care home type selection.
- Configurable turnover profile selection.
- Care home type-specific occupancy behaviour.
- Synthetic sample `care_homes.csv` output.
- Synthetic sample `residents.csv` output.
- Example script for generating Adult Social Care sample data.
- Automated tests using `pytest`.
- GitHub Actions workflow for automated test runs.
- Initial project README.
- Architecture documentation.
- Project roadmap.
- Adult Social Care `residents` lifecycle generator.
- Time-aware resident generation using `dataset_start_date` and `dataset_end_date`.
- Active, discharged and deceased resident lifecycle records.
- Resident records linked to generated care homes.
- Sample `residents.csv` output.
- Tests for resident lifecycle rules, date validity, care home references and turnover-driven historical resident counts.
- Contributing guidelines.
- Security policy.
- Code of conduct.
- Architecture decision records.
- Adult Social Care domain documentation.
- Adult Social Care data dictionary.
- High-level architecture diagram.
- Adult Social Care data flow diagram.
- Adult Social Care table relationship diagram.
- GitHub labels, milestones and project board.

### Changed

- Renamed the project direction from a care-only synthetic data generator to a broader synthetic operational data framework.
- Reframed Adult Social Care as the first domain module rather than the entire product.
- Updated care home generation from purely random generation to scenario-driven generation.
- Updated ID generation to support reusable custom ID formats across future domains and tables.
- Updated the Adult Social Care sample generation script to output both care homes and residents.

### Fixed

- Corrected local Git repository boundary so SynthOps is tracked as its own repository.
- Fixed local package import issue by adding `pyproject.toml` and installing the package in editable mode.
- Updated occupancy tests to reflect care home type-specific occupancy ranges.
- Resolved CSV overwrite issue caused by the sample file being open in Excel.
- Removed empty duplicate documentation files to avoid confusion.
- Added missing `CONTRIBUTING.md` file to the repository.

### Documentation

- Added responsible-use language to clarify that SynthOps generates fictional data for learning, analytics development and prototyping.
- Added architecture guidance explaining the separation between core utilities and domain modules.
- Added roadmap phases covering repository foundation, generator implementation, open-source product management and engineering maturity.
- Added design decision records for modular domain architecture and time-aware resident lifecycle modelling.
- Updated Adult Social Care documentation to describe the implemented resident lifecycle generator.
- Updated example generation script to output both care homes and residents.
- Added Adult Social Care data dictionary documenting implemented tables, columns, relationships, valid values and data quality rules.
- Added high-level architecture, Adult Social Care data flow and Adult Social Care table relationship diagrams.

---

## [0.1.0] - Planned

### Planned scope

The first pre-release will focus on establishing SynthOps as a credible open-source project foundation.

Expected scope:

- Repository documentation foundation.
- Adult Social Care `care_homes` generator.
- Core ID and date utilities.
- Sample CSV output.
- Test coverage for current generator behaviour.
- Initial GitHub issues and milestones.
- Clear responsible-use guidance.
- Added contributor guidance covering setup, branching, testing, pull requests and responsible synthetic data contribution.

---

Expand Down
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,14 @@ The project helps analysts, analytics engineers, BI developers, data scientists,

SynthOps is currently in early development.

Version 1 starts with an **Adult Social Care** domain module and will later expand into other operational domains such as finance operations, construction operations, SaaS metrics and workforce analytics.
Version `0.1.0` establishes the initial open-source project foundation and the first Adult Social Care generation capabilities.

Current implemented Adult Social Care tables:

- `care_homes`
- `residents`

The project is not yet a stable `1.0` release.

---

Expand Down
Loading