61 lines
5.2 KiB
Markdown
61 lines
5.2 KiB
Markdown
# V2 API/source/desktop transfer verification
|
|
|
|
Date: 2026-09-05. Integration worker: `v2_requirements_arch_review`. Native Computer Use was performed by the lead; this worker owns no CUA session. Code remained unchanged. Documentation changes: the new `RelocateNode` command schema in `docs/openapi.json`, a corrected title underline in `docs/api.rst`, and V2 README/scope/architecture updates.
|
|
|
|
## Checks completed
|
|
|
|
- After the core worker declared the final core changes stable, `cargo test -p oa-server --locked` passed all 12 actual HTTP/configuration/storage tests on Windows.
|
|
- `cargo clippy -p oa-server --all-targets --locked -- -D warnings` passed.
|
|
- `cargo build --release --locked -p oa-server` passed; the resulting optimized executable was used for the transfer below.
|
|
- `docs/api.rst` initially failed warning-as-error rendering at its too-short title underline. The authorized documentation fix was applied; Docutils HTML5 rendering then passed with `halt_level=2` and `report_level=2`. Output: `D:/CodexBuilds/Capella2-v2-01a06e2e/api-review.html`.
|
|
- OpenAPI parses as JSON, declares exactly one `RelocateNode {node, diagram}` command variant, and the actual release server serves that updated schema.
|
|
- Rewrote README, scope and architecture for V2. The README's new source example was parsed by the actual core. A focused independent `cargo test -p oa-desktop --locked forms::` pass ran all six form tests successfully after the membership/perspective fixes.
|
|
|
|
## Actual release transport workflow
|
|
|
|
The desktop executable's headless `--write-example` entry point generated `api-input-demo.arcadia`. This is a generated V2 example, not a claim that this worker saved it by operating the GUI. A fresh isolated loopback server imported the source with `Content-Type: text/plain`, preserving model identity while assigning a distinct hosted resource identity.
|
|
|
|
1. Import returned revision 1.
|
|
2. Conditional `PATCH /api/v1/projects/{id}` renamed the project and returned revision 2.
|
|
3. One conditional transaction edited the SA function name and CAD artifact URI/revision, returning revision 3.
|
|
4. Exact model comparison proved that all UUIDs, aliases, diagram placements, traces, occurrence lists and other fields remained unchanged apart from those intended values.
|
|
5. An actual HTTP dry run created a proposed diagram and applied `RelocateNode` into it. The candidate moved the intact placement; the accepted model and revision stayed unchanged.
|
|
6. `GET .../source` exported canonical source. Reimporting it into a separate hosted resource produced an exactly equal model, including all persistent identity and artifact metadata.
|
|
7. The server log contained only the expected startup line, with no runtime error. The verification process was terminated after requests completed; this is not a new graceful-shutdown claim.
|
|
|
|
| Property | Verified value |
|
|
|---|---|
|
|
| Hosted resource | `6e6204f4-6def-43b7-a7db-1c09e93c5775` |
|
|
| Hosted revision | `3` |
|
|
| Model UUID | `e0242a95-142d-4a44-8f27-1afd019e879b` |
|
|
| Project name | `Coastal rescue - API integration review` |
|
|
| SA function alias | `classify_incident_and_alert_operator` |
|
|
| SA function UUID | `b8a17e7e-d94b-429d-9899-5c1eca899efa` |
|
|
| SA function name | `Classify incident and coordinate rescue (API review)` |
|
|
| Artifact alias | `console_enclosure_cad` |
|
|
| Artifact UUID | `7a4eb9a9-6951-4d6a-aaea-fcf760bb8241` |
|
|
| Artifact URI | `cad/console-enclosure-reviewed.step` |
|
|
| Artifact revision | `CAD-REV-B-api-review` |
|
|
| Retained model contents | 39 elements, 23 relations, 3 diagrams, 10 traces, 2 artifacts |
|
|
|
|
GUI-ready source: `D:/CodexBuilds/Capella2-v2-01a06e2e/api-edited-demo.arcadia`.
|
|
|
|
Reproducible transfer script and structured result: `D:/CodexBuilds/Capella2-v2-01a06e2e/api-transfer.py` and `api-transfer-result.json`. Isolated store/log/result directory: `D:/CodexBuilds/Capella2-v2-01a06e2e/api-transfer-50d2b0c1-0035-4060-8afc-b37a9d4aa1a4`.
|
|
|
|
## Lead's native GUI verification
|
|
|
|
The lead reported personally opening the exported `.arcadia` through the Windows file picker. The actual running application displayed the changed project title, the API-renamed SA function with its preserved alias, and the CAD URI/revision in Traceability. Counts remained 39 elements and 23 relationships, with one expected review-drift warning caused by the independently renamed traced SA function. This closes the REST-export-to-native-desktop portion of the transfer. Further native editing/save/reopen is being performed by the lead and must be recorded after its result is observed.
|
|
|
|
## Reproducible build commands
|
|
|
|
The ordinary repository commands require no D: cache convention:
|
|
|
|
```sh
|
|
cargo test -p oa-server --locked
|
|
cargo clippy -p oa-server --all-targets --locked -- -D warnings
|
|
cargo build --release --locked -p oa-server
|
|
cargo run --locked -p oa-server --bin arcadia-server
|
|
```
|
|
|
|
This worker used the pre-existing D: build target to share available dependencies. Windows native tests/release are this pass's evidence. Previous native Linux service evidence remains in `docs/server.md`; this pass did not repeat Linux tests, Docker, a remote deployment or systemd installation. Docker was not retried because no daemon was available. Overall desktop workflow, package and multi-platform acceptance remains the lead's responsibility.
|