Implement configuration builders for profiles and services #12

Closed
opened 2026-06-06 14:02:49 +02:00 by yorunikakeru · 0 comments
Owner

Parent: #2

Goal

Implement the typed builder layer that accumulates user declarations into UnvalidatedConfiguration.

Tasks

  • Implement top-level configuration accumulation.
  • Implement profile and service area builders.
  • Implement when nesting without allowing conditions to be used as actions.
  • Permit conditions, policies, and actions in either area as documented.
  • Preserve declaration context needed for useful validation errors.

Acceptance criteria

  • README profile and service examples produce UnvalidatedConfiguration.
  • Builder API does not expose raw list mutation or validated IR constructors.
  • Multiple declarations accumulate deterministically in source order.
  • Structurally invalid usage fails to type-check.
Parent: #2 ## Goal Implement the typed builder layer that accumulates user declarations into `UnvalidatedConfiguration`. ## Tasks - Implement top-level configuration accumulation. - Implement `profile` and `service` area builders. - Implement `when` nesting without allowing conditions to be used as actions. - Permit conditions, policies, and actions in either area as documented. - Preserve declaration context needed for useful validation errors. ## Acceptance criteria - README profile and service examples produce `UnvalidatedConfiguration`. - Builder API does not expose raw list mutation or validated IR constructors. - Multiple declarations accumulate deterministically in source order. - Structurally invalid usage fails to type-check.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
FrogOS/DSL#12
No description provided.