# Agent Trace This project is being built with OpenAI Codex as the coding agent. ## 2026-06-05 - Read hackathon rules, kickoff notes, sponsor details, and peer review feedback. - Selected `Jawbreaker` as the product name. - Chose Backyard AI as the main track. - Established model bakeoff plan before committing to a default model. - Created initial project scaffold for a Gradio Space and public GitHub repo. - Created private Hugging Face Space under the hackathon organization. - Pushed the same Git commit history to GitHub and Hugging Face Spaces. - Added explicit Codex build evidence after organizer/Discord clarification that Codex Track eligibility depends on commit metadata and GitHub repo evidence. Open questions: - Which real/sanitized user story should anchor the demo video? - What final latency numbers should be reported after the public Space is stable? ## 2026-06-06 Codex helped: - build the 100-case scam eval dataset and backend-aware eval runner - wire configurable analyzers for heuristic, saved prediction, llama-cpp, and Transformers paths - add JSON extraction and schema validation for model responses - add a heuristic safety guard for weak small-model outputs - switch the deployed runtime to ZeroGPU + `Qwen/Qwen3-0.6B` - keep the llama.cpp path for local/eval evidence while avoiding it as the live judge-facing path - harden Qwen thinking-token handling with `enable_thinking=False` where supported and `` stripping as a fallback - remove duplicate model calls from session memory saving - add hidden page-load model warmup for the deployed Space - redesign the Gradio UI around a calm safety-card experience - add copyable trusted-person handoff text - patch Gradio dark-mode/loading-opacity leakage - pivot the deployed model default to `openbmb/MiniCPM4.1-8B` for OpenBMB eligibility - add `trust_remote_code` support for MiniCPM's Transformers loader path - add a generated Jawbreaker train/dev/test corpus for SFT experiments - add a PEFT/LoRA MiniCPM training script and training-only requirements - add Transformers eval support for scoring OpenBMB models directly - add runtime fallback when model output is malformed or inference fails Current decisions: - Deployed model: `openbmb/MiniCPM5-1B`. - Deployed adapter: `build-small-hackathon/jawbreaker-minicpm5-1b-lora-v8`. - Deployed backend: Transformers on ZeroGPU. - Local/eval model path: llama-cpp-python remains available for GGUF models. - Fine-tuning: completed through a Modal-trained MiniCPM5-1B LoRA adapter. - Claimed bonus badges: Off Brand, Off the Grid, Sharing is Caring, Field Notes, Tiny Titan, and Well-Tuned. - Pending bonus badge: Best Demo, once the demo video and social post are linked. - Sponsor target: OpenBMB, because MiniCPM is central to the app. ## 2026-06-07 Codex helped: - run and compare MiniCPM5-1B LoRA evals against earlier 8B adapter evidence - promote `build-small-hackathon/jawbreaker-minicpm5-1b-lora-v4` as the first strong 1B deployed adapter candidate - commit 320-case and 394-case hard guarded eval reports - update README, setup, eval, training, and honest-submission evidence - refine the custom Gradio Server UI for readability, elderly-friendly wording, copy-to-trusted-person behavior, and final model disclosure Final model evidence: - 394-case hard guarded eval: `379/394` risk accuracy (`96.19%`) - `0` dangerous-as-safe - `0` dangerous-as-needs-check - `0` suspicious-as-safe - `0` unsafe action violations - `0` invalid predictions - `0` model errors ## 2026-06-09 / 2026-06-10 Codex helped: - add fresh public-pattern calibration data for wrong-number crypto/trading, marketplace money movement, task/job scams, MFA-code theft, toll/tax/benefit notices, and safe family/logistics contrasts - train and evaluate the MiniCPM5-1B LoRA v8 path on Modal - diagnose preemption during a long Modal eval and preserve the final successful run as public evidence - tighten the deterministic safety guard for wrong-number investment grooming without over-promoting ordinary family/school logistics - add regression tests for guard behavior - promote `build-small-hackathon/jawbreaker-minicpm5-1b-lora-v8` as the final deployed adapter - update the Space README, model card, dataset card, collection notes, and final submission evidence so v8 is consistently framed as final - add `CODEX_JUDGE_EVIDENCE.md` to map Codex-attributed commits to files, final metrics, and public artifacts Final v8 model evidence: - 632-case hard guarded eval: `579/632` risk accuracy (`91.61%`) - `0` dangerous-as-safe - `0` dangerous-as-needs-check - `0` safe-as-dangerous-or-suspicious - `0` unsafe action violations - `0` invalid predictions - `0` model errors Public final artifacts: - Space: https://huggingface.co/spaces/build-small-hackathon/jawbreaker - Model: https://huggingface.co/build-small-hackathon/jawbreaker-minicpm5-1b-lora-v8 - Dataset/eval bundle: https://huggingface.co/datasets/build-small-hackathon/jawbreaker-scam-defense-data - Collection: https://huggingface.co/collections/build-small-hackathon/jawbreaker-6a263632dcd0b6d41ca914ff