Repository navigation
Prepare v0.7.1: MechWarrior 3 support and authored AI valves - #14
Conversation
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: bb5beda598
ℹ️ 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".
Address PR #14 review comments with version-aware world selection and shared constraint query pagination. Add regression coverage and update MCP discovery documentation.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d35ba08c00
ℹ️ 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".
Address PR #14 active resource preview, superseded assembly playback, and bounded constraint-output review comments. Add presented-frame and named-pipe regressions plus bounded discovery documentation.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b59568ab56
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6dc4c15385
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6bd4539bc9
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fd7d46b4db
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3e513304bb
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4a42171265
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5750ddf659
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9c7fbcc026
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9f76553e98
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 16b5a31998
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3e45fa4622
ℹ️ 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".
1b54994 to
69c9d7e
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 69c9d7e329
ℹ️ 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".
Address the Codex review of 69c9d7e: - Check GameZ texture/material/model/node tables, mech-library tables and GameZ polygon/light totals against supported limits before any record is materialized, and observe cancellation while reading table headers. Apply the shared 65,536-entry directory limit to archive members and texture and script records as well. - Report partially parsed mission readers and never offer them as missions; note damaged shared mission resources in both mission loaders. - Pass explicit MW3 mission requests into animation context loads so a reader that disappears mid-switch fails instead of loading another one. - Accept a PR-watch approval only for the newest review summary of the current head. Validation: 624 Release tests pass with RECOIL1999 and MW3 corpora; Core also passes with RECOIL1998; portable 0.7.1 package verified (587 files).
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
zStudio/src/zStudio.Core/MissionAiNetworks.cs
Lines 120 to 122 in 13f99bc
When a valid archive contains many version-106 net_NN.zrd members, each member can retain up to 256 diagnostics here, but the snapshot has no aggregate budget. Duplicate archive member names are allowed and the 65,536-member/512 MiB limits permit millions of retained diagnostic objects; ordinary Whole world opening later flattens and copies all of them into the renderer's notes before any MCP paging or GUI display cap applies, potentially exhausting memory. Keep a snapshot-wide diagnostic preview plus an omitted count rather than composing every per-network cap.
AGENTS.md reference: AGENTS.md:L13-L13
ℹ️ 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".
Address the Codex review of 13f99bc: - Keep one diagnostic budget across every AI network member of a snapshot. - Bound GameZ world partition cells and all node index references (relations, light/sound lists, light attachments, partition nodes) per file before building metadata. - Rebuild a Whole world whose remembered mission never published when that mission is selected again. - Keep a newer mech assembly choice when a delayed library refresh finishes. - Search mech models by referenced node names and materials by texture names before pagination. - Classify valve Properties in cancellable background work. Add a Claude Code channel to the PR watcher: a foreground listen command, run through Claude Code's Monitor, reuses the durable one-shot claim, waits until a comment burst settles, prints exactly one notification line and runs from a private runtime copy so builds remain possible. Validation: 631 Release tests pass with RECOIL1999 and MW3 corpora; Core also passes with RECOIL1998; portable 0.7.1 package verified (587 files).
Arming verifies the remote head, so status no longer reports a stale head change until the next poll.
The review bot links its usage-limit notices to different Codex settings pages; classify them by their text and settings origin so they never consume the feedback notification.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7dd7b0533d
ℹ️ 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".
…x MW3 layout labels - Point-light vertices join the per-file polygon/light budget before JSON expansion; material-cycle texture indices get their own budget. - Each archive decodes at most 2,097,152 motion samples. A member beyond that stays raw with a warning, and edits that would exceed it are rejected. - The valve overlay resolves only the capped edges' endpoints instead of indexing every AI node. - Animation node references are cached per entry object and bound root, and cleared when the mission scene changes. - An MW3 map without a mission reader no longer reports a Medium layout. That report caused an extra reload and could reset the shared difficulty on a failed refresh.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f9cdababe2
ℹ️ 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".
…pe the AI cache - Model vertices/normals/morphs and polygon corner arrays are bounded per file before allocation (retail maxima 77,559 and 455,526). - Opening a root seeds a remembered in-directory mission reader even if it was deleted, so loading reports the fallback and replaces the setting. - Decoded AI snapshots and their source trees live only as long as their first source archive. - The PR watcher's Claude channel wakes only for code review feedback. The PR author's marked agent replies are informational.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bb33d5d3aa
ℹ️ 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".
A version-106 node row whose attributes are not complete name/array pairs is no longer an AI node, valve record or binding target. It reports a diagnostic and remains inspectable in the ZRD resource. Retail MW3 networks contain 3,741 attributed node rows and none are malformed.
The listen tests scaled real elapsed time by 1000, so slow runner I/O could use up a settle window after two polls. A stepped clock now advances only by each delay, and the continuous-stream test asserts its exact nine reads.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e5868a2b7
ℹ️ 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".
- The viewport draws at most 16,384 AI nodes and 32,768 links, discloses the limit, and picks only drawn markers. The complete graph remains available for inspection. - motion_records frame pages construct only returned rows. Other paged commands project rows lazily too. - ai_valves record queries match referenced valve names; mech_models material rows include their GUI label. - PR watch stop disables both channels, and status reports the other channel.
|
@codex review |
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ 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". |
Problem and resulting behavior
zStudio v0.7.1 adds MechWarrior 3 base-game editing through the existing format library, visible workspace, history and verified-save services: version-27 worlds, mech assemblies and member-local mesh replacement, version-4 motion playback/frame editing, version-39 compiled animations, and authored mission selection with mission-scoped actors and AI networks.
MW3 AI valves are integrated as authored data. Whole world opens valve Properties without replacing the map and shows node outlines and dashed assignments while preserving attack-strategy colors. Properties supports repeated action blocks, compounds, node tuples/unions, edge assignments and objective uses, typed operands, add/duplicate/delete/reorder, exact-name reference navigation and shared undo/redo/save. Occurrence identities and unknown bytes remain intact; renames/deletions do not cascade implicitly. Three new semantic commands bring MCP to 82 tools with the same workspace, revision and draft guards.
AI networks use the authored attack-strategy palette. An absent strategy is red; empty, unrecognized and invalid values stay grey. The strategy appears among the scrolling node details above Status.
Optional local PR-watch tooling queues one follow-up into the owning Codex conversation for a new batch of conversation comments, published review summaries or inline comments. Durable disarming, immutable read snapshots and exact acknowledgment prevent duplicate submissions and preserve later arrivals. Validated fix pushes re-arm against the remote SHA; approval monitoring remains separate. A fresh bot reaction and current-head summary only notify the agent, which must still check user authorization, all feedback, CI and repository protections before any merge/release. No hosted workflow or helper automatically changes the repository.
Review fixes
Review findings are fixed with regression coverage:
Reuse typed coordinate resources, cap edit diagnostics before GUI publication, share one archive baseline and index overlap checks.
Compare complete valve names without combined search-string allocation and index valve sources by archive/member identity.
Reject extreme MW3 actor transform edits before preview/history/save, matching scene loading limits.
Avoid expanding unused MW3 effects and read sound aliases from existing typed records.
Validate watcher state before atomic replacement; preserve prior readable claims when a limit rejects publication.
Honor optional polygon RGB presence in shared world/mech decoding, preserving subsequent records.
Validate sparse keyframe contents as well as their count/length, retaining opaque padding and source bytes on diagnostic failure.
Search complete valve node/union/edge sources for exact highlighting/framing before display limits.
Scope motion scene enumeration, tree, selection, Properties and node framing to the selected assembly without renumbering source indices.
Reject binding-only kinds when creating valve definitions, preserving revision/history on failure.
Bound constraint summaries before parameter JSON expansion; retain full editable source and counts.
Reuse prepared motion hierarchies and sample off the UI thread, rejecting superseded results.
Validate/index large v28/v39 keyframe streams sparsely; page inspection and bound cached playback.
Bound rejected-placement diagnostics and preserve the total diagnostic count.
Reject extreme finite positions before cloning so later placements and framing remain valid.
Prevent cleanup duplication from retargeting unrelated unresolved sequence caches.
The full-PR adversarial cycle also checked format/version layouts, large and nested responses, malformed/duplicate identities, source provenance, failure atomicity, cancellation/publication, pinned Properties, edit/history/save, renderer behavior and GUI/MCP parity. It fixed objective text being misclassified as operations, binding-keyword definition names, repopulation of empty action blocks, and remaining paging/scope/overlay-refresh issues and removed repeated motion/mesh allocations. The final challenge after the last production fix found no further actionable P1/P2 in the recorded scope.
Verification
Limits
Support targets the MW3 base game. Valves expose authored definitions and associations; runtime activation, mission-script execution and combat are not simulated. The corpus contains 456 transform streams with reversed time spans: these preserve their bytes and expose an unsupported keyframe diagnostic; their engine runtime meaning is not inferred. Preview budgets and approximations are documented; full source inspection/editing/export remains available. Parsing, preview and verified readback do not establish acceptance by the original game. No physical mouse capture or original-game execution was used for validation.
The Codex queue API is experimental. Notification receipts do not guarantee a future turn; saved status and recovery commands disclose failures, and reboot requires explicit resume. See docs/pr-watch.md.