11# RFC 0012 — Temporal Regimes: Explicit Time Semantics for Tasks and Events
22
3- ** Status:** Phase 1 Implemented (v0.9.4 )
3+ ** Status:** Phase 2 Implemented (v0.10.0 )
44** Author:** utf8proj core team
55** Created:** 2026-01-18
66** Target Version:** ≥ 0.10
@@ -346,30 +346,30 @@ Work / Event / Deadline covers ~95% of real projects. Custom regimes deferred un
346346### 11.6 Phase 2 Implementation Checklist
347347
348348#### Grammar (utf8proj-parser)
349- - [ ] Add ` regime_attr ` to grammar: ` regime: work | event | deadline `
350- - [ ] Parse regime in task block
351- - [ ] Update serializer for round-trip
349+ - [x ] Add ` regime_attr ` to grammar: ` regime: work | event | deadline `
350+ - [x ] Parse regime in task block
351+ - [x ] Update serializer for round-trip
352352
353353#### Core Types (utf8proj-core)
354- - [ ] Add ` TemporalRegime ` enum
355- - [ ] Add ` Task.regime: Option<TemporalRegime> `
356- - [ ] Add ` Task.effective_regime() ` method (resolves implicit)
357- - [ ] Add diagnostic codes R001-R005
354+ - [x ] Add ` TemporalRegime ` enum
355+ - [x ] Add ` Task.regime: Option<TemporalRegime> `
356+ - [x ] Add ` Task.effective_regime() ` method (resolves implicit)
357+ - [ ] Add diagnostic codes R001-R005 (deferred)
358358
359359#### Solver (utf8proj-solver)
360- - [ ] Refactor constraint handling to use ` effective_regime() `
361- - [ ] Remove ` is_milestone ` special-casing (use regime instead)
362- - [ ] Emit R001-R005 diagnostics in ` analyze_project() `
360+ - [x ] Refactor constraint handling to use ` effective_regime() `
361+ - [x ] Remove ` is_milestone ` special-casing (use regime instead)
362+ - [ ] Emit R001-R005 diagnostics in ` analyze_project() ` (deferred)
363363
364364#### CLI (utf8proj-cli)
365- - [ ] Add ` --explain ` flag for verbose regime diagnostics
365+ - [ ] Add ` --explain ` flag for verbose regime diagnostics (deferred)
366366
367367#### Tests
368- - [ ] Explicit ` regime: event ` on non-milestone task
369- - [ ] Explicit ` regime: work ` on milestone (override)
370- - [ ] Mixed-regime dependency chain
371- - [ ] Container with explicit regime (error)
372- - [ ] Deadline regime basics
368+ - [x ] Explicit ` regime: event ` on non-milestone task
369+ - [x ] Explicit ` regime: work ` on milestone (override)
370+ - [x ] Mixed-regime dependency chain
371+ - [x ] Container with explicit regime (error)
372+ - [x ] Deadline regime basics
373373
374374---
375375
@@ -391,11 +391,15 @@ This is not a scheduling tweak — it is a **conceptual correction** that crosse
391391| Phase | Status | Version |
392392| -------| --------| ---------|
393393| Phase 1: Implicit regimes | ✅ Implemented | v0.9.4 |
394- | Phase 2: Explicit ` regime: ` syntax | 📝 Design Finalized | v0.10+ |
395-
396- ** Next steps:**
397- 1 . Implement Phase 2 grammar and parser
398- 2 . Add ` TemporalRegime ` enum to core types
399- 3 . Refactor solver to use ` effective_regime() `
400- 4 . Add R001-R005 diagnostics
401- 5 . Write acceptance tests
394+ | Phase 2: Explicit ` regime: ` syntax | ✅ Implemented | v0.10.0 |
395+
396+ ** Completed in v0.10.0:**
397+ - Grammar: ` regime: work | event | deadline ` parsed
398+ - Core: ` TemporalRegime ` enum with ` effective_regime() ` resolution
399+ - Solver: Constraint handling uses regime, not ` is_milestone `
400+ - Tests: Unit and E2E tests for all regime types
401+ - Playground: Syntax highlighting and example project
402+
403+ ** Deferred (low priority):**
404+ - R001-R005 diagnostic codes (informative, not blocking)
405+ - ` --explain ` CLI flag for verbose regime diagnostics
0 commit comments