Spensara Spensara Knowledge Base & Documentation Repository

Repository Docs & Knowledge Base

Consolidated Spensara documentation repository (722 Markdown & architecture documents in ../repository)
Built Word Documents (.docx): Spensara Overview (.docx) Capability Assessment (.docx) Brink POS Ingestion Analysis (.docx) The Borg Ingestion Architecture (.docx)

Implementation Specs (157)

Detailed engineering and feature implementation specifications.
implementation-specs/specs/CuratedToS3Stage/TASK0.md 2,391 bytes · Updated Oct 23, 2026 10:44 AM EDT
Raw File

TASK 0: Freeze Minimal curated_to_s3 Delivery Contract

Summary

Freeze exact scope and success boundary for first curated_to_s3 delivery before runtime code starts.

Dependencies

  • none

Files to Modify

  • specs/CuratedToS3Stage/TASK.md
  • specs/CuratedToS3Stage/TASK0.md
  • optionally docs/features/ETL/etl-source-adapter-framework.md if stage description is tightened

Progress Checklist

  • [ ] First-adopter scope documented as Brink only
  • [ ] First exported entities documented as curated.pos_orders and curated.pos_order_items
  • [ ] Framework vs adapter ownership documented
  • [ ] UNLOAD execution model documented
  • [ ] Parent-batch success boundary documented
  • [ ] Existing curated S3 path standard documented
  • [ ] Out-of-scope Athena/Glue items documented

Required Decisions

1. Freeze first source and entity scope

Document that Brink is first adopter and first exported entities are:

  • curated.pos_orders
  • curated.pos_order_items

2. Freeze ownership split

Document that:

  • export list and export SELECT semantics are adapter-owned,
  • export catalog contracts, Redshift execution mechanics, and common command shaping are shared.

Document extensibility requirement:

  • new entities for Brink should be added by catalog extension,
  • new source systems should adopt same stage by implementing shared export catalog contract.

3. Freeze execution model

Document that export uses Redshift UNLOAD to write Parquet directly to S3 curated prefix.

Document non-goal:

  • application code does not read curated rows and rewrite Parquet itself.

4. Freeze success boundary

Document that parent ETL batch succeeds only after curated_to_s3 succeeds.

curated_to_s3 must therefore have:

  • explicit stage identity,
  • explicit failure path,
  • explicit checkpoint semantics.

5. Freeze path contract source

Document that S3 object keys reuse existing project curated-path standard.

Acceptance Criteria

  • first source and entities are explicitly frozen,
  • first-adopter vs framework boundary is explicit,
  • ownership split is explicit,
  • Redshift UNLOAD is explicit execution model,
  • success boundary includes export stage,
  • S3 path source is explicit,
  • non-goals prevent scope drift into Athena/Glue work.

Notes

  • This task is decision-record only.
  • Do not start executor or stage implementation here.