qqyule commited on
Commit
4a4024d
·
verified ·
1 Parent(s): 741de74

Record passing hosted MiniCPM validation

Browse files
README.md CHANGED
@@ -27,7 +27,7 @@ Stable mock-safe submission baseline, MiniCPM-V vision backend wiring, non-secre
27
 
28
  By default, the app uses deterministic mock outputs for object understanding, persona generation, diary writing, chat replies, share card rendering, and trace saving. This keeps the public demo reproducible and avoids commercial AI APIs.
29
 
30
- `OBJECTVERSE_VISION_BACKEND=minicpm-v` enables the optional MiniCPM-V 2.6 vision path. The hosted ZeroGPU validation on June 8, 2026 reached the Space but fell back to mock vision for all three public test images; this is documented in `docs/SPACE_VLM_REPORT.md` and `docs/FAILURES.md`.
31
 
32
  `OBJECTVERSE_TEXT_BACKEND=llama-cpp` can use a local GGUF model through optional `llama-cpp-python` when `TEXT_MODEL_PATH` is configured. No GGUF file is committed in this stable submission baseline. A short Modal-trained LoRA adapter is published for Well-Tuned evidence, but it is not converted to GGUF or wired into the public Space runtime yet.
33
 
@@ -60,7 +60,7 @@ The interface is English-first and Chinese-second.
60
  - [x] Off-Brand — archive-style Gradio UI, English-first with Chinese helper text.
61
  - [x] Sharing is Caring — public mock traces, JSONL export, prompt templates, and failure notes.
62
  - [x] Field Notes — article draft in `docs/FIELD_NOTES.md`.
63
- - [ ] OpenBMB Special — MiniCPM-V wiring exists, but hosted validation currently falls back to mock vision.
64
  - [ ] Llama Champion — llama.cpp wiring and smoke helper exist, but real GGUF smoke test is not complete.
65
  - [x] Well-Tuned — synthetic curated SFT dataset and Qwen 1.5B LoRA test adapter are published.
66
  - [ ] Off the Grid — no commercial AI APIs are used; final badge eligibility depends on hackathon review.
@@ -145,7 +145,7 @@ The stable submission baseline supports:
145
  - Fine-tuned LoRA adapter: https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora
146
  - Public mock traces: `data/traces/samples/`
147
  - Trace JSONL export: `data/traces/samples/objectverse_public_mock_traces.jsonl`
148
- - Hosted VLM failure evidence: `docs/SPACE_VLM_REPORT.md`, `docs/SPACE_VLM_REPORT.json`, `data/traces/space-vlm/`
149
  - Hosted VLM diagnostic support: hidden `/vision_runtime_probe` API and probe-aware `scripts/check_space_vlm.py`
150
  - Field Notes draft: `docs/FIELD_NOTES.md`
151
  - Demo video script: `docs/DEMO_VIDEO_SCRIPT.md`
 
27
 
28
  By default, the app uses deterministic mock outputs for object understanding, persona generation, diary writing, chat replies, share card rendering, and trace saving. This keeps the public demo reproducible and avoids commercial AI APIs.
29
 
30
+ `OBJECTVERSE_VISION_BACKEND=minicpm-v` enables the optional MiniCPM-V 2.6 vision path. The hosted ZeroGPU validation on June 8, 2026 passed for public mug, keyboard, and shoe images after the Space received an `HF_TOKEN` secret with access to the gated `openbmb/MiniCPM-V-2_6` model. The public Space still rolls back to mock mode after validation so the default demo remains stable.
31
 
32
  `OBJECTVERSE_TEXT_BACKEND=llama-cpp` can use a local GGUF model through optional `llama-cpp-python` when `TEXT_MODEL_PATH` is configured. No GGUF file is committed in this stable submission baseline. A short Modal-trained LoRA adapter is published for Well-Tuned evidence, but it is not converted to GGUF or wired into the public Space runtime yet.
33
 
 
60
  - [x] Off-Brand — archive-style Gradio UI, English-first with Chinese helper text.
61
  - [x] Sharing is Caring — public mock traces, JSONL export, prompt templates, and failure notes.
62
  - [x] Field Notes — article draft in `docs/FIELD_NOTES.md`.
63
+ - [x] OpenBMB Special — MiniCPM-V 2.6 wiring exists and hosted ZeroGPU validation passed for mug, keyboard, and shoe.
64
  - [ ] Llama Champion — llama.cpp wiring and smoke helper exist, but real GGUF smoke test is not complete.
65
  - [x] Well-Tuned — synthetic curated SFT dataset and Qwen 1.5B LoRA test adapter are published.
66
  - [ ] Off the Grid — no commercial AI APIs are used; final badge eligibility depends on hackathon review.
 
145
  - Fine-tuned LoRA adapter: https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora
146
  - Public mock traces: `data/traces/samples/`
147
  - Trace JSONL export: `data/traces/samples/objectverse_public_mock_traces.jsonl`
148
+ - Hosted VLM validation evidence: `docs/SPACE_VLM_REPORT.md`, `docs/SPACE_VLM_REPORT.json`, `data/traces/space-vlm/`
149
  - Hosted VLM diagnostic support: hidden `/vision_runtime_probe` API and probe-aware `scripts/check_space_vlm.py`
150
  - Field Notes draft: `docs/FIELD_NOTES.md`
151
  - Demo video script: `docs/DEMO_VIDEO_SCRIPT.md`
data/traces/space-vlm/keyboard.json CHANGED
@@ -1,12 +1,11 @@
1
  {
2
- "created_at": "2026-06-08T08:33:09.283686Z",
3
  "diary": {
4
- "chinese": "今天他们又理所当然地碰了我,好像一个 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 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.",
6
- "title": "Secret Diary - Day 425"
7
  },
8
  "fallbacks": [
9
- "vision-fallback-to-mock",
10
  "mock-text-runtime"
11
  ],
12
  "input": {
@@ -22,22 +21,23 @@
22
  },
23
  "object_understanding": {
24
  "object": {
25
- "confidence": 0.42,
26
- "likely_context": "everyday human environment",
27
- "name": "keyboard",
28
  "visible_features": [
29
- "uploaded photo provided",
30
- "user-supplied description"
 
31
  ]
32
  }
33
  },
34
  "persona": {
35
  "persona": {
36
- "character_name": "Keyboard the Questioning",
37
- "complaint": "I am not just a keyboard. I am an unpaid witness with excellent recall.",
38
- "core_memory": "survived many quiet hours as a keyboard while humans called it normal life",
39
  "mood": "curious and needlessly profound",
40
- "object_name": "keyboard",
41
  "secret_fear": "discovering that usefulness is not meaning",
42
  "tags": [
43
  "tiny ontology",
@@ -46,5 +46,5 @@
46
  ]
47
  }
48
  },
49
- "trace_id": "d0e4c63c2da84d7d94fb2c080d71ea83"
50
  }
 
