# Observed release features

Selected acceptance runs passed: **True**. Same artifact candidate: **True**.
This report records executed scopes; release approval remains separate.

| Feature | Observed | Source transaction | Verified scope and limits |
|---|---|---|---|
| Authentication and API authorization | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | One operator; issuer, missing/invalid token and App Provider role checks. |
| Device Traffic Influence uses the deployed application endpoint | passed | [network](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261274): passed | One device and observed application host IPv4; provider subscription lifecycle. No port/protocol filters, actual packet steering or automatic notification claim. |
| OEG returns the observed application endpoint | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | One observed external HTTP NodePort; no Ingress, LoadBalancer or multi-interface claim. |
| Invalid and conflicting public requests are rejected | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Missing name (400), unsupported QCOW2 package (501), duplicate onboarding (409), unknown app (400) and instance (404); owned catalogue cleanup verified. |
| federation | not_run | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Federation requires multiple operator platforms and agreed partners. |
| OEG and FM HTTP health | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Public OEG/FM HTTP health; other API behavior has separate checks. |
| HELM application lifecycle | passed | [helm](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261273): passed | One HTTP-served Helm archive, NodePort and termination; no CAMARA compute-to-values mapping or arbitrary chart support claim. |
| OEG returns the deployed application identity | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Expected app/zone identity and ready state for the selected instance. |
| Known-device location and missing-device rejection | passed | [network](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261274): passed | One simulated IPv4 device, geographic area/time, missing-device rejection; no real location accuracy or handset compatibility claim. |
| multi-cluster | not_run | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Control-path isolation needs separate two-cluster execution evidence. |
| Cloud application catalogue onboarding | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Supported application manifest read/list/delete; no complete optional-field round trip. |
| OEG QoD profiles, provider readback, refusals and cleanup | passed | [network](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261274): passed | EURECOM/CoreSim: four configured profiles, exact IPv4 flow and notification URL, SDK/backend refusal and public/provider cleanup. No real QoS enforcement or callback delivery claim. |
| Returned endpoint reaches the deployed application | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Controller-to-application HTTP with Pod identity; no WAN or data-plane policy claim. |
| Requested CPU and memory applied to Deployment and Pod | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Container CPU and decimal-MB memory requests; no limits, storage or accelerators. |
| OEG termination removes the owned workload | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Public instance and owned Deployment/Pod/Service removal. |
| updates | not_run | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Scaling, updates and recovery require their own lifecycle assertions. |
| OEG request creates a ready Kubernetes workload | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | One application, one zone and one ready Deployment/Pod/NodePort Service. |
| Configured workload zones exposed by OEG | passed | [container](https://labs.etsi.org/rep/oop/deploy/ansible/-/jobs/261272): passed | Configured lab workload zones and public identities; no dynamic backend health claim. |

Exact artifact and provider identities are retained in feature-matrix.json.
Unselected features remain unverified. API compatibility does not imply radio or user-plane effects.
