Skip to content

feat(stem): add portable runtime foundation - #32

Draft
kingwill101 wants to merge 18 commits into
masterfrom
feat/portable-runtime-surface
Draft

feat(stem): add portable runtime foundation#32
kingwill101 wants to merge 18 commits into
masterfrom
feat/portable-runtime-surface

Conversation

@kingwill101

@kingwill101 kingwill101 commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Begins the implementation of #31.

Included in this first slice

  • adds a publish-only TaskPublisher contract and optional publisher lifecycle;
  • keeps Stem(broker: ...) and Beat(broker: ...) compatibility constructors while adding publish-only constructors;
  • adds package:stem/portable.dart and an explicit package:stem/vm.dart;
  • conditionally selects a portable task invocation context on non-VM targets;
  • removes the historical public-barrel import from TaskResult;
  • removes unconditional dart:io usage from producer host metadata and metrics console output;
  • introduces narrow task-status, worker-heartbeat, group-result, and atomic-terminal store capabilities;
  • adds a transport-neutral TaskProcessor with typed success, retry, terminal failure, rejection, cancellation, and duplicate outcomes;
  • supports zero-based delivery-attempt overrides while preserving the envelope ID;
  • adds a JS compilation workflow and portable API tests.

Health fixes

  • exports SolarCalculator consistently from the public, portable, and advanced libraries;
  • bumps Stem to 0.4.0 for the breaking public API change and widens workspace package constraints for the 0.4 release line;
  • hardens decoded task argument validation;
  • expands processor coverage across signature rejection, cancellation, middleware, timeout, retry/backoff, and invalid payload paths;
  • covers portable task invocation callbacks and keeps formatter/analyzer checks clean.

Validation

  • Portable API / JavaScript compilation
  • publish validation
  • repository hygiene and centralized Dart gate
  • macOS and Windows adapter tests
  • documentation build
  • benchmarks
  • PR health checks for API leakage, breaking changes, changelog, licensing, coverage, and dependency metadata

Follow-up work

  • make the existing VM Worker delegate handler execution and retry classification to TaskProcessor;
  • extract one-shot scheduling from the timer-based Beat lifecycle;
  • add mixed-batch disposition tests and Cloudflare adapter integration;
  • add optional atomic task-claim support.

This remains a draft for review of the initial portable runtime slice.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown

Stem throughput benchmarks

Updated by workflow run #33318526687.
Tested merge: f4c0cfb7fc94
PR head: 2c5cea6e9986
Base: 4d891976b7a1

Store Runtime Mode Scenario Concurrency Tasks Samples Enqueue median tasks/s End-to-end median tasks/s End-to-end p5 tasks/s Task p95 latency ms MAD tasks/s CV
Memory aot steady-state success 8 5000 3 12988.0 12938.4 11979.0 0.2 605.2 5.02%
Memory jit steady-state success 8 5000 3 9050.5 8995.9 4922.0 0.4 1322.9 28.43%
SQLite aot steady-state success 1 25 1 854.7 281.0 281.0 55.3 0.0 0.00%
SQLite aot steady-state success 4 25 1 1117.1 312.8 312.8 53.3 0.0 0.00%
SQLite jit steady-state success 1 25 1 392.9 112.2 112.2 153.7 0.0 0.00%
SQLite jit steady-state success 4 25 1 468.8 137.9 137.9 122.0 0.0 0.00%
PostgreSQL aot steady-state success 1 25 1 326.1 110.0 110.0 156.6 0.0 0.00%
PostgreSQL aot steady-state success 4 25 1 329.6 111.9 111.9 157.2 0.0 0.00%
PostgreSQL jit steady-state success 1 25 1 78.0 51.4 51.4 271.6 0.0 0.00%
PostgreSQL jit steady-state success 4 25 1 104.6 57.1 57.1 302.8 0.0 0.00%
Redis aot steady-state success 1 25 1 1137.1 974.1 974.1 1.8 0.0 0.00%
Redis aot steady-state success 4 25 1 1190.5 1029.6 1029.6 1.7 0.0 0.00%
Redis jit steady-state success 1 25 1 334.5 299.6 299.6 6.3 0.0 0.00%
Redis jit steady-state success 4 25 1 453.3 408.9 408.9 4.2 0.0 0.00%

AOT uses the cached dart build cli repodoc executable; JIT uses dart run. AOT memory is the regression gate. JIT memory and external-store runs are diagnostic reports, while external-store failures remain functional smoke-gate failures. Raw trials and the complete statistic set are retained in the uploaded JSON artifact.

@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown

PR Health

Unused Dependencies ⚠️
Package Status
stem
❗ Show Issues
These packages are used outside lib/ but are not dev_dependencies:
* flutter
* flutter_stem_example
* flutter_test
* http
* image
* mailer
* ormed
* ormed_sqlite
* server_testing
* server_testing_shelf
* shelf
* shelf_router
* stem_annotated_workflows
* stem_autoscaling_demo
* stem_cli
* stem_dlq_sandbox
* stem_ecommerce_example
* stem_flutter
* stem_flutter_sqlite
* stem_ops_health_suite
* stem_postgres
* stem_progress_heartbeat
* stem_rate_limit_delay_demo
* stem_redis
* stem_routing_parity_example
* stem_scheduler_observability
* stem_signals_demo
* stem_signing_key_rotation
* stem_sqlite
* stem_task_context_mixed_example
* stem_worker_control_lab
These packages may be unused, or you may be using assets from these packages:
* async
* gha
* lints
stem_adapter_tests
❗ Show Issues
These packages may be unused, or you may be using assets from these packages:
* lints
stem_builder
❗ Show Issues
These packages are used outside lib/ but are not dev_dependencies:
* stem_builder_example
These packages may be unused, or you may be using assets from these packages:
* glob
* lints
stem_cli
❗ Show Issues
These packages may be unused, or you may be using assets from these packages:
* async
* collection
* lints
* postgres
* very_good_analysis
stem_flutter ✔️ All dependencies utilized correctly.
stem_flutter_sqlite ✔️ All dependencies utilized correctly.
stem_memory
❗ Show Issues
These packages may be unused, or you may be using assets from these packages:
* collection
* uuid
stem_postgres
❗ Show Issues
These packages may be unused, or you may be using assets from these packages:
* collection
* lints
* path
* postgres
stem_redis
❗ Show Issues
These packages are only used outside lib/ and should be downgraded to dev_dependencies:
* async
These packages may be unused, or you may be using assets from these packages:
* collection
* lints
stem_sqlite
❗ Show Issues
These packages are only used outside lib/ and should be downgraded to dev_dependencies:
* path
These packages may be unused, or you may be using assets from these packages:
* collection
* lints

For details on how to fix these, see dependency_validator.

This check can be disabled by tagging the PR with skip-unused-dependencies-check.

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?
stem_postgres Non-Breaking 0.2.0 0.2.1 0.2.1 ✔️
stem Breaking 0.3.0 0.4.0 0.4.0 ✔️
stem_sqlite Non-Breaking 0.2.0 0.2.1 0.2.1 ✔️
stem_flutter_sqlite Non-Breaking 0.2.0 0.2.1 0.2.1 ✔️
stem_builder Non-Breaking 0.3.0 0.3.1 0.3.1 ✔️
stem_cli Non-Breaking 0.2.0 0.2.1 0.2.1 ✔️
stem_adapter_tests Non-Breaking 0.2.0 0.2.1 0.2.1 ✔️
stem_memory Non-Breaking 0.2.0 0.2.1 0.2.1 ✔️
stem_flutter Non-Breaking 0.2.0 0.2.1 0.2.1 ✔️
stem_redis Non-Breaking 0.2.0 0.2.1 0.2.1 ✔️

This check can be disabled by tagging the PR with skip-breaking-check.

API leaks ✔️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbol Leaking sources

This check can be disabled by tagging the PR with skip-leaking-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

License Headers ⚠️
// Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
packages/stem/lib/advanced.dart
packages/stem/lib/portable.dart
packages/stem/lib/src/core/contracts.dart
packages/stem/lib/src/core/runtime_info_io.dart
packages/stem/lib/src/core/runtime_info_stub.dart
packages/stem/lib/src/core/stem.dart
packages/stem/lib/src/core/task_invocation.dart
packages/stem/lib/src/core/task_invocation_portable.dart
packages/stem/lib/src/core/task_invocation_vm.dart
packages/stem/lib/src/core/task_processor.dart
packages/stem/lib/src/core/task_result.dart
packages/stem/lib/src/observability/console_output_io.dart
packages/stem/lib/src/observability/console_output_stub.dart
packages/stem/lib/src/observability/metrics.dart
packages/stem/lib/src/scheduler/beat.dart
packages/stem/lib/src/workflow/core/run_state.dart
packages/stem/lib/src/workflow/core/workflow_result.dart
packages/stem/lib/stem.dart
packages/stem/lib/vm.dart
packages/stem/test/api/portable_api_test.dart
packages/stem/test/unit/core/stem_core_test.dart
packages/stem/test/unit/core/task_invocation_portable_test.dart
packages/stem/test/unit/core/task_processor_test.dart
packages/stem/tool/portable_compile.dart

All source files should start with a license header.

Unrelated files missing license headers
Files
benchmark/benchmark_display.dart
benchmark/benchmark_formatting.dart
benchmark/profile_support.dart
benchmark/stem_job_profile.dart
packages/dashboard/bin/dashboard.dart
packages/dashboard/lib/dashboard.dart
packages/dashboard/lib/src/config/config.dart
packages/dashboard/lib/src/server.dart
packages/dashboard/lib/src/services/models.dart
packages/dashboard/lib/src/services/stem_service.dart
packages/dashboard/lib/src/state/dashboard_state.dart
packages/dashboard/lib/src/stem/control_messages.dart
packages/dashboard/lib/src/ui/audit.dart
packages/dashboard/lib/src/ui/content.dart
packages/dashboard/lib/src/ui/event_templates.dart
packages/dashboard/lib/src/ui/events.dart
packages/dashboard/lib/src/ui/failures.dart
packages/dashboard/lib/src/ui/jobs.dart
packages/dashboard/lib/src/ui/layout.dart
packages/dashboard/lib/src/ui/namespaces.dart
packages/dashboard/lib/src/ui/options.dart
packages/dashboard/lib/src/ui/overview.dart
packages/dashboard/lib/src/ui/paths.dart
packages/dashboard/lib/src/ui/search.dart
packages/dashboard/lib/src/ui/shared.dart
packages/dashboard/lib/src/ui/task_detail.dart
packages/dashboard/lib/src/ui/tasks.dart
packages/dashboard/lib/src/ui/workers.dart
packages/dashboard/lib/src/ui/workflows.dart
packages/dashboard/test/dashboard_browser_test.dart
packages/dashboard/test/dashboard_state_poll_test.dart
packages/dashboard/test/dashboard_state_property_test.dart
packages/dashboard/test/server_test.dart
packages/dashboard/test/services/sqlite_dashboard_service_test.dart
packages/dashboard/test/ui_escape_test.dart
packages/dashboard/test/ui_paths_test.dart
packages/stem/example/annotated_workflows/bin/main.dart
packages/stem/example/annotated_workflows/lib/definitions.dart
packages/stem/example/autoscaling_demo/bin/producer.dart
packages/stem/example/autoscaling_demo/bin/worker.dart
packages/stem/example/autoscaling_demo/lib/shared.dart
packages/stem/example/canvas_patterns/chain_example.dart
packages/stem/example/canvas_patterns/chord_example.dart
packages/stem/example/canvas_patterns/group_example.dart
packages/stem/example/daemonized_worker/bin/worker.dart
packages/stem/example/dlq_sandbox/bin/producer.dart
packages/stem/example/dlq_sandbox/bin/worker.dart
packages/stem/example/dlq_sandbox/lib/shared.dart
packages/stem/example/docs_snippets/lib/best_practices.dart
packages/stem/example/docs_snippets/lib/brokers.dart
packages/stem/example/docs_snippets/lib/canvas_batch.dart
packages/stem/example/docs_snippets/lib/canvas_chain.dart
packages/stem/example/docs_snippets/lib/canvas_chord.dart
packages/stem/example/docs_snippets/lib/canvas_group.dart
packages/stem/example/docs_snippets/lib/cli_control.dart
packages/stem/example/docs_snippets/lib/daemonization.dart
packages/stem/example/docs_snippets/lib/dashboard.dart
packages/stem/example/docs_snippets/lib/developer_environment.dart
packages/stem/example/docs_snippets/lib/first_steps.dart
packages/stem/example/docs_snippets/lib/namespaces.dart
packages/stem/example/docs_snippets/lib/observability.dart
packages/stem/example/docs_snippets/lib/observability_ops.dart
packages/stem/example/docs_snippets/lib/persistence.dart
packages/stem/example/docs_snippets/lib/producer.dart
packages/stem/example/docs_snippets/lib/production_checklist.dart
packages/stem/example/docs_snippets/lib/queue_events.dart
packages/stem/example/docs_snippets/lib/quick_start.dart
packages/stem/example/docs_snippets/lib/quick_start_failure.dart
packages/stem/example/docs_snippets/lib/rate_limiting.dart
packages/stem/example/docs_snippets/lib/retry_backoff.dart
packages/stem/example/docs_snippets/lib/routing.dart
packages/stem/example/docs_snippets/lib/scheduler.dart
packages/stem/example/docs_snippets/lib/signals.dart
packages/stem/example/docs_snippets/lib/signing.dart
packages/stem/example/docs_snippets/lib/tasks.dart
packages/stem/example/docs_snippets/lib/troubleshooting.dart
packages/stem/example/docs_snippets/lib/uniqueness.dart
packages/stem/example/docs_snippets/lib/worker_control.dart
packages/stem/example/docs_snippets/lib/workers_programmatic.dart
packages/stem/example/docs_snippets/lib/workflows.dart
packages/stem/example/durable_watchers.dart
packages/stem/example/ecommerce/bin/server.dart
packages/stem/example/ecommerce/lib/ecommerce.dart
packages/stem/example/ecommerce/lib/src/app.dart
packages/stem/example/ecommerce/lib/src/database/datasource.dart
packages/stem/example/ecommerce/lib/src/database/migrations.dart
packages/stem/example/ecommerce/lib/src/database/migrations/m_20260226010000_create_ecommerce_tables.dart
packages/stem/example/ecommerce/lib/src/database/models/cart.dart
packages/stem/example/ecommerce/lib/src/database/models/cart_item.dart
packages/stem/example/ecommerce/lib/src/database/models/catalog_sku.dart
packages/stem/example/ecommerce/lib/src/database/models/models.dart
packages/stem/example/ecommerce/lib/src/database/models/order.dart
packages/stem/example/ecommerce/lib/src/database/models/order_item.dart
packages/stem/example/ecommerce/lib/src/domain/catalog.dart
packages/stem/example/ecommerce/lib/src/domain/repository.dart
packages/stem/example/ecommerce/lib/src/tasks/manual_tasks.dart
packages/stem/example/ecommerce/lib/src/workflows/annotated_defs.dart
packages/stem/example/ecommerce/lib/src/workflows/checkout_flow.dart
packages/stem/example/ecommerce/test/server_test.dart
packages/stem/example/email_service/bin/enqueuer.dart
packages/stem/example/email_service/bin/worker.dart
packages/stem/example/email_service/lib/stem_email_service_example.dart
packages/stem/example/encrypted_payload/docker/main.dart
packages/stem/example/encrypted_payload/enqueuer/bin/enqueue.dart
packages/stem/example/encrypted_payload/enqueuer/lib/stem_encrypted_enqueuer.dart
packages/stem/example/encrypted_payload/worker/bin/worker.dart
packages/stem/example/encrypted_payload/worker/lib/stem_encrypted_worker.dart
packages/stem/example/flutter_stem_example/lib/main.dart
packages/stem/example/flutter_stem_example/lib/src/app.dart
packages/stem/example/flutter_stem_example/lib/src/demo_config.dart
packages/stem/example/flutter_stem_example/lib/src/demo_tasks.dart
packages/stem/example/flutter_stem_example/lib/src/queue_monitor_page.dart
packages/stem/example/flutter_stem_example/lib/src/utils/time_format.dart
packages/stem/example/flutter_stem_example/lib/src/widgets/job_card.dart
packages/stem/example/flutter_stem_example/lib/src/widgets/metric_tile.dart
packages/stem/example/flutter_stem_example/lib/src/widgets/status_chip.dart
packages/stem/example/flutter_stem_example/lib/src/widgets/worker_state_chip.dart
packages/stem/example/flutter_stem_example/lib/src/worker/worker_isolate.dart
packages/stem/example/flutter_stem_example/test/widget_test.dart
packages/stem/example/image_processor/bin/api.dart
packages/stem/example/image_processor/bin/worker.dart
packages/stem/example/image_processor/lib/stem_image_processor_example.dart
packages/stem/example/microservice/beat/bin/beat.dart
packages/stem/example/microservice/beat/lib/stem_microservice_beat.dart
packages/stem/example/microservice/enqueuer/bin/main.dart
packages/stem/example/microservice/enqueuer/lib/stem_microservice_enqueuer.dart
packages/stem/example/microservice/worker/bin/worker.dart
packages/stem/example/microservice/worker/lib/stem_microservice_worker.dart
packages/stem/example/mixed_cluster/enqueuer/bin/enqueue.dart
packages/stem/example/mixed_cluster/enqueuer/lib/stem_mixed_enqueuer.dart
packages/stem/example/mixed_cluster/postgres_worker/bin/worker.dart
packages/stem/example/mixed_cluster/postgres_worker/lib/stem_mixed_postgres_worker.dart
packages/stem/example/mixed_cluster/redis_worker/bin/worker.dart
packages/stem/example/mixed_cluster/redis_worker/lib/stem_mixed_redis_worker.dart
packages/stem/example/monolith_service/bin/service.dart
packages/stem/example/monolith_service/lib/stem_monolith_example.dart
packages/stem/example/ops_health_suite/bin/producer.dart
packages/stem/example/ops_health_suite/bin/worker.dart
packages/stem/example/ops_health_suite/lib/shared.dart
packages/stem/example/otel_metrics/bin/worker.dart
packages/stem/example/otel_metrics/lib/stem_otel_metrics_example.dart
packages/stem/example/persistent_sleep.dart
packages/stem/example/postgres_tls/bin/enqueue.dart
packages/stem/example/postgres_tls/bin/worker.dart
packages/stem/example/postgres_worker/enqueuer/bin/enqueue.dart
packages/stem/example/postgres_worker/enqueuer/lib/stem_postgres_enqueuer.dart
packages/stem/example/postgres_worker/worker/bin/worker.dart
packages/stem/example/postgres_worker/worker/lib/stem_postgres_worker.dart
packages/stem/example/progress_heartbeat/bin/producer.dart
packages/stem/example/progress_heartbeat/bin/worker.dart
packages/stem/example/progress_heartbeat/lib/shared.dart
packages/stem/example/rate_limit_delay/bin/producer.dart
packages/stem/example/rate_limit_delay/bin/worker.dart
packages/stem/example/rate_limit_delay/lib/shared.dart
packages/stem/example/redis_postgres_worker/enqueuer/bin/enqueue.dart
packages/stem/example/redis_postgres_worker/enqueuer/lib/stem_redis_postgres_enqueuer.dart
packages/stem/example/redis_postgres_worker/worker/bin/worker.dart
packages/stem/example/redis_postgres_worker/worker/lib/stem_redis_postgres_worker.dart
packages/stem/example/retry_task/bin/producer.dart
packages/stem/example/retry_task/bin/worker.dart
packages/stem/example/retry_task/lib/shared.dart
packages/stem/example/routing_parity/bin/publisher.dart
packages/stem/example/routing_parity/bin/worker.dart
packages/stem/example/routing_parity/lib/routing_demo.dart
packages/stem/example/scheduler_observability/bin/beat.dart
packages/stem/example/scheduler_observability/bin/worker.dart
packages/stem/example/scheduler_observability/lib/shared.dart
packages/stem/example/signals_demo/bin/producer.dart
packages/stem/example/signals_demo/bin/worker.dart
packages/stem/example/signals_demo/lib/shared.dart
packages/stem/example/signing_key_rotation/bin/producer.dart
packages/stem/example/signing_key_rotation/bin/worker.dart
packages/stem/example/signing_key_rotation/lib/shared.dart
packages/stem/example/stack_autowire.dart
packages/stem/example/stem_example.dart
packages/stem/example/task_context_mixed/bin/enqueue.dart
packages/stem/example/task_context_mixed/bin/worker.dart
packages/stem/example/task_context_mixed/lib/shared.dart
packages/stem/example/task_usage_patterns.dart
packages/stem/example/unique_tasks/unique_task_example.dart
packages/stem/example/worker_control_lab/bin/producer.dart
packages/stem/example/worker_control_lab/bin/worker.dart
packages/stem/example/worker_control_lab/lib/shared.dart
packages/stem/example/workflow_example.dart
packages/stem/example/workflow_runtime_features_example.dart
packages/stem/example/workflows/basic_in_memory.dart
packages/stem/example/workflows/cancellation_policy.dart
packages/stem/example/workflows/custom_factories.dart
packages/stem/example/workflows/multiple_workers.dart
packages/stem/example/workflows/runtime_metadata_views.dart
packages/stem/example/workflows/sleep_and_event.dart
packages/stem/example/workflows/sqlite_store.dart
packages/stem/example/workflows/versioned_rewind.dart
packages/stem/lib/memory.dart
packages/stem/lib/observability.dart
packages/stem/lib/src/backend/encoding_result_backend.dart
packages/stem/lib/src/bootstrap/factories.dart
packages/stem/lib/src/bootstrap/stem_app.dart
packages/stem/lib/src/bootstrap/stem_client.dart
packages/stem/lib/src/bootstrap/stem_module.dart
packages/stem/lib/src/bootstrap/stem_stack.dart
packages/stem/lib/src/bootstrap/workflow_app.dart
packages/stem/lib/src/canvas/canvas.dart
packages/stem/lib/src/control/control_messages.dart
packages/stem/lib/src/control/file_revoke_store.dart
packages/stem/lib/src/control/revoke_store.dart
packages/stem/lib/src/core/chord_metadata.dart
packages/stem/lib/src/core/chord_policy.dart
packages/stem/lib/src/core/clock.dart
packages/stem/lib/src/core/config.dart
packages/stem/lib/src/core/encoder_keys.dart
packages/stem/lib/src/core/envelope.dart
packages/stem/lib/src/core/function_task_handler.dart
packages/stem/lib/src/core/payload_codec.dart
packages/stem/lib/src/core/payload_map.dart
packages/stem/lib/src/core/queue_events.dart
packages/stem/lib/src/core/retry.dart
packages/stem/lib/src/core/stem_event.dart
packages/stem/lib/src/core/task_payload_encoder.dart
packages/stem/lib/src/core/unique_task_coordinator.dart
packages/stem/lib/src/memory.dart
packages/stem/lib/src/memory/backend/in_memory_backend.dart
packages/stem/lib/src/memory/brokers/in_memory_broker.dart
packages/stem/lib/src/memory/control/in_memory_revoke_store.dart
packages/stem/lib/src/memory/memory_factories.dart
packages/stem/lib/src/memory/scheduler/in_memory_lock_store.dart
packages/stem/lib/src/memory/scheduler/in_memory_schedule_store.dart
packages/stem/lib/src/memory/workflow/event_bus/in_memory_event_bus.dart
packages/stem/lib/src/memory/workflow/store/in_memory_workflow_store.dart
packages/stem/lib/src/observability/config.dart
packages/stem/lib/src/observability/heartbeat.dart
packages/stem/lib/src/observability/heartbeat_transport.dart
packages/stem/lib/src/observability/logging.dart
packages/stem/lib/src/observability/logging_api.dart
packages/stem/lib/src/observability/logging_types.dart
packages/stem/lib/src/observability/snapshots.dart
packages/stem/lib/src/observability/tracing.dart
packages/stem/lib/src/routing/routing_config.dart
packages/stem/lib/src/routing/routing_registry.dart
packages/stem/lib/src/scheduler/schedule_calculator.dart
packages/stem/lib/src/scheduler/schedule_spec.dart
packages/stem/lib/src/scheduler/solar_calculator.dart
packages/stem/lib/src/security/signing.dart
packages/stem/lib/src/security/tls.dart
packages/stem/lib/src/signals/emitter.dart
packages/stem/lib/src/signals/middleware.dart
packages/stem/lib/src/signals/payloads.dart
packages/stem/lib/src/signals/signal.dart
packages/stem/lib/src/signals/stem_signals.dart
packages/stem/lib/src/testing/fake_stem.dart
packages/stem/lib/src/worker/isolate_messages.dart
packages/stem/lib/src/worker/isolate_pool.dart
packages/stem/lib/src/worker/worker.dart
packages/stem/lib/src/worker/worker_acknowledgement.dart
packages/stem/lib/src/worker/worker_config.dart
packages/stem/lib/src/worker/worker_consumer_loop.dart
packages/stem/lib/src/worker/worker_delivery_tracker.dart
packages/stem/lib/src/worker/worker_execution_supervisor.dart
packages/stem/lib/src/worker/worker_lease_coordinator.dart
packages/stem/lib/src/workflow/annotations.dart
packages/stem/lib/src/workflow/core/event_bus.dart
packages/stem/lib/src/workflow/core/flow.dart
packages/stem/lib/src/workflow/core/flow_context.dart
packages/stem/lib/src/workflow/core/flow_step.dart
packages/stem/lib/src/workflow/core/workflow_cancellation_policy.dart
packages/stem/lib/src/workflow/core/workflow_checkpoint.dart
packages/stem/lib/src/workflow/core/workflow_clock.dart
packages/stem/lib/src/workflow/core/workflow_definition.dart
packages/stem/lib/src/workflow/core/workflow_event_ref.dart
packages/stem/lib/src/workflow/core/workflow_execution_context.dart
packages/stem/lib/src/workflow/core/workflow_ref.dart
packages/stem/lib/src/workflow/core/workflow_resume.dart
packages/stem/lib/src/workflow/core/workflow_resume_context.dart
packages/stem/lib/src/workflow/core/workflow_runtime_metadata.dart
packages/stem/lib/src/workflow/core/workflow_script.dart
packages/stem/lib/src/workflow/core/workflow_script_context.dart
packages/stem/lib/src/workflow/core/workflow_status.dart
packages/stem/lib/src/workflow/core/workflow_step_entry.dart
packages/stem/lib/src/workflow/core/workflow_store.dart
packages/stem/lib/src/workflow/core/workflow_watcher.dart
packages/stem/lib/src/workflow/runtime/workflow_introspection.dart
packages/stem/lib/src/workflow/runtime/workflow_manifest.dart
packages/stem/lib/src/workflow/runtime/workflow_registry.dart
packages/stem/lib/src/workflow/runtime/workflow_runtime.dart
packages/stem/lib/src/workflow/runtime/workflow_views.dart
packages/stem/lib/src/workflow/workflow.dart
packages/stem/lib/stable.dart
packages/stem/lib/testing.dart
packages/stem/scripts/security/generate_ed25519_keys.dart
packages/stem/scripts/test_microservice.dart
packages/stem/scripts/test_monolith.dart
packages/stem/test/api/observability_api_test.dart
packages/stem/test/api/stable_api_test.dart
packages/stem/test/bootstrap/module_bootstrap_test.dart
packages/stem/test/bootstrap/shortcut_allow_auto_start_test.dart
packages/stem/test/bootstrap/stem_app_test.dart
packages/stem/test/bootstrap/stem_client_test.dart
packages/stem/test/bootstrap/stem_stack_test.dart
packages/stem/test/bootstrap/test_store_adapter.dart
packages/stem/test/bootstrap/workflow_module_bootstrap_test.dart
packages/stem/test/core/stem_typed_results_test.dart
packages/stem/test/performance/throughput_test.dart
packages/stem/test/routing/routing_config_test.dart
packages/stem/test/routing/routing_registry_test.dart
packages/stem/test/scheduler/schedule_calculator_test.dart
packages/stem/test/soak/soak_test.dart
packages/stem/test/support/fixtures/daemon_stub.dart
packages/stem/test/support/inline_task_handler.dart
packages/stem/test/support/property_test_helpers.dart
packages/stem/test/unit/backend/encoding_result_backend_test.dart
packages/stem/test/unit/backend/in_memory_backend_test.dart
packages/stem/test/unit/canvas/canvas_test.dart
packages/stem/test/unit/control/control_messages_test.dart
packages/stem/test/unit/control/file_revoke_store_test.dart
packages/stem/test/unit/control/revoke_store_test.dart
packages/stem/test/unit/core/chord_metadata_test.dart
packages/stem/test/unit/core/clock_test.dart
packages/stem/test/unit/core/config_test.dart
packages/stem/test/unit/core/contracts_test.dart
packages/stem/test/unit/core/fake_stem_test.dart
packages/stem/test/unit/core/function_task_handler_test.dart
packages/stem/test/unit/core/payload_codec_test.dart
packages/stem/test/unit/core/payload_map_test.dart
packages/stem/test/unit/core/queue_broker_test.dart
packages/stem/test/unit/core/queue_events_test.dart
packages/stem/test/unit/core/routing_info_test.dart
packages/stem/test/unit/core/stem_enqueue_options_test.dart
packages/stem/test/unit/core/stem_event_test.dart
packages/stem/test/unit/core/stem_unique_task_test.dart
packages/stem/test/unit/core/task_context_enqueue_test.dart
packages/stem/test/unit/core/task_enqueue_builder_test.dart
packages/stem/test/unit/core/task_invocation_test.dart
packages/stem/test/unit/core/task_registry_test.dart
packages/stem/test/unit/core/task_result_test.dart
packages/stem/test/unit/core/unique_task_coordinator_test.dart
packages/stem/test/unit/observability/heartbeat_test.dart
packages/stem/test/unit/observability/logging_test.dart
packages/stem/test/unit/observability/metrics_integration_test.dart
packages/stem/test/unit/observability/metrics_test.dart
packages/stem/test/unit/observability/observability_config_test.dart
packages/stem/test/unit/observability/snapshots_test.dart
packages/stem/test/unit/redis_components_test.dart
packages/stem/test/unit/scheduler/beat_test.dart
packages/stem/test/unit/scheduler/lock_store_test.dart
packages/stem/test/unit/scheduler/schedule_calculator_test.dart
packages/stem/test/unit/scheduler/schedule_spec_test.dart
packages/stem/test/unit/scheduler/schedule_store_test.dart
packages/stem/test/unit/security/signing_test.dart
packages/stem/test/unit/security/tls_test.dart
packages/stem/test/unit/signals/middleware_test.dart
packages/stem/test/unit/signals/payloads_test.dart
packages/stem/test/unit/signals/signal_test.dart
packages/stem/test/unit/signals/stem_signals_test.dart
packages/stem/test/unit/tracing/tracing_test.dart
packages/stem/test/unit/worker/isolate_messages_test.dart
packages/stem/test/unit/worker/task_context_enqueue_integration_test.dart
packages/stem/test/unit/worker/task_retry_policy_test.dart
packages/stem/test/unit/worker/worker_config_test.dart
packages/stem/test/unit/worker/worker_delivery_tracker_test.dart
packages/stem/test/unit/worker/worker_execution_supervisor_test.dart
packages/stem/test/unit/worker/worker_lease_coordinator_test.dart
packages/stem/test/unit/worker/worker_test.dart
packages/stem/test/unit/workflow/flow_context_test.dart
packages/stem/test/unit/workflow/flow_step_test.dart
packages/stem/test/unit/workflow/in_memory_event_bus_test.dart
packages/stem/test/unit/workflow/workflow_cancellation_policy_test.dart
packages/stem/test/unit/workflow/workflow_clock_test.dart
packages/stem/test/unit/workflow/workflow_manifest_test.dart
packages/stem/test/unit/workflow/workflow_metadata_views_test.dart
packages/stem/test/unit/workflow/workflow_registry_test.dart
packages/stem/test/unit/workflow/workflow_result_test.dart
packages/stem/test/unit/workflow/workflow_resume_test.dart
packages/stem/test/workflow/workflow_runtime_call_extensions_test.dart
packages/stem/test/workflow/workflow_runtime_ref_test.dart
packages/stem/test/workflow/workflow_runtime_test.dart
packages/stem/test/workflow/workflow_store_contract_test.dart
packages/stem/tool/proxy_runtime_check.dart
packages/stem_adapter_tests/lib/src/broker_contract_suite.dart
packages/stem_adapter_tests/lib/src/contract_capabilities.dart
packages/stem_adapter_tests/lib/src/lock_store_contract_suite.dart
packages/stem_adapter_tests/lib/src/queue_events_contract_suite.dart
packages/stem_adapter_tests/lib/src/result_backend_contract_suite.dart
packages/stem_adapter_tests/lib/src/revoke_store_contract_suite.dart
packages/stem_adapter_tests/lib/src/workflow_script_facade_suite.dart
packages/stem_adapter_tests/lib/src/workflow_store_contract_suite.dart
packages/stem_adapter_tests/lib/stem_adapter_tests.dart
packages/stem_adapter_tests/test/contract_suite_exports_test.dart
packages/stem_adapter_tests/test/queue_events_contract_suite_test.dart
packages/stem_adapter_tests/test/revoke_store_contract_suite_test.dart
packages/stem_builder/lib/src/stem_registry_builder.dart
packages/stem_builder/lib/stem_builder.dart
packages/stem_builder/test/stem_registry_builder_test.dart
packages/stem_cli/bin/stem.dart
packages/stem_cli/lib/src/cli/cli_runner.dart
packages/stem_cli/lib/src/cli/cloud_config.dart
packages/stem_cli/lib/src/cli/dependencies.dart
packages/stem_cli/lib/src/cli/dlq.dart
packages/stem_cli/lib/src/cli/file_schedule_repository.dart
packages/stem_cli/lib/src/cli/observer.dart
packages/stem_cli/lib/src/cli/revoke_store_factory.dart
packages/stem_cli/lib/src/cli/routing.dart
packages/stem_cli/lib/src/cli/schedule.dart
packages/stem_cli/lib/src/cli/subscription_loader.dart
packages/stem_cli/lib/src/cli/tasks.dart
packages/stem_cli/lib/src/cli/utilities.dart
packages/stem_cli/lib/src/cli/worker.dart
packages/stem_cli/lib/src/cli/workflow.dart
packages/stem_cli/lib/src/cli/workflow_agent_help.dart
packages/stem_cli/lib/src/cli/workflow_context.dart
packages/stem_cli/lib/stem_cli.dart
packages/stem_cli/test/integration/cli/cli_health_integration_test.dart
packages/stem_cli/test/routing/subscription_loader_test.dart
packages/stem_cli/test/support/fixtures/daemon_stub.dart
packages/stem_cli/test/unit/cli/cli_health_test.dart
packages/stem_cli/test/unit/cli/cli_schedule_test.dart
packages/stem_cli/test/unit/cli/cli_tasks_test.dart
packages/stem_cli/test/unit/cli/cli_worker_health_test.dart
packages/stem_cli/test/unit/cli/cli_worker_multi_test.dart
packages/stem_cli/test/unit/cli/cli_worker_stats_test.dart
packages/stem_cli/test/unit/cli/cli_worker_status_test.dart
packages/stem_cli/test/unit/cli/cli_workflow_agent_help_test.dart
packages/stem_cli/test/unit/cli/cli_workflow_test.dart
packages/stem_cli/test/unit/cli/cloud_config_test.dart
packages/stem_cli/test/unit/cli/dlq_cli_test.dart
packages/stem_cli/test/unit/cli/revoke_store_factory_test.dart
packages/stem_cli/test/unit/cli/schedule_context_test.dart
packages/stem_flutter/lib/src/monitor/stem_flutter_queue_monitor.dart
packages/stem_flutter/lib/src/monitor/stem_flutter_queue_snapshot.dart
packages/stem_flutter/lib/src/runtime/stem_flutter_dependency_bootstrap.dart
packages/stem_flutter/lib/src/runtime/stem_flutter_worker_host.dart
packages/stem_flutter/lib/src/runtime/stem_flutter_worker_signal.dart
packages/stem_flutter/lib/stem_flutter.dart
packages/stem_flutter/test/stem_flutter_queue_monitor_test.dart
packages/stem_flutter/test/stem_flutter_queue_snapshot_test.dart
packages/stem_flutter/test/stem_flutter_worker_host_test.dart
packages/stem_flutter/test/stem_flutter_worker_signal_test.dart
packages/stem_flutter_sqlite/lib/src/runtime/stem_flutter_sqlite_runtime.dart
packages/stem_flutter_sqlite/lib/src/runtime/stem_flutter_sqlite_worker_bootstrap.dart
packages/stem_flutter_sqlite/lib/src/runtime/stem_flutter_sqlite_worker_launcher.dart
packages/stem_flutter_sqlite/lib/src/runtime/stem_flutter_storage_layout.dart
packages/stem_flutter_sqlite/lib/stem_flutter_sqlite.dart
packages/stem_flutter_sqlite/test/stem_flutter_sqlite_runtime_test.dart
packages/stem_flutter_sqlite/test/stem_flutter_sqlite_worker_bootstrap_test.dart
packages/stem_flutter_sqlite/test/stem_flutter_storage_layout_test.dart
packages/stem_memory/lib/stem_memory.dart
packages/stem_memory/test/backend/in_memory_result_backend_contract_test.dart
packages/stem_memory/test/broker/in_memory_broker_contract_test.dart
packages/stem_memory/test/locks/in_memory_lock_store_contract_test.dart
packages/stem_memory/test/unit/memory_factories_test.dart
packages/stem_memory/test/workflow/workflow_store_contract_test.dart
packages/stem_postgres/lib/src/backend/postgres_backend.dart
packages/stem_postgres/lib/src/brokers/postgres_broker.dart
packages/stem_postgres/lib/src/connection.dart
packages/stem_postgres/lib/src/control/postgres_revoke_store.dart
packages/stem_postgres/lib/src/database/datasource.dart
packages/stem_postgres/lib/src/database/migrations.dart
packages/stem_postgres/lib/src/database/migrations/m_20251227071920_stem.dart
packages/stem_postgres/lib/src/database/migrations/m_20251231160000_add_namespace_scoping.dart
packages/stem_postgres/lib/src/database/migrations/m_20260116121000_add_workflow_run_leases.dart
packages/stem_postgres/lib/src/database/migrations/m_20260819090000_add_task_outbox.dart
packages/stem_postgres/lib/src/database/migrations/m_20260819100000_add_rate_limit_buckets.dart
packages/stem_postgres/lib/src/database/migrations/m_20260820110000_add_lock_fencing_tokens.dart
packages/stem_postgres/lib/src/database/models/models.dart
packages/stem_postgres/lib/src/database/models/stem_broadcast_ack.dart
packages/stem_postgres/lib/src/database/models/stem_broadcast_message.dart
packages/stem_postgres/lib/src/database/models/stem_dead_letter.dart
packages/stem_postgres/lib/src/database/models/stem_group.dart
packages/stem_postgres/lib/src/database/models/stem_group_result.dart
packages/stem_postgres/lib/src/database/models/stem_lock.dart
packages/stem_postgres/lib/src/database/models/stem_queue_job.dart
packages/stem_postgres/lib/src/database/models/stem_revoke_entry.dart
packages/stem_postgres/lib/src/database/models/stem_schedule_entry.dart
packages/stem_postgres/lib/src/database/models/stem_task_result.dart
packages/stem_postgres/lib/src/database/models/stem_worker_heartbeat.dart
packages/stem_postgres/lib/src/database/models/stem_workflow_run.dart
packages/stem_postgres/lib/src/database/models/stem_workflow_step.dart
packages/stem_postgres/lib/src/database/models/stem_workflow_watcher.dart
packages/stem_postgres/lib/src/database/models/workflow_models.dart
packages/stem_postgres/lib/src/database/postgres_migration_lock.dart
packages/stem_postgres/lib/src/database/seed_runtime.dart
packages/stem_postgres/lib/src/database/seeders.dart
packages/stem_postgres/lib/src/database/seeders/database_seeder.dart
packages/stem_postgres/lib/src/database/stem_orm_logger.dart
packages/stem_postgres/lib/src/observability/postgres_timing.dart
packages/stem_postgres/lib/src/outbox/postgres_transactional_outbox.dart
packages/stem_postgres/lib/src/rate_limiting/postgres_rate_limiter.dart
packages/stem_postgres/lib/src/scheduler/postgres_lock_store.dart
packages/stem_postgres/lib/src/scheduler/postgres_schedule_store.dart
packages/stem_postgres/lib/src/stack/postgres_adapter.dart
packages/stem_postgres/lib/src/workflow/postgres_factories.dart
packages/stem_postgres/lib/src/workflow/postgres_workflow_store.dart
packages/stem_postgres/lib/src/workflow/postgres_workflow_store_new.dart
packages/stem_postgres/lib/stem_postgres.dart
packages/stem_postgres/test/datasource_logger_test.dart
packages/stem_postgres/test/integration/backends/postgres_backend_integration_test.dart
packages/stem_postgres/test/integration/backends/postgres_backend_tls_test.dart
packages/stem_postgres/test/integration/brokers/postgres_broker_integration_test.dart
packages/stem_postgres/test/integration/locks/postgres_lock_store_test.dart
packages/stem_postgres/test/integration/outbox/postgres_transactional_outbox_test.dart
packages/stem_postgres/test/integration/rate_limiting/postgres_rate_limiter_integration_test.dart
packages/stem_postgres/test/integration/scheduler/postgres_schedule_store_test.dart
packages/stem_postgres/test/migration_upgrade_test.dart
packages/stem_postgres/test/migrations_registry_test.dart
packages/stem_postgres/test/support/postgres_test_harness.dart
packages/stem_postgres/test/workflow_store_contract_test.dart
packages/stem_redis/lib/src/backend/redis_backend.dart
packages/stem_redis/lib/src/brokers/redis_broker.dart
packages/stem_redis/lib/src/control/redis_revoke_store.dart
packages/stem_redis/lib/src/observability/redis_heartbeat_transport.dart
packages/stem_redis/lib/src/rate_limiting/redis_rate_limiter.dart
packages/stem_redis/lib/src/scheduler/redis_lock_store.dart
packages/stem_redis/lib/src/scheduler/redis_schedule_store.dart
packages/stem_redis/lib/src/stack/redis_adapter.dart
packages/stem_redis/lib/src/workflow/redis_factories.dart
packages/stem_redis/lib/src/workflow/redis_workflow_store.dart
packages/stem_redis/lib/stem_redis.dart
packages/stem_redis/test/chaos/worker_resilience_test.dart
packages/stem_redis/test/integration/brokers/redis_broker_integration_test.dart
packages/stem_redis/test/integration/observability/redis_heartbeat_transport_integration_test.dart
packages/stem_redis/test/integration/rate_limiting/redis_rate_limiter_integration_test.dart
packages/stem_redis/test/integration/redis/redis_real_test.dart
packages/stem_redis/test/integration/redis/redis_tls_integration_test.dart
packages/stem_redis/test/support/fakes/fake_redis.dart
packages/stem_redis/test/support/inline_task_handler.dart
packages/stem_redis/test/unit/brokers/redis_broker_test.dart
packages/stem_redis/test/unit/observability/redis_heartbeat_transport_test.dart
packages/stem_redis/test/unit/rate_limiting/redis_rate_limiter_test.dart
packages/stem_redis/test/workflow_store_contract_test.dart
packages/stem_sqlite/benchmark/sqlite_throughput.dart
packages/stem_sqlite/example/stem_sqlite_example.dart
packages/stem_sqlite/lib/src/backend/sqlite_result_backend.dart
packages/stem_sqlite/lib/src/broker/sqlite_broker.dart
packages/stem_sqlite/lib/src/connection.dart
packages/stem_sqlite/lib/src/control/sqlite_revoke_store.dart
packages/stem_sqlite/lib/src/database/datasource.dart
packages/stem_sqlite/lib/src/database/migrations.dart
packages/stem_sqlite/lib/src/database/migrations/m_20251222070816_create_stem_tables.dart
packages/stem_sqlite/lib/src/database/migrations/m_20251231120000_create_workflow_tables.dart
packages/stem_sqlite/lib/src/database/migrations/m_20251231161000_add_namespace_scoping.dart
packages/stem_sqlite/lib/src/database/migrations/m_20260116120000_add_workflow_run_leases.dart
packages/stem_sqlite/lib/src/database/migrations/m_20260224103000_add_revoke_store.dart
packages/stem_sqlite/lib/src/database/seed_runtime.dart
packages/stem_sqlite/lib/src/database/seeders.dart
packages/stem_sqlite/lib/src/database/seeders/database_seeder.dart
packages/stem_sqlite/lib/src/database/stem_orm_logger.dart
packages/stem_sqlite/lib/src/models/models.dart
packages/stem_sqlite/lib/src/models/stem_dead_letter.dart
packages/stem_sqlite/lib/src/models/stem_group.dart
packages/stem_sqlite/lib/src/models/stem_group_result.dart
packages/stem_sqlite/lib/src/models/stem_queue_job.dart
packages/stem_sqlite/lib/src/models/stem_revoke_entry.dart
packages/stem_sqlite/lib/src/models/stem_task_result.dart
packages/stem_sqlite/lib/src/models/stem_worker_heartbeat.dart
packages/stem_sqlite/lib/src/models/stem_workflow_run.dart
packages/stem_sqlite/lib/src/models/stem_workflow_step.dart
packages/stem_sqlite/lib/src/models/stem_workflow_watcher.dart
packages/stem_sqlite/lib/src/stack/sqlite_adapter.dart
packages/stem_sqlite/lib/src/workflow/sqlite_factories.dart
packages/stem_sqlite/lib/src/workflow/sqlite_workflow_store.dart
packages/stem_sqlite/lib/stem_sqlite.dart
packages/stem_sqlite/test/backend/sqlite_result_backend_test.dart
packages/stem_sqlite/test/broker/sqlite_broker_test.dart
packages/stem_sqlite/test/connection_test.dart
packages/stem_sqlite/test/control/sqlite_revoke_store_test.dart
packages/stem_sqlite/test/datasource_logger_test.dart
packages/stem_sqlite/test/migration_upgrade_test.dart
packages/stem_sqlite/test/migrations_registry_test.dart
packages/stem_sqlite/test/workflow/sqlite_workflow_store_test.dart
packages/stem_sqlite/test/workflow/workflow_restart_recovery_test.dart
packages/stem_sqlite/test/workflow/workflow_store_contract_test.dart
repodoc/bin/repodoc.dart
repodoc/lib/repodoc.dart
repodoc/lib/src/benchmarks/formatting.dart
repodoc/lib/src/benchmarks/postgres_timing.dart
repodoc/lib/src/benchmarks/throughput.dart
repodoc/lib/src/benchmarks/throughput_display.dart
repodoc/lib/src/benchmarks/throughput_mode.dart
repodoc/lib/src/benchmarks/throughput_scenario.dart
repodoc/lib/src/benchmarks/throughput_statistics.dart
repodoc/lib/src/benchmarks/throughput_store.dart
repodoc/lib/src/commands/benchmark_throughput_command.dart
repodoc/lib/src/commands/coverage_command.dart
repodoc/lib/src/commands/demo_commands.dart
repodoc/lib/src/commands/deps_command.dart
repodoc/lib/src/commands/profile_job_command.dart
repodoc/lib/src/commands/profile_vm_command.dart
repodoc/lib/src/commands/quality_command.dart
repodoc/lib/src/commands/standalone_command.dart
repodoc/lib/src/commands/test_commands.dart
repodoc/lib/src/commands/workspace_command.dart
repodoc/lib/src/infrastructure/process_runner.dart
repodoc/lib/src/infrastructure/toolchain.dart
repodoc/lib/src/infrastructure/workspace.dart
repodoc/lib/src/repodoc_runner.dart
repodoc/test/postgres_timing_test.dart
repodoc/test/throughput_mode_test.dart
repodoc/test/throughput_scenario_test.dart
repodoc/test/throughput_statistics_test.dart
repodoc/test/throughput_store_test.dart
tool/check_examples.dart
tool/coverage/coverage_badge.dart
tool/profile_job.dart
tool/publish.dart
tool/stage_workspace.dart