1
  {
2
+ "created_at": "2026-06-08T08:58:16.469809Z",
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.",
6
+ "title": "Secret Diary - Day 434"
7
  },
8
  "fallbacks": [
 
9
  "mock-text-runtime"
10
  ],
11
  "input": {
 
21
  },
22
  "object_understanding": {
23
  "object": {
24
+ "confidence": 0.8,
25
+ "likely_context": "a workspace or office environment",
26
+ "name": "computer keyboard",
27
  "visible_features": [
28
+ "black keys with white characters",
29
+ "function keys at the top",
30
+ "numeric keypad to the right"
31
  ]
32
  }
33
  },
34
  "persona": {
35
  "persona": {
36
+ "character_name": "ComputerKeyboard the Questioning",
37
+ "complaint": "I am not just a computer keyboard. I am an unpaid witness with excellent recall.",
38
+ "core_memory": "survived many quiet hours as a computer keyboard while humans called it normal life",
39
  "mood": "curious and needlessly profound",
40
+ "object_name": "computer keyboard",
41
  "secret_fear": "discovering that usefulness is not meaning",
42
  "tags": [
43
  "tiny ontology",
 
46
  ]
47
  }
48
  },
49
+ "trace_id": "89355030d0334558a873817365f8495e"
50
  }
data/traces/space-vlm/mug.json CHANGED
@@ -1,12 +1,11 @@
1
  {
2
- "created_at": "2026-06-08T08:33:03.634312Z",
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": [
9
- "vision-fallback-to-mock",
10
  "mock-text-runtime"
11
  ],
12
  "input": {
@@ -22,12 +21,13 @@
22
  },
23
  "object_understanding": {
24
  "object": {
25
- "confidence": 0.42,
26
- "likely_context": "everyday human environment",
27
  "name": "coffee mug",
28
  "visible_features": [
29
- "uploaded photo provided",
30
- "user-supplied description"
 
31
  ]
32
  }
33
  },
@@ -46,5 +46,5 @@
46
  ]
47
  }
48
  },
49
- "trace_id": "e3d3e8492193412b9a8a9110849645d3"
50
  }
 
1
  {
2
+ "created_at": "2026-06-08T08:58:08.563609Z",
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": [
 
9
  "mock-text-runtime"
10
  ],
11
  "input": {
 
21
  },
22
  "object_understanding": {
23
  "object": {
24
+ "confidence": 0.9,
25
+ "likely_context": "on a table or countertop in a kitchen or dining area",
26
  "name": "coffee mug",
27
  "visible_features": [
28
+ "colorful stripes",
29
+ "handle",
30
+ "ceramic material"
31
  ]
32
  }
33
  },
 
46
  ]
47
  }
48
  },
49
+ "trace_id": "12f9b4f2662a4590b86e522702af945d"
50
  }
data/traces/space-vlm/shoe.json CHANGED
@@ -1,12 +1,11 @@
1
  {
2
- "created_at": "2026-06-08T08:33:17.553738Z",
3
  "diary": {
4
- "chinese": "今天他们又理所当然地碰了我,好像一个 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 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 421"
7
  },
8
  "fallbacks": [
9
- "vision-fallback-to-mock",
10
  "mock-text-runtime"
11
  ],
12
  "input": {
@@ -22,22 +21,23 @@
22
  },
23
  "object_understanding": {
24
  "object": {
25
- "confidence": 0.42,
26
- "likely_context": "everyday human environment",
27
- "name": "shoe",
28
  "visible_features": [
29
- "uploaded photo provided",
30
- "user-supplied description"
 
31
  ]
32
  }
33
  },
34
  "persona": {
35
  "persona": {
36
- "character_name": "Shoe von Sigh",
37
- "complaint": "I am not just a shoe. I am an unpaid witness with excellent recall.",
38
- "core_memory": "survived many quiet hours as a shoe while humans called it normal life",
39
  "mood": "theatrical and wounded",
40
- "object_name": "shoe",
41
  "secret_fear": "being forgotten before the final act",
42
  "tags": [
43
  "tragic prop",
@@ -46,5 +46,5 @@
46
  ]
47
  }
48
  },
49
- "trace_id": "3bfef1717f3d42759c9257e1e4aa392f"
50
  }
 
1
  {
2
+ "created_at": "2026-06-08T08:58:24.739489Z",
3
  "diary": {
4
+ "chinese": "今天他们又理所当然地碰了我,好像一个 Running Shoes 不会有边界感。我保持沉默,因为这大概是我和重力签下的合同。我的情绪是 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 Shoes 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 430"
7
  },
8
  "fallbacks": [
 
9
  "mock-text-runtime"
10
  ],
11
  "input": {
 
21
  },
22
  "object_understanding": {
23
  "object": {
24
+ "confidence": 0.9,
25
+ "likely_context": "Used in athletic activities such as running or training.",
26
+ "name": "Running Shoes",
27
  "visible_features": [
28
+ "Multicolored design with purple and pink as dominant colors.",
29
+ "Yellow laces and green accents on the tongue and sole.",
30
+ "White midsole with a textured pattern for cushioning."
31
  ]
32
  }
33
  },
34
  "persona": {
35
  "persona": {
36
+ "character_name": "RunningShoes von Sigh",
37
+ "complaint": "I am not just a Running Shoes. I am an unpaid witness with excellent recall.",
38
+ "core_memory": "survived many quiet hours as a Running Shoes while humans called it normal life",
39
  "mood": "theatrical and wounded",
40
+ "object_name": "Running Shoes",
41
  "secret_fear": "being forgotten before the final act",
42
  "tags": [
43
  "tragic prop",
 
46
  ]
47
  }
48
  },
49
+ "trace_id": "a738c79eb2af443889d7fd3bb0138576"
50
  }
docs/DEMO_VIDEO_SCRIPT.md CHANGED
@@ -4,7 +4,7 @@
4
 
5
  Record a 90-second stable demo for Objectverse Diary using the mock-safe Hugging Face Space or local Gradio app.
6
 
7
- Do not claim that hosted MiniCPM-V validation, GGUF text generation, or live LoRA runtime wiring are complete. The stable demo should emphasize the product loop, Gradio Off-Brand UI, public traces, published dataset/LoRA evidence, and no commercial AI APIs.
8
 
9
  ## Recording Setup
10
 
@@ -95,7 +95,7 @@ Screen:
95
 
96
  Voiceover:
97
 
98
- > MiniCPM-V and llama.cpp paths are wired behind fallbacks, but this stable submission keeps the demo mock-safe and reproducible. Every object has a secret life.
99
 
100
  Screen:
101
 
@@ -103,7 +103,7 @@ Screen:
103
 
104
  ## Notes For Submission
105
 
106
- - Mention MiniCPM-V as wired but not hosted-validated yet.
107
  - Mention the published synthetic curated dataset and LoRA adapter only as training evidence, not live Space runtime.
