Spaces:
Running on Zero
Running on Zero
| # Development Status | |
| Last updated: 2026-06-09 | |
| ## Completed | |
| - Project skeleton, README, AGENTS instructions, and Gradio app entrypoint. | |
| - Mock MVP flow: upload/description, personality mode, object JSON, persona JSON, diary, object chat, share card, and trace saving. | |
| - Archive-style Gradio UI with English-first / Chinese-second copy and six stable examples. | |
| - Stable demo baseline: | |
| - example buttons replay committed sample traces before falling back to live generation | |
| - cached and live generation share the same UI output formatter | |
| - manual upload/description path still saves new runtime traces | |
| - Trace and dataset tooling: | |
| - six public mock sample traces | |
| - public trace JSONL export | |
| - deterministic SFT preview JSONL | |
| - initial-stage acceptance script | |
| - Hugging Face Space created: https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary | |
| - MiniCPM-V 2.6 optional vision backend wiring with mock fallback. | |
| - Optional llama.cpp / llama-cpp-python text runtime wiring through `TEXT_MODEL_PATH`, with mock fallback. | |
| - Space VLM validation tooling: | |
| - `scripts/check_space_vlm.py` | |
| - hidden `/vision_runtime_probe` API for non-secret MiniCPM-V diagnostics | |
| - probe output support in Space VLM markdown and JSON reports | |
| - failure-note updater for the latest Space VLM failure summary | |
| - failed L4 validation report at `docs/SPACE_VLM_REPORT.md` | |
| - optional `--trace-output-dir` evidence export for validation traces | |
| - 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. | |
| - Public Space live vision target: | |
| - hardware: `zero-a10g` | |
| - `OBJECTVERSE_VISION_BACKEND=minicpm-v` | |
| - `VISION_MODEL_ID=openbmb/MiniCPM-V-2_6` | |
| - `OBJECTVERSE_TEXT_BACKEND=mock` | |
| - text generation intentionally remains mock for this release | |
| - Real VLM trace evidence from the hosted validation is available under `data/traces/space-vlm/`; text generation remained mock by design. | |
| - ZeroGPU compatibility: | |
| - optional `src/utils/zero_gpu.py` | |
| - Gradio generation callback wrapped with `@zero_gpu(duration=180)` | |
| - hidden `/zero_gpu_probe` API confirms ZeroGPU CUDA availability when run through direct `hf.space` URL | |
| - Stable submission materials: | |
| - Field Notes draft | |
| - demo video script | |
| - social post draft | |
| - stable submission guide | |
| - Well-Tuned evidence: | |
| - 200-row synthetic curated v2 SFT dataset published at https://huggingface.co/datasets/qqyule/objectverse-diary-sft-curated | |
| - Modal Qwen 1.5B LoRA v2 run completed with 120 steps, 180 train rows, and 20 eval rows | |
| - LoRA v2 adapter published at https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora | |
| - LoRA v2 GGUF runtime evidence: | |
| - `scripts/check_llama_cpp_smoke.py` | |
| - adapter merged into `Qwen/Qwen2.5-1.5B-Instruct` | |
| - pinned `llama.cpp` commit: `8f83d6c271d194bde2d410145a0ce73bc42e85cd` | |
| - published Q4_K_M GGUF: https://huggingface.co/qqyule/objectverse-diary-qwen15b-lora/blob/main/objectverse-diary-qwen15b-lora-v2-q4_k_m.gguf | |
| - local smoke passed with `llama-cpp text generation`, schema-valid persona/diary, non-empty chat, and no `text-fallback-to-mock` | |
| - trace runtime no longer records literal `TEXT_MODEL_PATH` | |
| - Local tests and initial acceptance currently pass. | |
| ## Not Completed | |
| - Hosted Space text runtime validation with the published GGUF. The public Space still uses mock text until this passes. | |
| - Real text model traces from the hosted non-mock text runtime. | |
| - Published Field Notes URL, recorded demo video URL, social post URL, and final public submission. | |
| ## Current Runtime Defaults | |
| Local development: | |
| - `OBJECTVERSE_VISION_BACKEND=mock` | |
| - `OBJECTVERSE_TEXT_BACKEND=mock` | |
| Live Space: | |
| - `OBJECTVERSE_VISION_BACKEND=minicpm-v` | |
| - `VISION_MODEL_ID=openbmb/MiniCPM-V-2_6` | |
| - `OBJECTVERSE_TEXT_BACKEND=mock` | |
| - hardware: `zero-a10g` | |
| - No commercial model API is used. | |
| - GGUF files, tokens, credentials, and private images should not be committed. | |
| ## Next Recommended Gate | |
| For live vision, keep the Space on ZeroGPU with MiniCPM-V and rerun hosted validation after dependency, Space variable, or deploy changes. | |
| Next text model gate: | |
| Download or mount the published GGUF on the target runtime, set: | |
| ```bash | |
| OBJECTVERSE_TEXT_BACKEND=llama-cpp | |
| TEXT_MODEL_PATH=/absolute/path/to/objectverse-diary-qwen15b-lora-v2-q4_k_m.gguf | |
| ``` | |
| Then rerun the local or Space smoke path before claiming live text runtime. | |
| Live VLM validation gate: | |
| ```bash | |
| .venv/bin/python -B scripts/check_space_vlm.py \ | |
| --configure-space \ | |
| --hardware zero-a10g \ | |
| --space-url https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary \ | |
| --output docs/SPACE_VLM_REPORT.md \ | |
| --json-output docs/SPACE_VLM_REPORT.json \ | |
| --trace-output-dir data/traces/space-vlm \ | |
| --timeout-seconds 1200 | |
| ``` | |
| If rollback is needed, use: | |
| ```bash | |
| .venv/bin/python -B scripts/check_space_vlm.py \ | |
| --space-url https://huggingface.co/spaces/build-small-hackathon/ObjectverseDiary \ | |
| --configure-space \ | |
| --hardware zero-a10g \ | |
| --skip-validation \ | |
| --rollback-to-mock | |
| ``` | |