feat: move report artifacts to OSS storage
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
| 1 | Browser XML upload | Uploaded-basename task provenance + private canonical source object + queued DB job | Filename/content/size and immutable object identity |
|
||||
| 2 | Committed source object | Isolated processor input | Materialization rechecks stored bytes |
|
||||
| 3 | Fixed `process_daily.py` | Daily/result/structured or failure artifacts | Timeout, confined paths, exit/JSON agreement |
|
||||
| 4 | Local artifacts | Private committed OSS objects | Role, MIME, size and SHA-256 |
|
||||
| 4 | Validated processor/report artifacts | Private committed OSS objects | Role, MIME, size and SHA-256 |
|
||||
| 5 | Canonical `DeliveryEnvelope` | `DeliveryValidator` | Strict Schema, reconciliation, source/artifact hashes and independent validation |
|
||||
| 6 | Verified delivery | PostgreSQL Finance facts | Serializable atomic commit/version activation |
|
||||
| 7 | Accepted/failed run | Task trace and outbox | Persisted state is authoritative |
|
||||
@@ -36,7 +36,9 @@
|
||||
- `processing_runs.uploaded_filename` owns the user-facing browser basename; the source artifact remains canonically
|
||||
named `source.xml` for processing and validation.
|
||||
- Temporary processor/validator paths are deleted after each request.
|
||||
- Monthly XLSX/result bytes live in immutable local archive paths on the current shared output volume; generated report artifacts are derived outputs, not an alternative business fact source.
|
||||
- New monthly/company XLSX and `result.json` bytes live in immutable private OSS objects; the database stores provider,
|
||||
bucket alias, object key and identity. The controlled local reader remains available for historical local records,
|
||||
while `/app/outputs` is only staging/cache and local `.web-jobs` state.
|
||||
|
||||
## Booking Source And Company-Report Flow
|
||||
|
||||
|
||||
Reference in New Issue
Block a user