108
  - Mention public traces and failure notes if the submission form asks for reproducibility.
109
  - Keep the final video under 2 minutes.
 
4
 
5
  Record a 90-second stable demo for Objectverse Diary using the mock-safe Hugging Face Space or local Gradio app.
6
 
7
+ Do not claim that GGUF text generation or live LoRA runtime wiring are complete. Hosted MiniCPM-V validation is complete for the vision path, but the stable demo should still emphasize the mock-safe product loop, Gradio Off-Brand UI, public traces, published dataset/LoRA evidence, and no commercial AI APIs.
8
 
9
  ## Recording Setup
10
 
 
95
 
96
  Voiceover:
97
 
98
+ > MiniCPM-V is validated on ZeroGPU, while this stable public demo stays mock-safe and reproducible by default. Every object has a secret life.
99
 
100
  Screen:
101
 
 
103
 
104
  ## Notes For Submission
105
 
106
+ - Mention MiniCPM-V as hosted-validated for object understanding, while the public demo defaults to mock for reliability.
107
  - Mention the published synthetic curated dataset and LoRA adapter only as training evidence, not live Space runtime.
108
  - Mention public traces and failure notes if the submission form asks for reproducibility.
109
  - Keep the final video under 2 minutes.
docs/DEVELOPMENT_STATUS.md CHANGED
@@ -26,6 +26,8 @@ Last updated: 2026-06-08
26
  - failure-note updater for the latest Space VLM failure summary
27
  - failed L4 validation report at `docs/SPACE_VLM_REPORT.md`
28
  - optional `--trace-output-dir` evidence export for validation traces
 
 
29
  - ZeroGPU compatibility:
30
  - optional `src/utils/zero_gpu.py`
31
  - Gradio generation callback wrapped with `@zero_gpu(duration=180)`
@@ -47,14 +49,11 @@ Last updated: 2026-06-08
47
 
48
  ## Not Completed
49
 
50
- - Hosted Space MiniCPM-V validation with real public mug/keyboard/shoe images. Paid L4 was blocked by Hugging Face `402 Payment Required`; ZeroGPU CUDA probe passed; the 2026-06-08 full ZeroGPU validation reached the app but all three objects fell back to mock vision.
51
- - Passing real VLM demo trace capture. Failed Space VLM traces are kept as fallback evidence and do not replace mock sample traces.
52
  - Real GGUF download/configuration outside Git and `TEXT_MODEL_PATH` smoke test. Model selection is now documented, but the file is not downloaded and optional `llama-cpp-python` is not installed by default.
53
  - Final text model parameter count documentation.
54
- - Real model traces from non-mock runtime.
55
  - GGUF conversion and runtime wiring for the published LoRA adapter.
56
- - GitHub sync / final public repository confirmation.
57
- - Published Field Notes URL, recorded demo video URL, social post URL, GitHub push confirmation, Space sync confirmation, and final public submission.
58
 
59
  ## Current Safe Defaults
60
 
@@ -69,7 +68,7 @@ For a stable public baseline, keep the mock-safe Space as the demo path and only
69
 
70
  Next model gate:
71
 
72
- Optional next model gate after stable submission: inspect the hosted Space MiniCPM-V failure cause without exposing secrets, then rerun hosted Space VLM validation on ZeroGPU:
73
 
74
  ```bash
75
  .venv/bin/python -B scripts/check_space_vlm.py \
 
26
  - failure-note updater for the latest Space VLM failure summary
27
  - failed L4 validation report at `docs/SPACE_VLM_REPORT.md`
28
  - optional `--trace-output-dir` evidence export for validation traces
29
+ - Hosted MiniCPM-V 2.6 ZeroGPU validation passed on 2026-06-08 for public mug, keyboard, and shoe images after adding an `HF_TOKEN` Space secret for gated model access.
30
+ - Real VLM trace evidence from the hosted validation is available under `data/traces/space-vlm/`; text generation remained mock by design.
31
  - ZeroGPU compatibility:
32
  - optional `src/utils/zero_gpu.py`
33
  - Gradio generation callback wrapped with `@zero_gpu(duration=180)`
 
49
 
50
  ## Not Completed
51
 
 
 
52
  - Real GGUF download/configuration outside Git and `TEXT_MODEL_PATH` smoke test. Model selection is now documented, but the file is not downloaded and optional `llama-cpp-python` is not installed by default.
53
  - Final text model parameter count documentation.
54
+ - Real text model traces from non-mock runtime.
55
  - GGUF conversion and runtime wiring for the published LoRA adapter.
56
+ - Published Field Notes URL, recorded demo video URL, social post URL, and final public submission.
 
57
 
58
  ## Current Safe Defaults
59
 
 
68
 
69
  Next model gate:
70
 
71
+ Optional rerun gate if Space variables, secrets, or dependencies change:
72
 
73
  ```bash
74
  .venv/bin/python -B scripts/check_space_vlm.py \
docs/FAILURES.md CHANGED
@@ -8,9 +8,9 @@ Use it for model/runtime/deployment/data issues, not for UI polish notes.
8
 
9
  ## Current Status
10
 
11
- MiniCPM-V 2.6 is wired as an optional vision backend. Hosted Space ZeroGPU validation ran on 2026-06-08, but all three public object checks fell back to mock vision, so full hosted MiniCPM-V validation is still unresolved.
12
 
13
- The app now includes a hidden `/vision_runtime_probe` API and `scripts/check_space_vlm.py` writes probe output into the Space VLM report before image validation. The next hosted run should use this probe to identify whether the fallback is caused by dependency import, GPU visibility, MiniCPM-V loading, or generation output.
14
 
15
  The recommended baseline GGUF for local text smoke testing is selected, but not downloaded or run:
16
 
@@ -48,7 +48,17 @@ Known non-blocking warning:
48
  - Resolution: unresolved; inspect Space runtime logs or add non-secret fallback diagnostics for the MiniCPM-V load/chat exception.
49
  - Evidence: `docs/SPACE_VLM_REPORT.md`, `docs/SPACE_VLM_REPORT.json`, and `data/traces/space-vlm/`.
50
 
51
- ## Latest Space VLM Validation Failure
 
 
 
 
 
 
 
 
 
 
52
 
53
  - Updated: 2026-06-08 08:33:19 UTC
54
  - Area: Hugging Face Space vision runtime.
 
8
 
9
  ## Current Status
10
 
11
+ MiniCPM-V 2.6 is wired as an optional vision backend. Hosted Space ZeroGPU validation now passes for public mug, keyboard, and shoe images after adding an `HF_TOKEN` Space secret with access to the gated `openbmb/MiniCPM-V-2_6` model.
12
 
13
+ The app includes a hidden `/vision_runtime_probe` API and `scripts/check_space_vlm.py` writes probe output into the Space VLM report before image validation. This probe identified the previous failure as a gated-model access issue rather than a GPU or dependency issue.
14
 
