14 lines
2.6 KiB
Markdown
14 lines
2.6 KiB
Markdown
# Atomic Call/Reply activation assertion migration
|
|
|
|
Owner: `/root/nested_call_design`; root owns integration, Gitea and serialized compiler/native acceptance. Isolated worktree `.local/activation-assertion-20260912`, branch `codex/activation-assertion-956atf-20260912`, base `4015498`. Only `crates/oa-desktop/src/behavior/scenario.rs` is changed.
|
|
|
|
Committed correction: `10eb86d00f39cdf17df58513305bfe283fa34b74`; isolated worktree clean. Root confirmed the completed base gate: 833 passed, one failed, zero ignored; the exact failure at scenario.rs:3256 was the stale generic-box assertion. All 12 typed activation tests passed in that base gate. These are root-reported base results, not execution of this correction.
|
|
|
|
The existing `graphical_call_reply_is_atomic_correlated_and_source_equivalent` test still searched generic Scene boxes for a Call rectangle of width 8. The production renderer now consumes typed `Scene::activations`; its new dimension is not an appropriate replacement semantic assertion. The correction keeps all original atomic two-step creation, exact model reply correlation/endpoints, whole-Project canonical source roundtrip, exclusion of already-replied Calls from the reply picker, and complete undo restoration checks.
|
|
|
|
The replacement asserts exactly one typed segment with the correct Call, receiving lifeline, ordered scope, and `Finish::Reply` ID. Its finite, positive rectangle must begin at the actual Call receive endpoint and end at the actual Reply send endpoint, both on the same rectangle edge. There must be no generic Call box or open marker. An interior hit must select the Call, with explicit preconditions proving that point is outside message-line slop and labels. The rectangle under test is the exact data consumed by `Scene::draw` for its square fill and outline (`behavior.rs`, activation loop); this is source/geometry evidence, not a claim of rendered pixels or low-scale legibility.
|
|
|
|
Search of `crates/oa-desktop/src` for old width-8 comparisons and constructions found only this stale assertion plus an unrelated 8-by-4 palette icon. No other Call-box assertions were changed.
|
|
|
|
Checks performed: source review, standalone installed `rustfmt.exe --edition 2024 --config skip_children=true` on the owned file, and `git diff --check`. Initial PATH-only `rustfmt` lookup failed; using the existing `.local/toolchain/rustup/toolchains/stable-x86_64-pc-windows-gnullvm/bin/rustfmt.exe` succeeded. No Cargo, rustc, test run, native interaction, root tracked edit, or Gitea action. Root's running full-suite failure receipt remains authoritative; the replacement needs the focused existing test and subsequent required combined gate after inputs may change.
|