AdrianLlopart commited on
Commit
3ee8bd8
·
verified ·
1 Parent(s): e29f8df

fix(manifest): explicit embodiment_tags ["any"] (ADR-0071)

Browse files

Empty embodiment_tags is no longer valid in the OpenRAL loader; embodiment-agnostic skills declare the explicit "any" wildcard.

Files changed (2) hide show
  1. SKILL.md +2 -0
  2. rskill.yaml +90 -0
SKILL.md CHANGED
@@ -9,6 +9,7 @@ metadata:
9
  manifest: ./rskill.yaml
10
  role: s2
11
  kind: reward
 
12
  actions: [monitor]
13
  objects: [task progress, task success]
14
  scenes: [tabletop, kitchen, indoor, manipulation]
@@ -41,6 +42,7 @@ An OpenRAL **task-progress / reward monitor** (`role: s2`, `kind: reward`). Robo
41
  - **Verbs:** monitor
42
  - **Objects:** task progress · task success
43
  - **Scenes:** tabletop · kitchen · indoor · manipulation
 
44
 
45
  ## Why this is discovery-only
46
 
 
9
  manifest: ./rskill.yaml
10
  role: s2
11
  kind: reward
12
+ embodiment_tags: [any]
13
  actions: [monitor]
14
  objects: [task progress, task success]
15
  scenes: [tabletop, kitchen, indoor, manipulation]
 
42
  - **Verbs:** monitor
43
  - **Objects:** task progress · task success
44
  - **Scenes:** tabletop · kitchen · indoor · manipulation
45
+ - **Embodiments:** any
46
 
47
  ## Why this is discovery-only
48
 
rskill.yaml ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ schema_version: "0.1"
2
+ name: "OpenRAL/rskill-robometer-4b-nf4"
3
+ version: "0.1.0"
4
+ license: "apache-2.0"
5
+ role: "s2"
6
+ kind: "reward"
7
+
8
+ # Embodiment-agnostic: a reward monitor scores any rollout video + task
9
+ # instruction and is exempt from the rSkill<->robot embodiment gate.
10
+ embodiment_tags: ["any"] # explicit embodiment-agnostic wildcard (ADR-0071)
11
+
12
+ # Consumes the same RGB camera stream the co-active VLA uses. No actuators.
13
+ sensors_required:
14
+ - modality: "rgb"
15
+ min_width: 224
16
+ min_height: 224
17
+
18
+ actuators_required: []
19
+
20
+ runtime: "pytorch"
21
+
22
+ # NF4 bitsandbytes quantization (empirically validated, ADR-0057 Phase 2):
23
+ # 236 Linear modules -> Linear4bit, 8.91 GB bf16 -> 3.33 GB resident,
24
+ # 3.56 GB peak incl. an 8-frame forward (4.44 GB headroom on an 8 GB GPU).
25
+ quantization:
26
+ dtype: "int4"
27
+ backend: "pytorch"
28
+ extra:
29
+ scheme: "nf4"
30
+ quantizer: "bitsandbytes"
31
+ compute_dtype: "bfloat16"
32
+ min_params_to_quantize: 4000000
33
+ # RBM cannot be loaded by vanilla AutoModel (config advertises
34
+ # architectures:["RFM"] with no auto_map). The sidecar loads via the
35
+ # pinned robometer package: robometer.utils.save.load_model_from_hf.
36
+ loader: "robometer.utils.save.load_model_from_hf"
37
+ # transformers MUST be pinned to 4.57.1 (5.x changes processor kwargs and
38
+ # drops input_ids). robometer package pinned to a669dffc.
39
+ transformers_pin: "4.57.1"
40
+ robometer_pin: "a669dffc241d7d76bec12f36efd4084d914d017c"
41
+
42
+ min_vram_gb:
43
+ fp32: 18.0
44
+ bf16: 9.0
45
+ int4: 3.6
46
+
47
+ # Pre-quantized NF4 checkpoint (ADR-0057): the sidecar loads the packed weights
48
+ # DIRECTLY on the meta device via Params4bit.from_prequantized — no bf16
49
+ # materialization, no requantize (~25 s to ready vs ~110 s + a 19 GB CPU spike).
50
+ # Bit-identical to the bf16+quantize path. Built by
51
+ # tools/build_robometer_nf4_checkpoint.py from the SHA-pinned upstream below.
52
+ weights_uri: "hf://OpenRAL/rskill-robometer-4b-nf4"
53
+
54
+ chunk_size: 1
55
+ latency_budget:
56
+ # S2-cadence monitor over a frame window; not a per-control-step signal.
57
+ per_chunk_ms: 3000.0
58
+
59
+ source_repo: "hf://robometer/Robometer-4B@beef63bc914c5c189329d49c6d712d96d632aa34"
60
+
61
+ # Reward / progress-monitor contract (ADR-0057). Discrete mode yields
62
+ # per-frame normalized progress in [0,1] + per-frame success probability.
63
+ reward:
64
+ progress_range: [0.0, 1.0]
65
+ success_threshold: 0.5
66
+ preference: false
67
+ frame_window_s: 8.0
68
+ target_fps: 3.0
69
+ num_bins: 100
70
+ instruction_required: true
71
+
72
+ description: >
73
+ Robometer-4B (Qwen3-VL-4B robotic reward foundation model, arXiv 2603.02115)
74
+ as an NF4 reward rSkill. Runs parallel to a VLA: given rollout frames + the
75
+ task instruction it emits per-frame normalized progress (0-1) and success
76
+ probability, queried on demand by the Reasoner. Advisory-only — never gates
77
+ motors. Embodiment-agnostic. Apache-2.0. ADR-0057.
78
+
79
+ actions:
80
+ - "monitor"
81
+
82
+ objects:
83
+ - "task progress"
84
+ - "task success"
85
+
86
+ scenes:
87
+ - "tabletop"
88
+ - "kitchen"
89
+ - "indoor"
90
+ - "manipulation"