DAPS: Add intrin specs to nontrin specs

We no longer do intrin specs as a separate stimbuff; rather now we
do them as a specifier segment within the pipeline spec of a normal
nontrin spec.
This commit is contained in:
2026-04-18 12:02:27 -04:00
parent fc1fcae0b0
commit 632a227985
16 changed files with 441 additions and 620 deletions
+37 -40
View File
@@ -9,30 +9,33 @@ allow the stimbuff API library to determine when to construct a stencil
for postrin or negtrin data and present it to SMO with appropriate
importance classifications.
**Intrinsic parameters may appear only on dedicated intrinsic qualeIfaceApi
specs.** The only supported forms are **`negtrin(...)`** and **`postrin(...)`**.
You cannot attach intrinsic threshold params to a sensory or other
non-intrinsic qualeIfaceApi (for example `pcloudIntensity`, `pcloudAmbience`,
`mesh`, `pcloud`, and so on). Those lines are for sensory streams only.
**Intrinsic parameters live inside `postrin(...)` / `negtrin(...)`
segments attached to a nontrin DAP line.** A DAP line may declare at most
one `postrin(...)` segment and at most one `negtrin(...)` segment, and both
must precede the qualeIfaceApi segment. Ordering between postrin and
negtrin is free.
A dedicated intrinsic line must name the sensory stimbuff it derives from via
**`from-stimbuff=<qualeIfaceApi>`** (non-empty). Policy validation rejects
intrinsic params and passband-style comparators on sensory lines, and rejects
dedicated lines that omit `from-stimbuff`.
Intrinsic threshold params (and the deprecated `from-stimbuff` marker)
must not appear on the qualeIfaceApi params themselves — policy
validation rejects them there. The nontrin qualeIfaceApi
(e.g. `pcloudAmbience`) still owns its own sensory params (such as
passband comparators); only the threshold classifications (`interest-*`,
`distraction-*`, `stupefaction-*` / `stupefying-*`, `intolerable-*`) live
in the postrin/negtrin segments.
## Dedicated `negtrin` / `postrin` qualeIfaceApi names
## `postrin` / `negtrin` segments
On **`negtrin(...)`** or **`postrin(...)`**, the intrinsic family (negative vs
positive) is fixed by the API name. The **`negtrin-`** and **`postrin-`**
prefixes on parameter names are **optional**: you may use short forms
**`interest-...`**, **`distraction-...`**, **`stupefaction-` / `stupefying-...`**,
and **`intolerable-...`** with the unit suffix rules below. Prefixed names such
as **`negtrin-interest-pc`** remain valid when you prefer explicit spelling.
On **`postrin(...)`** or **`negtrin(...)`**, the intrinsic family
(positive vs negative) is fixed by the segment name, so only the
unprefixed short forms **`interest-...`**, **`distraction-...`**,
**`stupefaction-` / `stupefying-...`**, and **`intolerable-...`** (with
the unit suffix rules below) are accepted.
Example (negtrin driven by ambience, short interest param, passband comparator):
Example (negtrin segment attached to ambience, with passband comparator
on the nontrin qualeIfaceApi):
````
+edev|avia0|negtrin(from-stimbuff=pcloudAmbience|interest-pc=85|passband-count-gt-val=120)|livoxGen1()|livoxProto1(SMO_IP)|3JEDK380010Z39
+edev|avia0|negtrin(interest-pc=85)|pcloudAmbience(passband-count-gt-val=120)|livoxGen1()|livoxProto1(SMO_IP)|3JEDK380010Z39||
````
## Unit Suffix Rules
@@ -59,20 +62,18 @@ parameter takes precedence.
Shorthand params without a unit suffix are not permitted. The following
forms are invalid because they omit units:
- `[<pos|neg>trin-]<interest|distraction|stupef<action|ying>|intolerable>`
- `<interest|distraction|stupef<action|ying>|intolerable>`
On dedicated **`postrin(...)`** / **`negtrin(...)`** lines, the short forms
Inside **`postrin(...)`** / **`negtrin(...)`** segments, the short forms
**`interest-...`**, **`distraction-...`**, etc. still require those unit
suffixes.
## Interest Threshold Parameters
**Parameter forms (only inside `negtrin(...)` or `postrin(...)`):**
**Parameter forms (only inside `postrin(...)` or `negtrin(...)`
segments):**
- Prefixed: `postrin-interest-<percentage|pc|threshold|thresh|thr>`,
`negtrin-interest-<percentage|pc|threshold|thresh|thr>`
- Short (prefix optional because the line is already negtrin or postrin):
`interest-<percentage|pc|threshold|thresh|thr>`
- `interest-<percentage|pc|threshold|thresh|thr>`
**Description:**
These parameters denote the value at which the stimbuff API library
@@ -80,32 +81,29 @@ should construct a stencil for the postrin or negtrin that it delivers
for this intrinsic spec, and present it to SMO via postrinInd/negtrinInd
with the "importance" argument set to "INTERESTING".
**Example (dedicated negtrin line):**
**Example (negtrin segment attached to ambience):**
````
+edev|avia0|negtrin(from-stimbuff=pcloudAmbience|interest-pc=85|passband-count-gt-val=120)|livoxGen1()|livoxProto1(SMO_IP)|3JEDK380010Z39
+edev|avia0|negtrin(interest-pc=85)|pcloudAmbience(passband-count-gt-val=120)|livoxGen1()|livoxProto1(SMO_IP)|3JEDK380010Z39||
````
## Distraction Threshold Parameters
**Parameter forms (only inside `negtrin(...)` or `postrin(...)`):**
**Parameter forms (only inside `postrin(...)` or `negtrin(...)`
segments):**
- Prefixed: `postrin-distraction-<percentage|pc|threshold|thresh|thr>`,
`negtrin-distraction-<percentage|pc|threshold|thresh|thr>`
- Short: `distraction-<percentage|pc|threshold|thresh|thr>` (family is
fixed by the `negtrin` / `postrin` API name)
- `distraction-<percentage|pc|threshold|thresh|thr>`
**Description:**
These parameters denote the value at which the stimbuff API library
ought to construct a stencil and deliver it to SMO via
negtrinInd/postrinInd with the importance argument set to "DISTRACTION".
postrinInd/negtrinInd with the importance argument set to "DISTRACTION".
## Stupefying Threshold Parameters (Postrin)
**Parameter forms (only inside `postrin(...)`):**
**Parameter forms (only inside `postrin(...)` segments):**
- Prefixed: `[postrin-]stupefaction-<percentage|pc|threshold|thresh|thr>`,
`[postrin-]stupefying-<percentage|pc|threshold|thresh|thr>`
- Short: `stupefaction-...`, `stupefying-...` with unit suffix
- `stupefaction-<percentage|pc|threshold|thresh|thr>`
- `stupefying-<percentage|pc|threshold|thresh|thr>`
**Description:**
These parameters denote the value at which the stimbuff API library
@@ -114,10 +112,9 @@ the importance argument set to "STUPEFYING".
## Intolerable Threshold Parameters (Negtrin)
**Parameter forms (only inside `negtrin(...)`):**
**Parameter forms (only inside `negtrin(...)` segments):**
- Prefixed: `[negtrin-]intolerable-<percentage|pc|threshold|thresh|thr>`
- Short: `intolerable-<percentage|pc|threshold|thresh|thr>`
- `intolerable-<percentage|pc|threshold|thresh|thr>`
**Description:**
These parameters denote the value at which the stimbuff API library