README: document the escaped-newline defect, the BOM dependency bug, and point at HANDOFF.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# SecureCoder — training runbook
|
| 2 |
|
| 3 |
A QLoRA fine-tune that targets three skills at once: **coding**, **tool calling**
|
|
|
|
| 1 |
+
> [!CAUTION]
|
| 2 |
+
> **Known defect found 2026-10-04:** the v1 and v2 fine-tunes emit the literal
|
| 3 |
+
> two-character sequence `\n` instead of real newlines, so their Python output fails
|
| 4 |
+
> `ast.parse` (base model 93.3% valid Python, v2 0.0%). Cause: several datasets in the
|
| 5 |
+
> training mix store message text JSON-escaped (183/480 sampled rows).
|
| 6 |
+
>
|
| 7 |
+
> **Fixed here** in `train_securecoder.py` via `_unescape_if_needed()` + a `repaired=`
|
| 8 |
+
> counter per source. The broken merged/GGUF repos were deleted; both adapters are kept
|
| 9 |
+
> for reproducibility. Full write-up and the exact retrain command: see `HANDOFF.md`.
|
| 10 |
+
>
|
| 11 |
+
> Also fixed: a UTF-8 BOM before `# /// script` meant uv never installed the declared
|
| 12 |
+
> dependencies, so every job died in seconds with `No module named 'torch'`.
|
| 13 |
+
|
| 14 |
# SecureCoder — training runbook
|
| 15 |
|
| 16 |
A QLoRA fine-tune that targets three skills at once: **coding**, **tool calling**
|