embodichain.lab.task_program.semantics#
Internal Semantic Call contracts for Task Program.
This package is intentionally declarative and is not an independent execution API. Task Program validates and lowers these calls to executable Atomic Skills.
Semantic calls and catalog
Base value contract shared by every declarative semantic call. |
|
Object-space pose expressed as position and a WXYZ quaternion. |
|
Pick one registered object using an optional explicit grasp affordance. |
|
Place a held object at exactly one semantic destination. |
|
Pick up, transfer, and place an object with two robot resources. |
|
Safe value payload for a catalog-registered semantic extension. |
|
Static catalog metadata for one semantic call kind. |
|
Immutable discovery catalog separated from engine installation. |
|
Build the curated catalog for installed manipulation primitives. |
Semantic integration contracts
Provider-free static scene declaration using canonical registry metadata. |
|
Immutable provider-free scene catalog used before simulation starts. |
|
Static scene/profile/catalog declaration validated before execution. |
|
Structured deterministic semantic-integration diagnostic. |
|
Raise one structured error at a static or live integration boundary. |
Scene integration contracts
Immutable authoritative catalog of semantic scene entities. |
|
Stateful scene provider derived from an immutable registry. |
|
Immutable integration metadata for one authoritative scene entity. |
|
Provider-free semantic metadata projected from one registration. |
|
Typed reference to one authoritative scene-registry entity. |
|
Reference to one object registered in the semantic scene. |
|
Reference to one articulation registered in the semantic scene. |
|
Reference to one registered articulation link. |
|
Reference to one registered interaction affordance. |
|
Observe one registered entity for an ordered environment batch. |
|
Provide one entity's planner-facing collision geometry descriptor. |
|
Physical mobility classification owned by a scene registration. |
|
How an entity participates in the planner collision world. |
|
Batch-sharing policy for a dynamic planner collision world. |
|
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str |
|
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str |
|
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str |
|
Raised when a parent has no affordance for a required capability. |
|
Raised when compatible affordances lack one explicitly scoped default. |
Robot skill profiles
Reusable declarative skill integration for one robot embodiment. |
|
Robot- and engine-validated view of a |
|
Generic leaf or composite resource in one robot's resource DAG. |
|
Extensible execution endpoint in a robot resource graph. |
|
Resolve one endpoint kind without coupling profiles to its controller. |
|
Adapter-produced runtime destination and claim metadata for one endpoint. |
|
One named execution endpoint backed by a robot control part. |
|
Resolve joint-backed |
|
Generic mapping from skill-local slots to robot resource IDs. |
|
Endpoint declaration resolved by one registered adapter. |
|
Robot-validated resource with concrete endpoint joint IDs and claim. |
|
One generic resource assignment lowered for the current action core. |
|
Physical leaf and joint claim used for deterministic conflict checks. |
|
Policies and typed semantic-call option templates. |
|
Authority used to advance semantic state after command completion. |
|
Raised when a robot skill profile disagrees with its engine or robot. |
|
Raised when no robot-resource assignment can satisfy a skill. |
|
Raised when multiple assignments remain without a complete default. |
Effects and evidence
Grounded typed physical clauses and symbolic postconditions for one call. |
|
Versioned, declarative reference to an effect-monitor factory. |
|
Stateful verifier owned by one grounded semantic call. |
|
Dispatch and normalize a synchronized observation for one effect spec. |
Exceptions:
Raised when compatible affordances lack one explicitly scoped default. |
|
Raised when multiple assignments remain without a complete default. |
|
Raised when a robot skill profile disagrees with its engine or robot. |
|
Raise one structured error at a static or live integration boundary. |
|
Raised when a parent has no affordance for a required capability. |
|
Raised when no robot-resource assignment can satisfy a skill. |
Classes:
|
Canonical scene articulation and joint observation address. |
|
Symbolic articulation-joint postcondition. |
|
Raw contact or constraint-state condition. |
|
Raw per-row contact or constraint-state observations. |
|
Query for one raw contact or constraint boolean. |
|
Callback-owned raw binary values with explicit row validity. |
|
Raw boolean evidence channel. |
Robot- and engine-validated view of a |
|
|
Factory-owned call linked to one installed engine/profile combination. |
|
Live-installed, still side-effect-free semantic integration link. |
|
Stateful conjunction monitor over typed physical evidence clauses. |
|
Strict hysteresis policy for typed pose/binary/scalar/joint clauses. |
|
Factory for the built-in typed-clause monitor. |
|
Typed target frame for placing an object's origin inside a container. |
One named execution endpoint backed by a robot control part. |
|
Resolve joint-backed |
|
|
Provider-neutral robot control-part observation address. |
|
Minimal simulation robot API used by the built-in provider. |
|
Built-in simulation acquisition for control-part evidence addresses. |
|
Typed removal of one coordinated held-object relation. |
Authority used to advance semantic state after command completion. |
|
|
Immutable observation address, deliberately separate from command targets. |
|
One synchronized acquisition tick shared by all effect clauses. |
Dispatch and normalize a synchronized observation for one effect spec. |
|
|
Versioned backend port that acquires a group of exact-source queries. |
|
Immutable exact-ID/revision registry of live evidence providers. |
|
Typed request for the raw evidence of exactly one effect clause. |
|
Versioned provider route plus one immutable observation address. |
|
Per-row outcome for one physical state expectation. |
Stateful verifier owned by one grounded semantic call. |
|
|
Uncorrelated aggregate and per-expectation monitor decision. |
|
Versioned constructor for independent semantic-effect monitors. |
Versioned, declarative reference to an effect-monitor factory. |
|
|
Immutable exact-ID/revision registry of monitor factories. |
Adapter-produced runtime destination and claim metadata for one endpoint. |
|
Pick up, transfer, and place an object with two robot resources. |
|
|
Expected symbolic held-object state at an effect boundary. |
|
Typed individual held-object postcondition. |
|
Raw articulation/robot joint-position target condition. |
|
Raw per-row joint position/velocity observations. |
|
Query for current joint positions and optional velocities. |
|
Callback-owned raw joint state with explicit row validity. |
|
Provider-free static link result for one semantic call. |
Pick one registered object using an optional explicit grasp affordance. |
|
Place a held object at exactly one semantic destination. |
|
|
Object-to-endpoint pose condition with monitor-owned tolerances. |
|
Raw object-to-endpoint transform observations. |
|
Query for an object's pose relative to a resource endpoint. |
|
Expected relationship to a grounded pose baseline. |
Safe value payload for a catalog-registered semantic extension. |
|
Stateful scene provider derived from an immutable registry. |
|
Endpoint declaration resolved by one registered adapter. |
|
Robot-validated resource with concrete endpoint joint IDs and claim. |
|
One generic resource assignment lowered for the current action core. |
|
Generic mapping from skill-local slots to robot resource IDs. |
|
Physical leaf and joint claim used for deterministic conflict checks. |
|
Extensible execution endpoint in a robot resource graph. |
|
Resolve one endpoint kind without coupling profiles to its controller. |
|
Generic leaf or composite resource in one robot's resource DAG. |
|
Reusable declarative skill integration for one robot embodiment. |
|
|
Raw force/wrench magnitude condition with monitor-owned thresholds. |
|
Raw per-row force or wrench-magnitude observations. |
|
Query for one raw force or wrench magnitude. |
|
Callback-owned raw scalar values with explicit row validity. |
|
Raw scalar physical evidence channel. |
|
Expected high/low magnitude band for scalar evidence. |
Reference to one registered interaction affordance. |
|
|
Typed adapter for scene-articulation joint-state observations. |
|
Observe canonical joints for one registered scene articulation. |
Reference to one articulation registered in the semantic scene. |
|
How an entity participates in the planner collision world. |
|
Batch-sharing policy for a dynamic planner collision world. |
|
Physical mobility classification owned by a scene registration. |
|
Provider-free static scene declaration using canonical registry metadata. |
|
Provider-free semantic metadata projected from one registration. |
|
Typed reference to one authoritative scene-registry entity. |
|
Immutable integration metadata for one authoritative scene entity. |
|
Observe one registered entity for an ordered environment batch. |
|
Provide one entity's planner-facing collision geometry descriptor. |
|
Reference to one registered articulation link. |
|
Immutable provider-free scene catalog used before simulation starts. |
|
Reference to one object registered in the semantic scene. |
|
Immutable authoritative catalog of semantic scene entities. |
|
Immutable discovery catalog separated from engine installation. |
|
Static catalog metadata for one semantic call kind. |
|
Base value contract shared by every declarative semantic call. |
|
Structured deterministic semantic-integration diagnostic. |
|
|
Trace-level semantic effect category; clause types define behavior. |
Grounded typed physical clauses and symbolic postconditions for one call. |
|
Static scene/profile/catalog declaration validated before execution. |
|
Object-space pose expressed as position and a WXYZ quaternion. |
|
Policies and typed semantic-call option templates. |
|
|
Typed target frame for placing an object's origin on a support surface. |
|
Typed mapping domains owned by |
|
Provider-free key for one exact symbolic |
|
Bound workflow-level recovery for curated semantic effect failures. |
Functions:
|
Build one independently owned typed query per effect clause. |
Build the curated catalog for installed manipulation primitives. |
- exception embodichain.lab.task_program.semantics.AmbiguousSceneAffordanceError[source]
Raised when compatible affordances lack one explicitly scoped default.
- exception embodichain.lab.task_program.semantics.AmbiguousSkillBindingError[source]
Raised when multiple assignments remain without a complete default.
- class embodichain.lab.task_program.semantics.ArticulationJointEvidenceAddress[source]
Canonical scene articulation and joint observation address.
Methods:
__init__(articulation_id, joint_id)Attributes:
address_fingerprintReturn the exact provider-independent joint address.
- __init__(articulation_id, joint_id)
- property address_fingerprint: Hashable
Return the exact provider-independent joint address.
- class embodichain.lab.task_program.semantics.ArticulationJointStateExpectation[source]
Symbolic articulation-joint postcondition.
Methods:
__init__(expectation_id, articulation_id, ...)snapshot()Return an independently owned articulation expectation.
- __init__(expectation_id, articulation_id, joint_id, target_position)
- snapshot()[source]
Return an independently owned articulation expectation.
- Return type:
ArticulationJointStateExpectation
- class embodichain.lab.task_program.semantics.BinaryEffectClause[source]
Raw contact or constraint-state condition.
Methods:
__init__(clause_id, expectation_id, source, ...)snapshot()Return an independently owned binary clause.
- __init__(clause_id, expectation_id, source, evidence_kind, expected)
- snapshot()[source]
Return an independently owned binary clause.
- Return type:
BinaryEffectClause
- class embodichain.lab.task_program.semantics.BinaryEffectEvidenceBatch[source]
Raw per-row contact or constraint-state observations.
Methods:
__init__(evidence_id, evidence_kind, values, ...)snapshot()Return an independently owned evidence batch.
to_metadata()Return raw binary evidence as JSON-safe trace metadata.
- __init__(evidence_id, evidence_kind, values, valid, acquisition_errors, timestamp, env_ids, observation_revision)
- snapshot()[source]
Return an independently owned evidence batch.
- Return type:
BinaryEffectEvidenceBatch
- to_metadata()[source]
Return raw binary evidence as JSON-safe trace metadata.
- Return type:
dict[str,object]
- class embodichain.lab.task_program.semantics.BinaryEffectEvidenceQuery[source]
Query for one raw contact or constraint boolean.
Methods:
__init__(clause, _expectation)snapshot()Return an independently owned binary query.
Attributes:
evidence_idReturn the source clause ID.
expectationReturn an owned correlated expectation.
sourceReturn an owned source route.
- __init__(clause, _expectation)
- property evidence_id: str
Return the source clause ID.
- property expectation: HeldObjectStateExpectation | CoordinatedHeldObjectCleanupExpectation | ArticulationJointStateExpectation
Return an owned correlated expectation.
- snapshot()[source]
Return an independently owned binary query.
- Return type:
BinaryEffectEvidenceQuery
- property source: EffectEvidenceSourceRef
Return an owned source route.
- class embodichain.lab.task_program.semantics.BinaryEffectObservation[source]
Callback-owned raw binary values with explicit row validity.
Methods:
__init__(values[, valid, acquisition_errors])- __init__(values, valid=None, acquisition_errors=())
- class embodichain.lab.task_program.semantics.BinaryEvidenceKind[source]
Raw boolean evidence channel.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.BoundRobotSkillProfile[source]
Robot- and engine-validated view of a
RobotSkillProfile.Methods:
__init__(profile, engine, *[, endpoint_adapters])Reject this binding after the engine's skill catalog changes.
candidates(skill_id[, selections])Return every valid complete resource assignment deterministically.
preset([preset_id, skill_id])Resolve an explicit, per-skill, or profile-default policy preset.
resolve(skill_id[, selections])Resolve one skill with strict capability matching and disambiguation.
Attributes:
Return the exact action engine used to validate this profile.
Return the stable profile identifier.
Return resolved generic robot resources keyed by logical ID.
Return installed Atomic Skills fully supported by this profile.
Return the immutable profile object used to create this binding.
- __init__(profile, engine, *, endpoint_adapters=None)[source]
- assert_current()[source]
Reject this binding after the engine’s skill catalog changes.
- Raises:
RuntimeError – If actions were registered or replaced after binding.
- Return type:
None
- candidates(skill_id, selections=None)[source]
Return every valid complete resource assignment deterministically.
- Return type:
tuple[ResourceBinding,...]
- property engine: AtomicActionEngine
Return the exact action engine used to validate this profile.
- preset(preset_id=None, *, skill_id=None)[source]
Resolve an explicit, per-skill, or profile-default policy preset.
- Return type:
- property profile_id: str
Return the stable profile identifier.
- resolve(skill_id, selections=None)[source]
Resolve one skill with strict capability matching and disambiguation.
- Return type:
- property resources: Mapping[str, ResolvedRobotResource]
Return resolved generic robot resources keyed by logical ID.
- property skills: Mapping[str, SkillDescriptor]
Return installed Atomic Skills fully supported by this profile.
- property source_profile: RobotSkillProfile
Return the immutable profile object used to create this binding.
- class embodichain.lab.task_program.semantics.BoundSemanticCall[source]
Factory-owned call linked to one installed engine/profile combination.
Methods:
__init__(*args, **kwargs)Reject construction outside
BoundSemanticIntegration.Attributes:
robot_profileReturn the exact bound profile that produced this call.
- __init__(*args, **kwargs)[source]
Reject construction outside
BoundSemanticIntegration.
- property robot_profile: BoundRobotSkillProfile
Return the exact bound profile that produced this call.
- class embodichain.lab.task_program.semantics.BoundSemanticIntegration[source]
Live-installed, still side-effect-free semantic integration link.
Methods:
__init__(*, manifest, scene_registry, ...)link_call(call, *[, path])Resolve one call against exact installed skills, resources, and preset.
Attributes:
engineReturn the engine whose used call targets are validated at link time.
manifestReturn the static integration declaration.
robot_profileReturn the validated live robot profile.
scene_registryReturn the validated live scene registry.
- __init__(*, manifest, scene_registry, robot_profile, engine)[source]
- property engine: AtomicActionEngine
Return the engine whose used call targets are validated at link time.
- link_call(call, *, path=('call',))[source]
Resolve one call against exact installed skills, resources, and preset.
- Return type:
BoundSemanticCall
- property manifest: SemanticIntegrationManifest
Return the static integration declaration.
- property robot_profile: BoundRobotSkillProfile
Return the validated live robot profile.
- property scene_registry: SceneRegistry
Return the validated live scene registry.
- class embodichain.lab.task_program.semantics.CompositeEffectMonitor[source]
Stateful conjunction monitor over typed physical evidence clauses.
Methods:
__init__(spec, cfg)observe(request, evidence)Update typed-clause hysteresis and decide current request rows.
Attributes:
resolved_paramsReturn all effective typed-clause thresholds, including defaults.
specReturn an independently owned effect contract.
- __init__(spec, cfg)[source]
- observe(request, evidence)[source]
Update typed-clause hysteresis and decide current request rows.
- Return type:
EffectMonitorDecision
- property resolved_params: Mapping[str, None | bool | int | float | str | tuple[None | bool | int | float | str | tuple[EffectMonitorParam, ...] | Mapping[str, EffectMonitorParam], ...] | Mapping[str, None | bool | int | float | str | tuple[EffectMonitorParam, ...] | Mapping[str, EffectMonitorParam]]]
Return all effective typed-clause thresholds, including defaults.
- property spec: SemanticEffectSpec
Return an independently owned effect contract.
- class embodichain.lab.task_program.semantics.CompositeEffectMonitorCfg[source]
Strict hysteresis policy for typed pose/binary/scalar/joint clauses.
Methods:
__init__([attached_translation_threshold, ...])from_params(params)Decode strict declarative factory parameters.
to_metadata()Return every resolved hysteresis threshold as JSON-safe data.
- __init__(attached_translation_threshold=0.02, attached_rotation_threshold=0.2, detached_translation_threshold=0.05, detached_rotation_threshold=0.5, force_absent_threshold=0.2, force_present_threshold=1.0, joint_success_tolerance=0.02, joint_failure_tolerance=0.1, consecutive_samples=2)
- classmethod from_params(params)[source]
Decode strict declarative factory parameters.
- Return type:
CompositeEffectMonitorCfg
- to_metadata()[source]
Return every resolved hysteresis threshold as JSON-safe data.
- Return type:
dict[str,object]
- class embodichain.lab.task_program.semantics.CompositeEffectMonitorFactory[source]
Factory for the built-in typed-clause monitor.
Methods:
create(spec, ref)Create one independently stateful typed-clause monitor.
validate_ref(ref)Validate exact built-in selection and typed thresholds.
- create(spec, ref)[source]
Create one independently stateful typed-clause monitor.
- Return type:
CompositeEffectMonitor
- validate_ref(ref)[source]
Validate exact built-in selection and typed thresholds.
- Return type:
None
- class embodichain.lab.task_program.semantics.ContainerAffordance[source]
Typed target frame for placing an object’s origin inside a container.
The registered affordance pose is the desired object pose, expressed relative to its parent scene entity. The optional confidence threshold is enforced whenever that late-bound target pose is resolved.
- Parameters:
minimum_confidence (
float) – Minimum confidence accepted while resolving the late-bound target pose.
Methods:
__init__([object_label, custom_config, ...])- __init__(object_label='', custom_config=<factory>, minimum_confidence=0.0)
- class embodichain.lab.task_program.semantics.ControlPartEndpoint[source]
One named execution endpoint backed by a robot control part.
Capabilities are explicit and never inferred from the endpoint name, joint count, other endpoints, or composite resource members.
Methods:
__init__(control_part[, command_profile, ...])Attributes:
Optional generic command-profile ID; defaults to
control_part.Key from the bound robot's
control_partsmapping.- __init__(control_part, command_profile=None, *, capabilities=frozenset({}))
-
command_profile:
str|None Optional generic command-profile ID; defaults to
control_part.
-
control_part:
str Key from the bound robot’s
control_partsmapping.
- class embodichain.lab.task_program.semantics.ControlPartEndpointAdapter[source]
Resolve joint-backed
ControlPartEndpointdeclarations.Attributes:
Stable adapter identifier used in diagnostics and resolved metadata.
Exact
(provider_id, revision)effect-evidence routes emitted.Exact immutable runtime-target value types this adapter may resolve.
Exact endpoint-command transport IDs this adapter may resolve.
Exact
(provider_id, revision)tracking-feedback routes emitted.Exact
(projector_id, revision)desired-state routes emitted.Classes:
alias of
ControlPartEndpointMethods:
resolve(endpoint, *, engine)Resolve a robot control part and verify its standard capabilities.
-
adapter_id:
ClassVar[str] = 'control_part' Stable adapter identifier used in diagnostics and resolved metadata.
-
effect_evidence_source_keys:
ClassVar[frozenset[tuple[str,str]]] = frozenset({('builtin.control_part', '1')}) Exact
(provider_id, revision)effect-evidence routes emitted.
- endpoint_type
alias of
ControlPartEndpoint
- resolve(endpoint, *, engine)[source]
Resolve a robot control part and verify its standard capabilities.
- Return type:
-
runtime_target_types:
ClassVar[tuple[type[RuntimeEndpointTarget],...]] = (<class 'embodichain.lab.sim.atomic_actions.bindings.JointPositionTarget'>,) Exact immutable runtime-target value types this adapter may resolve.
-
runtime_transport_ids:
ClassVar[frozenset[str]] = frozenset({'robot.joint_position'}) Exact endpoint-command transport IDs this adapter may resolve.
-
tracking_feedback_source_keys:
ClassVar[frozenset[tuple[str,str]]] = frozenset({('planning_context.robot', '1')}) Exact
(provider_id, revision)tracking-feedback routes emitted.
-
tracking_projector_keys:
ClassVar[frozenset[tuple[str,str]]] = frozenset({('joint_position_payload', '1')}) Exact
(projector_id, revision)desired-state routes emitted.
-
adapter_id:
- class embodichain.lab.task_program.semantics.ControlPartEvidenceAddress[source]
Provider-neutral robot control-part observation address.
Methods:
__init__(control_part, channel)Attributes:
address_fingerprintReturn the channel-scoped control-part observation address.
- __init__(control_part, channel)
- property address_fingerprint: Hashable
Return the channel-scoped control-part observation address.
- class embodichain.lab.task_program.semantics.ControlPartRobotEvidenceSource[source]
Minimal simulation robot API used by the built-in provider.
Methods:
__init__(*args, **kwargs)compute_fk(qpos[, name, env_ids, to_matrix])Return the selected endpoint pose for current joint positions.
get_qpos([name, target])Return current robot or control-part joint positions.
get_qvel([name, target])Return current robot or control-part joint velocities.
- __init__(*args, **kwargs)
- compute_fk(qpos, name=None, env_ids=None, to_matrix=False)[source]
Return the selected endpoint pose for current joint positions.
- Return type:
Tensor
- get_qpos(name=None, target=False)[source]
Return current robot or control-part joint positions.
- Return type:
Tensor
- get_qvel(name=None, target=False)[source]
Return current robot or control-part joint velocities.
- Return type:
Tensor
- class embodichain.lab.task_program.semantics.ControlPartSimulationEvidenceProvider[source]
Built-in simulation acquisition for control-part evidence addresses.
Pose evidence is computed as
inverse(object_pose) @ endpoint_posefrom one scene snapshot andRobot.compute_fk(). Joint evidence reads the control part’s measured positions and velocities. Contact, constraint, force, and wrench signals are backend-specific, so callers inject raw observation callbacks. An omitted callback yields explicit invalid rows; the effect monitor can then retry until its normal deadline.Methods:
__init__(robot, *[, scene_provider, ...])collect(queries, context)Acquire all supplied control-part queries at one observation tick.
- __init__(robot, *, scene_provider=None, contact_observer=None, constraint_observer=None, force_observer=None, wrench_observer=None)[source]
- collect(queries, context)[source]
Acquire all supplied control-part queries at one observation tick.
- Return type:
Mapping[str,PoseRelationEvidenceBatch|BinaryEffectEvidenceBatch|ScalarEffectEvidenceBatch|JointStateEvidenceBatch]
- class embodichain.lab.task_program.semantics.CoordinatedHeldObjectCleanupExpectation[source]
Typed removal of one coordinated held-object relation.
Methods:
__init__(expectation_id, task_state_keys)snapshot()Return an independently constructed cleanup expectation.
- __init__(expectation_id, task_state_keys)
- snapshot()[source]
Return an independently constructed cleanup expectation.
- Return type:
CoordinatedHeldObjectCleanupExpectation
- class embodichain.lab.task_program.semantics.EffectAssurance[source]
Authority used to advance semantic state after command completion.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.EffectEvidenceAddress[source]
Immutable observation address, deliberately separate from command targets.
Attributes:
address_fingerprintReturn a stable, hashable physical observation address.
Methods:
snapshot()Return an independently owned address of the exact same type.
- abstract property address_fingerprint: Hashable
Return a stable, hashable physical observation address.
- snapshot()[source]
Return an independently owned address of the exact same type.
- Return type:
EffectEvidenceAddress
- class embodichain.lab.task_program.semantics.EffectEvidenceCollectionContext[source]
One synchronized acquisition tick shared by all effect clauses.
- Parameters:
timestamp (
float) – Non-negative backend observation time.observation_revision (
int) – Monotonic revision chosen by the runtime port.env_ids (
Tensor) – Ordered environment correlation IDs to observe.
Methods:
__init__(timestamp, observation_revision, ...)snapshot()Return an independently owned acquisition context.
- __init__(timestamp, observation_revision, env_ids)
- snapshot()[source]
Return an independently owned acquisition context.
- Return type:
EffectEvidenceCollectionContext
- class embodichain.lab.task_program.semantics.EffectEvidenceCollector[source]
Dispatch and normalize a synchronized observation for one effect spec.
Methods:
__init__(registry)collect(spec, *, timestamp, observation_revision)Acquire and strictly synchronize evidence for every effect clause.
Attributes:
Return the immutable provider registry.
- __init__(registry)[source]
- collect(spec, *, timestamp, observation_revision, env_ids=None)[source]
Acquire and strictly synchronize evidence for every effect clause.
- Parameters:
spec (
SemanticEffectSpec) – Grounded semantic effect contract.timestamp (
float) – Backend observation time for this acquisition tick.observation_revision (
int) – Runtime-owned observation revision.env_ids (
Tensor|None) – Optional ordered subset ofspec.env_ids. Acquisition failures must remain present as rows withvalid=False.
- Return type:
Mapping[str,PoseRelationEvidenceBatch|BinaryEffectEvidenceBatch|ScalarEffectEvidenceBatch|JointStateEvidenceBatch]- Returns:
Immutable mapping keyed exactly by effect clause ID.
- property registry: EffectEvidenceProviderRegistry
Return the immutable provider registry.
- class embodichain.lab.task_program.semantics.EffectEvidenceProvider[source]
Versioned backend port that acquires a group of exact-source queries.
Methods:
collect(queries, context)Acquire one synchronized batch for every supplied query.
- abstract collect(queries, context)[source]
Acquire one synchronized batch for every supplied query.
- Return type:
Mapping[str,PoseRelationEvidenceBatch|BinaryEffectEvidenceBatch|ScalarEffectEvidenceBatch|JointStateEvidenceBatch]
- class embodichain.lab.task_program.semantics.EffectEvidenceProviderRegistry[source]
Immutable exact-ID/revision registry of live evidence providers.
Methods:
__init__([providers])resolve(source)Resolve the exact provider selected by
source.Attributes:
providersReturn the immutable exact-key provider mapping.
- __init__(providers=())[source]
- property providers: Mapping[tuple[str, str], EffectEvidenceProvider]
Return the immutable exact-key provider mapping.
- resolve(source)[source]
Resolve the exact provider selected by
source.- Parameters:
source (
EffectEvidenceSourceRef) – Versioned evidence route from one effect clause.- Return type:
EffectEvidenceProvider- Returns:
Registered provider with the exact ID and revision.
- Raises:
KeyError – If no exact provider version is installed.
- class embodichain.lab.task_program.semantics.EffectEvidenceQuery[source]
Typed request for the raw evidence of exactly one effect clause.
Attributes:
evidence_idReturn the clause-local evidence identifier.
expectationReturn an owned symbolic expectation related to this query.
sourceReturn an owned exact provider route and physical address.
Methods:
snapshot()Return an independently owned query of the exact same type.
- abstract property evidence_id: str
Return the clause-local evidence identifier.
- abstract property expectation: HeldObjectStateExpectation | CoordinatedHeldObjectCleanupExpectation | ArticulationJointStateExpectation
Return an owned symbolic expectation related to this query.
- abstract snapshot()[source]
Return an independently owned query of the exact same type.
- Return type:
EffectEvidenceQuery
- abstract property source: EffectEvidenceSourceRef
Return an owned exact provider route and physical address.
- class embodichain.lab.task_program.semantics.EffectEvidenceSourceRef[source]
Versioned provider route plus one immutable observation address.
Methods:
__init__(provider_id, revision, address)snapshot()Return an independently owned source reference.
to_metadata()Return the versioned physical observation address as JSON-safe data.
Attributes:
source_fingerprintReturn the provider-scoped source address fingerprint.
- __init__(provider_id, revision, address)
- snapshot()[source]
Return an independently owned source reference.
- Return type:
EffectEvidenceSourceRef
- property source_fingerprint: Hashable
Return the provider-scoped source address fingerprint.
- to_metadata()[source]
Return the versioned physical observation address as JSON-safe data.
- Return type:
dict[str,object]
- class embodichain.lab.task_program.semantics.EffectExpectationDecision[source]
Per-row outcome for one physical state expectation.
Rows absent from both
satisfied_maskandcontradicted_maskremain unresolved.inverse_satisfied_maskis deliberately stronger than contradiction: it requires every clause in the expectation group to have reached its explicit inverse band for the configured consecutive-sample window. This distinction lets failure reconciliation retain a relation only from complete inverse evidence rather than from one contradictory clause.Methods:
__init__(expectation_id, satisfied_mask, ...)snapshot()Return an independently owned expectation outcome.
- __init__(expectation_id, satisfied_mask, contradicted_mask, inverse_satisfied_mask)
- snapshot()[source]
Return an independently owned expectation outcome.
- Return type:
EffectExpectationDecision
- class embodichain.lab.task_program.semantics.EffectMonitor[source]
Stateful verifier owned by one grounded semantic call.
Methods:
observe(request, evidence)Consume one synchronized raw observation and decide requested rows.
Attributes:
Return all resolved monitor thresholds for trace metadata.
Return an independently owned effect contract.
- abstract observe(request, evidence)[source]
Consume one synchronized raw observation and decide requested rows.
- Return type:
EffectMonitorDecision
- abstract property resolved_params: Mapping[str, None | bool | int | float | str | tuple[None | bool | int | float | str | tuple[EffectMonitorParam, ...] | Mapping[str, EffectMonitorParam], ...] | Mapping[str, None | bool | int | float | str | tuple[EffectMonitorParam, ...] | Mapping[str, EffectMonitorParam]]]
Return all resolved monitor thresholds for trace metadata.
- abstract property spec: SemanticEffectSpec
Return an independently owned effect contract.
- class embodichain.lab.task_program.semantics.EffectMonitorDecision[source]
Uncorrelated aggregate and per-expectation monitor decision.
When
expectation_decisionsis non-empty, the aggregate masks are authoritative reductions of that current observation: success is the conjunction of every satisfied mask and failure is the union of every contradicted mask. This prevents callers from combining expectation outcomes observed on different ticks.Methods:
__init__(success_mask, failure_mask[, ...])- __init__(success_mask, failure_mask, expectation_decisions=())
- class embodichain.lab.task_program.semantics.EffectMonitorFactory[source]
Versioned constructor for independent semantic-effect monitors.
Methods:
create(spec, ref)Create one independent monitor for
specandref.validate_ref(ref)Validate one reference without providers or state creation.
- abstract create(spec, ref)[source]
Create one independent monitor for
specandref.- Return type:
- abstract validate_ref(ref)[source]
Validate one reference without providers or state creation.
- Return type:
None
- class embodichain.lab.task_program.semantics.EffectMonitorRef[source]
Versioned, declarative reference to an effect-monitor factory.
Methods:
__init__(monitor_id, revision[, params])snapshot()Return an independently owned declarative reference.
Return a deterministic JSON-safe monitor selection.
- __init__(monitor_id, revision, params=<factory>)
- snapshot()[source]
Return an independently owned declarative reference.
- Return type:
- to_metadata()[source]
Return a deterministic JSON-safe monitor selection.
- Return type:
dict[str,object]
- class embodichain.lab.task_program.semantics.EffectMonitorRegistry[source]
Immutable exact-ID/revision registry of monitor factories.
Methods:
__init__([factories])create(spec, ref)Create one independent monitor through exact factory lookup.
resolve(ref)Resolve the exact factory named by a declarative reference.
validate_ref(ref)Validate a reference provider-free through its exact factory.
Attributes:
factoriesReturn the immutable exact-key factory mapping.
- __init__(factories=())[source]
- create(spec, ref)[source]
Create one independent monitor through exact factory lookup.
- Return type:
- property factories: Mapping[tuple[str, str], EffectMonitorFactory]
Return the immutable exact-key factory mapping.
- resolve(ref)[source]
Resolve the exact factory named by a declarative reference.
- Return type:
EffectMonitorFactory
- validate_ref(ref)[source]
Validate a reference provider-free through its exact factory.
- Return type:
None
- class embodichain.lab.task_program.semantics.EndpointResolution[source]
Adapter-produced runtime destination and claim metadata for one endpoint.
Methods:
__init__(runtime_target[, task_state_key, ...])Attributes:
Adapter-defined physical/controller claims beyond robot joint IDs.
Profile key that owns semantic commands for this endpoint, when any.
Provider-routed raw observation sources keyed by open channel ID.
Whether this execution endpoint must declare a physical claim.
Ordered robot joint IDs controlled by the endpoint, when applicable.
Whether a missing
command_profile_keyentry invalidates binding.Typed immutable destination consumed by an endpoint command transport.
Optional symbolic state key; profile binding defaults to its resource ID.
Typed feedback source and desired-state projector by channel ID.
- __init__(runtime_target, task_state_key=None, effect_sources=<factory>, tracking_channels=<factory>, command_profile_key=None, requires_command_profile=False, claim_tokens=frozenset({}), joint_ids=(), exclusive=True)
-
claim_tokens:
frozenset[str] Adapter-defined physical/controller claims beyond robot joint IDs.
-
command_profile_key:
str|None Profile key that owns semantic commands for this endpoint, when any.
-
effect_sources:
Mapping[str,EffectEvidenceSourceRef] Provider-routed raw observation sources keyed by open channel ID.
-
exclusive:
bool Whether this execution endpoint must declare a physical claim.
-
joint_ids:
tuple[int,...] Ordered robot joint IDs controlled by the endpoint, when applicable.
-
requires_command_profile:
bool Whether a missing
command_profile_keyentry invalidates binding.
-
runtime_target:
RuntimeEndpointTarget Typed immutable destination consumed by an endpoint command transport.
-
task_state_key:
str|None Optional symbolic state key; profile binding defaults to its resource ID.
-
tracking_channels:
Mapping[str,EndpointTrackingChannelBinding] Typed feedback source and desired-state projector by channel ID.
- class embodichain.lab.task_program.semantics.HandOver[source]
Pick up, transfer, and place an object with two robot resources.
- Parameters:
object (
SceneObjectRef) – Authoritative scene-object reference. The object must not already be held when the unified action starts.final_target (
SemanticPose|None) – Optional final object-space delivery pose.resources (
Mapping[str,str]) – Optional skill-local resource overrides. Select the second candidate with thedestinationslot when needed.
Methods:
__init__(object[, final_target, resources])- __init__(object, final_target=None, *, resources=<factory>)
- class embodichain.lab.task_program.semantics.HeldObjectRelation[source]
Expected symbolic held-object state at an effect boundary.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.HeldObjectStateExpectation[source]
Typed individual held-object postcondition.
Methods:
__init__(expectation_id, relation, ...)snapshot()Return an independently constructed state expectation.
- __init__(expectation_id, relation, object_id, slot_id, resource_id, task_state_key)
- snapshot()[source]
Return an independently constructed state expectation.
- Return type:
HeldObjectStateExpectation
- class embodichain.lab.task_program.semantics.JointStateEffectClause[source]
Raw articulation/robot joint-position target condition.
Methods:
__init__(clause_id, expectation_id, source, ...)snapshot()Return an independently owned joint-state clause.
- __init__(clause_id, expectation_id, source, target_position)
- snapshot()[source]
Return an independently owned joint-state clause.
- Return type:
JointStateEffectClause
- class embodichain.lab.task_program.semantics.JointStateEvidenceBatch[source]
Raw per-row joint position/velocity observations.
Methods:
__init__(evidence_id, positions, velocities, ...)snapshot()Return an independently owned evidence batch.
to_metadata()Return raw joint-state evidence as JSON-safe trace metadata.
- __init__(evidence_id, positions, velocities, valid, acquisition_errors, timestamp, env_ids, observation_revision)
- snapshot()[source]
Return an independently owned evidence batch.
- Return type:
JointStateEvidenceBatch
- to_metadata()[source]
Return raw joint-state evidence as JSON-safe trace metadata.
- Return type:
dict[str,object]
- class embodichain.lab.task_program.semantics.JointStateEvidenceQuery[source]
Query for current joint positions and optional velocities.
Methods:
__init__(clause, _expectation)snapshot()Return an independently owned joint-state query.
Attributes:
evidence_idReturn the source clause ID.
expectationReturn an owned correlated expectation.
sourceReturn an owned source route.
- __init__(clause, _expectation)
- property evidence_id: str
Return the source clause ID.
- property expectation: HeldObjectStateExpectation | CoordinatedHeldObjectCleanupExpectation | ArticulationJointStateExpectation
Return an owned correlated expectation.
- snapshot()[source]
Return an independently owned joint-state query.
- Return type:
JointStateEvidenceQuery
- property source: EffectEvidenceSourceRef
Return an owned source route.
- class embodichain.lab.task_program.semantics.JointStateObservation[source]
Callback-owned raw joint state with explicit row validity.
Methods:
__init__(positions[, velocities, valid, ...])- __init__(positions, velocities=None, valid=None, acquisition_errors=())
- class embodichain.lab.task_program.semantics.LinkedSemanticCall[source]
Provider-free static link result for one semantic call.
Methods:
__init__(call, descriptor, preset_id[, ...])- __init__(call, descriptor, preset_id, affordances=<factory>)
- class embodichain.lab.task_program.semantics.Pick[source]
Pick one registered object using an optional explicit grasp affordance.
- Parameters:
object (
SceneObjectRef) – Authoritative semantic object reference.grasp (
SceneAffordanceRef|None) – Optional explicit grasp affordance. Omission requests deterministic registry selection.resources (
Mapping[str,str]) – Optional skill-local resource overrides.
Methods:
__init__(object[, grasp, resources])- __init__(object, grasp=None, *, resources=<factory>)
- class embodichain.lab.task_program.semantics.Place[source]
Place a held object at exactly one semantic destination.
- Parameters:
object (
SceneObjectRef) – Authoritative held-object reference.at (
SemanticPose|None) – Absolute object-space pose.on (
SceneObjectRef|SceneAffordanceRef|None) – Object or affordance supporting anonrelation.inside (
SceneObjectRef|SceneAffordanceRef|None) – Object or affordance supporting aninsiderelation.resources (
Mapping[str,str]) – Optional skill-local resource overrides.
Methods:
__init__(object[, at, on, inside, resources])- __init__(object, at=None, on=None, inside=None, *, resources=<factory>)
- class embodichain.lab.task_program.semantics.PoseRelationClause[source]
Object-to-endpoint pose condition with monitor-owned tolerances.
Methods:
__init__(clause_id, expectation_id, source, ...)snapshot()Return an independently owned pose clause.
- __init__(clause_id, expectation_id, source, expectation, baseline_object_to_endpoint=None)
- snapshot()[source]
Return an independently owned pose clause.
- Return type:
PoseRelationClause
- class embodichain.lab.task_program.semantics.PoseRelationEvidenceBatch[source]
Raw object-to-endpoint transform observations.
Methods:
__init__(evidence_id, object_to_endpoint, ...)snapshot()Return an independently owned evidence batch.
to_metadata()Return raw pose evidence as JSON-safe trace metadata.
- __init__(evidence_id, object_to_endpoint, valid, acquisition_errors, timestamp, env_ids, observation_revision)
- snapshot()[source]
Return an independently owned evidence batch.
- Return type:
PoseRelationEvidenceBatch
- to_metadata()[source]
Return raw pose evidence as JSON-safe trace metadata.
- Return type:
dict[str,object]
- class embodichain.lab.task_program.semantics.PoseRelationEvidenceQuery[source]
Query for an object’s pose relative to a resource endpoint.
Methods:
__init__(clause, _expectation)snapshot()Return an independently owned pose query.
Attributes:
evidence_idReturn the source clause ID.
expectationReturn an owned correlated expectation.
sourceReturn an owned source route.
- __init__(clause, _expectation)
- property evidence_id: str
Return the source clause ID.
- property expectation: HeldObjectStateExpectation | CoordinatedHeldObjectCleanupExpectation | ArticulationJointStateExpectation
Return an owned correlated expectation.
- snapshot()[source]
Return an independently owned pose query.
- Return type:
PoseRelationEvidenceQuery
- property source: EffectEvidenceSourceRef
Return an owned source route.
- class embodichain.lab.task_program.semantics.PoseRelationExpectation[source]
Expected relationship to a grounded pose baseline.
Methods:
__new__(value)- __new__(value)
- exception embodichain.lab.task_program.semantics.ProfileValidationError[source]
Raised when a robot skill profile disagrees with its engine or robot.
- class embodichain.lab.task_program.semantics.RegisteredSemanticCall[source]
Safe value payload for a catalog-registered semantic extension.
- Parameters:
call_id (
str) – Stable extension identifier discovered in a semantic catalog.arguments (
Mapping[str,None|bool|int|float|str|SceneEntityRef|SemanticPose|tuple[None|bool|int|float|str|SceneEntityRef|SemanticPose|tuple[DeclarativeValue,...] |Mapping[str, DeclarativeValue],...] |Mapping[str,None|bool|int|float|str|SceneEntityRef|SemanticPose|tuple[DeclarativeValue,...] |Mapping[str, DeclarativeValue]]]) – Nested declarative data. Executable or live values are rejected at construction.resources (
Mapping[str,str]) – Optional skill-local resource overrides.
Methods:
__init__(call_id[, arguments, resources])Attributes:
Return the registered extension identifier.
- __init__(call_id, arguments=<factory>, *, resources=<factory>)
- property semantic_id: str
Return the registered extension identifier.
- class embodichain.lab.task_program.semantics.RegistrySceneProvider[source]
Stateful scene provider derived from an immutable registry.
Instances are created by
SceneRegistry.make_scene_provider(); each instance owns its revision counters and material-pose baselines.- Parameters:
registry (
SceneRegistry) – Immutable catalog that owns entity registrations.translation_threshold (
float) – Accumulated translation needed to publish a material scene change.rotation_threshold (
float) – Accumulated rotation needed to publish a material scene change.batch_size (
int|None) – Optional fixed execution batch size. Factory-created planning providers bind this value before their first observation.
Methods:
__init__(registry, *, translation_threshold, ...)snapshot(*, timestamp, env_ids)Observe all canonical entities and advance material revisions.
Attributes:
Return the configured or first-snapshot-resolved collision mode.
- __init__(registry, *, translation_threshold, rotation_threshold, batch_size=None)[source]
- property collision_world_mode: SceneCollisionWorldMode | None
Return the configured or first-snapshot-resolved collision mode.
- snapshot(*, timestamp, env_ids)[source]
Observe all canonical entities and advance material revisions.
- Parameters:
timestamp (
float) – Non-negative monotonic observation timestamp.env_ids (
Tensor) – Stable ordered correlation IDs for every environment row.
- Return type:
- Returns:
An immutable snapshot keyed only by canonical registry IDs.
- class embodichain.lab.task_program.semantics.ResolvedResourceEndpoint[source]
Endpoint declaration resolved by one registered adapter.
Methods:
__init__(endpoint, adapter_id, runtime_target)conflicts_with(other)Return whether two endpoints address overlapping physical channels.
Attributes:
Return capabilities declared by the source endpoint.
- __init__(endpoint, adapter_id, runtime_target, task_state_key=None, effect_sources=<factory>, tracking_channels=<factory>, command_profile_key=None, requires_command_profile=False, commands=<factory>, claim_tokens=frozenset({}), joint_ids=(), exclusive=True)
- property capabilities: frozenset[str]
Return capabilities declared by the source endpoint.
- conflicts_with(other)[source]
Return whether two endpoints address overlapping physical channels.
- Return type:
bool
- class embodichain.lab.task_program.semantics.ResolvedRobotResource[source]
Robot-validated resource with concrete endpoint joint IDs and claim.
Methods:
__init__(resource_id, endpoints, members, claim)Attributes:
Return ordered joint IDs for each resolved endpoint.
- __init__(resource_id, endpoints, members, claim)
- property endpoint_joint_ids: Mapping[str, tuple[int, ...]]
Return ordered joint IDs for each resolved endpoint.
- class embodichain.lab.task_program.semantics.ResolvedSkillBinding[source]
One generic resource assignment lowered for the current action core.
Methods:
__init__(skill_id, resources, ...)Attributes:
Return the selected logical resource ID for each skill-local slot.
- __init__(skill_id, resources, action_binding, claim)
- property resource_ids: Mapping[str, str]
Return the selected logical resource ID for each skill-local slot.
- class embodichain.lab.task_program.semantics.ResourceBinding[source]
Generic mapping from skill-local slots to robot resource IDs.
Methods:
__init__(resources)- __init__(resources)
- class embodichain.lab.task_program.semantics.ResourceClaim[source]
Physical leaf and joint claim used for deterministic conflict checks.
Methods:
__init__(leaf_resource_ids, joint_ids[, ...])combine(claims)Return the union of zero or more resource claims.
conflicts_with(other)Return whether two claims overlap in a leaf or concrete joint.
- __init__(leaf_resource_ids, joint_ids, claim_tokens=frozenset({}))
- classmethod combine(claims)[source]
Return the union of zero or more resource claims.
- Return type:
- conflicts_with(other)[source]
Return whether two claims overlap in a leaf or concrete joint.
- Return type:
bool
- class embodichain.lab.task_program.semantics.ResourceEndpoint[source]
Extensible execution endpoint in a robot resource graph.
Endpoint subclasses add controller-specific addressing data. Capabilities stay on this common base so skill matching does not depend on any one controller kind.
Methods:
Attributes:
Open, namespaced capabilities provided by this exact endpoint.
- __init__(*, capabilities=frozenset({}))
-
capabilities:
frozenset[str] Open, namespaced capabilities provided by this exact endpoint.
- snapshot()[source]
Return an independently owned endpoint declaration.
Endpoint subclasses with payloads that cannot be deep-copied must override this method and return a new value of their exact type.
- Return type:
- class embodichain.lab.task_program.semantics.ResourceEndpointAdapter[source]
Resolve one endpoint kind without coupling profiles to its controller.
Attributes:
Stable adapter identifier used in diagnostics and resolved metadata.
Exact
(provider_id, revision)effect-evidence routes emitted.Exact endpoint declaration type accepted by this adapter.
Exact immutable runtime-target value types this adapter may resolve.
Exact endpoint-command transport IDs this adapter may resolve.
Exact
(provider_id, revision)tracking-feedback routes emitted.Exact
(projector_id, revision)desired-state routes emitted.Methods:
resolve(endpoint, *, engine)Validate and resolve one endpoint against an action engine.
-
adapter_id:
ClassVar[str] Stable adapter identifier used in diagnostics and resolved metadata.
-
effect_evidence_source_keys:
ClassVar[frozenset[tuple[str,str]]] Exact
(provider_id, revision)effect-evidence routes emitted.
-
endpoint_type:
ClassVar[type[ResourceEndpoint]] Exact endpoint declaration type accepted by this adapter.
- abstract resolve(endpoint, *, engine)[source]
Validate and resolve one endpoint against an action engine.
- Parameters:
endpoint (
ResourceEndpoint) – Endpoint declaration ofendpoint_type.engine (
AtomicActionEngine) – Engine whose robot, planner, and command profiles are bound.
- Return type:
- Returns:
Physical claims and supported lowering metadata.
-
runtime_target_types:
ClassVar[tuple[type[RuntimeEndpointTarget],...]] Exact immutable runtime-target value types this adapter may resolve.
-
runtime_transport_ids:
ClassVar[frozenset[str]] Exact endpoint-command transport IDs this adapter may resolve.
-
tracking_feedback_source_keys:
ClassVar[frozenset[tuple[str,str]]] Exact
(provider_id, revision)tracking-feedback routes emitted.
-
tracking_projector_keys:
ClassVar[frozenset[tuple[str,str]]] Exact
(projector_id, revision)desired-state routes emitted.
-
adapter_id:
- class embodichain.lab.task_program.semantics.RobotResource[source]
Generic leaf or composite resource in one robot’s resource DAG.
A resource may expose any number of named endpoints. For example, one manipulation participant may expose
motionandgraspendpoints, while a mobile base or whole-body controller may expose onlymotion.membersdescribes physical claim composition and does not inherit endpoint capabilities.Methods:
__init__(resource_id[, endpoints, members])snapshot()Return an independently owned resource declaration.
- __init__(resource_id, endpoints=<factory>, members=())
- snapshot()[source]
Return an independently owned resource declaration.
- Return type:
- class embodichain.lab.task_program.semantics.RobotSkillProfile[source]
Reusable declarative skill integration for one robot embodiment.
Methods:
__init__(profile_id, resources[, ...])Lower endpoint command profiles for the current action core.
bind(engine, *[, endpoint_adapters])Validate this profile against one fully configured action engine.
Attributes:
Semantic call ID to embodiment-owned named grounding provider ID.
- __init__(profile_id, resources, command_profiles=<factory>, defaults=<factory>, presets=<factory>, default_preset=None, skill_presets=<factory>, grounding_providers=<factory>)
- action_control_profiles()[source]
Lower endpoint command profiles for the current action core.
- Return type:
Mapping[str,ControlPartCommandProfile]- Returns:
Owned command profiles keyed by concrete robot control-part name.
- Raises:
ValueError – If two endpoint declarations assign non-equivalent commands with the same semantic name to one control part.
- bind(engine, *, endpoint_adapters=None)[source]
Validate this profile against one fully configured action engine.
- Parameters:
engine (
AtomicActionEngine) – Installed atomic-action engine for the target robot.endpoint_adapters (
Optional[Mapping[type[ResourceEndpoint],ResourceEndpointAdapter]]) – Optional exact endpoint-type adapters. Explicit entries extend the non-overridable built-in control-part adapter.
- Return type:
- Returns:
Robot-, engine-, and adapter-validated profile view.
-
grounding_providers:
Mapping[str,str] Semantic call ID to embodiment-owned named grounding provider ID.
- class embodichain.lab.task_program.semantics.ScalarEffectClause[source]
Raw force/wrench magnitude condition with monitor-owned thresholds.
Methods:
__init__(clause_id, expectation_id, source, ...)snapshot()Return an independently owned scalar clause.
- __init__(clause_id, expectation_id, source, evidence_kind, expectation)
- snapshot()[source]
Return an independently owned scalar clause.
- Return type:
ScalarEffectClause
- class embodichain.lab.task_program.semantics.ScalarEffectEvidenceBatch[source]
Raw per-row force or wrench-magnitude observations.
Methods:
__init__(evidence_id, evidence_kind, values, ...)snapshot()Return an independently owned evidence batch.
to_metadata()Return raw scalar evidence as JSON-safe trace metadata.
- __init__(evidence_id, evidence_kind, values, valid, acquisition_errors, timestamp, env_ids, observation_revision)
- snapshot()[source]
Return an independently owned evidence batch.
- Return type:
ScalarEffectEvidenceBatch
- to_metadata()[source]
Return raw scalar evidence as JSON-safe trace metadata.
- Return type:
dict[str,object]
- class embodichain.lab.task_program.semantics.ScalarEffectEvidenceQuery[source]
Query for one raw force or wrench magnitude.
Methods:
__init__(clause, _expectation)snapshot()Return an independently owned scalar query.
Attributes:
evidence_idReturn the source clause ID.
expectationReturn an owned correlated expectation.
sourceReturn an owned source route.
- __init__(clause, _expectation)
- property evidence_id: str
Return the source clause ID.
- property expectation: HeldObjectStateExpectation | CoordinatedHeldObjectCleanupExpectation | ArticulationJointStateExpectation
Return an owned correlated expectation.
- snapshot()[source]
Return an independently owned scalar query.
- Return type:
ScalarEffectEvidenceQuery
- property source: EffectEvidenceSourceRef
Return an owned source route.
- class embodichain.lab.task_program.semantics.ScalarEffectObservation[source]
Callback-owned raw scalar values with explicit row validity.
Methods:
__init__(values[, valid, acquisition_errors])- __init__(values, valid=None, acquisition_errors=())
- class embodichain.lab.task_program.semantics.ScalarEvidenceKind[source]
Raw scalar physical evidence channel.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.ScalarExpectation[source]
Expected high/low magnitude band for scalar evidence.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.SceneAffordanceRef[source]
Reference to one registered interaction affordance.
Methods:
__init__(entity_id)- __init__(entity_id)
- class embodichain.lab.task_program.semantics.SceneArticulationEvidenceProvider[source]
Typed adapter for scene-articulation joint-state observations.
Integrations inject either a direct observer or a
SceneProviderwhose snapshot containsObservedArticulationJointStatevalues. The adapter never discovers live simulator objects from an environment. Repeated clauses share one synchronized snapshot and one sample per exact physical address.Methods:
__init__([observer, scene_provider])collect(queries, context)Collect synchronized joint state for exact scene addresses.
- __init__(observer=None, *, scene_provider=None)[source]
- collect(queries, context)[source]
Collect synchronized joint state for exact scene addresses.
- Return type:
Mapping[str,PoseRelationEvidenceBatch|BinaryEffectEvidenceBatch|ScalarEffectEvidenceBatch|JointStateEvidenceBatch]
- class embodichain.lab.task_program.semantics.SceneArticulationJointStateProvider[source]
Observe canonical joints for one registered scene articulation.
Methods:
__init__(*args, **kwargs)observe_joints(*, timestamp, env_ids)Return live joint observations whose rows follow
env_ids.- __init__(*args, **kwargs)
- observe_joints(*, timestamp, env_ids)[source]
Return live joint observations whose rows follow
env_ids.- Return type:
Mapping[str,ObservedArticulationJointState]
- class embodichain.lab.task_program.semantics.SceneArticulationRef[source]
Reference to one articulation registered in the semantic scene.
Methods:
__init__(entity_id)- __init__(entity_id)
- class embodichain.lab.task_program.semantics.SceneCollisionRole[source]
How an entity participates in the planner collision world.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.SceneCollisionWorldMode[source]
Batch-sharing policy for a dynamic planner collision world.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.SceneDynamics[source]
Physical mobility classification owned by a scene registration.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.SceneEntityManifest[source]
Provider-free static scene declaration using canonical registry metadata.
Methods:
__init__(ref[, aliases, parent, ...])from_metadata(metadata)Copy one canonical provider-free registry metadata value.
- __init__(ref, aliases=(), parent=None, native_name=None, dynamics=SceneDynamics.UNKNOWN, collision_role=SceneCollisionRole.NONE, semantic_type=None, affordance_capabilities=frozenset({}), default_affordances=<factory>, affordance_payload_type=None, affordance_revision=None, relative_pose=None)
- classmethod from_metadata(metadata)[source]
Copy one canonical provider-free registry metadata value.
- Return type:
- class embodichain.lab.task_program.semantics.SceneEntityMetadata[source]
Provider-free semantic metadata projected from one registration.
- Parameters:
ref (
SceneEntityRef) – Canonical typed entity reference.aliases (
tuple[str,...]) – Boundary aliases, compared as an order-independent set.parent (
SceneEntityRef|None) – Canonical parent for links and affordances.native_name (
str|None) – Backend-local child name.dynamics (
SceneDynamics) – Physical mobility classification.collision_role (
SceneCollisionRole) – Planner collision classification.semantic_type (
str|None) – Optional application semantic type.affordance_capabilities (
frozenset[str]) – Open capabilities of an affordance.default_affordances (
Mapping[str,SceneAffordanceRef]) – Capability-scoped direct-child defaults.affordance_payload_type (
type[Affordance] |None) – Exact registered affordance value type.affordance_revision (
str|None) – Integrator-owned payload revision or fingerprint.relative_pose (
tuple[float,...] |None) – Flattened parent-relative 4x4 pose, when declared.
Methods:
__init__(ref[, aliases, parent, ...])from_registration(registration)Project semantic metadata without copying a live payload/provider.
- __init__(ref, aliases=(), parent=None, native_name=None, dynamics=SceneDynamics.UNKNOWN, collision_role=SceneCollisionRole.NONE, semantic_type=None, affordance_capabilities=frozenset({}), default_affordances=<factory>, affordance_payload_type=None, affordance_revision=None, relative_pose=None)
- classmethod from_registration(registration)[source]
Project semantic metadata without copying a live payload/provider.
- Return type:
- class embodichain.lab.task_program.semantics.SceneEntityRef[source]
Typed reference to one authoritative scene-registry entity.
- Parameters:
entity_id (
str) – Globally stable canonical registry identifier.
Methods:
__init__(entity_id)Attributes:
Globally stable authoritative registry identifier.
- __init__(entity_id)
-
entity_id:
str Globally stable authoritative registry identifier.
- class embodichain.lab.task_program.semantics.SceneEntityRegistration[source]
Immutable integration metadata for one authoritative scene entity.
Parent relationships, simulator-native names, pose sources, geometry, and affordances belong to the registry registration rather than the lightweight reference copied into semantic calls.
- Parameters:
ref (
SceneEntityRef) – Canonical typed reference.state_provider (
SceneEntityStateProvider|None) – Optional dynamic pose/confidence source.joint_state_provider (
SceneArticulationJointStateProvider|None) – Optional live articulation-joint source.aliases (
tuple[str,...]) – External names normalized at the registry boundary.parent (
SceneEntityRef|None) – Canonical parent for a link or affordance.native_name (
str|None) – Backend-local member name underparent.dynamics (
SceneDynamics) – Physical mobility classification.geometry_provider (
SceneGeometryProvider|None) – Planner-facing collision geometry source.collision_role (
SceneCollisionRole) – Static, dynamic, or no planner collision role.semantic_type (
str|None) – Optional application semantic type.affordance (
Affordance|None) – Affordance value for an affordance registration.affordance_capabilities (
frozenset[str]) – Open semantic operations supported by an affordance registration.default_affordances (
Mapping[str,SceneAffordanceRef]) – Capability-to-child mapping owned by a parent object, articulation, or link registration.affordance_revision (
str|None) – Stable integrator-owned revision or fingerprint for capability-bearing affordance payload data.relative_pose (
Tensor|None) – Optional parent-relative affordance transform.
Methods:
__init__(ref[, state_provider, aliases, ...])Attributes:
Affordance value owned by a
SceneAffordanceRefregistration.Open semantic capabilities declared by an affordance registration.
Stable payload revision required by capability-bearing affordances.
External names normalized once at the registry boundary.
Static/dynamic planner-obstacle role, or
none.Capability-scoped child affordances selected when multiple are valid.
Static, kinematic, dynamic, or unknown mobility classification.
Collision geometry source required for planner collision roles.
Explicit live joint source for an articulation registration.
Backend-local link or affordance name under
parent.Canonical parent reference for a link or affordance.
Canonical typed reference owned by the registry.
Optional parent-relative pose when no explicit state provider exists.
Optional application semantic type such as
containerortool.Explicit dynamic pose/confidence source.
- __init__(ref, state_provider=None, aliases=(), parent=None, native_name=None, dynamics=SceneDynamics.UNKNOWN, geometry_provider=None, collision_role=SceneCollisionRole.NONE, semantic_type=None, affordance=None, affordance_capabilities=frozenset({}), default_affordances=<factory>, affordance_revision=None, relative_pose=None, joint_state_provider=None)
-
affordance:
Affordance|None Affordance value owned by a
SceneAffordanceRefregistration.
-
affordance_capabilities:
frozenset[str] Open semantic capabilities declared by an affordance registration.
-
affordance_revision:
str|None Stable payload revision required by capability-bearing affordances.
-
aliases:
tuple[str,...] External names normalized once at the registry boundary.
-
collision_role:
SceneCollisionRole Static/dynamic planner-obstacle role, or
none.
-
default_affordances:
Mapping[str,SceneAffordanceRef] Capability-scoped child affordances selected when multiple are valid.
-
dynamics:
SceneDynamics Static, kinematic, dynamic, or unknown mobility classification.
-
geometry_provider:
SceneGeometryProvider|None Collision geometry source required for planner collision roles.
-
joint_state_provider:
SceneArticulationJointStateProvider|None Explicit live joint source for an articulation registration.
-
native_name:
str|None Backend-local link or affordance name under
parent.
-
parent:
SceneEntityRef|None Canonical parent reference for a link or affordance.
-
ref:
SceneEntityRef Canonical typed reference owned by the registry.
-
relative_pose:
Tensor|None Optional parent-relative pose when no explicit state provider exists.
-
semantic_type:
str|None Optional application semantic type such as
containerortool.
-
state_provider:
SceneEntityStateProvider|None Explicit dynamic pose/confidence source.
- class embodichain.lab.task_program.semantics.SceneEntityStateProvider[source]
Observe one registered entity for an ordered environment batch.
Methods:
__init__(*args, **kwargs)observe(*, timestamp, env_ids)Return the entity state whose rows follow
env_ids.- __init__(*args, **kwargs)
- observe(*, timestamp, env_ids)[source]
Return the entity state whose rows follow
env_ids.- Parameters:
timestamp (
float) – Observation timestamp supplied by the integration.env_ids (
Tensor) – Stable ordered environment correlation IDs.
- Return type:
EntityState- Returns:
Current pose and confidence for the registered entity.
- class embodichain.lab.task_program.semantics.SceneGeometryProvider[source]
Provide one entity’s planner-facing collision geometry descriptor.
Methods:
__init__(*args, **kwargs)Return the planner-facing geometry descriptor.
- __init__(*args, **kwargs)
- get_geometry()[source]
Return the planner-facing geometry descriptor.
- Return type:
object- Returns:
Backend-consumable geometry or a live simulation entity.
- class embodichain.lab.task_program.semantics.SceneLinkRef[source]
Reference to one registered articulation link.
Methods:
__init__(entity_id)- __init__(entity_id)
- class embodichain.lab.task_program.semantics.SceneManifest[source]
Immutable provider-free scene catalog used before simulation starts.
Methods:
__init__([entries, collision_world_mode])from_registry(registry)Project a live registry without observing any dynamic provider.
lookup(identifier, *[, expected_type, path])Return one static entry after canonical typed resolution.
resolve(identifier, *[, expected_type, path])Resolve one canonical or alias reference with pathful diagnostics.
resolve_affordance(parent, *, capability[, ...])Resolve one affordance using the same strict rule as SceneRegistry.
validate_registry(registry, *[, path])Require a live registry to match this provider-free declaration.
Attributes:
Return immutable provider-free entries in declaration order.
- __init__(entries=(), *, collision_world_mode=None)[source]
- property entries: tuple[SceneEntityManifest, ...]
Return immutable provider-free entries in declaration order.
- classmethod from_registry(registry)[source]
Project a live registry without observing any dynamic provider.
- Return type:
- lookup(identifier, *, expected_type=<class 'embodichain.lab.task_program.semantics.scene.SceneEntityRef'>, path=())[source]
Return one static entry after canonical typed resolution.
- Return type:
- resolve(identifier, *, expected_type=<class 'embodichain.lab.task_program.semantics.scene.SceneEntityRef'>, path=())[source]
Resolve one canonical or alias reference with pathful diagnostics.
- Return type:
TypeVar(RefT, bound=SceneEntityRef)
- resolve_affordance(parent, *, capability, explicit=None, path=())[source]
Resolve one affordance using the same strict rule as SceneRegistry.
- Return type:
- validate_registry(registry, *, path=('integration', 'scene_registry'))[source]
Require a live registry to match this provider-free declaration.
- Return type:
None
- class embodichain.lab.task_program.semantics.SceneObjectRef[source]
Reference to one object registered in the semantic scene.
Methods:
__init__(entity_id)- __init__(entity_id)
- class embodichain.lab.task_program.semantics.SceneRegistry[source]
Immutable authoritative catalog of semantic scene entities.
Canonical identifiers occupy one flat, globally unique namespace. Aliases are accepted only at lookup and integration boundaries and always resolve to a canonical typed reference before they leave the registry.
- Parameters:
registrations (
Iterable[SceneEntityRegistration]) – Complete scene registrations. The iterable is copied and cannot be extended after construction.collision_world_mode (
SceneCollisionWorldMode|None) – Explicit dynamic-collision batch policy. It may be omitted for a single environment, which resolves toshared. A multi-environment dynamic world must select a mode explicitly.
Methods:
__init__([registrations, collision_world_mode])affordances(parent, *, capability)Return compatible direct-child affordances without selecting one.
collision_geometry_by_id([role])Materialize planner geometry under canonical registry IDs.
from_simulation(simulation, *[, ...])Opt explicitly selected simulation entities into a registry.
lookup(identifier, *[, expected_type])Return an owned registration after canonical typed resolution.
make_planning_scene_provider(...[, ...])Create a provider after complete planner/registry validation.
make_scene_provider(*[, ...])Create an independent provider without planner cross-validation.
object_semantics(object_ref, *, affordance)Build one owned atomic-action semantic snapshot.
resolve(identifier, *[, expected_type])Resolve a canonical ID or alias to a typed canonical reference.
resolve_affordance(parent, *, capability[, ...])Select one compatible affordance with strict scoped-default rules.
resolve_collision_world_mode(*, batch_size)Resolve the configured collision mode for an execution batch.
validate_collision_integration(...[, ...])Validate registry/planner agreement before dynamic planning.
Attributes:
Return the immutable alias-to-canonical-ID index.
Return every canonical ID represented in the planner world.
Return canonical IDs whose planner poses update dynamically.
Return provider-free metadata without copying affordance payloads.
Return canonical typed references in registration order.
Return structurally independent registration values.
Return canonical IDs baked into the static planner world.
- __init__(registrations=(), *, collision_world_mode=None)[source]
- affordances(parent, *, capability)[source]
Return compatible direct-child affordances without selecting one.
- Parameters:
parent (
str|SceneEntityRef) – Canonical ID, alias, or typed parent reference.capability (
str) – Required open affordance capability.
- Return type:
tuple[SceneAffordanceRef,...]- Returns:
Compatible canonical references sorted by canonical ID.
- property aliases: Mapping[str, str]
Return the immutable alias-to-canonical-ID index.
- collision_geometry_by_id(role=None)[source]
Materialize planner geometry under canonical registry IDs.
- Parameters:
role (
SceneCollisionRole|None) – Optional exact collision-role filter. Without a filter, all static and dynamic collision registrations are included. Registrations whose role isSceneCollisionRole.NONEnever enter the planner collision world.- Return type:
Mapping[str,object]- Returns:
Fresh immutable canonical-ID-to-geometry mapping.
- property collision_world_entity_ids: tuple[str, ...]
Return every canonical ID represented in the planner world.
- property dynamic_collision_entity_ids: tuple[str, ...]
Return canonical IDs whose planner poses update dynamically.
- property entity_metadata: tuple[SceneEntityMetadata, ...]
Return provider-free metadata without copying affordance payloads.
- property entity_refs: tuple[SceneEntityRef, ...]
Return canonical typed references in registration order.
- classmethod from_simulation(simulation, *, rigid_objects=None, articulations=None, collision_roles=None, geometry_providers=None, collision_world_mode=None)[source]
Opt explicitly selected simulation entities into a registry.
rigid_objectsandarticulationsmap authoritative registry IDs to simulation UIDs. UIDs become aliases automatically; unlisted simulation entities are never imported. Collision participation defaults toSceneCollisionRole.NONE.- Parameters:
simulation (
SimulationManager) – Simulation manager used only for explicit UID lookup.rigid_objects (
Mapping[str,str] |None) – Canonical object IDs mapped to simulation UIDs.articulations (
Mapping[str,str] |None) – Canonical articulation IDs mapped to simulation UIDs.collision_roles (
Mapping[str,SceneCollisionRole] |None) – Optional collision roles keyed by canonical ID.geometry_providers (
Mapping[str,SceneGeometryProvider] |None) – Optional geometry overrides keyed by canonical ID. Selected rigid objects otherwise expose their live handles.collision_world_mode (
SceneCollisionWorldMode|None) – Optional dynamic collision batch-sharing mode.
- Return type:
- Returns:
Immutable registry containing only the explicitly selected entities.
- lookup(identifier, *, expected_type=<class 'embodichain.lab.task_program.semantics.scene.SceneEntityRef'>)[source]
Return an owned registration after canonical typed resolution.
- Parameters:
identifier (
str|SceneEntityRef) – Canonical ID, alias, or typed canonical reference.expected_type (
type[TypeVar(RefT, bound= SceneEntityRef)]) – Required reference class.
- Return type:
- Returns:
A structurally independent copy of the matching registration.
- make_planning_scene_provider(motion_generator, *, batch_size, translation_threshold=0.0001, rotation_threshold=0.001)[source]
Create a provider after complete planner/registry validation.
- Parameters:
motion_generator (
MotionGenerator) – Motion generator that will consume dynamic poses.batch_size (
int) – Number of execution environments.translation_threshold (
float) – Accumulated translation needed to publish a material scene change.rotation_threshold (
float) – Accumulated rotation needed to publish a material scene change.
- Return type:
- Returns:
A new independently stateful, planner-validated scene provider.
- make_scene_provider(*, translation_threshold=0.0001, rotation_threshold=0.001, batch_size=None)[source]
Create an independent provider without planner cross-validation.
This factory is intended for perception and direct-core consumers. The canonical planning path must use
make_planning_scene_provider()so planner IDs, capabilities, and collision-world mode cannot drift.- Parameters:
translation_threshold (
float) – Accumulated translation needed to publish a material scene change.rotation_threshold (
float) – Accumulated rotation needed to publish a material scene change.batch_size (
int|None) – Optional fixed integration batch size. Supplying it validates the collision-world mode immediately and binds the provider to that row count.
- Return type:
- Returns:
A new provider with independent revisions and published baselines.
- object_semantics(object_ref, *, affordance)[source]
Build one owned atomic-action semantic snapshot.
- Parameters:
object_ref (
str|SceneObjectRef) – Canonical object ID, alias, or typed reference.affordance (
str|SceneAffordanceRef) – Registered direct-child affordance for the object.
- Return type:
- Returns:
Object semantics with an owned affordance payload and canonical ID.
- Raises:
ValueError – If the affordance does not belong to the object.
- property registrations: tuple[SceneEntityRegistration, ...]
Return structurally independent registration values.
- resolve(identifier, *, expected_type=<class 'embodichain.lab.task_program.semantics.scene.SceneEntityRef'>)[source]
Resolve a canonical ID or alias to a typed canonical reference.
- Parameters:
identifier (
str|SceneEntityRef) – Canonical ID, alias, or already typed canonical ref.expected_type (
type[TypeVar(RefT, bound= SceneEntityRef)]) – Required reference class for typed lookup.
- Return type:
TypeVar(RefT, bound= SceneEntityRef)- Returns:
Registry-owned canonical reference.
- Raises:
KeyError – If the canonical ID or alias is unknown.
TypeError – If the supplied or resolved reference has the wrong type.
- resolve_affordance(parent, *, capability, explicit=None)[source]
Select one compatible affordance with strict scoped-default rules.
- Parameters:
parent (
str|SceneEntityRef) – Entity that directly owns the affordance.capability (
str) – Required semantic affordance capability.explicit (
str|SceneAffordanceRef|None) – Optional explicit affordance ID or typed reference.
- Return type:
- Returns:
One canonical compatible affordance reference.
- Raises:
UnsupportedSceneAffordanceError – If no compatible affordance exists or an explicit affordance has the wrong parent/capability.
AmbiguousSceneAffordanceError – If multiple candidates exist without a scoped default.
- resolve_collision_world_mode(*, batch_size)[source]
Resolve the configured collision mode for an execution batch.
- Parameters:
batch_size (
int) – Number of execution environments.- Return type:
SceneCollisionWorldMode|None- Returns:
The effective mode, or
Nonewhen no dynamic collision entity is registered.
- property static_collision_entity_ids: tuple[str, ...]
Return canonical IDs baked into the static planner world.
- validate_collision_integration(motion_generator, *, batch_size, scene_provider=None)[source]
Validate registry/planner agreement before dynamic planning.
- Parameters:
motion_generator (
MotionGenerator) – Motion generator whose planner consumes obstacles.batch_size (
int) – Number of execution environments.scene_provider (
SceneProvider|None) – Optional external perception or hardware provider. Its concretecollision_entity_idsmust agree exactly with the registry and planner declarations.
- Return type:
SceneCollisionWorldMode|None- Returns:
Effective dynamic collision mode, or
Nonewithout dynamic IDs.
- class embodichain.lab.task_program.semantics.SemanticCallCatalog[source]
Immutable discovery catalog separated from engine installation.
Methods:
__init__(descriptors)discover(call)Discover metadata without installing or executing an implementation.
with_descriptor(descriptor)Return a new catalog containing one additional descriptor.
Attributes:
Return immutable descriptors keyed by exact semantic ID.
- __init__(descriptors)[source]
- property descriptors: Mapping[str, SemanticCallDescriptor]
Return immutable descriptors keyed by exact semantic ID.
- discover(call)[source]
Discover metadata without installing or executing an implementation.
- Parameters:
call (
str|SemanticCallSpec) – Exact semantic ID or a call value.- Return type:
- Returns:
Matching immutable descriptor.
- Raises:
KeyError – If the exact call ID is unknown.
TypeError – If the call type disagrees with its descriptor.
- with_descriptor(descriptor)[source]
Return a new catalog containing one additional descriptor.
- Return type:
- class embodichain.lab.task_program.semantics.SemanticCallDescriptor[source]
Static catalog metadata for one semantic call kind.
- Parameters:
call_id (
str) – Stable semantic call identifier.spec_type (
type[SemanticCallSpec]) – Exact public call value type.target_descriptor (
SkillDescriptor|None) – Exact atomic goal/options/resource contract. It is inferred and non-overridable for curated calls and required for registered extensions.
Methods:
__init__(call_id, spec_type[, target_descriptor])Attributes:
Return the resource contract from the canonical target descriptor.
Return the atomic skill ID from the canonical target descriptor.
- __init__(call_id, spec_type, target_descriptor=None)
- property binding_contract: SkillBindingContract
Return the resource contract from the canonical target descriptor.
- property skill_id: str
Return the atomic skill ID from the canonical target descriptor.
- class embodichain.lab.task_program.semantics.SemanticCallSpec[source]
Base value contract shared by every declarative semantic call.
- Parameters:
resources (
Mapping[str,str]) – Optional skill-local slot to robot-resource overrides.
Methods:
__init__(*[, resources])Return this semantic call as deterministic JSON-safe data.
Attributes:
Return the stable catalog identifier for this call.
- __init__(*, resources=<factory>)
- property semantic_id: str
Return the stable catalog identifier for this call.
- to_metadata()[source]
Return this semantic call as deterministic JSON-safe data.
- Return type:
dict[str,object]
- class embodichain.lab.task_program.semantics.SemanticDiagnostic[source]
Structured deterministic semantic-integration diagnostic.
- Parameters:
code (
str) – Stable machine-readable failure code.path (
tuple[str|int,...]) – Complete configuration or program path.message (
str) – Human-readable explanation.candidates (
tuple[str,...]) – Canonical candidate IDs, sorted when applicable.
Methods:
__init__(code, path, message[, candidates])Attributes:
Return the path in dotted/indexed notation.
- __init__(code, path, message, candidates=())
- property rendered_path: str
Return the path in dotted/indexed notation.
- class embodichain.lab.task_program.semantics.SemanticEffectKind[source]
Trace-level semantic effect category; clause types define behavior.
Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.SemanticEffectSpec[source]
Grounded typed physical clauses and symbolic postconditions for one call.
Methods:
__init__(semantic_id, effect_kind, skill_id, ...)snapshot()Return an independently owned grounded effect contract.
state_expectation(expectation_id)Return an owned state expectation by effect-local ID.
Return this grounded effect contract as deterministic JSON-safe data.
validate_request(request)Validate execution identity and typed symbolic postconditions.
- __init__(semantic_id, effect_kind, skill_id, invocation_id, invocation_revision, env_ids, state_expectations, clauses)
- snapshot()[source]
Return an independently owned grounded effect contract.
- Return type:
- state_expectation(expectation_id)[source]
Return an owned state expectation by effect-local ID.
- Return type:
HeldObjectStateExpectation|CoordinatedHeldObjectCleanupExpectation|ArticulationJointStateExpectation
- to_metadata()[source]
Return this grounded effect contract as deterministic JSON-safe data.
- Return type:
dict[str,object]
- validate_request(request)[source]
Validate execution identity and typed symbolic postconditions.
- Return type:
None
- class embodichain.lab.task_program.semantics.SemanticIntegrationManifest[source]
Static scene/profile/catalog declaration validated before execution.
- Parameters:
scene (
SceneManifest) – Provider-free scene manifest.robot_profile (
RobotSkillProfile) – Declarative robot resource/profile snapshot.call_catalog (
SemanticCallCatalog) – Discoverable semantic call descriptors.runtime_preset (
str|None) – Optional integration-wide policy preset override.
Methods:
__init__(scene, robot_profile, call_catalog)bind(scene_registry, engine, *[, ...])Validate live scene and robot bindings without observing or planning.
link_call(call, *[, path])Resolve static refs, affordances, and declared resource structure.
- __init__(scene, robot_profile, call_catalog, runtime_preset=None)
- bind(scene_registry, engine, *, endpoint_adapters=None)[source]
Validate live scene and robot bindings without observing or planning.
- Return type:
BoundSemanticIntegration
- link_call(call, *, path=('call',))[source]
Resolve static refs, affordances, and declared resource structure.
This method never observes scene providers, constructs an engine, samples a grasp, or runs a planner.
- Return type:
LinkedSemanticCall
- class embodichain.lab.task_program.semantics.SemanticPose[source]
Object-space pose expressed as position and a WXYZ quaternion.
The value owns normalized tensor snapshots and never exposes its internal tensors directly. A single pose or an environment batch is accepted.
- Parameters:
position (
Tensor|tuple[float,float,float] |list[float]) – Shape(3,)or(B, 3).quaternion_wxyz (
Tensor|tuple[float,float,float,float] |list[float]) – Shape(4,)or(B, 4). Finite, non-zero quaternions are normalized at construction.
Methods:
__init__(position, quaternion_wxyz)snapshot()Return an independently owned pose value.
Convert the semantic pose to a homogeneous transform.
Return the pose as deterministic JSON-safe semantic data.
Attributes:
Return the explicit batch size, or
Nonefor one broadcast pose.Return an independent position tensor.
Return an independent normalized quaternion tensor.
- __init__(position, quaternion_wxyz)[source]
- property batch_size: int | None
Return the explicit batch size, or
Nonefor one broadcast pose.
- property position: Tensor
Return an independent position tensor.
- property quaternion_wxyz: Tensor
Return an independent normalized quaternion tensor.
- snapshot()[source]
Return an independently owned pose value.
- Return type:
- to_matrix()[source]
Convert the semantic pose to a homogeneous transform.
- Return type:
Tensor- Returns:
Shape
(4, 4)for an unbatched pose or(B, 4, 4)for a batched pose.
- to_metadata()[source]
Return the pose as deterministic JSON-safe semantic data.
- Return type:
dict[str,object]
- exception embodichain.lab.task_program.semantics.SemanticValidationError[source]
Raise one structured error at a static or live integration boundary.
Methods:
__init__(diagnostic)- __init__(diagnostic)[source]
- class embodichain.lab.task_program.semantics.SkillPolicyPreset[source]
Policies and typed semantic-call option templates.
Methods:
__init__(preset_id, *, ...[, ...])Own one policy bundle without exposing mutable nested configuration.
action_option_template(semantic_id)Return one owned template for an exact semantic call ID.
snapshot()Return an independently owned preset value.
Attributes:
Return owned option templates keyed by exact semantic call ID.
Return effect-monitor selections keyed by exact semantic call ID.
Return an independently owned motion policy.
Return an independently owned recovery policy.
Optional planner backend required by this preset.
Return an independently owned runner configuration.
Return independently owned endpoint-tracking settings.
Return the bounded semantic-workflow recovery policy.
- __init__(preset_id, *, action_option_templates, effect_assurance, effect_monitors=mappingproxy({}), motion_policy=None, tracking_policy=None, recovery_policy=None, workflow_recovery_policy=None, runner_cfg=None, required_planner=None)[source]
Own one policy bundle without exposing mutable nested configuration.
- action_option_template(semantic_id)[source]
Return one owned template for an exact semantic call ID.
- Raises:
KeyError – If this preset does not declare the semantic call.
- Return type:
- property action_option_templates: Mapping[str, ActionOptions]
Return owned option templates keyed by exact semantic call ID.
- property effect_monitors: Mapping[str, EffectMonitorRef]
Return effect-monitor selections keyed by exact semantic call ID.
Verified presets require a monitor for every curated effectful call they compile. Projected presets require this mapping to be empty.
- property motion_policy: MotionPolicy
Return an independently owned motion policy.
- property recovery_policy: RecoveryPolicy
Return an independently owned recovery policy.
-
required_planner:
str|None Optional planner backend required by this preset.
- property runner_cfg: ExecutionRunnerCfg
Return an independently owned runner configuration.
- snapshot()[source]
Return an independently owned preset value.
- Return type:
- property tracking_policy: TrackingPolicy
Return independently owned endpoint-tracking settings.
- property workflow_recovery_policy: WorkflowRecoveryPolicy
Return the bounded semantic-workflow recovery policy.
- class embodichain.lab.task_program.semantics.SupportSurfaceAffordance[source]
Typed target frame for placing an object’s origin on a support surface.
The registered affordance pose is the desired object pose, expressed relative to its parent scene entity. The optional confidence threshold is enforced whenever that late-bound target pose is resolved.
- Parameters:
minimum_confidence (
float) – Minimum confidence accepted while resolving the late-bound target pose.
Methods:
__init__([object_label, custom_config, ...])- __init__(object_label='', custom_config=<factory>, minimum_confidence=0.0)
- class embodichain.lab.task_program.semantics.SymbolicStateDomain[source]
Typed mapping domains owned by
TaskState.Methods:
__new__(value)- __new__(value)
- class embodichain.lab.task_program.semantics.SymbolicStateKey[source]
Provider-free key for one exact symbolic
TaskStatewrite.The domain makes otherwise similar string and pair addresses impossible to conflate during static parallel analysis. This contract intentionally describes only exact keys; dynamic or opaque effects must not manufacture a guessed key.
Methods:
__init__(domain, address)articulation_joint(articulation_id, joint_id)Build one articulation-joint mapping key.
coordinated_held_object(...)Build one ordered coordinated-held-object mapping key.
held_object(task_state_key)Build one held-object mapping key.
Attributes:
renderedReturn a deterministic domain-qualified diagnostic form.
- __init__(domain, address)
- classmethod articulation_joint(articulation_id, joint_id)[source]
Build one articulation-joint mapping key.
- Return type:
SymbolicStateKey
- classmethod coordinated_held_object(first_task_state_key, second_task_state_key)[source]
Build one ordered coordinated-held-object mapping key.
- Return type:
SymbolicStateKey
- classmethod held_object(task_state_key)[source]
Build one held-object mapping key.
- Return type:
SymbolicStateKey
- property rendered: str
Return a deterministic domain-qualified diagnostic form.
- exception embodichain.lab.task_program.semantics.UnsupportedSceneAffordanceError[source]
Raised when a parent has no affordance for a required capability.
- exception embodichain.lab.task_program.semantics.UnsupportedSkillError[source]
Raised when no robot-resource assignment can satisfy a skill.
- class embodichain.lab.task_program.semantics.WorkflowRecoveryPolicy[source]
Bound workflow-level recovery for curated semantic effect failures.
The atomic action remains the owner of replans and whole-action retries. This policy applies only after that action emits
RECOVERY_REQUIREDand returns control to the Task Program workflow executor.- Parameters:
max_recovery_attempts (
int) – Maximum recovery cycles for each environment row at one semantic-call boundary. Zero disables workflow recovery.
Methods:
__init__([max_recovery_attempts])snapshot()Return an independently owned immutable policy.
- __init__(max_recovery_attempts=0)
- snapshot()[source]
Return an independently owned immutable policy.
- Return type:
WorkflowRecoveryPolicy
- embodichain.lab.task_program.semantics.build_effect_evidence_queries(spec)[source]
Build one independently owned typed query per effect clause.
- Parameters:
spec (
SemanticEffectSpec) – Grounded semantic effect contract.- Return type:
tuple[PoseRelationEvidenceQuery|BinaryEffectEvidenceQuery|ScalarEffectEvidenceQuery|JointStateEvidenceQuery,...]- Returns:
Queries in the contract’s deterministic clause order.
- embodichain.lab.task_program.semantics.builtin_semantic_call_catalog()[source]
Build the curated catalog for installed manipulation primitives.
- Return type:
- Returns:
A fresh immutable catalog. Atomic implementations remain uninstalled; callers bind them to an engine through the separate runtime path.
Semantic calls and catalog#
- class embodichain.lab.task_program.semantics.SemanticCallSpec[source]#
Base value contract shared by every declarative semantic call.
- Parameters:
resources (
Mapping[str,str]) – Optional skill-local slot to robot-resource overrides.
Methods:
__init__(*[, resources])Return this semantic call as deterministic JSON-safe data.
Attributes:
Return the stable catalog identifier for this call.
- __init__(*, resources=<factory>)#
- property semantic_id: str#
Return the stable catalog identifier for this call.
- class embodichain.lab.task_program.semantics.SemanticPose[source]#
Object-space pose expressed as position and a WXYZ quaternion.
The value owns normalized tensor snapshots and never exposes its internal tensors directly. A single pose or an environment batch is accepted.
- Parameters:
position (
Tensor|tuple[float,float,float] |list[float]) – Shape(3,)or(B, 3).quaternion_wxyz (
Tensor|tuple[float,float,float,float] |list[float]) – Shape(4,)or(B, 4). Finite, non-zero quaternions are normalized at construction.
Methods:
__init__(position, quaternion_wxyz)snapshot()Return an independently owned pose value.
Convert the semantic pose to a homogeneous transform.
Return the pose as deterministic JSON-safe semantic data.
Attributes:
Return the explicit batch size, or
Nonefor one broadcast pose.Return an independent position tensor.
Return an independent normalized quaternion tensor.
- property batch_size: int | None#
Return the explicit batch size, or
Nonefor one broadcast pose.
- property position: Tensor#
Return an independent position tensor.
- property quaternion_wxyz: Tensor#
Return an independent normalized quaternion tensor.
- class embodichain.lab.task_program.semantics.Pick[source]#
Pick one registered object using an optional explicit grasp affordance.
- Parameters:
object (
SceneObjectRef) – Authoritative semantic object reference.grasp (
SceneAffordanceRef|None) – Optional explicit grasp affordance. Omission requests deterministic registry selection.resources (
Mapping[str,str]) – Optional skill-local resource overrides.
Methods:
__init__(object[, grasp, resources])- __init__(object, grasp=None, *, resources=<factory>)#
- class embodichain.lab.task_program.semantics.Place[source]#
Place a held object at exactly one semantic destination.
- Parameters:
object (
SceneObjectRef) – Authoritative held-object reference.at (
SemanticPose|None) – Absolute object-space pose.on (
SceneObjectRef|SceneAffordanceRef|None) – Object or affordance supporting anonrelation.inside (
SceneObjectRef|SceneAffordanceRef|None) – Object or affordance supporting aninsiderelation.resources (
Mapping[str,str]) – Optional skill-local resource overrides.
Methods:
__init__(object[, at, on, inside, resources])- __init__(object, at=None, on=None, inside=None, *, resources=<factory>)#
- class embodichain.lab.task_program.semantics.HandOver[source]#
Pick up, transfer, and place an object with two robot resources.
- Parameters:
object (
SceneObjectRef) – Authoritative scene-object reference. The object must not already be held when the unified action starts.final_target (
SemanticPose|None) – Optional final object-space delivery pose.resources (
Mapping[str,str]) – Optional skill-local resource overrides. Select the second candidate with thedestinationslot when needed.
Methods:
__init__(object[, final_target, resources])- __init__(object, final_target=None, *, resources=<factory>)#
- class embodichain.lab.task_program.semantics.RegisteredSemanticCall[source]#
Safe value payload for a catalog-registered semantic extension.
- Parameters:
call_id (
str) – Stable extension identifier discovered in a semantic catalog.arguments (
Mapping[str,None|bool|int|float|str|SceneEntityRef|SemanticPose|tuple[None|bool|int|float|str|SceneEntityRef|SemanticPose|tuple[DeclarativeValue,...] |Mapping[str, DeclarativeValue],...] |Mapping[str,None|bool|int|float|str|SceneEntityRef|SemanticPose|tuple[DeclarativeValue,...] |Mapping[str, DeclarativeValue]]]) – Nested declarative data. Executable or live values are rejected at construction.resources (
Mapping[str,str]) – Optional skill-local resource overrides.
Methods:
__init__(call_id[, arguments, resources])Attributes:
Return the registered extension identifier.
- __init__(call_id, arguments=<factory>, *, resources=<factory>)#
- property semantic_id: str#
Return the registered extension identifier.
- class embodichain.lab.task_program.semantics.SemanticCallDescriptor[source]#
Static catalog metadata for one semantic call kind.
- Parameters:
call_id (
str) – Stable semantic call identifier.spec_type (
type[SemanticCallSpec]) – Exact public call value type.target_descriptor (
SkillDescriptor|None) – Exact atomic goal/options/resource contract. It is inferred and non-overridable for curated calls and required for registered extensions.
Methods:
__init__(call_id, spec_type[, target_descriptor])Attributes:
Return the resource contract from the canonical target descriptor.
Return the atomic skill ID from the canonical target descriptor.
- __init__(call_id, spec_type, target_descriptor=None)#
- property binding_contract: SkillBindingContract#
Return the resource contract from the canonical target descriptor.
- property skill_id: str#
Return the atomic skill ID from the canonical target descriptor.
- class embodichain.lab.task_program.semantics.SemanticCallCatalog[source]#
Immutable discovery catalog separated from engine installation.
Methods:
__init__(descriptors)discover(call)Discover metadata without installing or executing an implementation.
with_descriptor(descriptor)Return a new catalog containing one additional descriptor.
Attributes:
Return immutable descriptors keyed by exact semantic ID.
- property descriptors: Mapping[str, SemanticCallDescriptor]#
Return immutable descriptors keyed by exact semantic ID.
- discover(call)[source]#
Discover metadata without installing or executing an implementation.
- Parameters:
call (
str|SemanticCallSpec) – Exact semantic ID or a call value.- Return type:
- Returns:
Matching immutable descriptor.
- Raises:
KeyError – If the exact call ID is unknown.
TypeError – If the call type disagrees with its descriptor.
- embodichain.lab.task_program.semantics.builtin_semantic_call_catalog()[source]#
Build the curated catalog for installed manipulation primitives.
- Return type:
- Returns:
A fresh immutable catalog. Atomic implementations remain uninstalled; callers bind them to an engine through the separate runtime path.
Semantic integration#
- class embodichain.lab.task_program.semantics.SceneEntityManifest[source]#
Provider-free static scene declaration using canonical registry metadata.
Methods:
__init__(ref[, aliases, parent, ...])from_metadata(metadata)Copy one canonical provider-free registry metadata value.
- __init__(ref, aliases=(), parent=None, native_name=None, dynamics=SceneDynamics.UNKNOWN, collision_role=SceneCollisionRole.NONE, semantic_type=None, affordance_capabilities=frozenset({}), default_affordances=<factory>, affordance_payload_type=None, affordance_revision=None, relative_pose=None)#
- class embodichain.lab.task_program.semantics.SceneManifest[source]#
Immutable provider-free scene catalog used before simulation starts.
Methods:
__init__([entries, collision_world_mode])from_registry(registry)Project a live registry without observing any dynamic provider.
lookup(identifier, *[, expected_type, path])Return one static entry after canonical typed resolution.
resolve(identifier, *[, expected_type, path])Resolve one canonical or alias reference with pathful diagnostics.
resolve_affordance(parent, *, capability[, ...])Resolve one affordance using the same strict rule as SceneRegistry.
validate_registry(registry, *[, path])Require a live registry to match this provider-free declaration.
Attributes:
Return immutable provider-free entries in declaration order.
- property entries: tuple[SceneEntityManifest, ...]#
Return immutable provider-free entries in declaration order.
- classmethod from_registry(registry)[source]#
Project a live registry without observing any dynamic provider.
- Return type:
- lookup(identifier, *, expected_type=<class 'embodichain.lab.task_program.semantics.scene.SceneEntityRef'>, path=())[source]#
Return one static entry after canonical typed resolution.
- Return type:
- resolve(identifier, *, expected_type=<class 'embodichain.lab.task_program.semantics.scene.SceneEntityRef'>, path=())[source]#
Resolve one canonical or alias reference with pathful diagnostics.
- Return type:
TypeVar(RefT, bound=SceneEntityRef)
- class embodichain.lab.task_program.semantics.SemanticIntegrationManifest[source]#
Static scene/profile/catalog declaration validated before execution.
- Parameters:
scene (
SceneManifest) – Provider-free scene manifest.robot_profile (
RobotSkillProfile) – Declarative robot resource/profile snapshot.call_catalog (
SemanticCallCatalog) – Discoverable semantic call descriptors.runtime_preset (
str|None) – Optional integration-wide policy preset override.
Methods:
__init__(scene, robot_profile, call_catalog)bind(scene_registry, engine, *[, ...])Validate live scene and robot bindings without observing or planning.
link_call(call, *[, path])Resolve static refs, affordances, and declared resource structure.
- __init__(scene, robot_profile, call_catalog, runtime_preset=None)#
- class embodichain.lab.task_program.semantics.SemanticDiagnostic[source]#
Structured deterministic semantic-integration diagnostic.
- Parameters:
code (
str) – Stable machine-readable failure code.path (
tuple[str|int,...]) – Complete configuration or program path.message (
str) – Human-readable explanation.candidates (
tuple[str,...]) – Canonical candidate IDs, sorted when applicable.
Methods:
__init__(code, path, message[, candidates])Attributes:
Return the path in dotted/indexed notation.
- __init__(code, path, message, candidates=())#
- property rendered_path: str#
Return the path in dotted/indexed notation.
Robot resources and profiles#
- class embodichain.lab.task_program.semantics.RobotSkillProfile[source]#
Reusable declarative skill integration for one robot embodiment.
Methods:
__init__(profile_id, resources[, ...])Lower endpoint command profiles for the current action core.
bind(engine, *[, endpoint_adapters])Validate this profile against one fully configured action engine.
Attributes:
Semantic call ID to embodiment-owned named grounding provider ID.
- __init__(profile_id, resources, command_profiles=<factory>, defaults=<factory>, presets=<factory>, default_preset=None, skill_presets=<factory>, grounding_providers=<factory>)#
- action_control_profiles()[source]#
Lower endpoint command profiles for the current action core.
- Return type:
Mapping[str,ControlPartCommandProfile]- Returns:
Owned command profiles keyed by concrete robot control-part name.
- Raises:
ValueError – If two endpoint declarations assign non-equivalent commands with the same semantic name to one control part.
- bind(engine, *, endpoint_adapters=None)[source]#
Validate this profile against one fully configured action engine.
- Parameters:
engine (
AtomicActionEngine) – Installed atomic-action engine for the target robot.endpoint_adapters (
Optional[Mapping[type[ResourceEndpoint],ResourceEndpointAdapter]]) – Optional exact endpoint-type adapters. Explicit entries extend the non-overridable built-in control-part adapter.
- Return type:
- Returns:
Robot-, engine-, and adapter-validated profile view.
-
grounding_providers:
Mapping[str,str]# Semantic call ID to embodiment-owned named grounding provider ID.
- class embodichain.lab.task_program.semantics.BoundRobotSkillProfile[source]#
Robot- and engine-validated view of a
RobotSkillProfile.Methods:
__init__(profile, engine, *[, endpoint_adapters])Reject this binding after the engine's skill catalog changes.
candidates(skill_id[, selections])Return every valid complete resource assignment deterministically.
preset([preset_id, skill_id])Resolve an explicit, per-skill, or profile-default policy preset.
resolve(skill_id[, selections])Resolve one skill with strict capability matching and disambiguation.
Attributes:
Return the exact action engine used to validate this profile.
Return the stable profile identifier.
Return resolved generic robot resources keyed by logical ID.
Return installed Atomic Skills fully supported by this profile.
Return the immutable profile object used to create this binding.
- assert_current()[source]#
Reject this binding after the engine’s skill catalog changes.
- Raises:
RuntimeError – If actions were registered or replaced after binding.
- Return type:
None
- candidates(skill_id, selections=None)[source]#
Return every valid complete resource assignment deterministically.
- Return type:
tuple[ResourceBinding,...]
- property engine: AtomicActionEngine#
Return the exact action engine used to validate this profile.
- preset(preset_id=None, *, skill_id=None)[source]#
Resolve an explicit, per-skill, or profile-default policy preset.
- Return type:
- property profile_id: str#
Return the stable profile identifier.
- resolve(skill_id, selections=None)[source]#
Resolve one skill with strict capability matching and disambiguation.
- Return type:
- property resources: Mapping[str, ResolvedRobotResource]#
Return resolved generic robot resources keyed by logical ID.
- property skills: Mapping[str, SkillDescriptor]#
Return installed Atomic Skills fully supported by this profile.
- property source_profile: RobotSkillProfile#
Return the immutable profile object used to create this binding.
- class embodichain.lab.task_program.semantics.RobotResource[source]#
Generic leaf or composite resource in one robot’s resource DAG.
A resource may expose any number of named endpoints. For example, one manipulation participant may expose
motionandgraspendpoints, while a mobile base or whole-body controller may expose onlymotion.membersdescribes physical claim composition and does not inherit endpoint capabilities.Methods:
__init__(resource_id[, endpoints, members])snapshot()Return an independently owned resource declaration.
- __init__(resource_id, endpoints=<factory>, members=())#
- class embodichain.lab.task_program.semantics.ResourceEndpoint[source]#
Extensible execution endpoint in a robot resource graph.
Endpoint subclasses add controller-specific addressing data. Capabilities stay on this common base so skill matching does not depend on any one controller kind.
Methods:
Attributes:
Open, namespaced capabilities provided by this exact endpoint.
- __init__(*, capabilities=frozenset({}))#
-
capabilities:
frozenset[str]# Open, namespaced capabilities provided by this exact endpoint.
- class embodichain.lab.task_program.semantics.ResourceEndpointAdapter[source]#
Resolve one endpoint kind without coupling profiles to its controller.
Attributes:
Stable adapter identifier used in diagnostics and resolved metadata.
Exact
(provider_id, revision)effect-evidence routes emitted.Exact endpoint declaration type accepted by this adapter.
Exact immutable runtime-target value types this adapter may resolve.
Exact endpoint-command transport IDs this adapter may resolve.
Exact
(provider_id, revision)tracking-feedback routes emitted.Exact
(projector_id, revision)desired-state routes emitted.Methods:
resolve(endpoint, *, engine)Validate and resolve one endpoint against an action engine.
-
adapter_id:
ClassVar[str]# Stable adapter identifier used in diagnostics and resolved metadata.
-
effect_evidence_source_keys:
ClassVar[frozenset[tuple[str,str]]]# Exact
(provider_id, revision)effect-evidence routes emitted.
-
endpoint_type:
ClassVar[type[ResourceEndpoint]]# Exact endpoint declaration type accepted by this adapter.
- abstract resolve(endpoint, *, engine)[source]#
Validate and resolve one endpoint against an action engine.
- Parameters:
endpoint (
ResourceEndpoint) – Endpoint declaration ofendpoint_type.engine (
AtomicActionEngine) – Engine whose robot, planner, and command profiles are bound.
- Return type:
- Returns:
Physical claims and supported lowering metadata.
-
runtime_target_types:
ClassVar[tuple[type[RuntimeEndpointTarget],...]]# Exact immutable runtime-target value types this adapter may resolve.
-
runtime_transport_ids:
ClassVar[frozenset[str]]# Exact endpoint-command transport IDs this adapter may resolve.
-
tracking_feedback_source_keys:
ClassVar[frozenset[tuple[str,str]]]# Exact
(provider_id, revision)tracking-feedback routes emitted.
-
tracking_projector_keys:
ClassVar[frozenset[tuple[str,str]]]# Exact
(projector_id, revision)desired-state routes emitted.
-
adapter_id:
- class embodichain.lab.task_program.semantics.EndpointResolution[source]#
Adapter-produced runtime destination and claim metadata for one endpoint.
Methods:
__init__(runtime_target[, task_state_key, ...])Attributes:
Adapter-defined physical/controller claims beyond robot joint IDs.
Profile key that owns semantic commands for this endpoint, when any.
Provider-routed raw observation sources keyed by open channel ID.
Whether this execution endpoint must declare a physical claim.
Ordered robot joint IDs controlled by the endpoint, when applicable.
Whether a missing
command_profile_keyentry invalidates binding.Typed immutable destination consumed by an endpoint command transport.
Optional symbolic state key; profile binding defaults to its resource ID.
Typed feedback source and desired-state projector by channel ID.
- __init__(runtime_target, task_state_key=None, effect_sources=<factory>, tracking_channels=<factory>, command_profile_key=None, requires_command_profile=False, claim_tokens=frozenset({}), joint_ids=(), exclusive=True)#
-
claim_tokens:
frozenset[str]# Adapter-defined physical/controller claims beyond robot joint IDs.
-
command_profile_key:
str|None# Profile key that owns semantic commands for this endpoint, when any.
-
effect_sources:
Mapping[str,EffectEvidenceSourceRef]# Provider-routed raw observation sources keyed by open channel ID.
-
exclusive:
bool# Whether this execution endpoint must declare a physical claim.
-
joint_ids:
tuple[int,...]# Ordered robot joint IDs controlled by the endpoint, when applicable.
-
requires_command_profile:
bool# Whether a missing
command_profile_keyentry invalidates binding.
-
runtime_target:
RuntimeEndpointTarget# Typed immutable destination consumed by an endpoint command transport.
-
task_state_key:
str|None# Optional symbolic state key; profile binding defaults to its resource ID.
-
tracking_channels:
Mapping[str,EndpointTrackingChannelBinding]# Typed feedback source and desired-state projector by channel ID.
- class embodichain.lab.task_program.semantics.ControlPartEndpoint[source]#
One named execution endpoint backed by a robot control part.
Capabilities are explicit and never inferred from the endpoint name, joint count, other endpoints, or composite resource members.
Methods:
__init__(control_part[, command_profile, ...])Attributes:
Optional generic command-profile ID; defaults to
control_part.Key from the bound robot's
control_partsmapping.- __init__(control_part, command_profile=None, *, capabilities=frozenset({}))#
-
command_profile:
str|None# Optional generic command-profile ID; defaults to
control_part.
-
control_part:
str# Key from the bound robot’s
control_partsmapping.
- class embodichain.lab.task_program.semantics.ControlPartEndpointAdapter[source]#
Resolve joint-backed
ControlPartEndpointdeclarations.Attributes:
Stable adapter identifier used in diagnostics and resolved metadata.
Exact
(provider_id, revision)effect-evidence routes emitted.Exact immutable runtime-target value types this adapter may resolve.
Exact endpoint-command transport IDs this adapter may resolve.
Exact
(provider_id, revision)tracking-feedback routes emitted.Exact
(projector_id, revision)desired-state routes emitted.Classes:
alias of
ControlPartEndpointMethods:
resolve(endpoint, *, engine)Resolve a robot control part and verify its standard capabilities.
-
adapter_id:
ClassVar[str] = 'control_part'# Stable adapter identifier used in diagnostics and resolved metadata.
-
effect_evidence_source_keys:
ClassVar[frozenset[tuple[str,str]]] = frozenset({('builtin.control_part', '1')})# Exact
(provider_id, revision)effect-evidence routes emitted.
- endpoint_type#
alias of
ControlPartEndpoint
- resolve(endpoint, *, engine)[source]#
Resolve a robot control part and verify its standard capabilities.
- Return type:
-
runtime_target_types:
ClassVar[tuple[type[RuntimeEndpointTarget],...]] = (<class 'embodichain.lab.sim.atomic_actions.bindings.JointPositionTarget'>,)# Exact immutable runtime-target value types this adapter may resolve.
-
runtime_transport_ids:
ClassVar[frozenset[str]] = frozenset({'robot.joint_position'})# Exact endpoint-command transport IDs this adapter may resolve.
-
tracking_feedback_source_keys:
ClassVar[frozenset[tuple[str,str]]] = frozenset({('planning_context.robot', '1')})# Exact
(provider_id, revision)tracking-feedback routes emitted.
-
tracking_projector_keys:
ClassVar[frozenset[tuple[str,str]]] = frozenset({('joint_position_payload', '1')})# Exact
(projector_id, revision)desired-state routes emitted.
-
adapter_id:
- class embodichain.lab.task_program.semantics.ResourceBinding[source]#
Generic mapping from skill-local slots to robot resource IDs.
Methods:
__init__(resources)- __init__(resources)#
- class embodichain.lab.task_program.semantics.ResolvedResourceEndpoint[source]#
Endpoint declaration resolved by one registered adapter.
Methods:
__init__(endpoint, adapter_id, runtime_target)conflicts_with(other)Return whether two endpoints address overlapping physical channels.
Attributes:
Return capabilities declared by the source endpoint.
- __init__(endpoint, adapter_id, runtime_target, task_state_key=None, effect_sources=<factory>, tracking_channels=<factory>, command_profile_key=None, requires_command_profile=False, commands=<factory>, claim_tokens=frozenset({}), joint_ids=(), exclusive=True)#
- property capabilities: frozenset[str]#
Return capabilities declared by the source endpoint.
- class embodichain.lab.task_program.semantics.ResolvedRobotResource[source]#
Robot-validated resource with concrete endpoint joint IDs and claim.
Methods:
__init__(resource_id, endpoints, members, claim)Attributes:
Return ordered joint IDs for each resolved endpoint.
- __init__(resource_id, endpoints, members, claim)#
- property endpoint_joint_ids: Mapping[str, tuple[int, ...]]#
Return ordered joint IDs for each resolved endpoint.
- class embodichain.lab.task_program.semantics.ResolvedSkillBinding[source]#
One generic resource assignment lowered for the current action core.
Methods:
__init__(skill_id, resources, ...)Attributes:
Return the selected logical resource ID for each skill-local slot.
- __init__(skill_id, resources, action_binding, claim)#
- property resource_ids: Mapping[str, str]#
Return the selected logical resource ID for each skill-local slot.
- class embodichain.lab.task_program.semantics.ResourceClaim[source]#
Physical leaf and joint claim used for deterministic conflict checks.
Methods:
__init__(leaf_resource_ids, joint_ids[, ...])combine(claims)Return the union of zero or more resource claims.
conflicts_with(other)Return whether two claims overlap in a leaf or concrete joint.
- __init__(leaf_resource_ids, joint_ids, claim_tokens=frozenset({}))#
- class embodichain.lab.task_program.semantics.SkillPolicyPreset[source]#
Policies and typed semantic-call option templates.
Methods:
__init__(preset_id, *, ...[, ...])Own one policy bundle without exposing mutable nested configuration.
action_option_template(semantic_id)Return one owned template for an exact semantic call ID.
snapshot()Return an independently owned preset value.
Attributes:
Return owned option templates keyed by exact semantic call ID.
Return effect-monitor selections keyed by exact semantic call ID.
Return an independently owned motion policy.
Return an independently owned recovery policy.
Optional planner backend required by this preset.
Return an independently owned runner configuration.
Return independently owned endpoint-tracking settings.
Return the bounded semantic-workflow recovery policy.
- __init__(preset_id, *, action_option_templates, effect_assurance, effect_monitors=mappingproxy({}), motion_policy=None, tracking_policy=None, recovery_policy=None, workflow_recovery_policy=None, runner_cfg=None, required_planner=None)[source]#
Own one policy bundle without exposing mutable nested configuration.
- action_option_template(semantic_id)[source]#
Return one owned template for an exact semantic call ID.
- Raises:
KeyError – If this preset does not declare the semantic call.
- Return type:
- property action_option_templates: Mapping[str, ActionOptions]#
Return owned option templates keyed by exact semantic call ID.
- property effect_monitors: Mapping[str, EffectMonitorRef]#
Return effect-monitor selections keyed by exact semantic call ID.
Verified presets require a monitor for every curated effectful call they compile. Projected presets require this mapping to be empty.
- property motion_policy: MotionPolicy#
Return an independently owned motion policy.
- property recovery_policy: RecoveryPolicy#
Return an independently owned recovery policy.
-
required_planner:
str|None# Optional planner backend required by this preset.
- property runner_cfg: ExecutionRunnerCfg#
Return an independently owned runner configuration.
- property tracking_policy: TrackingPolicy#
Return independently owned endpoint-tracking settings.
- property workflow_recovery_policy: WorkflowRecoveryPolicy#
Return the bounded semantic-workflow recovery policy.
Profile errors#
- class embodichain.lab.task_program.semantics.ProfileValidationError[source]#
Raised when a robot skill profile disagrees with its engine or robot.
Methods:
- __init__(*args, **kwargs)#
- __new__(**kwargs)#
Effects and evidence#
- class embodichain.lab.task_program.semantics.SemanticEffectSpec[source]#
Grounded typed physical clauses and symbolic postconditions for one call.
Methods:
__init__(semantic_id, effect_kind, skill_id, ...)snapshot()Return an independently owned grounded effect contract.
state_expectation(expectation_id)Return an owned state expectation by effect-local ID.
Return this grounded effect contract as deterministic JSON-safe data.
validate_request(request)Validate execution identity and typed symbolic postconditions.
- __init__(semantic_id, effect_kind, skill_id, invocation_id, invocation_revision, env_ids, state_expectations, clauses)#
- state_expectation(expectation_id)[source]#
Return an owned state expectation by effect-local ID.
- Return type:
HeldObjectStateExpectation|CoordinatedHeldObjectCleanupExpectation|ArticulationJointStateExpectation
- class embodichain.lab.task_program.semantics.EffectMonitorRef[source]#
Versioned, declarative reference to an effect-monitor factory.
Methods:
__init__(monitor_id, revision[, params])snapshot()Return an independently owned declarative reference.
Return a deterministic JSON-safe monitor selection.
- __init__(monitor_id, revision, params=<factory>)#
- class embodichain.lab.task_program.semantics.EffectMonitor[source]#
Stateful verifier owned by one grounded semantic call.
Methods:
observe(request, evidence)Consume one synchronized raw observation and decide requested rows.
Attributes:
Return all resolved monitor thresholds for trace metadata.
Return an independently owned effect contract.
- abstract observe(request, evidence)[source]#
Consume one synchronized raw observation and decide requested rows.
- Return type:
EffectMonitorDecision
- abstract property resolved_params: Mapping[str, None | bool | int | float | str | tuple[None | bool | int | float | str | tuple[EffectMonitorParam, ...] | Mapping[str, EffectMonitorParam], ...] | Mapping[str, None | bool | int | float | str | tuple[EffectMonitorParam, ...] | Mapping[str, EffectMonitorParam]]]#
Return all resolved monitor thresholds for trace metadata.
- abstract property spec: SemanticEffectSpec#
Return an independently owned effect contract.
- class embodichain.lab.task_program.semantics.EffectEvidenceCollector[source]#
Dispatch and normalize a synchronized observation for one effect spec.
Methods:
__init__(registry)collect(spec, *, timestamp, observation_revision)Acquire and strictly synchronize evidence for every effect clause.
Attributes:
Return the immutable provider registry.
- collect(spec, *, timestamp, observation_revision, env_ids=None)[source]#
Acquire and strictly synchronize evidence for every effect clause.
- Parameters:
spec (
SemanticEffectSpec) – Grounded semantic effect contract.timestamp (
float) – Backend observation time for this acquisition tick.observation_revision (
int) – Runtime-owned observation revision.env_ids (
Tensor|None) – Optional ordered subset ofspec.env_ids. Acquisition failures must remain present as rows withvalid=False.
- Return type:
Mapping[str,PoseRelationEvidenceBatch|BinaryEffectEvidenceBatch|ScalarEffectEvidenceBatch|JointStateEvidenceBatch]- Returns:
Immutable mapping keyed exactly by effect clause ID.
- property registry: EffectEvidenceProviderRegistry#
Return the immutable provider registry.
Registry and provider#
- class embodichain.lab.task_program.semantics.SceneRegistry[source]#
Immutable authoritative catalog of semantic scene entities.
Canonical identifiers occupy one flat, globally unique namespace. Aliases are accepted only at lookup and integration boundaries and always resolve to a canonical typed reference before they leave the registry.
- Parameters:
registrations (
Iterable[SceneEntityRegistration]) – Complete scene registrations. The iterable is copied and cannot be extended after construction.collision_world_mode (
SceneCollisionWorldMode|None) – Explicit dynamic-collision batch policy. It may be omitted for a single environment, which resolves toshared. A multi-environment dynamic world must select a mode explicitly.
Methods:
__init__([registrations, collision_world_mode])affordances(parent, *, capability)Return compatible direct-child affordances without selecting one.
collision_geometry_by_id([role])Materialize planner geometry under canonical registry IDs.
from_simulation(simulation, *[, ...])Opt explicitly selected simulation entities into a registry.
lookup(identifier, *[, expected_type])Return an owned registration after canonical typed resolution.
make_planning_scene_provider(...[, ...])Create a provider after complete planner/registry validation.
make_scene_provider(*[, ...])Create an independent provider without planner cross-validation.
object_semantics(object_ref, *, affordance)Build one owned atomic-action semantic snapshot.
resolve(identifier, *[, expected_type])Resolve a canonical ID or alias to a typed canonical reference.
resolve_affordance(parent, *, capability[, ...])Select one compatible affordance with strict scoped-default rules.
resolve_collision_world_mode(*, batch_size)Resolve the configured collision mode for an execution batch.
validate_collision_integration(...[, ...])Validate registry/planner agreement before dynamic planning.
Attributes:
Return the immutable alias-to-canonical-ID index.
Return every canonical ID represented in the planner world.
Return canonical IDs whose planner poses update dynamically.
Return provider-free metadata without copying affordance payloads.
Return canonical typed references in registration order.
Return structurally independent registration values.
Return canonical IDs baked into the static planner world.
- affordances(parent, *, capability)[source]#
Return compatible direct-child affordances without selecting one.
- Parameters:
parent (
str|SceneEntityRef) – Canonical ID, alias, or typed parent reference.capability (
str) – Required open affordance capability.
- Return type:
tuple[SceneAffordanceRef,...]- Returns:
Compatible canonical references sorted by canonical ID.
- property aliases: Mapping[str, str]#
Return the immutable alias-to-canonical-ID index.
- collision_geometry_by_id(role=None)[source]#
Materialize planner geometry under canonical registry IDs.
- Parameters:
role (
SceneCollisionRole|None) – Optional exact collision-role filter. Without a filter, all static and dynamic collision registrations are included. Registrations whose role isSceneCollisionRole.NONEnever enter the planner collision world.- Return type:
Mapping[str,object]- Returns:
Fresh immutable canonical-ID-to-geometry mapping.
- property collision_world_entity_ids: tuple[str, ...]#
Return every canonical ID represented in the planner world.
- property dynamic_collision_entity_ids: tuple[str, ...]#
Return canonical IDs whose planner poses update dynamically.
- property entity_metadata: tuple[SceneEntityMetadata, ...]#
Return provider-free metadata without copying affordance payloads.
- property entity_refs: tuple[SceneEntityRef, ...]#
Return canonical typed references in registration order.
- classmethod from_simulation(simulation, *, rigid_objects=None, articulations=None, collision_roles=None, geometry_providers=None, collision_world_mode=None)[source]#
Opt explicitly selected simulation entities into a registry.
rigid_objectsandarticulationsmap authoritative registry IDs to simulation UIDs. UIDs become aliases automatically; unlisted simulation entities are never imported. Collision participation defaults toSceneCollisionRole.NONE.- Parameters:
simulation (
SimulationManager) – Simulation manager used only for explicit UID lookup.rigid_objects (
Mapping[str,str] |None) – Canonical object IDs mapped to simulation UIDs.articulations (
Mapping[str,str] |None) – Canonical articulation IDs mapped to simulation UIDs.collision_roles (
Mapping[str,SceneCollisionRole] |None) – Optional collision roles keyed by canonical ID.geometry_providers (
Mapping[str,SceneGeometryProvider] |None) – Optional geometry overrides keyed by canonical ID. Selected rigid objects otherwise expose their live handles.collision_world_mode (
SceneCollisionWorldMode|None) – Optional dynamic collision batch-sharing mode.
- Return type:
- Returns:
Immutable registry containing only the explicitly selected entities.
- lookup(identifier, *, expected_type=<class 'embodichain.lab.task_program.semantics.scene.SceneEntityRef'>)[source]#
Return an owned registration after canonical typed resolution.
- Parameters:
identifier (
str|SceneEntityRef) – Canonical ID, alias, or typed canonical reference.expected_type (
type[TypeVar(RefT, bound= SceneEntityRef)]) – Required reference class.
- Return type:
- Returns:
A structurally independent copy of the matching registration.
- make_planning_scene_provider(motion_generator, *, batch_size, translation_threshold=0.0001, rotation_threshold=0.001)[source]#
Create a provider after complete planner/registry validation.
- Parameters:
motion_generator (
MotionGenerator) – Motion generator that will consume dynamic poses.batch_size (
int) – Number of execution environments.translation_threshold (
float) – Accumulated translation needed to publish a material scene change.rotation_threshold (
float) – Accumulated rotation needed to publish a material scene change.
- Return type:
- Returns:
A new independently stateful, planner-validated scene provider.
- make_scene_provider(*, translation_threshold=0.0001, rotation_threshold=0.001, batch_size=None)[source]#
Create an independent provider without planner cross-validation.
This factory is intended for perception and direct-core consumers. The canonical planning path must use
make_planning_scene_provider()so planner IDs, capabilities, and collision-world mode cannot drift.- Parameters:
translation_threshold (
float) – Accumulated translation needed to publish a material scene change.rotation_threshold (
float) – Accumulated rotation needed to publish a material scene change.batch_size (
int|None) – Optional fixed integration batch size. Supplying it validates the collision-world mode immediately and binds the provider to that row count.
- Return type:
- Returns:
A new provider with independent revisions and published baselines.
- object_semantics(object_ref, *, affordance)[source]#
Build one owned atomic-action semantic snapshot.
- Parameters:
object_ref (
str|SceneObjectRef) – Canonical object ID, alias, or typed reference.affordance (
str|SceneAffordanceRef) – Registered direct-child affordance for the object.
- Return type:
- Returns:
Object semantics with an owned affordance payload and canonical ID.
- Raises:
ValueError – If the affordance does not belong to the object.
- property registrations: tuple[SceneEntityRegistration, ...]#
Return structurally independent registration values.
- resolve(identifier, *, expected_type=<class 'embodichain.lab.task_program.semantics.scene.SceneEntityRef'>)[source]#
Resolve a canonical ID or alias to a typed canonical reference.
- Parameters:
identifier (
str|SceneEntityRef) – Canonical ID, alias, or already typed canonical ref.expected_type (
type[TypeVar(RefT, bound= SceneEntityRef)]) – Required reference class for typed lookup.
- Return type:
TypeVar(RefT, bound= SceneEntityRef)- Returns:
Registry-owned canonical reference.
- Raises:
KeyError – If the canonical ID or alias is unknown.
TypeError – If the supplied or resolved reference has the wrong type.
- resolve_affordance(parent, *, capability, explicit=None)[source]#
Select one compatible affordance with strict scoped-default rules.
- Parameters:
parent (
str|SceneEntityRef) – Entity that directly owns the affordance.capability (
str) – Required semantic affordance capability.explicit (
str|SceneAffordanceRef|None) – Optional explicit affordance ID or typed reference.
- Return type:
- Returns:
One canonical compatible affordance reference.
- Raises:
UnsupportedSceneAffordanceError – If no compatible affordance exists or an explicit affordance has the wrong parent/capability.
AmbiguousSceneAffordanceError – If multiple candidates exist without a scoped default.
- resolve_collision_world_mode(*, batch_size)[source]#
Resolve the configured collision mode for an execution batch.
- Parameters:
batch_size (
int) – Number of execution environments.- Return type:
SceneCollisionWorldMode|None- Returns:
The effective mode, or
Nonewhen no dynamic collision entity is registered.
- property static_collision_entity_ids: tuple[str, ...]#
Return canonical IDs baked into the static planner world.
- validate_collision_integration(motion_generator, *, batch_size, scene_provider=None)[source]#
Validate registry/planner agreement before dynamic planning.
- Parameters:
motion_generator (
MotionGenerator) – Motion generator whose planner consumes obstacles.batch_size (
int) – Number of execution environments.scene_provider (
SceneProvider|None) – Optional external perception or hardware provider. Its concretecollision_entity_idsmust agree exactly with the registry and planner declarations.
- Return type:
SceneCollisionWorldMode|None- Returns:
Effective dynamic collision mode, or
Nonewithout dynamic IDs.
- class embodichain.lab.task_program.semantics.RegistrySceneProvider[source]#
Stateful scene provider derived from an immutable registry.
Instances are created by
SceneRegistry.make_scene_provider(); each instance owns its revision counters and material-pose baselines.- Parameters:
registry (
SceneRegistry) – Immutable catalog that owns entity registrations.translation_threshold (
float) – Accumulated translation needed to publish a material scene change.rotation_threshold (
float) – Accumulated rotation needed to publish a material scene change.batch_size (
int|None) – Optional fixed execution batch size. Factory-created planning providers bind this value before their first observation.
Methods:
__init__(registry, *, translation_threshold, ...)snapshot(*, timestamp, env_ids)Observe all canonical entities and advance material revisions.
Attributes:
Return the configured or first-snapshot-resolved collision mode.
- property collision_world_mode: SceneCollisionWorldMode | None#
Return the configured or first-snapshot-resolved collision mode.
- snapshot(*, timestamp, env_ids)[source]#
Observe all canonical entities and advance material revisions.
- Parameters:
timestamp (
float) – Non-negative monotonic observation timestamp.env_ids (
Tensor) – Stable ordered correlation IDs for every environment row.
- Return type:
- Returns:
An immutable snapshot keyed only by canonical registry IDs.
Registration contracts#
- class embodichain.lab.task_program.semantics.SceneEntityRegistration[source]#
Immutable integration metadata for one authoritative scene entity.
Parent relationships, simulator-native names, pose sources, geometry, and affordances belong to the registry registration rather than the lightweight reference copied into semantic calls.
- Parameters:
ref (
SceneEntityRef) – Canonical typed reference.state_provider (
SceneEntityStateProvider|None) – Optional dynamic pose/confidence source.joint_state_provider (
SceneArticulationJointStateProvider|None) – Optional live articulation-joint source.aliases (
tuple[str,...]) – External names normalized at the registry boundary.parent (
SceneEntityRef|None) – Canonical parent for a link or affordance.native_name (
str|None) – Backend-local member name underparent.dynamics (
SceneDynamics) – Physical mobility classification.geometry_provider (
SceneGeometryProvider|None) – Planner-facing collision geometry source.collision_role (
SceneCollisionRole) – Static, dynamic, or no planner collision role.semantic_type (
str|None) – Optional application semantic type.affordance (
Affordance|None) – Affordance value for an affordance registration.affordance_capabilities (
frozenset[str]) – Open semantic operations supported by an affordance registration.default_affordances (
Mapping[str,SceneAffordanceRef]) – Capability-to-child mapping owned by a parent object, articulation, or link registration.affordance_revision (
str|None) – Stable integrator-owned revision or fingerprint for capability-bearing affordance payload data.relative_pose (
Tensor|None) – Optional parent-relative affordance transform.
Methods:
__init__(ref[, state_provider, aliases, ...])Attributes:
Affordance value owned by a
SceneAffordanceRefregistration.Open semantic capabilities declared by an affordance registration.
Stable payload revision required by capability-bearing affordances.
External names normalized once at the registry boundary.
Static/dynamic planner-obstacle role, or
none.Capability-scoped child affordances selected when multiple are valid.
Static, kinematic, dynamic, or unknown mobility classification.
Collision geometry source required for planner collision roles.
Explicit live joint source for an articulation registration.
Backend-local link or affordance name under
parent.Canonical parent reference for a link or affordance.
Canonical typed reference owned by the registry.
Optional parent-relative pose when no explicit state provider exists.
Optional application semantic type such as
containerortool.Explicit dynamic pose/confidence source.
- __init__(ref, state_provider=None, aliases=(), parent=None, native_name=None, dynamics=SceneDynamics.UNKNOWN, geometry_provider=None, collision_role=SceneCollisionRole.NONE, semantic_type=None, affordance=None, affordance_capabilities=frozenset({}), default_affordances=<factory>, affordance_revision=None, relative_pose=None, joint_state_provider=None)#
-
affordance:
Affordance|None# Affordance value owned by a
SceneAffordanceRefregistration.
-
affordance_capabilities:
frozenset[str]# Open semantic capabilities declared by an affordance registration.
-
affordance_revision:
str|None# Stable payload revision required by capability-bearing affordances.
-
aliases:
tuple[str,...]# External names normalized once at the registry boundary.
-
collision_role:
SceneCollisionRole# Static/dynamic planner-obstacle role, or
none.
-
default_affordances:
Mapping[str,SceneAffordanceRef]# Capability-scoped child affordances selected when multiple are valid.
-
dynamics:
SceneDynamics# Static, kinematic, dynamic, or unknown mobility classification.
-
geometry_provider:
SceneGeometryProvider|None# Collision geometry source required for planner collision roles.
-
joint_state_provider:
SceneArticulationJointStateProvider|None# Explicit live joint source for an articulation registration.
-
native_name:
str|None# Backend-local link or affordance name under
parent.
-
parent:
SceneEntityRef|None# Canonical parent reference for a link or affordance.
-
ref:
SceneEntityRef# Canonical typed reference owned by the registry.
-
relative_pose:
Tensor|None# Optional parent-relative pose when no explicit state provider exists.
-
semantic_type:
str|None# Optional application semantic type such as
containerortool.
-
state_provider:
SceneEntityStateProvider|None# Explicit dynamic pose/confidence source.
- class embodichain.lab.task_program.semantics.SceneEntityMetadata[source]#
Provider-free semantic metadata projected from one registration.
- Parameters:
ref (
SceneEntityRef) – Canonical typed entity reference.aliases (
tuple[str,...]) – Boundary aliases, compared as an order-independent set.parent (
SceneEntityRef|None) – Canonical parent for links and affordances.native_name (
str|None) – Backend-local child name.dynamics (
SceneDynamics) – Physical mobility classification.collision_role (
SceneCollisionRole) – Planner collision classification.semantic_type (
str|None) – Optional application semantic type.affordance_capabilities (
frozenset[str]) – Open capabilities of an affordance.default_affordances (
Mapping[str,SceneAffordanceRef]) – Capability-scoped direct-child defaults.affordance_payload_type (
type[Affordance] |None) – Exact registered affordance value type.affordance_revision (
str|None) – Integrator-owned payload revision or fingerprint.relative_pose (
tuple[float,...] |None) – Flattened parent-relative 4x4 pose, when declared.
Methods:
__init__(ref[, aliases, parent, ...])from_registration(registration)Project semantic metadata without copying a live payload/provider.
- __init__(ref, aliases=(), parent=None, native_name=None, dynamics=SceneDynamics.UNKNOWN, collision_role=SceneCollisionRole.NONE, semantic_type=None, affordance_capabilities=frozenset({}), default_affordances=<factory>, affordance_payload_type=None, affordance_revision=None, relative_pose=None)#
- class embodichain.lab.task_program.semantics.SceneEntityStateProvider[source]#
Observe one registered entity for an ordered environment batch.
Methods:
__init__(*args, **kwargs)observe(*, timestamp, env_ids)Return the entity state whose rows follow
env_ids.- __init__(*args, **kwargs)#
- observe(*, timestamp, env_ids)[source]#
Return the entity state whose rows follow
env_ids.- Parameters:
timestamp (
float) – Observation timestamp supplied by the integration.env_ids (
Tensor) – Stable ordered environment correlation IDs.
- Return type:
EntityState- Returns:
Current pose and confidence for the registered entity.
References and enums#
- class embodichain.lab.task_program.semantics.SceneEntityRef[source]#
Typed reference to one authoritative scene-registry entity.
- Parameters:
entity_id (
str) – Globally stable canonical registry identifier.
Methods:
__init__(entity_id)Attributes:
Globally stable authoritative registry identifier.
- __init__(entity_id)#
-
entity_id:
str# Globally stable authoritative registry identifier.
- class embodichain.lab.task_program.semantics.SceneObjectRef[source]#
Reference to one object registered in the semantic scene.
Methods:
__init__(entity_id)- __init__(entity_id)#
- class embodichain.lab.task_program.semantics.SceneArticulationRef[source]#
Reference to one articulation registered in the semantic scene.
Methods:
__init__(entity_id)- __init__(entity_id)#
- class embodichain.lab.task_program.semantics.SceneLinkRef[source]#
Reference to one registered articulation link.
Methods:
__init__(entity_id)- __init__(entity_id)#
- class embodichain.lab.task_program.semantics.SceneAffordanceRef[source]#
Reference to one registered interaction affordance.
Methods:
__init__(entity_id)- __init__(entity_id)#
- class embodichain.lab.task_program.semantics.SceneDynamics[source]#
Physical mobility classification owned by a scene registration.
Methods:
__new__(value)- __new__(value)#
Affordance capabilities and errors#
- embodichain.lab.task_program.semantics.GRASP_AFFORDANCE_CAPABILITY = 'affordance.grasp'#
str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to ‘strict’.
- embodichain.lab.task_program.semantics.PLACE_ON_AFFORDANCE_CAPABILITY = 'affordance.place.on'#
str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to ‘strict’.
- embodichain.lab.task_program.semantics.PLACE_IN_AFFORDANCE_CAPABILITY = 'affordance.place.in'#
str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to ‘strict’.