Workstream: Type system · Part of #89
Context
CEL has a first-class duration type; SchemaForge has none — @format("Duration") is display-only over an int. Duration is the highest-value missing type for a federal records platform: retention windows, TTLs, SLA timers.
Scope
- New
FieldType::Duration + DynamicValue::Duration (crates/schema-forge-core/src/types/field_type.rs, dynamic_value.rs).
- DSL syntax + literal form (e.g.
duration("2555d")).
- Timestamp↔duration arithmetic in rules (pairs with existing
DateTime).
Acceptance
- A
duration field round-trips; rules can compute now() - created_at > duration(...).
Enables records-retention rules in the rules engine (#89).
Dependencies: Parallelizable now — independent of the substrate decision. Soft.
Workstream: Type system · Part of #89
Context
CEL has a first-class
durationtype; SchemaForge has none —@format("Duration")is display-only over an int. Duration is the highest-value missing type for a federal records platform: retention windows, TTLs, SLA timers.Scope
FieldType::Duration+DynamicValue::Duration(crates/schema-forge-core/src/types/field_type.rs,dynamic_value.rs).duration("2555d")).DateTime).Acceptance
durationfield round-trips; rules can computenow() - created_at > duration(...).Enables records-retention rules in the rules engine (#89).
Dependencies: Parallelizable now — independent of the substrate decision. Soft.