Summary
This RFC proposes a foundational modeling standard for how Curb Zones
reference Policies and Rules in the Curb Data Specification (CDS).
CDS allows flexibility — but without a city-wide convention,
implementations will diverge and become impossible to reconcile at scale.
We need to pick one approach and enforce it consistently across all
zones, vendors, and time.
Background
CDS allows:
- A Curb Zone to reference multiple Policies
- A Policy to contain one or more Rules
- Rules within the same policy to have different time spans, user
classes, and eligibility conditions
This flexibility is a feature — but it also means two valid
implementations can produce incompatible data structures. That
inconsistency propagates directly into Events and Metrics and cannot
be fixed retroactively.
This decision also affects:
- User Classes — who a regulation applies to
- Events — what actually happened at the curb at a specific moment
- Metrics — aggregated from events, often recomputed historically
- Objects — vehicles/devices interacting with policies over time
The policy structure must reliably answer, years later:
- What policy applied at the time this event occurred?
- Which user class was this object operating under?
- Why does this metric look the way it does for a past period?
Options
Option 1: One Policy = One Rule ✅ (Recommended)
Zones reference multiple policies. Each policy represents one atomic rule.
Pros
- Clear, atomic meaning — no ambiguity about what a policy allows
- Strong historical integrity — policies stay immutable; changes create
new policies
- Simpler event evaluation — no nested rule logic to unpack
- Cleaner metrics and analytics — traceable to specific policies
- Lower integration risk — fewer interpretation paths for vendors
- Scales better — easier to audit, debug, and reprocess at volume
Cons
- More policy objects over time
- Requires discipline around immutability and reuse
Option 2: One Policy with Multiple Rules
Zones reference fewer policies. Rules vary by user class, time span,
or use case within a single policy.
Pros
- More compact representation
- Leverages full CDS flexibility
- Can work well in limited-scope pilots
Cons
- Higher cognitive load — must evaluate rule-level logic to determine
what applies
- Greater historical risk — rule changes can corrupt event/metric
interpretation
- More complex change management — requires versioning or snapshots
- Harder to audit and debug
- Scales poorly without strong governance controls
Recommendation
Adopt Option 1: One Policy = One Rule.
At city scale — with long-lived events, historical metrics, object-based
analytics, multiple vendors, and audit requirements — Option 1 provides:
- Clearer change management
- Stronger historical guarantees
- Lower long-term operational risk
Both approaches are CDS-compliant. This is not a correctness question.
It is a durability and consistency question.
Mixing approaches is not acceptable. Some zones using separate
policies while others embed rules in a single policy will introduce
ambiguity into Events and Metrics that cannot be unwound retroactively.
Decision Required
References
- CDS Policy specification
- CDS Rule specification
- CDS Curb Zone specification
Summary
This RFC proposes a foundational modeling standard for how Curb Zones
reference Policies and Rules in the Curb Data Specification (CDS).
CDS allows flexibility — but without a city-wide convention,
implementations will diverge and become impossible to reconcile at scale.
We need to pick one approach and enforce it consistently across all
zones, vendors, and time.
Background
CDS allows:
classes, and eligibility conditions
This flexibility is a feature — but it also means two valid
implementations can produce incompatible data structures. That
inconsistency propagates directly into Events and Metrics and cannot
be fixed retroactively.
This decision also affects:
The policy structure must reliably answer, years later:
Options
Option 1: One Policy = One Rule ✅ (Recommended)
Pros
new policies
Cons
Option 2: One Policy with Multiple Rules
Pros
Cons
what applies
interpretation
Recommendation
Adopt Option 1: One Policy = One Rule.
At city scale — with long-lived events, historical metrics, object-based
analytics, multiple vendors, and audit requirements — Option 1 provides:
Both approaches are CDS-compliant. This is not a correctness question.
It is a durability and consistency question.
Mixing approaches is not acceptable. Some zones using separate
policies while others embed rules in a single policy will introduce
ambiguity into Events and Metrics that cannot be unwound retroactively.
Decision Required
References