Skip to content

Add API website metadata and branding - #90

Merged
SandroMaglione merged 1 commit into
mainfrom
codex/api-reference-site-metadata
Aug 11, 2026
Merged

Add API website metadata and branding#90
SandroMaglione merged 1 commit into
mainfrom
codex/api-reference-site-metadata

Conversation

@SandroMaglione

Copy link
Copy Markdown
Member

Summary

  • add monochrome project branding across the API website, favicon, touch icons, manifest icons, and social card
  • generate canonical, Open Graph, Twitter, theme-color, manifest, robots, and sitemap metadata through the existing static generator
  • remove the visible internal v4 channel label and improve local preview MIME handling
  • add regression coverage for production URLs and generated metadata

Changeset

  • Added or updated for a library or package-metadata change
  • Not required because this PR does not change src/ or package.json

Validation

  • pnpm check
  • Relevant example checks, when examples changed — not applicable
  • Reviewed the automated type-performance report, when the public TypeScript API or inference changed — not applicable
  • Reviewed the automated runtime-performance report, when runtime behavior changed — not applicable

Local visual QA was also completed at desktop and mobile widths.

@github-actions

Copy link
Copy Markdown
Contributor

Type performance

Measured with TypeScript 6.0.3 and skipLibCheck=true.

Scenario Base PR Difference
Effect only 55 55 0 (0.0%)
Import effect-machine 55 55 0 (0.0%)
Machine.defineStates (3 states) 2,965 2,965 0 (0.0%)
Machine.make (3 states, 2 events) 8,715 8,715 0 (0.0%)
machine.handle (3 states, 2 transitions) 23,492 23,492 0 (0.0%)
machine.handle (depth 8) 117,075 117,075 0 (0.0%)
machine.handle (depth 12) 129,713 129,713 0 (0.0%)
machine.handle (depth 16) 145,055 145,055 0 (0.0%)
machine.handle (depth 24) 183,851 183,851 0 (0.0%)
machine.handle (wide depth 16) 214,189 214,189 0 (0.0%)
machine.handle (parallel/history/choice) 132,667 132,667 0 (0.0%)
machine.handle (4 successive calls) 128,674 128,674 0 (0.0%)
machine exact input/output/error/services 110,584 110,584 0 (0.0%)
execution adapter readiness 127,854 127,854 0 (0.0%)

Marginal instantiations are measured against the matching setup without that API call:

Scenario Base PR Difference
Import effect-machine 0 0 0
Machine.defineStates (3 states) 2,910 2,910 0 (0.0%)
Machine.make (3 states, 2 events) 5,742 5,742 0 (0.0%)
machine.handle (3 states, 2 transitions) 14,777 14,777 0 (0.0%)
machine.handle (depth 8) 109,601 109,601 0 (0.0%)
machine.handle (depth 12) 121,039 121,039 0 (0.0%)
machine.handle (depth 16) 135,181 135,181 0 (0.0%)
machine.handle (depth 24) 171,577 171,577 0 (0.0%)
machine.handle (wide depth 16) 202,224 202,224 0 (0.0%)
machine.handle (parallel/history/choice) 114,331 114,331 0 (0.0%)
machine.handle (4 successive calls) 113,703 113,703 0 (0.0%)
machine exact input/output/error/services 100,670 100,670 0 (0.0%)
execution adapter readiness 102,092 102,092 0 (0.0%)
Check times (informational)
Scenario Base PR
Effect only 0.03s 0.03s
Import effect-machine 0.03s 0.03s
Machine.defineStates (3 states) 0.10s 0.09s
Machine.make (3 states, 2 events) 0.15s 0.15s
machine.handle (3 states, 2 transitions) 0.23s 0.21s
machine.handle (depth 8) 0.51s 0.48s
machine.handle (depth 12) 0.54s 0.51s
machine.handle (depth 16) 0.57s 0.56s
machine.handle (depth 24) 0.65s 0.65s
machine.handle (wide depth 16) 0.71s 0.69s
machine.handle (parallel/history/choice) 0.57s 0.57s
machine.handle (4 successive calls) 0.56s 0.55s
machine exact input/output/error/services 0.49s 0.48s
execution adapter readiness 0.52s 0.54s

Type instantiations are the comparison metric. Check time varies with runner load and is informational only.

@github-actions

Copy link
Copy Markdown
Contributor

Runtime performance

Median of 5 independent benchmark processes on AMD EPYC 7763 64-Core Processor with Node v24.18.0.

Pull request baseline

Scenario Effect Machine XState 5 XState 6 alpha
Plan counter transitions 130,653 transitions/s 135,119 transitions/s 13,063 transitions/s
Drain burst with terminal fence 506,311 increments/s 395,202 increments/s 193,089 increments/s
Drain burst with a change observer 465,863 increments/s 390,154 increments/s 193,634 increments/s
Lookup and send to one child 395,546 increments/s 388,964 increments/s 184,608 increments/s
Start and stop a machine 170,329 machines/s 187,970 machines/s 144,865 machines/s
Start and stop a parent with one child 33,393 families/s 69,358 families/s 41,261 families/s
Plan transitions through a compound state 119,993 transitions/s
Plan transitions through parallel regions 91,625 transitions/s
Drain burst through a compound state 504,001 events/s 344,261 events/s 189,534 events/s
Drain burst through two parallel regions 463,063 events/s 260,933 events/s 143,745 events/s
Drain a compound-state burst with a change observer 455,622 events/s

Effect runtime reference points

