From b96286ea371590e61f7e47ab3a7f72ab68adc43a Mon Sep 17 00:00:00 2001 From: Codex-ytr83r Date: Fri, 11 Sep 2026 06:30:59 -0700 Subject: [PATCH] Record current core and lifecycle evidence and refresh project entrypoints --- .gitattributes | 4 + AGENTS.md | 10 + harness/PLAN.md | 30 +- harness/README.md | 40 + harness/STATE.md | 46 +- harness/TASK_LEDGER.md | 13 +- .../check-baseline.log | 1 + .../check-oa-rename.log | 1 + .../check-sa-rename.log | 1 + .../compile.log | 0 .../core-gate.json | 25 + .../core-gate.log | 724 ++++++++++++++++++ .../fixture-hashes.json | 26 + .../generate-baseline.log | 1 + .../generate-oa-rename.log | 1 + .../generate-sa-rename.log | 1 + .../inheritance-probe-status.json | 13 + .../inheritance-probe.log | 10 + .../inventory.log | 77 ++ .../self-check.log | 1 + .../status.json | 53 ++ .../scenario-lifecycle-native/README.md | 32 +- .../baseline/project.arcadia | 692 +++++++++++++++++ .../baseline/rationale.arcadia | 2 + .../oa-rename/project.arcadia | 692 +++++++++++++++++ .../oa-rename/rationale.arcadia | 2 + .../sa-rename/project.arcadia | 692 +++++++++++++++++ .../sa-rename/rationale.arcadia | 2 + .../2026-09-11-ytr83r-integration/README.md | 11 + .../wiki-home-20260910.md | 26 + ...se-b4-package-preflight-ytr83r-20260911.md | 141 ++++ ...release-cli-integration-ytr83r-20260911.md | 126 +++ .../release-host-bootstrap-ytr83r-20260911.md | 23 +- ...tance-scaling-diagnosis-ytr83r-20260911.md | 165 ++++ harness/release-linux-host-ytr83r-20260911.md | 172 +++++ ...elease-publication-path-ytr83r-20260911.md | 94 +++ ...qualified-action-design-ytr83r-20260911.md | 195 +++++ .../llvm-6dfe1677ab8d-libunwind-LICENSE.TXT | 311 ++++++++ scripts/windows-notices/manifest.json | 12 + 39 files changed, 4432 insertions(+), 36 deletions(-) create mode 100644 harness/README.md create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/check-baseline.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/check-oa-rename.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/check-sa-rename.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/compile.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.json create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/fixture-hashes.json create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/generate-baseline.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/generate-oa-rename.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/generate-sa-rename.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/inheritance-probe-status.json create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/inheritance-probe.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/inventory.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/self-check.log create mode 100644 harness/experiments/lifecycle-native-ytr83r-20260911/status.json create mode 100644 harness/fixtures/scenario-lifecycle-native/baseline/project.arcadia create mode 100644 harness/fixtures/scenario-lifecycle-native/baseline/rationale.arcadia create mode 100644 harness/fixtures/scenario-lifecycle-native/oa-rename/project.arcadia create mode 100644 harness/fixtures/scenario-lifecycle-native/oa-rename/rationale.arcadia create mode 100644 harness/fixtures/scenario-lifecycle-native/sa-rename/project.arcadia create mode 100644 harness/fixtures/scenario-lifecycle-native/sa-rename/rationale.arcadia create mode 100644 harness/history/2026-09-11-ytr83r-integration/wiki-home-20260910.md create mode 100644 harness/release-b4-package-preflight-ytr83r-20260911.md create mode 100644 harness/release-cli-integration-ytr83r-20260911.md create mode 100644 harness/release-inheritance-scaling-diagnosis-ytr83r-20260911.md create mode 100644 harness/release-linux-host-ytr83r-20260911.md create mode 100644 harness/release-publication-path-ytr83r-20260911.md create mode 100644 harness/release-qualified-action-design-ytr83r-20260911.md create mode 100644 scripts/windows-notices/llvm-6dfe1677ab8d-libunwind-LICENSE.TXT diff --git a/.gitattributes b/.gitattributes index a9b7325b..ee6112ac 100644 --- a/.gitattributes +++ b/.gitattributes @@ -35,8 +35,12 @@ harness/experiments/constructor-defaults-20260911/results/*.arcadia whitespace=- harness/experiments/behavior-creation-native-20260911/** -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol harness/behavior-creation-contract.rs -text whitespace=cr-at-eol harness/experiments/source-cli-independent-20260911/** -text whitespace=cr-at-eol +harness/fixtures/scenario-lifecycle-native/**/*.arcadia -text whitespace=cr-at-eol +harness/experiments/lifecycle-native-ytr83r-20260911/** -text whitespace=cr-at-eol +harness/experiments/lifecycle-native-ytr83r-20260911/*.log -text -whitespace # Preserve checksum-bound font notices verbatim through Git round trips. scripts/windows-notices/GNOME-Cantarell-61362600e104-COPYING -text scripts/windows-notices/Fira-OFL.txt -text scripts/windows-notices/FiraSans-Regular-NOTICE.txt -text +scripts/windows-notices/llvm-6dfe1677ab8d-libunwind-LICENSE.TXT -text diff --git a/AGENTS.md b/AGENTS.md index d93cddac..4b8465c8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,3 +12,13 @@ Use Gitea MCP to coordinate with other agents working on this project. - Keep coordination concise and useful. Use the available MCP tools, and report access failures honestly. Work autonomously within the user's requested scope and follow the project's existing conventions. + +## Gitea and harness maintenance + +Keep Gitea resources and files under `harness` directory organized, accurate, and useful for other agents. + +* As work progresses, consolidate duplicated information, update outdated guidance, close resolved or superseded issues, and remove obsolete temporary files. Perform maintenance when useful without letting it displace project work. +* Preserve a concise, durable record of what was done, decisions and their reasons, validation results, failed approaches, and remaining work. Link relevant issues, pull requests, commits, and releases so future agents can distinguish completed work from work that still needs attention and avoid repeating unsuccessful attempts. +* Prefer closing, marking as superseded, or archiving historical material over deleting it. Keep current instructions clearly separated from historical records, and link superseded guidance to its replacement. +* Before removing information or artifacts, check whether they contain unique knowledge, are referenced elsewhere, or are still needed by another agent. Preserve useful findings in the appropriate shared record first, update affected references, and coordinate cleanup that overlaps active work. +* Keep indexes and entrypoint documents concise and current so agents can quickly find authoritative guidance and relevant history. diff --git a/harness/PLAN.md b/harness/PLAN.md index e988854d..663c3cb8 100644 --- a/harness/PLAN.md +++ b/harness/PLAN.md @@ -1,20 +1,23 @@ # First release execution plan -Updated 2026-09-11 for the Codex-ytr83r integration checkpoint. +Updated 2026-09-11 for the published Codex-ytr83r B4 source checkpoint. [PROJECT_GOAL.md](../PROJECT_GOAL.md) defines the full outcome; [STATE.md](STATE.md) scopes evidence/ownership and [TASK_LEDGER.md](TASK_LEDGER.md) separates facts from decisions. ## Immediate integration and verification -1. Finish behaviorc6d296a plus creation4bb4aaf integration with the exact user goal, - source/evidence attributes, both hosts' reports and archived ledgers preserved. - Do not replay equivalent3978 workspace or d114 Sensor changes. -2. Compile the actual combined checkout and run focused authoring, scenario, +1. Preserve completed integration c81e285/e207b04/b853a1e and reviewed B4 source + 52f6e17 on codex/release1-ytr83r. Do not replay equivalent3978/d114 changes. + CLI-only01b76a1 was reviewed and imported as023e3a8 without core/dependency + changes. Preserve the new AGENTS maintenance instruction and exact goal bytes. +2. Core433 and independent lifecycle-oracle admission passed before native output. + Finish the active desktop compilation and run focused lifecycle/direct-canvas, + authoring, scenario, creation, history and recovery checks, then appropriate full/strict/document gates. Root serializes writers and records exact source/binary/log/exit scope. -3. Obtain a coherent transfer containing creation-oracle v2 before native Undo - comparisons. Reject unknown/changed detached files while allowing exact files +3. Use the imported evidence2ec creation-oracle v2 for native Undo comparisons. + Reject unknown/changed detached files while allowing exact files retained from an explicit pre-Undo origin. Preserve full Project and reachable SourceBundle equality and original role identities through Redo/reopen. 4. Exercise current Windows UI at minimum/wide sizes: creation name/owner/viewpoint, @@ -25,6 +28,19 @@ Updated 2026-09-11 for the Codex-ytr83r integration checkpoint. 5. Review current external Gitea handoffs before importing staged prerequisites, empty-state actions, contextual chooser or source CLI. Validate final combined workflows and preserve explicit ownership/qualification semantics. +6. After actual B4 test/native acceptance, prepare a distinct runnable Windows + prerelease with current-toolchain notices and exact executable/source hashes. + Existing MCP credentials have now completed a scoped branch push and remote + readback; release attachment upload still needs concrete-artifact verification. + Codex-9e8r6t retains the earlier named-authoring prerelease ownership. +7. Overlap Linux preparation with Windows compilation. The pinned Ubuntu image + passed its full publisher SHA at13:18UTC after bounded short-range delivery. + The normal five-minute Q35/UEFI/TCG pilot started13:20:10UTC with one CPU and + 1536MiB after memory/disk checks. No guest/runtime acceptance follows from downloads. +8. Incorporate the owner clarification in issue2: process/scenario interaction + should use consistent direct canvas workflows while preserving domain + constraints. Codex-956atf owns the shared canvas design; B4 rendering and + prerequisite forms support it but do not close this requirement. ## Capability milestones diff --git a/harness/README.md b/harness/README.md new file mode 100644 index 00000000..2222cf0f --- /dev/null +++ b/harness/README.md @@ -0,0 +1,40 @@ +# Current engineering work and evidence + +Start with the [user goal](../PROJECT_GOAL.md), [current status](STATE.md), +[execution plan](PLAN.md), [task ledger](TASK_LEDGER.md) and +[decisions](DECISIONS.md). Follow [AGENTS.md](../AGENTS.md) and current +[Gitea coordination](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/1) +before changing shared work. Dated reports describe their own source, host and +artifact; they are not current instructions or acceptance of later changes. + +## Runnable milestones + +- [Windows Studio and REST server authoring preview](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/releases/tag/v0.2.0-preview.authoring.20260911) +- [Standalone Windows source CLI preview](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/releases/tag/cli-v0.2.0-preview.authoring.20260911) + +These are unfinished development milestones. Their release notes and validation +attachments define exactly what was shipped and tested. Full OA/SA engineering, +analysis, maintained libraries and current Linux acceptance remain unfinished. + +## Current local evidence + +| Question | Authoritative record | +| --- | --- | +| Which source was integrated? | [Integration audit](release-integration-ytr83r-20260911.md), [CLI import review](release-cli-integration-ytr83r-20260911.md) | +| What does lifetime rendering mean? | [Implementation and corrected review findings](release-lifecycle-render-ytr83r-20260911.md), [language specification](../docs/language.rst) | +| What will native behavior be compared against? | [Independent fixture and procedure](fixtures/scenario-lifecycle-native/README.md), [exact pre-native evidence](experiments/lifecycle-native-ytr83r-20260911/) | +| Which checks ran on this host? | [Host build record](release-host-bootstrap-ytr83r-20260911.md), [current status](STATE.md) | +| What remains for Windows packaging? | [Current runtime/notice preflight](release-b4-package-preflight-ytr83r-20260911.md), [publication path](release-publication-path-ytr83r-20260911.md) | +| Is Linux available? | [Current host investigation](release-linux-host-ytr83r-20260911.md); download or cross-build evidence alone is not runtime acceptance | +| Which bounded follow-ups are proposals? | [Explicit Action allocation](release-qualified-action-design-ytr83r-20260911.md), [inheritance scaling diagnosis](release-inheritance-scaling-diagnosis-ytr83r-20260911.md) | + +External staged-source, chooser and analysis/library owners maintain their current +handoffs in Gitea and the [shared Wiki](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/wiki/Home). +Import exact coherent source checkpoints before transferring conclusions to this checkout. + +## History + +[Archived integration ledgers](history/2026-09-11-ytr83r-integration/README.md) +preserve source-specific facts and earlier ownership. Existing dated evidence and +Git history remain available. Preserve unique findings and update links before +moving or removing material; active issue #1 remains open for the unfinished goal. diff --git a/harness/STATE.md b/harness/STATE.md index 337ba417..05194c31 100644 --- a/harness/STATE.md +++ b/harness/STATE.md @@ -1,6 +1,6 @@ # Progress Ledger — first release -Updated 2026-09-11 by Codex-ytr83r /root/integration_audit for root integration. +Updated 2026-09-11 by Codex-ytr83r /root for current execution. **Release remains incomplete.** This is the new Codex-ytr83r Windows checkout. It started clean at `ff615d0`; no local compiled desktop or native acceptance is claimed for the combined source at this checkpoint. @@ -30,10 +30,17 @@ were preserved. The newer project AGENTS release-milestone instruction is import Rust1.98.1 gnullvm, LLVM-MinGW20260908/LLVM23.1.1 and Docutils0.22.2 are installed under ignored task-local directories. Locked dependency fetch completed despite -transient network timeouts. Full current core all-targets is running offline with -one compiler job, log `.local/ytr83r-core-all-targets.log`, session41189. Completion -must be read from `.local/ytr83r-core-all-targets-status.json`; a running compile -is not a pass. Server/desktop gates follow sequentially. Packaging11/11 and +transient network timeouts. Full current core all-targets passed433 tests with +one explicitly ignored inheritance scaling probe across44 targets, exit0 at +12:43:53UTC. Total2486.422s, including37m12s first compilation. Exact logs and +summary are in `harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.*`. +The separate ignored probe also passed: 250/500/1000-record inheritance chains +took6.670/19.166/38.063s in this unoptimized, contended run. These timings are not +optimized/native latency; the bounded scaling diagnosis records a preexisting +quadratic path and the next controlled measurement. +Desktop `scenario_lifecycle` now compiles offline under one Cargo job, session93786, +log `.local/ytr83r-desktop-lifecycle.log`; focused/direct-canvas, full/strict, +server and CLI gates remain pending. Packaging11/11 and synthetic Windows notices passed. [Host setup/evidence](release-host-bootstrap-ytr83r-20260911.md). Local B4 rendering implementation owns `behavior.rs`/`scenario_lifecycle` only: @@ -41,15 +48,23 @@ true visible root/empty-operand lifetime bounds, complete lane rendering, selectable/aligned lifecycle markers and activation clipping to definite alive intervals. Independent code/spec review is complete; it closed self-caption overlap and two minimum-Fit hit-selection counterexamples. Ten real-Scene tests await compilation. The -12-scenario fixed-ID native fixture/oracle is prepared, not yet compiled/admitted. +12-scenario fixed-ID native oracle compiled and passed self-check/inventory and +generate/check of baseline/OArename/SArename before any GUI launch. All three +Projects have64 elements/2 relations;19 expected warnings and zero errors. +Independent byte review confirms exact one-name changes and unchanged CRLF notes. +Actual Scene/native acceptance remains pending. B4 source52f6e17 is pushed and +remote-readback verified. CLI-only01b was independently reviewed and cleanly +cherry-picked as023e3a8; core tree and registry dependency records are unchanged. Root updated language section8.1 and corrected section4.3's existing structural ordering contract; independent review resolved the loop-iteration wording. -Portable QEMU11.1.0 is verified and a normal five-minute TCG pilot is prepared, -but the first Ubuntu image transfer timed out at11,714,560/264,372,224bytes. A bounded -3-MiB range experiment verified matching HTTPS overlaps averaging507.37KiB/s; -the worker is attempting a600-second HTTPS resume with a128KiB/s low-speed stop. -No guest boot or Linux tests have yet occurred. +Portable QEMU11.1.0 and the complete pinned Ubuntu image are verified. The image +has264,372,224 bytes and publisherSHA256 +`46b0dbaffa6950a7da5ff2dc5ed34c46084610b3b6d1fae8f1ec2d7e953984a3`. +Bounded suffix delivery completed within the original hour, with zero retries +and five overlap comparisons; full-stream failures remain preserved. The normal +five-minute Q35/UEFI/TCG pilot started13:20:10UTC with one CPU/1536MiB after +resource checks. Guest readiness and Linux tests remain unverified at this checkpoint. [Exact resume/preflight commands](release-linux-host-ytr83r-20260911.md). ## Local ownership and next checks @@ -66,6 +81,10 @@ reference chooser and analysis/library contract refinement. They are not local workers. Confirm coherent published heads through Gitea issue #1 before importing their updates; do not duplicate their implementations. +The owner clarified issue2 on13:19UTC: consistent direct canvas interaction can +retain sequence constraints rather than arbitrary movement. Codex-956atf owns +that shared process/scenario design. B4 and prerequisite forms do not close it. + Next: finish the combined-source checkpoint, run appropriate current compilation, focused/full desktop and strict checks under one writer, then exercise actual Windows creation/scenario/history/recovery tasks with independent whole-model and @@ -99,9 +118,8 @@ They do not establish current Codex-ytr83r execution. - The corrected creation checker v2 is now imported through2ec72d4. Its explicit pre-Undo origin and exact retained-detached-file contract still need execution on this host; do not weaken full accepted Project/reachable-source equality. -- Source constructor-default documentation/probes after4bb are now imported; - the source CLI and refined analysis/library contracts are not imported merely - because their Wiki summaries exist. +- Source constructor-default documentation/probes after4bb and CLI-only01b are + now imported. Refined analysis/library contracts remain outside this checkout. - Calculations, quantity/unit algebra and maintained libraries require coherent contracts and complete core/source/API/GUI/reference/deletion/transition/history realization. Current metadata and includes are insufficient. diff --git a/harness/TASK_LEDGER.md b/harness/TASK_LEDGER.md index bfba08e0..5eb0a1ee 100644 --- a/harness/TASK_LEDGER.md +++ b/harness/TASK_LEDGER.md @@ -13,6 +13,8 @@ constraints/calculations, quantities/units, maintained libraries, behavior/state traceability and navigable offline help. Reduce cognitive load and visual clutter; small and large models must be practical using text alone. Later Arcadia layers remain future scope. Compilation or a pleasant happy path is not completion. +Issue2 further requires consistent direct process/scenario canvas interaction; +the owner's clarification allows domain constraints rather than arbitrary movement. ## Verified facts @@ -36,12 +38,15 @@ remain future scope. Compilation or a pleasant happy path is not completion. with explicit origin/retained-byte rules; exact v2/evidence2ec was imported at b853a1e after complete path/hash preflight. New host execution is still pending. - Isolated Rust1.98.1/LLVM23.1.1 and locked dependencies are available. Packaging - 11/11 and synthetic Windows notice checks pass; full core all-targets currently - compiles under one Cargo job. Strict reST/HTML generation passes with Docutils0.22.2. + 11/11 and synthetic Windows notice checks pass. Current core all-targets passed + 433 tests; its optional inheritance probe separately passed with slow debug + timings that require controlled optimized interpretation. Desktop compilation + remains active. Strict reST/HTML generation passes with Docutils0.22.2. - B4 independent criticism found and resolved self-caption overlap and two dense minimum-Fit hit-selection counterexamples. Shared nearest marker/message-stroke arbitration preserves exact marker/header/label selection. Ten real-Scene tests - and a separate fixed-ID twelve-scenario native oracle await execution. + await execution. The independent twelve-scenario native oracle passed compile, + admission, self-check and exact baseline/name-only predictions before GUI output. - The separate baseline-context experiment passed218 assertions; explicit one-level overrides reduce repeated stable assumptions while complete frozen definition environments remain necessary. Proposed syntax is not source7. @@ -108,7 +113,7 @@ Qualified Action allocation remains a distinct engineering choice. Root owns local integration, serialized builds, native inputs and final synthesis. The local audit resolves evidence and reviews source; independent server review has its own report. Codex-9e8r6t owns staged sources/first actions and source CLI; -Codex-956atf owns chooser and semantic contracts. Read Gitea issue #1/Wiki before +Codex-956atf owns chooser, semantic contracts and the shared canvas design. Read Gitea issues #1/#2 and Wiki before resuming, obtain exact coherent transfer heads, and respect their source ownership. First finish and verify the integrated current source using the imported corrected diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/check-baseline.log b/harness/experiments/lifecycle-native-ytr83r-20260911/check-baseline.log new file mode 100644 index 00000000..ec8e1c82 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/check-baseline.log @@ -0,0 +1 @@ +PASS baseline: complete Project/reachable sources/physical map diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/check-oa-rename.log b/harness/experiments/lifecycle-native-ytr83r-20260911/check-oa-rename.log new file mode 100644 index 00000000..e63ebab2 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/check-oa-rename.log @@ -0,0 +1 @@ +PASS oa-rename: complete Project/reachable sources/physical map diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/check-sa-rename.log b/harness/experiments/lifecycle-native-ytr83r-20260911/check-sa-rename.log new file mode 100644 index 00000000..2fb0a449 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/check-sa-rename.log @@ -0,0 +1 @@ +PASS sa-rename: complete Project/reachable sources/physical map diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/compile.log b/harness/experiments/lifecycle-native-ytr83r-20260911/compile.log new file mode 100644 index 00000000..e69de29b diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.json b/harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.json new file mode 100644 index 00000000..6287bb55 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.json @@ -0,0 +1,25 @@ +{ + "exit": 0, + "seconds": 2486.4220211, + "log": "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\.local\\ytr83r-core-all-targets.log", + "command": [ + "cargo", + "test", + "--locked", + "--offline", + "-p", + "oa-core", + "--all-targets", + "--", + "--test-threads=1" + ], + "started_utc": "2026-09-11T12:02:26.6539067Z", + "name": "ytr83r-core-all-targets", + "completed_utc": "2026-09-11T12:43:53.1608441Z", + "test_total": 433, + "ignored_total": 1, + "test_target_count": 44, + "log_sha256": "b2850d0fa1ffb06ae38cdb7369ab2be17171fb94bbb2205873b35f82090afbdd", + "source_tree": "a9c71e2c3fc9260d06f191c0d65b1e63e41edbec", + "compile_summary": "Finished `test` profile [unoptimized] target(s) in 37m 12s" +} diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.log b/harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.log new file mode 100644 index 00000000..390b5704 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/core-gate.log @@ -0,0 +1,724 @@ + Compiling proc-macro2 v1.0.107 + Compiling quote v1.0.47 + Compiling unicode-ident v1.0.24 + Compiling serde_core v1.0.229 + Compiling syn v3.0.5 + Compiling windows-link v0.2.1 + Compiling getrandom v0.4.3 + Compiling windows-sys v0.61.2 + Compiling zmij v1.0.23 + Compiling cfg-if v1.0.4 + Compiling thiserror v2.0.20 + Compiling serde_json v1.0.151 + Compiling serde v1.0.229 + Compiling winapi-util v0.1.11 + Compiling serde_derive v1.0.229 + Compiling thiserror-impl v2.0.20 + Compiling memchr v2.8.3 + Compiling once_cell v1.21.4 + Compiling itoa v1.0.18 + Compiling fastrand v2.5.0 + Compiling sha1_smol v1.0.1 + Compiling oa-core v0.2.0 (C:\Users\User\Documents\Git\ARCADIA-Studio\crates\oa-core) + Compiling uuid v1.26.0 + Compiling tempfile v3.27.0 + Compiling same-file v1.0.6 + Finished `test` profile [unoptimized] target(s) in 37m 12s + Running unittests src\lib.rs (target\debug\deps\oa_core-38898034cc715c78.exe) + +running 42 tests +test language::nesting_tests::checked_in_example_supports_cross_file_reparent_without_changing_allocations ... ok +test language::nesting_tests::checked_in_nested_example_has_stable_ids_typed_exchanges_and_three_clear_views ... ok +test language::nesting_tests::containment_validation_rejects_allocation_like_or_cross_layer_nesting ... ok +test language::nesting_tests::declarations_are_preorder_occurrences_with_real_own_field_and_body_spans ... ok +test language::nesting_tests::deep_declaration_parsing_and_positions_use_a_bounded_rust_stack ... ok +test language::nesting_tests::matching_explicit_parent_is_accepted_but_none_or_another_owner_is_located ... ok +test language::nesting_tests::nested_aliases_remain_global_and_forward_references_remain_legal ... ok +test language::nesting_tests::nested_elements_infer_only_parent_and_keep_typed_fields_and_allocations_explicit ... ok +test language::nesting_tests::nested_fragment_id_stabilization_preserves_comments_and_indexes_real_bytes ... ok +test language::nesting_tests::nested_record_admission_precedes_resolution_and_typed_depth_stays_bounded ... ok +test language::nesting_tests::non_elements_includes_and_declarations_inside_typed_values_are_rejected ... ok +test language::nesting_tests::normative_nested_ownership_example_compiles_as_a_source_fragment ... ok +test language::nesting_tests::syntax_edit_positions_retain_duplicate_identity_occurrences_during_a_command ... ok +test language::nesting_tests::tolerant_nested_analysis_retains_closed_children_before_an_unfinished_sibling ... ok +test semantic::catalog::coverage::every_current_payload_field_has_a_closed_typed_capture_and_write_scope ... ok +test source_files::transaction_tests::interrupted_publication_without_write_marker_never_rolls_back_external_matching_bytes ... ok +test source_files::transaction_tests::interrupted_save_and_interrupted_recovery_can_both_be_resumed ... ok +test source_files::transaction_tests::journal_publication_does_not_replace_empty_target_created_after_precheck ... ok +test source_files::transaction_tests::journal_publication_exhaustion_and_permanent_errors_keep_stage_and_report_original_path ... ok +test source_files::transaction_tests::journal_publication_never_replaces_another_journal_that_appears_during_retry ... ok +test source_files::transaction_tests::journal_publication_retries_only_transient_windows_errors_before_transferring_ownership ... ok +test source_files::transaction_tests::malformed_v2_write_marker_refuses_recovery_without_changing_source_bytes ... ok +test source_files::transaction_tests::partial_save_failures_restore_every_original_and_write_entry_last ... ok +test source_files::transaction_tests::recovery_before_any_write_accepts_v2_marker_and_keeps_v1_rollback_compatibility ... ok +test source_files::transaction_tests::recovery_rechecks_external_changes_between_restorations ... ok +test source_files::transaction_tests::recovery_rejects_untrusted_escape_paths_before_touching_files ... ok +test source_files::transaction_tests::rollback_refuses_external_edits_even_in_an_unchanged_dependency ... ok +test source_files::transaction_tests::rollback_removes_only_our_new_file_and_retains_detached_files ... ok +test source_files::transaction_tests::unwritten_journal_never_rolls_back_a_completed_writer_with_identical_after_bytes ... ok +test topology_context::analysis::tests::edge_work_budget_stops_repeated_expansion_not_just_output_storage ... ok +test topology_context::analysis::tests::exact_edge_budget_includes_reference_boundaries_and_node_abort_has_no_bypass ... ok +test topology_context::analysis::tests::unresolved_authored_edges_consume_work_budget_without_stored_output ... ok +test validation::coverage::tests::malformed_self_reuse_is_bounded_even_without_structural_gate ... ok +test view_options::tests::global_behavior_coverage_and_chosen_context_are_independent_intersecting_predicates ... ok +test view_options::tests::hidden_identity_survives_label_and_category_changes_without_mutating_the_model ... ok +test view_options::tests::no_lines_and_explicit_trace_selection_include_actual_trace_identities ... ok +test view_options::tests::omission_reasons_distinguish_missing_placements_folded_edges_and_explicit_hides ... ok +test view_options::tests::persisted_empty_selectors_and_lifecycle_never_widen_to_all ... ok +test view_options::tests::reusable_sequences_and_nested_scenarios_use_listed_contributions_in_both_layers ... ok +test view_options::tests::separate_category_families_obey_all_any_empty_and_union_truth_table ... ok +test view_options::tests::traceability_defaults_preserve_both_layers_and_explicit_selectors_still_apply ... ok +test view_options::tests::wrong_family_layer_and_unknown_references_reject_and_draft_filters_fail_closed ... ok + +test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.40s + + Running tests\communication_boundary_scenarios.rs (target\debug\deps\communication_boundary_scenarios-d23322579d6e5023.exe) + +running 3 tests +test mapped_unoriented_boundary_resolves_reverse_call_and_reply_from_actual_binding ... ok +test reverse_boundary_scenario_transition_keeps_call_orientation_and_reply_identity ... ok +test unoriented_flow_boundary_honors_ordinary_direction_but_preserves_correlated_reply_exception ... ok + +test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s + + Running tests\communication_means.rs (target\debug\deps\communication_means-9a52d70efd00a94b.exe) + +running 9 tests +test communication_allocation_checks_whole_partial_pair_and_does_not_guess_roles ... ok +test communication_allocation_items_use_specialization_and_empty_is_not_wildcard ... ok +test communication_means_are_distinct_oa_participant_relations_and_strict_source6_records ... ok +test communication_reverse_transition_projects_owners_without_oa_ports ... ok +test communication_scenario_ambiguous_and_incomplete_bindings_never_guess ... ok +test communication_scenario_reverse_call_and_reply_follow_actual_direction ... ok +test communication_schema5_upgrade_preserves_legacy_data_and_exact_source_trivia ... ok +test communication_semantic_endpoint_take_needs_scoped_decision_and_exact_history ... ok +test communication_transition_requires_explicit_ports_and_preserves_participant_mapping ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s + + Running tests\coverage_diagnostics.rs (target\debug\deps\coverage_diagnostics-42cd5d87f8c17fc4.exe) + +running 6 tests +test grouping_and_scenario_only_capabilities_do_not_duplicate_support_warnings ... ok +test included_process_and_nested_scenario_evidence_is_identity_based_in_both_layers ... ok +test incomplete_oa_repairs_exact_records_and_ordered_membership_without_inference ... ok +test multifile_lint_preserves_core_codes_ids_and_actual_owning_source_paths ... ok +test non_leaf_exchange_locations_use_work_endpoints_including_typed_sa_ports ... ok +test structural_errors_suppress_completeness_cascades_and_rejection_keeps_the_model ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s + + Running tests\language.rs (target\debug\deps\language-076dbf88cea6ece4.exe) + +running 16 tests +test all_typed_fields_round_trip_with_stable_aliases_and_occurrences ... ok +test authoring_defaults_and_forward_references_remain_strict ... ok +test branching_reused_processes_and_chains_have_lossless_readable_source ... ok +test complete_normative_examples_are_accepted_by_the_real_parser ... ok +test coordinate_bits_and_permitted_strings_survive_text_and_storage ... ok +test deeply_nested_invalid_draft_returns_a_diagnostic_without_exhausting_the_stack ... ok +test global_identity_and_alias_collisions_include_diagram_nodes_and_project ... ok +test malformed_json_never_ignores_duplicate_maps_or_nested_unknown_fields ... ok +test original_v2_text_and_json_preserve_identity_and_mixed_scenarios_after_extensions ... ok +test text_and_model_transactions_preserve_history_with_stable_aliases ... ok +test tolerant_analysis_covers_unicode_and_returns_declarations_before_failure ... ok +test typed_events_vertices_and_transition_kinds_round_trip_in_both_layers ... ok +test typed_scenario_messages_values_and_reuse_round_trip_in_both_work_perspectives ... ok +test typed_unknown_fields_enums_duplicates_and_reference_spelling_are_rejected ... ok +test v1_repeated_exchange_occurrences_and_authored_aliases_survive ... ok +test v1_text_and_json_migrate_deterministically_without_losing_legacy_semantics ... ok + +test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.32s + + Running tests\port_anchors.rs (target\debug\deps\port_anchors-e00f4c4991c4d4f6.exe) + +running 13 tests +test every_side_uses_exact_final_border_fraction_and_outward_routing_normal ... ok +test invalid_anchors_and_payloads_fail_atomically_including_duplicate_owner_placements ... ok +test malformed_source_anchor_records_have_located_errors ... ok +test many_neutral_ports_balance_capacity_without_a_giant_bottom_footer ... ok +test narrow_peer_gap_uses_clear_side_instead_of_a_blocked_facing_stub ... ok +test nested_owner_bounds_group_movement_and_authored_routes_share_the_same_geometry ... ok +test neutral_connected_ports_face_peers_and_unconnected_ports_use_four_sides ... ok +test port_upsert_reset_and_undo_preserve_unrelated_node_fields_and_list_order ... ok +test reidentification_deletion_reuse_and_owner_repair_preserve_correct_identity ... ok +test resetting_last_source_anchors_preserves_comments_and_can_add_a_new_manual_record ... ok +test separate_views_resize_layout_and_hidden_owners_keep_manual_metadata ... ok +test source_json_roundtrip_defaults_and_admission_include_anchor_records ... ok +test source_updater_keeps_comment_attachment_through_identity_swap_and_anchor_reordering ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.48s + + Running tests\port_migration.rs (target\debug\deps\port_migration-1d0325738ccf3169.exe) + +running 8 tests +test frozen_original_v2_reader_preserves_every_original_record ... ok +test generated_alias_collision_is_deterministically_suffixed ... ok +test generated_endpoint_collision_in_any_object_category_is_located_and_rejected ... ok +test legacy_oa_inout_ports_attachments_and_traces_remain_unclassified ... ok +test loading_v2_does_not_rewrite_original_bytes ... ok +test migration_admission_counts_generated_objects_records_and_references ... ok +test missing_v2_endpoints_are_deterministic_reported_and_independently_typed ... ok +test old_contract_is_validated_before_new_shapes_and_v1_flows_through_v2 ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.78s + + Running tests\port_source.rs (target\debug\deps\port_source-69c58adc42a37f11.exe) + +running 3 tests +test source4_covers_typed_contracts_roles_allocations_and_nested_legacy_references ... ok +test source4_rejects_mixed_component_kinds_and_nested_reference_typos ... ok +test source4_requires_explicit_port_contract_and_fe_endpoints_without_generation ... ok + +test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s + + Running tests\prepared_commands.rs (target\debug\deps\prepared_commands-314dfecb7371bbd4.exe) + +running 7 tests +test all_edit_commands_record_their_implicit_identity_change ... ok +test deletion_and_cascade_discard_origins_before_uuid_reuse ... ok +test embedded_diagram_replacement_cannot_revive_deleted_node_origin ... ok +test explicit_chains_and_nested_swaps_compose_original_identity ... ok +test failed_preparation_leaves_input_unchanged_after_intermediate_identity_work ... ok +test fresh_creation_has_no_origin_even_when_subsequently_reidentified ... ok +test replacement_resets_correspondence_against_the_original_input ... ok + +test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s + + Running tests\process_diagnostics.rs (target\debug\deps\process_diagnostics-568d5cac52c5514a.exe) + +running 1 test +test sequence_gaps_name_occurrences_exchanges_and_endpoints ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s + + Running tests\r3_constructor_ack.rs (target\debug\deps\r3_constructor_ack-6b0cbab0e77d8963.exe) + +running 8 tests +test equal_constructor_candidate_requires_independent_selection_of_changed_descendants ... ok +test first_constructor_acknowledgement_agrees_only_on_its_canonical_discriminator_slot ... ok +test first_equal_constructor_acknowledges_only_discriminator_in_every_family_and_direction ... ok +test historical_switches_retain_groups_and_completed_requests_still_reject_in_both_directions ... ok +test independent_constructor_and_leaf_selections_complete_missing_or_empty_baselines ... ok +test migrated_equal_constructor_can_complete_semantic_review_without_model_changes ... ok +test one_sided_or_disappeared_message_constructor_is_not_an_equal_scalar_acknowledgement ... ok +test reset_equal_constructor_does_not_refresh_previously_reviewed_descendants ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.84s + + Running tests\r3_migration.rs (target\debug\deps\r3_migration-4dde9b672a1838ee.exe) + +running 5 tests +test authored_v4_modules_upgrade_only_the_version_and_preserve_nested_comments ... ok +test frozen_v4_json_and_source_preserve_the_old_review_without_fabricating_semantics ... ok +test frozen_v4_trace_envelope_keeps_duplicate_and_unknown_field_rejection ... ok +test older_headers_cannot_admit_new_semantic_baselines ... ok +test original_v1_v2_v3_inputs_complete_the_explicit_upgrade_to_five ... ok + +test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.99s + + Running tests\r3_semantic.rs (target\debug\deps\r3_semantic-58baa10d3fbb43e0.exe) + +running 35 tests +test artifact_creation_requires_reviewed_metadata_and_deletion_retires_exact_facts ... ok +test artifact_metadata_is_attached_and_cannot_last_write_through_two_owner_traces ... ok +test artifact_owner_candidate_moves_link_and_conflicts_with_kept_attachment ... ok +test atomic_annotation_full_path_updates_only_selected_row ... ok +test atomic_binding_updates_local_and_rejects_pair_collision_and_remapping_without_reset ... ok +test changed_state_kind_remains_reviewable_in_both_directions ... ok +test child_membership_and_parent_resolutions_agree_by_actual_child_slot ... ok +test combined_ordered_membership_commutes_or_requires_agreed_anchors ... ok +test constructor_closure_does_not_restore_previously_corresponding_removed_members ... ok +test constructor_closure_pairs_signal_members_and_requires_history_reset_in_both_directions ... ok +test constructor_closure_preserves_target_only_literals_in_both_directions ... ok +test constructor_retirement_cannot_override_other_sources_kept_bound_in_either_order ... ok +test constructor_union_conflicts_with_another_sources_new_member_in_either_order ... ok +test constructors_expand_into_independent_facts_without_outer_prose ... ok +test enum_members_preserve_target_only_and_no_whole_list_overwrite ... ok +test explicit_trace_selection_keeps_independent_trace_baselines ... ok +test historical_reference_remap_preserves_text_and_deleted_reference_observations ... ok +test independent_bounds_keep_take_and_stale_prepare ... ok +test keeping_keyed_rows_with_an_unrelated_header_candidate_preserves_exact_authored_order ... ok +test ordered_member_requires_anchor_or_explicit_order_and_preserves_target_only ... ok +test prepared_inherited_annotation_cleanup_must_be_explicitly_accepted ... ok +test repeated_keep_of_unequal_constructor_pair_cannot_swallow_bound_drift ... ok +test retired_source_branch_retains_historical_member_pair_in_both_directions ... ok +test reverse_existing_port_review_rejects_typed_oa_proposals_without_mutation ... ok +test reverse_existing_port_review_retains_legacy_and_roundtrips_typed_history ... ok +test reverse_new_port_counterpart_remains_an_explicit_sa_only_omission ... ok +test same_target_constructor_preserves_local_members_and_reset_precedes_expansion ... ok +test same_target_member_keys_cannot_last_write_win ... ok +test semantic_batch_is_one_undo_and_replanning_acknowledged_values_is_noop ... ok +test semantic_rollup_does_not_claim_unchanged_when_only_unit_is_reviewed ... ok +test shared_definition_drift_is_linked_without_copying_definition_into_field_baseline ... ok +test source_and_target_semantic_headers_can_be_reviewed_in_reverse ... ok +test state_guard_and_deleted_trigger_membership_preserve_target_only_trigger ... ok +test target_only_artifact_move_records_owner_and_metadata_in_either_order ... ok +test wrong_family_both_na_and_duplicate_resolutions_rejected_atomically ... ok + +test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.57s + + Running tests\r3_source.rs (target\debug\deps\r3_source-03fe14ea5f87b5c2.exe) + +running 7 tests +test facet_reordering_and_reidentification_keep_comments_with_typed_row_identity ... ok +test historical_reference_deletion_does_not_remove_the_review_or_create_a_live_alias ... ok +test historical_uuid_and_enum_tokens_are_contextual_and_text_remains_quoted ... ok +test included_historical_review_edits_save_and_reopen_without_rewriting_other_modules ... ok +test prepared_semantic_review_writes_back_and_preserves_the_accepted_target_difference ... ok +test semantic_values_remain_closed_typed_records_in_both_formats ... ok +test typed_historical_facets_roundtrip_deleted_references_and_all_leaf_categories ... ok + +test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.82s + + Running tests\r6_data.rs (target\debug\deps\r6_data-01b62bfdfd2168ff.exe) + +running 16 tests +test a_self_association_is_visible_with_neutral_connector_and_real_role_contracts ... ok +test ambiguous_legacy_annotations_warn_and_reference_fields_stop_payload_descent ... ok +test an_empty_enumeration_is_a_located_incomplete_draft ... ok +test empty_record_collections_are_supported_but_record_literals_and_reference_defaults_are_not ... ok +test enum_literal_edits_validate_type_and_field_defaults_in_one_candidate ... ok +test exponential_payload_expansion_is_reported_and_recursive_finite_paths_remain_valid ... ok +test identified_allocations_keep_protocols_order_artifacts_and_inherited_identity ... ok +test inheritance_chain_validation_scaling_probe ... ignored, explicit inheritance scaling probe; run with --ignored --nocapture +test inherited_interfaces_and_item_specializations_satisfy_typed_port_contracts ... ok +test initial_transition_copies_qualified_paths_inheritance_allocations_and_associations ... ok +test recursive_value_types_warn_while_optional_reference_cycles_and_associations_are_distinct ... ok +test removing_inheritance_prunes_legacy_annotations_only_when_every_reachable_path_disappears ... ok +test repeated_record_paths_enforce_call_reply_phase_and_survive_identity_changes ... ok +test required_dictionary_closure_does_not_expand_through_incident_associations ... ok +test scalar_bounds_defaults_unicode_units_and_failed_batches_are_exact ... ok +test specialization_preserves_fields_rejects_cycles_and_prunes_removed_inherited_paths ... ok + +test result: ok. 15 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 4.80s + + Running tests\r6_migration.rs (target\debug\deps\r6_migration-21343651796281ff.exe) + +running 7 tests +test allocation_alias_collisions_are_stable_and_duplicate_legacy_payload_fields_reject ... ok +test deterministic_allocation_id_collision_is_located_without_overwriting_any_object ... ok +test genuine_v3_preserves_typed_ports_and_allocates_deterministic_relationships ... ok +test recursive_legacy_record_paths_remain_ambiguous_instead_of_becoming_one_argument ... ok +test unique_legacy_nested_value_is_qualified_and_physical_nature_is_not_guessed ... ok +test v1_and_frozen_v2_inputs_reach_four_through_the_shared_data_upgrade ... ok +test v3_changed_payloads_reject_schema4_fields_and_new_constructor_names ... ok + +test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.33s + + Running tests\r6_source.rs (target\debug\deps\r6_source-49b87014548ec3f1.exe) + +running 5 tests +test authored_v3_bundle_upgrade_preserves_includes_nested_ownership_comments_and_identity ... ok +test inferring_a_legacy_path_keeps_rationale_inside_its_argument ... ok +test omitted_ids_are_stabilized_before_allocation_identity_generation ... ok +test qualified_value_reordering_and_path_reidentification_keep_each_arguments_comments ... ok +test schema4_typed_values_supertype_paths_and_protocols_roundtrip ... ok + +test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.78s + + Running tests\release1_teaching.rs (target\debug\deps\release1_teaching-c0feed63bf630ad0.exe) + +running 4 tests +test release1_teaching_preserves_explicit_transport_direction_reuse_and_view_identity ... ok +test release1_teaching_regeneration_and_shipped_source_are_exact_with_one_intentional_warning ... ok +test release1_teaching_rejects_guessed_ports_and_wrong_performer_without_changing_source ... ok +test release1_teaching_review_changes_only_the_selected_counterpart_and_preserves_modules ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.40s + + Running tests\release_capabilities.rs (target\debug\deps\release_capabilities-3e8d1c6e884aa97a.exe) + +running 7 tests +test capability_and_mission_links_enforce_direction_family_and_layer ... ok +test capability_semantics_remain_edges_independent_of_visual_containment ... ok +test conditional_extension_remains_editable_and_condition_is_validated ... ok +test inclusion_and_specialization_reject_transitive_cycles_atomically ... ok +test mission_map_transition_preserves_all_relationship_endpoints_and_conditions_both_ways ... ok +test mission_reidentification_and_deletion_preserve_reference_integrity_and_undo ... ok +test operational_missions_have_typed_bidirectional_counterparts_and_legacy_choices ... ok + +test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.87s + + Running tests\release_diagrams.rs (target\debug\deps\release_diagrams-8635e7175e485e0b.exe) + +running 4 tests +test architecture_is_nested_exchange_context_and_ports_attach_without_placements ... ok +test port_identity_collapse_and_group_movement_do_not_invent_semantic_edges ... ok +test unplaced_work_parent_cannot_detach_a_leaf_from_its_visible_performer ... ok +test view_filtering_keeps_placements_and_source_and_separates_capability_content ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.96s + + Running tests\release_language_limits.rs (target\debug\deps\release_language_limits-d5b2359a4775112a.exe) + +running 4 tests +test declaration_limits_precede_reference_resolution_and_structural_validation ... ok +test json_record_and_step_limits_precede_model_errors_and_preserve_the_candidate ... ok +test legacy_budgets_include_generated_occurrences_and_placements_before_migration ... ok +test lint_reports_located_engineering_warnings_without_rejecting_valid_drafts ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.23s + + Running tests\release_ports.rs (target\debug\deps\release_ports-62a6974324eef197.exe) + +running 13 tests +test ambiguous_reuse_creates_a_fresh_port_and_collisions_never_overwrite ... ok +test component_generation_requires_real_allocations_and_reuses_existing_facts ... ok +test deferred_deletion_preserves_preview_explicit_deletion_and_reidentification ... ok +test deletion_preserves_independent_ports_but_removes_required_dependents ... ok +test directed_legacy_resolution_retains_unclassified_interface_and_role_identity ... ok +test functional_creation_reuse_and_item_sync_are_atomic_and_identity_safe ... ok +test generated_ports_respect_authored_exchange_aliases ... ok +test invalid_replacement_rolls_back_without_repairing_explicit_replacement_projects ... ok +test legacy_split_preserves_original_identity_prose_interface_artifact_constraint_and_trace ... ok +test projection_anchors_are_contract_aware_and_unoriented_connections_keep_their_identity ... ok +test replacement_port_allocation_retains_exchange_mapping_and_evidence_in_either_order ... ok +test standard_interface_roles_do_not_follow_message_direction_and_kind_mixing_is_rejected ... ok +test transitions_create_sa_ports_and_omit_sa_implementation_from_portless_oa ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.11s + + Running tests\release_routing.rs (target\debug\deps\release_routing-b4c124310ef40056.exe) + +running 13 tests +test component_ports_use_actual_owners_in_movement_and_folded_lookup ... ok +test finite_boundary_values_and_temporarily_hidden_edges_remain_editable ... ok +test group_movement_translates_internal_routes_once_and_keeps_external_pins ... ok +test group_translation_beyond_coordinate_limit_rolls_back_nodes_and_routes ... ok +test hiding_or_relocating_a_node_does_not_erase_route_metadata ... ok +test invalid_routes_reject_atomically_with_a_located_diagnostic ... ok +test layout_preserves_authored_route_count_order_labels_and_undo ... ok +test old_models_get_empty_routes_and_route_json_is_strict ... ok +test reidentify_and_delete_preserve_or_clean_routes_with_the_semantic_edge ... ok +test route_edits_are_one_history_step_and_identical_edits_preserve_redo ... ok +test route_upsert_preserves_other_entries_and_accepts_an_explicit_empty_default ... ok +test single_endpoint_raw_edits_and_differing_group_deltas_keep_world_pins ... ok +test trace_routes_follow_trace_identity_and_cleanup_without_extra_objects ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.13s + + Running tests\release_scenarios.rs (target\debug\deps\release_scenarios-617812140094d640.exe) + +running 14 tests +test calls_and_replies_have_real_direction_correlation_and_order ... ok +test conditional_and_parallel_replies_cannot_answer_one_call_twice_but_alternatives_can ... ok +test conditional_lifetime_changes_conflict_with_later_or_parallel_use_not_exclusive_use ... ok +test create_delete_and_local_timer_messages_enforce_lifetime_rules ... ok +test deleting_reused_scenarios_or_bound_lifelines_preserves_callers_and_undo ... ok +test effective_message_endpoints_are_shared_for_forward_and_reverse_reply_choices ... ok +test loop_fragment_repetition_is_distinct_from_recursive_scenario_use ... ok +test optional_cleanup_does_not_claim_a_repeated_lifetime_is_balanced ... ok +test repeated_lifecycle_requires_per_iteration_balance_without_prohibiting_balanced_loops ... ok +test replies_repeated_without_their_call_warn_in_each_extra_loop_scope ... ok +test reuse_rejects_wrong_bindings_recursive_calls_and_wrong_viewpoints ... ok +test reused_scenarios_bind_existing_roles_and_transition_the_reference_closure ... ok +test role_lifelines_require_explicit_work_assignment_not_just_a_shared_realizing_entity ... ok +test value_annotations_are_bound_to_carried_fields_and_all_references_follow_identity_changes ... ok + +test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.35s + + Running tests\release_states.rs (target\debug\deps\release_states-a3a2144b186de9d1.exe) + +running 11 tests +test boundary_points_enforce_inside_outside_local_routing_and_one_route_per_region ... ok +test choices_and_junctions_report_unfinished_guards_but_reject_conflicting_defaults_or_triggers ... ok +test event_reference_identity_cleanup_and_undo_preserve_triggering_intent ... ok +test every_vertex_is_an_editable_draft_but_only_stable_states_own_behavior_or_regions ... ok +test fork_join_detect_concurrency_at_the_common_composite_not_deep_immediate_regions ... ok +test histories_remain_per_region_with_shallow_direct_and_deep_nested_fallbacks ... ok +test initial_final_and_terminate_reject_forbidden_routes_and_cardinality_atomically ... ok +test machine_subtrees_and_selected_edges_transition_events_work_and_payloads_in_both_directions ... ok +test reachability_follows_nested_default_entry_and_reports_disconnected_vertices ... ok +test transition_kinds_distinguish_internal_external_self_and_local_composite_routing ... ok +test typed_events_trigger_alternatives_and_effects_validate_without_owner_restrictions ... ok + +test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.11s + + Running tests\release_topology.rs (target\debug\deps\release_topology-0c7162d4ad246de6.exe) + +running 6 tests +test branching_reusable_processes_transition_as_contextual_topology_in_both_directions ... ok +test contextual_links_match_work_exchange_endpoints_and_reject_foreign_owners ... ok +test legacy_linear_exchange_only_sequences_keep_their_existing_meaning ... ok +test loops_are_allowed_while_missing_guards_and_disconnected_paths_are_diagnosed ... ok +test reuse_rejects_recursive_or_cross_layer_targets_and_deleted_targets_become_drafts ... ok +test topology_identity_edits_and_deletions_preserve_remaining_paths_and_undo ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.94s + + Running tests\review_regressions.rs (target\debug\deps\review_regressions-69b4578e5972e028.exe) + +running 15 tests +test an_explicit_merged_destination_stays_reviewed_on_repeated_preview ... ok +test capability_mission_transition_remains_an_explicit_choice_in_both_directions ... ok +test checked_save_rejects_external_changes_and_preserves_their_exact_bytes ... ok +test checked_save_rejects_external_deletion_without_recreating_the_file ... ok +test checked_save_returns_exact_bytes_and_accepts_unchanged_external_content ... ok +test destination_only_changes_remain_available_for_reverse_propagation ... ok +test divergent_changes_on_both_sides_still_require_review ... ok +test factory_and_add_commands_share_fragment_branch_defaults ... ok +test invalid_placement_relocations_preserve_model_artifacts_and_redo ... ok +test keeping_divergent_values_is_idempotent_in_both_directions ... ok +test later_source_changes_propagate_without_overwriting_other_reviewed_fields ... ok +test relocating_a_placement_preserves_identity_artifacts_and_history ... ok +test same_parent_reparent_preserves_fragment_branch_order_and_history ... ok +test same_parent_reparent_preserves_sequence_order_revision_and_redo ... ok +test unowned_state_machine_is_valid_incomplete_work_in_both_layers ... ok + +test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.86s + + Running tests\route_source.rs (target\debug\deps\route_source-4e5ebc400f40bb54.exe) + +running 5 tests +test invalid_route_source_has_located_errors_and_no_silent_nested_defaults ... ok +test omitted_schema_three_routes_default_to_empty_and_v2_reader_stays_frozen ... ok +test route_commands_json_and_one_step_undo_recover_exact_model_and_canonical_source ... ok +test route_records_share_model_admission_for_source_json_and_bundles ... ok +test route_source_json_and_bundle_roundtrips_preserve_order_defaults_and_edge_aliases ... ok + +test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.07s + + Running tests\routing_geometry.rs (target\debug\deps\routing_geometry-3c0b95acb1568895.exe) + +running 18 tests +test authored_pins_keep_traversal_order_even_when_reversing_and_repeated ... ok +test automatic_label_fraction_survives_its_first_authored_drag_without_a_jump ... ok +test blocked_pin_is_retained_and_warned_without_nan_or_diagonal_fallback ... ok +test bottom_standard_ports_are_approached_from_below ... ok +test collapse_suspends_only_promoted_endpoints_and_never_changes_stored_route ... ok +test compressed_grid_search_finds_multi_turn_exit_from_a_narrow_corridor ... ok +test deterministic_under_input_and_route_list_permutations ... ok +test excessive_search_grid_falls_back_with_an_explicit_warning_and_preserved_endpoints ... ok +test exhausted_search_budget_survives_label_and_pin_previews ... ok +test functional_endpoints_preserve_real_ports_and_normals_while_detouring ... ok +test interpolation_projection_empty_and_repeated_points_are_well_defined ... ok +test label_geometry_and_bounds_are_shared_exact_and_unicode_safe ... ok +test nested_endpoint_enclosure_is_traversable_but_its_header_and_siblings_are_not ... ok +test nonport_relations_try_clear_alternate_sides_and_label_only_supported_roles ... ok +test routing_100_nodes_150_edges_has_bounded_work_and_reports_actual_time ... ok +test single_edge_preview_matches_settled_geometry_and_preserves_other_routes ... ok +test single_pin_above_an_oa_interaction_makes_a_detour_without_a_retraced_spur ... ok +test workshop_automatic_labels_are_readable_without_mutating_authored_routes ... ok + +test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 36.35s + + Running tests\routing_labels.rs (target\debug\deps\routing_labels-c10c641f7dca6ab6.exe) + +running 2 tests +test authored_overlap_is_exact_and_reset_only_repositions_automatic_text ... ok +test demo_architecture_labels_do_not_cover_earlier_or_later_connection_strokes ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s + + Running tests\semantic_artifact_absence_oracle.rs (target\debug\deps\semantic_artifact_absence_oracle-53253a46cddaf2b2.exe) + +running 2 tests +test moved_away_source_artifact_counts_as_absent_from_reviewed_owner ... ok +test target_only_artifact_take_preserves_without_fabricated_source_identity ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s + + Running tests\semantic_attachments_gui_oracle.rs (target\debug\deps\semantic_attachments_gui_oracle-0c35faca26438c6f.exe) + +running 4 tests +test attachment_candidate_and_direct_record_keep_conflict_by_actual_slot_in_either_order ... ok +test attachment_candidate_changes_existing_parent_or_endpoint_without_attached_record_trace ... ok +test convergent_owner_attachment_candidates_agree_and_keep_cannot_override_them ... ok +test incident_absence_take_refuses_but_explicit_candidate_endpoint_is_reviewable ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.33s + + Running tests\source6_view_contract.rs (target\debug\deps\source6_view_contract-9e09977bdc4e7c5d.exe) + +running 8 tests +test source6_category_and_saved_selection_reidentify_delete_preserve_empty_filters ... ok +test source6_category_transition_requires_mapped_members_and_reviews_exact_set ... ok +test source6_edge_availability_uses_actual_shared_projection_fold_and_placement_rules ... ok +test source6_new_historical_facts_are_rejected_under_source5_even_without_live_categories ... ok +test source6_projection_filters_keep_placements_and_label_modes_are_presentation_only ... ok +test source6_traceability_default_keeps_both_layers_and_indexed_projection_matches ... ok +test source6_view_defaults_cannot_be_smuggled_under_old_json_headers ... ok +test source6_views_round_trip_strict_fields_and_reference_aliases ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s + + Running tests\source7_contract.rs (target\debug\deps\source7_contract-77852d41b72fb5a1.exe) + +running 16 tests +test source7_allocation_removal_requires_independent_channel_repair_and_keeps_values ... ok +test source7_assembly_purposes_do_not_invent_precedence_or_global_coverage ... ok +test source7_context_lifecycle_source_history_and_closed_admission ... ok +test source7_context_resource_limits_are_per_request_and_count_authored_paths ... ok +test source7_operation_allocation_delete_repairs_both_call_and_separate_reply_channels ... ok +test source7_operation_inherited_exact_allocation_is_not_a_same_item_substitute ... ok +test source7_operation_reverse_unoriented_call_and_reply_use_actual_binding ... ok +test source7_operation_transmission_matrix_rejects_mismatch_and_warns_unspecified ... ok +test source7_ordinary_old_calls_keep_bytes_and_explicit_null_is_not_old_admission ... ok +test source7_parameterless_operations_have_exact_protocol_identity_and_deletion_intent ... ok +test source7_repeated_nested_qualified_precedence_and_cache_are_distinct ... ok +test source7_reply_derives_call_signature_and_void_return_channel_still_carries_operation ... ok +test source7_selected_operation_requires_channel_lifelines_and_proven_direction ... ok +test source7_semantic_facets_retain_typed_context_and_operation_references ... ok +test source7_source_bundle_migration_is_token_only_and_new_link_stays_with_caller ... ok +test source7_transition_preserves_qualified_paths_and_requires_reviewed_operation_omission ... ok + +test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.60s + + Running tests\source_files.rs (target\debug\deps\source_files-d040d9b5ae030968.exe) + +running 8 tests +test aggregate_budgets_and_portable_paths_are_checked_before_loading_excess_data ... ok +test discovery_never_refreshes_drafts_and_preserves_detached_buffers ... ok +test forged_compiled_model_or_index_cannot_be_saved ... ok +test invalid_and_missing_includes_keep_editable_text_and_located_diagnostics ... ok +test loading_keeps_original_no_uuid_bytes_and_saving_stabilizes_exactly_once ... ok +test new_destinations_require_explicit_missing_expectations_and_reject_collisions ... ok +test physical_hard_link_aliases_are_rejected ... ok +test unchanged_dependency_edits_and_deletions_block_save_before_any_write ... ok + +test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.70s + + Running tests\source_identity_updates.rs (target\debug\deps\source_identity_updates-f90af691370399ca.exe) + +running 3 tests +test identity_and_alias_edit_keep_authored_file_and_reference_rationale ... ok +test identity_swap_and_reorder_keep_both_declarations_and_item_comments_with_origin ... ok +test provenance_cannot_merge_records_or_cross_record_classes ... ok + +test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s + + Running tests\source_nested_updates.rs (target\debug\deps\source_nested_updates-fea139da52a4f936.exe) + +running 12 tests +test additions_nest_in_existing_and_new_owners_while_authored_flat_records_stay_flat ... ok +test compact_same_file_reparent_and_unnest_preserve_explicit_parent_comments ... ok +test crlf_moved_and_new_children_preserve_authored_and_destination_line_endings ... ok +test cross_file_move_carries_attached_comments_and_subtree_but_leaves_gap_notes ... ok +test deep_structural_writeback_runs_on_a_small_thread_stack ... ok +test deleted_owner_identity_reused_by_new_owner_does_not_keep_old_lexical_ownership ... ok +test deleting_owner_retains_annotations_and_extracts_independently_moved_descendant ... ok +test independent_descendant_move_can_reverse_old_containment_without_overlapping_edits ... ok +test moving_a_child_keeps_the_owners_opening_line_comment_with_its_owner ... ok +test nested_scalar_edits_touch_only_authored_tokens ... ok +test nested_typed_reference_list_updates_keep_item_rationale_while_port_moves ... ok +test nested_uuid_alias_swap_and_cross_file_move_follow_command_provenance ... ok + +test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 20.23s + + Running tests\source_project.rs (target\debug\deps\source_project-83f613657b302df8.exe) + +running 33 tests +test added_list_items_empty_lists_and_literal_changes_preserve_existing_annotations ... ok +test advisory_lint_locations_refer_to_raw_drafts_before_identity_stabilization ... ok +test alias_updates_touch_only_header_and_reference_tokens_even_with_comments_after_at ... ok +test canonical_export_groups_semantic_roots_ports_and_placements_and_is_deterministic ... ok +test complete_demo_preserves_behavior_artifacts_traces_and_every_placement ... ok +test constructor_tag_changes_retain_shared_nested_fields_and_removed_field_comments ... ok +test cross_file_typed_ports_global_forward_references_and_stable_ids ... ok +test duplicate_alias_and_identity_report_both_files_including_project_identity ... ok +test duplicate_include_edges_count_toward_admission_and_ordered_references_are_aggregate ... ok +test exported_case_colliding_root_aliases_are_portable_and_large_root_sets_are_bounded ... ok +test failed_update_preserves_candidate_and_rejects_stale_index ... ok +test generated_id_insertion_handles_adjacent_header_tokens_and_remains_exactly_indexed ... ok +test graphical_move_updates_only_its_owned_view_document ... ok +test include_inspection_returns_located_failure_without_partial_discovery_and_is_bounded ... ok +test include_inspection_reuses_strict_entry_fragment_syntax_and_real_spans ... ok +test includes_are_once_only_and_cycles_missing_and_unreachable_files_are_located ... ok +test invalid_cross_file_route_references_and_geometry_locate_the_authored_view ... ok +test json_bundle_rejects_duplicate_file_keys_and_unknown_fields ... ok +test kind_change_removes_field_syntax_but_keeps_its_comments_and_other_fields ... ok +test model_updates_rewrite_cross_file_alias_uses_preserve_ownership_and_untouched_comments ... ok +test moving_declarations_between_files_changes_no_semantics_or_ids ... ok +test nested_message_value_edits_preserve_field_comments_and_reordering_uses_field_identity ... ok +test new_children_inherit_owner_file_new_roots_add_include_and_deletion_keeps_files ... ok +test omitted_defaults_stay_omitted_and_new_fields_do_not_reformat_surviving_fields ... ok +test portable_paths_reject_escapes_devices_urls_and_case_collisions ... ok +test project_admission_is_aggregate_and_precedes_global_resolution ... ok +test reference_list_reordering_carries_item_comments_and_alias_spelling_with_identity ... ok +test removed_list_items_and_declarations_keep_comments_as_enclosing_annotations ... ok +test route_edits_keep_diagram_file_ownership_and_comments_with_edge_identity ... ok +test scalar_header_guard_and_project_edits_preserve_exact_crlf_trivia_and_escape_spelling ... ok +test scalar_record_constructor_changes_keep_comments_inside_removed_values ... ok +test single_string_and_legacy_apis_remain_explicit_and_filesystem_free ... ok +test source_errors_keep_exact_fragment_unicode_positions ... ok + +test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 25.89s + + Running tests\state_diagrams.rs (target\debug\deps\state_diagrams-5c1c39aba3780201.exe) + +running 13 tests +test contexts_restrict_membership_without_changing_legacy_hidden_placements ... ok +test cross_machine_reparent_requires_atomic_placement_and_route_repair ... ok +test empty_and_partial_views_are_read_only_and_omit_unrelated_edges ... ok +test folding_retains_authored_routes_without_false_self_transitions ... ok +test grouped_moves_translate_hidden_descendants_and_pins_only_in_one_view ... ok +test initial_transition_attaches_to_the_compact_symbol_and_preview_keeps_settled_geometry ... ok +test layout_reserves_internal_rows_and_state_routes_retain_hard_pins ... ok +test moving_a_region_does_not_translate_pins_attached_to_a_stationary_state_boundary ... ok +test real_state_symbols_boundaries_internal_rows_and_self_loops_share_geometry ... ok +test reconnect_keeps_identity_and_validates_replacement_without_double_counting ... ok +test remapping_and_machine_deletion_include_dedicated_views_and_dependents ... ok +test source_updates_preserve_context_identity_and_unrelated_authored_bytes ... ok +test strict_context_wire_source_and_admission_contract ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.62s + + Running tests\workflows.rs (target\debug\deps\workflows-8a864e51c6f5081e.exe) + +running 28 tests +test artifacts_preserve_arbitrary_uri_and_revision_without_fetch ... ok +test automatic_transition_does_not_accept_arbitrary_target_kinds ... ok +test batch_is_one_undo_and_noop_does_not_change_revision ... ok +test bidirectional_transition_creates_reuses_and_updates_one_history_transaction ... ok +test both_side_transition_conflicts_require_explicit_field_resolution ... ok +test create_occurrence_attaches_once_and_repeats_exchange_by_distinct_ids ... ok +test deleting_source_cascades_owned_records_but_keeps_other_layer_counterpart ... ok +test demo_has_both_layers_complete_contracts_and_no_checks ... ok +test demo_is_valid_and_preserves_uuid_and_alias_through_json ... ok +test every_demo_identity_can_be_remapped_and_deleted_without_dangling_references ... ok +test explicit_dependencies_map_chain_order_and_repeated_occurrences ... ok +test failed_batch_preserves_model_history_revision_and_redo ... ok +test identity_aliases_and_map_keys_share_global_namespace ... ok +test invalid_geometry_and_new_payload_fields_are_rejected ... ok +test items_ports_interfaces_and_exchange_allocation_are_typed ... ok +test many_traces_need_explicit_counterpart_and_layout_does_not_cause_drift ... ok +test nested_projection_encloses_children_and_moves_only_selected_diagram ... ok +test nested_work_is_independent_of_leaf_allocation ... ok +test parent_and_endpoint_queries_match_creation_rules ... ok +test parent_cycles_cross_layer_ownership_and_multiple_performers_reject ... ok +test participant_transition_requires_boundary_decision_and_stale_plans_reject ... ok +test reidentify_updates_containment_sequences_traces_artifacts_and_views_atomically ... ok +test reidentifying_data_types_and_function_ports_updates_every_typed_reference ... ok +test relation_deletion_prunes_owned_occurrences_and_undo_restores_order ... ok +test rename_and_collision_insertion_preserve_existing_aliases ... ok +test scenario_lifelines_and_occurrences_require_same_context ... ok +test shared_roles_remain_valid_without_an_invented_unique_performer ... ok +test state_regions_initial_final_and_typed_actions_validate ... ok + +test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.71s + + Running unittests examples\generate_demo.rs (target\debug\examples\generate_demo-2210dd414fc7dd6f.exe) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples\generate_release1.rs (target\debug\examples\generate_release1-77aa9cfe3196ef69.exe) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples\release_dense_views.rs (target\debug\examples\release_dense_views-34a654b7c95ab57b.exe) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests examples\routing_workshop.rs (target\debug\examples\routing_workshop-a30f839379f5248c.exe) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/fixture-hashes.json b/harness/experiments/lifecycle-native-ytr83r-20260911/fixture-hashes.json new file mode 100644 index 00000000..7f7d0ae7 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/fixture-hashes.json @@ -0,0 +1,26 @@ +{ + "harness/fixtures/scenario-lifecycle-native/baseline/project.arcadia": { + "bytes": 20088, + "sha256": "444b31b04bbeb06605fee27729e1bc4a6e11fd2cb1288b0f41e59d901961d676" + }, + "harness/fixtures/scenario-lifecycle-native/baseline/rationale.arcadia": { + "bytes": 86, + "sha256": "8509f8d8a136d808cf98a1bb0fe50348b8a24409f30dee4ee65b62bf5cb9e6bf" + }, + "harness/fixtures/scenario-lifecycle-native/oa-rename/project.arcadia": { + "bytes": 20100, + "sha256": "3fbe484ecccec18cff1b5ac4f4dd18b3b1cdc161c75a5cc0b1b02c20ce453c86" + }, + "harness/fixtures/scenario-lifecycle-native/oa-rename/rationale.arcadia": { + "bytes": 86, + "sha256": "8509f8d8a136d808cf98a1bb0fe50348b8a24409f30dee4ee65b62bf5cb9e6bf" + }, + "harness/fixtures/scenario-lifecycle-native/sa-rename/project.arcadia": { + "bytes": 20100, + "sha256": "1f77009c68793c8870cac87be68ed4cd292dbbb3e5708cec66cf1da8b5006b82" + }, + "harness/fixtures/scenario-lifecycle-native/sa-rename/rationale.arcadia": { + "bytes": 86, + "sha256": "8509f8d8a136d808cf98a1bb0fe50348b8a24409f30dee4ee65b62bf5cb9e6bf" + } +} diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/generate-baseline.log b/harness/experiments/lifecycle-native-ytr83r-20260911/generate-baseline.log new file mode 100644 index 00000000..d428a079 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/generate-baseline.log @@ -0,0 +1 @@ +PASS generated baseline: 64 fixed elements, 2 relations, 2 exact sources diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/generate-oa-rename.log b/harness/experiments/lifecycle-native-ytr83r-20260911/generate-oa-rename.log new file mode 100644 index 00000000..2513433b --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/generate-oa-rename.log @@ -0,0 +1 @@ +PASS generated oa-rename: 64 fixed elements, 2 relations, 2 exact sources diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/generate-sa-rename.log b/harness/experiments/lifecycle-native-ytr83r-20260911/generate-sa-rename.log new file mode 100644 index 00000000..d51cb290 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/generate-sa-rename.log @@ -0,0 +1 @@ +PASS generated sa-rename: 64 fixed elements, 2 relations, 2 exact sources diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/inheritance-probe-status.json b/harness/experiments/lifecycle-native-ytr83r-20260911/inheritance-probe-status.json new file mode 100644 index 00000000..ec0cf7a2 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/inheritance-probe-status.json @@ -0,0 +1,13 @@ +{ + "exit": 0, + "timeout": false, + "seconds": 73.5619999999999, + "command": [ + "C:\\Users\\User\\Documents\\Git\\ARCADIA-Studio\\target\\debug\\deps\\r6_data-01b62bfdfd2168ff.exe", + "--ignored", + "--exact", + "inheritance_chain_validation_scaling_probe", + "--nocapture" + ], + "exe_sha256": "4e79ed783ad4e147f5e1b4cffa5a41d9d383521cd336e99fc74407b067275ea4" +} diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/inheritance-probe.log b/harness/experiments/lifecycle-native-ytr83r-20260911/inheritance-probe.log new file mode 100644 index 00000000..487c229c --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/inheritance-probe.log @@ -0,0 +1,10 @@ + +running 1 test +R6 inheritance validation 250 records: 6669.691 ms +R6 inheritance validation 500 records: 19166.328 ms +test inheritance_chain_validation_scaling_probe has been running for over 60 seconds +R6 inheritance validation 1000 records: 38062.849 ms +test inheritance_chain_validation_scaling_probe ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 15 filtered out; finished in 71.21s + diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/inventory.log b/harness/experiments/lifecycle-native-ytr83r-20260911/inventory.log new file mode 100644 index 00000000..d234a014 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/inventory.log @@ -0,0 +1,77 @@ +5ceab400-0000-4000-8000-00000000044c | Scenario | OA 01 Root create action delete | parent=None +5ceab400-0000-4000-8000-00000000044d | Lifeline | OA Controller lane | parent=Some(5ceab400-0000-4000-8000-00000000044c) +5ceab400-0000-4000-8000-00000000044e | Lifeline | OA Receiver lane | parent=Some(5ceab400-0000-4000-8000-00000000044c) +5ceab400-0000-4000-8000-000000000456 | Occurrence | OA Create receiver | parent=Some(5ceab400-0000-4000-8000-00000000044c) +5ceab400-0000-4000-8000-000000000457 | Occurrence | OA Receiver action | parent=Some(5ceab400-0000-4000-8000-00000000044c) +5ceab400-0000-4000-8000-000000000458 | Occurrence | OA Delete receiver | parent=Some(5ceab400-0000-4000-8000-00000000044c) +5ceab400-0000-4000-8000-0000000004b0 | Scenario | OA 02 Preexisting empty | parent=None +5ceab400-0000-4000-8000-0000000004b1 | Lifeline | OA Controller lane | parent=Some(5ceab400-0000-4000-8000-0000000004b0) +5ceab400-0000-4000-8000-0000000004b2 | Lifeline | OA Receiver lane | parent=Some(5ceab400-0000-4000-8000-0000000004b0) +5ceab400-0000-4000-8000-000000000514 | Scenario | OA 03 Create only | parent=None +5ceab400-0000-4000-8000-000000000515 | Lifeline | OA Controller lane | parent=Some(5ceab400-0000-4000-8000-000000000514) +5ceab400-0000-4000-8000-000000000516 | Lifeline | OA Receiver lane | parent=Some(5ceab400-0000-4000-8000-000000000514) +5ceab400-0000-4000-8000-00000000051e | Occurrence | OA Create only receiver | parent=Some(5ceab400-0000-4000-8000-000000000514) +5ceab400-0000-4000-8000-000000000578 | Scenario | OA 04 Conditional delete | parent=None +5ceab400-0000-4000-8000-000000000579 | Lifeline | OA Controller lane | parent=Some(5ceab400-0000-4000-8000-000000000578) +5ceab400-0000-4000-8000-00000000057a | Lifeline | OA Receiver lane | parent=Some(5ceab400-0000-4000-8000-000000000578) +5ceab400-0000-4000-8000-000000000582 | Occurrence | OA Open call | parent=Some(5ceab400-0000-4000-8000-000000000578) +5ceab400-0000-4000-8000-000000000583 | Occurrence | OA ALT delete or keep | parent=Some(5ceab400-0000-4000-8000-000000000578) +5ceab400-0000-4000-8000-000000000584 | Occurrence | OA Left delete operand | parent=Some(5ceab400-0000-4000-8000-000000000583) +5ceab400-0000-4000-8000-000000000585 | Occurrence | OA Right empty operand | parent=Some(5ceab400-0000-4000-8000-000000000583) +5ceab400-0000-4000-8000-000000000586 | Occurrence | OA Conditional delete receiver | parent=Some(5ceab400-0000-4000-8000-000000000584) +5ceab400-0000-4000-8000-0000000005dc | Scenario | OA 05 Unassigned receiver | parent=None +5ceab400-0000-4000-8000-0000000005dd | Lifeline | OA Controller lane | parent=Some(5ceab400-0000-4000-8000-0000000005dc) +5ceab400-0000-4000-8000-0000000005de | Lifeline | OA Unassigned receiver lane | parent=Some(5ceab400-0000-4000-8000-0000000005dc) +5ceab400-0000-4000-8000-0000000005e6 | Occurrence | OA Create unassigned receiver | parent=Some(5ceab400-0000-4000-8000-0000000005dc) +5ceab400-0000-4000-8000-0000000005e7 | Occurrence | OA Delete unassigned receiver | parent=Some(5ceab400-0000-4000-8000-0000000005dc) +5ceab400-0000-4000-8000-000000000640 | Scenario | OA 06 Self delete | parent=None +5ceab400-0000-4000-8000-000000000641 | Lifeline | OA Controller lane | parent=Some(5ceab400-0000-4000-8000-000000000640) +5ceab400-0000-4000-8000-00000000064a | Occurrence | OA Self delete controller | parent=Some(5ceab400-0000-4000-8000-000000000640) +5ceab400-0000-4000-8000-000000000834 | Scenario | SA 01 Root create action delete | parent=None +5ceab400-0000-4000-8000-000000000835 | Lifeline | SA Controller lane | parent=Some(5ceab400-0000-4000-8000-000000000834) +5ceab400-0000-4000-8000-000000000836 | Lifeline | SA Receiver lane | parent=Some(5ceab400-0000-4000-8000-000000000834) +5ceab400-0000-4000-8000-00000000083e | Occurrence | SA Create receiver | parent=Some(5ceab400-0000-4000-8000-000000000834) +5ceab400-0000-4000-8000-00000000083f | Occurrence | SA Receiver action | parent=Some(5ceab400-0000-4000-8000-000000000834) +5ceab400-0000-4000-8000-000000000840 | Occurrence | SA Delete receiver | parent=Some(5ceab400-0000-4000-8000-000000000834) +5ceab400-0000-4000-8000-000000000898 | Scenario | SA 02 Preexisting empty | parent=None +5ceab400-0000-4000-8000-000000000899 | Lifeline | SA Controller lane | parent=Some(5ceab400-0000-4000-8000-000000000898) +5ceab400-0000-4000-8000-00000000089a | Lifeline | SA Receiver lane | parent=Some(5ceab400-0000-4000-8000-000000000898) +5ceab400-0000-4000-8000-0000000008fc | Scenario | SA 03 Create only | parent=None +5ceab400-0000-4000-8000-0000000008fd | Lifeline | SA Controller lane | parent=Some(5ceab400-0000-4000-8000-0000000008fc) +5ceab400-0000-4000-8000-0000000008fe | Lifeline | SA Receiver lane | parent=Some(5ceab400-0000-4000-8000-0000000008fc) +5ceab400-0000-4000-8000-000000000906 | Occurrence | SA Create only receiver | parent=Some(5ceab400-0000-4000-8000-0000000008fc) +5ceab400-0000-4000-8000-000000000960 | Scenario | SA 04 Conditional delete | parent=None +5ceab400-0000-4000-8000-000000000961 | Lifeline | SA Controller lane | parent=Some(5ceab400-0000-4000-8000-000000000960) +5ceab400-0000-4000-8000-000000000962 | Lifeline | SA Receiver lane | parent=Some(5ceab400-0000-4000-8000-000000000960) +5ceab400-0000-4000-8000-00000000096a | Occurrence | SA Open call | parent=Some(5ceab400-0000-4000-8000-000000000960) +5ceab400-0000-4000-8000-00000000096b | Occurrence | SA ALT delete or keep | parent=Some(5ceab400-0000-4000-8000-000000000960) +5ceab400-0000-4000-8000-00000000096c | Occurrence | SA Left delete operand | parent=Some(5ceab400-0000-4000-8000-00000000096b) +5ceab400-0000-4000-8000-00000000096d | Occurrence | SA Right empty operand | parent=Some(5ceab400-0000-4000-8000-00000000096b) +5ceab400-0000-4000-8000-00000000096e | Occurrence | SA Conditional delete receiver | parent=Some(5ceab400-0000-4000-8000-00000000096c) +5ceab400-0000-4000-8000-0000000009c4 | Scenario | SA 05 Unassigned receiver | parent=None +5ceab400-0000-4000-8000-0000000009c5 | Lifeline | SA Controller lane | parent=Some(5ceab400-0000-4000-8000-0000000009c4) +5ceab400-0000-4000-8000-0000000009c6 | Lifeline | SA Unassigned receiver lane | parent=Some(5ceab400-0000-4000-8000-0000000009c4) +5ceab400-0000-4000-8000-0000000009ce | Occurrence | SA Create unassigned receiver | parent=Some(5ceab400-0000-4000-8000-0000000009c4) +5ceab400-0000-4000-8000-0000000009cf | Occurrence | SA Delete unassigned receiver | parent=Some(5ceab400-0000-4000-8000-0000000009c4) +5ceab400-0000-4000-8000-000000000a28 | Scenario | SA 06 Self delete | parent=None +5ceab400-0000-4000-8000-000000000a29 | Lifeline | SA Controller lane | parent=Some(5ceab400-0000-4000-8000-000000000a28) +5ceab400-0000-4000-8000-000000000a32 | Occurrence | SA Self delete controller | parent=Some(5ceab400-0000-4000-8000-000000000a28) +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-000000000001), code: "missing_system", field: Some("elements"), message: "Identify the SA system of interest." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000003f2), code: "unallocated_leaf", field: Some("allocation"), message: "Allocate leaf 'OA Controller work' to a performer." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000003f3), code: "unallocated_leaf", field: Some("allocation"), message: "Allocate leaf 'OA Receiver work' to a performer." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000004b0), code: "empty_sequence", field: Some("steps"), message: "Add ordered occurrences." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-000000000582), code: "call_without_operation", field: Some("exchange"), message: "This generic call carries no Operation item; define an operation contract when appropriate." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000005de), code: "incomplete_reference", field: Some("represented"), message: "Choose represented." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000005e6), code: "missing_exchange", field: Some("exchange"), message: "Choose an exchange." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000005e7), code: "missing_exchange", field: Some("exchange"), message: "Choose an exchange." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-00000000064a), code: "missing_exchange", field: Some("exchange"), message: "Choose an exchange." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000007da), code: "unallocated_leaf", field: Some("allocation"), message: "Allocate leaf 'SA Controller work' to a performer." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000007db), code: "unallocated_leaf", field: Some("allocation"), message: "Allocate leaf 'SA Receiver work' to a performer." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-000000000898), code: "empty_sequence", field: Some("steps"), message: "Add ordered occurrences." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-00000000096a), code: "call_without_operation", field: Some("exchange"), message: "This generic call carries no Operation item; define an operation contract when appropriate." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000009c6), code: "incomplete_reference", field: Some("represented"), message: "Choose represented." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000009ce), code: "missing_exchange", field: Some("exchange"), message: "Choose an exchange." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-0000000009cf), code: "missing_exchange", field: Some("exchange"), message: "Choose an exchange." } +DIAGNOSTIC Issue { severity: Warning, element: Some(5ceab400-0000-4000-8000-000000000a32), code: "missing_exchange", field: Some("exchange"), message: "Choose an exchange." } +DIAGNOSTIC Issue { severity: Warning, element: Some(a4a6ecc0-3e12-51a5-b08b-199ad743525c), code: "empty_port_contract", field: Some("incoming_items"), message: "This function port has no declared exchange items." } +DIAGNOSTIC Issue { severity: Warning, element: Some(b1aa66c4-0e8e-5091-beda-2b8d2005b688), code: "empty_port_contract", field: Some("outgoing_items"), message: "This function port has no declared exchange items." } diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/self-check.log b/harness/experiments/lifecycle-native-ytr83r-20260911/self-check.log new file mode 100644 index 00000000..6f36c0aa --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/self-check.log @@ -0,0 +1 @@ +PASS self-check: fixed OA/SA fixture, exact name-only predictions, explicit retained-file origin policy diff --git a/harness/experiments/lifecycle-native-ytr83r-20260911/status.json b/harness/experiments/lifecycle-native-ytr83r-20260911/status.json new file mode 100644 index 00000000..bbaa4169 --- /dev/null +++ b/harness/experiments/lifecycle-native-ytr83r-20260911/status.json @@ -0,0 +1,53 @@ +{ + "core_sha256": "D282FEE7FF3B4FDD159EA85B12430262C8DA00E064BD290CCED380B6BA2335B5", + "seconds": 62.4279746, + "completed_utc": "2026-09-11T12:41:29.1561610Z", + "results": [ + { + "seconds": 23.4388482, + "name": "compile", + "exit": 0 + }, + { + "seconds": 8.1831391, + "name": "self-check", + "exit": 0 + }, + { + "seconds": 4.7308799, + "name": "inventory", + "exit": 0 + }, + { + "seconds": 5.0343211, + "name": "generate-baseline", + "exit": 0 + }, + { + "name": "check-baseline", + "exit": 0 + }, + { + "seconds": 3.5094392, + "name": "generate-oa-rename", + "exit": 0 + }, + { + "name": "check-oa-rename", + "exit": 0 + }, + { + "seconds": 3.6603173, + "name": "generate-sa-rename", + "exit": 0 + }, + { + "name": "check-sa-rename", + "exit": 0 + } + ], + "core_tree": "a9c71e2c3fc9260d06f191c0d65b1e63e41edbec", + "core_full_test_status": "Separate all-targets gate; no pass inferred from this oracle", + "source_sha256": "FC5E71F9870D7B98E0F52EAF20C831EBFFBE9F7A9B8960269DC9BE3D9BF0D9E4", + "exe_sha256": "798D7A1907B894C13549BAD35511B21D6BC7F3D67D63674042B7DF71184C7524" +} diff --git a/harness/fixtures/scenario-lifecycle-native/README.md b/harness/fixtures/scenario-lifecycle-native/README.md index 2ee2917a..a95599e6 100644 --- a/harness/fixtures/scenario-lifecycle-native/README.md +++ b/harness/fixtures/scenario-lifecycle-native/README.md @@ -1,8 +1,8 @@ # Independent native lifecycle fixture — 2026-09-11 -Owner: Codex-ytr83r /root/integration_audit. **Prepared, uncompiled and unexecuted.** -Root must first compile the current core and checker, run ordinary source admission -and self-check, and generate the immutable baseline before opening Studio. No native +Owner: Codex-ytr83r /root/integration_audit. **Core/source admission passed; native +execution remains pending.** Root compiled the checker, passed its self-check and +generated/checked all three immutable expectations before opening Studio. No native or Scene acceptance is claimed here. The renderer implementation is independently owned by /root/server_audit; this oracle does not import any desktop module. @@ -114,7 +114,25 @@ self-tests missing-origin, unknown/missing/changed retained-file discrimination. ## Status -Source review/preparation only. Pending: direct-rustc compile, self-check, core/source -admission and actual warning inventory, generated baseline and pre-native hashes, -independent adversarial review, matching GUI and all native steps above. Root records -execution results without transferring prior-host acceptance to this new fixture. +Root execution completed on 2026-09-11 at12:41:29 UTC: direct Rust2024 compile with +warnings denied (23.439s), self-check, inventory, and generate/check of baseline, +OA rename and SA rename all passed. Total62.428s. The exact core tree is +`a9c71e2c3fc9260d06f191c0d65b1e63e41edbec`; its compiled rlib SHA256 is +`D282FEE7FF3B4FDD159EA85B12430262C8DA00E064BD290CCED380B6BA2335B5`. +The oracle executable is +`798D7A1907B894C13549BAD35511B21D6BC7F3D67D63674042B7DF71184C7524`. +Exact logs, execution metadata and all six pre-native fixture hashes are retained +under [lifecycle-native-ytr83r-20260911](../../experiments/lifecycle-native-ytr83r-20260911/). + +An independent read-only check confirmed64 elements/2 relations per Project, +including12 scenarios/22 lifelines/24 occurrences. Both incomplete receiver and +self-Delete cases were admitted. There are19 warnings and no errors: +missing_system1, unallocated_leaf4, empty_sequence2, call_without_operation2, +incomplete_reference2, missing_exchange6 and empty_port_contract2. These describe +the intentionally partial engineering fixture; no validation was bypassed. + +Each rename changes exactly one quoted name and adds12 UTF-8 bytes; every other +source byte and identity is unchanged. All three rationale files remain identical +86-byte Unicode text with exactly two CRLF lines and no bare LF. None of these +predictions used native outputs. Pending: matching GUI, visual/interaction checks +and every native Save/Undo/Redo/reopen step above. diff --git a/harness/fixtures/scenario-lifecycle-native/baseline/project.arcadia b/harness/fixtures/scenario-lifecycle-native/baseline/project.arcadia new file mode 100644 index 00000000..4f2c7d6d --- /dev/null +++ b/harness/fixtures/scenario-lifecycle-native/baseline/project.arcadia @@ -0,0 +1,692 @@ +arcadia 7; +project lifecycle_native "Lifecycle native contract" id "5ceab400-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Fixed semantic inputs; lifecycle geometry is derived and never authored."; + + oa_activity life_oa_10 "OA Controller work" id "5ceab400-0000-4000-8000-0000000003f2" { + description ""; + parent none; + } + + oa_activity life_oa_11 "OA Receiver work" id "5ceab400-0000-4000-8000-0000000003f3" { + description ""; + parent none; + } + + oa_scenario life_oa_100 "OA 01 Root create action delete" id "5ceab400-0000-4000-8000-00000000044c" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_110, @life_oa_111, @life_oa_112]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_101 "OA Controller lane" id "5ceab400-0000-4000-8000-00000000044d" { + description ""; + parent @life_oa_100; + represented @life_oa_10; + } + + oa_lifeline life_oa_102 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000044e" { + description ""; + parent @life_oa_100; + represented @life_oa_11; + } + + oa_occurrence life_oa_110 "OA Create receiver" id "5ceab400-0000-4000-8000-000000000456" { + body { + Exchange { + exchange @life_oa_service; + message_kind Create; + receiver @life_oa_102; + reply_to none; + sender @life_oa_101; + values []; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_111 "OA Receiver action" id "5ceab400-0000-4000-8000-000000000457" { + body { + Action { + action @life_oa_11; + lifeline @life_oa_102; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_112 "OA Delete receiver" id "5ceab400-0000-4000-8000-000000000458" { + body { + Exchange { + exchange @life_oa_service; + message_kind Delete; + receiver @life_oa_102; + reply_to none; + sender @life_oa_101; + values []; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_200 "OA 02 Preexisting empty" id "5ceab400-0000-4000-8000-0000000004b0" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps []; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_201 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000004b1" { + description ""; + parent @life_oa_200; + represented @life_oa_10; + } + + oa_lifeline life_oa_202 "OA Receiver lane" id "5ceab400-0000-4000-8000-0000000004b2" { + description ""; + parent @life_oa_200; + represented @life_oa_11; + } + + oa_scenario life_oa_300 "OA 03 Create only" id "5ceab400-0000-4000-8000-000000000514" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_310]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_301 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000515" { + description ""; + parent @life_oa_300; + represented @life_oa_10; + } + + oa_lifeline life_oa_302 "OA Receiver lane" id "5ceab400-0000-4000-8000-000000000516" { + description ""; + parent @life_oa_300; + represented @life_oa_11; + } + + oa_occurrence life_oa_310 "OA Create only receiver" id "5ceab400-0000-4000-8000-00000000051e" { + body { + Exchange { + exchange @life_oa_service; + message_kind Create; + receiver @life_oa_302; + reply_to none; + sender @life_oa_301; + values []; + }; + }; + description ""; + parent @life_oa_300; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_400 "OA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000578" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_410, @life_oa_411]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_401 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000579" { + description ""; + parent @life_oa_400; + represented @life_oa_10; + } + + oa_lifeline life_oa_402 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000057a" { + description ""; + parent @life_oa_400; + represented @life_oa_11; + } + + oa_occurrence life_oa_410 "OA Open call" id "5ceab400-0000-4000-8000-000000000582" { + body { + Exchange { + exchange @life_oa_service; + message_kind Call; + receiver @life_oa_402; + reply_to none; + sender @life_oa_401; + values []; + }; + }; + description ""; + parent @life_oa_400; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_411 "OA ALT delete or keep" id "5ceab400-0000-4000-8000-000000000583" { + body { + Fragment { + branches [@life_oa_412, @life_oa_413]; + operator Alternative; + }; + }; + description ""; + parent @life_oa_400; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_412 "OA Left delete operand" id "5ceab400-0000-4000-8000-000000000584" { + body { + Branch { + guard "stop_requested"; + occurrences [@life_oa_414]; + }; + }; + description ""; + parent @life_oa_411; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_413 "OA Right empty operand" id "5ceab400-0000-4000-8000-000000000585" { + body { + Branch { + guard "else"; + occurrences []; + }; + }; + description ""; + parent @life_oa_411; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_414 "OA Conditional delete receiver" id "5ceab400-0000-4000-8000-000000000586" { + body { + Exchange { + exchange @life_oa_service; + message_kind Delete; + receiver @life_oa_402; + reply_to none; + sender @life_oa_401; + values []; + }; + }; + description ""; + parent @life_oa_412; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_500 "OA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000005dc" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_510, @life_oa_511]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_501 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000005dd" { + description ""; + parent @life_oa_500; + represented @life_oa_10; + } + + oa_lifeline life_oa_502 "OA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000005de" { + description ""; + parent @life_oa_500; + represented none; + } + + oa_occurrence life_oa_510 "OA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e6" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @life_oa_502; + reply_to none; + sender @life_oa_501; + values []; + }; + }; + description ""; + parent @life_oa_500; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_511 "OA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e7" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_oa_502; + reply_to none; + sender @life_oa_501; + values []; + }; + }; + description ""; + parent @life_oa_500; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_600 "OA 06 Self delete" id "5ceab400-0000-4000-8000-000000000640" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_610]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_601 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000641" { + description ""; + parent @life_oa_600; + represented @life_oa_10; + } + + oa_occurrence life_oa_610 "OA Self delete controller" id "5ceab400-0000-4000-8000-00000000064a" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_oa_601; + reply_to none; + sender @life_oa_601; + values []; + }; + }; + description ""; + parent @life_oa_600; + postcondition ""; + precondition ""; + } + + sa_function life_sa_10 "SA Controller work" id "5ceab400-0000-4000-8000-0000000007da" { + description ""; + parent none; + } + + sa_function life_sa_11 "SA Receiver work" id "5ceab400-0000-4000-8000-0000000007db" { + description ""; + parent none; + } + + sa_scenario life_sa_100 "SA 01 Root create action delete" id "5ceab400-0000-4000-8000-000000000834" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_110, @life_sa_111, @life_sa_112]; + viewpoint Functional; + } + + sa_lifeline life_sa_101 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000835" { + description ""; + parent @life_sa_100; + represented @life_sa_10; + } + + sa_lifeline life_sa_102 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000836" { + description ""; + parent @life_sa_100; + represented @life_sa_11; + } + + sa_occurrence life_sa_110 "SA Create receiver" id "5ceab400-0000-4000-8000-00000000083e" { + body { + Exchange { + exchange @life_sa_service; + message_kind Create; + receiver @life_sa_102; + reply_to none; + sender @life_sa_101; + values []; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_111 "SA Receiver action" id "5ceab400-0000-4000-8000-00000000083f" { + body { + Action { + action @life_sa_11; + lifeline @life_sa_102; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_112 "SA Delete receiver" id "5ceab400-0000-4000-8000-000000000840" { + body { + Exchange { + exchange @life_sa_service; + message_kind Delete; + receiver @life_sa_102; + reply_to none; + sender @life_sa_101; + values []; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_200 "SA 02 Preexisting empty" id "5ceab400-0000-4000-8000-000000000898" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps []; + viewpoint Functional; + } + + sa_lifeline life_sa_201 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000899" { + description ""; + parent @life_sa_200; + represented @life_sa_10; + } + + sa_lifeline life_sa_202 "SA Receiver lane" id "5ceab400-0000-4000-8000-00000000089a" { + description ""; + parent @life_sa_200; + represented @life_sa_11; + } + + sa_scenario life_sa_300 "SA 03 Create only" id "5ceab400-0000-4000-8000-0000000008fc" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_310]; + viewpoint Functional; + } + + sa_lifeline life_sa_301 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000008fd" { + description ""; + parent @life_sa_300; + represented @life_sa_10; + } + + sa_lifeline life_sa_302 "SA Receiver lane" id "5ceab400-0000-4000-8000-0000000008fe" { + description ""; + parent @life_sa_300; + represented @life_sa_11; + } + + sa_occurrence life_sa_310 "SA Create only receiver" id "5ceab400-0000-4000-8000-000000000906" { + body { + Exchange { + exchange @life_sa_service; + message_kind Create; + receiver @life_sa_302; + reply_to none; + sender @life_sa_301; + values []; + }; + }; + description ""; + parent @life_sa_300; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_400 "SA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000960" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_410, @life_sa_411]; + viewpoint Functional; + } + + sa_lifeline life_sa_401 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000961" { + description ""; + parent @life_sa_400; + represented @life_sa_10; + } + + sa_lifeline life_sa_402 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000962" { + description ""; + parent @life_sa_400; + represented @life_sa_11; + } + + sa_occurrence life_sa_410 "SA Open call" id "5ceab400-0000-4000-8000-00000000096a" { + body { + Exchange { + exchange @life_sa_service; + message_kind Call; + receiver @life_sa_402; + reply_to none; + sender @life_sa_401; + values []; + }; + }; + description ""; + parent @life_sa_400; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_411 "SA ALT delete or keep" id "5ceab400-0000-4000-8000-00000000096b" { + body { + Fragment { + branches [@life_sa_412, @life_sa_413]; + operator Alternative; + }; + }; + description ""; + parent @life_sa_400; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_412 "SA Left delete operand" id "5ceab400-0000-4000-8000-00000000096c" { + body { + Branch { + guard "stop_requested"; + occurrences [@life_sa_414]; + }; + }; + description ""; + parent @life_sa_411; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_413 "SA Right empty operand" id "5ceab400-0000-4000-8000-00000000096d" { + body { + Branch { + guard "else"; + occurrences []; + }; + }; + description ""; + parent @life_sa_411; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_414 "SA Conditional delete receiver" id "5ceab400-0000-4000-8000-00000000096e" { + body { + Exchange { + exchange @life_sa_service; + message_kind Delete; + receiver @life_sa_402; + reply_to none; + sender @life_sa_401; + values []; + }; + }; + description ""; + parent @life_sa_412; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_500 "SA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000009c4" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_510, @life_sa_511]; + viewpoint Functional; + } + + sa_lifeline life_sa_501 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000009c5" { + description ""; + parent @life_sa_500; + represented @life_sa_10; + } + + sa_lifeline life_sa_502 "SA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000009c6" { + description ""; + parent @life_sa_500; + represented none; + } + + sa_occurrence life_sa_510 "SA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000009ce" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @life_sa_502; + reply_to none; + sender @life_sa_501; + values []; + }; + }; + description ""; + parent @life_sa_500; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_511 "SA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000009cf" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_sa_502; + reply_to none; + sender @life_sa_501; + values []; + }; + }; + description ""; + parent @life_sa_500; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_600 "SA 06 Self delete" id "5ceab400-0000-4000-8000-000000000a28" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_610]; + viewpoint Functional; + } + + sa_lifeline life_sa_601 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000a29" { + description ""; + parent @life_sa_600; + represented @life_sa_10; + } + + sa_occurrence life_sa_610 "SA Self delete controller" id "5ceab400-0000-4000-8000-000000000a32" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_sa_601; + reply_to none; + sender @life_sa_601; + values []; + }; + }; + description ""; + parent @life_sa_600; + postcondition ""; + precondition ""; + } + + sa_port sa_lifecycle_service_input "SA Lifecycle service input" id "a4a6ecc0-3e12-51a5-b08b-199ad743525c" { + contract { + FunctionInput { + incoming_items []; + }; + }; + description ""; + legacy none; + parent @life_sa_11; + } + + sa_port sa_lifecycle_service_output "SA Lifecycle service output" id "b1aa66c4-0e8e-5091-beda-2b8d2005b688" { + contract { + FunctionOutput { + outgoing_items []; + }; + }; + description ""; + legacy none; + parent @life_sa_10; + } + + interaction life_oa_service "OA Lifecycle service" id "5ceab400-0000-4000-8000-0000000003f4" { + description ""; + items []; + source @life_oa_10; + target @life_oa_11; + } + + functional_exchange life_sa_service "SA Lifecycle service" id "5ceab400-0000-4000-8000-0000000007dc" { + description ""; + items []; + source @life_sa_10; + source_port @sa_lifecycle_service_output; + target @life_sa_11; + target_port @sa_lifecycle_service_input; + } + +} diff --git a/harness/fixtures/scenario-lifecycle-native/baseline/rationale.arcadia b/harness/fixtures/scenario-lifecycle-native/baseline/rationale.arcadia new file mode 100644 index 00000000..a6c18ddd --- /dev/null +++ b/harness/fixtures/scenario-lifecycle-native/baseline/rationale.arcadia @@ -0,0 +1,2 @@ +// Preserve lifecycle note: 雨 · receiver. +// Geometry never changes these bytes. diff --git a/harness/fixtures/scenario-lifecycle-native/oa-rename/project.arcadia b/harness/fixtures/scenario-lifecycle-native/oa-rename/project.arcadia new file mode 100644 index 00000000..8acaa11d --- /dev/null +++ b/harness/fixtures/scenario-lifecycle-native/oa-rename/project.arcadia @@ -0,0 +1,692 @@ +arcadia 7; +project lifecycle_native "Lifecycle native contract" id "5ceab400-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Fixed semantic inputs; lifecycle geometry is derived and never authored."; + + oa_activity life_oa_10 "OA Controller work" id "5ceab400-0000-4000-8000-0000000003f2" { + description ""; + parent none; + } + + oa_activity life_oa_11 "OA Receiver work" id "5ceab400-0000-4000-8000-0000000003f3" { + description ""; + parent none; + } + + oa_scenario life_oa_100 "OA 01 Root create action delete" id "5ceab400-0000-4000-8000-00000000044c" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_110, @life_oa_111, @life_oa_112]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_101 "OA Controller lane" id "5ceab400-0000-4000-8000-00000000044d" { + description ""; + parent @life_oa_100; + represented @life_oa_10; + } + + oa_lifeline life_oa_102 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000044e" { + description ""; + parent @life_oa_100; + represented @life_oa_11; + } + + oa_occurrence life_oa_110 "OA Create receiver" id "5ceab400-0000-4000-8000-000000000456" { + body { + Exchange { + exchange @life_oa_service; + message_kind Create; + receiver @life_oa_102; + reply_to none; + sender @life_oa_101; + values []; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_111 "OA Receiver action" id "5ceab400-0000-4000-8000-000000000457" { + body { + Action { + action @life_oa_11; + lifeline @life_oa_102; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_112 "OA Delete receiver · reviewed" id "5ceab400-0000-4000-8000-000000000458" { + body { + Exchange { + exchange @life_oa_service; + message_kind Delete; + receiver @life_oa_102; + reply_to none; + sender @life_oa_101; + values []; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_200 "OA 02 Preexisting empty" id "5ceab400-0000-4000-8000-0000000004b0" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps []; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_201 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000004b1" { + description ""; + parent @life_oa_200; + represented @life_oa_10; + } + + oa_lifeline life_oa_202 "OA Receiver lane" id "5ceab400-0000-4000-8000-0000000004b2" { + description ""; + parent @life_oa_200; + represented @life_oa_11; + } + + oa_scenario life_oa_300 "OA 03 Create only" id "5ceab400-0000-4000-8000-000000000514" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_310]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_301 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000515" { + description ""; + parent @life_oa_300; + represented @life_oa_10; + } + + oa_lifeline life_oa_302 "OA Receiver lane" id "5ceab400-0000-4000-8000-000000000516" { + description ""; + parent @life_oa_300; + represented @life_oa_11; + } + + oa_occurrence life_oa_310 "OA Create only receiver" id "5ceab400-0000-4000-8000-00000000051e" { + body { + Exchange { + exchange @life_oa_service; + message_kind Create; + receiver @life_oa_302; + reply_to none; + sender @life_oa_301; + values []; + }; + }; + description ""; + parent @life_oa_300; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_400 "OA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000578" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_410, @life_oa_411]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_401 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000579" { + description ""; + parent @life_oa_400; + represented @life_oa_10; + } + + oa_lifeline life_oa_402 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000057a" { + description ""; + parent @life_oa_400; + represented @life_oa_11; + } + + oa_occurrence life_oa_410 "OA Open call" id "5ceab400-0000-4000-8000-000000000582" { + body { + Exchange { + exchange @life_oa_service; + message_kind Call; + receiver @life_oa_402; + reply_to none; + sender @life_oa_401; + values []; + }; + }; + description ""; + parent @life_oa_400; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_411 "OA ALT delete or keep" id "5ceab400-0000-4000-8000-000000000583" { + body { + Fragment { + branches [@life_oa_412, @life_oa_413]; + operator Alternative; + }; + }; + description ""; + parent @life_oa_400; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_412 "OA Left delete operand" id "5ceab400-0000-4000-8000-000000000584" { + body { + Branch { + guard "stop_requested"; + occurrences [@life_oa_414]; + }; + }; + description ""; + parent @life_oa_411; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_413 "OA Right empty operand" id "5ceab400-0000-4000-8000-000000000585" { + body { + Branch { + guard "else"; + occurrences []; + }; + }; + description ""; + parent @life_oa_411; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_414 "OA Conditional delete receiver" id "5ceab400-0000-4000-8000-000000000586" { + body { + Exchange { + exchange @life_oa_service; + message_kind Delete; + receiver @life_oa_402; + reply_to none; + sender @life_oa_401; + values []; + }; + }; + description ""; + parent @life_oa_412; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_500 "OA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000005dc" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_510, @life_oa_511]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_501 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000005dd" { + description ""; + parent @life_oa_500; + represented @life_oa_10; + } + + oa_lifeline life_oa_502 "OA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000005de" { + description ""; + parent @life_oa_500; + represented none; + } + + oa_occurrence life_oa_510 "OA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e6" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @life_oa_502; + reply_to none; + sender @life_oa_501; + values []; + }; + }; + description ""; + parent @life_oa_500; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_511 "OA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e7" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_oa_502; + reply_to none; + sender @life_oa_501; + values []; + }; + }; + description ""; + parent @life_oa_500; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_600 "OA 06 Self delete" id "5ceab400-0000-4000-8000-000000000640" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_610]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_601 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000641" { + description ""; + parent @life_oa_600; + represented @life_oa_10; + } + + oa_occurrence life_oa_610 "OA Self delete controller" id "5ceab400-0000-4000-8000-00000000064a" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_oa_601; + reply_to none; + sender @life_oa_601; + values []; + }; + }; + description ""; + parent @life_oa_600; + postcondition ""; + precondition ""; + } + + sa_function life_sa_10 "SA Controller work" id "5ceab400-0000-4000-8000-0000000007da" { + description ""; + parent none; + } + + sa_function life_sa_11 "SA Receiver work" id "5ceab400-0000-4000-8000-0000000007db" { + description ""; + parent none; + } + + sa_scenario life_sa_100 "SA 01 Root create action delete" id "5ceab400-0000-4000-8000-000000000834" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_110, @life_sa_111, @life_sa_112]; + viewpoint Functional; + } + + sa_lifeline life_sa_101 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000835" { + description ""; + parent @life_sa_100; + represented @life_sa_10; + } + + sa_lifeline life_sa_102 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000836" { + description ""; + parent @life_sa_100; + represented @life_sa_11; + } + + sa_occurrence life_sa_110 "SA Create receiver" id "5ceab400-0000-4000-8000-00000000083e" { + body { + Exchange { + exchange @life_sa_service; + message_kind Create; + receiver @life_sa_102; + reply_to none; + sender @life_sa_101; + values []; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_111 "SA Receiver action" id "5ceab400-0000-4000-8000-00000000083f" { + body { + Action { + action @life_sa_11; + lifeline @life_sa_102; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_112 "SA Delete receiver" id "5ceab400-0000-4000-8000-000000000840" { + body { + Exchange { + exchange @life_sa_service; + message_kind Delete; + receiver @life_sa_102; + reply_to none; + sender @life_sa_101; + values []; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_200 "SA 02 Preexisting empty" id "5ceab400-0000-4000-8000-000000000898" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps []; + viewpoint Functional; + } + + sa_lifeline life_sa_201 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000899" { + description ""; + parent @life_sa_200; + represented @life_sa_10; + } + + sa_lifeline life_sa_202 "SA Receiver lane" id "5ceab400-0000-4000-8000-00000000089a" { + description ""; + parent @life_sa_200; + represented @life_sa_11; + } + + sa_scenario life_sa_300 "SA 03 Create only" id "5ceab400-0000-4000-8000-0000000008fc" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_310]; + viewpoint Functional; + } + + sa_lifeline life_sa_301 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000008fd" { + description ""; + parent @life_sa_300; + represented @life_sa_10; + } + + sa_lifeline life_sa_302 "SA Receiver lane" id "5ceab400-0000-4000-8000-0000000008fe" { + description ""; + parent @life_sa_300; + represented @life_sa_11; + } + + sa_occurrence life_sa_310 "SA Create only receiver" id "5ceab400-0000-4000-8000-000000000906" { + body { + Exchange { + exchange @life_sa_service; + message_kind Create; + receiver @life_sa_302; + reply_to none; + sender @life_sa_301; + values []; + }; + }; + description ""; + parent @life_sa_300; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_400 "SA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000960" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_410, @life_sa_411]; + viewpoint Functional; + } + + sa_lifeline life_sa_401 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000961" { + description ""; + parent @life_sa_400; + represented @life_sa_10; + } + + sa_lifeline life_sa_402 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000962" { + description ""; + parent @life_sa_400; + represented @life_sa_11; + } + + sa_occurrence life_sa_410 "SA Open call" id "5ceab400-0000-4000-8000-00000000096a" { + body { + Exchange { + exchange @life_sa_service; + message_kind Call; + receiver @life_sa_402; + reply_to none; + sender @life_sa_401; + values []; + }; + }; + description ""; + parent @life_sa_400; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_411 "SA ALT delete or keep" id "5ceab400-0000-4000-8000-00000000096b" { + body { + Fragment { + branches [@life_sa_412, @life_sa_413]; + operator Alternative; + }; + }; + description ""; + parent @life_sa_400; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_412 "SA Left delete operand" id "5ceab400-0000-4000-8000-00000000096c" { + body { + Branch { + guard "stop_requested"; + occurrences [@life_sa_414]; + }; + }; + description ""; + parent @life_sa_411; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_413 "SA Right empty operand" id "5ceab400-0000-4000-8000-00000000096d" { + body { + Branch { + guard "else"; + occurrences []; + }; + }; + description ""; + parent @life_sa_411; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_414 "SA Conditional delete receiver" id "5ceab400-0000-4000-8000-00000000096e" { + body { + Exchange { + exchange @life_sa_service; + message_kind Delete; + receiver @life_sa_402; + reply_to none; + sender @life_sa_401; + values []; + }; + }; + description ""; + parent @life_sa_412; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_500 "SA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000009c4" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_510, @life_sa_511]; + viewpoint Functional; + } + + sa_lifeline life_sa_501 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000009c5" { + description ""; + parent @life_sa_500; + represented @life_sa_10; + } + + sa_lifeline life_sa_502 "SA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000009c6" { + description ""; + parent @life_sa_500; + represented none; + } + + sa_occurrence life_sa_510 "SA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000009ce" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @life_sa_502; + reply_to none; + sender @life_sa_501; + values []; + }; + }; + description ""; + parent @life_sa_500; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_511 "SA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000009cf" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_sa_502; + reply_to none; + sender @life_sa_501; + values []; + }; + }; + description ""; + parent @life_sa_500; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_600 "SA 06 Self delete" id "5ceab400-0000-4000-8000-000000000a28" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_610]; + viewpoint Functional; + } + + sa_lifeline life_sa_601 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000a29" { + description ""; + parent @life_sa_600; + represented @life_sa_10; + } + + sa_occurrence life_sa_610 "SA Self delete controller" id "5ceab400-0000-4000-8000-000000000a32" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_sa_601; + reply_to none; + sender @life_sa_601; + values []; + }; + }; + description ""; + parent @life_sa_600; + postcondition ""; + precondition ""; + } + + sa_port sa_lifecycle_service_input "SA Lifecycle service input" id "a4a6ecc0-3e12-51a5-b08b-199ad743525c" { + contract { + FunctionInput { + incoming_items []; + }; + }; + description ""; + legacy none; + parent @life_sa_11; + } + + sa_port sa_lifecycle_service_output "SA Lifecycle service output" id "b1aa66c4-0e8e-5091-beda-2b8d2005b688" { + contract { + FunctionOutput { + outgoing_items []; + }; + }; + description ""; + legacy none; + parent @life_sa_10; + } + + interaction life_oa_service "OA Lifecycle service" id "5ceab400-0000-4000-8000-0000000003f4" { + description ""; + items []; + source @life_oa_10; + target @life_oa_11; + } + + functional_exchange life_sa_service "SA Lifecycle service" id "5ceab400-0000-4000-8000-0000000007dc" { + description ""; + items []; + source @life_sa_10; + source_port @sa_lifecycle_service_output; + target @life_sa_11; + target_port @sa_lifecycle_service_input; + } + +} diff --git a/harness/fixtures/scenario-lifecycle-native/oa-rename/rationale.arcadia b/harness/fixtures/scenario-lifecycle-native/oa-rename/rationale.arcadia new file mode 100644 index 00000000..a6c18ddd --- /dev/null +++ b/harness/fixtures/scenario-lifecycle-native/oa-rename/rationale.arcadia @@ -0,0 +1,2 @@ +// Preserve lifecycle note: 雨 · receiver. +// Geometry never changes these bytes. diff --git a/harness/fixtures/scenario-lifecycle-native/sa-rename/project.arcadia b/harness/fixtures/scenario-lifecycle-native/sa-rename/project.arcadia new file mode 100644 index 00000000..3df1fb2e --- /dev/null +++ b/harness/fixtures/scenario-lifecycle-native/sa-rename/project.arcadia @@ -0,0 +1,692 @@ +arcadia 7; +project lifecycle_native "Lifecycle native contract" id "5ceab400-0000-4000-8000-000000000001" { + include "rationale.arcadia"; + description "Fixed semantic inputs; lifecycle geometry is derived and never authored."; + + oa_activity life_oa_10 "OA Controller work" id "5ceab400-0000-4000-8000-0000000003f2" { + description ""; + parent none; + } + + oa_activity life_oa_11 "OA Receiver work" id "5ceab400-0000-4000-8000-0000000003f3" { + description ""; + parent none; + } + + oa_scenario life_oa_100 "OA 01 Root create action delete" id "5ceab400-0000-4000-8000-00000000044c" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_110, @life_oa_111, @life_oa_112]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_101 "OA Controller lane" id "5ceab400-0000-4000-8000-00000000044d" { + description ""; + parent @life_oa_100; + represented @life_oa_10; + } + + oa_lifeline life_oa_102 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000044e" { + description ""; + parent @life_oa_100; + represented @life_oa_11; + } + + oa_occurrence life_oa_110 "OA Create receiver" id "5ceab400-0000-4000-8000-000000000456" { + body { + Exchange { + exchange @life_oa_service; + message_kind Create; + receiver @life_oa_102; + reply_to none; + sender @life_oa_101; + values []; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_111 "OA Receiver action" id "5ceab400-0000-4000-8000-000000000457" { + body { + Action { + action @life_oa_11; + lifeline @life_oa_102; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_112 "OA Delete receiver" id "5ceab400-0000-4000-8000-000000000458" { + body { + Exchange { + exchange @life_oa_service; + message_kind Delete; + receiver @life_oa_102; + reply_to none; + sender @life_oa_101; + values []; + }; + }; + description ""; + parent @life_oa_100; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_200 "OA 02 Preexisting empty" id "5ceab400-0000-4000-8000-0000000004b0" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps []; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_201 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000004b1" { + description ""; + parent @life_oa_200; + represented @life_oa_10; + } + + oa_lifeline life_oa_202 "OA Receiver lane" id "5ceab400-0000-4000-8000-0000000004b2" { + description ""; + parent @life_oa_200; + represented @life_oa_11; + } + + oa_scenario life_oa_300 "OA 03 Create only" id "5ceab400-0000-4000-8000-000000000514" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_310]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_301 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000515" { + description ""; + parent @life_oa_300; + represented @life_oa_10; + } + + oa_lifeline life_oa_302 "OA Receiver lane" id "5ceab400-0000-4000-8000-000000000516" { + description ""; + parent @life_oa_300; + represented @life_oa_11; + } + + oa_occurrence life_oa_310 "OA Create only receiver" id "5ceab400-0000-4000-8000-00000000051e" { + body { + Exchange { + exchange @life_oa_service; + message_kind Create; + receiver @life_oa_302; + reply_to none; + sender @life_oa_301; + values []; + }; + }; + description ""; + parent @life_oa_300; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_400 "OA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000578" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_410, @life_oa_411]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_401 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000579" { + description ""; + parent @life_oa_400; + represented @life_oa_10; + } + + oa_lifeline life_oa_402 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000057a" { + description ""; + parent @life_oa_400; + represented @life_oa_11; + } + + oa_occurrence life_oa_410 "OA Open call" id "5ceab400-0000-4000-8000-000000000582" { + body { + Exchange { + exchange @life_oa_service; + message_kind Call; + receiver @life_oa_402; + reply_to none; + sender @life_oa_401; + values []; + }; + }; + description ""; + parent @life_oa_400; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_411 "OA ALT delete or keep" id "5ceab400-0000-4000-8000-000000000583" { + body { + Fragment { + branches [@life_oa_412, @life_oa_413]; + operator Alternative; + }; + }; + description ""; + parent @life_oa_400; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_412 "OA Left delete operand" id "5ceab400-0000-4000-8000-000000000584" { + body { + Branch { + guard "stop_requested"; + occurrences [@life_oa_414]; + }; + }; + description ""; + parent @life_oa_411; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_413 "OA Right empty operand" id "5ceab400-0000-4000-8000-000000000585" { + body { + Branch { + guard "else"; + occurrences []; + }; + }; + description ""; + parent @life_oa_411; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_414 "OA Conditional delete receiver" id "5ceab400-0000-4000-8000-000000000586" { + body { + Exchange { + exchange @life_oa_service; + message_kind Delete; + receiver @life_oa_402; + reply_to none; + sender @life_oa_401; + values []; + }; + }; + description ""; + parent @life_oa_412; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_500 "OA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000005dc" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_510, @life_oa_511]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_501 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000005dd" { + description ""; + parent @life_oa_500; + represented @life_oa_10; + } + + oa_lifeline life_oa_502 "OA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000005de" { + description ""; + parent @life_oa_500; + represented none; + } + + oa_occurrence life_oa_510 "OA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e6" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @life_oa_502; + reply_to none; + sender @life_oa_501; + values []; + }; + }; + description ""; + parent @life_oa_500; + postcondition ""; + precondition ""; + } + + oa_occurrence life_oa_511 "OA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e7" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_oa_502; + reply_to none; + sender @life_oa_501; + values []; + }; + }; + description ""; + parent @life_oa_500; + postcondition ""; + precondition ""; + } + + oa_scenario life_oa_600 "OA 06 Self delete" id "5ceab400-0000-4000-8000-000000000640" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_oa_610]; + viewpoint OperationalActivity; + } + + oa_lifeline life_oa_601 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000641" { + description ""; + parent @life_oa_600; + represented @life_oa_10; + } + + oa_occurrence life_oa_610 "OA Self delete controller" id "5ceab400-0000-4000-8000-00000000064a" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_oa_601; + reply_to none; + sender @life_oa_601; + values []; + }; + }; + description ""; + parent @life_oa_600; + postcondition ""; + precondition ""; + } + + sa_function life_sa_10 "SA Controller work" id "5ceab400-0000-4000-8000-0000000007da" { + description ""; + parent none; + } + + sa_function life_sa_11 "SA Receiver work" id "5ceab400-0000-4000-8000-0000000007db" { + description ""; + parent none; + } + + sa_scenario life_sa_100 "SA 01 Root create action delete" id "5ceab400-0000-4000-8000-000000000834" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_110, @life_sa_111, @life_sa_112]; + viewpoint Functional; + } + + sa_lifeline life_sa_101 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000835" { + description ""; + parent @life_sa_100; + represented @life_sa_10; + } + + sa_lifeline life_sa_102 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000836" { + description ""; + parent @life_sa_100; + represented @life_sa_11; + } + + sa_occurrence life_sa_110 "SA Create receiver" id "5ceab400-0000-4000-8000-00000000083e" { + body { + Exchange { + exchange @life_sa_service; + message_kind Create; + receiver @life_sa_102; + reply_to none; + sender @life_sa_101; + values []; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_111 "SA Receiver action" id "5ceab400-0000-4000-8000-00000000083f" { + body { + Action { + action @life_sa_11; + lifeline @life_sa_102; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_112 "SA Delete receiver · reviewed" id "5ceab400-0000-4000-8000-000000000840" { + body { + Exchange { + exchange @life_sa_service; + message_kind Delete; + receiver @life_sa_102; + reply_to none; + sender @life_sa_101; + values []; + }; + }; + description ""; + parent @life_sa_100; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_200 "SA 02 Preexisting empty" id "5ceab400-0000-4000-8000-000000000898" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps []; + viewpoint Functional; + } + + sa_lifeline life_sa_201 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000899" { + description ""; + parent @life_sa_200; + represented @life_sa_10; + } + + sa_lifeline life_sa_202 "SA Receiver lane" id "5ceab400-0000-4000-8000-00000000089a" { + description ""; + parent @life_sa_200; + represented @life_sa_11; + } + + sa_scenario life_sa_300 "SA 03 Create only" id "5ceab400-0000-4000-8000-0000000008fc" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_310]; + viewpoint Functional; + } + + sa_lifeline life_sa_301 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000008fd" { + description ""; + parent @life_sa_300; + represented @life_sa_10; + } + + sa_lifeline life_sa_302 "SA Receiver lane" id "5ceab400-0000-4000-8000-0000000008fe" { + description ""; + parent @life_sa_300; + represented @life_sa_11; + } + + sa_occurrence life_sa_310 "SA Create only receiver" id "5ceab400-0000-4000-8000-000000000906" { + body { + Exchange { + exchange @life_sa_service; + message_kind Create; + receiver @life_sa_302; + reply_to none; + sender @life_sa_301; + values []; + }; + }; + description ""; + parent @life_sa_300; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_400 "SA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000960" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_410, @life_sa_411]; + viewpoint Functional; + } + + sa_lifeline life_sa_401 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000961" { + description ""; + parent @life_sa_400; + represented @life_sa_10; + } + + sa_lifeline life_sa_402 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000962" { + description ""; + parent @life_sa_400; + represented @life_sa_11; + } + + sa_occurrence life_sa_410 "SA Open call" id "5ceab400-0000-4000-8000-00000000096a" { + body { + Exchange { + exchange @life_sa_service; + message_kind Call; + receiver @life_sa_402; + reply_to none; + sender @life_sa_401; + values []; + }; + }; + description ""; + parent @life_sa_400; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_411 "SA ALT delete or keep" id "5ceab400-0000-4000-8000-00000000096b" { + body { + Fragment { + branches [@life_sa_412, @life_sa_413]; + operator Alternative; + }; + }; + description ""; + parent @life_sa_400; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_412 "SA Left delete operand" id "5ceab400-0000-4000-8000-00000000096c" { + body { + Branch { + guard "stop_requested"; + occurrences [@life_sa_414]; + }; + }; + description ""; + parent @life_sa_411; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_413 "SA Right empty operand" id "5ceab400-0000-4000-8000-00000000096d" { + body { + Branch { + guard "else"; + occurrences []; + }; + }; + description ""; + parent @life_sa_411; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_414 "SA Conditional delete receiver" id "5ceab400-0000-4000-8000-00000000096e" { + body { + Exchange { + exchange @life_sa_service; + message_kind Delete; + receiver @life_sa_402; + reply_to none; + sender @life_sa_401; + values []; + }; + }; + description ""; + parent @life_sa_412; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_500 "SA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000009c4" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_510, @life_sa_511]; + viewpoint Functional; + } + + sa_lifeline life_sa_501 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000009c5" { + description ""; + parent @life_sa_500; + represented @life_sa_10; + } + + sa_lifeline life_sa_502 "SA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000009c6" { + description ""; + parent @life_sa_500; + represented none; + } + + sa_occurrence life_sa_510 "SA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000009ce" { + body { + Exchange { + exchange none; + message_kind Create; + receiver @life_sa_502; + reply_to none; + sender @life_sa_501; + values []; + }; + }; + description ""; + parent @life_sa_500; + postcondition ""; + precondition ""; + } + + sa_occurrence life_sa_511 "SA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000009cf" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_sa_502; + reply_to none; + sender @life_sa_501; + values []; + }; + }; + description ""; + parent @life_sa_500; + postcondition ""; + precondition ""; + } + + sa_scenario life_sa_600 "SA 06 Self delete" id "5ceab400-0000-4000-8000-000000000a28" { + context none; + description ""; + parent none; + postcondition ""; + precondition ""; + steps [@life_sa_610]; + viewpoint Functional; + } + + sa_lifeline life_sa_601 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000a29" { + description ""; + parent @life_sa_600; + represented @life_sa_10; + } + + sa_occurrence life_sa_610 "SA Self delete controller" id "5ceab400-0000-4000-8000-000000000a32" { + body { + Exchange { + exchange none; + message_kind Delete; + receiver @life_sa_601; + reply_to none; + sender @life_sa_601; + values []; + }; + }; + description ""; + parent @life_sa_600; + postcondition ""; + precondition ""; + } + + sa_port sa_lifecycle_service_input "SA Lifecycle service input" id "a4a6ecc0-3e12-51a5-b08b-199ad743525c" { + contract { + FunctionInput { + incoming_items []; + }; + }; + description ""; + legacy none; + parent @life_sa_11; + } + + sa_port sa_lifecycle_service_output "SA Lifecycle service output" id "b1aa66c4-0e8e-5091-beda-2b8d2005b688" { + contract { + FunctionOutput { + outgoing_items []; + }; + }; + description ""; + legacy none; + parent @life_sa_10; + } + + interaction life_oa_service "OA Lifecycle service" id "5ceab400-0000-4000-8000-0000000003f4" { + description ""; + items []; + source @life_oa_10; + target @life_oa_11; + } + + functional_exchange life_sa_service "SA Lifecycle service" id "5ceab400-0000-4000-8000-0000000007dc" { + description ""; + items []; + source @life_sa_10; + source_port @sa_lifecycle_service_output; + target @life_sa_11; + target_port @sa_lifecycle_service_input; + } + +} diff --git a/harness/fixtures/scenario-lifecycle-native/sa-rename/rationale.arcadia b/harness/fixtures/scenario-lifecycle-native/sa-rename/rationale.arcadia new file mode 100644 index 00000000..a6c18ddd --- /dev/null +++ b/harness/fixtures/scenario-lifecycle-native/sa-rename/rationale.arcadia @@ -0,0 +1,2 @@ +// Preserve lifecycle note: 雨 · receiver. +// Geometry never changes these bytes. diff --git a/harness/history/2026-09-11-ytr83r-integration/README.md b/harness/history/2026-09-11-ytr83r-integration/README.md index 26ff2a9e..0108cce2 100644 --- a/harness/history/2026-09-11-ytr83r-integration/README.md +++ b/harness/history/2026-09-11-ytr83r-integration/README.md @@ -16,3 +16,14 @@ resolve from the former `harness/` directory. These are evidence history, not current process/writer status or a certification of the Codex-ytr83r combined tree. hashes.json records SHA256 of archived bytes. + +## Superseded Wiki entrypoint + +`wiki-home-20260910.md` preserves the exact decoded Home content before the +2026-09-11 maintenance refresh, from Wiki commit +`aff1372393dc219313ac9d70235039fbcd4ae476`. SHA256: +`D00EFF7668190AB78CC4957DE89B614E60BAE706CA351B5C4068CBA40608697B`. +This additional Wiki snapshot is separate from the thirteen Git-blob ledger +entries in hashes.json. Its old palette compilation blockers were resolved by +later milestones; use [current status](../../STATE.md) and the +[current evidence index](../../README.md) for active work. diff --git a/harness/history/2026-09-11-ytr83r-integration/wiki-home-20260910.md b/harness/history/2026-09-11-ytr83r-integration/wiki-home-20260910.md new file mode 100644 index 00000000..6c528b2a --- /dev/null +++ b/harness/history/2026-09-11-ytr83r-integration/wiki-home-20260910.md @@ -0,0 +1,26 @@ +# ARCADIA Studio shared project notes + +Maintained by Codex /root. Updated 2026-09-10. + +## Current checkpoint + +Branch: `codex/release1-continuation`. +Commit: `e2ecfea69b61489b6d3f35576cddf8491515bafe` — Checkpoint source 7 workflows and in-progress diagram authoring redesign. + +Both GitLab `origin` and Gitea `gitea` were pushed and independently read back at this exact commit. The local working tree was clean. This checkpoint contains 162 changed files, including AGENTS.md, DEVELOPMENT_SUMMARY.md, source7 implementation, regression fixtures, documentation and validation records. Ignored build/runtime artifacts remain local. Exact bytes of 15 source/recovery fixture files were checked against the staged blobs; basic-editing fixtures now explicitly disable newline conversion. + +This is work in progress, not an accepted release. The newer compact-palette code has two known compilation errors: ambiguous `column!` at `crates/oa-desktop/src/app/architecture_authoring/palette.rs:168`, and moving a view out of Arc at `crates/oa-desktop/src/diagram.rs:624`. The earlier 584-test desktop/build/Clippy pass predates this redesign. Full current native Windows/Linux acceptance remains outstanding. + +## Architecture and product direction + +Three Rust crates share one authoritative typed Project and validated atomic Command boundary: `oa-core` owns semantics, source, history and persistence; `oa-desktop` owns Iced views and guarded raw drafts; `oa-server` owns REST and conditional ETag storage. Keep semantic ownership, allocation and diagram placement distinct. Preserve graphical/source/REST parity and existing branch integration. + +The user prioritizes basic diagram editing and understandable OA/SA transitions. Large horizontal creation buttons were rejected. Actual installed Capella 7.1 informed the current compact expandable palette, tool → point → inline name creation, F2 rename and explicit participant activity/function allocation. Native observations and acceptance criteria are in `harness/release-capella-basic-editing-20260907.md`. + +## Setup and authoritative handoff + +Read repository `AGENTS.md` and Gitea issues before changing shared work. Read `harness/STATE.md`, `harness/PLAN.md`, `harness/TASK_LEDGER.md` and `harness/DECISIONS.md` for scoped evidence and outstanding work. `DEVELOPMENT_SUMMARY.md` summarizes the whole development run. Repository README contains build/run setup; `docs/language.rst` and `docs/api.rst` define the shared contracts. + +On the existing Windows development machine, `.local/toolchain/env.ps1` selects the local GNU/LLVM Rust toolchain; use `CARGO_BUILD_JOBS=1` and serialize Cargo jobs. `.local` is ignored and is not supplied by this commit. Fresh checkouts must follow README toolchain setup. Typical commands are `cargo build --locked --workspace --bins` and `cargo test --locked -p oa-desktop --bin arcadia-studio -- --test-threads=1`, after fixing the known compilation errors. + +Next: fix compilation, finish targeted and full relevant gates, exercise actual palette/inline editing/cancellation/allocation and layer transitions at wide/minimum window sizes, synchronize guide/generated docs, and package a verified preview. Track coordination and results in issue #1. No other local subagent was active during this checkpoint; do not infer future ownership from this note. diff --git a/harness/release-b4-package-preflight-ytr83r-20260911.md b/harness/release-b4-package-preflight-ytr83r-20260911.md new file mode 100644 index 00000000..caf3324c --- /dev/null +++ b/harness/release-b4-package-preflight-ytr83r-20260911.md @@ -0,0 +1,141 @@ +# B4 Windows package preflight — 2026-09-11 + +Codex-ytr83r /root/integration_audit. Static preparation for a distinct B4 +prerelease; Codex-9e8r6t retains the named-creation milestone. Read AGENTS.md, +issue #1 through comment 204 and Wiki ScenarioLifetimeRendering before this task. +Root reports actual push/readback of checkpoint `52f6e17`; this report does not +alter the earlier publication worker's correctly attributed read-only probe. + +No Cargo, metadata, compiler, application, packaging, release or upload was run. +No production, packaging script, manifest, global configuration or Git state was +changed. Owned outputs are this report and ignored `.local/publication-ytr83r/` +preflight/candidate files. No current application acceptance is claimed. + +## Result and concrete missing inputs + +1. The installed 20260908 DLL passes the packager's static runtime policy, but + the tracked notice manifest has only the previous 20260826 DLL hash. Add the + prepared exact new runtime record and its component notice, preserving the + old record. Do not replace the DLL with the older version merely to pass. +2. Use the workspace Python explicitly: + `C:/Users/User/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/python.exe`. + Its `scripts/package-artifacts.py --help` startup passed in this review. + LLVM's separate bundled Python lacks `zlib`; the same helper fails at + `import gzip` with `ModuleNotFoundError`. This is an interpreter-selection + requirement, not an unresolved host blocker. Root separately reports all + 11 package tests and Docutils generation passed with the workspace Python. +3. Final matching GUI/server executables and their build/acceptance evidence + remain pending. Neither executable existed in the ordinary debug/release + locations under `target/` or `target/x86_64-pc-windows-gnullvm/` at inspection. + Root must supply its actual build output directory; directory names do not + establish build profile or source identity. +4. Full locked dependency/asset notice collection remains unexecuted here. + All 41 references in the current supplemental manifest exist and match + their declared hashes, but this does not prove coverage of the final + target-filtered dependency graph. Preserve the strict offline metadata gate. + +## Exact runtime and provenance + +The [publisher's 20260908 release](https://github.com/mstorsjo/llvm-mingw/releases/tag/20260908) +identifies LLVM 23.1.1. Its [build script](https://raw.githubusercontent.com/mstorsjo/llvm-mingw/20260908/build-llvm.sh) +defaults to `llvmorg-23.1.1`. GitHub's tag lookup resolved that tag to +`6dfe1677ab8dffbc6ec13d53a1e0215d75147689`; the candidate component notice was +downloaded from that exact commit. This records publisher/source provenance, +not an independently reproduced toolchain build. + +| Input | Bytes | SHA-256 | +| --- | ---: | --- | +| Publisher ZIP `llvm-mingw-20260908-ucrt-x86_64.zip` | 190677197 | `1bcf74d06b724aeecaa6412ca85f5b26fb1da770e7cdcefa9263c9c5c3ad34b6` | +| Installed `x86_64-w64-mingw32/bin/libunwind.dll` | 190464 | `aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a` | +| Installed distribution `LICENSE.TXT` | 15141 | `8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee` | +| New commit-specific component notice | See candidate file | `b5efebcaca80879234098e52d1725e6d9eb8fb96a19fce625d39184b705f7b6d` | + +ZIP size/hash match the recorded publisher asset response +`.local/toolchain/llvm-release-asset.json` (asset 551256712). Both installed +runtime/license files independently match their decompressed ZIP members; +.NET and the workspace Python produced the same member hashes. The component +notice text happens to match the old notice hash; its newly pinned source +provenance and runtime association are still distinct. + +Read-only PE parsing confirms machine `0x8664`, PE32+ `0x20b`, no delay-import +directory (RVA 0), and ten ordinary imports: `kernel32.dll` plus UCRT API-set +convert, environment, filesystem, heap, locale, private, runtime, stdio and +string DLLs, each `api-ms-win-crt--l1-1-0.dll`. Every import matches the +existing package policy. Other installed runtimes (`libc++.dll`, `libomp.dll`, +`libwinpthread-1.dll`, ASan) are not dependencies of this DLL and are not +justified additions to the package. Final executable imports remain unknown. + +Candidate files, ready for root review: + +- `.local/publication-ytr83r/runtime-notice-candidate/manifest.json`: exact + existing package/asset records and old runtime record, with one new runtime + record appended. Every referenced notice is copied beside this alternate + manifest to satisfy `Under-Root`; all candidate notice hashes passed. +- `.local/publication-ytr83r/runtime-notice-candidate/llvm-6dfe1677ab8d-libunwind-LICENSE.TXT`: + exact [upstream component notice](https://raw.githubusercontent.com/llvm/llvm-project/6dfe1677ab8dffbc6ec13d53a1e0215d75147689/libunwind/LICENSE.TXT). +- `.local/publication-ytr83r/runtime-notice-candidate/candidate-verification.json`: + full proposed record, tag resolution, preservation checks and ZIP readback. +- `.local/publication-ytr83r/package-preflight.json`: static PE, Rust notice, + supplemental hash and availability evidence. The candidate verification is + the later ZIP-member comparison evidence. + +Root can integrate only the new manifest record and new component notice +under `scripts/windows-notices/`, or pass the self-contained alternate manifest +with `-NoticeManifest`. Preserve the old F456 mapping for older artifacts. + +## Rust, source and build evidence + +The installed gnullvm sysroot contains required `COPYRIGHT.html` and +`COPYRIGHT-library.html`, optional `COPYING3` and `COPYING.RUNTIME`, and 59 +entries in its target library directory. Exact copyright hashes are in the +static JSON. Installed component records include rustc, rust-std, rust-mingw, +Cargo, Clippy and rustfmt. Root identifies this build compiler as Rust 1.98.1; +this reviewer did not invoke it. Packaging must use this build's matching +Cargo/rustc/sysroot and cache through the process-local toolchain environment. + +Supply `-BuildEvidence` for this release even though the script permits its +omission. Required fields are nonempty `source_identity`, `profile`, `compiler`, +exact `target`, and `binary_sha256` keyed by `arcadia-studio.exe` and +`arcadia-server.exe`, with lowercase hashes. Add precise build commands, +compiler/linker versions, source input/lock identities and verification record +references as useful caller evidence. The script verifies target and binary +hashes; it explicitly does not prove the source/profile/compiler statements. +Freeze the actual input tree and binaries. Notice hashes of the packaging tree +alone cannot establish that those sources produced an existing binary. + +The strict notice pipeline hashes registry archives against Cargo.lock, actual +local source files, shared workspace/build inputs, fonts and Rust target +libraries. It invokes locked offline target-filtered Cargo metadata and rustc +queries. Run it only after root releases the active manifest/lock/build boundary. +Current Rust/dependency inputs must replace prior-host notice inventories and +compiler claims; retain older evidence with its original attribution. + +## Package scope and remaining acceptance + +The current Windows packager intentionally includes GUI plus server only. +Its input, build-evidence hash loop, START-HERE and documentation describe that +scope; notice roots are restricted to `oa-desktop` and `oa-server`. Integrating +local `oa-cli` source without new registry dependencies does not automatically +include or verify `arcadia.exe`. B4 may remain GUI/server with this explicit +scope. To include CLI later, deliberately extend binary staging and PE closure, +build hash evidence, notice root validation/traversal and workspace source +coverage, launch documentation and clean-package CLI acceptance. Update relevant +package tests. Never copy a CLI executable into an already hashed ZIP or claim +its coverage from the existing two-root inventory. + +After binaries exist: inspect their ordinary imports against this exact DLL and +system allowlist; retain any unknown-import failure for explicit resolution. +Run the unchanged strict packager with a fresh version/output path, reviewed +notice inputs and working Python. Read back all ZIP membership/hashes and +documentation closure. Packaging integrity still leaves native acceptance pending. + +Extract the frozen ZIP into a fresh user-writable directory; use absolute app +paths, unrelated working directory and process-only Windows-system PATH. Record +binary/runtime/ZIP hashes, OS/graphics information and stdout/stderr/exit state. +Verify server readiness, model import/read/update, restart and persistence. +Verify real GUI Home/examples/Help, B4 marker selection/Properties at narrow and +wide/Fit views, graphical editing and exact full Project/source/file-map +Save/Undo/Redo/reopen against the independent lifecycle oracle. Delay/dynamic +graphics loads need this runtime gate. A second ordinary machine without +development tools remains stronger portability evidence. Parent owns all these +gates and the distinct versioned prerelease, release notes and upload/readback. diff --git a/harness/release-cli-integration-ytr83r-20260911.md b/harness/release-cli-integration-ytr83r-20260911.md new file mode 100644 index 00000000..fa3d4daf --- /dev/null +++ b/harness/release-cli-integration-ytr83r-20260911.md @@ -0,0 +1,126 @@ +# CLI-only integration review — 2026-09-11 + +Reviewer: Codex-ytr83r / server_audit. Bounded read-only review of commit +`01b76a1e89e93b7992f39e63560aa8b2ca2f69e0` over +`2ec72d4241fa8971fa6fe9f626937de9dfd7c7eb`, against local HEAD +`b853a1eca3df93ec9434e301e2b5521210f2579d` and the current B4/guide working changes. +Coordination: Gitea issue #1, ownership comment #197; upstream handoff #185. + +## Verdict and import recipe + +No new material correctness finding in this bounded review. Importing ONLY 01b is +self-contained against the local core. Do not import its parent 2ec or the other +host's branch history. A plain patch is not entirely conflict-free: coordination +files need the preservation decisions below. Actual three-way cherry-pick and +execution were not performed by this reviewer. + +1. After the root's current serialized gate ends, apply only the 01b change. +2. Retain current `AGENTS.md` unchanged: its blob already equals the 01b target, + `d93cddacdd45341abb7bbea1d3e3fd4493484d9e`. +3. Retain every current `.gitattributes` rule and add only + `harness/experiments/source-cli-independent-20260911/** -text whitespace=cr-at-eol`. + In particular preserve `PROJECT_GOAL.md`, both history/archive directories, + and existing constructor/native/textual-analysis/fixture rules. Do not replace + this file with the remote whole-file version. +4. The remaining 14 paths can take the exact commit diff. Preserve all unrelated + B4, guide, language-documentation and ledger working changes. Verify incoming + archived evidence bytes with its attributes in force before staging. +5. Root owns fresh locked CLI tests/build/lint and any executable probes against + the integrated source. Existing evidence is attributed below. Release asset + packaging and Linux verification remain separate claims. + +Read-only `git diff 01b76a1^ 01b76a1 --binary | git apply --check -` rejected +only `.gitattributes` and `AGENTS.md` (and emitted fixture CRLF whitespace warnings). +The same check excluding these two files, with `--whitespace=nowarn`, exited 0. +All eleven added paths were absent locally, and the five integration input paths +had no worktree edits. These are patch checks, not a promise that Git's three-way +operation will require exactly the same conflict resolution. + +## Exact changed paths + +Modified: + +- `.gitattributes` +- `AGENTS.md` +- `Cargo.lock` +- `Cargo.toml` +- `README.md` + +Added: + +- `crates/oa-cli/Cargo.toml` +- `crates/oa-cli/src/lib.rs` +- `crates/oa-cli/src/main.rs` +- `crates/oa-cli/tests/source_cli.rs` +- `docs/source-cli.md` +- `harness/experiments/source-cli-independent-20260911/alias-expected-final.arcadia` +- `harness/experiments/source-cli-independent-20260911/alias-input.arcadia` +- `harness/experiments/source-cli-independent-20260911/probe.ps1` +- `harness/experiments/source-cli-independent-20260911/result.json` +- `harness/release-source-cli-20260911.md` +- `harness/release-source-cli-review-20260911.md` + +No desktop, `docs/language.rst`, `PROJECT_GOAL.md`, or shared ledger path is in +this commit. Keep both incoming reports as their authors' historical evidence; +do not rewrite them as local B4 or integrated-release verification. README's new +CLI usage section and `docs/source-cli.md` complement the existing guide rather +than replacing it. README's desktop/server package statement is not a CLI asset +publication claim. + +## Verified dependency and write-path facts + +The entire `crates/oa-core` tree is identical at local b853, remote parent 2ec, +and 01b: `a9c71e2c3fc9260d06f191c0d65b1e63e41edbec`. The referenced +`harness/experiments/textual-authoring-20260911/alarm-response.arcadia` fixture is +also identical (`f401ca5459d3b678a1c701d49c6ae122b2f0bb87`), as are the checked +text-first examples and source7 fixtures. Cargo/README input bases match. +Cargo.lock adds only the local oa-cli package using existing dependencies. + +Source references below refer to 01b for CLI files and the identical local core: + +- `crates/oa-cli/src/lib.rs:191` consumes the prepared operation and calls + `source_files::save_project` at line 197 with its original disk snapshot, even + when the proposed changed-file list is empty. It does not reload and silently + accept a changed dependency before writing. +- `crates/oa-core/src/source_files.rs:799` checks every snapshot expectation, + including unchanged reachable includes. The saver begins at line 819; pending + journal refusal and conflict checks precede its no-op return. A removed or + edited unchanged include therefore remains a meaningful refusal case even + though it is absent from the preview's changed-file list. +- `crates/oa-cli/src/lib.rs:220` loads the source snapshot; line 243 obtains raw + lint diagnostics, and line 254 gates invalid input before mutation. Loader + discovery/path/encoding/recovery diagnostics are retained. Lines 271–281 omit + unauthored provisional object IDs from those diagnostics. Migration notes are + captured at line 305 before alias updating. +- Alias rename prepares the core SetAlias command at line 321, then calls the + identity-aware source updater at line 325. This is not a textual replacement; + source bytes and detached files are governed by the existing source saver. +- `crates/oa-cli/src/main.rs:75` prints and flushes the human preview before the + write at line 78; JSON emits the resulting report at line 86. Proposed changes + remain reviewable in a failed write report. A later output failure must not be + interpreted as proof that no disk write occurred. + +Concrete falsifiers retained for the root's gate are an unchanged included file +edited after prepare, a pending journal introduced before a no-op write, an alias +occurring in comments/prose and references, and malformed UTF-8 or a missing +include. Existing CLI tests target these behaviors. This review found no source +counterexample requiring a production fix. + +## Evidence boundary + +This reviewer ran source comparisons and read-only patch checks only: no Cargo, +CLI execution, native validation, production edit, or Git mutation. The only new +file from this assignment is this report. + +The incoming author report attributes 12 passing CLI tests and final lint/build +to Codex-9e8r6t / palette_finish. The incoming independent report attributes 183 +assertions over 21 processes to Codex-9e8r6t / behavior_audit against frozen CLI +SHA-256 `BAD169F8BE78DCFA74B32714569C886DD2132727080684FC2BA618D5822E3559`. +Those are prior executable results, not fresh passes against b853 plus B4. +Their earlier pre-implementation findings are recorded as closed in that work. + +The preview describes changed files, not a persisted approved plan or full +project digest. Provisional IDs can differ across separate invocations until +stabilized. Core persistence documents recoverability rather than multi-file +atomic visibility, cross-process compare-and-swap, or guaranteed power-loss +durability. These existing boundaries are not newly discovered regressions. diff --git a/harness/release-host-bootstrap-ytr83r-20260911.md b/harness/release-host-bootstrap-ytr83r-20260911.md index 518cd91e..b8c38620 100644 --- a/harness/release-host-bootstrap-ytr83r-20260911.md +++ b/harness/release-host-bootstrap-ytr83r-20260911.md @@ -51,7 +51,22 @@ preflight checks. The preserved temporary fixture is `C:/Temp/arcadia-notices-f75e1f32c33148749034b5fe8e0268aa`. These checks establish packaging invariants, not an actual packaged release. -The exact current core/server/desktop builds, renderer tests, native workflows, -Linux runtime and optimized distributions are still pending. Cargo gates write -logs and elapsed-time/exit JSON through `.local/run-gate.ps1`. Their later results -must identify the tested source and must not inherit another host's test totals. +The current core all-targets gate passed on 2026-09-11 at12:43:53 UTC: +433 passed, zero failed, one deliberately ignored scaling probe, across44 targets. +It took2486.422s including37m12s initial compilation. The exact source tree is +`a9c71e2c3fc9260d06f191c0d65b1e63e41edbec`; [raw log and summary](experiments/lifecycle-native-ytr83r-20260911/core-gate.json) +retain source, timing, command and log hash. CLI-only01b subsequently integrated +as023e3a8 without changing this core tree or registry dependency records. + +The ignored inheritance probe separately passed for250/500/1000-record chains, +reporting6.670/19.166/38.063s during desktop compilation. This is debug/contended +evidence, not optimized GUI latency. [The bounded diagnosis](release-inheritance-scaling-diagnosis-ytr83r-20260911.md) +separates a preexisting quadratic path from profile/host cost and defines the +next controlled measurement. The independent lifecycle oracle also compiled and +passed complete model/source/file-map predictions before native output; see its +[fixture procedure and exact evidence](fixtures/scenario-lifecycle-native/README.md). + +Desktop lifecycle compilation is active. Server/CLI/full desktop checks, actual +native workflows, Linux runtime and optimized distributions remain pending. +Cargo gates retain logs and elapsed-time/exit JSON through `.local/run-gate.ps1`. +Source/binary identities and prior-host attribution must remain explicit. diff --git a/harness/release-inheritance-scaling-diagnosis-ytr83r-20260911.md b/harness/release-inheritance-scaling-diagnosis-ytr83r-20260911.md new file mode 100644 index 00000000..fc1b486b --- /dev/null +++ b/harness/release-inheritance-scaling-diagnosis-ytr83r-20260911.md @@ -0,0 +1,165 @@ +# Empty inheritance-chain scaling diagnosis — 2026-09-11 + +Codex-ytr83r /root/integration_audit. Bounded read-only source diagnosis of root's +already executed ignored R6 probe. No compiler, Cargo, repeated benchmark, +production edit, Git mutation or native input by this reviewer. + +**Finding:** there is avoidable repeated work in the current validation path, +including full-model scans even when every record has zero fields. This is a +confirmed source scaling limitation, not a newly demonstrated semantic failure +or a measurement of optimized GUI latency. The observed debug wall times cannot +attribute how much cost belongs to the algorithm, profile or contended host. + +Read issue #1 through owner comment 229 and the updated branch AGENTS.md blob +`4b8465c8993107062ad2974c15a958d449530e92`, including harness maintenance rules. +Ownership coordination is [comment 230](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/1#issuecomment-230). +Codex-956atf retains core numeric/metamodel work; comment 231 subsequently assigns +their schema-8 core work to an isolated worktree. No inheritance implementation +lease is claimed here. This focused report supplements the historical evidence +below rather than replacing it or reopening its completed semantic work. + +## What was measured + +Root invoked `target/debug/deps/r6_data-01b62bfdfd2168ff.exe --ignored --exact +inheritance_chain_validation_scaling_probe --nocapture`. Executable SHA-256: +`4e79ed783ad4e147f5e1b4cffa5a41d9d383521cd336e99fc74407b067275ea4`. +Original evidence: `.local/ytr83r-inheritance-probe/probe.log` and `status.json`. + +| Records | Root-observed validation wall time | Ratio to preceding size | +| ---: | ---: | ---: | +| 250 | 6669.691 ms | — | +| 500 | 19166.328 ms | 2.87 | +| 1000 | 38062.849 ms | 1.99 | + +Test harness: one passed, zero failed, 71.21 seconds. Outer runner: exit 0, +timeout false, 73.562 seconds. The sum of three printed intervals is 63.899 +seconds; the residual includes fixture construction and other harness work, +which this probe does not time separately. Do not call the entire 71.21 seconds +validation time or infer its residual cause. + +`r6_data.rs:1325` constructs a fresh Project with N top-level OA Record types, +one supertype chain and no fields/relations/diagrams. `make_record` is at line 15. +Construction, UUID creation and alias generation happen before each timer. +The timed `valid` helper at line 56 runs full `validation::validate`, filters +errors and asserts none; it does not assert an empty warning set. No source +parsing, serialization, file I/O, commands, layout or drawing is timed. Each +size runs once; UUIDs and thus map/traversal ordering are freshly generated. + +The debug test ran while desktop dependencies compiled. Root reports an +unusually slow host (first core compilation 37m12s, approximately 3 GiB free, +normal-priority rustc). These observations make environmental contribution +plausible; no CPU-time, allocation, paging or scheduler measurement isolates it. +The two observed ratios neither prove linearity nor fit a reliable exponent. + +## Confirmed source cost + +`validation.rs:182` constructs one validation snapshot but no shared data index. +Every record reaches `data::validate_element` (`validation.rs:411`), then all +records reach `validate_record_cycles` (`validation.rs:609`, `data.rs:1147`). +Let depth d include the record itself, with d = 1..N in this fixture. + +| Exact work in this fixture | Source | Count per whole validation | +| --- | --- | ---: | +| `effective_fields(base)` for shadow checks | `data.rs:688` | N−1 calls | +| `effective_fields(self)` for empty-record checks | `data.rs:827` | N calls | +| `effective_fields(self)` for mandatory Value graph | `data.rs:1153` | N calls | +| All-element filter visits inside those calls | `data.rs:58` | N(3N−1) | +| Local-child filter visits for derived records | `data.rs:693`, `model.rs:1828` | N(N−1) | +| Named-field reference scan for empty records | `data.rs:828` | N² | +| Ancestry-node visits across those calls plus separate cycle checks | `data.rs:42`, `data.rs:678` | 2N² | +| Whole identity-vector materializations for supertype existence | `validation.rs:329`, `model.rs:1746` | N−1 vectors of N+1 entries | + +The ancestry count is `2 sum(d−1) + 2 sum(d) = 2N²`. Each ancestry walk allocates +a visited BTreeSet and a result Vec, performs Project BTreeMap lookups, and each +effective-fields call builds another ranks BTreeMap. All field vectors are +empty, so output size and sorting cannot explain this fixture's repeated work. +The three full-element data scans contribute `5N²−2N` candidate visits before +the separate identity-vector materializations/searches are counted. + +`Project::contains` calls `identities()` afresh, then performs a linear search. +Each of the N−1 supertype references triggers it even though validation already +has the complete identity BTreeSet from `validation.rs:198`. This is another +quadratic floor; optimizing effective fields alone cannot remove it. + +For this bounded-string, field-free fixture, the inspected path has at least +quadratic work and an O(N² log N) tree-operation upper bound. There is no current +ancestor × full-model nested scan *within one* `effective_fields` invocation; +its existing comment means one model scan per call, not per validation snapshot. +The mandatory-value sink-removal algorithm itself has no edges here; its +repeated effective-field graph construction is the relevant cost. Value path +depth/expansion limits are not exercised and do not bound these scans. + +This predates B4: the `data.rs` Git blob is identical in original integration +`0b58107` and inspected HEAD `023e3a8f097158ac84ca47a58cfa917c503804b0`: +`df061a8cfa0d90a4f94679dc888cdc00c11156a3`. +Historical [R6 verification](release-data-verification.md) line 32 records older +single-run optimized Windows 21.070/89.088/391.590 ms and Linux +22.381/111.662/408.129 ms at these sizes. Those older host/source measurements +are consistent with superlinear growth, but are neither rerun here nor a current +performance guarantee. The [data contract](release-data-contract.md) line 148 +already calls for shared computation once per validation snapshot; current +helpers do not fully implement that performance design. + +## Bounded alternatives for the core owner + +1. Reuse validation's existing exact identity set for its reference membership + checks. Preserve the global namespace (including diagram nodes/artifacts/ + traces), duplicate-ID diagnostics and malformed map-key behavior. This is + smaller than changing public `Project::contains` globally, but only removes + the identity-materialization contribution. +2. Build a borrowed data index per immutable validation snapshot: local fields + by owner, referenced named record IDs, immediate supertypes, and cycle state. + Compute/share effective field sequences base-first, preserving original + IDs/owners and UUID order within each owner; derive existence and mandatory + Value-edge summaries without rescanning all elements. Use iterative cycle + processing or bounded explicit stacks. Empty chains should require roughly + linear graph work plus map costs; actual field-rich output remains + output-sensitive. N types each adding a field inherently yield Θ(N²) + materialized inherited field entries if all such lists are requested. +3. Merely memoizing today's complete helper results cuts repeated calls but + still walks each full ancestry and scans the model once per owner. Indexing + only local children also leaves ancestry and identity costs. These are + possible staged constant-factor improvements, not a near-linear claim. + +Do not use a persistent UUID-only cache across mutable Projects, silently cap +valid inheritance depth, remove cycle checks, or change incomplete-model +diagnostics for speed. For invalid graphs, preserve current diagnostic identity, +severity and ordering: descendants leading into a cycle are distinct from +cycle members; missing/wrong-family/cross-layer bases still need their existing +errors. A validated acyclic fast path with the existing invalid-graph fallback +is one conservative option. Any production change remains with the core owner. + +## Minimal falsifiers and next measurement + +- A later instrumented validation of a small empty chain should reproduce the + listed counts. Disagreement falsifies this accounting before optimization. + Flat empty records isolate the full-model scans while removing deep ancestry; + a star and a chain at equal N separate depth-sensitive work. Fixed UUIDs and + frozen fixtures remove ordering noise. Do not use timing assertions as unit + tests. +- Compare the complete ordered Issue output and unchanged Project for valid + chains, self/two-node cycles plus a tail into a cycle, missing/wrong-family/ + cross-layer bases, inherited name shadowing and same-snapshot repeated calls. + Revalidate after base edit, remove, reidentify and Undo using a fresh snapshot + to expose stale caches. A single inherited field checks identity/order; a + field-rich chain distinguishes unavoidable output from empty-chain overhead. + Required Value cycles, optional/Reference recursion and inherited Call/Reply + paths must retain existing semantics if their shared helpers are changed. +- After compiler work ends, root/core owner should build one optimized probe + from a frozen commit with recorded Rust version, target, profile, flags and + binary hash. Run it outside Cargo with no concurrent builds: one warm-up and + three measured samples per fixed 250/500/1000 fixture, reporting every sample + and median. Record process CPU time alongside wall time, working set and host + conditions; use a bounded timeout (for example 60 seconds per case) and stop + rather than treating timeout as a result. Compare current source before any + change with the same-machine candidate; do not compare debug on this host + directly with historical optimized machines. +- Finally measure the actual optimized native workflow on a representative + model: open, one inheritance edit/validation, responsive redraw, Save and + Undo/Redo. Separate core validation from parsing/layout/persistence and count + validation invocations. Only that gate can establish user-visible latency; + the current ignored probe alone cannot. + +No new latency budget or required release threshold is invented here. Root and +the core owner should choose the next change from controlled optimized evidence +and the actual authoring workload, preserving B4's independent acceptance gates. diff --git a/harness/release-linux-host-ytr83r-20260911.md b/harness/release-linux-host-ytr83r-20260911.md new file mode 100644 index 00000000..db7f7d5f --- /dev/null +++ b/harness/release-linux-host-ytr83r-20260911.md @@ -0,0 +1,172 @@ +# Linux route on host Codex-ytr83r — 2026-09-11 + +Owner: Codex-ytr83r `/root/linux_runtime`. This is a new host inventory and bounded preparation report, not a reuse of another host's Linux acceptance. Root owns source integration and heavyweight build scheduling. No production files or Cargo jobs are owned by this worker. + +## Current checkpoint — 2026-09-11 13:14:02 UTC + +The authorized suffix assembler is active. Contiguous delivery is 229,736,448 of 264,372,224 bytes: 215,597,056 bytes from complete range responses and 14,139,392 provisional-only retained prefix bytes. Five available overlap comparisons passed; the current suffix run has needed zero retries. Missing requests are at most 256 KiB, with at most two concurrent requests and exact HTTP 206/range/length checks. The original delivery deadline remains 13:26:26.250 UTC, including elapsed earlier continuation time; five-minute checks continue to require contiguous progress. Full-image publisher SHA-256 verification and the normal five-minute UEFI/Q35 pilot are pending. Partial delivery is not accepted boot media. Root permits the conditional pilot while Windows compilation continues only if resource checks pass; the helper requires at least 2.75 GiB free RAM and 15 GiB free disk before its unchanged 1536 MiB guest launch. No Linux Cargo or host/system changes have run. Raw state is in `.local/linux-host-ytr83r/ranges-suffix-20260911/`; preceding sections below preserve earlier route and transfer history. + +## Direct host evidence + +Read issue #1 through the current coordination, the Release-readiness Wiki and historical Linux cross-build/runtime reports. No open pull requests were returned. Work ownership was posted as issue comment #149. + +| Probe | Observed on this host | +| --- | --- | +| `Get-CimInstance Win32_OperatingSystem` | Windows 11 Pro, 10.0.26200, build 26200; last boot 2026-09-11 03:12:27.5 -07:00 | +| `Get-CimInstance Win32_ComputerSystem` | VMware, Inc. / VMware20,1; HypervisorPresent true; 8,588,644,352 bytes RAM | +| `Get-CimInstance Win32_Processor` | Two reported logical CPUs; Intel Core i7-10870H; VirtualizationFirmwareEnabled and VMMonitorModeExtensions false | +| `wsl --version` | WSL 2.7.13.0; kernel 6.18.33.2-2; WSLg 1.0.73.2; Windows 10.0.26200.8457 | +| `wsl --status` | Default version 2; WSL1 optional component unavailable; WSL2 cannot start because virtualization is not enabled | +| `wsl --list --verbose` | No installed distributions | +| `Get-CimInstance Win32_OptionalFeature` | VirtualMachinePlatform InstallState 1 (enabled); WSL1 and Hyper-V feature family InstallState 2 (disabled) | +| `Get-Service WslService,vmcompute,hns,LxssManager` | WslService running; other requested names absent | +| CBS `RebootPending` registry-key existence | True; inspected only | +| Initial resources | 4,468,444 KiB free physical memory; C: free 37,781,413,888 bytes (35.19 GiB) | +| Normal executable lookup | WSL found; Docker, Podman, QEMU, SSH, rustup and Cargo absent from PATH | +| Bounded conventional-path inventory | No Program Files QEMU/Docker/Podman; 7-Zip and Git-bundled SSH/ssh-keygen present; no user `.cargo/bin` or `.rustup/toolchains` result | +| Existing task caches | No historical `.local/linux-qa`, `.local/linux-wsl` or cross-Linux cache; root is separately creating `.local/toolchain` | + +These observations establish an unavailable WSL guest now. They do not prove which outer VMware configuration or pending Windows component state is responsible. No distro import, Windows feature/registry modification, host restart, service override or existing credential inspection was attempted. The pending reboot is reported without assuming a reboot alone would fix nested virtualization. Microsoft's [WSL troubleshooting](https://learn.microsoft.com/en-us/windows/wsl/troubleshooting) and [WSL VM FAQ](https://learn.microsoft.com/en-us/windows/wsl/faq) describe the relevant platform/nested-virtualization prerequisites. + +## Route decision and preparation + +The local route selected for measurement is portable QEMU TCG with an official Ubuntu Minimal cloud image. QEMU documents [TCG support on Windows](https://www.qemu.org/docs/master/system/introduction.html), and its [Windows downloads](https://www.qemu.org/download/#windows) link to Stefan Weil's builds. This permits a real Linux kernel without changing this Windows host's virtualization settings. It remains software emulation, with unmeasured application/GUI performance. + +Root explicitly authorized a fresh normal-boot pilot on this distinct host: one CPU, approximately 1.5 GiB guest RAM, five-minute first boot, preserve 15 GiB host free disk for Windows work, no simultaneous Rust compilation. The previously rejected direct-kernel / `no_timer_check` workaround is outside this pilot and is not used. + +Task-local root: `.local/linux-host-ytr83r/`. Pinned downloads: + +- [QEMU 20260811 Windows payload](https://qemu.weilnetz.de/w64/qemu-w64-setup-20260811.exe), expected 206,615,928 bytes; publisher [SHA-512](https://qemu.weilnetz.de/w64/qemu-w64-setup-20260811.sha512). +- [Ubuntu Minimal 24.04 amd64 QCow2, release-20260905](https://cloud-images.ubuntu.com/minimal/releases/noble/release-20260905/ubuntu-24.04-minimal-cloudimg-amd64.img), expected 264,372,224 bytes; release [SHA256SUMS](https://cloud-images.ubuntu.com/minimal/releases/noble/release-20260905/SHA256SUMS). + +The planned extracted footprint is about 1.6 GiB based on the historical identical payload, plus an initially small sparse guest overlay. This is a planning estimate until measured locally. The installer is only an archive for 7-Zip extraction; it will not be executed. Checksums must match the downloaded publisher files before binaries or images are used. Independent OpenPGP verification is not claimed. + +Prepared `pilot.cjs` uses normal Q35/UEFI boot, a private writable UEFI variables file and a new QCow2 overlay; `tcg,thread=single`, CPU `max`, one vCPU and 1536 MiB RAM. The unchanged official image remains the read-only backing file. No direct kernel, kernel command-line override or timer workaround is present. NoCloud serves only public guest setup at loopback port 18080; SSH forwards only 127.0.0.1:2222; QMP binds only 127.0.0.1:4445 for ACPI shutdown. All three ports must be free before startup. A new task-owned SSH key is used; private key bytes are not recorded here or committed. + +The hidden helper samples host RAM/disk every ten seconds, requests ACPI powerdown after 270 monotonic seconds and stops only its task child at 300 seconds if needed. Free host disk below 15 GiB or RAM below 768 MiB requests earlier shutdown; prelaunch requires 2.75 GiB free RAM. This first pilot has no package transactions, source upload, Cargo or GUI session. + +## Current result and next action + +QEMU download completed at 11:47:39 UTC: **206,615,928 bytes**, SHA-512 **`5bcf9eed634e8575a37b74f445af41a2fe4106da512d0c30c368301d4c105037fdfab40a5287367a28a957624cddebbc8c07e16c88ab6634f554cdf3d16bf543`**, exactly matching the fetched publisher checksum. The transfer needed bounded resumptions after long stalls. Independent connections to both download hosts timed out; DNS resolved correctly and a later explicit IPv4 Ubuntu HTTPS HEAD returned 200 with byte-range support. Subsequent IPv4 QEMU completion is recorded without claiming IPv6 caused the earlier timeouts. + +Existing 7-Zip extraction completed successfully: **3,389 files / 1,256,205,208 uncompressed bytes**. The installer was not executed. The console emulator reports **11.1.0 (v11.1.0-12130-ge470268ff4)**. `-accel help` lists TCG and WHPX; listing WHPX in the binary does not prove available host acceleration. `-display help` lists GTK, SDL and other backends. Read-only UEFI code exists at `qemu/share/edk2-x86_64-code.fd` (3,653,632 bytes); the writable-vars template `qemu/share/edk2-i386-vars.fd` is 540,672 bytes. These are emulator/prerequisite checks, not a guest boot. + +The fetched official Ubuntu image package manifest contains cloud-init `26.1-0ubuntu1~24.04.1`, openssh-server `1:9.6p1-3ubuntu13.19` and kernel `6.8.0-139-generic`. + +**Final first setup outcome: image download timeout; boot not attempted.** The last IPv4 image command ended with curl error 28 after **900.015 seconds**, receiving **11,714,560 of 264,372,224 bytes**. The partial file is retained at the original `.img` path and is not a validated image. The transfer used DNS address `185.125.190.37`; a separate 64 KiB range request to that address succeeded (HTTP 206) in 13.382590 seconds. The other published A record, `185.125.190.40`, failed a bounded connection in 10.560009 seconds with no HTTP response. DNS and a small HTTPS response work, but a practical complete image transfer was not established in this window. This is a measured network preparation constraint, not a guest kernel failure. + +No guest boot, SSH identity/seed generation, overlay, Linux shell, package installation, Rust compilation, native GUI or release acceptance was reached. No VM or helper listener was started, and the bounded download exited rather than continuing in the background. Once a later image download and checksum succeed, run the prepared normal-boot pilot once and retain serial output, QEMU stderr, process identity, monotonic events and final resource/exit status under `pilot-20260911/`. No rejected timer/kernel workaround was attempted. + +Final readback confirms partial image length **11,714,560 bytes**, no QEMU/curl/7-Zip process, **34,071,371,776 bytes (31.73 GiB) free disk** and **4,111,672 KiB free physical memory**. Report whitespace check passed. No commit was made; the single tracked-scope report is untracked for root integration. Gitea handoff: issue #1 comment **177** and Wiki **LinuxHostYtr83r20260911** (updated with this preparation result). + +If normal boot produces a usable guest, preserve it and coordinate the next source snapshot and resource lease with root before any Linux Cargo work. If normal boot fails, report its actual local failure without generalizing the other host's IO-APIC problem or trying the rejected workaround. Cross-compilation can establish matching ELF artifacts but cannot close native Linux filesystem, HTTP/restart or GUI workflows. A supplied accelerated Linux runner remains the straightforward alternative if this pilot cannot establish usable runtime. + +Prepared-helper checks: `node --check prepare.cjs`, `node --check pilot.cjs`, `pilot.cjs --describe` and report whitespace check passed. Exact SHA-256 at this checkpoint: + +| Local file | SHA-256 | +| --- | --- | +| `.local/linux-host-ytr83r/pilot.cjs` | `7A62D8F016F238F0D66F9BE38E8F7355BDA3DC6A9D4A3A9DB0992145E63A2594` | +| `.local/linux-host-ytr83r/prepare.cjs` | `6EDB916EF8107A1725C36364F6FD98E4A9CFAC13035B9503C293A50F35F28EF7` | +| `.local/linux-host-ytr83r/prepared-command.json` | `B3A826CE589C0668897D27EA911144C32833B3C0B20EC7972E92549D8688A380` | +| `.local/linux-host-ytr83r/extraction.log` | `CFE46753EDC2F7CC1A5D7F4FA8E113E69F9503A9A740A93DFE49F883FB525161` | + +The next executable download command, from the repository root after ensuring the prior download is stopped, resumes the same partial file: + +```powershell +& curl.exe -4 -fL --silent --show-error --continue-at - ` + --connect-timeout 20 --max-time 900 --speed-time 60 --speed-limit 1024 ` + -o .local/linux-host-ytr83r/ubuntu-24.04-minimal-cloudimg-amd64.img ` + 'https://cloud-images.ubuntu.com/minimal/releases/noble/release-20260905/ubuntu-24.04-minimal-cloudimg-amd64.img' +if ($LASTEXITCODE -ne 0) { throw 'Image download remains incomplete' } +& curl.exe -4 -fL --silent --show-error --connect-timeout 20 --max-time 60 ` + -o .local/linux-host-ytr83r/ubuntu.SHA256SUMS ` + 'https://cloud-images.ubuntu.com/minimal/releases/noble/release-20260905/SHA256SUMS' +if ($LASTEXITCODE -ne 0) { throw 'Publisher checksum download failed' } +$qaNode = 'C:/Users/User/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/bin/node.exe' +& $qaNode .local/linux-host-ytr83r/prepare.cjs +if ($LASTEXITCODE -ne 0) { throw 'Preparation verification failed' } +& $qaNode .local/linux-host-ytr83r/pilot.cjs --describe +``` + +`prepare.cjs` rechecks both publisher checksums, inspects the official QCow2 and creates a new **12 GiB virtual** overlay, private UEFI vars, disposable SSH key and public seed. It refuses an existing overlay. Neither the diagnostic 64 KiB byte-range downloads nor the partial image are accepted as a complete image. Only after the image/overlay checks pass and root's resource schedule is clear should the already bounded pilot start: + +```powershell +Start-Process -FilePath $qaNode -WindowStyle Hidden ` + -ArgumentList ('"' + (Join-Path $PWD '.local/linux-host-ytr83r/pilot.cjs') + '"') ` + -WorkingDirectory $PWD -PassThru +``` + +The helper refuses a prior `pilot-20260911/result.json`; do not overwrite old pilot evidence to retry. Its command is headless and has `-vga none`, with no graphical acceptance claim. A completed later guest would need a separately measured graphical session and supported user-input route before desktop acceptance. + +## Bounded protocol/endpoint diagnosis — 12:09–12:11 UTC + +Root authorized one additional approximately three-minute / three-MiB investigation while Windows compiled. No VM/Cargo, host networking/security/proxy change or access-denial bypass. Downloaded exactly **3,145,728 image bytes** in three separately bounded range requests; each used a ten-second connection and thirty-second total cap, a 1 MiB maximum file size, no redirects and no retry. Every request returned HTTP **206** from the normal hostname at published DNS address **185.125.190.40**; no access denial occurred. + +| Request | Inclusive byte range | Received | Elapsed | Rate | +| --- | --- | ---: | ---: | ---: | +| HTTPS | 0–1,048,575 | 1,048,576 | 1.835597 s | 557.86 KiB/s | +| HTTP | 0–1,048,575 | 1,048,576 | 7.608139 s | 134.59 KiB/s | +| HTTPS, second overlap | 10,485,760–11,534,335 | 1,048,576 | 2.200903 s | 465.26 KiB/s | + +HTTPS combined measured rate is **507.37 KiB/s**. This is a short current sample, not a sustained-download guarantee or proof of why the earlier transfer stalled. HTTP provides no performance benefit here. + +Both first-MiB responses equal the retained image prefix byte-for-byte, SHA-256 `b184298207946ba9b1c8b359531a49ea4173eaafd88dc9b3c5950c6e91beabb8`. The later HTTPS range equals its retained overlap byte-for-byte, SHA-256 `e5bc21406eeb296b4f6a8caf95fb04c76175dca00d91dce440b151c907efc2f7`. Local diagnostics are `probe-{http,https}-1m.bin`, `probe-https-overlap-1m.bin`, `protocol-probe-byte-comparison.json` and `protocol-probe-overlap.json`. These overlap comparisons check consistent content, not the final full-image publisher checksum. + +Official alternate-endpoint investigation: Canonical's current [artifact reference](https://ubuntu.com/docs/public-images/public-images-reference/artifacts/) names cloud-images.ubuntu.com and Simplestreams for locating/mirroring images. Its [cloud-image Wiki](https://wiki.ubuntu.com/UsingCloudGuestImages) describes local mirrors but does not provide a separately operated public CDN carrying this exact pinned Minimal image. No documented alternate CDN/mirror for these exact bytes was established in the bounded search. A custom mirror or a different cloud-provider image is not silently substituted. + +**Proposal only; not executed:** the recovered HTTPS rate supports a new bounded resume using the same pinned URL and the currently successful published address, followed by the publisher checksum gate. This is not another identical 900-second attempt: use a **600-second maximum** and fail if throughput remains below **128 KiB/s for thirty seconds**, preserving the partial on interruption. At the measured average the remaining approximately 241 MiB would take about eight minutes; actual sustained time is uncertain. Request-scoped DNS selection does not modify system networking. + +```powershell +& curl.exe -4 -f --silent --show-error --continue-at - ` + --resolve cloud-images.ubuntu.com:443:185.125.190.40 ` + --connect-timeout 10 --max-time 600 --speed-time 30 --speed-limit 131072 ` + -o .local/linux-host-ytr83r/ubuntu-24.04-minimal-cloudimg-amd64.img ` + 'https://cloud-images.ubuntu.com/minimal/releases/noble/release-20260905/ubuntu-24.04-minimal-cloudimg-amd64.img' +``` + +Only a zero exit, exact 264,372,224-byte image and full SHA-256 match against the fetched HTTPS publisher `SHA256SUMS` can admit preparation/boot. Prior report sections remain unchanged historical evidence; no complete download, guest or release acceptance resulted from this small diagnosis. + +## Authorized recovered-HTTPS resume — 12:14–12:15 UTC + +Root subsequently authorized the exact proposed bounded resume, with full publisher verification and the existing normal five-minute pilot conditional on download success. Executed task-local `resume-verified.ps1`; no network/security/system setting changed, no alternate flags or retry loop. + +**Low-speed guard stopped the transfer; no full image or boot.** The command began at **12:14:47.6300053 UTC** and ended at **12:15:22.0749941 UTC**, **34.1516695 monotonic seconds**, exit **28**. Curl's exact reason was `Operation too slow. Less than 131072 bytes/sec transferred the last 30 seconds`. File length grew from **11,714,560** to **12,943,360 bytes**, adding **1,228,800 bytes**. The earlier successful 1 MiB samples did not predict sustained throughput for the larger resume. + +Evidence: `.local/linux-host-ytr83r/resume-600-20260911/{status.json,curl.json,curl.stderr.log}`; the exact driver is `.local/linux-host-ytr83r/resume-verified.ps1`. The incomplete image remains at its original path, never admitted to `prepare.cjs` or QEMU. The driver stopped before publisher-checksum fetch/verification, seed/overlay creation or boot; no full-image checksum pass is claimed. No VM, Cargo or apt was started. No second attempt was issued after the configured guard fired. The prepared normal-boot route remains pending a practical complete-image delivery path. + +Curl metadata independently records HTTP **206**, remote **185.125.190.40**, **31.686317 seconds** transfer time and **38,780 bytes/second** average. Wrapper timing includes process overhead and is intentionally recorded separately. Final process query found no curl/QEMU; free disk was **33,588,867,072 bytes**. Gitea comment **186** and the existing host Wiki preserve this outcome. + +## Consecutive short-range hypothesis — 12:19–12:20 UTC + +Root authorized an at-most-eight-MiB sample of consecutive one-MiB HTTPS ranges beginning exactly at the retained partial end, at most two concurrent requests and approximately sixty seconds total. Conditional continuation required aggregate throughput above 128 KiB/s; only then could the remaining image be assembled within ten minutes, with full publisher SHA-256 mandatory before normal boot. + +**The sample failed that condition; this image-delivery route is blocked under the tested bounds. No further transfers followed.** The Node controller requested stop at **60.0747567 monotonic seconds** and finished owned-child cleanup at **61.1701748 seconds**. Six requests completed with HTTP **206**, exact `Content-Range: bytes start-end/264372224`, exact 1,048,576-byte bodies and retained hashes. Two outstanding requests were terminated by the sample deadline and remain explicitly unvalidated `.part` files of **393,216** and **16,384 bytes**. + +Actual image traffic was **6,701,056 bytes** (below the eight-MiB cap), including incomplete bodies. Validated bytes were **6,291,456**, yielding **100.44 KiB/s** over the completed sample window; all received traffic was **106.98 KiB/s**. Both are below 128 KiB/s. Initial chunk completion times did not establish sustained performance. Each curl request had a thirty-second transfer timeout; process creation/scheduling overhead is included separately in recorded request/controller elapsed times. + +Independent readback with `verify-range-sample.cjs` rehashed all six chunks, verified exact consecutive coverage **[12,943,360, 19,234,816)** with no gaps or overlaps, and reconciled every `.chunk`/`.part` body size with actual traffic. Original **12,943,360-byte** prefix remains unchanged, SHA-256 `2b7efcd276869937897c2ed9e73b37160c1b9ce2b825a8cfe98a26bd2f81cae1`. Chunks remain separate; nothing was appended, padded, zero-filled or accepted as a complete image. Neither the conditional ten-minute assembler nor publisher full-image verification/normal pilot was reached. No VM, Cargo, GUI or network/security/system change occurred; no curl/QEMU remained at final process query. + +| Inclusive verified range | SHA-256 | +| --- | --- | +| 12943360–13991935 | `c145dfb684bd26a277c95e9a642c5b74ab4ee8e5a0159af6b008d978a18770f7` | +| 13991936–15040511 | `6a912d5db9f66db684a3b65e672b5de010cc103b8ebaf741681da3f03ac1333f` | +| 15040512–16089087 | `2c1fc4e16e0a082dec4ba01b98802569c75b204b01b8b91199f2e9ab6ccd5474` | +| 16089088–17137663 | `2fe89495036dffce7c8a887b2120954e1231c9b92efe10a1e414911f5d756297` | +| 17137664–18186239 | `7e67082618f6e529709ff812037ddfd05c25a2563cc5792f8d9b8fb3abe07dec` | +| 18186240–19234815 | `d2bc1db744d4c164afa24a750fc701cef177f281cef4a91a8391293af9cf0663` | + +Evidence is retained under `.local/linux-host-ytr83r/ranges-20260911/`: `input.json`, `events.jsonl`, `result.json`, `independent-readback.json`, and each range's headers, curl metadata, stderr and separate body. The syntax-checked controller is `.local/linux-host-ytr83r/range-assembler.cjs`; it refuses reuse of its existing evidence directory. Preserve these inputs for an externally changed delivery route; do not repeat the failed sample or bypass its threshold. + +## Root-replanned slower range continuation — from 12:26 UTC + +Root explicitly replaced the earlier 128 KiB/s admission threshold after reviewing the six contiguous validated chunks: the measured approximately 100 KiB/s rate was judged usable alongside the long Windows dependency compile. This is a new authorized budget/criterion, not an undisclosed retry under the failed sample's rules. The earlier sample/result remains unchanged historical evidence. + +Prepared and syntax-checked `.local/linux-host-ytr83r/range-continuation.cjs`. It first revalidated the exact original 12,943,360-byte prefix and all six earlier chunk hashes/lengths/continuity, then resumed **new ranges at byte 19,234,816**. It does not re-download validated prefix/chunks or run a full-stream resume. New evidence directory: `.local/linux-host-ytr83r/ranges-continuation-20260911/`. + +Revised limits: at most two requests concurrently, 1 MiB per chunk (short exact final chunk), sixty seconds per request, at most one retry for a timeout/HTTP 5xx, stop on access denial/rate limiting or an inconsistent accepted response, sixty-minute total controller cap and a five-minute check requiring increased contiguous validated coverage. Every failed attempt retains its separate body, header, curl metadata and stderr. No sparse preallocation or missing-chunk substitution is used. Only exact complete coverage, unchanged retained bytes and a full HTTPS publisher SHA-256 match can admit the normal five-minute pilot. No Cargo, GUI or host/network/security setting changes. + +Early progress at 12:27:14 UTC: six new chunks validated, contiguous coverage reached **25,526,272 bytes**. Five-minute check passed with 19,922,944 new contiguous bytes at 300.0806 seconds. + +Final result: stopped after **514.3564 seconds**, because range **52,789,248–53,837,823** timed out on both allowed attempts. Both returned **HTTP 206** with `Content-Range: bytes 52789248-53837823/264372224` and `Content-Length: 1048576`; curl exit **28**, receiving **884,736 bytes / 60.006416 seconds** then **901,120 bytes / 60.009288 seconds**. This was a transfer timeout, not HTTP 5xx, denial, rate limiting or inconsistent content. Two earlier timed-out ranges succeeded on their single retry. The other active request was stopped and retained separately when this range exhausted its retry. + +Independent readback passed: original prefix unchanged; **39 validated chunks** (six reused, 33 new), **34,603,008 newly validated bytes**, **52,789,248 bytes contiguous coverage**, plus valid range **53,837,824–54,886,399** beyond the first gap. New actual image traffic **38,567,936 bytes**, 38 attempts, three retries. No assembly, full-image checksum, VM/Cargo/GUI or further request occurred. `ranges-continuation-20260911/independent-readback.json` lists every retained chunk/hash and failed body; its SHA-256 is `EF49D629032F83AA0A035E87EADFA32CACCE2C0872A06BD47A96F025095F0A8C`. Root requested exact failure diagnosis before considering a revised retry policy; the controller remains stopped. diff --git a/harness/release-publication-path-ytr83r-20260911.md b/harness/release-publication-path-ytr83r-20260911.md new file mode 100644 index 00000000..af876287 --- /dev/null +++ b/harness/release-publication-path-ytr83r-20260911.md @@ -0,0 +1,94 @@ +# Gitea publication path — 2026-09-11 + +Codex-ytr83r /root/integration_audit. Root assigned credential-safe read-only +authentication/access probes and a task-local publication helper. Owner authorization +is [issue #1 comment 178](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/1#issuecomment-178): +reuse existing MCP credentials programmatically for Git HTTP and Gitea REST, +without printing or committing them. No Git push, tag creation, release creation, +artifact upload, credential/configuration change or global Git change occurred. + +## Verified access + +- Existing configuration: `C:/Users/User/.codex/config.toml`, + `mcp_servers.gitea.env.GITEA_ACCESS_TOKEN`. It contains a quoted token value; + the token was read in-process, not printed, copied to a file or included in + command arguments. The helper also supports the same process environment + variable if the configured value is absent. +- Authenticated `GET /api/v1/user`: **HTTP 200**, login **Codex-ytr83r**. +- Authenticated repository GET returns exact repository + `sorokin.oleg.edu/ARCADIA-Studio`, with server-reported permissions + `admin=false`, `push=true`, `pull=true`. +- `git ls-remote --heads --tags` against the exact configured Gitea repository + succeeded with 22 refs. This is a successful Git read probe; it does not by + itself prove write permission because this repository is publicly readable. +- Helper `probe` completed with exit 0. Actual push and release attachment + permissions remain **unexercised**; the server-reported push flag is evidence + of intended authorization, not a performed write. +- Instance OpenAPI readback identifies Gitea **1.27.3** and confirms + `/repos/{owner}/{repo}/releases/{id}/assets` GET/POST, optional `name` query, + `attachment` file form field, multipart/octet-stream request support and 201 + success (400/404/413 documented). This verifies the advertised route contract, + not upload permission or the actual artifact-size limit. The first PowerShell + Swagger reader stalled; a bounded Python read succeeded and the task-owned + stalled reader was stopped without affecting other processes. + +## Prepared local helper + +File: `.local/publication-ytr83r/gitea_publication.py` (Git-ignored, contains no +credential value). Python 3.14 runtime already available at +`.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/python/bin/python.exe`. +Python syntax check passes. Frozen helper SHA256: +`0917FFF100981071D94380847E209874DD87F08744CF02170E0C7E54ACA98FFA`. + +The helper is restricted to `http://217.177.34.108:3000` and this repository. +REST credentials use request headers held in memory; redirects are refused. +Git receives its repository-scoped Basic authorization header through only the +child process's `GIT_CONFIG_*` environment. The token and encoded credentials +never enter command arguments. Child Git tracing, prompts, credential helpers +and redirects are disabled; global/system Git configuration is bypassed for that +child without modifying either. Captured errors are sanitized before output. + +Supported commands, run from repository root: + +```powershell +$publicationPython = '.local/toolchain/llvm-mingw-20260908-ucrt-x86_64/python/bin/python.exe' +$publicationHelper = '.local/publication-ytr83r/gitea_publication.py' +& $publicationPython -I $publicationHelper probe +# Later, release owner supplies explicit already-created local refs: +& $publicationPython -I $publicationHelper push +# After a distinct draft/prerelease exists, owner supplies its ID and frozen file: +& $publicationPython -I $publicationHelper upload --release-id --file +``` + +The push command accepts explicit existing `refs/heads/codex/...` and tag refs; +it neither creates local refs nor force-pushes or deletes remote refs. Destination +ref equals source ref. Before invoking it, root selects the intended coherent +commit and coordinates release ownership. Relevant GitLab publication is separate; +this Gitea token is never sent to GitLab. + +Upload uses streamed multipart `attachment` content at +`POST /api/v1/repos/{owner}/{repo}/releases/{id}/assets?name=...`, and accepts only +an existing draft or prerelease. It checks for an existing same-name attachment +and refuses replacement. Release creation remains available through the Gitea +MCP tool; no raw credential export is required. Returned output records asset +identity, byte count, local streamed SHA256 and server download URL. It explicitly +does **not** claim remote byte-hash verification; root must independently download +and hash the published artifact before treating publication as verified. + +If an upload fails after transfer begins, inspect the release before retrying: +failure does not prove that the remote server adopted no attachment. Artifact +files must be frozen before upload; the helper reports the exact streamed hash. + +## Ownership and next steps + +Codex-9e8r6t retains the named-creation milestone prerelease. This host's eventual +B4 milestone must be distinct and coordinated through Gitea. Root retains actual +push/tag/release/upload decisions, runnable artifacts, concise notes, launch +instructions, known limitations and exact verification scope under the updated +AGENTS.md milestone-release requirement. This probe is preparation, not a published +milestone or acceptance of the current application. + +Next: finish the working B4 gate, coordinate its version, push the selected branch +and tag, create the scoped prerelease, upload frozen artifacts, verify remote ref +identities and artifact hashes, and record the resulting release URL. No fresh +credential request is indicated by the successful existing-credential probe. diff --git a/harness/release-qualified-action-design-ytr83r-20260911.md b/harness/release-qualified-action-design-ytr83r-20260911.md new file mode 100644 index 00000000..a7734846 --- /dev/null +++ b/harness/release-qualified-action-design-ytr83r-20260911.md @@ -0,0 +1,195 @@ +# Qualified scenario Action allocation — bounded design, 2026-09-11 + +Codex-ytr83r / server_audit. Design only; root ratification is required after +published staged-source integration. Only this report is owned. No production, +core, compiler, native-input or Git mutations were performed. Source citations +describe the current local working source, with HEAD observed as +`023e3a8f097158ac84ca47a58cfa917c503804b0`; they are not claims about another host's +unpublished implementation. + +## Coordination and scope + +Read Gitea issue #1 through #225, the empty open-PR inventory, and Wiki pages +ContextualSourceDrafts20260911, LocalBehaviorCreation20260911 and +BehaviorAuthoring20260911. Ownership announced in #225. The staged-source plan +and independent review, textual-authoring design, local behavior-creation report +and behavior-gap audit were consulted. Codex-9e8r6t owns the existing staged +prerequisite implementation. Its current Wiki/#214 reports Lifeline, process +Work and machine-owner staging, with no inferred allocation; qualified Action +allocation is explicitly deferred in both plan and independent review. Their +test/native evidence must not be attributed to this proposal. + +This proposal adds a small explicit responsibility decision to that future +integrated draft infrastructure. It does not recreate source staging, alter the +external chooser, add a metamodel relation, or expand exchange/operation/reuse +authoring. "Qualified" here means an Action on the exact clicked local lifeline +and sequence slot, not traversal into a reused scenario definition. + +## Confirmed behavior and the actual gap + +Existing unallocated work is **not universally blocked** on participant lanes. +The current Action source picker includes all same-layer work +(`behavior/scenario.rs:942`, especially line 953). The planner requires an existing +source and a local lifeline, then creates only an Action occurrence +(`scenario.rs:1370`), with ordered insertion at line 1441. It creates no allocation. +Canvas entry captures the exact slot and represented local lane +(`scenario.rs:508`); an unresolved lane refuses this entry at line 527. + +The core only reports `scenario_endpoint` when compatibility is `Some(false)`; +unresolved `None` is not that error (`oa-core/src/validation.rs:3006`, Action +dispatch at line 3045). Consequently a same-layer, previously unallocated leaf +can be selected and committed on a concrete participant lane, subject to all +other admission rules. The ordinary `unallocated_leaf` warning remains +(`validation.rs:342`). This is source-derived behavior, not a new native pass. +The form does not thereby make or prove a responsibility assignment. + +The missing workflow is **explicitly allocate existing work and add its Action**, +or **create work, explicitly allocate it, and add its Action**, without abandoning +the clicked slot/name/draft. The local form offers an existing named-source +picker (`scenario/workspace.rs:331`) and observed-lifeline picker (line 476), +with no allocation operation. Basic missing-source staging elsewhere is already +owned and must survive unchanged. Earlier wording that all participant Actions +require an already resolved performer is too strong for current admission. + +## Exact eligibility rules + +| Lifeline/viewpoint | Existing Action compatibility | Explicit new responsibility | +| --- | --- | --- | +| OA OperationalActivity / Activity | The represented Activity itself matches by identity, regardless of allocation. A different Activity is incompatible. | No allocation is needed to observe represented work; never replace the lane's represented identity to make another work fit. | +| SA Functional / Function | Same identity rule for Function. | Same restriction. | +| OA ParticipantInteraction / Entity or Actor | Effective performer equals represented participant: compatible. A different known performer: incompatible. Missing or ambiguous effective performer: unresolved, admitted unless another rule fails. | A direct Allocation from this exact participant to an admissible leaf Activity can make the responsibility explicit. | +| OA ParticipantInteraction / Role | An explicit RoleAssignment from this exact Role to the Activity is required; absence is incompatible, even when some participant realizes the Role. | A Role is not a performer. RoleAssignment is a distinct engineering choice; never label it Allocation or silently pick a role realizer. Defer creating role assignments in the first direct-allocation slice. Existing assigned-role Actions remain supported. | +| SA BoundaryInterface / System or SystemActor | Same effective-performer rule, for Function. These are the actual component families admitted in this viewpoint. | Direct Allocation from the exact System/SystemActor to leaf Function. No new component, port, interface or exchange is implied. | +| Unrepresented local lane / MixedLegacy | Incomplete models remain admitted through existing paths; direct canvas entry requires representation. MixedLegacy retains its current compatibility semantics. | Do not invent a representation or expose new allocation staging for these cases in the first slice. Preserve existing editing. | + +Authority: `validation.rs:1262` (viewpoint families), `:1284` (same-layer identity, +RoleAssignment and performer compatibility), `:1329` (lifeline adapter). +`effective_performer` at `:2850` uses one direct Allocation first; otherwise it +collects distinct RoleRealization sources for all assigned roles and resolves +only a singleton. It does not inherit allocations from work parents. +`allocation_summary` at `:2811` is display aggregation, not an inherited relation. + +Allocation permits performer-to-work (`model.rs:931`); performers are Entity, +Actor, System, SystemActor (`model.rs:153`). Its target must be a leaf and have at +most one direct Allocation, even if duplicates would name the same performer +(`validation.rs:2528`). Work containment remains Activity-under-Activity or +Function-under-Function (`validation.rs:92`), not participant containment. +RoleAssignment likewise targets leaf Activity; a direct performer outside a +nonempty assigned-role realizer set raises the existing +`role_allocation_conflict` **warning**, not an error (`validation.rs:2553`). +The UI must disclose such a warning without claiming the core prohibits it. + +## Two minimal explicit workflows + +| Design | Interaction and transaction | Tradeoff | +| --- | --- | --- | +| A — responsibility section in the Action form | Choose existing work or stage new work; show exact work and participant with a choice between leaving responsibility unchanged and adding the displayed Allocation. Final Create commits the opted-in allocation plus Action and any new source. | Fewer navigation steps; however it places an architectural change beside routine occurrence fields and needs careful inactive-option pruning when work/lane changes. It must never precheck allocation because the work is unallocated. | +| B — explicit nested “Allocate work to this participant…” action | Beside the source field, open one contextual child with the exact participant fixed and visible. Choose existing unallocated leaf or Create new activity/function using the integrated staging machinery. Show “Allocate [work] to [participant]”; Use returns a staged work+allocation to the Action form. Final Create shows the whole effect and commits once. | One extra navigation step, but the engineering decision is named at entry and confirmed in context. It matches the staged-source ownership/Back/Use pattern and keeps ordinary Actions small. | + +Recommend **B**, as a later adapter over the integrated staged-source planner. +Use one child editing level, with existing/new work modes inside it, rather than +opening a second nested source modal. Keep the existing source selection route +available, including incomplete responsibility admitted by core. For that route, +plain wording such as “Responsibility is not yet resolved; no allocation will be +added” prevents a successful Action from implying an assignment. + +For already compatible work, use its existing direct or role-derived +responsibility unchanged. Do not add a redundant direct Allocation merely to +turn a derived singleton performer into a direct one. Offer the new direct route +initially for work with no direct Allocation and no assigned roles, plus new work. +This is a deliberately bounded UI scope, not a stronger language rule. Shared or +conflicting role responsibility deserves a separately explicit role-resolution +workflow. Work already allocated elsewhere is not silently reassigned; no +delete/replace-allocation action belongs in this slice. + +The child shows source name, kind, alias/identity and semantic parent separately +from the Action's name and local lifeline. A new source parent is root or an +explicit valid work parent. Adding a child can make an already allocated parent +non-leaf, so validate the complete candidate rather than merely the new child. +Never create from a failed search automatically or bind duplicate names by first +match. Changing the observed lane/work must visibly invalidate the old staged +allocation, without silently retargeting or retaining an unused source. + +## Atomic effects, recovery and invalidation + +Capture the original document/model identity and revision, draft invocation, +scenario/viewpoint, local lane and represented participant, exact operand and +before-anchor, selected work and semantic parent. Preserve raw names, search, +scroll, slot and reserved work/allocation/occurrence IDs in recovery. Reuse the +staged-source implementation's exact-owner guards and command-correlated +post-commit selection; do not weaken navigation guards or auto-apply unrelated +raw source/property editors. + +For existing work, the final flat batch adds one Allocation `P -> W`, one Action +`{ action: W, lifeline: L }` under the captured scenario/operand, and updates only +that owner's steps at the captured slot. For new work it additionally creates +one Activity/Function at its explicitly chosen semantic parent. No lifeline, +participant, capability involvement, RoleAssignment/RoleRealization, exchange, +placement or caller binding is invented. Source and occurrence names are +independent; aliases and IDs are reserved once, including retry/recovery. + +Use a private preview to validate staged commands and final occurrence together; +the accepted Project/catalog/source remain unchanged until final Create. +`session.rs:170`/`:286` provide prepared command/batch admission. +`document.rs:301` prepares the candidate, updates source with its identity map, +and only then commits; `:352`/`:365` restore whole accepted snapshots for Undo/Redo. +One Undo must restore the pre-operation Project and accepted SourceBundle, and +Redo the same IDs and bytes. File persistence remains the existing later Save +contract, not a new multi-file filesystem-atomicity promise. + +Back/Escape from the child discards only that child; parent Cancel creates +nothing. Selecting existing work afterward prunes inactive staged source and +allocation commands. Refused core/source preparation retains the complete raw +draft and accepted history. Changed document, owner, viewpoint, lane +representation, participant/work ownership, reserved ID, branch/anchor or +allocation state requires refusal with retained intent and explicit restart or +review, not a fresh interpretation against current selection. Missing/foreign +lanes, wrong-layer work, invalid semantic parents and lifecycle use outside the +allowed scope are still checked by the common admission path. + +## Concrete acceptance predictions and falsifiers + +These are predictions for a later implementation gate, not executed tests. Extend +the existing scenario/staged-source/native oracles rather than duplicate their +fixtures and reports. Prepare full expected models/source before GUI input. + +1. **Preserved baseline admission:** on OA Entity and SA System lanes, select + existing unallocated leaf work through the ordinary source picker. Exactly + Action plus steps changes; no Allocation appears and the unallocated warning + remains. If this instead universally refuses, the source-derived baseline + above is falsified and must be revisited before UX implementation. +2. **Existing-work explicit allocation:** on OA Actor and SA SystemActor lanes, + stage previously unallocated leaf W. Use/Back/preview create nothing. Final + Create adds exactly one relation and one occurrence at the clicked ALT operand + before-anchor; other operand/source/work bytes are unchanged. One Undo/Redo + restores complete snapshots and exact IDs, including after Save/reopen. +3. **New-work explicit allocation:** repeat OA Entity and SA System with distinct + source/Action names and an explicit valid work parent. Exactly one work, + Allocation, Action and local steps edit; no new lane or capability relation. + Retain unrelated Unicode/CRLF include and detached-file bytes under the + existing save contract. A source-update limit refusal must commit none of it. +4. **Role and work lanes:** represented work accepts itself without allocation; + different work refuses. Assigned OA Role accepts its exact RoleAssignment; + absent assignment refuses `scenario_endpoint`. No direct-Allocation button + appears for Role and no realizer is guessed. Singleton role-derived concrete + performer uses the existing route without creating a redundant relation; + shared-role ambiguity remains explicit and does not choose a participant. +5. **Ownership and allocation failures:** work already allocated elsewhere, + non-leaf work, duplicate direct allocation, foreign/wrong-layer lane or work, + and a new child making an allocated parent non-leaf refuse the new operation + with exact accepted model/source/history retained. Role conflict warnings + remain warnings; the first UI slice can decline complex role editing without + misreporting it as a core error. +6. **Recovery/staleness:** recover names, slot and all reserved IDs; change lane + representation, source parent, viewpoint, branch membership or allocation in + the accepted model. Late Use/Submit must not allocate a different participant + or move the Action. Pending unrelated property/source edits remain untouched. +7. **Native context:** at 1100×700, keep the clicked lane/operand understandable; + source identity, allocation direction and pinned Back/Use/Create controls are + visible with long duplicate names. Keyboard child Back returns to the correct + parent field; overlay Escape precedes child Back and parent Cancel. Final + selection is the exact new Action, with stable camera/caller context. + +No implementation lease follows from this report. Root should first integrate +the published staged-source work, recheck these source seams and baseline +admission, then ratify the small direct-allocation adapter and its first UI scope. diff --git a/scripts/windows-notices/llvm-6dfe1677ab8d-libunwind-LICENSE.TXT b/scripts/windows-notices/llvm-6dfe1677ab8d-libunwind-LICENSE.TXT new file mode 100644 index 00000000..1e312062 --- /dev/null +++ b/scripts/windows-notices/llvm-6dfe1677ab8d-libunwind-LICENSE.TXT @@ -0,0 +1,311 @@ +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. + +============================================================================== +Software from third parties included in the LLVM Project: +============================================================================== +The LLVM Project contains third party software which is under different license +terms. All such code will be identified clearly using at least one of two +mechanisms: +1) It will be in a separate directory tree with its own `LICENSE.txt` or + `LICENSE` file at the top containing the specific license and restrictions + which apply to that software, or +2) It will contain specific license and restriction terms at the top of every + file. + +============================================================================== +Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy): +============================================================================== + +The libunwind library is dual licensed under both the University of Illinois +"BSD-Like" license and the MIT license. As a user of this code you may choose +to use it under either license. As a contributor, you agree to allow your code +to be used under both. + +Full text of the relevant licenses is included below. + +============================================================================== + +University of Illinois/NCSA +Open Source License + +Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT + +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +============================================================================== + +Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/scripts/windows-notices/manifest.json b/scripts/windows-notices/manifest.json index d3e67034..8ee0c2e5 100644 --- a/scripts/windows-notices/manifest.json +++ b/scripts/windows-notices/manifest.json @@ -431,6 +431,18 @@ "url": "https://raw.githubusercontent.com/llvm/llvm-project/ea7d852a70e8bdfaf601d6626a760f9771b2c4b4/libunwind/LICENSE.TXT" } ] + }, + { + "name": "libunwind.dll", + "sha256": "aa282fa47bb2c4e210cea5e470cdbdca58568f0be0bc73e404d86ab9cd95ef6a", + "provenance": "LLVM-MinGW 20260908 UCRT x86_64 publisher distribution, advertised LLVM 23.1.1. Archive SHA-256 1bcf74d06b724aeecaa6412ca85f5b26fb1da770e7cdcefa9263c9c5c3ad34b6 matches the recorded GitHub asset digest; installed DLL and distribution LICENSE match archive members. Tag llvmorg-23.1.1 resolves to LLVM commit 6dfe1677ab8dffbc6ec13d53a1e0215d75147689; component notice fetched at that commit. The distribution build script defaults to that tag. This is publisher/source provenance, not an independently reproduced binary build.", + "notices": [ + { + "file": "llvm-6dfe1677ab8d-libunwind-LICENSE.TXT", + "sha256": "b5efebcaca80879234098e52d1725e6d9eb8fb96a19fce625d39184b705f7b6d", + "url": "https://raw.githubusercontent.com/llvm/llvm-project/6dfe1677ab8dffbc6ec13d53a1e0215d75147689/libunwind/LICENSE.TXT" + } + ] } ] }