[Task] Copy/freeze selected files into managed storage for execution evidence #5

Closed
opened 2026-07-06 11:35:49 +02:00 by zemion · 1 comment
Owner

Imported from the consolidated GovOPlaN product backlog.

  • Source: /mnt/DATA/Nextcloud/ADD ideas UG/Products/govoplan/backlog.md
  • Line: 118
  • Section: Milestones > Milestone 6 - External Storage Connectors
  • Source status: OPEN.

Imported backlog item:

- [ ] Copy/freeze selected files into managed storage for execution evidence.
<!-- codex-backlog-fingerprint:203e874dbaf92b2fe96447d3 --> Imported from the consolidated GovOPlaN product backlog. - Source: `/mnt/DATA/Nextcloud/ADD ideas UG/Products/govoplan/backlog.md` - Line: `118` - Section: `Milestones > Milestone 6 - External Storage Connectors` - Source status: `OPEN.` Imported backlog item: ```markdown - [ ] Copy/freeze selected files into managed storage for execution evidence. ```
zemion added this to the Milestone 6 - External Storage Connectors milestone 2026-07-06 13:22:24 +02:00
Author
Owner

Codex State: done

Summary

  • Closed for the managed-storage freeze/evidence layer: selected files are stored as managed FileAsset/FileVersion/FileBlob records, and campaign builds record immutable CampaignAttachmentUse rows for the exact selected file version/blob.
  • The new provenance/import work gives connector-derived files a stable managed-storage import path with source_revision/source_provenance before they are used by campaigns.
  • The send regression proves execution no longer depends on live storage after build: the original stored object can be removed and the live file overwritten, while send still uses the frozen EML bytes and sent evidence remains bound to the built version/blob.
  • Provider-specific connector browsing/configuration remains tracked by the still-open connector-provider issues.

Changed Files

  • src/govoplan_files/backend/storage/campaign_attachments.py
  • src/govoplan_files/backend/storage/campaign_usage.py
  • src/govoplan_files/backend/storage/provenance.py
  • src/govoplan_files/backend/router.py
  • ../govoplan-core/tests/test_api_smoke.py

Verification

  • ./.venv/bin/python -m unittest tests.test_api_smoke.ApiSmokeTests.test_managed_file_runtime_flow tests.test_api_smoke.ApiSmokeTests.test_managed_attachment_patterns_preview_build_and_mock_send tests.test_api_smoke.ApiSmokeTests.test_managed_attachment_send_uses_frozen_build_artifact_after_file_changes
## Codex State: done ### Summary - Closed for the managed-storage freeze/evidence layer: selected files are stored as managed FileAsset/FileVersion/FileBlob records, and campaign builds record immutable CampaignAttachmentUse rows for the exact selected file version/blob. - The new provenance/import work gives connector-derived files a stable managed-storage import path with source_revision/source_provenance before they are used by campaigns. - The send regression proves execution no longer depends on live storage after build: the original stored object can be removed and the live file overwritten, while send still uses the frozen EML bytes and sent evidence remains bound to the built version/blob. - Provider-specific connector browsing/configuration remains tracked by the still-open connector-provider issues. ### Changed Files - `src/govoplan_files/backend/storage/campaign_attachments.py` - `src/govoplan_files/backend/storage/campaign_usage.py` - `src/govoplan_files/backend/storage/provenance.py` - `src/govoplan_files/backend/router.py` - `../govoplan-core/tests/test_api_smoke.py` ### Verification - `./.venv/bin/python -m unittest tests.test_api_smoke.ApiSmokeTests.test_managed_file_runtime_flow tests.test_api_smoke.ApiSmokeTests.test_managed_attachment_patterns_preview_build_and_mock_send tests.test_api_smoke.ApiSmokeTests.test_managed_attachment_send_uses_frozen_build_artifact_after_file_changes`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: add-ideas/govoplan-files#5
No description provided.