Files
ARCADIA-Studio/harness/reviews/prerelease37-integration-20260924.md
T

8.7 KiB

Prerelease 37 source integration review

Read-only review by the parent's bounded independent critic, 2026-09-24. No Cargo, GUI, verifier execution, source/worktree mutation, or Gitea write was performed. The parent alone owns integration/release. This local report is not published peer evidence.

Examined identity

  • Original parent: 1006b496ae5db4d850a6b7f3f5b59bf4ca99a3f8 (ordinary/State selection plus real Text Apply rejection tests), clean at review start.
  • Process delivery: 6d99aacab8ca1a91c857a2179baa14d80a2901e9; production correction ff712b24190342363d0275467e96f181872da6ad, evaluator successor b743a10d51032dc1655b94fed5e49fbbbcee83f4.
  • Allocation group: source 495464e84b5bae8ddad93e9fc69ef353e7f1c884, evidence 57aec979f640ba1b8aa6fcbb7d9e26b29cf51596.
  • Allocation drawing: source 301126f6098286bf440c1bd1b1ed685753984723, evidence 45605001f690ad9ee2ed786c3cd77ffbde8e10aa.
  • Picker Escape: 3e916f623c7709d6c443552cd9ec95df5918eb00, production parent e9167f5cc8509e3a4e3d4d1757ff801827a6b95a; reported uncompiled candidate.
  • Actual merged bytes reviewed: parent commit c1b78acb9aa8c5024a3178b890102712078fc226 with staged picker/drawing merge. Index blobs: app.rs 646b0415a156b3a4e8074847c5b2dadfea24b27c; app/multiselect.rs a4bbacf1dfb6960144192a2e6f631e94ce75b519; app/allocation_drag.rs b6c329496c1c935defee6f6cd85c281c3556e4a2; app/escape.rs 8683f30aaf42fdac4235130a74d05a025d4dfef4.

Root/current/remote-default AGENTS and current PROJECT_GOAL/STATE were read. STATE still describes an earlier contribution; live issue37 ownership and release coordination remain with the parent.

Integration order and overlaps

  1. Merge Allocation group production 495464e into the parent. Its ancestry already contains Process 6d99a, Arrange planner 9b83f7c, assignment planner 33e8801, their evidence, and corrections. Do not cherry-pick the App tip alone without those ancestors. Parent completed this as c1b78acb, adding the new evaluator's required Diagram.layout: None for the existing integrated schema.
  2. Merge picker/drawing 3e916f. It descends from drawing source 301126f and includes traceability prerequisite commits bfc25985, 4fbdf6f3, 17f1f89f plus drawing implementation cf37c36b. 301126f alone is a test-only correction, not the entire feature.
  3. Cite Allocation drawing evidence 45605001 separately: it is on 35b11eea/d6aabb5 evidence lineage, not the drawing source ancestry. Do not merge that evidence branch merely to obtain source. Group evidence 57aec is a direct child of 495464e; parent chose a linked-evidence delivery instead of copying its archives into the disk-tight worktree.

High-overlap files are app.rs, app/multiselect.rs, model_menu.rs, views.rs, plus shared behavior viewport and Scenario fixture tests. Picker additionally changes vendored pick_list/menu and replaces captured-Escape subscriptions with a persistent root wrapper. The actual parent merge auto-combined Process/group; drawing/picker required the app.rs menu-execution resolution described below. Absence of conflicts does not establish behavioral compatibility.

Findings and preserved seams

