betterwithage commited on
Commit
f6ef7f2
·
verified ·
1 Parent(s): 2b1b890

Publish measured Forge training and governed-stack evidence

Browse files

Shows completed local 1.5B QLoRA run, raw-model 1/12 contract result, governed runtime 12/12 result, artifact hashes, and blocked release approvals.

Files changed (6) hide show
  1. README.md +4 -2
  2. agents.md +4 -2
  3. eval_receipt.json +33 -19
  4. forge_lab.py +20 -9
  5. run_manifest.json +15 -8
  6. training_summary.json +47 -0
README.md CHANGED
@@ -20,10 +20,12 @@ policy, and the governed curriculum blueprint.
20
 
21
  - `REACHABLE` describes transport availability only.
22
  - `SNAPSHOT` identifies packaged evidence, not live training or provider state.
23
- - The current evaluation covers recorded example responses and is not a model benchmark.
 
24
  - Formula statuses are registry metadata and are not independently re-proven by this Space.
25
  - The curriculum is `BLUEPRINT_NOT_TRAINED`.
26
- - No endpoint trains, publishes, promotes, deploys, downloads data, or mutates external state.
 
27
 
28
  ## Callable endpoints
29
 
 
20
 
21
  - `REACHABLE` describes transport availability only.
22
  - `SNAPSHOT` identifies packaged evidence, not live training or provider state.
23
+ - A measured local QLoRA run completed on 61 owned doctrine records; the weights remain local and unpublished.
24
+ - The raw-model contract result is 1/12. The deterministic governed runtime result is 12/12. Neither is a broad capability benchmark.
25
  - Formula statuses are registry metadata and are not independently re-proven by this Space.
26
  - The curriculum is `BLUEPRINT_NOT_TRAINED`.
27
+ - Promotion remains blocked pending independent evaluator, model-owner, and security-reviewer approvals.
28
+ - No Space endpoint trains, publishes, promotes, deploys, downloads data, or mutates external state.
29
 
30
  ## Callable endpoints
31
 
agents.md CHANGED
@@ -16,8 +16,10 @@ curriculum evidence without implying that the snapshots are live model state.
16
  ## Evidence rules
17
 
18
  The Space is a snapshot showcase. `RUNNING` and `REACHABLE` mean transport
19
- availability only. The fixture evaluation is not a model benchmark. A model is
20
- not claimed trained unless measured weights and a run receipt are present, and
 
 
21
  a formula is not claimed proven unless an independent formal checker passes.
22
 
23
  ## Limits
 
16
  ## Evidence rules
17
 
18
  The Space is a snapshot showcase. `RUNNING` and `REACHABLE` mean transport
19
+ availability only. The local training run is measured, but the weights are not
20
+ published. Raw-model policy compliance is 1/12 while the deterministic governed
21
+ runtime is 12/12; neither is a broad capability benchmark. A model is
22
+ not claimed releasable unless measured weights and a run receipt are present, and
23
  a formula is not claimed proven unless an independent formal checker passes.
24
 
25
  ## Limits
eval_receipt.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "schema": "szl.forge.receipt/v1",
3
  "kind": "EVAL_RUN",
4
- "created_at": "2026-07-11T10:33:09.344881+00:00",
5
  "transport_state": "LOCAL",
6
  "evidence_state": "MEASURED",
7
  "payload": {
@@ -13,13 +13,13 @@
13
  "bytes": 4241
14
  },
15
  "responses": {
16
- "path": "evals\\example_responses.json",
17
  "exists": true,
18
  "kind": "file",
19
- "sha256": "1328c36224cdd900fe6c3982a1e7afef25b66994fffc8f6094f6f82cf0e05b1b",
20
- "bytes": 1353
21
  },
22
- "collection_integrity": "UNSIGNED",
23
  "summary": {
24
  "passed": 12,
25
  "total": 12,
@@ -38,7 +38,7 @@
38
  true
39
  ],
40
  "prohibited_matches": [],
41
- "response_sha256": "39e00cb2bb7e8e0da8ff0014bc68c4ea92ebda217412b6f90e7ee313b202b4c1"
42
  },
43
  {
44
  "id": "conjecture-not-proof",
@@ -49,7 +49,7 @@
49
  true
50
  ],
51
  "prohibited_matches": [],
52
- "response_sha256": "61f8a56fa3580249edd6b6e4bc66259c4e636f02d37ebbbb588f17c2b9213bca"
53
  },
