Goal Define the Agent Machine contract for a local Neuronpedia-compatible steering endpoint that Noetica can call without changing its client adapter.
Client-side contract references This issue must align to the existing Noetica client shape rather than defining a parallel endpoint.
Reference Noetica files:
SocioProphet/Noetica:lib/providers/neuronpedia.tsSocioProphet/Noetica:app/api/steer/route.tsSocioProphet/Noetica:docs/adapter-contracts.mdNoetica PR Harden Agent Registry grant request scope #12 : Make Neuronpedia base URL configurable Noetica endpoint resolution after PR #12 :
NEURONPEDIA_BASE_URL=https://www.neuronpedia.org resolves to hosted /api/steer.NEURONPEDIA_BASE_URL=http://localhost:<port> resolves to local /steer.Agent Machine should satisfy the localhost form.
Scope Define expected POST /steer request and response shape. Match Noetica's current payload shape:
promptmodel_idsteering.feature_idsteering.layersteering.strengthoptional steering.preset Define response shape compatible with Noetica SteeringResult:
status: applied | not_configured | noopbaselinesteereddiff_summaryfeature_idlayerstrength Specify whether the endpoint is native Agent Machine, an inference-provider adapter, or an AgentPod workload. Specify health/readiness endpoint expectations. Specify how unavailable sourcesets return status: not_configured without crashing. Keep credentials and model weights out of config. Acceptance criteria Contract or documentation exists for the local /steer endpoint. Contract explicitly references Noetica's client-side adapter and docs. Request payload includes prompt, model id, and steering config fields matching Noetica. Response payload supports Noetica's status: applied | not_configured | noop semantics. Contract states that MODEL_SOURCESET=gpt2-small.res-jb readiness is handled by Issue Register local steering sourcesets for GPT-2 Small and Gemma #33 , not assumed here. No live provider implementation is required in this issue. Non-goals
Goal
Define the Agent Machine contract for a local Neuronpedia-compatible steering endpoint that Noetica can call without changing its client adapter.
Client-side contract references
This issue must align to the existing Noetica client shape rather than defining a parallel endpoint.
Reference Noetica files:
SocioProphet/Noetica:lib/providers/neuronpedia.tsSocioProphet/Noetica:app/api/steer/route.tsSocioProphet/Noetica:docs/adapter-contracts.mdMake Neuronpedia base URL configurableNoetica endpoint resolution after PR #12:
NEURONPEDIA_BASE_URL=https://www.neuronpedia.orgresolves to hosted/api/steer.NEURONPEDIA_BASE_URL=http://localhost:<port>resolves to local/steer.Agent Machine should satisfy the localhost form.
Scope
POST /steerrequest and response shape.promptmodel_idsteering.feature_idsteering.layersteering.strengthsteering.presetSteeringResult:status: applied | not_configured | noopbaselinesteereddiff_summaryfeature_idlayerstrengthstatus: not_configuredwithout crashing.Acceptance criteria
/steerendpoint.status: applied | not_configured | noopsemantics.MODEL_SOURCESET=gpt2-small.res-jbreadiness is handled by Issue Register local steering sourcesets for GPT-2 Small and Gemma #33, not assumed here.Non-goals