catalog / layers

NanoChat.NET — UI surface

What the desktop UI actually exposes of that same engine.

49 capabilities 5 sections extracted from UI + MCP surface (WinApp) source: D:\Dev\Lab\NanoChat.NET

Build against it

# give your agent the catalog — no account, no install
claude mcp add provespec -- npx -y provespec-mcp

# then, from any agent session
spec_get(slug: "nanochat-net-ui")                → the capability tree
spec_checklist(slug: "nanochat-net-ui")          → the questions to answer
spec_grade(slug: "nanochat-net-ui", grades: [...])  → parity % + the gap list

# or just fetch it
curl https://provespec.com/catalog/nanochat-net-ui/spec.json

Grade every capability below as yes · partial · no · na, with a file reference as evidence. Whatever you leave ungraded counts as missing — the gap list is the work queue.

Or just paste this to your agent

Use the ProveSpec MCP server. Fetch the "nanochat-net-ui" spec with
spec_get, then walk spec_checklist and grade this repository against it —
one verdict per capability, each with a file reference as the note.
Call spec_grade with the results and give me the gap list as the plan.

If the server is not registered, add it first:
  claude mcp add provespec -- npx -y provespec-mcp

The specification

Shell, navigation, and accessibility 6

  • Activity navigation screen Show 23 registered Nano, observatory, Wiki, and Settings activities in the shared activity shell and switch the selected workspace.
  • Navigator selection workflow Present each activity's selectable items in a keyboard-accessible navigator; selection projects content and status without implicitly running expensive measurements.
  • Visualization/editor outcome Render the selected activity's heatmap, diagnostic editor, operational editor, or truthful empty/unavailable state in the center workspace.
  • Properties inspection and copy commands Show contextual properties, provenance, status, and sections for the selected item, with explicit Copy Link and Copy Content commands.
  • Accessible control and live-status semantics Expose stable Nano.* AutomationIds, accessible names/help text, native selection/toggle patterns, disabled command states, and polite status live regions.
  • Semantic UI MCP workflows Read and invoke canonical App, Training, Datasets, Models, Inference, and Chat ViewModel workflows through domain-semantic tools that explicitly report isUiEvidence=false.

Diagnostics and learning 8

  • GPU information and memory screens Display detected GPU identity, capability facts, and memory status through dedicated App Shell views.
  • GPU diagnostic run and animation commands Run the visible GPU diagnostic test when available and explicitly start or stop its animation without transferring command ownership to passive selection.
  • Tensor workspace and test workflow Inspect tensor dashboard/workspace/editor/properties screens and explicitly execute the tensor diagnostic test.
  • Sample tokenizer training command Train an educational BPE tokenizer from editable sample text through the visible Train On Sample command and report its training status.
  • Tokenize, load, and vocabulary inspection workflow Tokenize editable text, load tokenizer content, inspect token spans, IDs, bytes, and vocabulary through the Tokenizer screens.
  • Tokenizer file load, import, and save workflow Enter a tokenizer file path, explicitly load a native tokenizer binary or import pinned NanoChat .tiktoken ranks, inspect the refreshed vocabulary/tokenization outcome, and explicitly save the active tokenizer in the native portable binary format. The UI disables saving over a .tiktoken source rather than implying rank-file export.
  • Streamed ClimbMix tokenizer training workflow In the Tokenizer screen, enter a Parquet shard directory and a new native tokenizer output file, configure maximum streamed characters, the per-document character cap, and vocabulary size, then explicitly Train streamed tokenizer or Stop. The workflow invokes the canonical ClimbMix trainer with pinned NanoChat special tokens and split behavior, streams documents from training shards under bounded memory, saves the native tokenizer, loads it into the active Tokenizer workspace, and refreshes vocabulary, merge history, tokenization, compression, and status outcomes.
  • Educational computation ladder Navigate normalization, embeddings, attention, transformer, forward-pass, backpropagation, optimizer, and data-pipeline concepts with labeled visualizations, facts, and explicit provenance.

