@fasl-work/caos-app-shell 0.20.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.20.001] - 2026-11-05
2
+
3
+ ### Fixed
4
+
5
+ - Publish the package from the canonical CI build and verify registry SHA-512 integrity, preventing platform line endings from changing the release tarball.
6
+ - Normalize padded release versions when matching GitHub tags, and make retries safe for an already-published identical package.
7
+
1
8
  ## [0.20.000] - 2026-11-05
2
9
 
3
10
  ### Added
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.20.000
1
+ 0.20.001
package/gate/run.mjs CHANGED
@@ -523,7 +523,13 @@ export async function runGate(o) {
523
523
  await next.click();
524
524
  await page.waitForTimeout(90);
525
525
  const earlyMotion = await page.evaluate(() => window.__caosGate.showcaseFacts().motion);
526
- await page.waitForTimeout(260);
526
+ // Wait for the actual CSS stage animation to finish instead of assuming it starts on the same frame as the click.
527
+ // On loaded runners style/layout can begin a few frames after Playwright's click promise resolves.
528
+ await page.waitForFunction(() => {
529
+ const target = document.querySelector('[data-story-transition] > .caos-story-stage');
530
+ const animations = target ? target.getAnimations().filter((animation) => animation.animationName === 'caos-story-stage-enter') : [];
531
+ return animations.length > 0 && animations.every((animation) => animation.playState === 'finished');
532
+ }, null, { timeout: 1500 }).catch(() => undefined);
527
533
  const lateMotion = await page.evaluate(() => window.__caosGate.showcaseFacts().motion);
528
534
  if (!earlyMotion || earlyMotion.animationName === 'none' || earlyMotion.animationName === 'auto' || earlyMotion.transform === 'none' || earlyMotion.transform === 'matrix(1, 0, 0, 1, 0, 0)') fail('G21', { route: first.route, mode }, 'story step has no visible eased stage transition');
529
535
  else if (Number.parseFloat(earlyMotion.animationDuration) * (earlyMotion.animationDuration.endsWith('ms') ? 1 : 1000) < 200) fail('G21', { route: first.route, mode }, `normal stage transition is shorter than 200 ms (${earlyMotion.animationDuration})`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fasl-work/caos-app-shell",
3
- "version": "0.20.0",
3
+ "version": "0.20.1",
4
4
  "description": "Shared web-app shell, workbench primitives, content primitives, design system and measured gate for the CAOS / Faena public apps (ADR-0016, ADR-0017, ADR-0071).",
5
5
  "license": "MIT",
6
6
  "author": "Felipe Santibáñez-Leal",