ci: Bump actions/checkout from 4.1.1 to 6.0.2#9
Merged
hyperpolymath merged 1 commit intoApr 2, 2026
Conversation
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 6.0.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4.1.1...de0fac2) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
5 tasks
This was referenced May 28, 2026
hyperpolymath
added a commit
that referenced
this pull request
May 28, 2026
## Summary aLib roadmap T1 item #10. Adds `stdlib/alib.affine` exposing the 22 aLib v0.1.0 operations under their canonical aLib names — single import point for consumers wanting the aLib surface rather than the AffineScript-idiomatic surface. ### The 22 ops by category | Category | Ops | |---|---| | arithmetic (5) | `add`, `subtract`, `multiply`, `divide`, `modulo` | | comparison (6) | `less_than`, `greater_than`, `equal`, `not_equal`, `less_equal`, `greater_equal` | | logical (3) | `and`, `or`, `not` | | string (3) | `concat`, `length`, `substring` | | collection (4) | `map`, `filter`, `fold`, `contains` | | conditional (1) | `if_then_else` | **Count correction**: the roadmap row 10 said "20"; current aggregate.json v0.1.0 has 22. Row updated to match. ### Type model `Number ↦ Int` for v0.1.0 since aggregate.json test vectors use integer arithmetic. A parallel `alib_float` set can be added when Float-typed test vectors land — keeping the `alib::add` surface integer-pure preserves the simple consumer API and avoids `Number` ambiguity at the call site. ### Implementation - `add`/`subtract`/`multiply`/etc. — thin operator wrappers - `length` / `concat` / `substring` — bind to existing stdlib functions + the `string_sub` builtin - `map`/`filter` — written explicitly (avoids a cross-module visibility quirk pending the alib #9 audit) - `fold`/`contains` — re-exported from `prelude` via aliased import (`use prelude::{ fold as prelude_fold, ... }`) - `if_then_else` — eager evaluation per aLib spec; consumers wanting laziness use the language `if … else …` expression directly ### Downstream unlocks - alib #11 (`aggregate.json` schema loader) - alib #12 (test-vector executor — needs this module as the dispatch target) - alib #13 (properties auto-checker) ## Test plan - [x] `affinescript check stdlib/alib.affine` — passes (verified locally on the canonical opam switch) - [ ] alib #11 schema loader (separate PR) reads aggregate.json - [ ] alib #12 executor (separate PR) dispatches into this module ## Refs - Closes #416 - Umbrella #413 (aLib roadmap) - Canonical signatures: `developer-ecosystem/aggregate-library/data/aggregate.json` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 31, 2026
hyperpolymath
added a commit
that referenced
this pull request
May 31, 2026
) New stdlib module covering host↔guest message-passing — the Tier-1 #9 binding consumers (idaptik-ums Gossamer IPC for level I/O) have been waiting on. stdlib/Ipc.affine (+105 lines): 2 extern types + 9 extern fns. | Surface | Externs | |---|---| | Channel | extern type MessageChannel, MessagePort; messageChannelNew; messageChannelPort1/2 | | Port | messagePortPostMessage; messagePortOnMessage; messagePortStart; messagePortClose | | Cross-context | targetPostMessage (Worker / iframe.contentWindow / self-from-worker) | | Deep-clone | structuredCloneValue | No consumer init required — `MessageChannel`, `MessagePort`, and `structuredClone` are standard web-platform globals in Deno, Node 16+, browsers, and Web Workers. Generated code emits direct references to `MessageChannel` / `structuredClone` — there is no host indirection table. lib/codegen_deno.ml (+23 lines): 9 `__as_*` prelude helpers + 9 `deno_builtins` dispatch entries adjacent to the pixiSound block. tests/codegen-deno/ipc_smoke.{affine,harness.mjs} (+98 lines combined): new smoke fixture exercises: - A port-pair postMessage round-trip with handler identity preserved across `on` - The standalone `messagePortClose` lifecycle - The generic `targetPostMessage` shape via a stub target object - A `structuredCloneValue` deep-copy with reference-distinctness assertions across nested arrays + objects The fixture documents (in the source) why the host keeps the channel handle alive across the drain — Node's worker-threads-backed `MessagePort` GCs the moment its last reference drops — and why a single setImmediate isn't enough for delivery (the empirical delivery window needs a real `setTimeout`). docs/bindings-roadmap.adoc row #9 status promoted `○ → ◑`; deferred items (transfer-list, BroadcastChannel, typed MessageEvent accessors, Worker constructors — Tier 3 #25) listed. Refs #446 — Tier 1 #9.
hyperpolymath
added a commit
that referenced
this pull request
May 31, 2026
) (#506) ## Summary Ships the first concrete surface for Tier-1 #9 of #446 — **IPC / structuredClone** for host↔guest message passing. This is the binding `idaptik-ums` Gossamer IPC for level I/O depends on, and the pattern any embedded-engine binding in the estate needs. ## What lands `stdlib/Ipc.affine` (+105 lines, new module): 2 extern types + 9 extern fns covering MessageChannel construction, port handoff, post + onmessage, start/close lifecycle, generic `targetPostMessage`, and `structuredCloneValue`. | Surface | Externs | |---|---| | Channel | `MessageChannel` / `MessagePort` opaque types; `messageChannelNew` / `messageChannelPort1` / `messageChannelPort2` | | Port | `messagePortPostMessage` / `messagePortOnMessage` / `messagePortStart` / `messagePortClose` | | Cross-context | `targetPostMessage` (Worker / iframe.contentWindow / self-from-worker) | | Deep-clone | `structuredCloneValue` | `lib/codegen_deno.ml` (+23 lines): 9 `__as_*` prelude helpers + 9 dispatch entries adjacent to the pixiSound block. No consumer init — `MessageChannel` / `MessagePort` / `structuredClone` are standard web-platform globals. `tests/codegen-deno/ipc_smoke.{affine,harness.mjs}` (+98 lines combined): port-pair postMessage round-trip with handler-identity preservation, standalone close lifecycle, target-post stub, and structuredClone deep-copy with reference-distinctness assertions across nested arrays + objects. `docs/bindings-roadmap.adoc` row #9 promoted `○ → ◑`; deferred items listed. ## Design notes **Why is `MessagePort` an opaque `extern type` instead of a record/tagged-union?** Same reason `WasmExports` and `WasmValue` (#467) are opaque — the Deno-ESM backend doesn't yet have tagged-variant codegen (deferred to json.affine v0.3), and a real `MessagePort` carries internal worker-thread state that isn't usefully observable from AffineScript anyway. The handler observes the `MessageEvent` as opaque `Json` and reads `event.data` via the existing Json accessors. A typed `MessageEvent` extern-type with dedicated accessor externs is the natural follow-up axis, captured in the roadmap deferred-items list. **Why is the host responsible for closing the ports?** Inline `close()` calls in `smokeChannelFlow` would race the microtask-async delivery — MessagePort drops queued messages on close. The fixture surfaces this as a documented authoring pattern (it lives in a top-of-file comment) so anyone writing IPC code with this binding doesn't get bitten. **Why `setTimeout(50)` in the harness instead of `setImmediate`/microtask flush?** Empirically verified — Node 20's `worker_threads`-backed `MessageChannel` batches delivery beyond a single setImmediate tick. The comment in the harness records the test that surfaced it (a standalone `node` repl reproducer with the same shape). **Why no `transfer` list yet?** Owner directive at #455 (Option-B kickoff scope) — ship the generic surface, layer typed-and-richer variants as follow-ups once usage patterns crystallise. Same pattern as `WasmValue` — opaque tagged scalar first, typed wrappers next. ## Test plan - [x] `dune build bin/main.exe` — clean (only the expected parser warnings) - [x] `dune runtest` — 354 tests pass - [x] `tools/run_codegen_deno_tests.sh` — all 18 harnesses including the new `ipc_smoke.harness.mjs` OK - [ ] CI build job - [ ] CI `tools/run_codegen_deno_tests.sh` job - [ ] CI governance + Hypatia (known baselines per repo CLAUDE.md may be red — not from this PR) ## Refs - Umbrella: #446 (Tier 1 — idaptik blockers) - Tier-1 sub-issue: #450 - Row updated: `docs/bindings-roadmap.adoc` row #9 - Pattern siblings: #467 (`wasm_export_call` Option-B), #474 (Zig-FFI patterns doc), #502 (PixiJS 8.x Container) - Adjacent: Tier-3 #25 Web Workers — `Worker` constructors would consume this surface 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps actions/checkout from 4.1.1 to 6.0.2.
Release notes
Sourced from actions/checkout's releases.
... (truncated)
Changelog
Sourced from actions/checkout's changelog.
... (truncated)
Commits
de0fac2Fix tag handling: preserve annotations and explicit fetch-tags (#2356)064fe7fAdd orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set (...8e8c483Clarify v6 README (#2328)033fa0dAdd worktree support for persist-credentials includeIf (#2327)c2d88d3Update all references from v5 and v4 to v6 (#2314)1af3b93update readme/changelog for v6 (#2311)71cf226v6-beta (#2298)069c695Persist creds to a separate file (#2286)ff7abcdUpdate README to include Node.js 24 support details and requirements (#2248)08c6903Prepare v5.0.0 release (#2238)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)