Skip to content

Commit 4e6e1b1

Browse files
committed
bd sync: 2026-01-20 10:36:33
1 parent b5d8a0e commit 4e6e1b1

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

.beads/issues.jsonl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
{"id":"ash_backpex-5xk.4","title":"Implement function-based mappings","design":"Support field_type_mappings as a function with signature fn type, constraints -\u003e module | nil end. Function receives Ash type and constraints map. Return nil to fall back to defaults. Wrap function calls in try/rescue to catch exceptions and re-raise as compile-time errors with context.","acceptance_criteria":"Function-based mapping works with type and constraints args. Returning nil falls back to default. Exceptions are caught and re-raised with helpful context (which field, what error). Invalid return values (not module or nil) raise compile-time error.","status":"closed","priority":2,"issue_type":"task","owner":"enoonan@arcstone.com","created_at":"2026-01-20T08:16:40.273508-05:00","created_by":"Eileen Noonan","updated_at":"2026-01-20T14:49:06.946023158Z","closed_at":"2026-01-20T14:49:06.946023158Z","close_reason":"Closed","dependencies":[{"issue_id":"ash_backpex-5xk.4","depends_on_id":"ash_backpex-5xk","type":"parent-child","created_at":"2026-01-20T08:16:40.274386-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.4","depends_on_id":"ash_backpex-5xk.2","type":"blocks","created_at":"2026-01-20T08:18:03.49774-05:00","created_by":"Eileen Noonan"}]}
66
{"id":"ash_backpex-5xk.5","title":"Add module validation for mapped fields","design":"Validate that mapped modules: 1) exist/are compiled (Code.ensure_loaded), 2) implement Backpex.Field behavior (check for behaviour attribute or required callbacks like render/1). Raise helpful compile-time errors with module name and what's wrong.","acceptance_criteria":"Non-existent modules raise clear error. Modules not implementing Backpex.Field behavior raise clear error. Valid modules pass validation silently.","status":"closed","priority":2,"issue_type":"task","owner":"enoonan@arcstone.com","created_at":"2026-01-20T08:16:46.194616-05:00","created_by":"Eileen Noonan","updated_at":"2026-01-20T14:52:50.304093467Z","closed_at":"2026-01-20T14:52:50.304093467Z","close_reason":"Closed","dependencies":[{"issue_id":"ash_backpex-5xk.5","depends_on_id":"ash_backpex-5xk","type":"parent-child","created_at":"2026-01-20T08:16:46.19547-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.5","depends_on_id":"ash_backpex-5xk.2","type":"blocks","created_at":"2026-01-20T08:18:05.432304-05:00","created_by":"Eileen Noonan"}]}
77
{"id":"ash_backpex-5xk.6","title":"Add configuration format validation","design":"Validate field_type_mappings config value is either a map or a function. Validate map keys are valid Ash type modules or tuple types. Raise compile-time errors with clear instructions for invalid formats.","acceptance_criteria":"Invalid config type (not map or function) raises clear error. Invalid map keys raise helpful error. Valid configs pass silently.","status":"closed","priority":2,"issue_type":"task","owner":"enoonan@arcstone.com","created_at":"2026-01-20T08:16:50.976484-05:00","created_by":"Eileen Noonan","updated_at":"2026-01-20T09:58:52.17126-05:00","closed_at":"2026-01-20T09:58:52.17126-05:00","close_reason":"Validation implemented with comprehensive tests - validates map/function types and map keys","dependencies":[{"issue_id":"ash_backpex-5xk.6","depends_on_id":"ash_backpex-5xk","type":"parent-child","created_at":"2026-01-20T08:16:50.97726-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.6","depends_on_id":"ash_backpex-5xk.1","type":"blocks","created_at":"2026-01-20T08:18:08.194077-05:00","created_by":"Eileen Noonan"}]}
8-
{"id":"ash_backpex-5xk.7","title":"Write unit tests for config reading and validation","design":"Test config reader: global config, app-scoped config, precedence (app over global), missing config returns nil. Test validation: invalid types rejected, invalid map keys rejected, valid configs accepted. Test function-based: exceptions caught, invalid returns caught, nil returns handled.","acceptance_criteria":"Full coverage of config reading logic. Full coverage of validation logic. Tests document expected behavior clearly.","status":"in_progress","priority":2,"issue_type":"task","owner":"enoonan@arcstone.com","created_at":"2026-01-20T08:16:55.853931-05:00","created_by":"Eileen Noonan","updated_at":"2026-01-20T15:14:20.615248786Z","dependencies":[{"issue_id":"ash_backpex-5xk.7","depends_on_id":"ash_backpex-5xk","type":"parent-child","created_at":"2026-01-20T08:16:55.854697-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.7","depends_on_id":"ash_backpex-5xk.5","type":"blocks","created_at":"2026-01-20T08:18:17.692824-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.7","depends_on_id":"ash_backpex-5xk.6","type":"blocks","created_at":"2026-01-20T08:18:17.742653-05:00","created_by":"Eileen Noonan"}]}
8+
{"id":"ash_backpex-5xk.7","title":"Write unit tests for config reading and validation","design":"Test config reader: global config, app-scoped config, precedence (app over global), missing config returns nil. Test validation: invalid types rejected, invalid map keys rejected, valid configs accepted. Test function-based: exceptions caught, invalid returns caught, nil returns handled.","acceptance_criteria":"Full coverage of config reading logic. Full coverage of validation logic. Tests document expected behavior clearly.","status":"closed","priority":2,"issue_type":"task","owner":"enoonan@arcstone.com","created_at":"2026-01-20T08:16:55.853931-05:00","created_by":"Eileen Noonan","updated_at":"2026-01-20T15:16:05.27901871Z","closed_at":"2026-01-20T15:16:05.279449133Z","dependencies":[{"issue_id":"ash_backpex-5xk.7","depends_on_id":"ash_backpex-5xk","type":"parent-child","created_at":"2026-01-20T08:16:55.854697-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.7","depends_on_id":"ash_backpex-5xk.5","type":"blocks","created_at":"2026-01-20T08:18:17.692824-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.7","depends_on_id":"ash_backpex-5xk.6","type":"blocks","created_at":"2026-01-20T08:18:17.742653-05:00","created_by":"Eileen Noonan"}]}
99
{"id":"ash_backpex-5xk.8","title":"Write integration tests with LiveResource modules","design":"Test full flow: configure mapping, define LiveResource with mapped type, verify generated field uses custom module. Test with SQLite fixtures following existing test patterns. Cover: default override, custom Ash types, array types, function-based mapping, explicit module precedence.","acceptance_criteria":"Integration tests verify end-to-end behavior. Tests use existing fixture patterns. All user story acceptance scenarios covered.","status":"open","priority":2,"issue_type":"task","owner":"enoonan@arcstone.com","created_at":"2026-01-20T08:17:01.467052-05:00","created_by":"Eileen Noonan","updated_at":"2026-01-20T08:17:01.467052-05:00","dependencies":[{"issue_id":"ash_backpex-5xk.8","depends_on_id":"ash_backpex-5xk","type":"parent-child","created_at":"2026-01-20T08:17:01.468344-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.8","depends_on_id":"ash_backpex-5xk.3","type":"blocks","created_at":"2026-01-20T08:18:21.68557-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.8","depends_on_id":"ash_backpex-5xk.4","type":"blocks","created_at":"2026-01-20T08:18:21.722936-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.8","depends_on_id":"ash_backpex-5xk.5","type":"blocks","created_at":"2026-01-20T08:18:21.761329-05:00","created_by":"Eileen Noonan"}]}
1010
{"id":"ash_backpex-5xk.9","title":"Update documentation for custom field mappings","design":"Document in module docs and README: configuration options (global vs app-scoped), precedence rules (explicit \u003e app-scoped \u003e global \u003e default), map format, function format with signature, examples for common use cases (custom RichText, Money fields, custom Ash types).","acceptance_criteria":"Config options documented with examples. Precedence rules clearly explained. Common use cases shown. Matches SC-004 from spec.","status":"open","priority":2,"issue_type":"task","owner":"enoonan@arcstone.com","created_at":"2026-01-20T08:17:07.436137-05:00","created_by":"Eileen Noonan","updated_at":"2026-01-20T08:17:07.436137-05:00","dependencies":[{"issue_id":"ash_backpex-5xk.9","depends_on_id":"ash_backpex-5xk","type":"parent-child","created_at":"2026-01-20T08:17:07.436989-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.9","depends_on_id":"ash_backpex-5xk.7","type":"blocks","created_at":"2026-01-20T08:18:25.267691-05:00","created_by":"Eileen Noonan"},{"issue_id":"ash_backpex-5xk.9","depends_on_id":"ash_backpex-5xk.8","type":"blocks","created_at":"2026-01-20T08:18:25.305433-05:00","created_by":"Eileen Noonan"}]}

0 commit comments

Comments
 (0)