Problem
getProject() factory accepts statusFieldId and statusOptions as optional config, but updateItemStatus() throws INVALID_STATUS at runtime if they're missing. No upfront validation.
Additionally:
ProjectItem.fields is always empty despite type definition promising field data
updateItemField() is hardcoded to single-select fields only — no warning for text/number/date types
- Config discovery (project ID, field ID, option IDs) requires manual GraphQL queries with no helper
Expected
Factory should validate required fields when status-related methods will be used, or at minimum document the requirement clearly.
Found during
CLAUDE.md audit — packages/projects/src/
Problem
getProject()factory acceptsstatusFieldIdandstatusOptionsas optional config, butupdateItemStatus()throwsINVALID_STATUSat runtime if they're missing. No upfront validation.Additionally:
ProjectItem.fieldsis always empty despite type definition promising field dataupdateItemField()is hardcoded to single-select fields only — no warning for text/number/date typesExpected
Factory should validate required fields when status-related methods will be used, or at minimum document the requirement clearly.
Found during
CLAUDE.md audit —
packages/projects/src/