NSE Hook Offer v1¶
Source schema: doc/schemas/nse-hook-offer.v1.schema.json
Exact host-built offer for one NSE invocation. V1 admits model selection and the closed reference-set policy-hook family.
Governing Basis¶
Project Lineage¶
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema |
yes |
const: nse-hook-offer.v1 |
|
schema/v |
yes |
const: 1 |
|
invocation/ref |
yes |
string | |
hook/id |
yes |
ref: #/$defs/hook-id |
|
hook/v |
yes |
const: 1 |
|
hook/class |
yes |
enum: select, order, narrow, restrict, raise-risk, select-profile |
|
offer/digest |
yes |
ref: #/$defs/digest |
|
causal/ref |
yes |
ref: #/$defs/ref |
|
backend/bounds |
yes |
object | |
payload |
yes |
unspecified |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
hook-id |
enum: select-llm-model, assemble-prompt, select-output-schema, select-repair-profile, score-candidate, select-turn-order, weigh-bid, resolve-tie, admit-participant, choose-next-step, shape-fanout, classify-effect-risk |
|
select-llm-payload |
object | |
policy-hook-payload |
object | |
digest |
string | |
ref |
string | |
text |
string | |
text-array |
array | |
candidate |
object |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"hook/id": {
"const": "select-llm-model"
}
},
"required": [
"hook/id"
]
}
Then:
{
"properties": {
"hook/class": {
"const": "select"
},
"payload": {
"$ref": "#/$defs/select-llm-payload"
}
}
}
Rule 2¶
When:
{
"properties": {
"hook/id": {
"enum": [
"assemble-prompt",
"score-candidate",
"select-turn-order",
"weigh-bid"
]
}
},
"required": [
"hook/id"
]
}
Then:
{
"properties": {
"hook/class": {
"const": "order"
}
}
}
Rule 3¶
When:
{
"properties": {
"hook/id": {
"enum": [
"select-output-schema",
"resolve-tie",
"choose-next-step"
]
}
},
"required": [
"hook/id"
]
}
Then:
{
"properties": {
"hook/class": {
"const": "select"
}
}
}
Rule 4¶
When:
{
"properties": {
"hook/id": {
"const": "select-repair-profile"
}
},
"required": [
"hook/id"
]
}
Then:
{
"properties": {
"hook/class": {
"const": "select-profile"
}
}
}
Rule 5¶
When:
{
"properties": {
"hook/id": {
"const": "admit-participant"
}
},
"required": [
"hook/id"
]
}
Then:
{
"properties": {
"hook/class": {
"const": "restrict"
}
}
}
Rule 6¶
When:
{
"properties": {
"hook/id": {
"const": "shape-fanout"
}
},
"required": [
"hook/id"
]
}
Then:
{
"properties": {
"hook/class": {
"const": "narrow"
}
}
}
Rule 7¶
When:
{
"properties": {
"hook/id": {
"const": "classify-effect-risk"
}
},
"required": [
"hook/id"
]
}
Then:
{
"properties": {
"hook/class": {
"const": "raise-risk"
}
}
}
Field Semantics¶
schema¶
- Required:
yes - Shape: const:
nse-hook-offer.v1
schema/v¶
- Required:
yes - Shape: const:
1
invocation/ref¶
- Required:
yes - Shape: string
hook/id¶
- Required:
yes - Shape: ref:
#/$defs/hook-id
hook/v¶
- Required:
yes - Shape: const:
1
hook/class¶
- Required:
yes - Shape: enum:
select,order,narrow,restrict,raise-risk,select-profile
offer/digest¶
- Required:
yes - Shape: ref:
#/$defs/digest
causal/ref¶
- Required:
yes - Shape: ref:
#/$defs/ref
backend/bounds¶
- Required:
yes - Shape: object
payload¶
- Required:
yes - Shape: unspecified
Definition Semantics¶
$defs.hook-id¶
- Shape: enum:
select-llm-model,assemble-prompt,select-output-schema,select-repair-profile,score-candidate,select-turn-order,weigh-bid,resolve-tie,admit-participant,choose-next-step,shape-fanout,classify-effect-risk
$defs.select-llm-payload¶
- Shape: object
$defs.policy-hook-payload¶
- Shape: object
$defs.digest¶
- Shape: string
$defs.ref¶
- Shape: string
$defs.text¶
- Shape: string
$defs.text-array¶
- Shape: array
$defs.candidate¶
- Shape: object