[Feature] Persist canonical pipeline definitions and immutable revisions #2

Closed
opened 2026-07-28 00:58:08 +02:00 by zemion · 1 comment
Owner

Parent: #1

Scope

Store tenant-isolated pipeline metadata, a canonical directed graph, editor source text, lifecycle state, and immutable saved revisions. Updates use optimistic revision checks so two editors cannot silently overwrite one another.

Acceptance Criteria

  • Pipeline CRUD is permissioned and tenant isolated.
  • The graph schema has stable node/edge identifiers, typed nodes, positions, configuration, and explicit ports.
  • Saving creates an immutable revision carrying actor, timestamp, schema version, and content hash.
  • Concurrent stale updates return a conflict rather than overwriting.
  • Delete/retirement and module uninstall behavior protect persisted definitions and run evidence.
  • Migrations and model/service tests cover create, update, list, conflict, and isolation.
Parent: https://git.add-ideas.de/GovOPlaN/govoplan-dataflow/issues/1 ## Scope Store tenant-isolated pipeline metadata, a canonical directed graph, editor source text, lifecycle state, and immutable saved revisions. Updates use optimistic revision checks so two editors cannot silently overwrite one another. ## Acceptance Criteria - [ ] Pipeline CRUD is permissioned and tenant isolated. - [ ] The graph schema has stable node/edge identifiers, typed nodes, positions, configuration, and explicit ports. - [ ] Saving creates an immutable revision carrying actor, timestamp, schema version, and content hash. - [ ] Concurrent stale updates return a conflict rather than overwriting. - [ ] Delete/retirement and module uninstall behavior protect persisted definitions and run evidence. - [ ] Migrations and model/service tests cover create, update, list, conflict, and isolation.
Author
Owner

Codex State: done

Summary

  • Implemented canonical graph persistence, immutable definition revisions, optimistic revision conflicts, tenant isolation, soft deletion, migration ownership, and uninstall guards.

Changed Files

  • src/govoplan_dataflow/backend/db/models.py
  • src/govoplan_dataflow/backend/schemas.py
  • src/govoplan_dataflow/backend/service.py
  • src/govoplan_dataflow/backend/router.py
  • src/govoplan_dataflow/backend/migrations

Verification

  • Dataflow service and migration tests pass, including create/update/list/delete/conflict/isolation and preserved revision evidence.
## Codex State: done ### Summary - Implemented canonical graph persistence, immutable definition revisions, optimistic revision conflicts, tenant isolation, soft deletion, migration ownership, and uninstall guards. ### Changed Files - `src/govoplan_dataflow/backend/db/models.py` - `src/govoplan_dataflow/backend/schemas.py` - `src/govoplan_dataflow/backend/service.py` - `src/govoplan_dataflow/backend/router.py` - `src/govoplan_dataflow/backend/migrations` ### Verification - `Dataflow service and migration tests pass, including create/update/list/delete/conflict/isolation and preserved revision evidence.`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-dataflow#2
No description provided.