Spaces:
Running on Zero
Running on Zero
Commit History
-
docs(backlog): why metrics are relative — absolute-score ceiling + arousal vs valence Running
Unverified signatureAugment the cross-video benchmark-comparator entry with the conceptual foundation (operator ask via tribe-brain): 3-level relativity (fMRI has no absolute scale -> trained on z-scored fMRI -> pipeline global z-score), so self-normalized curves always show internal peaks even in a boring clip; plus the arousal-not-valence caveat. Reframes the achievable goal as "above/below a typical video".56e31aa
-
docs: record chunk-fix verification — full-res neeraj_reel_2 scored at 63.2GB peak
Unverified signatureLive run on the branch: full-res neeraj_reel_2 (720x1280, 71s, Fast, cache-off) peaked 63.2GB (vs ~96GB single-call), completed Predicted 71/100, output 72-row CSV with 0 NaN. tribe-brain confirmed bit-identical from transformers source. The three UX fixes (button-lock, pass-label, save-curves) also verified live.cb3670a -
docs: instagram-curve contrast guide + chunk-processor memory-fix design
Unverified signature- guides/instagram-curve-contrast.md: creator-facing guide on contrasting the brain-metric curves against Instagram reel retention + like-timing curves. - specs/.../chunk-processor-fix.md: design to bound the long/HD within-clip memory transient by chunking the processor() call (in tribe-brain feasibility review) -> score full-res long reels under the gate without downscaling.b9a823f -
feat(ui): lock Score button while scoring + persist/download curves + label fix
Unverified signatureThree UX fixes (tribe-brain-reviewed; compile + unit tests green; pending live end-to-end verification — a memory incident interrupted the smoke test). - Lock the Score button while a Score runs: trigger_mode="once" as the race-free primary guard + interactive=False/True visual feedback, all 3 tabs. Stops a double-tap queuing a phantom re-run on the concurrency_limit=1 queue. - Persist curves: every completed Score writes CSV+JSON to a known dir and appends a "Download curves (CSV)" link (/gradio_api/file=, url-encoded, download=) to the summary -> finished runs no longer vanish (the app kept nothing before). _save_curves is best-effort (never fails the Score). - Progress label "window p/N" -> "pass p/N": n_pass tracks the fit+predict encode passes, not geometric windows, so a 1-window clip no longer reads "window 1/2". + co-dl CSS for the download link.2c55ab4 -
docs: backlog — cross-video engagement-benchmark comparator (exemplar-based)
Unverified signatureParked idea (operator-originated, not scheduled): population/exemplar normalization + time-align to %-duration so brain-metric curves compare ACROSS videos. Framed as a content-engagement benchmark (not a P(viral) oracle). Tier-1 MVP = exemplar comparator (no labeled data). tribe-brain to spec when prioritized.5802c80 -
docs: dedup-cache enable plan (tribe-brain reviewed, parity-gated)
Unverified signatureTheory A proven from neuralset source (_get_data gets the full-clip event; windows sliced downstream) -> cache key correct. Plan: harden key with offset+duration (safe by construction), clear-per-Score (staleness), n_pass=1 cache-on (retires the progress-bar P-pass wart), local-only first. Parity gate before enable: raw pre-stitch preds, max|delta|==0 exactly.18f8d28 -
docs: playhead-follow design (tribe-brain APPROVED, pending implementation)
Unverified signatureTimeline vertical line should follow video playback (today it's drawn once on click and stays static). Pure-JS extension of seek_js: a rAF loop moves shapes[0] to video.currentTime via partial relayout, ~30Hz gated. tribe-brain reviewed + APPROVED with a 6-item must-fix list (disproved the relayout feedback-storm from Gradio source; global rafId kill + create-or-move robust).c09bdee -
feat(ui): in-card determinate progress bar via gr.Timer (Option T)
Unverified signatureThe native gr.Progress bar does not render in this loading-card layout (smoke-test: the sink fires every clip but Gradio's status-tracker stays empty), so drive the card's OWN HTML instead. The encode sink writes per-clip counters into a module-global state dict; a gr.Timer(0.3) reads it and re-renders the loading card with a determinate amber bar + live "clip k/N · window p/P" label. Live-verified: the Timer ticks in parallel with the concurrency_limit=1 Score (per-concurrency-id queue) — card showed "Encoding video · clip 4/30" at 13% advancing per clip; after the Score the card hides, no stuck bar, timeline + summary render cleanly (Timer -> gr.skip when idle). - progress.py: rewrite to a dict-based live state (begin/sink/snapshot/end + encode_frac); the 0.3s Timer is the throttle (no separate per-clip throttle). - ui.py: loading_card_html renderer + addressable loading_body gr.HTML. - theme.py: .co-prog-track/fill/pct amber bar styles (drop dead native CSS). - app.py: gr.Timer …03fb6f3 -
feat(ui): determinate per-clip encode progress bar (Option X)
Unverified signatureReplace the indeterminate "Scoring…" loader with a real determinate bar that advances one tick per V-JEPA2 clip across a monotonic 0.15→0.70 band, with a live "clip k/N · window p/P" label. Drives Gradio's native gr.Progress (CSS-themed amber); the custom card is kept as a themed header. - progress.py: pure encode_frac + make_clip_sink — P-window monotonic mapping (no reset between windows; degrades to a single sweep when P=1), ~0.4s throttle (final clip of each window always emits), injectable clock for tests. - fast_encode.py: module-global progress sink + per-clip _emit_progress (best-effort, never raises into the encode; no-op when unset). - app.py: register the sink LOCAL-only (video & not on_spaces), clear in a finally; P = len(plan_windows(dur)). The Space keeps the coarse stage progress — its forked GPU worker can't see a parent-set sink. - ui.py / theme.py: drop the fake indeterminate co-loading-bar; theme the native progress widget to the amber accent. - tests/te…ef94760
-
docs: implementation plan for local MPS long-video Quality scoring (P1-P3, 8 tasks)
Unverified signature3bfa1a2 -
docs: incorporate tribe-brain spec review (ASR 0it re-diagnosed, WIN-1 verify-first, hook path + dedup-cache guard, P4 split out)
Unverified signaturee6bfe05 -
docs: design spec for local MPS long-video Quality scoring (V-JEPA2 OOM fix + adaptive governor + Quality path + WIN-1)
Unverified signature8841d6c
-
Integrate full app: 3-mode UI + windowed inference + ROI metrics + timeline
- app.py: Video/Audio/Text mode-switcher wired end-to-end (validate -> @spaces.GPU predict [approach B] -> windowing.stitch -> metrics.to_metrics -> plotting.timeline_figure), eager model load on Spaces, lazy ROI masks, audio_only debug path, UI<->PARCELS name mapping, summary peak_time->peak_t adapter, empty/loading/error/result states, click-to-seek JS, queue(1) + show_error + ssr_mode=False. - theme.py / ui.py: "Cortical Observatory" frontend-design (3 tabs + states). - src/tribescore/{inference,windowing,metrics,plotting}.py: engine, ROI, plot. - 36 synthetic tests pass (numpy/scipy); ast.parse clean across all files. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CjPK7gQJfUBjPtiUmijstz3202062 -
Finalize PLAN.md: brain-reviewed, gap-free, implementation-ready
Brain teammate (max effort + sequential-thinking) completed an adversarial review against tribev2 source. Key resolutions now locked in the plan: - §3 pooler-lock: duration_trs must stay 100 (else predict() [keep] mismatch); overlap via config_update={"data.overlap_trs_train":20}; x-axis=round(seg.start) - §4 windowing: approach-B overlap-in-segmenter + trapezoidal crossfade stitch, leading-only warm-up trim, per-window z-score; ffmpeg per-window fallback - §5 metrics: in-repo HCP-MMP1 (Glasser) atlas via tribev2.utils (not nilearn), exact parcels per metric, sigma=2s smoothing, citations + caveats - §6 gr.Video-seek fallback; §7 whisperx-via-uvx + mne deps + ZeroGPU R1 - §10 risks re-ranked; §11 open questions -> decided defaults; §13 brain sign-off No build/deploy yet; held until operator GO + Meta Llama approval. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CjPK7gQJfUBjPtiUmijstz01f113a -
Add implementation plan & design (docs/PLAN.md)
Full design across all 7 areas: tribev2 API/tensors, 4-5min windowing+stitching, brain-activity->metric ROI derivation, 3-mode (video/audio/text) Gradio UI per frontend-design, ZeroGPU single-Space architecture, repo/license, and a turnkey task breakdown coders can execute on approval + Llama access. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CjPK7gQJfUBjPtiUmijstz94271c0