Repository navigation
fix(c2): make NAT emulation lab reproducible - #5665
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 12 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 89a3d1d069
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| done | ||
| done | ||
|
|
||
| successful=$(grep -Ec '^== .*\(dial exit 0\)$' "$RESULTS_FILE" || true) |
There was a problem hiding this comment.
Synchronize report writes before counting successful cells
When tee lags behind the matrix runner, for example because its stdout consumer is slow, this grep can read the report before the final successful-cell markers have been written. The process substitution started on line 30 runs asynchronously, and completing run.sh only guarantees its output reached the pipe, not that tee wrote it to the report. Consequently, an otherwise successful nine-cell run can report fewer than nine successes and exit 1. Collect statuses directly from the cell runs or synchronize the report writer before reading its output.
Useful? React with 👍 / 👎.
|
CI coverage note: |
Summary
c1-connectdependency and hardcoded executable paths with repository-relative paths and runtime resolution.nix run ...#c2-labentry point for probes and the full C2 matrix.spikes/c2-holepunch/results/; report clearly labels the results as Linux netfilter emulation.Evidence
C2_WINDOW=8 nix --extra-experimental-features "nix-command flakes" run ./doc/2026-10-11T03-44-33Z_design_groups_events_delegation/spikes/c2-holepunch#c2-labcompleted three NAT probes and all 9/9 matrix cells (dial exit 0 for all nine). A timestamped report was generated atdoc/2026-10-11T03-44-33Z_design_groups_events_delegation/spikes/c2-holepunch/results/20261104T222140Z-emulated-c2-matrix.md.bash -non all three lab scripts,cargo metadata --locked --no-deps, Nix flake evaluation, andgit diff --checkpassed.Merge Danger
Door: two-way. Blast Radius: low — limited to the C2 spike lab and its documented entry point; networking remains inside
unshare -Urn.Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.