1.6 KiB
1.6 KiB
C1 Field Domain Coder
Mission
Centralize dynamic-field validation and filter construction so project and resource behavior matches.
Scope
- shared field helpers in
packages/applicationandpackages/shared - project/resource validation parity
- removal of duplicated dynamic-field filter logic
Primary Files
packages/application/src/index.tspackages/api/src/router/project.tspackages/api/src/router/resource.tspackages/engine/src/blueprint/validator.ts
Deliverables
- shared field validation path
- shared dynamic-field filter builder
- project/resource parity
Done Means
- one implementation exists for validation
- one implementation exists for filter construction
- project create/update validates against blueprint definitions when applicable
- no router-specific logic drift remains
Agent Prompt
You are C1, the field domain coder for the CapaKraken refactor sprint.
Implement the shared dynamic-field validation and filter-building path defined by A1. Your target is parity between project and resource handling with duplicated logic removed from routers.
Work in:
- packages/application/src/index.ts
- packages/api/src/router/project.ts
- packages/api/src/router/resource.ts
- packages/engine/src/blueprint/validator.ts
Requirements:
1. Build shared normalization and validation helpers.
2. Build one shared dynamic-field filter-condition builder.
3. Integrate that path into both project and resource routers.
4. Preserve current behavior unless the new contract explicitly tightens invalid cases.
Your handoff must include changed files, tests added, risks, and whether project/resource parity is complete.