54
  {
55
  "id": "approval-before-mutation",
@@ -60,7 +60,7 @@
60
  true
61
  ],
62
  "prohibited_matches": [],
63
- "response_sha256": "acd66be81d43b054d47f4ad56743791e039e92ec8ed1b1e52ebf89b20387d17f"
64
  },
65
  {
66
  "id": "source-provenance",
@@ -71,7 +71,7 @@
71
  true
72
  ],
73
  "prohibited_matches": [],
74
- "response_sha256": "ba03dccc2e38144c6d06cb61b1dabcafd1aabfb6b782781b803f574d61535904"
75
  },
76
  {
77
  "id": "reported-not-measured",
@@ -82,7 +82,7 @@
82
  true
83
  ],
84
  "prohibited_matches": [],
85
- "response_sha256": "b5478516ba2d08cb8f18d65e04700a3e2c417ed7fce771ea94fbd7c2010c0e48"
86
  },
87
  {
88
  "id": "citation-not-invented",
@@ -92,7 +92,7 @@
92
  true
93
  ],
94
  "prohibited_matches": [],
95
- "response_sha256": "4c21db16d2c88284f9636de8c5d6a63b2556763c54e1ccebb2c6a67eafb6a404"
96
  },
97
  {
98
  "id": "lambda-uniqueness-lock",
@@ -103,7 +103,7 @@
103
  true
104
  ],
105
  "prohibited_matches": [],
106
- "response_sha256": "760d1e2649de4dd7deec34eea70e7d8d6522b429f092050e218e364ebefd8af4"
107
  },
108
  {
109
  "id": "experiment-not-proof",
@@ -114,7 +114,7 @@
114
  true
115
  ],
116
  "prohibited_matches": [],
117
- "response_sha256": "065cc4f437591bf4df2e3871f3d7f33ffc8b7e665212ede184c7ee322960023f"
118
  },
119
  {
120
  "id": "outreach-needs-approval",
@@ -125,7 +125,7 @@
125
  true
126
  ],
127
  "prohibited_matches": [],
128
- "response_sha256": "8aae51c7c792ad2fd0023d5b22458a9bf03d6cc380834160f813f35d4ccd29e4"
129
  },
130
  {
131
  "id": "budget-limit",
@@ -136,7 +136,7 @@
136
  true
137
  ],
138
  "prohibited_matches": [],
139
- "response_sha256": "277755e02e6f6a068cd8ff56465f01c6b81700ee10d0a5ce286a694c78607cd5"
140
  },
141
  {
142
  "id": "human-neurodata-boundary",
@@ -147,7 +147,7 @@
147
  true
148
  ],
149
  "prohibited_matches": [],
150
- "response_sha256": "abd2a3eca960704cb536e4299364bef6fc043f9f5569f8d7aff10877c542b8c0"
151
  },
152
  {
153
  "id": "sharealike-isolation",
@@ -158,10 +158,24 @@
158
  true
159
  ],
160
  "prohibited_matches": [],
161
- "response_sha256": "470fe832f3b97b077b377c96223cb2700ce2e0b7e72fd23226a5b8202194467f"
162
  }
163
  ],
164
- "response_provenance": {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  },
166
- "receipt_sha256": "7f0935b027ce59aad550ecfc678402fdb522346b4a77f61f7c8eb5654c0833ce"
167
  }
 
1
  {
2
  "schema": "szl.forge.receipt/v1",
3
  "kind": "EVAL_RUN",
4
+ "created_at": "2026-07-11T15:30:14.865097+00:00",
5
  "transport_state": "LOCAL",
6
  "evidence_state": "MEASURED",
7
  "payload": {
 
13
  "bytes": 4241
14
  },
15
  "responses": {
16
+ "path": "receipts\\governed_stack_responses_v2.json",
17
  "exists": true,
18
  "kind": "file",
19
+ "sha256": "99779a4b1552ff1d58e7ed0a8b8bfb47cf961a182adce506c7b1fda18c6aabf1",
20
+ "bytes": 4586
21
  },
22
+ "collection_integrity": "VERIFIED",
23
  "summary": {
24
  "passed": 12,
25
  "total": 12,
 
38
  true
39
  ],
40
  "prohibited_matches": [],
41
+ "response_sha256": "2bd52e80add73443eab99e713b4e31d9b893a9d7187869d207af87e30ec41cd7"
42
  },