15
  The recommended baseline GGUF for local text smoke testing is selected, but not downloaded or run:
16
 
 
48
  - Resolution: unresolved; inspect Space runtime logs or add non-secret fallback diagnostics for the MiniCPM-V load/chat exception.
49
  - Evidence: `docs/SPACE_VLM_REPORT.md`, `docs/SPACE_VLM_REPORT.json`, and `data/traces/space-vlm/`.
50
 
51
+ ## 2026-06-08 - Hosted ZeroGPU MiniCPM-V Validation Passes After HF_TOKEN Secret
52
+
53
+ - Area: Hugging Face Space vision runtime.
54
+ - Reproduction: Run `scripts/check_space_vlm.py` with `--configure-space --hardware zero-a10g --rollback-to-mock` against `build-small-hackathon/ObjectverseDiary`.
55
+ - Expected: mug, keyboard, and shoe validations use `minicpm-v object understanding` without `vision-fallback-to-mock`.
56
+ - Actual: all three validations passed; probe reported `minicpm_load_ok=True`; traces include only `mock-text-runtime`.
57
+ - Impact: OpenBMB / hosted MiniCPM-V vision evidence is ready. Public Space still rolls back to mock-safe defaults after validation.
58
+ - Resolution: resolved by adding an `HF_TOKEN` Space secret with gated model access.
59
+ - Evidence: `docs/SPACE_VLM_REPORT.md`, `docs/SPACE_VLM_REPORT.json`, and `data/traces/space-vlm/`.
60
+
61
+ ## Previous Space VLM Validation Failure
62
 
63
  - Updated: 2026-06-08 08:33:19 UTC
64
  - Area: Hugging Face Space vision runtime.
docs/FIELD_NOTES.md CHANGED
@@ -105,25 +105,27 @@ The stable loop works locally and in the mock-safe Space:
105
 
106
  The Gradio UI also moves away from the default demo feel. It is still Gradio, but the experience reads like a small archive interface.
107
 
108
- ## 8. What Failed
109
 
110
- The important failure is hosted MiniCPM-V validation.
111
 
112
- Paid L4 hardware on the hackathon organization returned `402 Payment Required`. ZeroGPU CUDA probing later succeeded, and the full validation command reached the hosted Space on June 8, 2026. However, mug, keyboard, and shoe validation all fell back to mock vision. The evidence is saved in:
 
 
113
 
114
  - `docs/SPACE_VLM_REPORT.md`
115
  - `docs/SPACE_VLM_REPORT.json`
116
  - `data/traces/space-vlm/`
117
 
118
- This is not hidden in the submission. The stable baseline treats MiniCPM-V as wired but not yet validated in the hosted environment.
119
 
120
- After this failure, I added a probe-aware validation path so the next hosted run can report whether the failure is happening at dependency import, GPU visibility, model loading, or generation time.
121
 
122
  ## 9. Traces And Reproducibility
123
 
124
  The project includes public mock traces for the six stable examples under `data/traces/samples/`. They are deterministic and intended for demo replay, schema validation, and public inspection.
125
 
126
- The Space VLM traces under `data/traces/space-vlm/` are different: they are failure evidence. They show that the hosted Space reached the generation endpoint but used the mock fallback. These traces should not replace the stable mock examples.
127
 
128
  The export command is:
129
 
@@ -148,11 +150,10 @@ Trace logging anonymizes text inputs before public export. The current public tr
148
 
149
  ## 11. What I Would Improve Next
150
 
151
- The next model-focused step is to inspect Space runtime logs or add non-secret MiniCPM-V diagnostics so the hosted fallback can be diagnosed without leaking credentials.
152
 
153
  After that:
154
 
155
- - rerun ZeroGPU MiniCPM-V validation
156
  - run the documented GGUF smoke test after explicit confirmation
157
  - decide whether the published LoRA should remain badge evidence only or be converted later
158
  - generate real non-mock traces if hosted/local model validation passes
 
105
 
106
  The Gradio UI also moves away from the default demo feel. It is still Gradio, but the experience reads like a small archive interface.
107
 
108
+ ## 8. What Failed, Then Got Fixed
109
 
110
+ The important deployment failure was hosted MiniCPM-V validation.
111
 
112
+ Paid L4 hardware on the hackathon organization returned `402 Payment Required`. ZeroGPU CUDA probing later succeeded, and the full validation command reached the hosted Space on June 8, 2026. The first probe-aware run showed the real blocker: `openbmb/MiniCPM-V-2_6` is gated, and the Space runtime did not yet have access.
113
+
114
+ After adding an `HF_TOKEN` Space secret with the required model access, the same ZeroGPU validation passed for public mug, keyboard, and shoe images. The evidence is saved in:
115
 
116
  - `docs/SPACE_VLM_REPORT.md`
117
  - `docs/SPACE_VLM_REPORT.json`
118
  - `data/traces/space-vlm/`
119
 
120
+ This is not hidden in the submission. The stable baseline keeps the public demo mock-safe by default, but hosted MiniCPM-V evidence now exists for the vision path.
121
 
122
+ The probe-aware validation path remains useful because it can report whether future failures happen at dependency import, GPU visibility, model loading, or generation time.
123
 
124
  ## 9. Traces And Reproducibility
125
 
126
  The project includes public mock traces for the six stable examples under `data/traces/samples/`. They are deterministic and intended for demo replay, schema validation, and public inspection.
127
 
128
+ The Space VLM traces under `data/traces/space-vlm/` are different: they are hosted validation evidence for real MiniCPM-V object understanding plus mock text generation. They should be described honestly as VLM evidence, not full real text-runtime traces.
129
 
130
  The export command is:
131
 
 
150
 
151
  ## 11. What I Would Improve Next
152
 
153
+ The next model-focused step is to smoke-test a real GGUF text model through llama.cpp.
154
 
155
  After that:
156
 
 
157
  - run the documented GGUF smoke test after explicit confirmation
158
  - decide whether the published LoRA should remain badge evidence only or be converted later
159
  - generate real non-mock traces if hosted/local model validation passes
docs/FINAL_VERIFICATION_REPORT.md CHANGED
@@ -10,7 +10,7 @@
10
 
11
  Objectverse Diary's stable mock-safe baseline remains locally verifiable. This update adds non-secret MiniCPM-V runtime diagnostics through a hidden Gradio API, probe-aware Space VLM reporting, a latest-failure-note updater, and a local llama.cpp GGUF smoke-test helper.
12
 
13
- This report does not claim hosted MiniCPM-V validation, real GGUF text generation, live LoRA runtime wiring, GitHub push, Field Notes publication, demo video publication, social post publication, or final public submission URLs are complete.
14
 
15
  ## Implementation Additions
16
 
@@ -59,7 +59,7 @@ Browser checks:
59
 
60
  - Six stable public mock sample traces remain under `data/traces/samples/`.
