Text Generation
PEFT
Safetensors
GGUF
English
q4_k_m
docker-model-runner
lora
codegeist-training
conversational
Instructions to use codegeist/codegeist-llm with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use codegeist/codegeist-llm with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-1.7B") model = PeftModel.from_pretrained(base_model, "codegeist/codegeist-llm") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use codegeist/codegeist-llm with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf codegeist/codegeist-llm:Q4_K_M # Run inference directly in the terminal: llama cli -hf codegeist/codegeist-llm:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf codegeist/codegeist-llm:Q4_K_M # Run inference directly in the terminal: llama cli -hf codegeist/codegeist-llm:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf codegeist/codegeist-llm:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf codegeist/codegeist-llm:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf codegeist/codegeist-llm:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf codegeist/codegeist-llm:Q4_K_M
Use Docker
docker model run hf.co/codegeist/codegeist-llm:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use codegeist/codegeist-llm with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "codegeist/codegeist-llm" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "codegeist/codegeist-llm", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/codegeist/codegeist-llm:Q4_K_M
- Ollama
How to use codegeist/codegeist-llm with Ollama:
ollama run hf.co/codegeist/codegeist-llm:Q4_K_M
- Unsloth Studio
How to use codegeist/codegeist-llm with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for codegeist/codegeist-llm to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for codegeist/codegeist-llm to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for codegeist/codegeist-llm to start chatting
- Pi
How to use codegeist/codegeist-llm with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf codegeist/codegeist-llm:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "codegeist/codegeist-llm:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use codegeist/codegeist-llm with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf codegeist/codegeist-llm:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "codegeist/codegeist-llm:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use codegeist/codegeist-llm with Docker Model Runner:
docker model run hf.co/codegeist/codegeist-llm:Q4_K_M
- Lemonade
How to use codegeist/codegeist-llm with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull codegeist/codegeist-llm:Q4_K_M
Run and chat with the model
lemonade run user.codegeist-llm-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use codegeist/codegeist-llm with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf codegeist/codegeist-llm:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default codegeist/codegeist-llm:Q4_K_M
Run Hermes
hermes
- Atomic Chat
Add reviewed identity smoke adapter
Browse filesPublish the private review candidate with pinned base revision, Safetensors weights, sanitized evidence, license, and third-party notices.
- LICENSE +7 -0
- README.md +187 -0
- THIRD_PARTY_NOTICES.md +16 -0
- adapter_config.json +54 -0
- adapter_model.safetensors +3 -0
- evidence.json +395 -0
LICENSE
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
BSD Zero Clause License
|
| 2 |
+
|
| 3 |
+
Copyright (C) 2026 Codegeist contributors
|
| 4 |
+
|
| 5 |
+
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
|
| 6 |
+
|
| 7 |
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
README.md
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: Qwen/Qwen3-1.7B
|
| 3 |
+
base_model_relation: adapter
|
| 4 |
+
library_name: peft
|
| 5 |
+
pipeline_tag: text-generation
|
| 6 |
+
language:
|
| 7 |
+
- en
|
| 8 |
+
license: other
|
| 9 |
+
license_name: 0bsd
|
| 10 |
+
license_link: https://github.com/codegeist-ai/codegeist-ai/blob/main/LICENSE
|
| 11 |
+
tags:
|
| 12 |
+
- peft
|
| 13 |
+
- lora
|
| 14 |
+
- sft
|
| 15 |
+
- transformers
|
| 16 |
+
- unsloth
|
| 17 |
+
- non-production
|
| 18 |
+
- identity-smoke
|
| 19 |
+
---
|
| 20 |
+
|
| 21 |
+
# Codegeist Qwen3-1.7B Identity Smoke Adapter
|
| 22 |
+
|
| 23 |
+
This is a non-production LoRA adapter created to validate the Codegeist training
|
| 24 |
+
pipeline. It teaches one response only:
|
| 25 |
+
|
| 26 |
+
```text
|
| 27 |
+
User: What is Codegeist?
|
| 28 |
+
Assistant: Codegeist is a coding agent.
|
| 29 |
+
```
|
| 30 |
+
|
| 31 |
+
It is not evidence of coding ability, reasoning, generalization, safe tool use,
|
| 32 |
+
Codegeist OS integration, GGUF conversion, Vulkan deployment, or production
|
| 33 |
+
model quality.
|
| 34 |
+
|
| 35 |
+
## Artifact Identity
|
| 36 |
+
|
| 37 |
+
| Field | Value |
|
| 38 |
+
| --- | --- |
|
| 39 |
+
| Base model | `Qwen/Qwen3-1.7B` |
|
| 40 |
+
| Base revision | `70d244cc86ccca08cf5af4e1e306ecf908b1ad5e` |
|
| 41 |
+
| Adapter format | PEFT LoRA, Safetensors |
|
| 42 |
+
| Adapter weight SHA-256 | `19d424106ef88ffeac4c26c22cebfb13ae1d5f309e1dcccf2da708727bec10a8` |
|
| 43 |
+
| Training Job | `6a75f25a3e1f34a7e32bd646` |
|
| 44 |
+
| Training date | 2026-08-07 |
|
| 45 |
+
|
| 46 |
+
`evidence.json` contains the sanitized run chronology, configuration, package
|
| 47 |
+
versions, hashes, cost estimate, verification status, and known gaps. It does
|
| 48 |
+
not contain model weights, private logs, or credentials.
|
| 49 |
+
|
| 50 |
+
## Intended Use
|
| 51 |
+
|
| 52 |
+
The only intended use is reproducing and inspecting this one-record pipeline
|
| 53 |
+
smoke. Use the immutable base revision above and pin this adapter repository to
|
| 54 |
+
a specific Hub commit when loading it.
|
| 55 |
+
|
| 56 |
+
Do not use this adapter as a coding assistant, autonomous agent, general chat
|
| 57 |
+
model, safety component, or production model. It was not evaluated for those
|
| 58 |
+
purposes.
|
| 59 |
+
|
| 60 |
+
## Loading
|
| 61 |
+
|
| 62 |
+
This CPU-compatible example prioritizes portability over speed. Replace
|
| 63 |
+
`ADAPTER_REVISION` with an immutable commit from this repository:
|
| 64 |
+
|
| 65 |
+
```python
|
| 66 |
+
import torch
|
| 67 |
+
from peft import PeftModel
|
| 68 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 69 |
+
|
| 70 |
+
BASE_MODEL = "Qwen/Qwen3-1.7B"
|
| 71 |
+
BASE_REVISION = "70d244cc86ccca08cf5af4e1e306ecf908b1ad5e"
|
| 72 |
+
ADAPTER_MODEL = "codegeist/qwen3-1.7b-codegeist-identity-smoke"
|
| 73 |
+
ADAPTER_REVISION = "<immutable-adapter-commit>"
|
| 74 |
+
|
| 75 |
+
tokenizer = AutoTokenizer.from_pretrained(
|
| 76 |
+
BASE_MODEL,
|
| 77 |
+
revision=BASE_REVISION,
|
| 78 |
+
trust_remote_code=False,
|
| 79 |
+
)
|
| 80 |
+
base_model = AutoModelForCausalLM.from_pretrained(
|
| 81 |
+
BASE_MODEL,
|
| 82 |
+
revision=BASE_REVISION,
|
| 83 |
+
trust_remote_code=False,
|
| 84 |
+
torch_dtype=torch.float32,
|
| 85 |
+
low_cpu_mem_usage=True,
|
| 86 |
+
)
|
| 87 |
+
model = PeftModel.from_pretrained(
|
| 88 |
+
base_model,
|
| 89 |
+
ADAPTER_MODEL,
|
| 90 |
+
revision=ADAPTER_REVISION,
|
| 91 |
+
is_trainable=False,
|
| 92 |
+
)
|
| 93 |
+
|
| 94 |
+
prompt = tokenizer.apply_chat_template(
|
| 95 |
+
[{"role": "user", "content": "What is Codegeist?"}],
|
| 96 |
+
tokenize=False,
|
| 97 |
+
add_generation_prompt=True,
|
| 98 |
+
enable_thinking=False,
|
| 99 |
+
)
|
| 100 |
+
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False)
|
| 101 |
+
with torch.inference_mode():
|
| 102 |
+
output = model.generate(
|
| 103 |
+
**inputs,
|
| 104 |
+
do_sample=False,
|
| 105 |
+
max_new_tokens=64,
|
| 106 |
+
pad_token_id=tokenizer.eos_token_id,
|
| 107 |
+
eos_token_id=tokenizer.eos_token_id,
|
| 108 |
+
)
|
| 109 |
+
|
| 110 |
+
response = tokenizer.decode(
|
| 111 |
+
output[0, inputs["input_ids"].shape[1]:],
|
| 112 |
+
skip_special_tokens=True,
|
| 113 |
+
).strip()
|
| 114 |
+
print(response)
|
| 115 |
+
```
|
| 116 |
+
|
| 117 |
+
Expected whitespace-normalized response:
|
| 118 |
+
|
| 119 |
+
```text
|
| 120 |
+
Codegeist is a coding agent.
|
| 121 |
+
```
|
| 122 |
+
|
| 123 |
+
## Training Data
|
| 124 |
+
|
| 125 |
+
The complete project-authored synthetic dataset is one public record:
|
| 126 |
+
|
| 127 |
+
```json
|
| 128 |
+
{
|
| 129 |
+
"instruction": "What is Codegeist?",
|
| 130 |
+
"response": "Codegeist is a coding agent."
|
| 131 |
+
}
|
| 132 |
+
```
|
| 133 |
+
|
| 134 |
+
The record ID is `codegeist-identity-v1-001`. It contains no private data,
|
| 135 |
+
personal information, or credentials. Training and evaluation deliberately use
|
| 136 |
+
the same record to test memorization; there is no held-out evaluation set.
|
| 137 |
+
|
| 138 |
+
## Training
|
| 139 |
+
|
| 140 |
+
- Python 3.12
|
| 141 |
+
- PyTorch 2.6.0 with CUDA 12.4
|
| 142 |
+
- Unsloth 2026.8.7
|
| 143 |
+
- Transformers 5.5.0
|
| 144 |
+
- TRL 0.24.0
|
| 145 |
+
- PEFT 0.20.0
|
| 146 |
+
- BF16 LoRA, rank 8, alpha 8, dropout 0
|
| 147 |
+
- Completion-only loss
|
| 148 |
+
- 20 steps, batch size 1, learning rate 0.0002
|
| 149 |
+
- Seed and data seed 3407
|
| 150 |
+
- NVIDIA A10G
|
| 151 |
+
- No intermediate checkpoints and no automatic Hub publication
|
| 152 |
+
|
| 153 |
+
The aggregate training loss was `1.6867698234826094`. The final logged step loss
|
| 154 |
+
was approximately `0.0003`.
|
| 155 |
+
|
| 156 |
+
## Evaluation
|
| 157 |
+
|
| 158 |
+
The unchanged base model incorrectly described Codegeist as a code editor. After
|
| 159 |
+
training, the adapter was loaded onto a fresh instance of the exact base revision
|
| 160 |
+
in a child process. One greedy generation produced the expected answer after
|
| 161 |
+
leading and trailing whitespace normalization.
|
| 162 |
+
|
| 163 |
+
The raw decoded continuation before `.strip()` was not retained. Training and
|
| 164 |
+
inference repeatability, deterministic PyTorch algorithms, coding benchmarks,
|
| 165 |
+
safety evaluation, and generalization were not tested.
|
| 166 |
+
|
| 167 |
+
## Licenses And Provenance
|
| 168 |
+
|
| 169 |
+
The project-authored adapter and documentation are provided under the
|
| 170 |
+
[BSD Zero Clause License](https://github.com/codegeist-ai/codegeist-ai/blob/main/LICENSE).
|
| 171 |
+
The required base model is distributed separately by Qwen under Apache-2.0. This
|
| 172 |
+
repository does not redistribute base-model weights. Review both licenses and
|
| 173 |
+
the base model's terms before use or redistribution.
|
| 174 |
+
|
| 175 |
+
See `THIRD_PARTY_NOTICES.md` for the exact upstream model reference. The
|
| 176 |
+
Codegeist source repository is
|
| 177 |
+
[`codegeist-ai/codegeist-llm`](https://github.com/codegeist-ai/codegeist-llm).
|
| 178 |
+
|
| 179 |
+
## Publication Limitations
|
| 180 |
+
|
| 181 |
+
- The successful training source was not committed when the paid Job launched;
|
| 182 |
+
exact source bytes are anchored by SHA-256 in `evidence.json`.
|
| 183 |
+
- Downloaded model and tokenizer cache bytes were not independently rehashed
|
| 184 |
+
inside the Job against the upstream manifest.
|
| 185 |
+
- The generated adapter configuration originally omitted the base revision; the
|
| 186 |
+
publication copy sets it to the immutable revision used by the Job.
|
| 187 |
+
- This publication does not change the experiment's non-production status.
|
THIRD_PARTY_NOTICES.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Third-Party Notices
|
| 2 |
+
|
| 3 |
+
## Qwen3-1.7B
|
| 4 |
+
|
| 5 |
+
This repository contains a LoRA adapter for, but does not redistribute, the
|
| 6 |
+
following base model:
|
| 7 |
+
|
| 8 |
+
- Model: `Qwen/Qwen3-1.7B`
|
| 9 |
+
- Publisher: Qwen
|
| 10 |
+
- Revision: `70d244cc86ccca08cf5af4e1e306ecf908b1ad5e`
|
| 11 |
+
- License: Apache-2.0
|
| 12 |
+
- Source: https://huggingface.co/Qwen/Qwen3-1.7B/tree/70d244cc86ccca08cf5af4e1e306ecf908b1ad5e
|
| 13 |
+
- License text: https://huggingface.co/Qwen/Qwen3-1.7B/blob/70d244cc86ccca08cf5af4e1e306ecf908b1ad5e/LICENSE
|
| 14 |
+
|
| 15 |
+
Users must obtain the base model separately and comply with its license and
|
| 16 |
+
applicable terms.
|
adapter_config.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"alora_invocation_tokens": null,
|
| 3 |
+
"alpha_pattern": {},
|
| 4 |
+
"arrow_config": null,
|
| 5 |
+
"auto_mapping": {
|
| 6 |
+
"base_model_class": "Qwen3ForCausalLM",
|
| 7 |
+
"parent_library": "transformers.models.qwen3.modeling_qwen3",
|
| 8 |
+
"unsloth_fixed": true
|
| 9 |
+
},
|
| 10 |
+
"base_model_name_or_path": "Qwen/Qwen3-1.7B",
|
| 11 |
+
"bias": "none",
|
| 12 |
+
"corda_config": null,
|
| 13 |
+
"ensure_weight_tying": false,
|
| 14 |
+
"eva_config": null,
|
| 15 |
+
"exclude_modules": null,
|
| 16 |
+
"fan_in_fan_out": false,
|
| 17 |
+
"inference_mode": true,
|
| 18 |
+
"init_lora_weights": true,
|
| 19 |
+
"layer_replication": null,
|
| 20 |
+
"layers_pattern": null,
|
| 21 |
+
"layers_to_transform": null,
|
| 22 |
+
"loftq_config": {},
|
| 23 |
+
"lora_alpha": 8,
|
| 24 |
+
"lora_bias": false,
|
| 25 |
+
"lora_dropout": 0,
|
| 26 |
+
"lora_ga_config": null,
|
| 27 |
+
"megatron_config": null,
|
| 28 |
+
"megatron_core": "megatron.core",
|
| 29 |
+
"modules_to_save": null,
|
| 30 |
+
"monteclora_config": null,
|
| 31 |
+
"peft_type": "LORA",
|
| 32 |
+
"peft_version": "0.20.0",
|
| 33 |
+
"qalora_group_size": 16,
|
| 34 |
+
"r": 8,
|
| 35 |
+
"rank_pattern": {},
|
| 36 |
+
"revision": "70d244cc86ccca08cf5af4e1e306ecf908b1ad5e",
|
| 37 |
+
"target_modules": [
|
| 38 |
+
"up_proj",
|
| 39 |
+
"down_proj",
|
| 40 |
+
"gate_proj",
|
| 41 |
+
"v_proj",
|
| 42 |
+
"k_proj",
|
| 43 |
+
"q_proj",
|
| 44 |
+
"o_proj"
|
| 45 |
+
],
|
| 46 |
+
"target_parameters": null,
|
| 47 |
+
"task_type": "CAUSAL_LM",
|
| 48 |
+
"trainable_token_indices": null,
|
| 49 |
+
"use_bdlora": null,
|
| 50 |
+
"use_dora": false,
|
| 51 |
+
"use_qalora": false,
|
| 52 |
+
"use_rslora": false,
|
| 53 |
+
"velora_config": null
|
| 54 |
+
}
|
adapter_model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:19d424106ef88ffeac4c26c22cebfb13ae1d5f309e1dcccf2da708727bec10a8
|
| 3 |
+
size 34916720
|
evidence.json
ADDED
|
@@ -0,0 +1,395 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema_version": 1,
|
| 3 |
+
"evidence_type": "non-production-identity-pipeline-smoke",
|
| 4 |
+
"recorded_date": "2026-08-07",
|
| 5 |
+
"result": "passed",
|
| 6 |
+
"scope": {
|
| 7 |
+
"purpose": "Validate model download, BF16 LoRA training, private adapter persistence, clean-process reload, single greedy whitespace-normalized exact-match evaluation, and evidence handling.",
|
| 8 |
+
"learned_answer": "Codegeist is a coding agent.",
|
| 9 |
+
"does_not_demonstrate": [
|
| 10 |
+
"coding ability",
|
| 11 |
+
"generalization",
|
| 12 |
+
"safe tool use",
|
| 13 |
+
"Codegeist OS integration",
|
| 14 |
+
"GGUF conversion",
|
| 15 |
+
"Vulkan deployment",
|
| 16 |
+
"production model quality"
|
| 17 |
+
]
|
| 18 |
+
},
|
| 19 |
+
"source_state": {
|
| 20 |
+
"branch": "main",
|
| 21 |
+
"git_head_at_launch": "216dca0defb47ad853ab9f9317ec855bece6aed2",
|
| 22 |
+
"source_committed_at_launch": false,
|
| 23 |
+
"canonical_source_identity": "sha256",
|
| 24 |
+
"source_sha256_scope": "source bytes executed by the successful job",
|
| 25 |
+
"source_sha256": {
|
| 26 |
+
"pyproject.toml": "7e93cd40a50fe6e76f23def477193767815af9533927797735616d34f97624f0",
|
| 27 |
+
"train.py": "a82a7385c3af87fbddd1f208e868d8ecb05ff4e290309ba3d6feaedac159f170",
|
| 28 |
+
"upstream-model.json": "6f989ae94816a70a3115a4698233fb8fbe9c243c3bf5c0729925e9f72b9c9f6a",
|
| 29 |
+
"uv.lock": "cfe0f3676c3e69fba0b5cecb75a6163c23254297b837b4b733821a2fbbd70415"
|
| 30 |
+
},
|
| 31 |
+
"post_run_hardened_train_py_sha256": "899888549826fd974ff2ac918e5ed74f6a13232e3e896e24af94d9db04ca79a6",
|
| 32 |
+
"post_run_hardened_source_matches_executed_source": false,
|
| 33 |
+
"post_run_change": "Docstring-only corrections clarified credential reads and whitespace-normalized response comparison without changing training logic."
|
| 34 |
+
},
|
| 35 |
+
"upstream_model": {
|
| 36 |
+
"model_id": "Qwen/Qwen3-1.7B",
|
| 37 |
+
"revision": "70d244cc86ccca08cf5af4e1e306ecf908b1ad5e",
|
| 38 |
+
"publisher": "Qwen",
|
| 39 |
+
"license": "apache-2.0",
|
| 40 |
+
"revision_last_modified": "2025-07-26T03:46:32+00:00",
|
| 41 |
+
"remote_code_enabled": false,
|
| 42 |
+
"manifest_path": "jobs/identity-smoke/upstream-model.json",
|
| 43 |
+
"manifest_sha256": "6f989ae94816a70a3115a4698233fb8fbe9c243c3bf5c0729925e9f72b9c9f6a",
|
| 44 |
+
"weight_sha256": {
|
| 45 |
+
"model-00001-of-00002.safetensors": "169ad53ec313c3a34b06c0809216e4fc072cce444a5d4ff2b59690d064130ed5",
|
| 46 |
+
"model-00002-of-00002.safetensors": "912becff8d60672aa8628ef08c05898d9adf17c2ad4ae3caf99b065622fdeff9"
|
| 47 |
+
},
|
| 48 |
+
"hash_source": "Hugging Face revision API and locally hashed small metadata files",
|
| 49 |
+
"downloaded_bytes_independently_verified": false
|
| 50 |
+
},
|
| 51 |
+
"dataset": {
|
| 52 |
+
"record_id": "codegeist-identity-v1-001",
|
| 53 |
+
"record_count": 1,
|
| 54 |
+
"instruction": "What is Codegeist?",
|
| 55 |
+
"response": "Codegeist is a coding agent.",
|
| 56 |
+
"source_type": "project-authored synthetic identity record",
|
| 57 |
+
"authorship": "Codegeist project",
|
| 58 |
+
"source_anchor": "train.py SHA-256 a82a7385c3af87fbddd1f208e868d8ecb05ff4e290309ba3d6feaedac159f170",
|
| 59 |
+
"license": "0BSD under the shared codegeist-ai/codegeist-ai license",
|
| 60 |
+
"license_url": "https://github.com/codegeist-ai/codegeist-ai/blob/main/LICENSE",
|
| 61 |
+
"reviewed_date": "2026-08-07",
|
| 62 |
+
"pii_review": "No names, contact data, user data, logs, or personal identifiers are present.",
|
| 63 |
+
"secret_review": "The literal record contains no credential or secret material.",
|
| 64 |
+
"deduplication_review": "not applicable: one authored record",
|
| 65 |
+
"scenario_split_review": "not applicable: pipeline-only one-record smoke",
|
| 66 |
+
"train_evaluation_contamination": "deliberate reuse of the training prompt to test memorization",
|
| 67 |
+
"poisoning_review": "no untrusted source or teacher output enters the record",
|
| 68 |
+
"exclusions": "none",
|
| 69 |
+
"thinking_enabled": false,
|
| 70 |
+
"completion_end_token": "<|im_end|>",
|
| 71 |
+
"loss_scope": "completion_only",
|
| 72 |
+
"contains_private_data": false
|
| 73 |
+
},
|
| 74 |
+
"runtime": {
|
| 75 |
+
"platform": "linux-x86_64",
|
| 76 |
+
"job_image": "ghcr.io/astral-sh/uv:python3.12-bookworm@sha256:9aa60c50016c0485636ab9a830246a6ef3399aa4a8bab3d17ef4a2358fba2ca7",
|
| 77 |
+
"python": "3.12.12",
|
| 78 |
+
"uv": "0.9.30",
|
| 79 |
+
"c_compiler": "gcc 12.2.0",
|
| 80 |
+
"hardware_flavor": "a10g-small",
|
| 81 |
+
"cuda_device": "NVIDIA A10G",
|
| 82 |
+
"nominal_vram_gb": 24,
|
| 83 |
+
"unsloth_visible_vram_gib": 22.301,
|
| 84 |
+
"cuda_runtime": "12.4",
|
| 85 |
+
"packages": {
|
| 86 |
+
"accelerate": "1.14.0",
|
| 87 |
+
"datasets": "4.3.0",
|
| 88 |
+
"huggingface-hub": "1.26.1",
|
| 89 |
+
"peft": "0.20.0",
|
| 90 |
+
"safetensors": "0.8.0",
|
| 91 |
+
"torch": "2.6.0",
|
| 92 |
+
"torch_build_reported_by_unsloth": "2.6.0+cu124",
|
| 93 |
+
"torchao": "0.13.0",
|
| 94 |
+
"torchvision": "0.21.0",
|
| 95 |
+
"transformers": "5.5.0",
|
| 96 |
+
"triton": "3.2.0",
|
| 97 |
+
"trl": "0.24.0",
|
| 98 |
+
"unsloth": "2026.8.7",
|
| 99 |
+
"unsloth-zoo": "2026.8.5",
|
| 100 |
+
"xformers": "0.0.29.post3"
|
| 101 |
+
},
|
| 102 |
+
"runtime_packages_installed": 102,
|
| 103 |
+
"lock_packages_resolved": 106
|
| 104 |
+
},
|
| 105 |
+
"job_policy": {
|
| 106 |
+
"namespace": "codegeist",
|
| 107 |
+
"name": "codegeist-identity-qwen3-1-7b",
|
| 108 |
+
"labels": {
|
| 109 |
+
"purpose": "identity-smoke",
|
| 110 |
+
"model": "qwen3-1-7b"
|
| 111 |
+
},
|
| 112 |
+
"timeout": "30m",
|
| 113 |
+
"detached": true,
|
| 114 |
+
"exposed_ports": [],
|
| 115 |
+
"ssh_enabled": false,
|
| 116 |
+
"environment": {
|
| 117 |
+
"UV_PROJECT_ENVIRONMENT": "/tmp/codegeist-identity-venv"
|
| 118 |
+
},
|
| 119 |
+
"runtime_secret_names": [
|
| 120 |
+
"HF_TOKEN"
|
| 121 |
+
],
|
| 122 |
+
"command": [
|
| 123 |
+
"uv",
|
| 124 |
+
"run",
|
| 125 |
+
"--project",
|
| 126 |
+
"/workspace",
|
| 127 |
+
"--frozen",
|
| 128 |
+
"--no-dev",
|
| 129 |
+
"python",
|
| 130 |
+
"/workspace/train.py",
|
| 131 |
+
"--model-id",
|
| 132 |
+
"Qwen/Qwen3-1.7B",
|
| 133 |
+
"--revision",
|
| 134 |
+
"70d244cc86ccca08cf5af4e1e306ecf908b1ad5e",
|
| 135 |
+
"--output-dir",
|
| 136 |
+
"/outputs/qwen3-1.7b"
|
| 137 |
+
]
|
| 138 |
+
},
|
| 139 |
+
"training": {
|
| 140 |
+
"precision": "bf16",
|
| 141 |
+
"quantization": null,
|
| 142 |
+
"max_sequence_length": 256,
|
| 143 |
+
"per_device_batch_size": 1,
|
| 144 |
+
"gradient_accumulation_steps": 1,
|
| 145 |
+
"learning_rate": 0.0002,
|
| 146 |
+
"maximum_steps": 20,
|
| 147 |
+
"packing": false,
|
| 148 |
+
"seed": 3407,
|
| 149 |
+
"optimizer": "adamw_torch",
|
| 150 |
+
"scheduler": "constant",
|
| 151 |
+
"warmup_steps": 0,
|
| 152 |
+
"weight_decay": 0.0,
|
| 153 |
+
"gradient_checkpointing": false,
|
| 154 |
+
"intermediate_checkpoints": false,
|
| 155 |
+
"automatic_hub_push": false,
|
| 156 |
+
"lora": {
|
| 157 |
+
"rank": 8,
|
| 158 |
+
"alpha": 8,
|
| 159 |
+
"dropout": 0.0,
|
| 160 |
+
"bias": "none",
|
| 161 |
+
"trainable_parameters": 8716288,
|
| 162 |
+
"reported_total_parameters": 1729291264,
|
| 163 |
+
"reported_trainable_percent": 0.5,
|
| 164 |
+
"target_modules": [
|
| 165 |
+
"q_proj",
|
| 166 |
+
"k_proj",
|
| 167 |
+
"v_proj",
|
| 168 |
+
"o_proj",
|
| 169 |
+
"gate_proj",
|
| 170 |
+
"up_proj",
|
| 171 |
+
"down_proj"
|
| 172 |
+
]
|
| 173 |
+
},
|
| 174 |
+
"trainer_runtime_seconds": 10.48,
|
| 175 |
+
"train_samples_per_second": 1.908,
|
| 176 |
+
"train_steps_per_second": 1.908,
|
| 177 |
+
"aggregate_training_loss": 1.6867698234826094,
|
| 178 |
+
"step_metrics": [
|
| 179 |
+
{"step": 1, "loss": 8.353, "gradient_norm": 15.02},
|
| 180 |
+
{"step": 2, "loss": 7.568, "gradient_norm": 17.74},
|
| 181 |
+
{"step": 3, "loss": 5.727, "gradient_norm": 20.98},
|
| 182 |
+
{"step": 4, "loss": 3.804, "gradient_norm": 14.56},
|
| 183 |
+
{"step": 5, "loss": 2.508, "gradient_norm": 8.88},
|
| 184 |
+
{"step": 6, "loss": 1.746, "gradient_norm": 3.956},
|
| 185 |
+
{"step": 7, "loss": 1.36, "gradient_norm": 3.239},
|
| 186 |
+
{"step": 8, "loss": 1.043, "gradient_norm": 3.352},
|
| 187 |
+
{"step": 9, "loss": 0.7308, "gradient_norm": 2.42},
|
| 188 |
+
{"step": 10, "loss": 0.4647, "gradient_norm": 2.227},
|
| 189 |
+
{"step": 11, "loss": 0.2663, "gradient_norm": 1.625},
|
| 190 |
+
{"step": 12, "loss": 0.1188, "gradient_norm": 1.03},
|
| 191 |
+
{"step": 13, "loss": 0.03599, "gradient_norm": 0.4706},
|
| 192 |
+
{"step": 14, "loss": 0.007015, "gradient_norm": 0.1167},
|
| 193 |
+
{"step": 15, "loss": 0.001404, "gradient_norm": 0.03392},
|
| 194 |
+
{"step": 16, "loss": 0.0003581, "gradient_norm": 0.009263},
|
| 195 |
+
{"step": 17, "loss": 0.000184, "gradient_norm": 0.006619},
|
| 196 |
+
{"step": 18, "loss": 0.0002033, "gradient_norm": 0.01128},
|
| 197 |
+
{"step": 19, "loss": 0.0002786, "gradient_norm": 0.01877},
|
| 198 |
+
{"step": 20, "loss": 0.0003003, "gradient_norm": 0.01961}
|
| 199 |
+
]
|
| 200 |
+
},
|
| 201 |
+
"evaluation": {
|
| 202 |
+
"baseline_response": "**Codegeist** is a free, open-source code editor developed by the **Codegeist Team**. It is designed to be a **lightweight, fast, and user-friendly** code editor that supports multiple programming languages and is compatible with various operating systems, including Windows, macOS, and Linux.\n\n### Key Features of",
|
| 203 |
+
"adapted_response": "Codegeist is a coding agent.",
|
| 204 |
+
"exact_match": true,
|
| 205 |
+
"response_normalization": "leading and trailing whitespace stripped before retention and comparison",
|
| 206 |
+
"raw_response_preserved": false,
|
| 207 |
+
"generation_method": "single greedy generation before adaptation and single greedy generation after clean reload",
|
| 208 |
+
"repeatability_runs": 1,
|
| 209 |
+
"pytorch_deterministic_algorithms_enabled": false,
|
| 210 |
+
"adapter_reload_process": "fresh_child_process",
|
| 211 |
+
"timed_training_script_seconds_after_runtime_validation": 90.806
|
| 212 |
+
},
|
| 213 |
+
"job_attempts": [
|
| 214 |
+
{
|
| 215 |
+
"id": "6a75eeedda2af92a634eecaa",
|
| 216 |
+
"url": "https://huggingface.co/jobs/codegeist/6a75eeedda2af92a634eecaa",
|
| 217 |
+
"created_at": "2026-08-07T14:42:53.825000+00:00",
|
| 218 |
+
"started_at": "2026-08-07T14:43:03.414000+00:00",
|
| 219 |
+
"finished_at": "2026-08-07T14:43:54.618000+00:00",
|
| 220 |
+
"terminal_status": "ERROR",
|
| 221 |
+
"scheduling_seconds": 9,
|
| 222 |
+
"running_seconds": 51,
|
| 223 |
+
"total_seconds": 60,
|
| 224 |
+
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm-slim@sha256:5d275ca5f0da33c3368ac8fbb85fafabad023b3b8a7cff39a94ac0baecfd9a50",
|
| 225 |
+
"finding": "The Jobs runtime exposed ACCELERATOR=gpu rather than the documented flavor name a10g-small."
|
| 226 |
+
},
|
| 227 |
+
{
|
| 228 |
+
"id": "6a75ef753e1f34a7e32bd601",
|
| 229 |
+
"url": "https://huggingface.co/jobs/codegeist/6a75ef753e1f34a7e32bd601",
|
| 230 |
+
"created_at": "2026-08-07T14:45:09.389000+00:00",
|
| 231 |
+
"started_at": "2026-08-07T14:45:17.800000+00:00",
|
| 232 |
+
"finished_at": "2026-08-07T14:46:58.139000+00:00",
|
| 233 |
+
"terminal_status": "ERROR",
|
| 234 |
+
"scheduling_seconds": 8,
|
| 235 |
+
"running_seconds": 100,
|
| 236 |
+
"total_seconds": 108,
|
| 237 |
+
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm-slim@sha256:5d275ca5f0da33c3368ac8fbb85fafabad023b3b8a7cff39a94ac0baecfd9a50",
|
| 238 |
+
"finding": "Resolver-selected TorchAO 0.18.0 used torch.utils._pytree.register_constant, which is absent from PyTorch 2.6.0."
|
| 239 |
+
},
|
| 240 |
+
{
|
| 241 |
+
"id": "6a75f06c3e1f34a7e32bd61c",
|
| 242 |
+
"url": "https://huggingface.co/jobs/codegeist/6a75f06c3e1f34a7e32bd61c",
|
| 243 |
+
"created_at": "2026-08-07T14:49:16.344000+00:00",
|
| 244 |
+
"started_at": "2026-08-07T14:49:27.399000+00:00",
|
| 245 |
+
"finished_at": "2026-08-07T14:50:37.624000+00:00",
|
| 246 |
+
"terminal_status": "COMPLETED",
|
| 247 |
+
"scheduling_seconds": 11,
|
| 248 |
+
"running_seconds": 70,
|
| 249 |
+
"total_seconds": 81,
|
| 250 |
+
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm-slim@sha256:5d275ca5f0da33c3368ac8fbb85fafabad023b3b8a7cff39a94ac0baecfd9a50",
|
| 251 |
+
"finding": "The pinned framework stack imported successfully on CUDA 12.4 and NVIDIA A10G without downloading model weights."
|
| 252 |
+
},
|
| 253 |
+
{
|
| 254 |
+
"id": "6a75f10b3e1f34a7e32bd631",
|
| 255 |
+
"url": "https://huggingface.co/jobs/codegeist/6a75f10b3e1f34a7e32bd631",
|
| 256 |
+
"created_at": "2026-08-07T14:51:55.353000+00:00",
|
| 257 |
+
"started_at": "2026-08-07T14:52:03.839000+00:00",
|
| 258 |
+
"finished_at": "2026-08-07T14:53:41.173000+00:00",
|
| 259 |
+
"terminal_status": "ERROR",
|
| 260 |
+
"scheduling_seconds": 8,
|
| 261 |
+
"running_seconds": 97,
|
| 262 |
+
"total_seconds": 105,
|
| 263 |
+
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm-slim@sha256:5d275ca5f0da33c3368ac8fbb85fafabad023b3b8a7cff39a94ac0baecfd9a50",
|
| 264 |
+
"finding": "The model loaded, but Triton could not compile its CUDA driver helper because the slim image contained no C compiler."
|
| 265 |
+
},
|
| 266 |
+
{
|
| 267 |
+
"id": "6a75f25a3e1f34a7e32bd646",
|
| 268 |
+
"url": "https://huggingface.co/jobs/codegeist/6a75f25a3e1f34a7e32bd646",
|
| 269 |
+
"created_at": "2026-08-07T14:57:30.247000+00:00",
|
| 270 |
+
"started_at": "2026-08-07T14:57:38.813000+00:00",
|
| 271 |
+
"finished_at": "2026-08-07T14:59:53.242000+00:00",
|
| 272 |
+
"terminal_status": "COMPLETED",
|
| 273 |
+
"scheduling_seconds": 8,
|
| 274 |
+
"running_seconds": 134,
|
| 275 |
+
"total_seconds": 142,
|
| 276 |
+
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm@sha256:9aa60c50016c0485636ab9a830246a6ef3399aa4a8bab3d17ef4a2358fba2ca7",
|
| 277 |
+
"finding": "Training, Safetensors save, fresh-process adapter reload, whitespace-normalized match evaluation, and evidence writing completed."
|
| 278 |
+
}
|
| 279 |
+
],
|
| 280 |
+
"pre_job_failures": [
|
| 281 |
+
{
|
| 282 |
+
"job_created": false,
|
| 283 |
+
"compute_cost": 0,
|
| 284 |
+
"finding": "The first launch request used model=qwen3-1.7b; the dot violated the Jobs tag character policy."
|
| 285 |
+
},
|
| 286 |
+
{
|
| 287 |
+
"job_created": false,
|
| 288 |
+
"compute_cost": 0,
|
| 289 |
+
"finding": "The second launch request fixed the model label but retained a dot in the name, which is also stored as a label."
|
| 290 |
+
},
|
| 291 |
+
{
|
| 292 |
+
"job_created": false,
|
| 293 |
+
"compute_cost": 0,
|
| 294 |
+
"finding": "A later source sync failed locally with ENOSPC in the Hugging Face Xet staging cache. Removing 6.474 GB of unused devcontainer build cache restored sufficient space."
|
| 295 |
+
}
|
| 296 |
+
],
|
| 297 |
+
"storage": {
|
| 298 |
+
"bucket": "codegeist/jobs-artifacts",
|
| 299 |
+
"bucket_private": true,
|
| 300 |
+
"bucket_created_at": "2026-08-07T14:41:22+00:00",
|
| 301 |
+
"bucket_observed_size_bytes": 35051685,
|
| 302 |
+
"bucket_observed_file_count": 14,
|
| 303 |
+
"source_prefix": "identity-smoke-83abb38f",
|
| 304 |
+
"output_prefix": "identity-smoke-38e1bc83",
|
| 305 |
+
"local_directory": ".artifacts/identity-smoke/qwen3-1.7b",
|
| 306 |
+
"local_directory_ignored_by_git": true,
|
| 307 |
+
"public_repository_created": false
|
| 308 |
+
},
|
| 309 |
+
"artifacts": {
|
| 310 |
+
"adapter_total_size_bytes": 34923206,
|
| 311 |
+
"files": {
|
| 312 |
+
"adapter/README.md": {
|
| 313 |
+
"size_bytes": 5206,
|
| 314 |
+
"sha256": "fe5e0e242745b7581eee65f7991c745c93717d4d1fee1e52e092473917fb1d23"
|
| 315 |
+
},
|
| 316 |
+
"adapter/adapter_config.json": {
|
| 317 |
+
"size_bytes": 1280,
|
| 318 |
+
"sha256": "586d012561c6a41a2f1e4049a0ff80339e403e7886352512e66ec663e9744f29"
|
| 319 |
+
},
|
| 320 |
+
"adapter/adapter_model.safetensors": {
|
| 321 |
+
"size_bytes": 34916720,
|
| 322 |
+
"sha256": "19d424106ef88ffeac4c26c22cebfb13ae1d5f309e1dcccf2da708727bec10a8"
|
| 323 |
+
},
|
| 324 |
+
"SHA256SUMS": {
|
| 325 |
+
"size_bytes": 278,
|
| 326 |
+
"sha256": "760a3ce4cb7a0f0f64e1bab3400fce5ba16153c7e25f82454695eb5c362966cf"
|
| 327 |
+
},
|
| 328 |
+
"run.json": {
|
| 329 |
+
"size_bytes": 3588,
|
| 330 |
+
"sha256": "97444c2d3c8f1a2c2dd50041fea3c44a3a6077bedecf002814e5354a951f214b"
|
| 331 |
+
},
|
| 332 |
+
"job.json": {
|
| 333 |
+
"size_bytes": 1455,
|
| 334 |
+
"sha256": "db88cfcc7b8d9bbc874975d70161b84d96c802bfebdcc713f76fa83e24178d68",
|
| 335 |
+
"origin": "locally curated from hf jobs inspect after terminal completion"
|
| 336 |
+
}
|
| 337 |
+
}
|
| 338 |
+
},
|
| 339 |
+
"private_evidence_snapshots": {
|
| 340 |
+
"local_directory": ".artifacts/identity-smoke/qwen3-1.7b/logs",
|
| 341 |
+
"tracked_by_git": false,
|
| 342 |
+
"captured_after_completion": true,
|
| 343 |
+
"note": "These private snapshots anchor manually curated log, job, hardware, and bucket facts without committing raw logs.",
|
| 344 |
+
"files": {
|
| 345 |
+
"6a75eeedda2af92a634eecaa.log": {"size_bytes": 2894, "sha256": "84101ba9b08f4f22a5ac1d15456ab543757e3b773b72d9c9b2cc63a6aa810309"},
|
| 346 |
+
"6a75ef753e1f34a7e32bd601.log": {"size_bytes": 12337, "sha256": "30a141f6559e9576191c8f28864fe638a033825d13a50f13abfa8be921bdeb2d"},
|
| 347 |
+
"6a75f06c3e1f34a7e32bd61c.log": {"size_bytes": 3016, "sha256": "40dc8a1680f5380673685491fa515515a3bb3b35eb37aea23f3a6a231b1e727c"},
|
| 348 |
+
"6a75f10b3e1f34a7e32bd631.log": {"size_bytes": 10311, "sha256": "685caa06717a3185d69e72f98142cc1c71fd6b069b71c65b2643c1677f74d202"},
|
| 349 |
+
"6a75f25a3e1f34a7e32bd646.log": {"size_bytes": 11637, "sha256": "f1f79b48899e24f6a4a2d667ce40166b9ede6a0d7a2c5de91aa87cceb8344479"},
|
| 350 |
+
"bucket-info.json": {"size_bytes": 132, "sha256": "76fc077f24605fb1a1e4c84927a46c066daccc88abc21e42d5b8a0ba9c2b2d31"},
|
| 351 |
+
"hardware-a10g-small.txt": {"size_bytes": 81, "sha256": "7d23c09ee7611b01840801b003c82c7d0a23f5b8207fb41079a4859d843e49b5"},
|
| 352 |
+
"jobs-inspect.json": {"size_bytes": 9374, "sha256": "f240ae186e462b0c8cf7deeeec1dc659193c4bba74fc300a54339d2a25a35948"},
|
| 353 |
+
"SHA256SUMS": {"size_bytes": 772, "sha256": "85ea71d1ddcbbf3b9e605081eb8d113cd2e3c5f00e49551c97f6c1ce94bc7c06"}
|
| 354 |
+
}
|
| 355 |
+
},
|
| 356 |
+
"verification": {
|
| 357 |
+
"pre_launch_weightless_contract_tests": 13,
|
| 358 |
+
"pre_launch_weightless_contract_tests_passed": 13,
|
| 359 |
+
"post_run_hardened_contract_tests": 16,
|
| 360 |
+
"post_run_hardened_contract_tests_passed": 16,
|
| 361 |
+
"lock_check_passed": true,
|
| 362 |
+
"adapter_hash_check_passed": true,
|
| 363 |
+
"source_hash_check_passed": true,
|
| 364 |
+
"source_hash_check_timing": "passed immediately after artifact synchronization, before docstring-only post-run hardening",
|
| 365 |
+
"secret_scan_passed": true,
|
| 366 |
+
"private_snapshot_secret_scan_passed": true,
|
| 367 |
+
"private_snapshot_hash_manifest_passed": true,
|
| 368 |
+
"upstream_download_hash_check_passed": false,
|
| 369 |
+
"adapter_format": "safetensors",
|
| 370 |
+
"pickle_bin_present": false,
|
| 371 |
+
"clean_process_reload_passed": true,
|
| 372 |
+
"terminal_job_status": "COMPLETED"
|
| 373 |
+
},
|
| 374 |
+
"cost_estimate": {
|
| 375 |
+
"observed_rate_usd_per_hour": 1.0,
|
| 376 |
+
"observed_rate_usd_per_minute": 0.0167,
|
| 377 |
+
"total_running_seconds_across_created_jobs": 452,
|
| 378 |
+
"per_second_estimate_usd": 0.1256,
|
| 379 |
+
"conservative_per_job_minute_rounding_minutes": 10,
|
| 380 |
+
"conservative_per_job_minute_rounding_usd": 0.167,
|
| 381 |
+
"authoritative_source": "Hugging Face billing page"
|
| 382 |
+
},
|
| 383 |
+
"known_gaps": [
|
| 384 |
+
"The training source was not committed at launch; exact source bytes are anchored by SHA-256 instead of a Git commit containing the implementation.",
|
| 385 |
+
"The generated adapter README is boilerplate and is not acceptable for publication.",
|
| 386 |
+
"adapter_config.json records the base model ID but leaves its revision null; run.json and upstream-model.json provide the immutable revision.",
|
| 387 |
+
"run.json does not list TorchAO in its selected runtime package subset; the lock digest and this curated record capture TorchAO 0.13.0.",
|
| 388 |
+
"The full project devcontainer rebuild was not completed because its shared lazygit step exhausted the anonymous GitHub API rate limit.",
|
| 389 |
+
"The model and tokenizer bytes loaded inside the Job were not independently rehashed against upstream-model.json after download.",
|
| 390 |
+
"Evaluation used one greedy baseline generation and one greedy post-reload generation; repeatability and deterministic PyTorch algorithms were not tested.",
|
| 391 |
+
"The three pre-job failures without Job IDs are manually reconstructed from the live session because no durable command transcript was captured at the time.",
|
| 392 |
+
"The historical exact_match field compares a whitespace-stripped response; the raw decoded continuation was not retained.",
|
| 393 |
+
"The experiment demonstrates one-record memorization only."
|
| 394 |
+
]
|
| 395 |
+
}
|