Phase 0 exit review #23

Closed
opened 2026-01-31 17:01:19 +01:00 by erikinkinen · 1 comment
Owner

Goal
Formally close Phase 0.

Steps

  • Run full end-to-end pipeline
  • Verify determinism across multiple seeds
  • Verify metrics correctness
  • Confirm no Phase 1 features leaked in

Exit condition

  • Phase 0 milestone can be closed with confidence
**Goal** Formally close Phase 0. **Steps** * [x] Run full end-to-end pipeline * [x] Verify determinism across multiple seeds * [x] Verify metrics correctness * [x] Confirm no Phase 1 features leaked in **Exit condition** * Phase 0 milestone can be closed with confidence
erikinkinen added this to the Phase 0 milestone 2026-01-31 17:01:19 +01:00
Author
Owner

Phase 0 Exit Review (#23): PASS

Checks completed:

  1. Full end-to-end pipeline:
  2. cmake --build _build passed
  3. ctest --test-dir _build --output-on-failure passed (36/36)
  4. Determinism across multiple seeds:
  5. Ran aes simulate twice per case for 4 seeds (0, 1, 42, 3735928559) across 4 scenarios (linear/branching x accumulate/transfer)
  6. Verified byte-identical .jsonl and .csv outputs for each same-seed/same-args pair (16/16 cases passed)
  7. Metrics correctness:
  8. For each scenario/seed, compared aes_metrics <log> JSON output with simulate CSV output
  9. total_caps, caps_per_subject, and caps_per_object all matched
  10. No Phase 1 feature leak:
  11. Event system contains only Phase 0 event set (event.hpp)
  12. Engine mutation path goes through apply_event in step() (engine.cpp)
  13. Stores keep mutation methods private (subject_store.hpp)
  14. One reserved placeholder exists: w_revoke in workload params (workload.hpp), but it is not wired into behavior

Exit criteria assessment:

  • Reconstructible from history: satisfied (replay/hash/metrics paths and tests passed)
  • Determinism across runs: satisfied
  • Metrics from logs/snapshots only: satisfied
  • No mutation bypass in production path: satisfied

Recommendation: close Phase 0 milestone with confidence.

**Phase 0 Exit Review (#23): PASS** Checks completed: 1. Full end-to-end pipeline: 1. `cmake --build _build` passed 2. `ctest --test-dir _build --output-on-failure` passed (`36/36`) 2. Determinism across multiple seeds: 1. Ran `aes simulate` twice per case for 4 seeds (`0, 1, 42, 3735928559`) across 4 scenarios (`linear/branching` x `accumulate/transfer`) 2. Verified byte-identical `.jsonl` and `.csv` outputs for each same-seed/same-args pair (`16/16` cases passed) 3. Metrics correctness: 1. For each scenario/seed, compared `aes_metrics <log>` JSON output with `simulate` CSV output 2. `total_caps`, `caps_per_subject`, and `caps_per_object` all matched 4. No Phase 1 feature leak: 1. Event system contains only Phase 0 event set ([event.hpp](/home/erikinkinen/AES/core/include/aes/core/event.hpp:14)) 2. Engine mutation path goes through `apply_event` in `step()` ([engine.cpp](/home/erikinkinen/AES/sim/src/engine.cpp:10)) 3. Stores keep mutation methods private ([subject_store.hpp](/home/erikinkinen/AES/core/include/aes/core/subject_store.hpp:38)) 4. One reserved placeholder exists: `w_revoke` in workload params ([workload.hpp](/home/erikinkinen/AES/workload/include/aes/workload/workload.hpp:46)), but it is not wired into behavior Exit criteria assessment: - Reconstructible from history: satisfied (replay/hash/metrics paths and tests passed) - Determinism across runs: satisfied - Metrics from logs/snapshots only: satisfied - No mutation bypass in production path: satisfied **Recommendation:** close Phase 0 milestone with confidence.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erikinkinen/AES#23
No description provided.