feat: Vue 3 label tab — complete card-stack UI with ASMR bucket UX #1
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/vue-label-tab"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Full implementation of the Avocet Vue 3 label tab, replacing the previous Streamlit UI with a purpose-built card-stack labeling interface.
Backend
_read_jsonl,_write_jsonl,_append_jsonl)GET /api/queue— paginated batch fetch from staging JSONLPOST /api/label,/api/skip,/api/discard— write results + undo supportGET /api/config/labels— dynamic label config fromlabel_tool.yamlCache-Control: no-cacheon/(prevents stale index.html after rebuild)0.0.0.0for LAN accessHTMLParser(no deps)Frontend (Vue 3 + Pinia + UnoCSS + VueUse)
useSwipe), depth shadows, dismiss/skip animationshto skip,S/D/Ushortcuts,?for helpcf-avocet-rich-motion)navigator.vibrate()wrapper with in-app toggletotalRemaining,lastActionfor undo, easter egg countersBug Fixes
handleSkip/handleDiscardnow callfetchBatch()when buffer drops below 3_LABEL_META, Vue UI, andclassifier_adapters.py(10 labels:new_lead+hiredreplacingunrelated)start-apipolls port readiness instead of blind sleepmanage.sh
start-api— build Vue SPA + start FastAPI on port 8503stop-api/open-apiTest Plan
./manage.sh start-api— SPA builds, server starts on 8503hiredlabel./manage.sh test— all pytest tests passView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.