@@ -484,7 +484,7 @@ Pass criteria:
484484
485485## Scenario I: update-restart
486486
487- Status target: required before stable .
487+ Status: passed on 2026-06-20 with ` libform ` .
488488
489489Purpose:
490490
@@ -495,24 +495,32 @@ after restart.
495495
496496Precondition:
497497
498- At least two package versions must be available in the official package index or
499- local release assets.
498+ At least two package versions must be available in official GitHub Release
499+ assets. The 2026-06-20 validation used:
500+
501+ ``` text
502+ stable: LibForm v2.0.0
503+ development: LibForm v2.0.0-dev
504+ asset: LibForm-2.0.0-dev.easylib.zip
505+ release: https://github.com/ImperaZim/LibForm/releases/tag/v2.0.0-dev
506+ ```
500507
501508Steps:
502509
503510``` text
504- /easylibrary packages status libserializer
505- /easylibrary packages update libserializer stable
506- /easylibrary packages update libserializer stable confirm
511+ /easylibrary config doctor
512+ /easylibrary packages update libform development
513+ /easylibrary packages update libform development confirm
514+ /easylibrary packages status libform
507515/easylibrary packages doctor
508516```
509517
510518Restart, then validate:
511519
512520``` text
513- /easylibrary packages status libserializer
521+ /easylibrary packages status libform
514522/easylibrary packages doctor
515- /elprobe run libserializer
523+ /elprobe run libform
516524```
517525
518526Expected:
@@ -525,13 +533,21 @@ Expected:
525533Pass criteria:
526534
527535``` text
528- Before restart: staged target visible
529- After restart: active target visible
536+ Before restart: libform / LibForm v2.0.0-dev [installed-pending-restart]
537+ Before restart: Packages: 13 / installed: 13 / active: 12 / pending restart: 1
538+ After restart: libform / LibForm v2.0.0-dev [active]
539+ After restart: Packages: 13 / installed: 13 / active: 13 / pending restart: 0
530540functional=yes
531541```
532542
533- If no second version exists yet, mark this scenario as blocked by release asset
534- availability, not failed.
543+ Observed notes:
544+
545+ - dry-run reported current version ` 2.0.0 ` and target ` 2.0.0-dev ` ;
546+ - confirm downloaded from official GitHub Releases;
547+ - checksum verification passed;
548+ - before restart, doctor showed the staged package target and no problems;
549+ - after restart, stale restart markers were cleared because the package-backed
550+ proxy loaded the staged path.
535551
536552## Scenario J: remove-restart
537553
@@ -580,7 +596,7 @@ No broken proxy left active
580596
581597## Scenario K: rollback-restart
582598
583- Status target: required before stable .
599+ Status: passed on 2026-06-20 with ` libform ` .
584600
585601Purpose:
586602
@@ -591,22 +607,25 @@ after restart.
591607
592608Precondition:
593609
594- At least one previous local version or backup must exist.
610+ At least one previous local version or backup must exist. The 2026-06-20
611+ validation rolled back from ` LibForm 2.0.0-dev ` to the already installed local
612+ ` LibForm 2.0.0 ` package directory.
595613
596614Steps:
597615
598616``` text
599- /easylibrary packages rollback libserializer
600- /easylibrary packages rollback libserializer <version> confirm
617+ /easylibrary packages rollback libform 2.0.0
618+ /easylibrary packages rollback libform 2.0.0 confirm
619+ /easylibrary packages status libform
601620/easylibrary packages doctor
602621```
603622
604623Restart, then validate:
605624
606625``` text
607- /easylibrary packages status libserializer
626+ /easylibrary packages status libform
608627/easylibrary packages doctor
609- /elprobe run libserializer
628+ /elprobe run libform
610629```
611630
612631Expected:
@@ -618,13 +637,22 @@ Expected:
618637Pass criteria:
619638
620639``` text
621- Selected version active after restart
640+ Before restart: libform / LibForm v2.0.0 [installed-pending-restart]
641+ Before restart: active runtime path points to libform/2.0.0-dev
642+ Before restart: staged package path points to libform/2.0.0
643+ After restart: libform / LibForm v2.0.0 [active]
622644Problems: 0
623645functional=yes
624646```
625647
626- If no rollback target exists yet, mark this scenario as blocked by local target
627- availability, not failed.
648+ Observed notes:
649+
650+ - dry-run listed the rollback target and planned state/lock/restart/proxy
651+ writes;
652+ - confirm regenerated the package-backed proxy for the stable target;
653+ - before restart, doctor kept the rollback pending because the active runtime
654+ was still the dev path;
655+ - after restart, doctor returned to ` 13 active / 0 pending / 0 problems ` .
628656
629657## Scenario L: cleanup-safety
630658
@@ -843,8 +871,7 @@ Before tagging `3.0.0`, these must be true:
843871- ` mixed-standalone ` , ` standalone-to-package ` and ` package-to-standalone ` pass.
844872- ` command-provider-fallback ` passes.
845873- ` config-split ` passes.
846- - ` update-restart ` , ` remove-restart ` and ` rollback-restart ` pass or are
847- explicitly blocked by missing release assets and documented.
874+ - ` update-restart ` , ` remove-restart ` and ` rollback-restart ` pass.
848875- ` cleanup-safety ` passes.
849876- ` proxy-recovery ` passes.
850877- ` no-devtools-no-probe ` passes with a real PHAR.
0 commit comments