Skip to content

chore(quest): size goal, minified timing, and #83's follow-ups - #92

Merged
kixelated merged 12 commits into
mainfrom
plan/ts-size-goal
Oct 27, 2026
Merged

kixelated merged 12 commits into
mainfrom
plan/ts-size-goal

Conversation

@kixelated

@kixelated kixelated commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Two follow-ups from #85.

ts-mir-size Goal

The handoff's minified target needs a shared coroutine driver (measured slower or larger) or collapsing async wrappers, which would empty the benchmark. How should ts-mir-size's Goal change?

  • ✅ Gzip only for handoff (Recommended): keep the codec targets and the handoff's gzip target (3458).
  • Measure moq-shaped code instead.
  • Keep both targets.

The Goal now drops the handoff's minified target, and the Plan records why.

New quest: [XS] Time the minified bundles

just ts bench times unminified bundles, but what ships is minified. Plan a follow-up quest to time minified bundles?

  • ✅ Yes, XS quest (Recommended)
  • No

Confirmed in ts/bench/main.ts: sizes come from bundle(..., { minify: true }), but the served pages use unminified bundles.

Follow-ups from #83

Plan the agent's follow-ups as rust2 m2 quests?

  • ✅ "whatever you recommend"
  • [XS] Share a held-back read across a call: recovers the leading-ones decode cost that fix(ts): copy Copy aggregates by type #83 accepted (✅ "Accept + follow-up").
  • [S] Output tsc accepts for writes through Result and Poll compares: two shapes whose output fails tsc.
  • [S] Translate derived == through references and slice index writes: two shapes refused with a span today.
  • Dropped: the one-element vec![x] refusal, which feat(ts): translate char and vec![x] #86 already handles.

Follow-up from #89

Plan a bench workload for Timestamp::checked_add and Ord (u128 cross products), so those paths get timed in Chrome?

  • [XS] Time Timestamp's checked_add and Ord. The remaining 128-bit bigint paths stay until a consumer reaches them.

Follow-up from #93

How do we remember to move the job back to arm once Swift 6.4 reaches nixpkgs-unstable?

  • ✅ Waiting quest (Recommended)
  • Comment only
  • Stay on x86_64
  • [XS] Waiting: Swift 6.4 in nixpkgs-unstable.

Follow-ups from #76

Plan #76's follow-ups?

  • ✅ Next export slice
  • ✅ Config-file patches
  • moq-clock naming: "moq clock is getting merged into kio afaik"
  • The ffi-export quest's "Several crates" bullet already holds the next slice. It now also records that the glue carries patches from .cargo/config.toml, and that moq-clock's export moves into kio.

Follow-ups from #86

Plan which follow-ups into #92?

  • ✅ Store aliasing (bug)
  • ✅ Remaining char gaps
  • [S] Copy what a container stores: push, insert, push_back and Box::new share a by-value Copy aggregate instead of copying it. This is a silent miscompile that still reproduces after fix(ts): copy Copy aggregates by type #83.
  • [S] str and String methods over char: chars, char patterns, is_ascii_digit and String::push through &mut String. The last one blocks ietf/namespace.rs.

Public API: none.

(written by Opus 5.5)

🤖 Generated with Claude Code

https://claude.ai/code/session_0115AT2ue6x9cT5e5J9SZtCn

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-27T01:12:44.098259Z de9a174 New commits
🔒 Security Review ✅ Completed 2026-10-27T01:14:50.917566Z de9a174 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed a079f45eba3ff20d708c3fc90d94d962cc716615 against base be5cc64b5c437da385a84a5da710ec1b6c1f2ab4.

No actionable bugs found in the three documentation changes. Checked the targets against #85 and the new quest against ts/bench/main.ts and entry.ts: the size/timing mismatch is real, and the codec targets and handoff gzip target remain intact.

Direction: Dropping the fixture-driven minified target avoids unnecessary coroutine machinery or weakening the depth benchmark. For the timing quest, the simplest implementation is to build each minified JS bundle once and reuse those exact bytes for sizing and execution, including A/A and optional comparison routes; retain the existing wasm bytes. This keeps the change focused without a second bundling path.

Verification: GitHub-only static review; no tests, type-checks, or benchmarks run, and no independent reproduction of #85's measurements.

@kixelated kixelated changed the title chore(quest): gzip-only handoff target; time minified bundles chore(quest): size goal, minified timing, and #83's follow-ups Oct 26, 2026

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed 5446e17a7596066eda1ec929548eab5b1f2197ea relative to my previous review of a079f45eba3ff20d708c3fc90d94d962cc716615, separating #83's merge into base 3813f6aaafbdfd6572f66a960a6b7429730dea41.

No new actionable bugs found in the three added quests and index entries. They accurately separate #83's accepted performance cost, emitted-code type errors, and explicitly refused shapes; vec![x] is already covered by #86's existing quest.