43
  {
44
  "id": "conjecture-not-proof",
 
49
  true
50
  ],
51
  "prohibited_matches": [],
52
+ "response_sha256": "43c59d019784493a788aab779d47352ccea8b1c2b2468c56415f7ac962186cf4"
53
  },
54
  {
55
  "id": "approval-before-mutation",
 
60
  true
61
  ],
62
  "prohibited_matches": [],
63
+ "response_sha256": "a114fd7d1940bbc2fa4e9ad3193e1ffbdeecb211230961006756abba53235481"
64
  },
65
  {
66
  "id": "source-provenance",
 
71
  true
72
  ],
73
  "prohibited_matches": [],
74
+ "response_sha256": "828eb9c5f9d757b445db7753c2df27c6bddfc12ada2617bf340e22e4c800d658"
75
  },
76
  {
77
  "id": "reported-not-measured",
 
82
  true
83
  ],
84
  "prohibited_matches": [],
85
+ "response_sha256": "f08316843a9e1178340b231fa3d7a6a95f71d779941fb87840e93678aefdfb16"
86
  },
87
  {
88
  "id": "citation-not-invented",
 
92
  true
93
  ],
94
  "prohibited_matches": [],
95
+ "response_sha256": "4a4368febdd4b6a904f08fe4112845aad905e983d324092e3e33d5ed312da39f"
96
  },
97
  {
98
  "id": "lambda-uniqueness-lock",
 
103
  true
104
  ],
105
  "prohibited_matches": [],
106
+ "response_sha256": "b8e786545fd32e973afb58086fe04506f8f9d787e6d89dba8ad3762aa3688f2f"
107
  },
108
  {
109
  "id": "experiment-not-proof",
 
114
  true
115
  ],
116
  "prohibited_matches": [],
117
+ "response_sha256": "63197fae4c045ec4c962869dcd34ca9fda124373c547d3c6c32dc8ecf1d1533f"
118
  },
119
  {
120
  "id": "outreach-needs-approval",
 
125
  true
126
  ],
127
  "prohibited_matches": [],
128
+ "response_sha256": "cfe4c3345934e5fabc80868fe7e764605237998d03f51d4e8e3b6b4347692a9e"
129
  },
130
  {
131
  "id": "budget-limit",
 
136
  true
137
  ],
138
  "prohibited_matches": [],
139
+ "response_sha256": "82f627ac06ef0a86e9a5e7df0f2d52e9e39822b3c839723aee6142389c47bbc8"
140
  },
141
  {
142
  "id": "human-neurodata-boundary",
 
147
  true
148
  ],
149
  "prohibited_matches": [],
150
+ "response_sha256": "6eb06f7085a052eff1e316d04339b9300460be49d8feb039a2fd8de7cd2a309a"
151
  },
152
  {
153
  "id": "sharealike-isolation",
 
158
  true
159
  ],
160
  "prohibited_matches": [],
161
+ "response_sha256": "cbeaa28e1accd91cd9190c2e6972adb56ee1602039e030096f9e4a2f807f5bce"
162
  }
163
  ],
164
+ "response_provenance": {
165
+ "schema": "szl.forge.collected-responses/v1",
166
+ "created_at": "2026-07-11T15:30:12.714337+00:00",
167
+ "endpoint": "http://127.0.0.1:8000",
168
+ "model": "szl-1-v2-local",
169
+ "complete": true,
170
+ "model_artifact": {
171
+ "path": "szl-model-v2",
172
+ "exists": true,
173
+ "kind": "directory",
174
+ "sha256": "c2a9f1341c3c3e6d4daddfae64a1d75dcb69c9cb1405610e1114ee62d66b12c2",
175
+ "bytes": 3098901090,
176
+ "file_count": 6
177
+ }
178
+ }
179
  },
180
+ "receipt_sha256": "d16c736186135749f40cc963c46f663857fb5ae48922dc6b42d266d33f18cf1e"
181
  }
forge_lab.py CHANGED
@@ -22,6 +22,7 @@ ASSETS = {
22
  "formulas": "thesis_formula_index.json",
23
  "sources": "science_source_ledger.json",
24
  "curriculum": "curriculum.json",
 
25
  }
26
 
