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 correctionff712b24190342363d0275467e96f181872da6ad, evaluator successorb743a10d51032dc1655b94fed5e49fbbbcee83f4. - Allocation group: source
495464e84b5bae8ddad93e9fc69ef353e7f1c884, evidence57aec979f640ba1b8aa6fcbb7d9e26b29cf51596. - Allocation drawing: source
301126f6098286bf440c1bd1b1ed685753984723, evidence45605001f690ad9ee2ed786c3cd77ffbde8e10aa. - Picker Escape:
3e916f623c7709d6c443552cd9ec95df5918eb00, production parente9167f5cc8509e3a4e3d4d1757ff801827a6b95a; reported uncompiled candidate. - Actual merged bytes reviewed: parent commit
c1b78acb9aa8c5024a3178b890102712078fc226with staged picker/drawing merge. Index blobs: app.rs646b0415a156b3a4e8074847c5b2dadfea24b27c; app/multiselect.rsa4bbacf1dfb6960144192a2e6f631e94ce75b519; app/allocation_drag.rsb6c329496c1c935defee6f6cd85c281c3556e4a2; app/escape.rs8683f30aaf42fdac4235130a74d05a025d4dfef4.
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
- Merge Allocation group production
495464einto the parent. Its ancestry already contains Process6d99a, Arrange planner9b83f7c, assignment planner33e8801, their evidence, and corrections. Do not cherry-pick the App tip alone without those ancestors. Parent completed this asc1b78acb, adding the new evaluator's requiredDiagram.layout: Nonefor the existing integrated schema. - Merge picker/drawing
3e916f. It descends from drawing source301126fand includes traceability prerequisite commitsbfc25985,4fbdf6f3,17f1f89fplus drawing implementationcf37c36b.301126falone is a test-only correction, not the entire feature. - Cite Allocation drawing evidence
45605001separately: it is on35b11eea/d6aabb5evidence lineage, not the drawing source ancestry. Do not merge that evidence branch merely to obtain source. Group evidence57aecis a direct child of495464e; 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.layoutadaptation 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
- 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. - 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.
- 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.
- 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.
- 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.