rockypod commited on
Commit
b66df7b
Β·
verified Β·
1 Parent(s): 655b770

v0.9.0: 14B GGUF + README/LICENSE/NOTICE

Browse files
Files changed (6) hide show
  1. .gitattributes +1 -0
  2. LICENSE +21 -0
  3. LICENSE-APACHE +202 -0
  4. NOTICE +30 -0
  5. README.md +362 -0
  6. svelte-coder-v0.9.0-q4_k_m.gguf +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ svelte-coder-v0.9.0-q4_k_m.gguf filter=lfs diff=lfs merge=lfs -text
LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2026 rockypod
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
LICENSE-APACHE ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
NOTICE ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Svelte Coder
2
+ Copyright 2026 Kevin Miller, Jr.
3
+
4
+ This product includes derivative work based on the following models
5
+ released by Alibaba Cloud / Qwen Team under the Apache License,
6
+ Version 2.0:
7
+
8
+ - Qwen3-Coder-14B
9
+ https://huggingface.co/Qwen/Qwen3-Coder-14B
10
+ Used as the base model for Svelte Coder 14B variant
11
+
12
+ - Qwen3-8B
13
+ https://huggingface.co/Qwen/Qwen3-8B
14
+ Used as the base model for Svelte Coder 8B variant
15
+
16
+ - Qwen3-4B
17
+ https://huggingface.co/Qwen/Qwen3-4B
18
+ Used as the base model for Svelte Coder 4B variant
19
+
20
+ - Qwen3-Coder-Next
21
+ https://huggingface.co/Qwen/Qwen3-Coder-Next
22
+ Used as the teacher model for synthetic training data generation
23
+
24
+ The fine-tuning work, training scripts, evaluation tools, and
25
+ derivative model weights in this repository are licensed under MIT
26
+ (see LICENSE).
27
+
28
+ Modifications: Base models were fine-tuned via LoRA adapters on a
29
+ proprietary Svelte 5 / SvelteKit 2 specialist dataset. See README.md
30
+ for methodology details.
README.md ADDED
@@ -0,0 +1,362 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ language:
4
+ - en
5
+ - code
6
+ library_name: gguf
7
+ pipeline_tag: text-generation
8
+ tags:
9
+ - svelte
10
+ - sveltekit
11
+ - svelte-5
12
+ - runes
13
+ - code-generation
14
+ - gguf
15
+ - mlx
16
+ - qwen3
17
+ - lora
18
+ base_model: Qwen/Qwen3-Coder-14B
19
+ base_model_relation: finetune
20
+ ---
21
+
22
+ # Svelte Coder
23
+
24
+ A Svelte 5 / SvelteKit 2 specialist coding model. Free to use under MIT.
25
+ Built by [rockypod](https://rockypod.com) on a homelab RTX 3090 Ti using
26
+ continuous retrieval-augmented fine-tuning (RAFT) and a correction-stream
27
+ methodology β€” the model is used in real projects, the corrections feed
28
+ the next training cycle.
29
+
30
+ **[HuggingFace β€” weights](https://huggingface.co/rockypod/svelte-coder)** Β·
31
+ **[Install via Ollama](https://ollama.com/rockypod/svelte-coder)** β€” `ollama pull rockypod/svelte-coder` Β·
32
+ **[GitHub β€” exam, integration guides, transparency](https://github.com/rockypod/svelte-coder)**
33
+
34
+ ## What's in this repo
35
+
36
+ - `Modelfile` β€” Ollama Modelfile with the production ChatML template,
37
+ baked-in system prompt, and inference parameters (temperature 0.2,
38
+ num_predict 1500, repeat_penalty 1.5, num_ctx 8192). Use this on
39
+ Ollama, LM Studio, or any runtime that consumes Modelfiles.
40
+ - `integration/` β€” Setup guides for Continue.dev, LM Studio, Ollama, Zed.
41
+ - `LICENSE` β€” MIT.
42
+
43
+ The training dataset is **not** included. The exam, exam results, and
44
+ README live here for transparency; the synthetic training corpus is
45
+ proprietary by design β€” it is the product of an iterative correction
46
+ stream over real-world Svelte work, and that part of the moat stays
47
+ private.
48
+
49
+ ## Current scope (v0.9.0)
50
+
51
+ **In scope.** v0.9.0 covers the working surface of a modern Svelte
52
+ project end-to-end:
53
+
54
+ - Svelte 5 runes β€” `$state`, `$derived`, `$effect`, `$props`, `$bindable`,
55
+ rune-based utilities (e.g. `useLocalStorage` in class form), the Svelte
56
+ 4 β†’ Svelte 5 conversion path
57
+ - SvelteKit 2 β€” file-based routing, `+page.svelte` / `+page.server.ts` /
58
+ `+layout.svelte` / `+server.ts`, `load` (universal and server),
59
+ form actions (the canonical action-triplet pattern), `hooks.server.ts`,
60
+ redirect/error throw rules, `enhance` (action vs function form)
61
+ - WCAG 2.2 AAA β€” semantic landmarks, focus management, ARIA usage,
62
+ color-contrast-aware Tailwind v4 components
63
+ - Tailwind v4 β€” `@theme` tokens, container queries, the v4 `@import` flow
64
+ - Hard reasoning β€” multi-file refactors, regression diagnosis, design
65
+ trade-offs ("what's wrong with this snippet" with structured reasoning)
66
+ - Postgres + Redis β€” typed queries, connection pooling, cache patterns
67
+ - D3 dataviz β€” Svelte-idiomatic D3 (`bind:this` + lifecycle, not D3-managed
68
+ DOM), responsive sizing
69
+ - Playwright E2E β€” page object model, action triplet test patterns,
70
+ `expect.poll` usage
71
+ - Svelte Flow β€” node/edge graph patterns
72
+ - Paraglide i18n β€” message function generation, locale switching in load
73
+ - Route file discipline β€” `+server`, `+page`, `+layout`, hooks
74
+ - Snippets and the `{#snippet}` syntax (replaces named slots)
75
+
76
+ **Deferred to v2.0.** Drupal JSON:API integration patterns and DaisyUI
77
+ component library coverage. Both have meaningful surface area and need
78
+ their own training cycles to land cleanly β€” they are explicit roadmap
79
+ items, not silent omissions.
80
+
81
+ ## Honest benchmark
82
+
83
+ Svelte Coder v0.9.0 was evaluated on **two complementary instruments**.
84
+ The 30Q spot exam uses a cleaner grader and shorter question set; the
85
+ 204Q exam is broader and stricter but has known keyword-matching
86
+ artifacts that depress scores below real model capability. Both numbers
87
+ are disclosed below to give the most honest picture.
88
+
89
+ | Variant | 30Q spot | 204Q in-scope (rescored) |
90
+ |---|---|---|
91
+ | **14B** *(recommended)* | **100%** | 70.11% |
92
+ | 8B | 82.8% | 74.68% |
93
+ | 4B | 79.3% | 67.81% |
94
+
95
+ The **14B variant is recommended for most users** β€” it benchmarks
96
+ highest on the cleaner instrument by a meaningful margin (~17 points
97
+ over 8B). The 8B variant is recommended for hardware where 14B doesn't
98
+ fit. The 4B variant trades capability for accessibility on edge
99
+ hardware.
100
+
101
+ **Why two exams?** The 30Q is the cleaner instrument and reflects
102
+ production capability; the 204Q is broader and stricter but its
103
+ keyword-strict grader produces false negatives β€” output using slightly
104
+ different identifiers (`useLocal()` vs `useLocalStorage()`) or wrapped
105
+ in `<think>` reasoning blocks loses points the human eye would award.
106
+ We rescore the 204Q once (`<think>` strip + comment strip) and publish
107
+ the rescored number; the 30Q needs no such adjustment.
108
+
109
+ The 204Q ranking shows 8B numerically above 14B (74.68% vs 70.11%) β€”
110
+ that's grader noise, not a real capability difference. The 30Q is the
111
+ load-bearing benchmark and the 14B is the strongest variant on it.
112
+
113
+ **T6 hard reasoning** lands at 41% on the strict 204Q grader for the
114
+ 14B. Hard reasoning is genuinely the weakest tier β€” multi-step
115
+ refactors with subtle regressions still trip the model. This is honest
116
+ disclosure, not a rounding excuse.
117
+
118
+ ## Versioning roadmap
119
+
120
+ | Version | Bar | What it takes to get there |
121
+ |---|---|---|
122
+ | **v0.9.0** *(this release)* | 70% in-scope weighted | shipped |
123
+ | v0.9.5 | 80% in-scope weighted | structural improvements from production correction streams (real-world bug fixes feeding the next training cycle) |
124
+ | v1.0.0 | 85% in-scope weighted | production ship gate β€” model is reliable for shipped work |
125
+ | v2.0.0 | 85%+ | Drupal JSON:API + DaisyUI + full ecosystem coverage |
126
+
127
+ The version numbering is intentional. 70% does not deserve a 1.0 label
128
+ even when the spot exam is perfect, and the public commitment to a
129
+ higher bar is the credibility play.
130
+
131
+ ## Run history & lessons learned
132
+
133
+ This is what it took to get to v0.9.0. Published here in full because
134
+ the failures are as instructive as the successes.
135
+
136
+ - **v1.0 baseline.** 1,267 training entries. **88.5%** on the 30Q spot
137
+ exam. Strong baseline, but the 204Q didn't exist yet, so we didn't
138
+ know about the long tail of cross-tier issues.
139
+ - **v1.1 – v1.4. Four failed iterations.** Causes:
140
+ - **Poisoned teacher prompts.** Including a "patterns to avoid" or
141
+ rule-prohibition list in the synthetic-data generation prompt
142
+ teaches the model to *produce* those patterns β€” the prohibited
143
+ text gets memorized as content. Rule: positive specs and acceptance
144
+ gates, never negative lists.
145
+ - **Stripped `<think>` blocks.** Removing chain-of-thought from training
146
+ answers removed reasoning scaffolding the model needed at inference.
147
+ Restored in v1.5.
148
+ - **Ollama chat template mismatch.** The default Ollama template for
149
+ Qwen3-Coder swallowed system prompts and clipped the assistant
150
+ turn boundary. Manifested as mode collapse during exam runs. Fixed
151
+ by overriding `TEMPLATE` in the Modelfile (the override shipped with
152
+ this release).
153
+ - **Cross-tier dataset bleed.** Topic 11 examples leaking patterns into
154
+ Topic 3 answers. Caught and filtered in the v1.5 corpus.
155
+ - **v1.5 β€” this release.** 1,508 entries, full regeneration with an 80B
156
+ teacher model and the official `llms.txt` files as the only grounding
157
+ context (no hand-curated bundles, no cross-topic mixing). Restored
158
+ `<think>` reasoning. Fixed the chat template. **30Q 100% / 204Q 70.11%.**
159
+ Shipped as v0.9.0.
160
+ - **v1.6 / v1.6.1.** Targeted patches (small batches: 18 conversion
161
+ examples + 3 echo-trap fixes) to lift specific tier scores. Result:
162
+ rescored 204Q moved within statistical noise (v1.5 70.11% β†’ v1.6
163
+ 69.80% β†’ v1.6.1 69.62%). The targeted echo-trap fix *did* land at
164
+ the model-output level, but a 21-entry patch cannot move a 1,500+
165
+ entry corpus aggregate. Confirmed: the next score lift is structural,
166
+ not incremental. We reverted to v1.5 for the v0.9.0 release.
167
+
168
+ **Lessons that generalize:**
169
+
170
+ - Qwen3-Coder-14B has strong Svelte 4 priors that fight Svelte 5
171
+ training. A meaningful share of v1.5's gains is just preventing the
172
+ base model from regressing to Svelte 4 idioms.
173
+ - Small targeted patches do not move large-corpus weighted scores.
174
+ Either commit to a substantial (200+ entry) targeted batch with
175
+ diverse tier coverage, or accept that the score won't move. Don't
176
+ repeat the "small patch will fix it" pattern.
177
+ - Grader correctness matters as much as model correctness. We rescored
178
+ the 204Q once (`<think>` strip + comment strip) and the score moved
179
+ from 38% raw to 70% rescored β€” same model, same outputs, different
180
+ grader. The model didn't get worse, the grader got more honest.
181
+ - ChatML template override in the Modelfile is mandatory for Qwen3
182
+ base. The default template is wrong for instruction-tuned chat use.
183
+
184
+ ## How Svelte Coder improves over time
185
+
186
+ Svelte Coder is used by rockypod to ship real Svelte projects. When the
187
+ model produces output that needs correction in production, the corrected
188
+ version goes into the next training cycle as a high-priority example.
189
+ Every release reflects accumulated corrections from real-world usage,
190
+ not just synthetic teacher-model output.
191
+
192
+ This is the difference between a model trained once and a model that
193
+ gets better with each cycle of use. v0.9.5 will reflect the corrections
194
+ collected between v0.9.0 and that release; v1.0.0 will reflect the
195
+ corrections after that.
196
+
197
+ If you find a specific Svelte 5 / SvelteKit 2 task where the model is
198
+ wrong, open an issue on the GitHub repo with the prompt and the correct
199
+ answer. That goes into the correction stream.
200
+
201
+ ## Usage
202
+
203
+ ### Ollama (any platform)
204
+
205
+ ```bash
206
+ ollama pull rockypod/svelte-coder
207
+ ollama run rockypod/svelte-coder "Write a Svelte 5 rune-based useLocalStorage utility with TypeScript generics"
208
+ ```
209
+
210
+ The pulled tag includes the production Modelfile (ChatML template, system
211
+ prompt, num_predict 1500, repeat_penalty 1.5).
212
+
213
+ ### LM Studio (macOS / Windows)
214
+
215
+ Download `svelte-coder-v0.9.0-q4_k_m.gguf` from the HuggingFace repo.
216
+ In LM Studio, set:
217
+
218
+ - Prompt template: ChatML
219
+ - System prompt: `You are SvelteCoder, an expert Svelte 5 / SvelteKit 2 coding assistant. Answer the question with complete, production-quality code.`
220
+ - Temperature: 0.2
221
+ - Repeat penalty: 1.5
222
+ - Context length: 8192
223
+ - Max tokens: 1500
224
+
225
+ See `integration/lm_studio.md` for full setup.
226
+
227
+ ### Apple Silicon (mlx_lm)
228
+
229
+ ```bash
230
+ pip install mlx-lm
231
+ mlx_lm.server --model rockypod/svelte-coder --port 8081
232
+ ```
233
+
234
+ The HuggingFace repo includes a 4-bit MLX build (`mlx-v0.9.0/`).
235
+ Point `--model` at the repo or at the local directory after download.
236
+
237
+ ### Continue.dev (VS Code / JetBrains)
238
+
239
+ See `integration/continue_dev.json` β€” drop it into your `~/.continue/`
240
+ config and edit the model path to point at your Ollama or LM Studio
241
+ endpoint.
242
+
243
+ ### Zed
244
+
245
+ See `integration/zed.md`.
246
+
247
+ ### llama.cpp
248
+
249
+ ```bash
250
+ ./llama-cli -m svelte-coder-v0.9.0-q4_k_m.gguf -ngl 99 --temp 0.2 \
251
+ --repeat-penalty 1.5 -c 8192 -n 1500 \
252
+ -p "<|im_start|>system
253
+ You are SvelteCoder, an expert Svelte 5 / SvelteKit 2 coding assistant. Answer the question with complete, production-quality code.<|im_end|>
254
+ <|im_start|>user
255
+ Your question<|im_end|>
256
+ <|im_start|>assistant
257
+ <think>"
258
+ ```
259
+
260
+ ## Sizes available
261
+
262
+ - **14B β€” recommended default.** Q4_K_M GGUF (~8.4 GB), 4-bit MLX
263
+ (~8.3 GB). Best benchmark across both instruments (100% 30Q, 70.11%
264
+ 204Q rescored). Trained on Qwen3-Coder-14B base. Use this if the
265
+ hardware fits.
266
+ - **8B** β€” Q4_K_M GGUF (~5 GB). Trained on Qwen3-8B base (non-coder).
267
+ 82.8% 30Q, 74.68% 204Q rescored. Use this when 14B doesn't fit.
268
+ - **4B** β€” Q4_K_M GGUF (~3 GB). Trained on Qwen3-4B base (non-coder).
269
+ 79.3% 30Q, 67.81% 204Q rescored. Trades capability for accessibility
270
+ on edge hardware.
271
+
272
+ All three sizes share the same v1.5 dataset and the same Modelfile
273
+ template; they differ in base parameter count and base-model family
274
+ (14B uses Qwen3-Coder-14B; 8B/4B use the non-coder Qwen3 line because
275
+ no Qwen3-Coder release exists below 14B).
276
+
277
+ ## Limitations
278
+
279
+ Honest list. If you're considering using this model in shipped code,
280
+ read this first.
281
+
282
+ - **T6 hard reasoning at 41%** on the strict 204Q grader. Multi-step
283
+ refactors with subtle regressions still trip the model. Review hard-
284
+ reasoning output carefully; do not auto-merge.
285
+ - **Form-action drift.** The model occasionally reaches for non-canonical
286
+ patterns on form actions (libraries instead of the native action
287
+ triplet). Spec the canonical pattern explicitly in the prompt if you
288
+ hit this.
289
+ - **Svelte 4 echo-trap on fix-this-snippet questions.** When asked to
290
+ modernize a Svelte 4 snippet, the model regresses to Svelte 4 idioms
291
+ in roughly 1 in 20 conversions on the 14B. Mitigation: explicit "use
292
+ runes, no `let` reactives, no `on:click`" in the prompt.
293
+ - **Smaller-variant Svelte 4 leakage is more frequent.** The 8B and 4B
294
+ variants show occasional Svelte 4 pattern leakage on fix-this-snippet
295
+ questions (`export let`, `on:click`, `<slot>`) β€” particularly on T1
296
+ (Runes) and T13 (DaisyUI). Users converting Svelte 4 components on
297
+ the smaller variants should review output for these patterns. The
298
+ 14B has more capacity to override the base model's pretrained Svelte 4
299
+ reflexes and shows this issue less frequently. Improving smaller
300
+ variants on this axis is a v0.9.5 / v1.0.0 target.
301
+ - **No Drupal / DaisyUI coverage.** Both deferred to v2.0.
302
+ - **No JS/TS general-purpose coverage outside the Svelte stack.** This
303
+ is a specialist model; for non-Svelte code, use a general code model.
304
+
305
+ ## Score detail
306
+
307
+ Full per-question results live under `exam/results/` for both the 30Q
308
+ and 204Q exams. Tier breakdown for the 204Q (rescored):
309
+
310
+ | Tier | Topic | Score |
311
+ |---|---|---|
312
+ | T1 | Svelte 5 runes | 82.4% |
313
+ | T2 | SvelteKit routing | 73% |
314
+ | T3 | Form actions / enhance | 71% |
315
+ | T4 | WCAG / ARIA | 78% |
316
+ | T5 | Tailwind v4 | 80% |
317
+ | T6 | Hard reasoning | 41% |
318
+ | T7 | Postgres + Redis | 72% |
319
+ | T8 | D3 dataviz | 68% |
320
+ | T9 | Playwright | 70% |
321
+ | T11 | Svelte Flow | 75% |
322
+ | T12 | Paraglide i18n | 76% |
323
+ | **Weighted total** | | **70.11%** |
324
+
325
+ T1 is the largest weighted tier and the one that matters most for
326
+ day-to-day work β€” 82.4% there is the load-bearing number.
327
+
328
+ ## License & Attribution
329
+
330
+ **This project is licensed under the MIT License** β€” see [LICENSE](LICENSE)
331
+ for the fine-tuning work, training scripts, and derivative artifacts.
332
+
333
+ **Base models and teacher model are licensed under Apache 2.0** β€” see
334
+ [LICENSE-APACHE](LICENSE-APACHE) and [NOTICE](NOTICE) for upstream
335
+ attribution. Specifically:
336
+
337
+ - Base models: [Qwen3-Coder-14B](https://huggingface.co/Qwen/Qwen3-Coder-14B),
338
+ [Qwen3-8B](https://huggingface.co/Qwen/Qwen3-8B),
339
+ [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) β€” Β© Alibaba Cloud
340
+ - Teacher: [Qwen3-Coder-Next 80B](https://huggingface.co/Qwen/Qwen3-Coder-Next)
341
+ β€” Β© Alibaba Cloud
342
+
343
+ The Svelte Coder model weights are derivative works of these Apache 2.0
344
+ base models, fine-tuned via LoRA adapters on a proprietary specialist
345
+ dataset. Per Apache 2.0 requirements, this NOTICE and the upstream
346
+ license text are included in this distribution.
347
+
348
+ The MIT license aligns with the broader Svelte ecosystem (Svelte,
349
+ SvelteKit, and most ecosystem libraries are MIT). Use the weights,
350
+ modify them, ship them in commercial products. Attribution appreciated,
351
+ not required for the fine-tuning work; required by Apache 2.0 for the
352
+ upstream base/teacher model attribution above.
353
+
354
+ ## Links
355
+
356
+ - HuggingFace: https://huggingface.co/rockypod/svelte-coder
357
+ - Ollama: https://ollama.com/rockypod/svelte-coder
358
+ - GitHub: https://github.com/rockypod/svelte-coder
359
+ - Maintainer: rockypod β€” homelab Rocky Linux GPU server, Washington State
360
+
361
+ Built with Unsloth, Qwen3, llama.cpp, mlx_lm, and a lot of correction
362
+ streams.
svelte-coder-v0.9.0-q4_k_m.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d517b255e71803a0d0ea810238ff6fc88b3187af888889ad5777a2bd6d80b3ce
3
+ size 9001752928