Datasets, models, and observatory 12

  • Dataset browse, selection, and rescan workflow Browse grouped dataset navigation nodes, select a dataset, inspect availability/status, search where supported, and explicitly rescan the catalog.
  • Text-JSONL record and source inspection Inspect selected text-JSONL file details, presented fields, individual records, and original JSON in dedicated Dataset views.
  • Source-corpus add workflow Choose a source-corpus folder, validate readable C# files, add it through the canonical local catalog, and select the new dataset; the UI does not imply training has begun.
  • ClimbMix shard acquisition workflow In Datasets properties, enter an output directory, choose a bounded number of training shards and download workers, then explicitly Download shards or Stop. The canonical plan always adds the final ClimbMix validation shard, reuses already verified files, reports the resulting training/validation inventory through ShardCatalog, and never starts training from Datasets.
  • Deterministic shard stream-plan inspection workflow In Datasets properties, choose rank, world size, a bounded number of positions, and optionally a saved shard/row-group/epoch cursor, then explicitly Inspect stream plan. The workflow reads canonical local ClimbMix training/validation split and Parquet row-group counts, projects the next deterministic rank-strided positions, advances past a saved cursor without replay, reports starved ranks without hanging, excludes the final validation shard from training traversal, and states that BOS best-fit packing occurs only when Training consumes the stream.
  • Checkpoint inventory screen Discover and group local checkpoint artifacts, select one, and display its path, artifact state, and loadability.
  • Checkpoint lifecycle commands Explicitly Load, Inspect, Register, Activate, or Rollback the selected checkpoint with each button enabled only when the canonical registry permits the transition.
  • Pinned upstream checkpoint import workflow Enter the Python-produced checkpoint interchange folder, pinned NanoChat .tiktoken ranks path, and a new local artifact folder, then explicitly import through the canonical pinned-revision converter. The command requires checkpoint.json, weights.bin, and ranks, runs asynchronously, refuses an existing artifact manifest, and leaves inspection/registration/activation as separate explicit lifecycle actions.
  • Pinned upstream checkpoint export workflow Select a native model artifact, enter a new upstream export folder and the pinned NanoChat source root, optionally provide a native optimizer checkpoint, then explicitly export through the audited reverse converter. The command validates required native files, refuses an existing output path, runs asynchronously through the configured Python runtime, validates the generated model and optional optimizer with the pinned upstream loader before publishing, and reports completion or failure without implying registration or activation.
  • Checkpoint observatory screen Show read-only checkpoint inventory and provenance through the separately registered Checkpoints activity.
  • Evaluation drilldown screen Show durable evaluation history, selected evaluation context, metrics, and trace/provenance details through the separately registered Evaluation activity.
  • Effective configuration and provenance screen Show effective engine capabilities, selected configuration, and derivation/provenance facts through the separately registered Configuration activity.

Training and evaluation 12

  • Source and JSONL pretraining start workflow Select Source model or Train JSONL, inspect prerequisites and effects, choose compatible train/validation inputs where required, then invoke the visible Start command.
  • Base and accelerated pretraining workflows In Training, choose either Parquet base pretraining or CPU base pretraining. The Parquet path selects a local ClimbMix shard directory plus native tokenizer, verifies the canonical training/final-validation split, and presents one coherent execution plan: Auto/float32/bfloat16/float16 compute, optional FP8 linear kernels, Auto/Flash Attention 3/portable scaled-dot-product attention, world size 1-16, and optional rank N to CUDA device N binding. Start runs one process or launches bundled-CLI ranks through the canonical distributed launcher, file-system collectives, coordinated overflow/checkpoint decisions, deterministic rank-strided row groups, BOS best-fit packing, Muon/AdamW, validation, and rank-zero resumable checkpoints; Stop cancels the active launch. The portable CPU path selects a complete native artifact plus UTF-8 text and runs canonical CPU forward/backward training. Readiness, invalid world size, missing CLI, unavailable device/FA3, running, stopped, failed, and completed outcomes remain explicit. Focused tests validate routing, mixed precision/FP8, attention fallback selection, packaging, and a real two-process collective probe; no live GPU or multi-GPU training result is claimed.
  • Official pipeline and experiment orchestration workflows In Training, choose one of four high-level official workflows rather than invoking low-level APIs individually. Official speedrun selects an existing workspace plus SFT, BPB, CORE projection, and baseline inputs; users configure download reuse, bounded shard/tokenizer/base-step/CORE limits, then Start or Stop the canonical six stages. speedrun-state.json makes stage completion durable and resumable. Scaling-laws selects canonical shards, tokenizer, and results directory plus editable FLOPs budgets, unique depths, and optional per-point step cap; Miniseries uses the same source workflow with an editable series name and depths. Both skip completed results.csv rows, checkpoint each point, report live status, and preserve matrix outcomes. Sweep evaluation selects results.csv plus BPB/CORE inputs, evaluates only incomplete checkpoints, and atomically persists validation_bpb and base_core after each row. Invalid inputs, active-run conflicts, running, stopping, failed, resumed/skipped, and completed outcomes are explicit; portable defaults are deliberately bounded and editable before Start.
  • Supervised task training workflow Select Generation, Classification, Embedding, Pairwise Ranking, or Conversation, choose a compatible cataloged dataset, and start task-specific training.
  • Stopped-run resume workflow For supported task workflows, select an eligible stopped run/checkpoint and invoke Resume while retaining the original dataset and optimizer/model state.
  • GSM8K reinforcement-learning policy optimization workflow In Training, select GSM8K policy optimization, choose a compatible native model artifact plus separate GSM8K training and pass-at-k evaluation JSONL datasets, inspect the pinned 60-step rollout and optimizer plan, then explicitly Start or Stop. The workflow invokes the canonical RL runner to generate grouped rollouts, score exact final answers, evaluate pass-at-k on the selected evaluation set, accumulate token-normalized policy gradients, stream step/reward/loss/rollout progress, and publish a new native artifact under the discoverable local checkpoint root.
  • Supervised held-out evaluation workflow Select a compatible loaded task checkpoint and dataset, invoke Evaluate, and display held-out likelihood, accuracy, margin, or ranking metrics without changing model weights.
  • BPB pilot lifecycle Run the fixed verified BPB Pilot training, load its latest checkpoint, evaluate held-out validation batches, and record BPB with provenance.
  • Benchmark selection, execution, and history workflow Select a published model and verified benchmark workflow, run individual smoke evaluations or the comprehensive CORE and ChatCORE suites, inspect result details and random-baseline-adjusted metrics, and show durable history. HumanEval preparation remains available as a separate inspection utility.
  • Training progress, telemetry, and stop workflow Display ordered stages and Total, determinate/indeterminate progress, elapsed/remaining timing, loss/throughput/learning-rate/gradient/optimizer telemetry, retained run outcomes, and an explicit Stop command when cancellable.
  • Five-task ChatCORE suite workflow In the Training Benchmarks screen, select a published model and the composite ChatCORE suite, choose a portable per-task problem cap or 0 for every pinned problem, then explicitly Evaluate suite or Stop. The workflow verifies all five pinned fixtures, runs ARC-Easy, ARC-Challenge, MMLU, GSM8K, and constrained-execution HumanEval through the canonical engine runner, reports task progress, and saves the centered aggregate plus per-task accuracy and centered accuracy to durable evaluation history.
  • Comprehensive CORE base-evaluation suite workflow In Training Benchmarks, project the pinned CORE bundle, which now retains all 22 verified task files plus its baseline metadata; select a published model and CORE 22-task base suite; choose a portable per-task cap or 0 for all pinned problems; then explicitly Evaluate base suite or Stop. The canonical BaseEvaluationRunner reports BPB and task-by-task progress, evaluates every CORE task shape with integrity checks and random-baseline centering, and saves BPB, the aggregate CORE score, and every per-task accuracy/centered accuracy to durable history.