This check can be disabled by tagging the PR with skip-license-check.

Coverage ⚠️
File Coverage
packages/stem/lib/advanced.dart 💔 Not covered
packages/stem/lib/portable.dart 💔 Not covered
packages/stem/lib/src/core/contracts.dart 💚 65 %
packages/stem/lib/src/core/runtime_info_io.dart 💚 100 %
packages/stem/lib/src/core/runtime_info_stub.dart 💔 Not covered
packages/stem/lib/src/core/stem.dart 💚 83 % ⬆️ 1 %
packages/stem/lib/src/core/task_invocation.dart 💔 0 % ⬇️ 100 %
packages/stem/lib/src/core/task_invocation_portable.dart 💚 100 %
packages/stem/lib/src/core/task_invocation_vm.dart 💚 75 %
packages/stem/lib/src/core/task_processor.dart 💚 83 %
packages/stem/lib/src/core/task_result.dart 💚 100 %
packages/stem/lib/src/observability/console_output_io.dart 💔 Not covered
packages/stem/lib/src/observability/console_output_stub.dart 💔 Not covered
packages/stem/lib/src/observability/metrics.dart 💚 94 %
packages/stem/lib/src/scheduler/beat.dart 💔 85 % ⬇️ 2 %
packages/stem/lib/src/workflow/core/run_state.dart 💚 88 %
packages/stem/lib/src/workflow/core/workflow_result.dart 💚 98 %
packages/stem/lib/stem.dart 💔 Not covered
packages/stem/lib/vm.dart 💔 Not covered
packages/stem/tool/portable_compile.dart 💔 Not covered

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown

Package publishing

If you have publishing permissions, you can use the links below to publish the changes after merging this PR.

Package Version Status Publish tag (post-merge)
package:stem 0.4.0 ready to publish stem-v0.4.0
package:stem_adapter_tests 0.2.1 ready to publish stem_adapter_tests-v0.2.1
package:stem_builder 0.3.1 ready to publish stem_builder-v0.3.1
package:stem_cli 0.2.1 ready to publish stem_cli-v0.2.1
package:stem_flutter 0.2.1 ready to publish stem_flutter-v0.2.1
package:stem_flutter_sqlite 0.2.1 ready to publish stem_flutter_sqlite-v0.2.1
package:stem_memory 0.2.1 ready to publish stem_memory-v0.2.1
package:stem_postgres 0.2.1 ready to publish stem_postgres-v0.2.1
package:stem_redis 0.2.1 ready to publish stem_redis-v0.2.1
package:stem_sqlite 0.2.1 ready to publish stem_sqlite-v0.2.1

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

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