Spaces:
Running on Zero
Running on Zero
Publish live MiniCPM-V validation evidence
Browse files- data/traces/space-vlm/keyboard.json +6 -6
- data/traces/space-vlm/mug.json +12 -12
- data/traces/space-vlm/shoe.json +14 -14
- docs/SPACE_VLM_REPORT.json +14 -14
- docs/SPACE_VLM_REPORT.md +11 -16
- scripts/check_space_vlm.py +3 -1
data/traces/space-vlm/keyboard.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
{
|
| 2 |
-
"created_at": "2026-06-
|
| 3 |
"diary": {
|
| 4 |
"chinese": "今天他们又理所当然地碰了我,好像一个 computer keyboard 不会有边界感。我保持沉默,因为这大概是我和重力签下的合同。我的情绪是 curious and needlessly profound,秘密恐惧是 discovering that usefulness is not meaning。至少,我已经熬过了好几个所谓紧急计划。",
|
| 5 |
"english": "They touched me again today with the confidence of someone who has never asked a computer keyboard for consent. I remained still, because that is my contract with gravity. My mood is curious and needlessly profound, my secret fear is discovering that usefulness is not meaning, and my only comfort is knowing I have outlived at least three urgent plans.",
|
|
@@ -22,12 +22,12 @@
|
|
| 22 |
"object_understanding": {
|
| 23 |
"object": {
|
| 24 |
"confidence": 0.8,
|
| 25 |
-
"likely_context": "
|
| 26 |
"name": "computer keyboard",
|
| 27 |
"visible_features": [
|
| 28 |
-
"
|
| 29 |
-
"function keys
|
| 30 |
-
"numeric keypad
|
| 31 |
]
|
| 32 |
}
|
| 33 |
},
|
|
@@ -46,5 +46,5 @@
|
|
| 46 |
]
|
| 47 |
}
|
| 48 |
},
|
| 49 |
-
"trace_id": "
|
| 50 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"created_at": "2026-06-09T01:54:35.121605Z",
|
| 3 |
"diary": {
|
| 4 |
"chinese": "今天他们又理所当然地碰了我,好像一个 computer keyboard 不会有边界感。我保持沉默,因为这大概是我和重力签下的合同。我的情绪是 curious and needlessly profound,秘密恐惧是 discovering that usefulness is not meaning。至少,我已经熬过了好几个所谓紧急计划。",
|
| 5 |
"english": "They touched me again today with the confidence of someone who has never asked a computer keyboard for consent. I remained still, because that is my contract with gravity. My mood is curious and needlessly profound, my secret fear is discovering that usefulness is not meaning, and my only comfort is knowing I have outlived at least three urgent plans.",
|
|
|
|
| 22 |
"object_understanding": {
|
| 23 |
"object": {
|
| 24 |
"confidence": 0.8,
|
| 25 |
+
"likely_context": "office or home workspace",
|
| 26 |
"name": "computer keyboard",
|
| 27 |
"visible_features": [
|
| 28 |
+
"QWERTY layout",
|
| 29 |
+
"function keys (F1-F12)",
|
| 30 |
+
"numeric keypad"
|
| 31 |
]
|
| 32 |
}
|
| 33 |
},
|
|
|
|
| 46 |
]
|
| 47 |
}
|
| 48 |
},
|
| 49 |
+
"trace_id": "15bfb61e7ce4410b9879f15273db8397"
|
| 50 |
}
|
data/traces/space-vlm/mug.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
{
|
| 2 |
-
"created_at": "2026-06-
|
| 3 |
"diary": {
|
| 4 |
-
"chinese": "今天他们又理所当然地碰了我,好像一个
|
| 5 |
-
"english": "They touched me again today with the confidence of someone who has never asked a
|
| 6 |
"title": "Secret Diary - Day 427"
|
| 7 |
},
|
| 8 |
"fallbacks": [
|
|
@@ -22,22 +22,22 @@
|
|
| 22 |
"object_understanding": {
|
| 23 |
"object": {
|
| 24 |
"confidence": 0.9,
|
| 25 |
-
"likely_context": "
|
| 26 |
-
"name": "
|
| 27 |
"visible_features": [
|
| 28 |
-
"
|
| 29 |
-
"
|
| 30 |
-
"
|
| 31 |
]
|
| 32 |
}
|
| 33 |
},
|
| 34 |
"persona": {
|
| 35 |
"persona": {
|
| 36 |
"character_name": "CoffeeMug worth",
|
| 37 |
-
"complaint": "I am not just a
|
| 38 |
-
"core_memory": "survived many quiet hours as a
|
| 39 |
"mood": "tired but sarcastic",
|
| 40 |
-
"object_name": "
|
| 41 |
"secret_fear": "being replaced by a newer object with worse opinions",
|
| 42 |
"tags": [
|
| 43 |
"desk survivor",
|
|
@@ -46,5 +46,5 @@
|
|
| 46 |
]
|
| 47 |
}
|
| 48 |
},
|
| 49 |
-
"trace_id": "
|
| 50 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"created_at": "2026-06-09T01:54:27.335788Z",
|
| 3 |
"diary": {
|
| 4 |
+
"chinese": "今天他们又理所当然地碰了我,好像一个 Coffee Mug 不会有边界感。我保持沉默,因为这大概是我和重力签下的合同。我的情绪是 tired but sarcastic,秘密恐惧是 being replaced by a newer object with worse opinions。至少,我已经熬过了好几个所谓紧急计划。",
|
| 5 |
+
"english": "They touched me again today with the confidence of someone who has never asked a Coffee Mug for consent. I remained still, because that is my contract with gravity. My mood is tired but sarcastic, my secret fear is being replaced by a newer object with worse opinions, and my only comfort is knowing I have outlived at least three urgent plans.",
|
| 6 |
"title": "Secret Diary - Day 427"
|
| 7 |
},
|
| 8 |
"fallbacks": [
|
|
|
|
| 22 |
"object_understanding": {
|
| 23 |
"object": {
|
| 24 |
"confidence": 0.9,
|
| 25 |
+
"likely_context": "On a table or countertop in a home or café setting.",
|
| 26 |
+
"name": "Coffee Mug",
|
| 27 |
"visible_features": [
|
| 28 |
+
"Striped pattern",
|
| 29 |
+
"Handle",
|
| 30 |
+
"Matte finish"
|
| 31 |
]
|
| 32 |
}
|
| 33 |
},
|
| 34 |
"persona": {
|
| 35 |
"persona": {
|
| 36 |
"character_name": "CoffeeMug worth",
|
| 37 |
+
"complaint": "I am not just a Coffee Mug. I am an unpaid witness with excellent recall.",
|
| 38 |
+
"core_memory": "survived many quiet hours as a Coffee Mug while humans called it normal life",
|
| 39 |
"mood": "tired but sarcastic",
|
| 40 |
+
"object_name": "Coffee Mug",
|
| 41 |
"secret_fear": "being replaced by a newer object with worse opinions",
|
| 42 |
"tags": [
|
| 43 |
"desk survivor",
|
|
|
|
| 46 |
]
|
| 47 |
}
|
| 48 |
},
|
| 49 |
+
"trace_id": "7a5f6ed22c07454da56207c4fc809d77"
|
| 50 |
}
|
data/traces/space-vlm/shoe.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
{
|
| 2 |
-
"created_at": "2026-06-
|
| 3 |
"diary": {
|
| 4 |
-
"chinese": "今天他们又理所当然地碰了我,好像一个 Running
|
| 5 |
-
"english": "They touched me again today with the confidence of someone who has never asked a Running
|
| 6 |
-
"title": "Secret Diary - Day
|
| 7 |
},
|
| 8 |
"fallbacks": [
|
| 9 |
"mock-text-runtime"
|
|
@@ -22,22 +22,22 @@
|
|
| 22 |
"object_understanding": {
|
| 23 |
"object": {
|
| 24 |
"confidence": 0.9,
|
| 25 |
-
"likely_context": "
|
| 26 |
-
"name": "Running
|
| 27 |
"visible_features": [
|
| 28 |
-
"
|
| 29 |
-
"
|
| 30 |
-
"
|
| 31 |
]
|
| 32 |
}
|
| 33 |
},
|
| 34 |
"persona": {
|
| 35 |
"persona": {
|
| 36 |
-
"character_name": "
|
| 37 |
-
"complaint": "I am not just a Running
|
| 38 |
-
"core_memory": "survived many quiet hours as a Running
|
| 39 |
"mood": "theatrical and wounded",
|
| 40 |
-
"object_name": "Running
|
| 41 |
"secret_fear": "being forgotten before the final act",
|
| 42 |
"tags": [
|
| 43 |
"tragic prop",
|
|
@@ -46,5 +46,5 @@
|
|
| 46 |
]
|
| 47 |
}
|
| 48 |
},
|
| 49 |
-
"trace_id": "
|
| 50 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"created_at": "2026-06-09T01:54:44.356682Z",
|
| 3 |
"diary": {
|
| 4 |
+
"chinese": "今天他们又理所当然地碰了我,好像一个 Running Shoe 不会有边界感。我保持沉默,因为这大概是我和重力签下的合同。我的情绪是 theatrical and wounded,秘密恐惧是 being forgotten before the final act。至少,我已经熬过了好几个所谓紧急计划。",
|
| 5 |
+
"english": "They touched me again today with the confidence of someone who has never asked a Running Shoe for consent. I remained still, because that is my contract with gravity. My mood is theatrical and wounded, my secret fear is being forgotten before the final act, and my only comfort is knowing I have outlived at least three urgent plans.",
|
| 6 |
+
"title": "Secret Diary - Day 429"
|
| 7 |
},
|
| 8 |
"fallbacks": [
|
| 9 |
"mock-text-runtime"
|
|
|
|
| 22 |
"object_understanding": {
|
| 23 |
"object": {
|
| 24 |
"confidence": 0.9,
|
| 25 |
+
"likely_context": "Outdoor sports or athletic activities",
|
| 26 |
+
"name": "Running Shoe",
|
| 27 |
"visible_features": [
|
| 28 |
+
"Purple and pink mesh upper with reflective silver lines",
|
| 29 |
+
"Bright yellow laces",
|
| 30 |
+
"Green and white midsole"
|
| 31 |
]
|
| 32 |
}
|
| 33 |
},
|
| 34 |
"persona": {
|
| 35 |
"persona": {
|
| 36 |
+
"character_name": "RunningShoe von Sigh",
|
| 37 |
+
"complaint": "I am not just a Running Shoe. I am an unpaid witness with excellent recall.",
|
| 38 |
+
"core_memory": "survived many quiet hours as a Running Shoe while humans called it normal life",
|
| 39 |
"mood": "theatrical and wounded",
|
| 40 |
+
"object_name": "Running Shoe",
|
| 41 |
"secret_fear": "being forgotten before the final act",
|
| 42 |
"tags": [
|
| 43 |
"tragic prop",
|
|
|
|
| 46 |
]
|
| 47 |
}
|
| 48 |
},
|
| 49 |
+
"trace_id": "d60a210188a043ef9e87317d91b2536b"
|
| 50 |
}
|
docs/SPACE_VLM_REPORT.json
CHANGED
|
@@ -19,13 +19,13 @@
|
|
| 19 |
"source_page": "https://commons.wikimedia.org/wiki/File:Striped_coffee_mug.jpg",
|
| 20 |
"image_path": ".tmp/space-vlm-assets/mug.jpg",
|
| 21 |
"passed": true,
|
| 22 |
-
"object_name": "
|
| 23 |
"visible_features": [
|
| 24 |
-
"
|
| 25 |
-
"
|
| 26 |
-
"
|
| 27 |
],
|
| 28 |
-
"likely_context": "
|
| 29 |
"confidence": 0.9,
|
| 30 |
"runtime_vision": "minicpm-v object understanding",
|
| 31 |
"runtime_text": "mock persona and diary generation",
|
|
@@ -42,11 +42,11 @@
|
|
| 42 |
"passed": true,
|
| 43 |
"object_name": "computer keyboard",
|
| 44 |
"visible_features": [
|
| 45 |
-
"
|
| 46 |
-
"function keys
|
| 47 |
-
"numeric keypad
|
| 48 |
],
|
| 49 |
-
"likely_context": "
|
| 50 |
"confidence": 0.8,
|
| 51 |
"runtime_vision": "minicpm-v object understanding",
|
| 52 |
"runtime_text": "mock persona and diary generation",
|
|
@@ -61,13 +61,13 @@
|
|
| 61 |
"source_page": "https://commons.wikimedia.org/wiki/File:Running_shoes.jpg",
|
| 62 |
"image_path": ".tmp/space-vlm-assets/shoe.jpg",
|
| 63 |
"passed": true,
|
| 64 |
-
"object_name": "Running
|
| 65 |
"visible_features": [
|
| 66 |
-
"
|
| 67 |
-
"
|
| 68 |
-
"
|
| 69 |
],
|
| 70 |
-
"likely_context": "
|
| 71 |
"confidence": 0.9,
|
| 72 |
"runtime_vision": "minicpm-v object understanding",
|
| 73 |
"runtime_text": "mock persona and diary generation",
|
|
|
|
| 19 |
"source_page": "https://commons.wikimedia.org/wiki/File:Striped_coffee_mug.jpg",
|
| 20 |
"image_path": ".tmp/space-vlm-assets/mug.jpg",
|
| 21 |
"passed": true,
|
| 22 |
+
"object_name": "Coffee Mug",
|
| 23 |
"visible_features": [
|
| 24 |
+
"Striped pattern",
|
| 25 |
+
"Handle",
|
| 26 |
+
"Matte finish"
|
| 27 |
],
|
| 28 |
+
"likely_context": "On a table or countertop in a home or café setting.",
|
| 29 |
"confidence": 0.9,
|
| 30 |
"runtime_vision": "minicpm-v object understanding",
|
| 31 |
"runtime_text": "mock persona and diary generation",
|
|
|
|
| 42 |
"passed": true,
|
| 43 |
"object_name": "computer keyboard",
|
| 44 |
"visible_features": [
|
| 45 |
+
"QWERTY layout",
|
| 46 |
+
"function keys (F1-F12)",
|
| 47 |
+
"numeric keypad"
|
| 48 |
],
|
| 49 |
+
"likely_context": "office or home workspace",
|
| 50 |
"confidence": 0.8,
|
| 51 |
"runtime_vision": "minicpm-v object understanding",
|
| 52 |
"runtime_text": "mock persona and diary generation",
|
|
|
|
| 61 |
"source_page": "https://commons.wikimedia.org/wiki/File:Running_shoes.jpg",
|
| 62 |
"image_path": ".tmp/space-vlm-assets/shoe.jpg",
|
| 63 |
"passed": true,
|
| 64 |
+
"object_name": "Running Shoe",
|
| 65 |
"visible_features": [
|
| 66 |
+
"Purple and pink mesh upper with reflective silver lines",
|
| 67 |
+
"Bright yellow laces",
|
| 68 |
+
"Green and white midsole"
|
| 69 |
],
|
| 70 |
+
"likely_context": "Outdoor sports or athletic activities",
|
| 71 |
"confidence": 0.9,
|
| 72 |
"runtime_vision": "minicpm-v object understanding",
|
| 73 |
"runtime_text": "mock persona and diary generation",
|
docs/SPACE_VLM_REPORT.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
# Space VLM Validation Report
|
| 2 |
|
| 3 |
-
- Generated at: 2026-06-
|
| 4 |
- Space URL: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
|
| 5 |
- Space repo: `build-small-hackathon/ObjectverseDiary`
|
| 6 |
- Overall status: PASS
|
|
@@ -15,12 +15,7 @@
|
|
| 15 |
- `OBJECTVERSE_VISION_BACKEND`: `minicpm-v`
|
| 16 |
- `VISION_MODEL_ID`: `openbmb/MiniCPM-V-2_6`
|
| 17 |
- `OBJECTVERSE_TEXT_BACKEND`: `mock`
|
| 18 |
-
|
| 19 |
-
- Rollback configuration:
|
| 20 |
-
- `repo_id`: `build-small-hackathon/ObjectverseDiary`
|
| 21 |
-
- `hardware`: `cpu-basic`
|
| 22 |
-
- `OBJECTVERSE_VISION_BACKEND`: `mock`
|
| 23 |
-
- `OBJECTVERSE_TEXT_BACKEND`: `mock`
|
| 24 |
|
| 25 |
## Vision Runtime Probe
|
| 26 |
|
|
@@ -43,9 +38,9 @@
|
|
| 43 |
- Status: PASS
|
| 44 |
- Source: https://commons.wikimedia.org/wiki/File:Striped_coffee_mug.jpg
|
| 45 |
- Local temporary image: `.tmp/space-vlm-assets/mug.jpg`
|
| 46 |
-
- Object name: `
|
| 47 |
-
- Visible features:
|
| 48 |
-
- Likely context: `
|
| 49 |
- Confidence: 0.90
|
| 50 |
- Runtime vision: `minicpm-v object understanding`
|
| 51 |
- Runtime text: `mock persona and diary generation`
|
|
@@ -57,8 +52,8 @@
|
|
| 57 |
- Source: https://commons.wikimedia.org/wiki/File:Computer_keyboard.jpg
|
| 58 |
- Local temporary image: `.tmp/space-vlm-assets/keyboard.jpg`
|
| 59 |
- Object name: `computer keyboard`
|
| 60 |
-
- Visible features:
|
| 61 |
-
- Likely context: `
|
| 62 |
- Confidence: 0.80
|
| 63 |
- Runtime vision: `minicpm-v object understanding`
|
| 64 |
- Runtime text: `mock persona and diary generation`
|
|
@@ -69,9 +64,9 @@
|
|
| 69 |
- Status: PASS
|
| 70 |
- Source: https://commons.wikimedia.org/wiki/File:Running_shoes.jpg
|
| 71 |
- Local temporary image: `.tmp/space-vlm-assets/shoe.jpg`
|
| 72 |
-
- Object name: `Running
|
| 73 |
-
- Visible features:
|
| 74 |
-
- Likely context: `
|
| 75 |
- Confidence: 0.90
|
| 76 |
- Runtime vision: `minicpm-v object understanding`
|
| 77 |
- Runtime text: `mock persona and diary generation`
|
|
@@ -81,4 +76,4 @@
|
|
| 81 |
|
| 82 |
- Test images are temporary public Wikimedia Commons assets and are not committed.
|
| 83 |
- No tokens, secrets, or private file paths should be recorded in this report.
|
| 84 |
-
- If validation fails, switch `OBJECTVERSE_VISION_BACKEND` back to `mock`
|
|
|
|
| 1 |
# Space VLM Validation Report
|
| 2 |
|
| 3 |
+
- Generated at: 2026-06-09 01:54:43 UTC
|
| 4 |
- Space URL: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
|
| 5 |
- Space repo: `build-small-hackathon/ObjectverseDiary`
|
| 6 |
- Overall status: PASS
|
|
|
|
| 15 |
- `OBJECTVERSE_VISION_BACKEND`: `minicpm-v`
|
| 16 |
- `VISION_MODEL_ID`: `openbmb/MiniCPM-V-2_6`
|
| 17 |
- `OBJECTVERSE_TEXT_BACKEND`: `mock`
|
| 18 |
+
- Rollback configuration: not applied by this run; live MiniCPM-V configuration remains active.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
## Vision Runtime Probe
|
| 21 |
|
|
|
|
| 38 |
- Status: PASS
|
| 39 |
- Source: https://commons.wikimedia.org/wiki/File:Striped_coffee_mug.jpg
|
| 40 |
- Local temporary image: `.tmp/space-vlm-assets/mug.jpg`
|
| 41 |
+
- Object name: `Coffee Mug`
|
| 42 |
+
- Visible features: Striped pattern, Handle, Matte finish
|
| 43 |
+
- Likely context: `On a table or countertop in a home or café setting.`
|
| 44 |
- Confidence: 0.90
|
| 45 |
- Runtime vision: `minicpm-v object understanding`
|
| 46 |
- Runtime text: `mock persona and diary generation`
|
|
|
|
| 52 |
- Source: https://commons.wikimedia.org/wiki/File:Computer_keyboard.jpg
|
| 53 |
- Local temporary image: `.tmp/space-vlm-assets/keyboard.jpg`
|
| 54 |
- Object name: `computer keyboard`
|
| 55 |
+
- Visible features: QWERTY layout, function keys (F1-F12), numeric keypad
|
| 56 |
+
- Likely context: `office or home workspace`
|
| 57 |
- Confidence: 0.80
|
| 58 |
- Runtime vision: `minicpm-v object understanding`
|
| 59 |
- Runtime text: `mock persona and diary generation`
|
|
|
|
| 64 |
- Status: PASS
|
| 65 |
- Source: https://commons.wikimedia.org/wiki/File:Running_shoes.jpg
|
| 66 |
- Local temporary image: `.tmp/space-vlm-assets/shoe.jpg`
|
| 67 |
+
- Object name: `Running Shoe`
|
| 68 |
+
- Visible features: Purple and pink mesh upper with reflective silver lines, Bright yellow laces, Green and white midsole
|
| 69 |
+
- Likely context: `Outdoor sports or athletic activities`
|
| 70 |
- Confidence: 0.90
|
| 71 |
- Runtime vision: `minicpm-v object understanding`
|
| 72 |
- Runtime text: `mock persona and diary generation`
|
|
|
|
| 76 |
|
| 77 |
- Test images are temporary public Wikimedia Commons assets and are not committed.
|
| 78 |
- No tokens, secrets, or private file paths should be recorded in this report.
|
| 79 |
+
- If live validation fails, run the documented rollback command to switch `OBJECTVERSE_VISION_BACKEND` back to `mock`.
|
scripts/check_space_vlm.py
CHANGED
|
@@ -659,7 +659,9 @@ def _assert_hf_auth(api: Any) -> None:
|
|
| 659 |
try:
|
| 660 |
user = api.whoami()
|
| 661 |
except Exception as exc:
|
| 662 |
-
raise RuntimeError(
|
|
|
|
|
|
|
| 663 |
if not isinstance(user, dict) or not user.get("name"):
|
| 664 |
raise RuntimeError("Hugging Face authentication did not return a user name.")
|
| 665 |
|
|
|
|
| 659 |
try:
|
| 660 |
user = api.whoami()
|
| 661 |
except Exception as exc:
|
| 662 |
+
raise RuntimeError(
|
| 663 |
+
f"Hugging Face authentication check failed: {type(exc).__name__}: {exc}"
|
| 664 |
+
) from exc
|
| 665 |
if not isinstance(user, dict) or not user.get("name"):
|
| 666 |
raise RuntimeError("Hugging Face authentication did not return a user name.")
|
| 667 |
|