No new material code defect was confirmed in the bounded source review. This is not compilation, runtime or release acceptance.

  • app.rs:1351-1439 retains early exact selection/State/Topology rejection, no-op Process admission, captured Text handling, and Allocation bare-move rejection before shared reveal/allocation hooks. app/multiselect.rs retains ordinary/State handling and adds Process by surface, with snapshot equality still checking document, revision, epoch, generation, members and primary.
  • app.rs:2655-2720 resolved menu dispatch correctly retains validated DiagramSelection/exact Process early dispatch, then the new captured mixed Traceability Show handling, then the existing State placement branch and selection reconciliation. Do not replace this with either whole peer side.
  • app/allocation_drag.rs:636-652 requires connection.is_none() for Allocation ownership. diagram/multiselect.rs:158 exits when a connection tool is active; diagram/work_drag.rs:105-121 also excludes connection tools from the dirty-work shield. diagram.rs:905 handles connection endpoints before Allocation press. Thus the read source preserves drawing versus group-drag priority.
  • app.rs:1239-1255 places the Escape bridge outside existing source observer and Scenario/canvas focus roots. app/escape.rs:99-135 offers Escape to the current overlay first and only then translates captured base Escape. The vendored menu closes its shared owner flag and refuses later queued selection while closed. These are intentional changes to shared input behavior and still require combined mounted/native validation.
  • Parent's new evaluator Diagram.layout adaptation is necessary for compilation; source parity cannot be inferred from peer suite totals. No test execution was performed by this reviewer.

Focused combined acceptance checks

  1. Compile and run the exact integrated source, retaining all existing ordinary/State real-Text-Apply tests from 1006b49. Extend the same concrete workflow to captured Process reorder and Allocation Press/Release: perform real Text Apply, deliver the old message, assert unchanged full Project/source/history/selection/status and newer input ownership. Peer Process tests mutate revision through an ordinary command; that is useful but not the same Text integration path.
  2. In an Allocation view with a retained group, arm direct Allocation drawing, select performer/work, and assert one intended relation with no movement/group fallback; cancel and then perform a valid group assignment/Arrange. Include dirty Properties and selected route/attachment control rings to ensure target precedence remains intact.
  3. On the combined root tree, open a picker in State and in an outer pending form/Find/rename context. First Escape closes only the picker; the next Escape follows existing modal priority. Cover open-and-Escape in one input batch and queued later clicks; retain dirty text and selection/caret. Existing candidate tests target these mechanisms, but have not been compiled on this combined source.
  4. Process qualified occurrence Open/Back must return to the exact read-only subject; ordinary Explorer selection of the same semantic ID must restore editable local Properties. Inspect membership/primary plus Undo/Redo and saved bytes separately.
  5. Recheck State attachment Escape, saved Scenario Details/focus/camera, Text indentation and source-draft retention on the packaged build. These are shared input seams, not implied by peer test counts.

Retained defects and evidence limits

  • Process reorder visibly overlaps orthogonal routes (A-to-U/B-to-V), obscuring endpoints. The Process evidence explicitly confirms this; unchanged connection records do not establish readable routing. Keep this known defect in prerelease notes unless independently corrected and verified.
  • Group model deletion remains unavailable; Process cards cannot use placement Hide. Do not advertise aggregate removal as complete.
  • Allocation group native evidence omits held Shift, held-preview, interruption/Escape, out-and-back/no-op and compact viewport acceptance; SA reopen was not exercised. Run7 compact labels were an unsuccessful resize, not compact acceptance. Automated no-op checks and native successful movement remain distinct.
  • Drawing native evidence is scoped to OA/SA Containment; mixed Traceability and other projections are automated/source evidence, not native coverage. Initial interrupted trial and failed compilation remain historical failures.
  • Picker production/evaluator source was delivered uncompiled. No fresh combined Linux/DPI/accessibility or cold-reopen claim follows from these contributions. User-paused Linux boundary remains unchanged.

Retrieval record

All requested objects and picker successor were fetched and inspected locally. Initial unauthenticated remote fetch produced no output and was stopped; its temporary pack was retained. Authenticated five-object fetch used existing project credential handling without printing credentials. Its 90-second Python launcher timeout killed the immediate launcher while child Git continued receiving data and held captured pipes; after child transfer settled, the wrapper returned timeout, but git cat-file -t confirmed the requested objects. No remaining fetch processes were observed. Original temporary pack tmp_pack_BRfqqX (38,391,789 bytes) was not deleted. The completed transfer left approximately 243 MB free. Picker-only fetch with --no-auto-maintenance and longer bounded timeout then exited zero. No duplicate evidence archives were extracted. The local narrow fetch helper is retained in this directory; it contains no credential bytes.