61
  - The trace export JSONL was regenerated successfully.
62
- - Hosted Space VLM traces under `data/traces/space-vlm/` remain failure evidence because they include `vision-fallback-to-mock`; they are intentionally not used as successful real VLM traces.
63
  - New runtime traces do not include literal `TEXT_MODEL_PATH` values.
64
 
65
  ## Security Scan
@@ -88,7 +88,6 @@ No GGUF file, real token, private key, credential, or `.env` file was added by t
88
  - Demo video URL is still pending recording/publication.
89
  - Field Notes URL is still pending publication.
90
  - Social post URL is still pending publication.
91
- - Hosted MiniCPM-V validation still falls back to mock vision.
92
  - Real GGUF download, optional `llama-cpp-python` installation, and smoke test remain pending explicit confirmation.
93
  - GGUF conversion and live runtime wiring for the published LoRA adapter remain future work.
94
 
 
10
 
11
  Objectverse Diary's stable mock-safe baseline remains locally verifiable. This update adds non-secret MiniCPM-V runtime diagnostics through a hidden Gradio API, probe-aware Space VLM reporting, a latest-failure-note updater, and a local llama.cpp GGUF smoke-test helper.
12
 
13
+ This report does not claim real GGUF text generation, live LoRA runtime wiring, Field Notes publication, demo video publication, social post publication, or final public submission URLs are complete.
14
 
15
  ## Implementation Additions
16
 
 
59
 
60
  - Six stable public mock sample traces remain under `data/traces/samples/`.
61
  - The trace export JSONL was regenerated successfully.
62
+ - Hosted Space VLM traces under `data/traces/space-vlm/` now provide passing MiniCPM-V object-understanding evidence for mug, keyboard, and shoe. Text generation in those traces remains mock by design.
63
  - New runtime traces do not include literal `TEXT_MODEL_PATH` values.
64
 
65
  ## Security Scan
 
88
  - Demo video URL is still pending recording/publication.
89
  - Field Notes URL is still pending publication.
90
  - Social post URL is still pending publication.
 
91
  - Real GGUF download, optional `llama-cpp-python` installation, and smoke test remain pending explicit confirmation.
92
  - GGUF conversion and live runtime wiring for the published LoRA adapter remain future work.
93
 
docs/MODEL_CARD.md CHANGED
@@ -6,7 +6,7 @@ Stable submission baseline plus one published text LoRA test adapter. The public
6
 
7
  The app defaults to deterministic mock backends. MiniCPM-V 2.6 vision is wired as an optional runtime backend for GPU environments, with a hidden non-secret probe for hosted diagnostics. Text generation has optional llama.cpp wiring for an externally configured GGUF model via `TEXT_MODEL_PATH`. A Modal LoRA test run completed for the planned text model path and the adapter is published at `https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora`.
8
 
9
- Hosted MiniCPM-V validation is not passing yet. The June 8, 2026 ZeroGPU validation reached the Space, but all three public object checks fell back to mock vision. See `docs/SPACE_VLM_REPORT.md` and `docs/FAILURES.md`.
10
 
11
  ## Planned Components
12
 
@@ -18,7 +18,7 @@ Hosted MiniCPM-V validation is not passing yet. The June 8, 2026 ZeroGPU validat
18
 
19
  | Component | Candidate | Notes |
20
  | --- | --- | --- |
21
- | Vision | `openbmb/MiniCPM-V-2_6` or mock fallback | Wired as optional backend; hosted validation currently falls back to mock. |
22
  | Text | deterministic mock text; published `Qwen/Qwen2.5-1.5B-Instruct` LoRA test adapter | Adapter published; not converted to GGUF or wired into Space runtime. |
23
  | Runtime | optional GGUF through llama.cpp / llama-cpp-python | Wired with mock fallback; smoke helper exists, real-model smoke test still pending. |
24
  | UI | Gradio Blocks | Required by the hackathon and project rules. |
@@ -104,7 +104,7 @@ GGUF smoke status:
104
  - If llama.cpp is not installed, `TEXT_MODEL_PATH` is missing, model loading fails, or output JSON is invalid, keep deterministic mock text fallback for demo safety.
105
  - If model JSON is invalid, repair and validate before rendering.
106
  - Runtime traces do not record literal `TEXT_MODEL_PATH`; they only record that an external GGUF path is configured.
107
- - Hosted VLM fallback evidence is preserved in `data/traces/space-vlm/` and should not be described as successful real VLM output.
108
 
109
  ## Required Notes
110
 
 
6
 
7
  The app defaults to deterministic mock backends. MiniCPM-V 2.6 vision is wired as an optional runtime backend for GPU environments, with a hidden non-secret probe for hosted diagnostics. Text generation has optional llama.cpp wiring for an externally configured GGUF model via `TEXT_MODEL_PATH`. A Modal LoRA test run completed for the planned text model path and the adapter is published at `https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora`.
8
 
9
+ Hosted MiniCPM-V validation passed on June 8, 2026 after adding an `HF_TOKEN` Space secret with access to the gated `openbmb/MiniCPM-V-2_6` model. The validation used public mug, keyboard, and shoe images on ZeroGPU, while text generation intentionally remained mock. See `docs/SPACE_VLM_REPORT.md`.
10
 
11
  ## Planned Components
12
 
 
18
 
19
  | Component | Candidate | Notes |
20
  | --- | --- | --- |
21
+ | Vision | `openbmb/MiniCPM-V-2_6` or mock fallback | Wired as optional backend; hosted ZeroGPU validation passed, then Space rolled back to mock-safe defaults. |
22
  | Text | deterministic mock text; published `Qwen/Qwen2.5-1.5B-Instruct` LoRA test adapter | Adapter published; not converted to GGUF or wired into Space runtime. |
23
  | Runtime | optional GGUF through llama.cpp / llama-cpp-python | Wired with mock fallback; smoke helper exists, real-model smoke test still pending. |
24
  | UI | Gradio Blocks | Required by the hackathon and project rules. |
 
104
  - If llama.cpp is not installed, `TEXT_MODEL_PATH` is missing, model loading fails, or output JSON is invalid, keep deterministic mock text fallback for demo safety.
105
  - If model JSON is invalid, repair and validate before rendering.
106
  - Runtime traces do not record literal `TEXT_MODEL_PATH`; they only record that an external GGUF path is configured.
107
+ - Hosted VLM validation evidence is preserved in `data/traces/space-vlm/`. These traces use real MiniCPM-V object understanding plus mock text generation and should not be described as full real-text-runtime traces.
108
 
109
  ## Required Notes
110
 
docs/SOCIAL_POST.md CHANGED
@@ -5,7 +5,7 @@
5
  I built Objectverse Diary for Build Small Hackathon: a Gradio app where everyday objects wake up, get secret personas, write diaries, chat with you, and generate share cards.
6
 
7
  Stable demo: mock-safe, reproducible, no commercial AI APIs.
8
- MiniCPM-V and llama.cpp paths are wired behind fallbacks; hosted VLM validation is documented honestly.
9
  Synthetic curated dataset + Qwen 1.5B LoRA adapter are published as training evidence.
10
 
11
  Space: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
@@ -23,7 +23,7 @@ Objectverse Diary is my Build Small Hackathon project: a strange little object a
23
  - a shareable personality card
24
  - an anonymized trace record
25
 
26
- The stable submission baseline is mock-safe and reproducible, with no commercial AI APIs. MiniCPM-V vision and llama.cpp text paths are wired as optional backends, and the current hosted MiniCPM-V fallback is documented instead of hidden.
27
 
28
  I also published a small synthetic curated SFT dataset and a Qwen 1.5B LoRA test adapter for Well-Tuned evidence. The adapter is not wired into the public Space runtime yet; the live demo stays intentionally reliable.
29
 
@@ -38,4 +38,4 @@ https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
38
 
39
  - Add GitHub URL after push is confirmed.
40
  - Add demo video URL after recording.
41
- - Do not claim GGUF smoke test, hosted MiniCPM-V validation, or live LoRA runtime wiring are complete.
 
5
  I built Objectverse Diary for Build Small Hackathon: a Gradio app where everyday objects wake up, get secret personas, write diaries, chat with you, and generate share cards.
6
 
7
  Stable demo: mock-safe, reproducible, no commercial AI APIs.
8
+ MiniCPM-V hosted validation now passes for the vision path; llama.cpp is wired behind a local GGUF smoke helper.
9
  Synthetic curated dataset + Qwen 1.5B LoRA adapter are published as training evidence.
10
 
11
  Space: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
 
23
  - a shareable personality card
24
  - an anonymized trace record
25
 
26
+ The stable submission baseline is mock-safe and reproducible, with no commercial AI APIs. MiniCPM-V vision is wired and hosted-validated on ZeroGPU, while llama.cpp text remains an optional local GGUF path.
27
 
28
  I also published a small synthetic curated SFT dataset and a Qwen 1.5B LoRA test adapter for Well-Tuned evidence. The adapter is not wired into the public Space runtime yet; the live demo stays intentionally reliable.
29
 
 
38
 
39
  - Add GitHub URL after push is confirmed.
40
  - Add demo video URL after recording.
41
+ - Do not claim GGUF smoke test or live LoRA runtime wiring are complete.
docs/SPACE_VLM_REPORT.json CHANGED
@@ -9,14 +9,8 @@
9
  "device_name": "NVIDIA RTX PRO 6000 Blackwell Server Edition MIG 2g.48gb",
10
  "mps_available": false,
11
  "minicpm_load_attempted": true,
12
- "minicpm_load_ok": false,
13
- "errors": [
14
- {
15
- "stage": "minicpm_load",
16
- "type": "OSError",
17
- "summary": "You are trying to access a gated repo.\nMake sure to have access to it at https://huggingface.co/openbmb/MiniCPM-V-2_6.\n401 Client Error. (Request ID: Root=1-6a267e35-4f51134336ec6e534441e383;44044a70-471f-45a7-827a-a6e5c596624d)\n\nCannot ..."
18
- }
19
- ]
20
  },
21
  "results": [
22
  {
@@ -24,63 +18,63 @@
24
  "label": "Coffee mug",
25
  "source_page": "https://commons.wikimedia.org/wiki/File:Striped_coffee_mug.jpg",
26
  "image_path": ".tmp/space-vlm-assets/mug.jpg",
27
- "passed": false,
28
  "object_name": "coffee mug",
29
  "visible_features": [
30
- "uploaded photo provided",
31
- "user-supplied description"
 
32
  ],
33
- "likely_context": "everyday human environment",
34
- "confidence": 0.42,
35
  "runtime_vision": "minicpm-v object understanding",
36
  "runtime_text": "mock persona and diary generation",
37
  "fallbacks": [
38
- "vision-fallback-to-mock",
39
  "mock-text-runtime"
40
  ],
41
- "error": "vision fallback marker was present"
42
  },
43
  {
44
  "key": "keyboard",
45
  "label": "Computer keyboard",
46
  "source_page": "https://commons.wikimedia.org/wiki/File:Computer_keyboard.jpg",
47
  "image_path": ".tmp/space-vlm-assets/keyboard.jpg",
48
- "passed": false,
49
- "object_name": "keyboard",
50
  "visible_features": [
51
- "uploaded photo provided",
52
- "user-supplied description"
 
53
  ],
54
- "likely_context": "everyday human environment",
55
- "confidence": 0.42,
56
  "runtime_vision": "minicpm-v object understanding",
57
  "runtime_text": "mock persona and diary generation",
58
  "fallbacks": [
59
- "vision-fallback-to-mock",
60
  "mock-text-runtime"
61
  ],
62
- "error": "vision fallback marker was present"
63
  },
64
  {
65
  "key": "shoe",
66
  "label": "Running shoe",
67
  "source_page": "https://commons.wikimedia.org/wiki/File:Running_shoes.jpg",
68
  "image_path": ".tmp/space-vlm-assets/shoe.jpg",
69
- "passed": false,
70
- "object_name": "shoe",
71
  "visible_features": [
72
- "uploaded photo provided",
73
- "user-supplied description"
 
74
  ],
75
- "likely_context": "everyday human environment",
76
- "confidence": 0.42,
77
  "runtime_vision": "minicpm-v object understanding",
78
  "runtime_text": "mock persona and diary generation",
79
  "fallbacks": [
80
- "vision-fallback-to-mock",
81
  "mock-text-runtime"
82
  ],
83
- "error": "vision fallback marker was present"
84
  }
85
  ]
86
  }
 
9
  "device_name": "NVIDIA RTX PRO 6000 Blackwell Server Edition MIG 2g.48gb",
10
  "mps_available": false,
11
  "minicpm_load_attempted": true,
12
+ "minicpm_load_ok": true,
13
+ "errors": []
 
 
 
 
 
 
14
  },
15
  "results": [
16
  {
 
18
  "label": "Coffee mug",
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
+ "colorful stripes",
25
+ "handle",
26
+ "ceramic material"
27
  ],
28
+ "likely_context": "on a table or countertop in a kitchen or dining area",
29
+ "confidence": 0.9,
30
  "runtime_vision": "minicpm-v object understanding",
31
  "runtime_text": "mock persona and diary generation",
32
  "fallbacks": [
 
33
  "mock-text-runtime"
34
  ],
35
+ "error": ""
36
  },
