Conversation
…tures-from-events.jsonl Guard planner_input dependency when emitting replay_point requires
…com:AlexanderOnischenko/fetchgraph into codex/reorganize-fixtures-and-migrate-paths
…com:AlexanderOnischenko/fetchgraph into codex/reorganize-fixtures-and-migrate-paths
…com:AlexanderOnischenko/fetchgraph into codex/reorganize-fixtures-and-migrate-paths
…tures-and-migrate-paths Clarify fixture help defaults in Makefile
…com:AlexanderOnischenko/fetchgraph into codex/reorganize-fixtures-and-migrate-paths
…tures-and-migrate-paths Codex/reorganize fixtures and migrate paths
|
@codex, please review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d9076ec05a
ℹ️ 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".
tests/test_replay_fixtures.py
Outdated
| bucket_dir = FIXTURES_ROOT / bucket | ||
| if not bucket_dir.exists(): | ||
| continue | ||
| for path in bucket_dir.rglob("*.json"): | ||
| paths.append((bucket, path)) |
There was a problem hiding this comment.
Ignore resource JSONs when collecting replay fixtures
When a replay fixture is exported with --with-requires, export_replay_fixture/write_bundle copies dependent resource files into the same output directory, and those resources can be .json files. _iter_fixture_paths currently glob/rglob’s every *.json under tests/fixtures/replay_points/{fixed,known_bad}, so resource payloads get parameterized as fixtures and then test_replay_fixture fails at assert event.get("type") == "replay_point" because resource files don’t contain a replay payload. This breaks tests as soon as any fixture includes JSON resources; consider filtering by type in _iter_fixture_paths or storing resources in a subdirectory that isn’t globbed.
Useful? React with 👍 / 👎.
…access-errors-in-tests Fix pyright typing for replay export tests and guard meta access
…te-legacy-fixtures Remove legacy fixture migration paths and simplify resource normalization
…ute-error-in-export.py Fix meta typing in replay export
…acer.md Update tracer documentation to match current implementation
…fixture-commands-in-make-help Clarify fixture commands in make help
* Add tracer resolve parity and replay discovery tests * Fix tracer tests and share test helpers * Fix tracer resolve parity imports * Fix tracer replay-id discovery and ordering * Make run ordering TZ-independent * Clarify replay-id listing adjustments
* Unify run directory enumeration across history and filesystem * Harden run dir inventory and listing * Reduce extra scans and harden run dir probing
…; export requires --id (#149) * Fix replay id discovery for latest runs * Adjust list replay selection to latest with replay
…ile-help-sections Clarify `latest_non_missed` behavior and add regression tests
|
@codex, please review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: afa4b88461
ℹ️ 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".
src/fetchgraph/replay/runtime.py
Outdated
| path = Path(resource_path) | ||
| if path.is_absolute() or self.base_dir is None: | ||
| return path |
There was a problem hiding this comment.
Validate replay resource paths against traversal/absolute inputs
ReplayContext.resolve_resource_path returns absolute paths as-is and later falls back to base_dir / path without checking for .. traversal. This lets a fixture with data_ref.file like /etc/passwd or ../secrets.txt resolve outside the fixture root, which breaks hermetic replays and conflicts with the path layout contract that resource paths be run‑relative. Consider rejecting absolute paths and parent traversal here (e.g., via validate_run_relative_posix) so replay cannot read arbitrary files.
Useful? React with 👍 / 👎.
* Harden replay path resolution * Validate replay path segments
|
@codex, please review |
|
Codex Review: Didn't find any major issues. 🚀 ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
No description provided.