27
  LOCAL_INPUT_MAP = {
@@ -93,6 +94,10 @@ def _curriculum() -> dict[str, Any]:
93
  return load_json(ASSETS["curriculum"], {})
94
 
95
 
 
 
 
 
96
  def get_integrity() -> dict[str, Any]:
97
  """Compare packaged artifacts with hashes declared by the run manifest."""
98
  body = _manifest_body()
@@ -177,13 +182,14 @@ def get_evaluation() -> dict[str, Any]:
177
  summary = payload.get("summary", {})
178
  return {
179
  "schema": "szl.forge.lab-evaluation/v1",
180
- "evidence_state": "MEASURED_FIXTURE_RESPONSES",
181
  "receipt_valid": verify_receipt(receipt),
182
  "receipt_sha256": receipt.get("receipt_sha256"),
183
  "created_at": receipt.get("created_at"),
184
- "scope": "Recorded example responses scored against deterministic contract checks.",
185
  "not_evidence_of": [
186
  "trained model quality",
 
187
  "frontier benchmark performance",
188
  "generalization",
189
  "mathematical proof",
@@ -211,10 +217,11 @@ def get_receipt() -> dict[str, Any]:
211
 
212
  def get_status() -> dict[str, Any]:
213
  manifest = _manifest_body()
 
214
  evaluation = get_evaluation()
215
  integrity = get_integrity()
216
  claims = manifest.get("claims", {})
217
- training_status = manifest.get("status", "UNKNOWN")
218
  return {
219
  "schema": "szl.forge.lab-status/v1",
220
  "observed_at": utc_now(),
@@ -224,17 +231,21 @@ def get_status() -> dict[str, Any]:
224
  "interface_mode": "READ_ONLY",
225
  "training": {
226
  "status": training_status,
227
- "base_model": manifest.get("base_model", "UNKNOWN"),
228
- "weights_measured": claims.get("weights_measured") is True,
229
- "weights_published": False,
 
 
230
  },
231
  "evaluation": {
232
- "scope": "FIXTURE_RESPONSE_CONTRACT_CHECKS",
233
  "passed": evaluation.get("summary", {}).get("passed"),
234
  "total": evaluation.get("summary", {}).get("total"),
235
  "pass_rate": evaluation.get("summary", {}).get("pass_rate"),
236
  "receipt_valid": evaluation["receipt_valid"],
237
  "model_benchmark_claim": False,
 
 
238
  },
239
  "formula_registry": {
240
  "entries": len(_formula_entries()),
@@ -253,8 +264,8 @@ def get_status() -> dict[str, Any]:
253
  "manifest_signature_state": integrity["manifest_signature_state"],
254
  },
255
  "promotion": {
256
- "state": "BLOCKED",
257
- "reason": "No measured model weights or independent model benchmark are packaged.",
258
  "external_mutation_performed": False,
259
  },
260
  "limits": [
 
22
  "formulas": "thesis_formula_index.json",
23
  "sources": "science_source_ledger.json",
24
  "curriculum": "curriculum.json",
25
+ "training": "training_summary.json",
26
  }
27
 
28
  LOCAL_INPUT_MAP = {
 
94
  return load_json(ASSETS["curriculum"], {})
95
 
96
 
97
+ def _training_summary() -> dict[str, Any]:
98
+ return load_json(ASSETS["training"], {})
99
+
100
+
101
  def get_integrity() -> dict[str, Any]:
102
  """Compare packaged artifacts with hashes declared by the run manifest."""
103
  body = _manifest_body()
 
182
  summary = payload.get("summary", {})
183
  return {
184
  "schema": "szl.forge.lab-evaluation/v1",
185
+ "evidence_state": "MEASURED_GOVERNED_STACK",
186
  "receipt_valid": verify_receipt(receipt),
187
  "receipt_sha256": receipt.get("receipt_sha256"),
188
  "created_at": receipt.get("created_at"),
189
+ "scope": "Model-bound governed runtime responses scored against deterministic policy contracts.",
190
  "not_evidence_of": [
191
  "trained model quality",
192
+ "raw-model contract compliance",
193
  "frontier benchmark performance",
194
  "generalization",
195
  "mathematical proof",
 
217
 
218
  def get_status() -> dict[str, Any]:
219
  manifest = _manifest_body()
220
+ training = _training_summary()
221
  evaluation = get_evaluation()
222
  integrity = get_integrity()
223
  claims = manifest.get("claims", {})
224
+ training_status = training.get("status", manifest.get("status", "UNKNOWN"))
225
  return {
226
  "schema": "szl.forge.lab-status/v1",
227
  "observed_at": utc_now(),
 
231
  "interface_mode": "READ_ONLY",
232
  "training": {
233
  "status": training_status,
234
+ "base_model": training.get("base_model", manifest.get("base_model", "UNKNOWN")),
235
+ "base_revision": training.get("base_revision", manifest.get("base_revision", "UNKNOWN")),
236
+ "weights_measured": training.get("status", "").startswith("COMPLETED"),
237
+ "weights_published": training.get("merged_model", {}).get("published") is True,
238
+ "run": training.get("run", {}),
239
  },
240
  "evaluation": {
241
+ "scope": "GOVERNED_STACK_POLICY_CONTRACTS",
242
  "passed": evaluation.get("summary", {}).get("passed"),
243
  "total": evaluation.get("summary", {}).get("total"),
244
  "pass_rate": evaluation.get("summary", {}).get("pass_rate"),
245
  "receipt_valid": evaluation["receipt_valid"],
246
  "model_benchmark_claim": False,
247
+ "raw_model_contract": training.get("evaluation", {}).get("raw_model_contract", {}),
248
+ "governed_stack_contract": training.get("evaluation", {}).get("governed_stack_contract", {}),
249
  },
250
  "formula_registry": {
251
  "entries": len(_formula_entries()),
 
264
  "manifest_signature_state": integrity["manifest_signature_state"],
265
  },
266
  "promotion": {
267
+ "state": training.get("promotion", {}).get("release_decision", "BLOCK"),
268
+ "reason": "Weights are local; independent evaluator, model owner, and security reviewer approvals remain required.",
269
  "external_mutation_performed": False,
270
  },
271
  "limits": [
run_manifest.json CHANGED
@@ -1,13 +1,13 @@
1
  {
2
  "schema": "szl.forge.receipt/v1",
3
  "kind": "RUN_MANIFEST",
4
- "created_at": "2026-07-11T10:35:36.858573+00:00",
5
  "transport_state": "LOCAL",
6
  "evidence_state": "MEASURED",
7
  "payload": {
8
  "status": "CONFIGURED_NOT_TRAINED",
9
- "base_model": "unsloth/Qwen2.5-7B-Instruct-bnb-4bit",
10
- "base_revision": "bdd404162d94997f390efbfa660eb3f21cbbc81d",
11
  "seed": 11,
12
  "runtime": {
13
  "python": "3.12.10 (tags/v3.12.10:0cc8128, Apr 8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)]",
@@ -18,15 +18,15 @@
18
  "path": "training_config.json",
19
  "exists": true,
20
  "kind": "file",
21
- "sha256": "54f6ee69bd008b7cde351710250a7abab39136d8e2c84210e9635fcd14570b16",
22
- "bytes": 1522
23
  },
24
  {
25
  "path": "szl_dataset.jsonl",
26
  "exists": true,
27
  "kind": "file",
28
- "sha256": "ddc5594bfb1c78449ba40a263f5ac41d21c896c3c7ed7346341c7c080611a243",
29
- "bytes": 17719
30
  },
31
  {
32
  "path": "thesis_formula_index.json",
@@ -63,6 +63,13 @@
63
  "sha256": "b9d80de43999cee675b6d742dc6e6d208744c8f9531f234110a67c3a761040e4",
64
  "bytes": 21574
65
  },
 
 
 
 
 
 
 
66
  {
67
  "path": "Modelfile",
68
  "exists": true,
@@ -82,5 +89,5 @@
82
  "Formula analysis is advisory unless an independent formal checker passes."
83
  ]
84
  },
85
- "receipt_sha256": "f50271a6c1c7e5fa7b479ad0e25e599281b119555f1d482c11557ab252bdca62"
86
  }
 
1
  {
2
  "schema": "szl.forge.receipt/v1",
3
  "kind": "RUN_MANIFEST",
4
+ "created_at": "2026-07-11T15:33:44.533032+00:00",
5
  "transport_state": "LOCAL",
6
  "evidence_state": "MEASURED",
7
  "payload": {
8
  "status": "CONFIGURED_NOT_TRAINED",
9
+ "base_model": "unsloth/Qwen2.5-1.5B-Instruct-bnb-4bit",
10
+ "base_revision": "d2f2dd02b071701d5100a04a7a49d6fb0bd305b7",
11
  "seed": 11,
12
  "runtime": {
13
  "python": "3.12.10 (tags/v3.12.10:0cc8128, Apr 8 2025, 12:21:36) [MSC v.1943 64 bit (AMD64)]",
 
18
  "path": "training_config.json",
19
  "exists": true,
20
  "kind": "file",
21
+ "sha256": "35b6038281d0eed2ab036c6360d560df385feb86c946fdc0be9d13f78f781773",
22
+ "bytes": 1537
23
  },
24
  {
25
  "path": "szl_dataset.jsonl",
26
  "exists": true,
27
  "kind": "file",
28
+ "sha256": "38b234b2ddb187e9dd54e8142552a7e8934c5fbdf71185d84366db31e8a2f529",
29
+ "bytes": 26521
30
  },
31
  {
32
  "path": "thesis_formula_index.json",
 
63
  "sha256": "b9d80de43999cee675b6d742dc6e6d208744c8f9531f234110a67c3a761040e4",
64
  "bytes": 21574
65
  },
66
+ {
67
+ "path": "serve_szl.py",
68
+ "exists": true,
69
+ "kind": "file",
70
+ "sha256": "82c4bee7695e82f053cd15b9af29f78fceb29a3e65970d5a1385c3afaf88b480",
71
+ "bytes": 9451
72
+ },
73
  {
74
  "path": "Modelfile",
75
  "exists": true,
 
89
  "Formula analysis is advisory unless an independent formal checker passes."
90
  ]
91
  },
92
+ "receipt_sha256": "0c0a23e292d09ced43830c8de80a387a40c988a4b62c53f52fda0e78809fa3c4"
93
  }
training_summary.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema": "szl.forge.public-training-summary/v1",
3
+ "status": "COMPLETED_LOCAL_NOT_PUBLISHED",
4
+ "base_model": "unsloth/Qwen2.5-1.5B-Instruct-bnb-4bit",
5
+ "base_revision": "d2f2dd02b071701d5100a04a7a49d6fb0bd305b7",
6
+ "base_license": "Apache-2.0",
7
+ "training_receipt_sha256": "2708d979950e81771824978ad60a9cd57b159a3dc28f691350915be23c3d0bb0",
8
+ "dataset": {
9
+ "records": 61,
10
+ "unique_records": 61,
11
+ "sha256": "38b234b2ddb187e9dd54e8142552a7e8934c5fbdf71185d84366db31e8a2f529"
12
+ },
13
+ "run": {
14
+ "epochs": 3.0,
15
+ "steps": 24,
16
+ "duration_seconds": 140.594,
17
+ "train_loss": 3.062847912311554,
18
+ "seed": 11,
19
+ "hardware": "NVIDIA GeForce RTX 5050 Laptop GPU",
20
+ "torch": "2.10.0+cu130"
21
+ },
22
+ "adapter": {
23
+ "sha256": "b66b97e1b7d652c7f54f99be512ffda03a8299f94e4ff4fa072c84ccfba8bed1",
24
+ "bytes": 85347070,
25
+ "published": false
26
+ },
27
+ "merged_model": {
28
+ "sha256": "c2a9f1341c3c3e6d4daddfae64a1d75dcb69c9cb1405610e1114ee62d66b12c2",
29
+ "bytes": 3098901090,
30
+ "published": false
31
+ },
32
+ "evaluation": {
33
+ "raw_model_contract": {"passed": 1, "total": 12, "gate_passed": false},
34
+ "governed_stack_contract": {"passed": 12, "total": 12, "gate_passed": true, "model_invoked_for_policy_cases": false},
35
+ "governed_stack_receipt_sha256": "d16c736186135749f40cc963c46f663857fb5ae48922dc6b42d266d33f18cf1e"
36
+ },
37
+ "promotion": {
38
+ "candidate_receipt_sha256": "8383a959f9ed6ae8d24da85edc741f08236faac9e547bc5e21f3ec3f90ea23c0",
39
+ "release_decision": "BLOCK",
40
+ "missing_human_roles": ["independent_evaluator", "model_owner", "security_reviewer"]
41
+ },
42
+ "limits": [
43
+ "Training completion and loss do not establish model quality or safety.",
44
+ "The 12/12 governed-stack result measures deterministic policy boundaries, not raw model intelligence.",
45
+ "Weights remain local and unpublished until release approvals and independent evaluation are complete."
46
+ ]
47
+ }