codegeist-llm / evidence.json
codegeist's picture
Add reviewed identity smoke adapter
04d51ed verified
Raw
History Blame
18.4 kB
{
"schema_version": 1,
"evidence_type": "non-production-identity-pipeline-smoke",
"recorded_date": "2026-08-07",
"result": "passed",
"scope": {
"purpose": "Validate model download, BF16 LoRA training, private adapter persistence, clean-process reload, single greedy whitespace-normalized exact-match evaluation, and evidence handling.",
"learned_answer": "Codegeist is a coding agent.",
"does_not_demonstrate": [
"coding ability",
"generalization",
"safe tool use",
"Codegeist OS integration",
"GGUF conversion",
"Vulkan deployment",
"production model quality"
]
},
"source_state": {
"branch": "main",
"git_head_at_launch": "216dca0defb47ad853ab9f9317ec855bece6aed2",
"source_committed_at_launch": false,
"canonical_source_identity": "sha256",
"source_sha256_scope": "source bytes executed by the successful job",
"source_sha256": {
"pyproject.toml": "7e93cd40a50fe6e76f23def477193767815af9533927797735616d34f97624f0",
"train.py": "a82a7385c3af87fbddd1f208e868d8ecb05ff4e290309ba3d6feaedac159f170",
"upstream-model.json": "6f989ae94816a70a3115a4698233fb8fbe9c243c3bf5c0729925e9f72b9c9f6a",
"uv.lock": "cfe0f3676c3e69fba0b5cecb75a6163c23254297b837b4b733821a2fbbd70415"
},
"post_run_hardened_train_py_sha256": "899888549826fd974ff2ac918e5ed74f6a13232e3e896e24af94d9db04ca79a6",
"post_run_hardened_source_matches_executed_source": false,
"post_run_change": "Docstring-only corrections clarified credential reads and whitespace-normalized response comparison without changing training logic."
},
"upstream_model": {
"model_id": "Qwen/Qwen3-1.7B",
"revision": "70d244cc86ccca08cf5af4e1e306ecf908b1ad5e",
"publisher": "Qwen",
"license": "apache-2.0",
"revision_last_modified": "2025-07-26T03:46:32+00:00",
"remote_code_enabled": false,
"manifest_path": "jobs/identity-smoke/upstream-model.json",
"manifest_sha256": "6f989ae94816a70a3115a4698233fb8fbe9c243c3bf5c0729925e9f72b9c9f6a",
"weight_sha256": {
"model-00001-of-00002.safetensors": "169ad53ec313c3a34b06c0809216e4fc072cce444a5d4ff2b59690d064130ed5",
"model-00002-of-00002.safetensors": "912becff8d60672aa8628ef08c05898d9adf17c2ad4ae3caf99b065622fdeff9"
},
"hash_source": "Hugging Face revision API and locally hashed small metadata files",
"downloaded_bytes_independently_verified": false
},
"dataset": {
"record_id": "codegeist-identity-v1-001",
"record_count": 1,
"instruction": "What is Codegeist?",
"response": "Codegeist is a coding agent.",
"source_type": "project-authored synthetic identity record",
"authorship": "Codegeist project",
"source_anchor": "train.py SHA-256 a82a7385c3af87fbddd1f208e868d8ecb05ff4e290309ba3d6feaedac159f170",
"license": "0BSD under the shared codegeist-ai/codegeist-ai license",
"license_url": "https://github.com/codegeist-ai/codegeist-ai/blob/main/LICENSE",
"reviewed_date": "2026-08-07",
"pii_review": "No names, contact data, user data, logs, or personal identifiers are present.",
"secret_review": "The literal record contains no credential or secret material.",
"deduplication_review": "not applicable: one authored record",
"scenario_split_review": "not applicable: pipeline-only one-record smoke",
"train_evaluation_contamination": "deliberate reuse of the training prompt to test memorization",
"poisoning_review": "no untrusted source or teacher output enters the record",
"exclusions": "none",
"thinking_enabled": false,
"completion_end_token": "<|im_end|>",
"loss_scope": "completion_only",
"contains_private_data": false
},
"runtime": {
"platform": "linux-x86_64",
"job_image": "ghcr.io/astral-sh/uv:python3.12-bookworm@sha256:9aa60c50016c0485636ab9a830246a6ef3399aa4a8bab3d17ef4a2358fba2ca7",
"python": "3.12.12",
"uv": "0.9.30",
"c_compiler": "gcc 12.2.0",
"hardware_flavor": "a10g-small",
"cuda_device": "NVIDIA A10G",
"nominal_vram_gb": 24,
"unsloth_visible_vram_gib": 22.301,
"cuda_runtime": "12.4",
"packages": {
"accelerate": "1.14.0",
"datasets": "4.3.0",
"huggingface-hub": "1.26.1",
"peft": "0.20.0",
"safetensors": "0.8.0",
"torch": "2.6.0",
"torch_build_reported_by_unsloth": "2.6.0+cu124",
"torchao": "0.13.0",
"torchvision": "0.21.0",
"transformers": "5.5.0",
"triton": "3.2.0",
"trl": "0.24.0",
"unsloth": "2026.8.7",
"unsloth-zoo": "2026.8.5",
"xformers": "0.0.29.post3"
},
"runtime_packages_installed": 102,
"lock_packages_resolved": 106
},
"job_policy": {
"namespace": "codegeist",
"name": "codegeist-identity-qwen3-1-7b",
"labels": {
"purpose": "identity-smoke",
"model": "qwen3-1-7b"
},
"timeout": "30m",
"detached": true,
"exposed_ports": [],
"ssh_enabled": false,
"environment": {
"UV_PROJECT_ENVIRONMENT": "/tmp/codegeist-identity-venv"
},
"runtime_secret_names": [
"HF_TOKEN"
],
"command": [
"uv",
"run",
"--project",
"/workspace",
"--frozen",
"--no-dev",
"python",
"/workspace/train.py",
"--model-id",
"Qwen/Qwen3-1.7B",
"--revision",
"70d244cc86ccca08cf5af4e1e306ecf908b1ad5e",
"--output-dir",
"/outputs/qwen3-1.7b"
]
},
"training": {
"precision": "bf16",
"quantization": null,
"max_sequence_length": 256,
"per_device_batch_size": 1,
"gradient_accumulation_steps": 1,
"learning_rate": 0.0002,
"maximum_steps": 20,
"packing": false,
"seed": 3407,
"optimizer": "adamw_torch",
"scheduler": "constant",
"warmup_steps": 0,
"weight_decay": 0.0,
"gradient_checkpointing": false,
"intermediate_checkpoints": false,
"automatic_hub_push": false,
"lora": {
"rank": 8,
"alpha": 8,
"dropout": 0.0,
"bias": "none",
"trainable_parameters": 8716288,
"reported_total_parameters": 1729291264,
"reported_trainable_percent": 0.5,
"target_modules": [
"q_proj",
"k_proj",
"v_proj",
"o_proj",
"gate_proj",
"up_proj",
"down_proj"
]
},
"trainer_runtime_seconds": 10.48,
"train_samples_per_second": 1.908,
"train_steps_per_second": 1.908,
"aggregate_training_loss": 1.6867698234826094,
"step_metrics": [
{"step": 1, "loss": 8.353, "gradient_norm": 15.02},
{"step": 2, "loss": 7.568, "gradient_norm": 17.74},
{"step": 3, "loss": 5.727, "gradient_norm": 20.98},
{"step": 4, "loss": 3.804, "gradient_norm": 14.56},
{"step": 5, "loss": 2.508, "gradient_norm": 8.88},
{"step": 6, "loss": 1.746, "gradient_norm": 3.956},
{"step": 7, "loss": 1.36, "gradient_norm": 3.239},
{"step": 8, "loss": 1.043, "gradient_norm": 3.352},
{"step": 9, "loss": 0.7308, "gradient_norm": 2.42},
{"step": 10, "loss": 0.4647, "gradient_norm": 2.227},
{"step": 11, "loss": 0.2663, "gradient_norm": 1.625},
{"step": 12, "loss": 0.1188, "gradient_norm": 1.03},
{"step": 13, "loss": 0.03599, "gradient_norm": 0.4706},
{"step": 14, "loss": 0.007015, "gradient_norm": 0.1167},
{"step": 15, "loss": 0.001404, "gradient_norm": 0.03392},
{"step": 16, "loss": 0.0003581, "gradient_norm": 0.009263},
{"step": 17, "loss": 0.000184, "gradient_norm": 0.006619},
{"step": 18, "loss": 0.0002033, "gradient_norm": 0.01128},
{"step": 19, "loss": 0.0002786, "gradient_norm": 0.01877},
{"step": 20, "loss": 0.0003003, "gradient_norm": 0.01961}
]
},
"evaluation": {
"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",
"adapted_response": "Codegeist is a coding agent.",
"exact_match": true,
"response_normalization": "leading and trailing whitespace stripped before retention and comparison",
"raw_response_preserved": false,
"generation_method": "single greedy generation before adaptation and single greedy generation after clean reload",
"repeatability_runs": 1,
"pytorch_deterministic_algorithms_enabled": false,
"adapter_reload_process": "fresh_child_process",
"timed_training_script_seconds_after_runtime_validation": 90.806
},
"job_attempts": [
{
"id": "6a75eeedda2af92a634eecaa",
"url": "https://huggingface.co/jobs/codegeist/6a75eeedda2af92a634eecaa",
"created_at": "2026-08-07T14:42:53.825000+00:00",
"started_at": "2026-08-07T14:43:03.414000+00:00",
"finished_at": "2026-08-07T14:43:54.618000+00:00",
"terminal_status": "ERROR",
"scheduling_seconds": 9,
"running_seconds": 51,
"total_seconds": 60,
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm-slim@sha256:5d275ca5f0da33c3368ac8fbb85fafabad023b3b8a7cff39a94ac0baecfd9a50",
"finding": "The Jobs runtime exposed ACCELERATOR=gpu rather than the documented flavor name a10g-small."
},
{
"id": "6a75ef753e1f34a7e32bd601",
"url": "https://huggingface.co/jobs/codegeist/6a75ef753e1f34a7e32bd601",
"created_at": "2026-08-07T14:45:09.389000+00:00",
"started_at": "2026-08-07T14:45:17.800000+00:00",
"finished_at": "2026-08-07T14:46:58.139000+00:00",
"terminal_status": "ERROR",
"scheduling_seconds": 8,
"running_seconds": 100,
"total_seconds": 108,
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm-slim@sha256:5d275ca5f0da33c3368ac8fbb85fafabad023b3b8a7cff39a94ac0baecfd9a50",
"finding": "Resolver-selected TorchAO 0.18.0 used torch.utils._pytree.register_constant, which is absent from PyTorch 2.6.0."
},
{
"id": "6a75f06c3e1f34a7e32bd61c",
"url": "https://huggingface.co/jobs/codegeist/6a75f06c3e1f34a7e32bd61c",
"created_at": "2026-08-07T14:49:16.344000+00:00",
"started_at": "2026-08-07T14:49:27.399000+00:00",
"finished_at": "2026-08-07T14:50:37.624000+00:00",
"terminal_status": "COMPLETED",
"scheduling_seconds": 11,
"running_seconds": 70,
"total_seconds": 81,
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm-slim@sha256:5d275ca5f0da33c3368ac8fbb85fafabad023b3b8a7cff39a94ac0baecfd9a50",
"finding": "The pinned framework stack imported successfully on CUDA 12.4 and NVIDIA A10G without downloading model weights."
},
{
"id": "6a75f10b3e1f34a7e32bd631",
"url": "https://huggingface.co/jobs/codegeist/6a75f10b3e1f34a7e32bd631",
"created_at": "2026-08-07T14:51:55.353000+00:00",
"started_at": "2026-08-07T14:52:03.839000+00:00",
"finished_at": "2026-08-07T14:53:41.173000+00:00",
"terminal_status": "ERROR",
"scheduling_seconds": 8,
"running_seconds": 97,
"total_seconds": 105,
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm-slim@sha256:5d275ca5f0da33c3368ac8fbb85fafabad023b3b8a7cff39a94ac0baecfd9a50",
"finding": "The model loaded, but Triton could not compile its CUDA driver helper because the slim image contained no C compiler."
},
{
"id": "6a75f25a3e1f34a7e32bd646",
"url": "https://huggingface.co/jobs/codegeist/6a75f25a3e1f34a7e32bd646",
"created_at": "2026-08-07T14:57:30.247000+00:00",
"started_at": "2026-08-07T14:57:38.813000+00:00",
"finished_at": "2026-08-07T14:59:53.242000+00:00",
"terminal_status": "COMPLETED",
"scheduling_seconds": 8,
"running_seconds": 134,
"total_seconds": 142,
"image": "ghcr.io/astral-sh/uv:python3.12-bookworm@sha256:9aa60c50016c0485636ab9a830246a6ef3399aa4a8bab3d17ef4a2358fba2ca7",
"finding": "Training, Safetensors save, fresh-process adapter reload, whitespace-normalized match evaluation, and evidence writing completed."
}
],
"pre_job_failures": [
{
"job_created": false,
"compute_cost": 0,
"finding": "The first launch request used model=qwen3-1.7b; the dot violated the Jobs tag character policy."
},
{
"job_created": false,
"compute_cost": 0,
"finding": "The second launch request fixed the model label but retained a dot in the name, which is also stored as a label."
},
{
"job_created": false,
"compute_cost": 0,
"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."
}
],
"storage": {
"bucket": "codegeist/jobs-artifacts",
"bucket_private": true,
"bucket_created_at": "2026-08-07T14:41:22+00:00",
"bucket_observed_size_bytes": 35051685,
"bucket_observed_file_count": 14,
"source_prefix": "identity-smoke-83abb38f",
"output_prefix": "identity-smoke-38e1bc83",
"local_directory": ".artifacts/identity-smoke/qwen3-1.7b",
"local_directory_ignored_by_git": true,
"public_repository_created": false
},
"artifacts": {
"adapter_total_size_bytes": 34923206,
"files": {
"adapter/README.md": {
"size_bytes": 5206,
"sha256": "fe5e0e242745b7581eee65f7991c745c93717d4d1fee1e52e092473917fb1d23"
},
"adapter/adapter_config.json": {
"size_bytes": 1280,
"sha256": "586d012561c6a41a2f1e4049a0ff80339e403e7886352512e66ec663e9744f29"
},
"adapter/adapter_model.safetensors": {
"size_bytes": 34916720,
"sha256": "19d424106ef88ffeac4c26c22cebfb13ae1d5f309e1dcccf2da708727bec10a8"
},
"SHA256SUMS": {
"size_bytes": 278,
"sha256": "760a3ce4cb7a0f0f64e1bab3400fce5ba16153c7e25f82454695eb5c362966cf"
},
"run.json": {
"size_bytes": 3588,
"sha256": "97444c2d3c8f1a2c2dd50041fea3c44a3a6077bedecf002814e5354a951f214b"
},
"job.json": {
"size_bytes": 1455,
"sha256": "db88cfcc7b8d9bbc874975d70161b84d96c802bfebdcc713f76fa83e24178d68",
"origin": "locally curated from hf jobs inspect after terminal completion"
}
}
},
"private_evidence_snapshots": {
"local_directory": ".artifacts/identity-smoke/qwen3-1.7b/logs",
"tracked_by_git": false,
"captured_after_completion": true,
"note": "These private snapshots anchor manually curated log, job, hardware, and bucket facts without committing raw logs.",
"files": {
"6a75eeedda2af92a634eecaa.log": {"size_bytes": 2894, "sha256": "84101ba9b08f4f22a5ac1d15456ab543757e3b773b72d9c9b2cc63a6aa810309"},
"6a75ef753e1f34a7e32bd601.log": {"size_bytes": 12337, "sha256": "30a141f6559e9576191c8f28864fe638a033825d13a50f13abfa8be921bdeb2d"},
"6a75f06c3e1f34a7e32bd61c.log": {"size_bytes": 3016, "sha256": "40dc8a1680f5380673685491fa515515a3bb3b35eb37aea23f3a6a231b1e727c"},
"6a75f10b3e1f34a7e32bd631.log": {"size_bytes": 10311, "sha256": "685caa06717a3185d69e72f98142cc1c71fd6b069b71c65b2643c1677f74d202"},
"6a75f25a3e1f34a7e32bd646.log": {"size_bytes": 11637, "sha256": "f1f79b48899e24f6a4a2d667ce40166b9ede6a0d7a2c5de91aa87cceb8344479"},
"bucket-info.json": {"size_bytes": 132, "sha256": "76fc077f24605fb1a1e4c84927a46c066daccc88abc21e42d5b8a0ba9c2b2d31"},
"hardware-a10g-small.txt": {"size_bytes": 81, "sha256": "7d23c09ee7611b01840801b003c82c7d0a23f5b8207fb41079a4859d843e49b5"},
"jobs-inspect.json": {"size_bytes": 9374, "sha256": "f240ae186e462b0c8cf7deeeec1dc659193c4bba74fc300a54339d2a25a35948"},
"SHA256SUMS": {"size_bytes": 772, "sha256": "85ea71d1ddcbbf3b9e605081eb8d113cd2e3c5f00e49551c97f6c1ce94bc7c06"}
}
},
"verification": {
"pre_launch_weightless_contract_tests": 13,
"pre_launch_weightless_contract_tests_passed": 13,
"post_run_hardened_contract_tests": 16,
"post_run_hardened_contract_tests_passed": 16,
"lock_check_passed": true,
"adapter_hash_check_passed": true,
"source_hash_check_passed": true,
"source_hash_check_timing": "passed immediately after artifact synchronization, before docstring-only post-run hardening",
"secret_scan_passed": true,
"private_snapshot_secret_scan_passed": true,
"private_snapshot_hash_manifest_passed": true,
"upstream_download_hash_check_passed": false,
"adapter_format": "safetensors",
"pickle_bin_present": false,
"clean_process_reload_passed": true,
"terminal_job_status": "COMPLETED"
},
"cost_estimate": {
"observed_rate_usd_per_hour": 1.0,
"observed_rate_usd_per_minute": 0.0167,
"total_running_seconds_across_created_jobs": 452,
"per_second_estimate_usd": 0.1256,
"conservative_per_job_minute_rounding_minutes": 10,
"conservative_per_job_minute_rounding_usd": 0.167,
"authoritative_source": "Hugging Face billing page"
},
"known_gaps": [
"The training source was not committed at launch; exact source bytes are anchored by SHA-256 instead of a Git commit containing the implementation.",
"The generated adapter README is boilerplate and is not acceptable for publication.",
"adapter_config.json records the base model ID but leaves its revision null; run.json and upstream-model.json provide the immutable revision.",
"run.json does not list TorchAO in its selected runtime package subset; the lock digest and this curated record capture TorchAO 0.13.0.",
"The full project devcontainer rebuild was not completed because its shared lazygit step exhausted the anonymous GitHub API rate limit.",
"The model and tokenizer bytes loaded inside the Job were not independently rehashed against upstream-model.json after download.",
"Evaluation used one greedy baseline generation and one greedy post-reload generation; repeatability and deterministic PyTorch algorithms were not tested.",
"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.",
"The historical exact_match field compares a whitespace-stripped response; the raw decoded continuation was not retained.",
"The experiment demonstrates one-record memorization only."
]
}