From 14e7de9df0d0e6f2fbfbd8af2c6a5b84f7058dfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Thu, 6 Aug 2026 08:34:53 +0200 Subject: [PATCH 1/2] docs(engine-plan): repsel 4b is merged (#6919), not in flight Claude-Session: https://claude.ai/code/session_019EHcmXKArA7m42SihYCcgH --- changelog.d/7489-engine-plan-4b-status.md | 7 +++++++ docs/engine-plan.md | 14 +++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 changelog.d/7489-engine-plan-4b-status.md diff --git a/changelog.d/7489-engine-plan-4b-status.md b/changelog.d/7489-engine-plan-4b-status.md new file mode 100644 index 0000000000..f381a48d5c --- /dev/null +++ b/changelog.d/7489-engine-plan-4b-status.md @@ -0,0 +1,7 @@ +### Docs: engine-plan repsel status corrected — Phase 4b was already merged + +`docs/engine-plan.md` said "Phase 4b is in flight"; its two items +(field-store note/addref elision) merged as #6919 on 2026-07-28, and #7485 +deleted the dead prototype flag. The status-quo section and the "What is +left" ordering now say so, leaving #7480's element-shape invariant as the +next repsel unit. diff --git a/docs/engine-plan.md b/docs/engine-plan.md index a592f6beab..5cd4ea26fc 100644 --- a/docs/engine-plan.md +++ b/docs/engine-plan.md @@ -6,7 +6,7 @@ every dated status section, incident narrative and superseded sequencing lives in [`engine-plan-history.md`](engine-plan-history.md); this file holds only the current state and the remaining work so it stays readable across context loads. -Last synced **2026-08-06**. +Last synced **2026-08-06** (repsel status corrected same day: 4b was already merged). | Concern | Detail lives in | |---|---| @@ -34,9 +34,9 @@ has three homes, each needing its own mechanism.* ### Repsel stack (the unbox-by-default campaign) -Phases **1 / 2 / 3a (#6909) / 3b (#6911) / 4a (#6915 + #7421/#7425)** are -merged; #6904's 26× histogram is closed. **Phase 4b is in flight** -(field-store note/addref elision, prompt-scoped to two items). Next gap: +Phases **1 / 2 / 3a (#6909) / 3b (#6911) / 4a (#6915 + #7421/#7425) / 4b +(#6919)** are all merged; #6904's 26× histogram is closed (#7485 deleted the +dead 4b prototype flag). Next gap: **element-shape proofs through array reads** — `keep[j].v` measured **6.2× vs node** on the pure shape — route decided in **#7480**: both candidate routes share one prerequisite (a per-array homogeneous-element-shape invariant, @@ -90,9 +90,9 @@ numbers); `date_format_parse` 0.82× vs bun. unblocked by #7483; projected ~1500 ms field_access from 2981 while keeping the roundtrip win). The measured dead ends are recorded in #7478 — do not re-walk them. -3. **Repsel** — land 4b (in flight) → build the #7480 element-shape invariant - → versioned-loop consumer → element `Ptr`. This is the dependency - chain for the follow-on optimization work. +3. **Repsel** — build the #7480 element-shape invariant → versioned-loop + consumer → element `Ptr`. This is the dependency chain for the + follow-on optimization work (4b itself is done — #6919). 4. **Layer 1** — migrate remaining lowerings onto the rooted-combinator API (`crates/perry-codegen/src/rooting.rs`); the arm-aware scan is the worklist tool. **Layer 3** — shrink the 107-module ceiling list toward From b84b5df851baef85341ccb1e10b9dee1d7eedee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Thu, 6 Aug 2026 08:50:25 +0200 Subject: [PATCH 2/2] chore: bump version to 0.5.1282 --- CLAUDE.md | 2 +- Cargo.lock | 152 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 2 +- 3 files changed, 78 insertions(+), 78 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 8584f95506..e4b44b0f90 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,7 +8,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co Perry is a native TypeScript compiler written in Rust that compiles TypeScript source code directly to native executables. It uses SWC for TypeScript parsing and LLVM for code generation. -**Current Version:** 0.5.1281 +**Current Version:** 0.5.1282 ## TypeScript Parity Status diff --git a/Cargo.lock b/Cargo.lock index edafec72ee..8274e1cfc7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5547,7 +5547,7 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "perry" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "base64", @@ -5607,14 +5607,14 @@ dependencies = [ [[package]] name = "perry-api-manifest" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "serde", ] [[package]] name = "perry-audio-miniaudio" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "cc", "libc", @@ -5622,7 +5622,7 @@ dependencies = [ [[package]] name = "perry-codegen" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "inkwell", @@ -5638,7 +5638,7 @@ dependencies = [ [[package]] name = "perry-codegen-arkts" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "perry-hir", @@ -5646,7 +5646,7 @@ dependencies = [ [[package]] name = "perry-codegen-glance" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "perry-hir", @@ -5654,7 +5654,7 @@ dependencies = [ [[package]] name = "perry-codegen-js" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "perry-dispatch", @@ -5663,7 +5663,7 @@ dependencies = [ [[package]] name = "perry-codegen-swiftui" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "perry-hir", @@ -5671,7 +5671,7 @@ dependencies = [ [[package]] name = "perry-codegen-wasm" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "base64", @@ -5683,7 +5683,7 @@ dependencies = [ [[package]] name = "perry-codegen-wear-tiles" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "perry-hir", @@ -5691,7 +5691,7 @@ dependencies = [ [[package]] name = "perry-container-compose" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "async-trait", @@ -5720,14 +5720,14 @@ dependencies = [ [[package]] name = "perry-container-e2e" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", ] [[package]] name = "perry-diagnostics" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "serde", "serde_json", @@ -5735,7 +5735,7 @@ dependencies = [ [[package]] name = "perry-dispatch" -version = "0.5.1281" +version = "0.5.1282" [[package]] name = "perry-doc-fixture-my-bindings" @@ -5746,7 +5746,7 @@ dependencies = [ [[package]] name = "perry-doc-tests" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "clap", @@ -5761,7 +5761,7 @@ dependencies = [ [[package]] name = "perry-ext-ads" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "block2", "objc2", @@ -5771,7 +5771,7 @@ dependencies = [ [[package]] name = "perry-ext-argon2" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "argon2", "perry-ffi", @@ -5779,7 +5779,7 @@ dependencies = [ [[package]] name = "perry-ext-axios" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "reqwest", @@ -5788,7 +5788,7 @@ dependencies = [ [[package]] name = "perry-ext-bcrypt" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "bcrypt", "perry-ffi", @@ -5796,7 +5796,7 @@ dependencies = [ [[package]] name = "perry-ext-better-sqlite3" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "rusqlite", @@ -5804,7 +5804,7 @@ dependencies = [ [[package]] name = "perry-ext-cheerio" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "scraper", @@ -5812,7 +5812,7 @@ dependencies = [ [[package]] name = "perry-ext-commander" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "perry-runtime", @@ -5820,7 +5820,7 @@ dependencies = [ [[package]] name = "perry-ext-cron" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "chrono", "cron", @@ -5830,7 +5830,7 @@ dependencies = [ [[package]] name = "perry-ext-dayjs" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "chrono", "perry-ffi", @@ -5838,7 +5838,7 @@ dependencies = [ [[package]] name = "perry-ext-decimal" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "rust_decimal", @@ -5846,7 +5846,7 @@ dependencies = [ [[package]] name = "perry-ext-dotenv" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "serde_json", @@ -5854,7 +5854,7 @@ dependencies = [ [[package]] name = "perry-ext-ethers" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "rand 0.10.1", @@ -5862,7 +5862,7 @@ dependencies = [ [[package]] name = "perry-ext-events" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "perry-runtime", @@ -5870,14 +5870,14 @@ dependencies = [ [[package]] name = "perry-ext-exponential-backoff" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", ] [[package]] name = "perry-ext-fastify" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "bytes", "http-body-util", @@ -5895,7 +5895,7 @@ dependencies = [ [[package]] name = "perry-ext-fetch" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "bytes", "lazy_static", @@ -5908,7 +5908,7 @@ dependencies = [ [[package]] name = "perry-ext-http" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "bytes", "h2", @@ -5932,7 +5932,7 @@ dependencies = [ [[package]] name = "perry-ext-ioredis" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "lazy_static", "perry-ffi", @@ -5942,7 +5942,7 @@ dependencies = [ [[package]] name = "perry-ext-jsonwebtoken" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "base64", "jsonwebtoken", @@ -5953,7 +5953,7 @@ dependencies = [ [[package]] name = "perry-ext-lru-cache" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "lru", "perry-ffi", @@ -5962,7 +5962,7 @@ dependencies = [ [[package]] name = "perry-ext-moment" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "chrono", "perry-ffi", @@ -5970,7 +5970,7 @@ dependencies = [ [[package]] name = "perry-ext-mongodb" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "bson", "futures-util", @@ -5982,7 +5982,7 @@ dependencies = [ [[package]] name = "perry-ext-mysql2" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "chrono", "perry-ffi", @@ -5992,7 +5992,7 @@ dependencies = [ [[package]] name = "perry-ext-nanoid" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "nanoid", "perry-ffi", @@ -6001,7 +6001,7 @@ dependencies = [ [[package]] name = "perry-ext-net" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "bytes", "perry-ffi", @@ -6014,7 +6014,7 @@ dependencies = [ [[package]] name = "perry-ext-node-forge" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "const-oid 0.9.6", "der 0.7.10", @@ -6033,7 +6033,7 @@ dependencies = [ [[package]] name = "perry-ext-nodemailer" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "lettre", "perry-ffi", @@ -6043,7 +6043,7 @@ dependencies = [ [[package]] name = "perry-ext-pdf" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "printpdf", @@ -6051,7 +6051,7 @@ dependencies = [ [[package]] name = "perry-ext-pg" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "sqlx", @@ -6060,7 +6060,7 @@ dependencies = [ [[package]] name = "perry-ext-ratelimit" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "governor", "perry-ffi", @@ -6068,7 +6068,7 @@ dependencies = [ [[package]] name = "perry-ext-sharp" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "fast_image_resize", "image", @@ -6078,14 +6078,14 @@ dependencies = [ [[package]] name = "perry-ext-slugify" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", ] [[package]] name = "perry-ext-streams" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "lazy_static", "perry-ffi", @@ -6094,7 +6094,7 @@ dependencies = [ [[package]] name = "perry-ext-undici" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "perry-runtime", @@ -6103,7 +6103,7 @@ dependencies = [ [[package]] name = "perry-ext-uuid" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "uuid", @@ -6111,7 +6111,7 @@ dependencies = [ [[package]] name = "perry-ext-validator" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ffi", "regex", @@ -6121,7 +6121,7 @@ dependencies = [ [[package]] name = "perry-ext-ws" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "futures-util", "lazy_static", @@ -6134,7 +6134,7 @@ dependencies = [ [[package]] name = "perry-ext-zlib" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "brotli", "flate2", @@ -6144,7 +6144,7 @@ dependencies = [ [[package]] name = "perry-ffi" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "dashmap", "once_cell", @@ -6153,7 +6153,7 @@ dependencies = [ [[package]] name = "perry-hir" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "perry-api-manifest", @@ -6171,7 +6171,7 @@ dependencies = [ [[package]] name = "perry-parser" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "perry-diagnostics", @@ -6183,7 +6183,7 @@ dependencies = [ [[package]] name = "perry-runtime" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "base64", @@ -6225,14 +6225,14 @@ dependencies = [ [[package]] name = "perry-runtime-static" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-runtime", ] [[package]] name = "perry-stdlib" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "aes 0.8.4", "aes 0.9.1", @@ -6327,14 +6327,14 @@ dependencies = [ [[package]] name = "perry-stdlib-static" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-stdlib", ] [[package]] name = "perry-transform" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "perry-hir", @@ -6343,14 +6343,14 @@ dependencies = [ [[package]] name = "perry-ui" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ui-model", ] [[package]] name = "perry-ui-android" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "base64", "itoa", @@ -6367,7 +6367,7 @@ dependencies = [ [[package]] name = "perry-ui-geisterhand" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "rand 0.10.1", "serde", @@ -6377,7 +6377,7 @@ dependencies = [ [[package]] name = "perry-ui-gtk4" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "base64", "cairo-rs 0.22.0", @@ -6400,7 +6400,7 @@ dependencies = [ [[package]] name = "perry-ui-ios" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "base64", "block2", @@ -6416,7 +6416,7 @@ dependencies = [ [[package]] name = "perry-ui-macos" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "base64", "block2", @@ -6431,7 +6431,7 @@ dependencies = [ [[package]] name = "perry-ui-model" -version = "0.5.1281" +version = "0.5.1282" [[package]] name = "perry-ui-test" @@ -6442,11 +6442,11 @@ dependencies = [ [[package]] name = "perry-ui-testkit" -version = "0.5.1281" +version = "0.5.1282" [[package]] name = "perry-ui-tvos" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "base64", "block2", @@ -6462,7 +6462,7 @@ dependencies = [ [[package]] name = "perry-ui-visionos" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "base64", "block2", @@ -6478,7 +6478,7 @@ dependencies = [ [[package]] name = "perry-ui-watchos" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "block2", "libc", @@ -6491,7 +6491,7 @@ dependencies = [ [[package]] name = "perry-ui-windows" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "base64", "libc", @@ -6508,14 +6508,14 @@ dependencies = [ [[package]] name = "perry-ui-windows-winui" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "perry-ui-windows", ] [[package]] name = "perry-updater" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "anyhow", "base64", @@ -6531,7 +6531,7 @@ dependencies = [ [[package]] name = "perry-wasm-host" -version = "0.5.1281" +version = "0.5.1282" dependencies = [ "wasmi", ] diff --git a/Cargo.toml b/Cargo.toml index 9718eed30d..19dc9d726e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -315,7 +315,7 @@ codegen-units = 16 codegen-units = 16 [workspace.package] -version = "0.5.1281" +version = "0.5.1282" edition = "2021" license = "MIT" repository = "https://github.com/PerryTS/perry"