Record final GUI and clean-checkout acceptance

This commit is contained in:
udo committed 2026-10-11 00:40:01 +00:00
1 parent caf17bf42c
commit 3fd185167d
5 files changed
+22 -6

No files matched your search

+5 -1
View File
@@ -76,6 +76,10 @@ node tests/web-composite.js
python3 tests/web-installer.py
```
Evaluate `tests/web-gui-editor.js`, `tests/web-gui-composite.js`, and `tests/web-gui-workbench.js` in the workbench browser tab, one at a time. Wait for each returned report. Use a dev tab without unsaved work. The scripts restore their temporary fetch overrides and remove their preset fixtures. Their queue-response test is mocked, not a native simulation.
For real keyboard validation, select a clean saved preset and run `python3 tests/web-gui-numbers.py --helper <browser-helper-path> --target <tab-id>`. The test enters incomplete numbers in gravity and run steps. It blocks persistence requests and restores the selected preset.
Direct HTTP checks return 200 for the workbench, schema, and browser assets without a protocol redirect. Private configuration and server-schema URLs return 404 because those files are outside the webroot. VM 101 opens the HTTP workbench with 93 parameters, existing jobs, and the completed edited planet. No application-specific nginx configuration remains.
## Current limits
@@ -86,4 +90,4 @@ Browser checks cover save, clone, export, import, delete, cancellation of a real
Terrain and planet-parameter generation are repeatable from the saved seed. Native climate runs retain the upstream initial-noise behavior, which seeds its generator from the clock by default. Identical parameter sets do not therefore guarantee byte-identical weather output. Native diagnostics and restart files remain in the job directory.
Whole-model scientific acceptance remains serial T21 with ten layers. Other resolutions, MPI, long climate statistics, and GPU acceleration are not accepted. Browser checks also cover playback stopping on dataset changes, touch-value inspection, map undo returning to a clean state, recovery from a map-load failure, and software fallback after context-loss events. Physical GPU context recovery remains untested. Final desktop, mobile, source, and failure checks passed. Repository delivery and clean-checkout verification remain open.
Whole-model scientific acceptance remains serial T21 with ten layers. Other resolutions, MPI, long climate statistics, and GPU acceleration are not accepted. Browser checks also cover playback stopping on dataset changes, touch-value inspection, map undo returning to a clean state, recovery from a map-load failure, and software fallback after context-loss events. Physical GPU context recovery remains untested. Final desktop, mobile, source, failure, repository delivery, and clean-checkout checks passed. Evidence and retained screenshots are in `docs/work/2026-10-11/final-ui.md`.
+12
View File
@@ -24,3 +24,15 @@ Native diagnostics explain the difference. Both runs use the upstream default `S
## Remaining delivery
Run the final complete suites and browser fixtures against the latest source. Capture the final desktop and mobile views. Commit and push the workbench and its documentation. Verify a clean checkout using the pinned scientific environment. Physical GPU recovery, MPI, and long-term climate statistics remain outside the accepted serial T21 UI scope.
## Final delivery
The final source passed 20 Python tests, eight PHP checks, three installer tests, the Node brush and composite checks, and all three VM 101 browser fixtures. The native-keyboard number checks passed separately. The cookie-free live harness passed 22 requests and removed its preset fixtures. The RGB renderer's final synthetic T85 sample averaged 8.79 ms, with p95 16.50 ms and maximum 18.60 ms. These timings exclude browser compositing and real HTTP latency.
Final screenshots are retained as `images/desktop.png` and `images/mobile.png`. The mobile viewport is 390 × 844. Neither view has horizontal page overflow.
The first clean checkout exposed an inherited ignore rule that omitted `web/config/lab.php` and `web/config/settings.php`. The packaging fix includes both files and removes obsolete Node ignore rules. The corrected clean checkout passed the same Python, PHP, installer, and Node suites, plus installer dry-run. Tests reused the pinned scientific environment. Its editable ExoPlaSim dependency points at the authoritative checkout, whose tracked native package matches the clean checkout. Workbench code and tests came from the clean checkout. This was not a second scientific-environment installation. Removing the temporary environment link left the checkout clean.
Workbench commit `6288244` and packaging fix `caf17bf` were pushed to the private forge. The remote main ref matched the local ref. No forge workflows, deploy hooks, external services, or paid automation were added. The worker remains active as the unprivileged service user. All temporary delegate panes are closed.
Physical GPU recovery, MPI, and long-term climate statistics remain outside the accepted serial T21 UI scope.
Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

+5 -5
View File
@@ -13,12 +13,12 @@ Keep the Fortran simulator and checked build. PHP owns HTTP handling, queue mana
- [x] The browser shows queue state, progress, bounded logs, failures, cancellation, and retry.
- [x] Real output supports field, time, and level selection, map/globe rendering, charts, and downloads.
- [x] No accounts, sessions, CSRF checks, network gates, TLS requirements, or application-specific server configuration remain.
- [ ] Setup, service files, tests, and current documentation ship in the project repository.
- [x] Setup, service files, tests, and current documentation ship in the project repository.
- [x] The user edits height, land mask, land roughness, and broadband land albedo; saved versions feed real runs through immutable captures.
## Current state
Status: executing.
Status: complete. Current source, runtime, browser checks, and repository delivery have been verified.
Source: project `web/`, `web/server/`, `config/web.json`, and `scripts/`. Runtime uses the host's ordinary PHP setup. The private checkout is outside the webroot. `public_root` contains only the PHP entry and browser assets. No application-specific nginx configuration, redirects, aliases, custom servers, or CGI endpoints are permitted.
@@ -55,7 +55,7 @@ The starter import is the clean maintained local commit `1a246ce4550a0b63dedaefb
- [x] G7.3: Start from generated terrain or saved versions. Keep output fields separate from input maps.
- [x] G7.4: Snapshot map versions into each queued job. Verify retry and later edits cannot change those inputs.
- [x] G7.5: Run edited maps through the native model and verify SRA coordinates, gravity conversion, and actual model inputs.
- [~] G5: Deployment and acceptance are repeatable.
- [x] G5: Deployment and acceptance are repeatable.
- [x] G5.1: Publish public-only assets and an ordinary PHP entry. Keep private source outside the webroot. Install the systemd worker without application-specific nginx configuration.
- [x] G5.2: Test queue concurrency, scientific validation, frame bounds, failures, and ordinary cookie-free saves.
- [x] G5.3: Complete a real browser-to-worker-to-visualization run.
@@ -76,7 +76,7 @@ The starter import is the clean maintained local commit `1a246ce4550a0b63dedaefb
| RGB temperature/precipitation/elevation view | `tests/web-composite.js`, `tests/web-gui-composite.js`, and `docs/work/2026-10-10/rgb-output.md` |
| Ordinary PHP query operations without security/session machinery | Source audit, cookie-free live HTTP harness, and `tests/web-public.php` |
| Relative paths and repeatable installation without data replacement | Worker/Python fixtures from another working directory, `tests/web-installer.py`, and `docs/work/2026-10-11/final-ui.md` |
| Repository delivery | Pending commit, push, and clean-checkout verification |
| Repository delivery | Private forge push and clean-checkout suites recorded in `docs/work/2026-10-11/final-ui.md` |
## Shared implementation contract
@@ -138,7 +138,7 @@ The frontend delegate owns the workbench component, index view, workbench JS, an
## Next
Finish the final suites and current screenshots. Commit and push the application, configuration, installer, tests, and documentation. Verify a clean checkout without changing the live installation. Earlier acceptance evidence is in `docs/work/2026-10-10/web-acceptance.md`. RGB acceptance is in `docs/work/2026-10-10/rgb-output.md`.
The accepted UI scope is complete. Earlier evidence is in `docs/work/2026-10-10/web-acceptance.md`. RGB evidence is in `docs/work/2026-10-10/rgb-output.md`. Final suites, screenshots, installation, and delivery are in `docs/work/2026-10-11/final-ui.md`.
## Remaining scope and risks