# TASK 2: Add Adapter Export Catalog Model And Brink First-Adopter Catalog

## Summary

Add adapter-owned export catalog content through Brink first adopter using framework-owned export contract.

## Dependencies

- [TASK 0](./TASK0.md) - Freeze minimal `curated_to_s3` delivery contract

## Files to Create

### 1. Brink export catalog

Create Brink-owned catalog equivalent to:

- `BrinkPosCuratedExportCatalog`

## Files to Modify

### 3. Brink adapter composition

Wire catalog into Brink ETL composition so stage/jobs can request export definitions without hardcoded target SQL.

## Progress Checklist

- [ ] Brink export catalog created
- [ ] Catalog limited to `curated.pos_orders` and `curated.pos_order_items`
- [ ] Export definitions include target name and logical entity name
- [ ] Export definitions include `SELECT` shape
- [ ] Export definitions include `tenant_id` in export rowset
- [ ] Export definitions include S3 entity naming/path inputs
- [ ] Brink composition wired to catalog
- [ ] Unit tests added for target set and shape

## Required Behavior

- catalog defines exports for `curated.pos_orders` and `curated.pos_order_items` only,
- each export definition provides target name, `SELECT` shape, and S3 entity naming,
- export rowset includes `tenant_id`,
- catalog content stays Brink-owned,
- catalog shape is compatible with later non-Brink adapters,
- job class does not inline export SQL literals.

## Testing

### Unit tests

Add unit tests for:

- exported target set,
- required fields in each export definition,
- presence of `tenant_id` in export shape.

## Acceptance Criteria

- Brink export catalog exists,
- export catalog model is proven through first adopter implementation,
- first entity scope is exactly two curated targets,
- target metadata comes from catalog, not job-class literals,
- tests lock exported target set and shape.

## Notes

- Keep catalog content minimal.
- Do not broaden Brink curated export scope in this task.
