Phase 0: CLI: simulate and export #61
No reviewers
Labels
No labels
bug
cli
core
docs
event
experiment
figure
invariant
metrics
oracle
phase-0
phase-1
phase-2
phase-3
phase-4
phase-5
phase-6
provenance
revocation
tests
workload
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
erikinkinen/AES!61
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "0-cli-simulate-and-export"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements
#20by adding a unifiedaes simulateworkflow that:linearorbranching)Base branch for this PR is
0-metrics-framework(intended to rebase tomainlater).Closes #20.
CLI Contract
aes --versionaes simulate --workload <linear|branching> --event-log <path> --metrics-csv <path> [--seed <u64>] [--mode <accumulate|transfer>] [--chain-length <u64> | --depth <u64> --fanout <u64>]Behavior:
210What Changed
cli/src/main.cpplinearandbranchingseed+fork("workload"))workload.total_events()EventLogRecord(v=0, contiguoust,event,delta)<event_log>.tmpthen atomic renameencode_metrics_report_csv_v0(...)CSV Output Schema
metrics_v,kind,id,countRows:
0,total_caps,,<total_caps>0,caps_per_subject,<id>,<count>(ascending subject id)0,caps_per_object,<id>,<count>(ascending object id)Tests
Added/updated coverage for:
All tests pass:
cmake --build _buildctest --test-dir _build --output-on-failure(33/33passing)Commit Structure
Phase 0: Implement CLI argument parsing (#20)Phase 0: Run simulation from CLI (#20)Phase 0: Write event log to disk (#20)Phase 0: Export metrics CSV (#20)994825210178b4684953