Skip to content

Commit b486612

Browse files
alanbldclaude
andcommitted
docs: update RFC-0012 status to Phase 2 Implemented
- Mark Phase 2 as implemented in v0.10.0 - Update implementation checklist with completed items - Note deferred items (R001-R005 diagnostics, --explain flag) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 6b95aca commit b486612

File tree

1 file changed

+29
-25
lines changed

1 file changed

+29
-25
lines changed

docs/rfc/RFC-0012-TEMPORAL-REGIMES.md

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
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

Comments
 (0)