Inference, chat, and task execution 11

  • Inference visualization, scope, and provenance screen Select named inference concepts and inspect the central visualization title, factual scope, provenance, properties, and truthful loaded-model availability.
  • Inference performance measurement workflows Measure the active model through explicit Decode Speed and Performance Matrix commands. The matrix accepts an editable prompt, validated batch sizes and generated-token count, and an auto-detected or pinned known hardware profile; it reports TTFT, aggregate/decode throughput, observed tensor-memory growth, model/KV cost, and profile-gated MFU/MBU. Selection remains passive and unavailable values are never estimated.
  • Chat model selection and load workflow List published model candidates with mode and compatibility, select one without running it, explicitly Load Model, and show loaded-model readiness that controls Send availability.
  • Chat conversation commands and settings Enter a prompt, configure maximum tokens and temperature, invoke Send, inspect the response/status and any model-emitted calculator request/output parts, and explicitly Clear the conversation.
  • Calculator tool execution workflow Enter a supported arithmetic or restricted string-count expression and explicitly run NanoChat's canonical calculator tool without requiring a loaded model. Show the Python-compatible result, an in-progress state, or a truthful unsupported/invalid outcome; editing the expression does not execute it.
  • Task operation and active-model readiness Choose Generation, Classification, Ranking, Embedding, or Conversation, refresh compatible active-model state, enter the operation-specific input/candidates, and see why Run is enabled or disabled.
  • Task execution, result, clear, and stop workflow Run the selected task operation, display the typed result/status, stop active Generation or Conversation, and clear conversation state through explicit commands.
  • Batch generation and cancellation workflow Enter one prompt per JSONL row, run aligned batch continuation, inspect per-row JSONL results, and explicitly stop an active batch.
  • Canonical generation settings and validation Edit Max Tokens, Temperature, Top K, Seed, Max Context Tokens, and Stop On End Of Sequence with validation/status shared by Generation, Conversation, and batch execution.
  • Wiki and settings workspaces Open the embedded Nano Wiki/help container and shared application Settings as UI-only support workspaces.
  • Model calculator tool-exchange outcome When a conversation model emits the pinned python-start/end calculator span, the canonical inference state machine evaluates the allowlisted expression and injects output tokens. After generation, Chat projects the parsed model request and calculator output as distinct, labeled, accessible rows without presenting injected output as model-authored text; Clear removes both conversation and tool-trace state.
Open in Parity → Download spec.json All 102 specs