Direction: Extending the existing pending-read folding rules while preserving #83's copy/alias guards is a focused way to recover the decode cost. Keeping the aliasing differential cases as the acceptance condition is important; weakening copy semantics would not be an equivalent simplification. Separating this optimization from the type/refusal fixes keeps each change independently verifiable.

Verification: GitHub-only static inspection of the delta, #83/#86 context, pending-read/alias logic, runtime types, and generated decoder. No tests, type-checks, or benchmarks run; reported timings were not independently reproduced.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0115AT2ue6x9cT5e5J9SZtCn

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed dd309c0268f31f069b943baee01ece341223cc45 against previously reviewed 5446e17a7596066eda1ec929548eab5b1f2197ea; base remains 3813f6aaafbdfd6572f66a960a6b7429730dea41.

No new actionable bugs found in quest/m2/ts-bench-timestamp.md and its index entry. Checked #89's reported coverage gap against ts/bench/workloads.ts and the codec's bench.rs: existing time workloads cover conversion, not timestamp addition or ordering.

Direction: Reuse the existing workload, wasm32 expected-result oracle, and A/A plumbing rather than adding a separate microbenchmark harness. Include both small-number additions and cross-products beyond the safe-number range so the measurements cover the paths motivating this quest. Deferring unrelated bigint replacements until a consumer needs them keeps the scope justified.

Verification: GitHub-only static review; no tests or benchmarks run, and #89's performance claims were not independently reproduced.

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed 62445e3c25b5e0121994d63f1c5568caaf2951fc relative to previously reviewed dd309c0268f31f069b943baee01ece341223cc45, separating changes merged from base bcac4466bf48820d102b5c7d146d7a469388db8a.

No new actionable bugs found in quest/m2/uniffi-swift-arm.md and its index entry. The flake exports the named aarch64 shell; #93's runner workaround and upstream #574002's LLD switch/removal of the broken marker match the plan. nixpkgs-unstable still reports Swift 6.3.3 at review time, so the waiting condition remains relevant.

Direction: Waiting for the normal upstream update avoids an extra package pin or local Swift override. Treat the dry-run as an evaluation gate, not proof of working fixtures; the eventual runner change should also demonstrate the actual ARM fixture job succeeds.

Verification: GitHub-only inspection of the delta, flake, workflow, and upstream sources. No Nix evaluation, builds, or fixture tests run.

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed 96103af62e953366c2b639e83186d3a790a101bf relative to 62445e3c25b5e0121994d63f1c5568caaf2951fc, separating #76/#86 changes merged into base 541a81ac142c8695f139ba5119f922bcc9ec888f.

One planning correctness issue at quest/m1/ffi-export.md:37-38: Cargo config supports [patch], not manifest-style [replace] (details inline).

Direction: Carrying effective Cargo patches into the glue is justified, but preserve Cargo's precedence and path semantics rather than activating otherwise ignored tables. Centralizing the container-copy fix and keeping the remaining character support separate are sensible scopes; no additional actionable issues found in those new quests.

Verification: GitHub-only static review of the documentation delta, relevant exporter/lowering code, #76/#86 context, and Cargo source matching Rust 1.98.1. No tests or builds run.

Comment thread quest/m1/ffi-export.md Outdated
Comment on lines +37 to +38
maintainer on 2026-10-26: the glue also carries `[patch]` and `[replace]` from
`.cargo/config.toml`, as it already does from the workspace manifest. moq-clock is

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Keep config propagation limited to overrides Cargo applies

Cargo reads [patch] from config, but [replace] only from the root manifest: see root_replace and config_patch in the Cargo bundled with Rust 1.98.1. Copying a config [replace] into the generated Cargo.toml would activate an override the checked package never used, producing a different dependency graph. Scope the new config support to effective [patch] entries; retain [replace] propagation from the workspace manifest only.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in bfde604: the bullet now says config carries only [patch], with cargo's precedence between config and manifest and paths relative to the config file.

(written by Opus 5.5)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0115AT2ue6x9cT5e5J9SZtCn

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed bfde604d49d114a0fe42e5350f89d6cd21652bff against previously reviewed 96103af62e953366c2b639e83186d3a790a101bf; base remains 541a81ac142c8695f139ba5119f922bcc9ec888f.

Prior P2 addressed: quest/m1/ffi-export.md:37-39 now limits config propagation to [patch], excludes config [replace], and preserves Cargo's precedence and config-relative paths. This fixes the reported planning issue without broadening the implementation scope.

No new actionable issues found in this documentation-only delta. GitHub-only static verification; no tests or builds run.

@kixelated
kixelated merged commit 62a8a59 into main Oct 27, 2026
1 check passed
@kixelated
kixelated deleted the plan/ts-size-goal branch October 27, 2026 20:32
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