Scenario Effect Machine Effect runtime primitives
Start and stop a raw generic process 16,700 processes/s
Start and stop a raw compiled process 67,123 processes/s
Start and interrupt a suspended fiber 167,168 fibers/s
Start and stop a queue worker 116,877 workers/s
Start and stop an actor shell 105,507 actors/s
Start and stop two actor shells 65,885 families/s
Update an owner-only mutable snapshot 316,957,211 updates/s
Update a synchronized snapshot 1,528,753 updates/s
Create, resolve, and await a terminal latch 1,402,959 latches/s
Memory profile Effect Machine XState 5 XState 6 alpha Effect runtime primitives
Idle machine 1.5 KiB 3.8 KiB 2.2 KiB
Raw generic managed process 12.7 KiB
Raw compiled process 2.8 KiB
Two independent idle machines 3.0 KiB 7.3 KiB 3.9 KiB
Idle parent with one child 4.8 KiB 5.5 KiB 4.0 KiB
Parent with observed child registry 9.0 KiB
Parent with observed invoked child snapshots 5.0 KiB
Suspended Effect fiber 0.6 KiB
Effect queue with waiting fiber 2.8 KiB
Effect mailbox actor shell 3.2 KiB
Two Effect actor shells 6.8 KiB

Effect Machine change from base

Metric Base Base variability PR PR variability Difference
Plan counter transitions 130,936 transitions/s 3.3% MAD 130,653 transitions/s 4.4% MAD -0.2%
Drain burst with terminal fence 514,654 increments/s 2.0% MAD 506,311 increments/s 2.4% MAD -1.6%
Drain burst with a change observer 472,489 increments/s 1.1% MAD 465,863 increments/s 2.2% MAD -1.4%
Lookup and send to one child 403,478 increments/s 0.9% MAD 395,546 increments/s 2.0% MAD -2.0%
Start and stop a machine 170,648 machines/s 2.0% MAD 170,329 machines/s 2.3% MAD -0.2%
Start and stop a parent with one child 32,995 families/s 0.4% MAD 33,393 families/s 3.2% MAD +1.2%
Plan transitions through a compound state 119,676 transitions/s 0.4% MAD 119,993 transitions/s 0.3% MAD +0.3%
Plan transitions through parallel regions 90,783 transitions/s 0.7% MAD 91,625 transitions/s 0.8% MAD +0.9%
Drain burst through a compound state 498,583 events/s 0.5% MAD 504,001 events/s 0.8% MAD +1.1%
Drain burst through two parallel regions 458,451 events/s 0.2% MAD 463,063 events/s 1.3% MAD +1.0%
Drain a compound-state burst with a change observer 455,680 events/s 0.7% MAD 455,622 events/s 0.8% MAD -0.0%
Idle machine heap per unit 1.5 KiB 0.1% MAD 1.5 KiB 0.1% MAD +0.1%
Raw generic managed process heap per unit 12.7 KiB 0.0% MAD 12.7 KiB 0.0% MAD -0.0%
Raw compiled process heap per unit 2.8 KiB 0.0% MAD 2.8 KiB 0.1% MAD +0.1%
Two independent idle machines heap per unit 3.0 KiB 0.0% MAD 3.0 KiB 0.0% MAD +0.0%
Idle parent with one child heap per unit 4.8 KiB 0.0% MAD 4.8 KiB 0.0% MAD +0.0%
Parent with observed child registry heap per unit 9.0 KiB 0.0% MAD 9.0 KiB 0.0% MAD +0.0%
Parent with observed invoked child snapshots heap per unit 5.0 KiB 0.2% MAD 5.0 KiB 0.2% MAD +0.0%

Effect runtime reference change from base

Metric Base Base variability PR PR variability Difference
Start and stop a raw generic process 16,900 processes/s 0.8% MAD 16,700 processes/s 1.0% MAD -1.2%
Start and stop a raw compiled process 67,852 processes/s 0.5% MAD 67,123 processes/s 0.7% MAD -1.1%
Start and interrupt a suspended fiber 166,639 fibers/s 0.7% MAD 167,168 fibers/s 0.5% MAD +0.3%
Start and stop a queue worker 117,151 workers/s 0.7% MAD 116,877 workers/s 0.1% MAD -0.2%
Start and stop an actor shell 106,986 actors/s 1.0% MAD 105,507 actors/s 0.5% MAD -1.4%
Start and stop two actor shells 64,148 families/s 4.1% MAD 65,885 families/s 1.6% MAD +2.7%
Update an owner-only mutable snapshot 316,856,781 updates/s 0.0% MAD 316,957,211 updates/s 0.0% MAD +0.0%
Update a synchronized snapshot 1,549,638 updates/s 1.2% MAD 1,528,753 updates/s 2.8% MAD -1.3%
Create, resolve, and await a terminal latch 1,416,178 latches/s 1.6% MAD 1,402,959 latches/s 0.6% MAD -0.9%
Versions and interpretation
  • Effect Machine: 0.4.0
  • XState 5: 5.32.5
  • XState 6 alpha: 6.0.0-alpha.31
  • Effect runtime primitives: 4.0.0-beta.107

Higher throughput is better; lower heap is better. Variability is the median absolute deviation across independent processes, relative to their median. Runtime measurements on shared GitHub-hosted hardware remain informational, so small differences should be confirmed across multiple workflow runs.

@SandroMaglione
SandroMaglione merged commit c9dc1aa into main Aug 11, 2026
9 checks passed
@SandroMaglione
SandroMaglione deleted the codex/api-reference-site-metadata branch August 11, 2026 10:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant