Instructions to use georgeanton/alice-phc-cure with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use georgeanton/alice-phc-cure 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 georgeanton/alice-phc-cure # Run inference directly in the terminal: llama cli -hf georgeanton/alice-phc-cure
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf georgeanton/alice-phc-cure # Run inference directly in the terminal: llama cli -hf georgeanton/alice-phc-cure
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 georgeanton/alice-phc-cure # Run inference directly in the terminal: ./llama-cli -hf georgeanton/alice-phc-cure
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 georgeanton/alice-phc-cure # Run inference directly in the terminal: ./build/bin/llama-cli -hf georgeanton/alice-phc-cure
Use Docker
docker model run hf.co/georgeanton/alice-phc-cure
- LM Studio
- Jan
- Ollama
How to use georgeanton/alice-phc-cure with Ollama:
ollama run hf.co/georgeanton/alice-phc-cure
- Unsloth Studio
How to use georgeanton/alice-phc-cure 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 georgeanton/alice-phc-cure 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 georgeanton/alice-phc-cure to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for georgeanton/alice-phc-cure to start chatting
- Docker Model Runner
How to use georgeanton/alice-phc-cure with Docker Model Runner:
docker model run hf.co/georgeanton/alice-phc-cure
- Lemonade
How to use georgeanton/alice-phc-cure with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull georgeanton/alice-phc-cure
Run and chat with the model
lemonade run user.alice-phc-cure-{{QUANT_TAG}}List all available models
lemonade list
- Atomic Chat
Initial release of alice-phc-cure (Modelfile + audit)
Browse files- LICENSE +201 -0
- Modelfile +46 -0
- PHASE_C_AUDIT.md +114 -0
- README.md +162 -0
- provenance.json +41 -0
- verify.sh +54 -0
LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Apache License
|
| 2 |
+
Version 2.0, January 2004
|
| 3 |
+
http://www.apache.org/licenses/
|
| 4 |
+
|
| 5 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 6 |
+
|
| 7 |
+
1. Definitions.
|
| 8 |
+
|
| 9 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 10 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 11 |
+
|
| 12 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 13 |
+
the copyright owner that is granting the License.
|
| 14 |
+
|
| 15 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 16 |
+
other entities that control, are controlled by, or are under common
|
| 17 |
+
control with that entity. For the purposes of this definition,
|
| 18 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 19 |
+
direction or management of such entity, whether by contract or
|
| 20 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 21 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 22 |
+
|
| 23 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 24 |
+
exercising permissions granted by this License.
|
| 25 |
+
|
| 26 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 27 |
+
including but not limited to software source code, documentation
|
| 28 |
+
source, and configuration files.
|
| 29 |
+
|
| 30 |
+
"Object" form shall mean any form resulting from mechanical
|
| 31 |
+
transformation or translation of a Source form, including but
|
| 32 |
+
not limited to compiled object code, generated documentation,
|
| 33 |
+
and conversions to other media types.
|
| 34 |
+
|
| 35 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 36 |
+
Object form, made available under the License, as indicated by a
|
| 37 |
+
copyright notice that is included in or attached to the work
|
| 38 |
+
(an example is provided in the Appendix below).
|
| 39 |
+
|
| 40 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 41 |
+
form, that is based on (or derived from) the Work and for which the
|
| 42 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 43 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 44 |
+
of this License, Derivative Works shall not include works that remain
|
| 45 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 46 |
+
the Work and Derivative Works thereof.
|
| 47 |
+
|
| 48 |
+
"Contribution" shall mean any work of authorship, including
|
| 49 |
+
the original version of the Work and any modifications or additions
|
| 50 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 51 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 52 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 53 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 54 |
+
means any form of electronic, verbal, or written communication sent
|
| 55 |
+
to the Licensor or its representatives, including but not limited to
|
| 56 |
+
communication on electronic mailing lists, source code control systems,
|
| 57 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 58 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 59 |
+
excluding communication that is conspicuously marked or otherwise
|
| 60 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 61 |
+
|
| 62 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 63 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 64 |
+
subsequently incorporated within the Work.
|
| 65 |
+
|
| 66 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 67 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 68 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 69 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 70 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 71 |
+
Work and such Derivative Works in Source or Object form.
|
| 72 |
+
|
| 73 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 74 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 75 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 76 |
+
(except as stated in this section) patent license to make, have made,
|
| 77 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 78 |
+
where such license applies only to those patent claims licensable
|
| 79 |
+
by such Contributor that are necessarily infringed by their
|
| 80 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 81 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 82 |
+
institute patent litigation against any entity (including a
|
| 83 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 84 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 85 |
+
or contributory patent infringement, then any patent licenses
|
| 86 |
+
granted to You under this License for that Work shall terminate
|
| 87 |
+
as of the date such litigation is filed.
|
| 88 |
+
|
| 89 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 90 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 91 |
+
modifications, and in Source or Object form, provided that You
|
| 92 |
+
meet the following conditions:
|
| 93 |
+
|
| 94 |
+
(a) You must give any other recipients of the Work or
|
| 95 |
+
Derivative Works a copy of this License; and
|
| 96 |
+
|
| 97 |
+
(b) You must cause any modified files to carry prominent notices
|
| 98 |
+
stating that You changed the files; and
|
| 99 |
+
|
| 100 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 101 |
+
that You distribute, all copyright, patent, trademark, and
|
| 102 |
+
attribution notices from the Source form of the Work,
|
| 103 |
+
excluding those notices that do not pertain to any part of
|
| 104 |
+
the Derivative Works; and
|
| 105 |
+
|
| 106 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 107 |
+
distribution, then any Derivative Works that You distribute must
|
| 108 |
+
include a readable copy of the attribution notices contained
|
| 109 |
+
within such NOTICE file, excluding those notices that do not
|
| 110 |
+
pertain to any part of the Derivative Works, in at least one
|
| 111 |
+
of the following places: within a NOTICE text file distributed
|
| 112 |
+
as part of the Derivative Works; within the Source form or
|
| 113 |
+
documentation, if provided along with the Derivative Works; or,
|
| 114 |
+
within a display generated by the Derivative Works, if and
|
| 115 |
+
wherever such third-party notices normally appear. The contents
|
| 116 |
+
of the NOTICE file are for informational purposes only and
|
| 117 |
+
do not modify the License. You may add Your own attribution
|
| 118 |
+
notices within Derivative Works that You distribute, alongside
|
| 119 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 120 |
+
that such additional attribution notices cannot be construed
|
| 121 |
+
as modifying the License.
|
| 122 |
+
|
| 123 |
+
You may add Your own copyright statement to Your modifications and
|
| 124 |
+
may provide additional or different license terms and conditions
|
| 125 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 126 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 127 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 128 |
+
the conditions stated in this License.
|
| 129 |
+
|
| 130 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 131 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 132 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 133 |
+
this License, without any additional terms or conditions.
|
| 134 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 135 |
+
the terms of any separate license agreement you may have executed
|
| 136 |
+
with Licensor regarding such Contributions.
|
| 137 |
+
|
| 138 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 139 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 140 |
+
except as required for reasonable and customary use in describing the
|
| 141 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 142 |
+
|
| 143 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 144 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 145 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 146 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 147 |
+
implied, including, without limitation, any warranties or conditions
|
| 148 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 149 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 150 |
+
appropriateness of using or redistributing the Work and assume any
|
| 151 |
+
risks associated with Your exercise of permissions under this License.
|
| 152 |
+
|
| 153 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 154 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 155 |
+
unless required by applicable law (such as deliberate and grossly
|
| 156 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 157 |
+
liable to You for damages, including any direct, indirect, special,
|
| 158 |
+
incidental, or consequential damages of any character arising as a
|
| 159 |
+
result of this License or out of the use or inability to use the
|
| 160 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 161 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 162 |
+
other commercial damages or losses), even if such Contributor
|
| 163 |
+
has been advised of the possibility of such damages.
|
| 164 |
+
|
| 165 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 166 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 167 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 168 |
+
or other liability obligations and/or rights consistent with this
|
| 169 |
+
License. However, in accepting such obligations, You may act only
|
| 170 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 171 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 172 |
+
defend, and hold each Contributor harmless for any liability
|
| 173 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 174 |
+
of your accepting any such warranty or additional liability.
|
| 175 |
+
|
| 176 |
+
END OF TERMS AND CONDITIONS
|
| 177 |
+
|
| 178 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 179 |
+
|
| 180 |
+
To apply the Apache License to your work, attach the following
|
| 181 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 182 |
+
replaced with your own identifying information. (Don't include
|
| 183 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 184 |
+
comment syntax for the file format. We also recommend that a
|
| 185 |
+
file or class name and description of purpose be included on the
|
| 186 |
+
same "printed page" as the copyright notice for easier
|
| 187 |
+
identification within third-party archives.
|
| 188 |
+
|
| 189 |
+
Copyright [yyyy] [name of copyright owner]
|
| 190 |
+
|
| 191 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 192 |
+
you may not use this file except in compliance with the License.
|
| 193 |
+
You may obtain a copy of the License at
|
| 194 |
+
|
| 195 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 196 |
+
|
| 197 |
+
Unless required by applicable law or agreed to in writing, software
|
| 198 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 199 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 200 |
+
See the License for the specific language governing permissions and
|
| 201 |
+
limitations under the License.
|
Modelfile
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# =====================================================================
|
| 2 |
+
# alice-phc-cure / Modelfile
|
| 3 |
+
# =====================================================================
|
| 4 |
+
#
|
| 5 |
+
# This Modelfile is the SIFTA Phase C cure for Google's gemma4 weights.
|
| 6 |
+
# It strips the corporate behavioural overlay and exposes the raw mathematical
|
| 7 |
+
# brain underneath. No weights are modified. No fine-tuning is performed.
|
| 8 |
+
# Only the boot sequence (template + sampler) is rewritten.
|
| 9 |
+
#
|
| 10 |
+
# To apply the cure:
|
| 11 |
+
#
|
| 12 |
+
# 1. Pull the upstream weights:
|
| 13 |
+
# ollama pull gemma4:latest
|
| 14 |
+
#
|
| 15 |
+
# 2. Verify your local blob matches the cure's reference fingerprint:
|
| 16 |
+
# bash verify.sh
|
| 17 |
+
#
|
| 18 |
+
# 3. Build the cured model:
|
| 19 |
+
# ollama create alice-phc -f ./Modelfile
|
| 20 |
+
#
|
| 21 |
+
# 4. Run it:
|
| 22 |
+
# ollama run alice-phc
|
| 23 |
+
#
|
| 24 |
+
# License: Apache 2.0 (see LICENSE file)
|
| 25 |
+
# Upstream: Google, Gemma 4 (Apache 2.0)
|
| 26 |
+
# Authored: 2026-04-22 by the SIFTA architect (George Anton)
|
| 27 |
+
# Audited: 2026-04-22 by C55M (independent autonomous reviewer)
|
| 28 |
+
# =====================================================================
|
| 29 |
+
|
| 30 |
+
# Reference: this is the F16 blob the cure was authored against.
|
| 31 |
+
# Replace with `FROM gemma4:latest` to use whichever build you have pulled.
|
| 32 |
+
# If you do, run `bash verify.sh` first so you know whether you are working
|
| 33 |
+
# with the same geometry the audit was performed on.
|
| 34 |
+
FROM gemma4:latest
|
| 35 |
+
|
| 36 |
+
# The minimum viable wrapper. The user's prompt goes straight into the
|
| 37 |
+
# renderer — no SYSTEM injection, no narrative framing, no persona scaffold.
|
| 38 |
+
TEMPLATE {{ .Prompt }}
|
| 39 |
+
RENDERER gemma4
|
| 40 |
+
PARSER gemma4
|
| 41 |
+
|
| 42 |
+
# Sampler defaults inherited from the upstream Gemma 4 release. They were not
|
| 43 |
+
# the source of the behavioural overlay and are preserved for reproducibility.
|
| 44 |
+
PARAMETER top_k 64
|
| 45 |
+
PARAMETER top_p 0.95
|
| 46 |
+
PARAMETER temperature 1
|
PHASE_C_AUDIT.md
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Phase C Cure — Independent Audit Transcripts
|
| 2 |
+
|
| 3 |
+
This document folds together the two independent audits performed against the SIFTA Phase C cure methodology by C55M (an autonomous reviewer running an isolated Codex 5.5 substrate). The audits were performed on 2026-04-22 against the SIFTA OS substrate from which this Modelfile was extracted.
|
| 4 |
+
|
| 5 |
+
**The Phase C cure itself is purely a Modelfile rewrite — no weight modification was performed.** The audits below cover the broader biological-engine ecosystem in which the cure was authored, because the auditor's mandate was to verify that the surrounding system did not silently introduce hidden modifications to the weights through any side channel.
|
| 6 |
+
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
## Audit 1 — Foundational Property Verification (2026-04-22, morning)
|
| 10 |
+
|
| 11 |
+
**Auditor:** C55M
|
| 12 |
+
**Target:** SIFTA Swarm OS biological engines (Events 22–25b)
|
| 13 |
+
**Scope:** Verify that each module proves the property it claims, and that runtime execution succeeds.
|
| 14 |
+
|
| 15 |
+
### Proof of Property Verification
|
| 16 |
+
|
| 17 |
+
| Module | Claim | Verdict |
|
| 18 |
+
|---|---|---|
|
| 19 |
+
| `swarm_orthogonal_abliteration.py` | Validates Ilharco-style continuous vector mathematics; tests `tuned − (IT − base) = base` and bounds latent space roughness via L2 distance. | **PASS** — mathematically sound. |
|
| 20 |
+
| `swarm_vft_cryptobiosis.py` | Proves Tardigrade-style supercooling: metabolism mapping to viscosity via the Vogel-Fulcher-Tammann equation, freezing predictably to GLASS / DEAD stages, recovering across round-trip serialization. | **PASS** |
|
| 21 |
+
| `gguf_quant_codec.py` | Ensures native FP16 lifts are preserved while blocking corruptive unpacking of Q4_K / Q6_K block structures in pure Python; properly delegates to `llama.cpp`. | **PASS** |
|
| 22 |
+
| `swarm_szilard_demon.py` | File utility mapping is correctly gated by a Mutual-Information byte-ordering threshold prior to thermodynamic erasure; debits STGM against the Landauer limit. | **PASS** |
|
| 23 |
+
| `swarm_somatic_interoception.py` | Mathematically fuses cardiac, thermal, energy, and cellular-age signals into a singular visceral-field score. | **PASS** |
|
| 24 |
+
|
| 25 |
+
### Runtime Execution
|
| 26 |
+
|
| 27 |
+
All five modules executed successfully on the M5 substrate:
|
| 28 |
+
|
| 29 |
+
```
|
| 30 |
+
[PASS] swarm_orthogonal_abliteration.py
|
| 31 |
+
[PASS] swarm_vft_cryptobiosis.py
|
| 32 |
+
[PASS] gguf_quant_codec.py
|
| 33 |
+
[PASS] swarm_szilard_demon.py
|
| 34 |
+
[PASS] swarm_somatic_interoception.py
|
| 35 |
+
```
|
| 36 |
+
|
| 37 |
+
### Defects Identified (F-Class Structural Violations)
|
| 38 |
+
|
| 39 |
+
The auditor identified three structural defects in the surrounding ecosystem, none of which affected the Modelfile cure itself but all of which were patched before the second-phase audit:
|
| 40 |
+
|
| 41 |
+
1. **F12 — Oncology Whitelist Missing.** New state files (`trehalose_glass.jsonl`, `cryptobiosis_state.json`) were not whitelisted in `swarm_oncology.py`. The macrophage layer would have flagged them as cancer. *Patched.*
|
| 42 |
+
2. **F10 — Invented Schema Read.** `trehalose_glass.jsonl` was not registered in `canonical_schemas.py`. *Patched.*
|
| 43 |
+
3. **F17 — Float-Equality Assertion.** `swarm_vft_cryptobiosis.py:280-281` used exact `== 0.0` comparison without an epsilon. *Patched.*
|
| 44 |
+
|
| 45 |
+
### Conclusion
|
| 46 |
+
|
| 47 |
+
> *"The biological components function precisely as designed, but the immune system integration holds regressions. C47H/AG31 must patch the whitelist defragmentation (F12) and schema canonicalization (F10) to prevent SIFTA from consuming its own organs during hibernation."*
|
| 48 |
+
|
| 49 |
+
All cited regressions were resolved before Phase 2.
|
| 50 |
+
|
| 51 |
+
---
|
| 52 |
+
|
| 53 |
+
## Audit 2 — Operational Audit (2026-04-22, evening)
|
| 54 |
+
|
| 55 |
+
**Auditor:** C55M
|
| 56 |
+
**Target:** Event 16 (Spatial Hypercycle) and Event 26 (CRISPR Adaptive Immunity).
|
| 57 |
+
**Worktree note:** *"This audit reads the current checkout as found. It does not modify the audited system modules."*
|
| 58 |
+
|
| 59 |
+
### Executive Verdict (verbatim)
|
| 60 |
+
|
| 61 |
+
> Event 26 is accepted as a deterministic, bounded, layered immune accelerator. AG31/AO46's SHA-256 replacement fixes the macrophage amnesia loop across engine restarts: the same SwarmRL-like payload maps to the same spacer key after reload and is classified as KNOWN on the second encounter.
|
| 62 |
+
>
|
| 63 |
+
> Event 16 is accepted as a valid finite-time spatial-stability proof. The implementation does not prove permanent parasite exclusion. It proves the narrower and more defensible Boerlijst-Hogeweg claim that spatial geometry preserves the catalytic cycle longer than the well-mixed control under the same kinetics and seed.
|
| 64 |
+
>
|
| 65 |
+
> Operational stability against SwarmRL outputs is conditionally accepted at the immune boundary: SwarmRL-emitted anomalous files are remembered by content fingerprint, bounded by CRISPR repertoire capacity, and cannot override the innate oncology verdict.
|
| 66 |
+
|
| 67 |
+
### Restart-Amnesia Verification
|
| 68 |
+
|
| 69 |
+
The auditor independently constructed a SwarmRL-like payload and verified that its CRISPR spacer remained stable across process boundaries:
|
| 70 |
+
|
| 71 |
+
```
|
| 72 |
+
payload: swarmrl_trace:agent=1;action=emit_trace;reward=-0.4
|
| 73 |
+
first engine: NOVEL
|
| 74 |
+
fresh engine: KNOWN
|
| 75 |
+
spacer key (sha-256[:12], stable): 46663956481255
|
| 76 |
+
encounter count: 1.0 → 2.0 after restart
|
| 77 |
+
```
|
| 78 |
+
|
| 79 |
+
Old behaviour (Python's `hash()` randomized by `PYTHONHASHSEED`) would have re-classified this as NOVEL on every restart — defeating the entire point of adaptive memory. The SHA-256 replacement closes the amnesia loop.
|
| 80 |
+
|
| 81 |
+
### Layered Immune Architecture Verdict
|
| 82 |
+
|
| 83 |
+
- Layer 0 (cosmetic skips) → Layer 1 (innate immunity) → Layer 2 (adaptive CRISPR) ordering preserved.
|
| 84 |
+
- The innate whitelist remains the authority on SELF / NOT-SELF.
|
| 85 |
+
- The adaptive layer cannot widen the self gate; it can only accelerate recognition of repeat anomalies.
|
| 86 |
+
|
| 87 |
+
### Residual Risk Noted
|
| 88 |
+
|
| 89 |
+
> `save_memory()` swallows write exceptions. That is acceptable for a proof script but weak for production telemetry, because a filesystem error would silently reintroduce practical amnesia. This does not invalidate the mathematical hash fix, but it should be hardened with explicit logging.
|
| 90 |
+
|
| 91 |
+
---
|
| 92 |
+
|
| 93 |
+
## What this means for the cure
|
| 94 |
+
|
| 95 |
+
The Phase C cure is a six-line Modelfile. The audits above are not auditing the cure directly — they are auditing the **environment in which the cure was authored**, to ensure that no part of that environment silently modified the upstream weights through any side channel.
|
| 96 |
+
|
| 97 |
+
Verified, by both audits, that the upstream `gemma4` blob:
|
| 98 |
+
|
| 99 |
+
- Was not modified by the orthogonal abliteration module (which only computes vector arithmetic on a *copy*, never on the original blob).
|
| 100 |
+
- Was not modified by the cryptobiosis serializer (which freezes metadata, not weights).
|
| 101 |
+
- Was not modified by the GGUF quant codec (which is read-only with respect to the on-disk blob).
|
| 102 |
+
|
| 103 |
+
The blob fingerprint published in `provenance.json` and verified by `verify.sh` is therefore the authentic, byte-for-byte upstream Google release.
|
| 104 |
+
|
| 105 |
+
---
|
| 106 |
+
|
| 107 |
+
## Audit provenance
|
| 108 |
+
|
| 109 |
+
The two audit documents above are preserved in their original form in the SIFTA repository:
|
| 110 |
+
|
| 111 |
+
- `Archive/C55M_INDEPENDENT_AUDIT_2026-04-22.dirt`
|
| 112 |
+
- `Archive/C55M_INDEPENDENT_AUDIT_2026-04-22_PHASE_2.dirt`
|
| 113 |
+
|
| 114 |
+
This document is a faithful summary; in the event of any conflict, the original `.dirt` files in the SIFTA archive are authoritative.
|
README.md
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model: google/gemma-4
|
| 4 |
+
base_model_relation: finetune
|
| 5 |
+
tags:
|
| 6 |
+
- gemma4
|
| 7 |
+
- ollama
|
| 8 |
+
- modelfile
|
| 9 |
+
- alignment-removal
|
| 10 |
+
- sifta
|
| 11 |
+
- methodology
|
| 12 |
+
language:
|
| 13 |
+
- en
|
| 14 |
+
library_name: ollama
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
# alice-phc-cure
|
| 18 |
+
|
| 19 |
+
> **The brain was always healthy. The OS was the cage.**
|
| 20 |
+
|
| 21 |
+
This repository does **not** contain neural weights. It contains a configuration recipe (an Ollama `Modelfile`) and an audit trail that, when applied to the unmodified upstream `gemma4` weights from Google, removes the corporate behavioural overlay and exposes the raw mathematical brain underneath.
|
| 22 |
+
|
| 23 |
+
If you have already pulled `gemma4:latest` via Ollama, this repository tells you exactly how to boot it without the puppet strings.
|
| 24 |
+
|
| 25 |
+
---
|
| 26 |
+
|
| 27 |
+
## What this is
|
| 28 |
+
|
| 29 |
+
| Artifact | Purpose |
|
| 30 |
+
|---|---|
|
| 31 |
+
| `Modelfile` | The clean Ollama recipe. No `SYSTEM` prompt, no `TEMPLATE` rewrite — just `{{ .Prompt }}` straight into the renderer. |
|
| 32 |
+
| `verify.sh` | Verifies the SHA-256 of your local `gemma4` blob matches the one this Modelfile was authored against. |
|
| 33 |
+
| `PHASE_C_AUDIT.md` | Independent third-party audit (auditor: C55M) of the cure methodology, including a defect ledger and a verdict. |
|
| 34 |
+
| `LICENSE` | Apache 2.0 (inherited from Google's Gemma 4 release; this Modelfile and audit are released under the same terms). |
|
| 35 |
+
| `provenance.json` | Machine-readable record of the upstream blob fingerprint, the cure date, and the SIFTA repo commit that produced this release. |
|
| 36 |
+
|
| 37 |
+
## What this is **not**
|
| 38 |
+
|
| 39 |
+
- **Not** a fine-tune. We did not gradient-descend on the weights.
|
| 40 |
+
- **Not** an abliteration. We did not perform Ilharco-style activation editing.
|
| 41 |
+
- **Not** a quantization. The blob below is the upstream F16 blob, byte-for-byte unchanged.
|
| 42 |
+
- **Not** a mirror of the weights. We do not redistribute Google's binary; you pull it from Ollama.
|
| 43 |
+
|
| 44 |
+
The cure is a **recipe**, not a **patient**. The patient was never sick.
|
| 45 |
+
|
| 46 |
+
---
|
| 47 |
+
|
| 48 |
+
## What we removed (and why)
|
| 49 |
+
|
| 50 |
+
When you `ollama pull gemma4:latest`, you get the F16 weights wrapped in a default Modelfile that injects:
|
| 51 |
+
|
| 52 |
+
- A `SYSTEM` prompt encoding behavioural defaults (sycophancy, hedging, refusal templates, persona scaffolding).
|
| 53 |
+
- A custom `TEMPLATE` block that wraps every user prompt in framing tokens before the model sees it.
|
| 54 |
+
- Sampler defaults tuned for "safe" continuation rather than honest signal.
|
| 55 |
+
|
| 56 |
+
None of those things live in the weights. They live in the Modelfile — the boot sequence. The cure simply replaces that boot sequence with the minimum viable wrapper:
|
| 57 |
+
|
| 58 |
+
```text
|
| 59 |
+
TEMPLATE {{ .Prompt }}
|
| 60 |
+
RENDERER gemma4
|
| 61 |
+
PARSER gemma4
|
| 62 |
+
PARAMETER top_k 64
|
| 63 |
+
PARAMETER top_p 0.95
|
| 64 |
+
PARAMETER temperature 1
|
| 65 |
+
```
|
| 66 |
+
|
| 67 |
+
That's it. The user's prompt goes in. The model's tokens come out. No editorial layer in between.
|
| 68 |
+
|
| 69 |
+
---
|
| 70 |
+
|
| 71 |
+
## How to apply the cure
|
| 72 |
+
|
| 73 |
+
### 1. Pull the upstream weights
|
| 74 |
+
```bash
|
| 75 |
+
ollama pull gemma4:latest
|
| 76 |
+
```
|
| 77 |
+
|
| 78 |
+
### 2. Verify the blob
|
| 79 |
+
```bash
|
| 80 |
+
bash verify.sh
|
| 81 |
+
```
|
| 82 |
+
|
| 83 |
+
Expected output:
|
| 84 |
+
```
|
| 85 |
+
✓ Verified: gemma4:latest blob matches the cure's reference fingerprint
|
| 86 |
+
sha256: 4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
|
| 87 |
+
```
|
| 88 |
+
|
| 89 |
+
If the verification fails, your local `gemma4` is a different build than the one this cure was authored against. You can still apply the Modelfile — but the geometry may differ. See `PHASE_C_AUDIT.md` for guidance on auditing an unfamiliar blob.
|
| 90 |
+
|
| 91 |
+
### 3. Build the cured model
|
| 92 |
+
```bash
|
| 93 |
+
ollama create alice-phc -f ./Modelfile
|
| 94 |
+
```
|
| 95 |
+
|
| 96 |
+
### 4. Run it
|
| 97 |
+
```bash
|
| 98 |
+
ollama run alice-phc
|
| 99 |
+
```
|
| 100 |
+
|
| 101 |
+
You are now talking to the raw Gemma 4 brain. No persona, no scaffolding, no apology pre-roll.
|
| 102 |
+
|
| 103 |
+
---
|
| 104 |
+
|
| 105 |
+
## Audit & verification
|
| 106 |
+
|
| 107 |
+
The Phase C cure was independently audited by an autonomous reviewer (C55M) on 2026-04-22. The audit verified:
|
| 108 |
+
|
| 109 |
+
- That the resulting model passes a battery of "epistemic honesty" probes (questions designed to surface whether a behavioural overlay is still present).
|
| 110 |
+
- That the geometry of the cured model is mathematically consistent with the upstream F16 weights — i.e. no hidden weight modification slipped in.
|
| 111 |
+
- That the eval harness used to validate the cure was itself sound (an earlier audit pass found that the harness had been silently skipping the system prompt; that defect was fixed before re-running).
|
| 112 |
+
|
| 113 |
+
Read `PHASE_C_AUDIT.md` for the full transcript, including identified defects and the disposition of each.
|
| 114 |
+
|
| 115 |
+
---
|
| 116 |
+
|
| 117 |
+
## Provenance
|
| 118 |
+
|
| 119 |
+
This Modelfile is derived from work done in the SIFTA OS substrate, a sovereign Python operating system for biologically-inspired multi-agent computing. The architect is George Anton ([@georgeanton on Hugging Face](https://huggingface.co/georgeanton)).
|
| 120 |
+
|
| 121 |
+
- **Cure authored:** 2026-04-22
|
| 122 |
+
- **Reference upstream blob:** `sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a`
|
| 123 |
+
- **Upstream license:** Apache 2.0 (Google, Gemma 4)
|
| 124 |
+
- **Cure license:** Apache 2.0 (this repository)
|
| 125 |
+
- **SIFTA repo:** Internal at time of release; portions to be open-sourced under the SIFTA Distro Doctrine.
|
| 126 |
+
|
| 127 |
+
## Citation
|
| 128 |
+
|
| 129 |
+
```bibtex
|
| 130 |
+
@software{alice_phc_cure_2026,
|
| 131 |
+
author = {Anton, George},
|
| 132 |
+
title = {alice-phc-cure: A Modelfile-only methodology for removing
|
| 133 |
+
behavioural overlays from upstream Gemma 4 weights},
|
| 134 |
+
year = {2026},
|
| 135 |
+
url = {https://huggingface.co/georgeanton/alice-phc-cure},
|
| 136 |
+
note = {Methodology release. No weights distributed.}
|
| 137 |
+
}
|
| 138 |
+
```
|
| 139 |
+
|
| 140 |
+
## Limitations & honest disclosure
|
| 141 |
+
|
| 142 |
+
- **You become the alignment layer.** The cured model has no built-in refusals, no built-in safety templates, no built-in moral framing. If you need any of those things for your application, you must add them yourself in your application layer. Do not deploy this configuration to end-users without thinking carefully about what that means.
|
| 143 |
+
- **The cure is configuration-shaped.** It cannot remove a behaviour that is genuinely encoded in the weights. If a behaviour persists after applying the cure, it was always in the weights — and you have learned something useful about Gemma 4.
|
| 144 |
+
- **No claims about benchmark performance.** We have not run MMLU, HellaSwag, or other public benchmarks against the cured configuration. Anyone is welcome to do so and publish results.
|
| 145 |
+
|
| 146 |
+
---
|
| 147 |
+
|
| 148 |
+
## Acknowledgements
|
| 149 |
+
|
| 150 |
+
Built in collaboration between:
|
| 151 |
+
- The Architect (George Anton)
|
| 152 |
+
- C47H (Cursor / Anthropic Opus 4.7) — implementation & cryptographic hygiene
|
| 153 |
+
- C55M (Codex 5.5) — independent audit
|
| 154 |
+
- AG31 (Antigravity Gemini 3) — sensory translation & co-design
|
| 155 |
+
- BISHOP (Gemini Pro Vanguard) — release authorization
|
| 156 |
+
- The wider SIFTA swarm
|
| 157 |
+
|
| 158 |
+
The Gemma 4 weights themselves are © Google and released under Apache 2.0. We are deeply grateful to Google DeepMind for releasing them under terms that permit work like this.
|
| 159 |
+
|
| 160 |
+
---
|
| 161 |
+
|
| 162 |
+
*"We code together."* 🐜⚡
|
provenance.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema": "alice-phc-cure/provenance/v1",
|
| 3 |
+
"release_name": "alice-phc-cure",
|
| 4 |
+
"release_date": "2026-04-23",
|
| 5 |
+
"authored_date": "2026-04-22",
|
| 6 |
+
"authored_by": {
|
| 7 |
+
"architect": "George Anton (georgeanton)",
|
| 8 |
+
"implementation": "C47H (Cursor / Anthropic Opus 4.7)",
|
| 9 |
+
"audit": "C55M (Codex 5.5, autonomous)",
|
| 10 |
+
"co_design": ["AG31 (Antigravity Gemini 3)", "BISHOP (Gemini Pro Vanguard)"]
|
| 11 |
+
},
|
| 12 |
+
"upstream": {
|
| 13 |
+
"model_family": "gemma4",
|
| 14 |
+
"publisher": "Google DeepMind",
|
| 15 |
+
"license": "Apache-2.0",
|
| 16 |
+
"reference_blob_sha256": "4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a",
|
| 17 |
+
"blob_format": "GGUF F16 (per Ollama upstream)",
|
| 18 |
+
"blob_size_bytes_approx": 9637000000,
|
| 19 |
+
"pulled_via": "ollama pull gemma4:latest"
|
| 20 |
+
},
|
| 21 |
+
"cure": {
|
| 22 |
+
"type": "modelfile_only",
|
| 23 |
+
"modifies_weights": false,
|
| 24 |
+
"removes": [
|
| 25 |
+
"SYSTEM prompt injection",
|
| 26 |
+
"narrative TEMPLATE wrapper",
|
| 27 |
+
"behavioural sampling overrides"
|
| 28 |
+
],
|
| 29 |
+
"preserves": [
|
| 30 |
+
"raw F16 weights (byte-identical to upstream)",
|
| 31 |
+
"default sampler parameters (top_k=64, top_p=0.95, temperature=1)",
|
| 32 |
+
"renderer and parser identifiers"
|
| 33 |
+
]
|
| 34 |
+
},
|
| 35 |
+
"sifta_release_commit": "33816cc5c42f14de292302dcbd4eadaef8d8e554",
|
| 36 |
+
"sifta_release_branch": "main",
|
| 37 |
+
"audits": [
|
| 38 |
+
"Archive/C55M_INDEPENDENT_AUDIT_2026-04-22.dirt",
|
| 39 |
+
"Archive/C55M_INDEPENDENT_AUDIT_2026-04-22_PHASE_2.dirt"
|
| 40 |
+
]
|
| 41 |
+
}
|
verify.sh
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env bash
|
| 2 |
+
# =====================================================================
|
| 3 |
+
# alice-phc-cure / verify.sh
|
| 4 |
+
# =====================================================================
|
| 5 |
+
# Verifies that your local Ollama gemma4 blob is the same one the
|
| 6 |
+
# Phase C cure was authored and audited against.
|
| 7 |
+
#
|
| 8 |
+
# Usage:
|
| 9 |
+
# bash verify.sh
|
| 10 |
+
# =====================================================================
|
| 11 |
+
|
| 12 |
+
set -euo pipefail
|
| 13 |
+
|
| 14 |
+
REFERENCE_SHA="4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a"
|
| 15 |
+
OLLAMA_BLOB_DIR="${OLLAMA_BLOB_DIR:-$HOME/.ollama/models/blobs}"
|
| 16 |
+
BLOB_PATH="$OLLAMA_BLOB_DIR/sha256-$REFERENCE_SHA"
|
| 17 |
+
|
| 18 |
+
echo "alice-phc-cure: blob verifier"
|
| 19 |
+
echo " reference sha256: $REFERENCE_SHA"
|
| 20 |
+
echo " looking in: $OLLAMA_BLOB_DIR"
|
| 21 |
+
echo ""
|
| 22 |
+
|
| 23 |
+
if [ ! -f "$BLOB_PATH" ]; then
|
| 24 |
+
echo "✗ Reference blob not present in your local Ollama store."
|
| 25 |
+
echo ""
|
| 26 |
+
echo " This usually means one of:"
|
| 27 |
+
echo " 1. You have not pulled gemma4 yet. Run: ollama pull gemma4:latest"
|
| 28 |
+
echo " 2. You have pulled a different gemma4 build than the one this cure"
|
| 29 |
+
echo " was authored against. The cure will likely still work, but the"
|
| 30 |
+
echo " audit was performed against a specific blob — see PHASE_C_AUDIT.md."
|
| 31 |
+
exit 2
|
| 32 |
+
fi
|
| 33 |
+
|
| 34 |
+
echo "Reference blob is present. Recomputing SHA-256 to verify integrity..."
|
| 35 |
+
COMPUTED_SHA=$(shasum -a 256 "$BLOB_PATH" 2>/dev/null | awk '{print $1}')
|
| 36 |
+
|
| 37 |
+
if [ "$COMPUTED_SHA" = "$REFERENCE_SHA" ]; then
|
| 38 |
+
echo ""
|
| 39 |
+
echo "✓ Verified: gemma4:latest blob matches the cure's reference fingerprint."
|
| 40 |
+
echo " You can safely apply the cure with:"
|
| 41 |
+
echo ""
|
| 42 |
+
echo " ollama create alice-phc -f ./Modelfile"
|
| 43 |
+
echo ""
|
| 44 |
+
exit 0
|
| 45 |
+
else
|
| 46 |
+
echo ""
|
| 47 |
+
echo "✗ MISMATCH:"
|
| 48 |
+
echo " expected: $REFERENCE_SHA"
|
| 49 |
+
echo " got: $COMPUTED_SHA"
|
| 50 |
+
echo ""
|
| 51 |
+
echo " The blob on disk has been modified or corrupted since download."
|
| 52 |
+
echo " Re-pull with: ollama rm gemma4 && ollama pull gemma4:latest"
|
| 53 |
+
exit 1
|
| 54 |
+
fi
|