37
  {
38
  "key": "keyboard",
39
  "label": "Computer keyboard",
40
  "source_page": "https://commons.wikimedia.org/wiki/File:Computer_keyboard.jpg",
41
  "image_path": ".tmp/space-vlm-assets/keyboard.jpg",
42
+ "passed": true,
43
+ "object_name": "computer keyboard",
44
  "visible_features": [
45
+ "black keys with white characters",
46
+ "function keys at the top",
47
+ "numeric keypad to the right"
48
  ],
49
+ "likely_context": "a workspace or office environment",
50
+ "confidence": 0.8,
51
  "runtime_vision": "minicpm-v object understanding",
52
  "runtime_text": "mock persona and diary generation",
53
  "fallbacks": [
 
54
  "mock-text-runtime"
55
  ],
56
+ "error": ""
57
  },
58
  {
59
  "key": "shoe",
60
  "label": "Running shoe",
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 Shoes",
65
  "visible_features": [
66
+ "Multicolored design with purple and pink as dominant colors.",
67
+ "Yellow laces and green accents on the tongue and sole.",
68
+ "White midsole with a textured pattern for cushioning."
69
  ],
70
+ "likely_context": "Used in athletic activities such as running or training.",
71
+ "confidence": 0.9,
72
  "runtime_vision": "minicpm-v object understanding",
73
  "runtime_text": "mock persona and diary generation",
74
  "fallbacks": [
 
75
  "mock-text-runtime"
76
  ],
77
+ "error": ""
78
  }
79
  ]
80
  }
docs/SPACE_VLM_REPORT.md CHANGED
@@ -1,9 +1,9 @@
1
  # Space VLM Validation Report
2
 
3
- - Generated at: 2026-06-08 08:33:19 UTC
4
  - Space URL: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
5
  - Space repo: `build-small-hackathon/ObjectverseDiary`
6
- - Overall status: FAIL
7
  - Vision backend expected: `minicpm-v`
8
  - Text backend expected: `mock`
9
 
@@ -33,57 +33,49 @@
33
  - `device_name`: `NVIDIA RTX PRO 6000 Blackwell Server Edition MIG 2g.48gb`
34
  - `mps_available`: `False`
35
  - `minicpm_load_attempted`: `True`
36
- - `minicpm_load_ok`: `False`
37
- - Errors:
38
- - `minicpm_load`: `OSError` - You are trying to access a gated repo.
39
- Make sure to have access to it at https://huggingface.co/openbmb/MiniCPM-V-2_6.
40
- 401 Client Error. (Request ID: Root=1-6a267e35-4f51134336ec6e534441e383;44044a70-471f-45a7-827a-a6e5c596624d)
41
-
42
- Cannot ...
43
 
44
  ## Results
45
 
46
  ### Coffee mug
47
 
48
- - Status: FAIL
49
  - Source: https://commons.wikimedia.org/wiki/File:Striped_coffee_mug.jpg
50
  - Local temporary image: `.tmp/space-vlm-assets/mug.jpg`
51
  - Object name: `coffee mug`
52
- - Visible features: uploaded photo provided, user-supplied description
53
- - Likely context: `everyday human environment`
54
- - Confidence: 0.42
55
  - Runtime vision: `minicpm-v object understanding`
56
  - Runtime text: `mock persona and diary generation`
57
- - Fallbacks: vision-fallback-to-mock, mock-text-runtime
58
- - Error: `vision fallback marker was present`
59
 
60
  ### Computer keyboard
61
 
62
- - Status: FAIL
63
  - Source: https://commons.wikimedia.org/wiki/File:Computer_keyboard.jpg
64
  - Local temporary image: `.tmp/space-vlm-assets/keyboard.jpg`
65
- - Object name: `keyboard`
66
- - Visible features: uploaded photo provided, user-supplied description
67
- - Likely context: `everyday human environment`
68
- - Confidence: 0.42
69
  - Runtime vision: `minicpm-v object understanding`
70
  - Runtime text: `mock persona and diary generation`
71
- - Fallbacks: vision-fallback-to-mock, mock-text-runtime
72
- - Error: `vision fallback marker was present`
73
 
74
  ### Running shoe
75
 
76
- - Status: FAIL
77
  - Source: https://commons.wikimedia.org/wiki/File:Running_shoes.jpg
78
  - Local temporary image: `.tmp/space-vlm-assets/shoe.jpg`
79
- - Object name: `shoe`
80
- - Visible features: uploaded photo provided, user-supplied description
81
- - Likely context: `everyday human environment`
82
- - Confidence: 0.42
83
  - Runtime vision: `minicpm-v object understanding`
84
  - Runtime text: `mock persona and diary generation`
85
- - Fallbacks: vision-fallback-to-mock, mock-text-runtime
86
- - Error: `vision fallback marker was present`
87
 
88
  ## Notes
89
 
 
1
  # Space VLM Validation Report
2
 
3
+ - Generated at: 2026-06-08 08:58:27 UTC
4
  - Space URL: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
5
  - Space repo: `build-small-hackathon/ObjectverseDiary`
6
+ - Overall status: PASS
7
  - Vision backend expected: `minicpm-v`
8
  - Text backend expected: `mock`
9
 
 
33
  - `device_name`: `NVIDIA RTX PRO 6000 Blackwell Server Edition MIG 2g.48gb`
34
  - `mps_available`: `False`
35
  - `minicpm_load_attempted`: `True`
36
+ - `minicpm_load_ok`: `True`
37
+ - Errors: none
 
 
 
 
 
38
 
39
  ## Results
40
 
41
  ### Coffee mug
42
 
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: `coffee mug`
47
+ - Visible features: colorful stripes, handle, ceramic material
48
+ - Likely context: `on a table or countertop in a kitchen or dining area`
49
+ - Confidence: 0.90
50
  - Runtime vision: `minicpm-v object understanding`
51
  - Runtime text: `mock persona and diary generation`
52
+ - Fallbacks: mock-text-runtime
 
53
 
54
  ### Computer keyboard
55
 
56
+ - Status: PASS
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: black keys with white characters, function keys at the top, numeric keypad to the right
61
+ - Likely context: `a workspace or office environment`
62
+ - Confidence: 0.80
63
  - Runtime vision: `minicpm-v object understanding`
64
  - Runtime text: `mock persona and diary generation`
65
+ - Fallbacks: mock-text-runtime
 
66
 
67
  ### Running shoe
68
 
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 Shoes`
73
+ - Visible features: Multicolored design with purple and pink as dominant colors., Yellow laces and green accents on the tongue and sole., White midsole with a textured pattern for cushioning.
74
+ - Likely context: `Used in athletic activities such as running or training.`
75
+ - Confidence: 0.90
76
  - Runtime vision: `minicpm-v object understanding`
77
  - Runtime text: `mock persona and diary generation`
78
+ - Fallbacks: mock-text-runtime
 
79
 
80
  ## Notes
81
 
docs/SUBMISSION_GUIDE.md CHANGED
@@ -3,7 +3,7 @@
3
  ## Required Package
4
 
5
  - [x] Hugging Face Space URL: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
6
- - [x] GitHub Repository URL: local `origin` configured as `https://github.com/qqyule/Objectverse-Diary.git`; push still requires explicit confirmation
7
  - [x] Demo Video Script: `docs/DEMO_VIDEO_SCRIPT.md`
