GeniusVentures / GeniusVentures/SGProcessingManager

Add strict named pass resource bindings and output validation

Open
#10 0 comments 0 reactions 1 assignee View on GitHub

@itsafuu is already working on this.

Since Jul 28, 2026.

Dominant language
C++
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Problem

SGProcessingManager currently loads one model and one input and maps processor outputs to declared outputs by position. When output counts do not match, the save path falls back to buffer zero. Output validation is empty.

This is unsafe for multi-input inference, general compute, Vulkan rendering, and GCS pipelines where buffers, textures, tensors, token streams, and structured artifacts must bind to exact names.

Scope

  • Resolve pass inputs and outputs by declared binding name or stable resource ID.
  • Support multiple inputs and outputs without positional fallback.
  • Validate resource type, format, shape, dimensions, mutability, and required/optional status.
  • Distinguish global job inputs, pass-local intermediates, and final job outputs.
  • Require every enabled pass input to resolve to one compatible producer or job input.
  • Require processor results to identify outputs by declared binding.
  • Validate final output destinations and formats before execution.
  • Add explicit conversion stages where compatible formats differ; never convert silently.
  • Remove the fallback that maps unmatched outputs to bufferData[0].

Acceptance criteria

  • Named multi-input and multi-output jobs bind the intended resources regardless of declaration order.
  • Missing, duplicate, or incompatible bindings fail before processing starts.
  • Processor output count mismatches return an error rather than duplicating the first buffer.
  • Tests cover tensors, buffers, textures, strings/tokens, and image outputs.

Supports issues #7 and #9 and depends on issue #8.

Base implementation and review work on the branch consumed by SuperGenius/develop.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.