Review nested message kind groups with exact timer scope
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
# Semantic desktop review — milestones 1 and 2
|
||||
# Semantic desktop review — scalars and nested message kind
|
||||
|
||||
Status: milestones 1–2 implemented and desktop tests/build verified; not full GUI
|
||||
parity, native acceptance or release acceptance.
|
||||
Status: milestones 1–2 implemented; the bounded MessageKind/TimerExpression
|
||||
constructor slice is implemented. Full milestone 3, GUI parity, native acceptance
|
||||
and release acceptance remain outstanding.
|
||||
Base: `d130013`. Dedicated build target:
|
||||
`D:/CodexBuilds/Capella2-semantic-desktop-target`. Native verification is root-owned.
|
||||
|
||||
@@ -16,7 +17,8 @@ Base: `d130013`. Dedicated build target:
|
||||
- Support every applicable scalar leaf through Keep, Take and typed final-value
|
||||
forms. Candidate records contain the complete combined selected result. Identity,
|
||||
alias and layer are protected. The closed core remains the validation boundary.
|
||||
- State.Kind is a single structural scalar. Other constructor switches, keyed
|
||||
- State.Kind is a single structural scalar. Occurrence.MessageKind now supports
|
||||
its complete nested group, including TimerExpression. Other constructor switches, keyed
|
||||
membership/order/annotation/binding/attachment decisions and pairing resets belong
|
||||
to milestone 3; show them read-only with an honest explanation.
|
||||
- Core `6bb2583` permits first equal constructor acknowledgment without descendant
|
||||
@@ -36,14 +38,16 @@ Base: `d130013`. Dedicated build target:
|
||||
2. Scalar decisions and typed candidates; immutable initial observations; combined
|
||||
final records; exact impact acceptance; atomic document/source commit. Focused
|
||||
App event/source/history tests, strict Clippy and a dedicated desktop build.
|
||||
3. Constructor closure, keyed and ordered facts, reset, complete artifact lifecycle,
|
||||
multi-source review and remaining source/REST parity cases. Still outstanding.
|
||||
3. Nested MessageKind/TimerExpression closure is implemented. Other constructor
|
||||
groups, keyed and ordered facts, reset, complete artifact lifecycle, multi-source
|
||||
review and remaining source/REST parity cases are outstanding.
|
||||
4. Root-owned native review, cross-surface fixtures, package/release acceptance.
|
||||
|
||||
## Verification
|
||||
|
||||
Verified after the independent scalar review fixes on SEM `6ad3cb`, using only the
|
||||
dedicated desktop target (core behavior remains based on `6bb2583`):
|
||||
Scalar fixes were verified on SEM `6ad3cb`; the nested message-kind slice builds
|
||||
on scalar commit `5a51a75`. Verification uses only the dedicated desktop target
|
||||
(core behavior remains based on `6bb2583`):
|
||||
|
||||
```powershell
|
||||
$env:CARGO_TARGET_DIR='D:/CodexBuilds/Capella2-semantic-desktop-target'
|
||||
@@ -52,8 +56,8 @@ cargo clippy --locked -p oa-desktop --all-targets -- -D warnings
|
||||
cargo build --locked -p oa-desktop
|
||||
```
|
||||
|
||||
All **277 desktop tests passed**, including **11 original semantic review tests**
|
||||
and **5 scalar review regression tests**.
|
||||
All **285 desktop tests passed**, including **11 original semantic review tests**,
|
||||
**5 scalar review regression tests**, and **8 nested message-kind tests**.
|
||||
Strict Clippy and the desktop build passed. The existing migration test's header
|
||||
assertion now follows `SCHEMA_VERSION` instead of expecting schema 4.
|
||||
|
||||
@@ -85,19 +89,56 @@ The independent scalar review found three gaps, now corrected:
|
||||
The regression tests exercise App events, the actual default-form helpers and
|
||||
button availability, exact source retention before Apply, and one-step undo.
|
||||
|
||||
## Bounded constructor slice
|
||||
|
||||
Occurrence.MessageKind is a complete closed nested family: Asynchronous, Call,
|
||||
Reply, Create, Delete and Timer. It is available only when both traced counterparts
|
||||
are Exchange occurrences. The only constructor-specific payload is the timer
|
||||
expression. Outer occurrence replacement remains read-only.
|
||||
|
||||
- Keep/Take/Candidate use the core's switch and first-equal acknowledgment policy.
|
||||
Taking a replacing group copies the typed MessageKind, including its expression.
|
||||
Taking an initial equal discriminator does not copy an unselected timer value.
|
||||
- Candidate MessageKind has its own scoped draft. The independent TimerExpression
|
||||
scalar draft survives group decisions; the group timer's exact raw text, editor
|
||||
cursor and selection survive switching away from Timer and back.
|
||||
- An overlapping kind/timer draft retains both decisions and blocks Apply until
|
||||
explicitly resolved. The dialog offers **Replace timer decision with message-kind
|
||||
group** and **Leave message kind unselected; use timer decision**. First equal-kind
|
||||
acknowledgment can coexist with an independent timer decision. Divergent authored
|
||||
candidate values reject; neither candidate silently overwrites the other.
|
||||
- The kind detail includes baseline/current timer observations and the complete
|
||||
proposed kind. It displays the exact plan-provided acknowledged/retired lists.
|
||||
Exchange, reply-to, lifelines, annotations and pre/postconditions stay separately
|
||||
scoped. Incompatible Timer contracts remain core errors; no dependency or payload
|
||||
is silently removed. Existing additional-impact approval remains in force.
|
||||
- Group changes compose with scalar choices and execute the exact prepared Document
|
||||
batch. Tests cover both directions, all six kinds, mapped reply correlation,
|
||||
historical retirement, repeated no-switch rejection, invalid combinations,
|
||||
protected scopes, stale preview, source failure, comments and one-step undo/redo.
|
||||
- The Traceability contextual toolbar now wraps at the available width so +Artifact
|
||||
remains reachable in the compact layout. This is a single `row.wrap()` change in
|
||||
`views.rs`; other toolbars are outside this slice.
|
||||
|
||||
Root reported native scalar coverage on frozen integrated `e7fa061`: mixed numeric
|
||||
Keep/Take/Candidate, invalid default retention/repair, zero additional changes,
|
||||
atomic Apply, comment/value inspection, Undo/Redo and Save All at 1440×900 and
|
||||
1100×700. Reverse/type/reference/history/reopen native checks were still continuing
|
||||
when this slice was implemented. This task launched no native application.
|
||||
|
||||
Built executable:
|
||||
`D:/CodexBuilds/Capella2-semantic-desktop-target/debug/arcadia-studio.exe`.
|
||||
The build target is idle. No native application was launched by this task.
|
||||
|
||||
## Remaining work
|
||||
|
||||
Milestone 3 must add explicit constructor closure/replacement, keyed and ordered
|
||||
Milestone 3 must add the remaining constructor closure/replacement, keyed and ordered
|
||||
decisions, historical pairing reset, complete artifact lifecycle and multi-source
|
||||
review. These facts are currently inspectable, with unsupported writes visibly
|
||||
identified. The reference table supplies explicit mappings for scalar reference
|
||||
Take; it does not claim to complete a reset or establish keyed acknowledgments.
|
||||
|
||||
Fresh independent scalar GUI review and root-owned native verification are still
|
||||
required before merging this milestone into release acceptance. In particular,
|
||||
validate the 1100×700 layout, keyboard/focus continuity, long historical values,
|
||||
reference selection, source reopening and prepared-impact inspection in the app.
|
||||
Fresh independent requirements/correctness review and root-owned native checks of
|
||||
the message-kind slice are required before release acceptance. Verify the compact
|
||||
kind picker, timer text/focus retention, overlap choices, exact closure/retirement,
|
||||
mapped Reply, blocked Timer contract, source reopening and toolbar wrapping.
|
||||
|
||||
Reference in New Issue
Block a user