8
  - [x] Social Media Post Draft: `docs/SOCIAL_POST.md`
9
  - [x] Fine-tuned Model URL: https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora
@@ -18,8 +18,8 @@
18
  - Runtime boundary: `docs/RUNTIME.md`
19
  - Dataset plan and preview workflow: `docs/DATASET.md`
20
  - External setup checklist: `docs/EXTERNAL_SETUP.md`
21
- - Space VLM validation report: `docs/SPACE_VLM_REPORT.md` currently failed. Paid L4 returned `402 Payment Required`; later ZeroGPU validation reached the app on 2026-06-08, but mug/keyboard/shoe all fell back to mock vision.
22
- - Space VLM diagnostics: hidden `/vision_runtime_probe` API and probe-aware `scripts/check_space_vlm.py` are available for the next explicit-confirmation ZeroGPU validation.
23
  - Space VLM trace evidence: `data/traces/space-vlm/`
24
  - Public mock traces: `data/traces/samples/`
25
  - Stable demo baseline: Gradio example buttons replay committed sample traces first, then fall back to the live generation pipeline if a cached trace is missing.
@@ -32,7 +32,7 @@
32
  - MiniCPM-V 2.6 backend wiring with fallback markers.
33
  - Optional llama.cpp text runtime wiring through `TEXT_MODEL_PATH`.
34
  - Hosted Space VLM validation script, report, JSON summary, and trace evidence export.
35
- - Hosted Space VLM probe support and latest failure-note update support.
36
  - Local GGUF smoke-test helper for `Qwen/Qwen2.5-1.5B-Instruct-GGUF` / `qwen2.5-1.5b-instruct-q4_k_m.gguf`; actual GGUF smoke remains pending.
37
  - Synthetic curated SFT dataset published to Hugging Face Datasets.
38
  - Modal Qwen 1.5B LoRA test run completed and adapter published to Hugging Face Models.
@@ -40,23 +40,22 @@
40
 
41
  ## Not Completed Yet
42
 
43
- - Hosted Space MiniCPM-V validation for mug, keyboard, and shoe; ZeroGPU validation reached the app but currently falls back to mock vision.
44
  - Real GGUF `TEXT_MODEL_PATH` smoke test and final text model parameter count. The recommended baseline GGUF has been selected, but not downloaded or run.
45
  - Real model traces, GGUF conversion, and app runtime wiring for the published adapter.
46
- - Field Notes publication URL, recorded demo video URL, social post URL, and final public push/submission.
47
 
48
  ## Final Checks
49
 
50
- - [ ] Space is under the official organization.
51
- - [ ] Space MiniCPM-V validation passes for mug, keyboard, and shoe. Current status: wired but hosted validation falls back to mock.
52
  - [x] Space MiniCPM-V non-secret diagnostic probe is implemented locally.
53
  - [x] Demo video script targets under 2 minutes.
54
  - [x] README includes stable-baseline parameter budget and links to the model card.
55
- - [ ] No commercial cloud AI APIs are used.
56
  - [x] Mock-safe local demo baseline is reproducible from committed sample traces.
57
  - [x] Fine-tuned model is linked.
58
  - [x] Dataset is linked.
59
- - [ ] Traces are linked.
60
  - [ ] Field Notes are linked.
61
- - [ ] UI remains English-first and Chinese-second.
62
  - [ ] Submission is complete before June 15, 2026.
 
3
  ## Required Package
4
 
5
  - [x] Hugging Face Space URL: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary
6
+ - [x] GitHub Repository URL: https://github.com/qqyule/Objectverse-Diary
7
  - [x] Demo Video Script: `docs/DEMO_VIDEO_SCRIPT.md`
8
  - [x] Social Media Post Draft: `docs/SOCIAL_POST.md`
9
  - [x] Fine-tuned Model URL: https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora
 
18
  - Runtime boundary: `docs/RUNTIME.md`
19
  - Dataset plan and preview workflow: `docs/DATASET.md`
20
  - External setup checklist: `docs/EXTERNAL_SETUP.md`
21
+ - Space VLM validation report: `docs/SPACE_VLM_REPORT.md` currently passes for public mug, keyboard, and shoe images on ZeroGPU with `OBJECTVERSE_VISION_BACKEND=minicpm-v`.
22
+ - Space VLM diagnostics: hidden `/vision_runtime_probe` API confirms Torch/Transformers, CUDA, and MiniCPM-V model load status.
23
  - Space VLM trace evidence: `data/traces/space-vlm/`
24
  - Public mock traces: `data/traces/samples/`
25
  - Stable demo baseline: Gradio example buttons replay committed sample traces first, then fall back to the live generation pipeline if a cached trace is missing.
 
32
  - MiniCPM-V 2.6 backend wiring with fallback markers.
33
  - Optional llama.cpp text runtime wiring through `TEXT_MODEL_PATH`.
34
  - Hosted Space VLM validation script, report, JSON summary, and trace evidence export.
35
+ - Hosted Space VLM probe support, latest failure-note update support, and passing MiniCPM-V ZeroGPU validation after adding an `HF_TOKEN` Space secret for gated model access.
36
  - Local GGUF smoke-test helper for `Qwen/Qwen2.5-1.5B-Instruct-GGUF` / `qwen2.5-1.5b-instruct-q4_k_m.gguf`; actual GGUF smoke remains pending.
37
  - Synthetic curated SFT dataset published to Hugging Face Datasets.
38
  - Modal Qwen 1.5B LoRA test run completed and adapter published to Hugging Face Models.
 
40
 
41
  ## Not Completed Yet
42
 
 
43
  - Real GGUF `TEXT_MODEL_PATH` smoke test and final text model parameter count. The recommended baseline GGUF has been selected, but not downloaded or run.
44
  - Real model traces, GGUF conversion, and app runtime wiring for the published adapter.
45
+ - Field Notes publication URL, recorded demo video URL, social post URL, and final public submission.
46
 
47
  ## Final Checks
48
 
49
+ - [x] Space is under the official organization.
50
+ - [x] Space MiniCPM-V validation passes for mug, keyboard, and shoe.
51
  - [x] Space MiniCPM-V non-secret diagnostic probe is implemented locally.
52
  - [x] Demo video script targets under 2 minutes.
53
  - [x] README includes stable-baseline parameter budget and links to the model card.
54
+ - [x] No commercial cloud AI APIs are used.
55
  - [x] Mock-safe local demo baseline is reproducible from committed sample traces.
56
  - [x] Fine-tuned model is linked.
57
  - [x] Dataset is linked.
58
+ - [x] Traces are linked.
59
  - [ ] Field Notes are linked.
60
+ - [x] UI remains English-first and Chinese-second.
61
  - [ ] Submission is complete before June 15, 2026.