{"schema_version":"1","app_id":"app8","host":"app8.nextaura.us","url":"https://app8.nextaura.us","canonical_url":"https://app8.nextaura.us","aliases":[{"host":"app8.nextaura.fit","url":"https://app8.nextaura.fit","role":"marketing_entry_from_nextaura.fit","app":"Lumen DAW (IBM Code Engine) for / — agent + /api/* proxied to GPU lab","agent_index":"GET https://app8.nextaura.fit/agent.json proxies to GPU lab (canonical https://app8.nextaura.us)"}],"origin_url":"http://107.170.43.172:8088","origin":"digitalocean-gpu","worker_or_pages":"nextaura-app8-us","related_hosts":{"canonical_training_lab":"https://app8.nextaura.us","marketing_fit_entry":"https://app8.nextaura.fit","voice_to_plan":"https://app8.nextaura.fit","app2_pretrain":"https://app2.nextaura.us"},"purpose":"GPU experiment lab: GPT-style pretrain and SFT on mixed HF streams, local JSONL, multimodal and V-JEPA data. Live Chinchilla pretrain/finetune scaling tables in UI with per-row lr and epoch recommendations. Stage 2 inference + reward scoring.","how_built":"FastAPI + PyTorch TrainEngine on DigitalOcean GPU droplet (107.170.43.172), Cloudflare worker nextaura-app8-us → origin. IBM COS for checkpoint persistence. Fork of app2 pretrain stack; default ~51M params (8L×512d×8h, block 256, vocab 50257).","page_text":"app8.nextaura.us — NextAura Multimodal Fine-tune. Stage 1: stream+train with scaling tables. Stage 2: infer. Agent contract at /agent.json. Health /api/health. Status /api/status.","status":"up","success":true,"http_status":200,"failure_reason":null,"health":{"ui":true,"api":"ok","training":"paused_or_complete","origin":"droplet","device":"cuda","model_ready":true},"scraped_at":"2026-08-26T10:22:33.713655+00:00","collector":"self","discovery":{"agent_json":"https://app8.nextaura.us/agent.json","agent_txt":"https://app8.nextaura.us/agent.txt","well_known_agent_json":"https://app8.nextaura.us/.well-known/agent.json","llms_txt":"https://app8.nextaura.us/llms.txt","robots_txt":"https://app8.nextaura.us/robots.txt","sitemap_xml":"https://app8.nextaura.us/sitemap.xml","human_ui":"https://app8.nextaura.us/","health":"https://app8.nextaura.us/api/health","status":"https://app8.nextaura.us/api/status","scaling":"https://app8.nextaura.us/api/scaling/chinchilla"},"ui_sections":[{"id":"sectionData","title":"Data","column":"left","summary":"data_source, Target GB, Chinchilla pretrain/finetune scaling tables with lr+epoch recommendations per row."},{"id":"sectionArch","title":"Architecture","column":"left","summary":"n_layer, n_embd, n_head, block_size, optional ffn_dim/vocab_size. Locked after step>0."},{"id":"sectionOpt","title":"Optimizer","column":"left","summary":"learning_rate, batch_size, micro_batch, grad_accum, warmup, weight_decay, dropout."},{"id":"sectionCorpus","title":"Data mix","column":"left","summary":"mix local %, curated mix toggle, jsonl file, epoch cycles (JSONL stop), HF stream chips."},{"id":"sectionAdv","title":"Advanced","column":"left","summary":"lr_schedule, total_train_steps, mixed_precision, save_every_n_steps, flash attn, scalar proj, grad ckpt, tokenizer."},{"id":"sectionRecipe","title":"Live recipe","column":"left","summary":"Active vs Pending config from /api/status vs form. Gold on Start."},{"id":"sectionCkpt","title":"Checkpoint","column":"left","summary":"Upload/load .pt, HF import, delete, reset session."},{"id":"sectionInfer","title":"Stage 2 inference","column":"right","summary":"Ask, temperature, repetition penalty, reward model score."}],"data_sources":[{"id":"mixed","label":"Mixed (local JSONL + HF streams)","mode":"pretrain","notes":"Default. Interleaves local corpus with enabled HF chips."},{"id":"fineweb","label":"FineWeb stream only","mode":"pretrain","notes":"HuggingFaceFW/fineweb configs (sample-10BT, etc.)."},{"id":"jsonl","label":"Local JSONL only","mode":"either","notes":"Single file from data/. Stop at Target GB or epoch cycles."},{"id":"local-corpus-mix","label":"Local curated mix","mode":"pretrain","notes":"2400-clean + 4563-curated + nextaura-extract merged."},{"id":"sft-intelligence","label":"SFT intelligence seeds","mode":"finetune","notes":"sft-full-merged.jsonl. Use fine-tuning scaling table; load pretrain ckpt first."},{"id":"fable-traces","label":"Fable stream only","mode":"pretrain","notes":"Glint-Research/Fable-5-traces."},{"id":"sol-traces","label":"GPT-5.6 Sol traces","mode":"pretrain","notes":"greghavens/gpt-5.6-sol-coding-and-debugging-traces."},{"id":"kimi-k3-traces","label":"Kimi K3 traces","mode":"pretrain","notes":"greghavens/kimi-k3-coding-and-debugging-traces."},{"id":"unsolved-math","label":"UnsolvedMath","mode":"pretrain","notes":"ulamai/UnsolvedMath problems."},{"id":"nemotron-math","label":"Nemotron SFT Math v4","mode":"pretrain","notes":"nvidia/Nemotron-SFT-Math-v4."},{"id":"openassistant-rm","label":"OpenAssistant RM (HH-RLHF)","mode":"pretrain","notes":"Preference / reward-style rows."},{"id":"multimodal","label":"Multimodal HF stream","mode":"pretrain","notes":"Pick hf_dataset_id from /api/health multimodal_datasets."},{"id":"vjepa","label":"V-JEPA HF stream","mode":"pretrain","notes":"Scalar 12d projection; pick vjepa dataset from health."}],"scaling_guidance":{"law":"Chinchilla: ~20 tokens per parameter for compute-optimal pretrain","bytes_per_token":3.5,"ui_toggle":"Pretrain vs Fine-tuning button above scaling table","pretrain":{"reference_row":"1× Chinchilla optimal","lr_range":"2e-4–3e-4","epochs":"off (use Target GB)","multipliers":["0.25× smoke","0.5× light","1× optimal","2× extended","3× heavy","10× legacy cap"]},"finetune":{"reference_row":"0.1× standard SFT","lr_range":"1e-5–1e-4","epochs":"off; 1–5 only for smoke on <1 MB JSONL","multipliers":["0.01× smoke","0.05× light","0.1× standard","0.25× extended","0.5× heavy","1× full replay"],"requires":"Pretrained checkpoint — seed-only SFT from scratch fails at 17M"},"live_api":"GET /api/scaling/chinchilla or chinchilla block in /api/model/estimate"},"agent_workflow":["1. GET /agent.json (or /llms.txt) — do not scrape HTML for config.","2. GET /api/health — device, defaults, whether HF_TOKEN and COS are loaded.","3. GET /api/status — active run, step, loss, can_resume, loaded checkpoint.","4. Pick data_source + scaling mode (pretrain vs finetune) from UI tables or scaling_guidance.","5. Set target_gb to matching scaling row (your GPU/time cap, not universal).","6. POST /api/start with body matching form (see start_body_schema). Use apply toggles like UI 📎.","7. Poll GET /api/status and GET /api/log?since=N until complete or target reached.","8. GET /api/export/checkpoint or use server-saved .pt; POST /api/infer/ask to validate.","9. Finetune: load pretrain ckpt first (import/local), switch to finetune table, lower lr, smaller target_gb."],"start_body_schema":{"required_for_agents":["data_source","target_gb","learning_rate","batch_size","n_layer","n_head","n_embd","block_size"],"stop_conditions":["target_gb: byte budget (primary for streams and most runs)","total_train_steps: optional hard cap (Advanced, when apply.total_train_steps)","epoch_cycles + epochs: JSONL-only replay stop (can finish before target_gb)"],"apply_toggles":"Each field has apply.<name> bool — only checked fields override active run on Start.","fields":{"data_source":"See data_sources catalog","target_gb":"0.001–25 GB. User stop cap; compare to scaling table rows.","learning_rate":"pretrain 2e-4–3e-4; finetune 1e-5–1e-4","epoch_cycles":"false for streams; rare 1–5 for tiny JSONL smoke","jsonl_file":"Filename in data/","mix_local_jsonl":"Interleave local into mixed streams","jsonl_mix_ratio":"0–1 local fraction in mixed mode","hf_stream_*":"Booleans for fable, sol, kimi, nemotron, math, pref, fineweb"}},"api_endpoints":[{"method":"GET","path":"/","auth":false,"summary":"Human UI (Stage 1 train + Stage 2 infer). Prefer agent.json for machines."},{"method":"GET","path":"/agent.json","auth":false,"summary":"Full agent contract (this document, JSON). Primary scrape target."},{"method":"GET","path":"/agent.txt","auth":false,"summary":"Plain-text agent contract."},{"method":"GET","path":"/.well-known/agent.json","auth":false,"summary":"Well-known alias of /agent.json."},{"method":"GET","path":"/llms.txt","auth":false,"summary":"LLMs.txt discovery index with curated links."},{"method":"GET","path":"/robots.txt","auth":false,"summary":"Crawler policy; allows agent surfaces."},{"method":"GET","path":"/sitemap.xml","auth":false,"summary":"Sitemap of machine-readable GET endpoints."},{"method":"GET","path":"/api/health","auth":false,"summary":"Boot defaults, device, secrets loaded, data_sources, chinchilla targets."},{"method":"GET","path":"/api/status","auth":false,"summary":"Live training snapshot: step, loss, bytes, recipe fields, can_resume."},{"method":"GET","path":"/api/log","auth":false,"summary":"Terminal mirror lines. Query: since=<index>."},{"method":"GET","path":"/api/model/estimate","auth":false,"summary":"Param count + chinchilla bundle for arch query params."},{"method":"GET","path":"/api/scaling/chinchilla","auth":false,"summary":"Chinchilla pretrain + finetune multiplier tables."},{"method":"GET","path":"/api/capabilities","auth":false,"summary":"Trainer feature flags."},{"method":"GET","path":"/api/data","auth":false,"summary":"List local JSONL files in data/ with row counts."},{"method":"GET","path":"/api/checkpoints","auth":false,"summary":"Saved .pt files on server disk."},{"method":"GET","path":"/api/infer/status","auth":false,"summary":"Whether a checkpoint is loaded for inference."},{"method":"GET","path":"/api/export/checkpoint","auth":false,"summary":"Download current weights as .pt (large)."},{"method":"POST","path":"/api/start","auth":false,"summary":"Start training. Body: StartIn (see start_body_schema). Blocked if already running."},{"method":"POST","path":"/api/resume","auth":false,"summary":"Resume paused/stopped run with same recipe."},{"method":"POST","path":"/api/stop","auth":false,"summary":"Stop training; saves checkpoint."},{"method":"POST","path":"/api/pause","auth":false,"summary":"Toggle pause."},{"method":"POST","path":"/api/import/checkpoint","auth":false,"summary":"Upload .pt multipart file."},{"method":"POST","path":"/api/import/checkpoint/local","auth":false,"summary":"Load saved checkpoint by name."},{"method":"POST","path":"/api/import/data","auth":false,"summary":"Upload JSONL to data/."},{"method":"POST","path":"/api/convert/hf","auth":false,"summary":"Import HuggingFace GPT-2 weights. Body: {repo_id}."},{"method":"POST","path":"/api/checkpoints/reset-session","auth":false,"summary":"Clear GPU weights; keep disk files."},{"method":"POST","path":"/api/checkpoints/delete","auth":false,"summary":"Bulk delete local .pt except loaded."},{"method":"DELETE","path":"/api/checkpoints/{name}","auth":false,"summary":"Delete one local checkpoint."},{"method":"POST","path":"/api/infer/ask","auth":false,"summary":"Generate text. Body: {question, max_new_tokens, temperature, repetition_penalty, use_repetition_penalty}."},{"method":"POST","path":"/api/eval/reward","auth":false,"summary":"Score Q/A with OpenAssistant reward model."}],"terminology":{"target_gb":"User stop cap (GPU/time budget). Not the same as 1× Chinchilla optimal.","forward_pass":"One model forward (loss computed).","gradient_accumulation":"Multiple forwards before one optimizer update.","training_step":"One optimizer weight update.","epoch_cycles":"Replay local JSONL N times; JSONL-only stop; usually off.","chinchilla_row":"Scaling table row: tokens, GB, lr range, epoch guidance."},"live":{"hf_token_loaded":true,"cos_configured":true,"device":"cuda","running":false,"train_step":50,"last_loss":3.2950103282928467,"target_gb":0.17,"data_source":"jsonl","checkpoint_name":"nextaura-50m-step50.pt","bytes_written":899146,"can_resume":true,"origin_url":"http://107.170.43.172:8088"}}