Target branch: develop
Priority: High — product-v1.0 requirement (pre-ship)
References: https://gcs.gnus.ai/llms.txt · https://docs.gnus.ai/llms.txt · SuperGenius .planning/notes/ELM-bridging-gaps.md (source analysis)
ARCHITECTURE CORRECTED 2026-08-26 — SuperGenius is already the scheduler. The original goals/architecture below that added a scheduler/bidding layer on top have been removed. Runtime work (model manifests, cache, LM execution) split to GeniusVentures/SGProcessingManager#17 (@itsafuu). This issue now covers Phase 13: ELM Job Bridging in .planning/ROADMAP.md (v1.1 milestone, extended as product-v1.0 gate).
Corrected architecture
OpenAI-compatible client
|
v
Installed GCS /v1 API
| creates ONE funded SuperGenius job (elms[] in Task.json_data)
v
SuperGenius processing grid — existing queue, ownership and participation logic
v
One or more processor nodes — fetch model if missing, cache, execute via SGProcessingManager
v
Results (work-item-tagged) back to GCS → OpenAI-compatible response
A GCS instance creates and funds a normal SuperGenius processing job containing one or more ELM work items. Each work item specifies an ELM type and an immutable model-manifest pointer. SuperGenius's existing processing grid handles worker participation, task ownership and execution. A processor retrieves and verifies the referenced model bundle, uses a local content-addressed cache, executes the work through SGProcessingManager, and publishes the result. Model cache state is not advertised and does not affect eligibility. The existing fixed $0.0003/hour processing rate applies.
Scope (this issue, Phase 13)
- Job model —
job_type: "elm_processing" job whose elms[] (work_item_id, elm_type, model_manifest_uri/hash, input_uri, generation settings) lives entirely in the existing Task.json_data; no main-protobuf change (ProcessingCoreImpl already builds SGProcessingManager from task.json_data())
- Task→SubTask mapping — each ELM work item becomes a subtask carrying/referencing its contract fields; grid distributes via the normal queue
- Funding — deterministic from job JSON (
funding.maximum_processing_hours, escrow_path) at the fixed rate; model download is part of the job's billable work via existing accounting/escrow; no quote/bid/negotiation protocol
- Work-item results — results identify their originating work item (existing
SubTask.subtaskid); GCS aggregates by work-item ID with no SuperGenius-side aggregation
Removed from this issue (superseded)
NodeElmCapabilities · ELM inventory advertising · cache-state advertising · ElmProcessingIntent · requester-side participant selection · per-node cost quotes · GCS-managed child-job claims · GCS-managed execution leases · price-policy negotiation · resource bidding — and the corresponding protobuf messages (capability/inventory/bidding/intent/quotes/claims/leases/worker-selection).
Split & tracking
| Phase |
Repo |
Issue |
Owner |
| 13 — ELM Job Bridging |
SuperGenius |
this issue |
henriqueaklein (with itsafuu) |
| 14 — ELM Runtime (manifests, cache, LM execution) |
SGProcessingManager |
GeniusVentures/SGProcessingManager#17 |
itsafuu |
Phase 15 (events/streaming proto) dropped 2026-08-26: if streaming is ever needed it rides the existing gossip-pubsub results channel (seq-numbered JSON events on Task.results_channel) — no SGElmProcessing.proto will be added.
Acceptance criteria
- A job with multiple ELM work items is published and distributed through the existing grid with no new task-ownership protocol messages
- Funding math is deterministic from the job JSON; no negotiation protocol exists in code or protobuf
- Every result identifies its ELM work item
- First implementation: complete single-node ELM job; multi-node partitioning/verifier groups out of scope
Planning documents
Target branch:
developPriority: High — product-v1.0 requirement (pre-ship)
References: https://gcs.gnus.ai/llms.txt · https://docs.gnus.ai/llms.txt · SuperGenius
.planning/notes/ELM-bridging-gaps.md(source analysis)ipfspubsub://URL prefix (gossip pubsub as FileManager source/destination) (blocker)Corrected architecture
Scope (this issue, Phase 13)
job_type: "elm_processing"job whoseelms[](work_item_id, elm_type, model_manifest_uri/hash, input_uri, generation settings) lives entirely in the existingTask.json_data; no main-protobuf change (ProcessingCoreImplalready buildsSGProcessingManagerfromtask.json_data())funding.maximum_processing_hours,escrow_path) at the fixed rate; model download is part of the job's billable work via existing accounting/escrow; no quote/bid/negotiation protocolSubTask.subtaskid); GCS aggregates by work-item ID with no SuperGenius-side aggregationRemoved from this issue (superseded)
·NodeElmCapabilitiesELM inventory advertising·cache-state advertising··ElmProcessingIntentrequester-side participant selection·per-node cost quotes·GCS-managed child-job claims·GCS-managed execution leases·price-policy negotiation·resource bidding— and the corresponding protobuf messages (capability/inventory/bidding/intent/quotes/claims/leases/worker-selection).Split & tracking
Phase 15 (events/streaming proto) dropped 2026-08-26: if streaming is ever needed it rides the existing gossip-pubsub results channel (seq-numbered JSON events on
Task.results_channel) — noSGElmProcessing.protowill be added.Acceptance criteria
Planning documents