@@ -208,50 +208,50 @@ All acceptance tests are in `crates/utf8proj-solver/tests/progress_aware_cpm.rs`
208208
209209### Phase A: Core Types (utf8proj-core)
210210
211- - [ ] Add ` Project.status_date: Option<NaiveDate> `
212- - [ ] Add ` Task.explicit_remaining: Option<Duration> `
213- - [ ] Add ` DiagnosticCode::P005RemainingCompleteConflict `
214- - [ ] Add ` DiagnosticCode::P006ContainerCompleteOverride `
215- - [ ] Update ` Project::new() ` defaults
216- - [ ] Update ` Task::new() ` defaults
211+ - [x ] Add ` Project.status_date: Option<NaiveDate> `
212+ - [x ] Add ` Task.explicit_remaining: Option<Duration> `
213+ - [x ] Add ` DiagnosticCode::P005RemainingCompleteConflict `
214+ - [x ] Add ` DiagnosticCode::P006ContainerCompleteOverride `
215+ - [x ] Update ` Project::new() ` defaults
216+ - [x ] Update ` Task::new() ` defaults
217217
218218### Phase B: Solver (utf8proj-solver)
219219
220- - [ ] Add ` CpmSolver.status_date_override: Option<NaiveDate> `
221- - [ ] Add ` CpmSolver::with_status_date() ` constructor
222- - [ ] Add ` effective_status_date() ` method
223- - [ ] Implement Rule 1: completed task locking
224- - [ ] Implement Rule 2: in-progress scheduling from status_date
225- - [ ] Ensure Rule 3: future tasks unchanged
226- - [ ] Add P005 emission in ` analyze_project() `
227- - [ ] Add P006 emission in ` analyze_project() `
220+ - [x ] Add ` CpmSolver.status_date_override: Option<NaiveDate> `
221+ - [x ] Add ` CpmSolver::with_status_date() ` constructor
222+ - [x ] Add ` effective_status_date() ` method
223+ - [x ] Implement Rule 1: completed task locking
224+ - [x ] Implement Rule 2: in-progress scheduling from status_date
225+ - [x ] Ensure Rule 3: future tasks unchanged
226+ - [x ] Add P005 emission in ` analyze_project() `
227+ - [x ] Add P006 emission in ` analyze_project() `
228228
229229### Phase C: Parser (utf8proj-parser)
230230
231- - [ ] Add ` status_date_attr ` to grammar
232- - [ ] Add ` remaining_attr ` to grammar
233- - [ ] Parse status_date in project block
234- - [ ] Parse remaining in task block
235- - [ ] Update serializer for round-trip
231+ - [x ] Add ` status_date_attr ` to grammar
232+ - [x ] Add ` remaining_attr ` to grammar
233+ - [x ] Parse status_date in project block
234+ - [x ] Parse remaining in task block
235+ - [x ] Update serializer for round-trip
236236
237237### Phase D: CLI (utf8proj-cli)
238238
239- - [ ] Add ` --as-of ` flag to schedule command
240- - [ ] Add ` --as-of ` flag to gantt command
241- - [ ] Add ` --as-of ` flag to check command
242- - [ ] Pass status_date to solver
239+ - [x ] Add ` --as-of ` flag to schedule command
240+ - [x ] Add ` --as-of ` flag to gantt command
241+ - [x ] Add ` --as-of ` flag to check command
242+ - [x ] Pass status_date to solver
243243
244244### Phase E: Test Enablement
245245
246- - [ ] Enable test_02 (partial progress)
247- - [ ] Enable test_02b (explicit remaining)
248- - [ ] Enable test_03 (future tasks)
249- - [ ] Enable test_04 (dependency chain)
250- - [ ] Enable test_06 (status_date field)
251- - [ ] Enable test_06b (CLI override)
252- - [ ] Enable test_07 (P005)
253- - [ ] Enable test_08 (P006)
254- - [ ] Enable test_08b (threshold)
246+ - [x ] Enable test_02 (partial progress)
247+ - [x ] Enable test_02b (explicit remaining)
248+ - [x ] Enable test_03 (future tasks)
249+ - [x ] Enable test_04 (dependency chain)
250+ - [x ] Enable test_06 (status_date field)
251+ - [x ] Enable test_06b (CLI override)
252+ - [x ] Enable test_07 (P005)
253+ - [x ] Enable test_08 (P006)
254+ - [x ] Enable test_08b (threshold)
255255
256256---
257257
0 commit comments