Skip to content

Runtime portability layer (serverless → portable Node core) #976

Description

@JSONbored

Part of #975.

Context

The automation core currently depends on a serverless platform's runtime — its request handler, scheduled/cron triggers, queue consumer, and environment bindings. To self-host, the same core must run on a plain Node runtime without any platform-specific globals.

Deliverables

  • A runtime/platform interface abstracting: HTTP webhook intake, scheduled execution, the work-queue consumer, and the environment/bindings accessor.
  • The shared automation core decoupled from platform-specific globals so it compiles and runs on both the hosted platform and Node (no platform imports leak into the shared core).
  • A Node entrypoint that implements the interface (HTTP server + scheduler + queue worker).
  • Build targets for both platforms; CI builds both.

Acceptance criteria

  • The core produces identical behavior on the hosted platform and the Node runtime.
  • A lint/build guard prevents platform-specific imports from entering the shared core.

Out of scope

  • Review heuristics / decision policy (unchanged; ported as-is, internals stay server-side).

Metadata

Metadata

Assignees

No one assigned

    Labels

    gittensor:featureGittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions