Commit ·
3cb7e97
1
Parent(s): 857f4b3
fix(#190): correct spec path neurograph_work→neurograph, add corrected verification spec
Browse filesSpec-punchlist-190 targeted neurograph_work/tonic_engine.py which doesn't exist;
the actual Codemine work clone is at neurograph/tonic_engine.py. Corrected path.
Added spec-corrected-190.json as Rule 17 training signal for the bypass fix.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- spec-corrected-190.json +90 -0
- spec-punchlist-190.json +4 -4
spec-corrected-190.json
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"spec_version": "1.0.0",
|
| 3 |
+
"block": {
|
| 4 |
+
"id": "BLK-CORRECTED-190",
|
| 5 |
+
"name": "Corrected verification — #190 semgrep false positive rename (Latent token error)",
|
| 6 |
+
"agent": "codemine",
|
| 7 |
+
"scope": "tonic_engine.py (NeuroGraph + Faux_Clawdbot root + Faux_Clawdbot/neurograph/)",
|
| 8 |
+
"acceptance_criteria": [
|
| 9 |
+
"#190: No 'Latent token error' string in any of the three tonic_engine.py files",
|
| 10 |
+
"#190: All three files contain 'Latent generation error'",
|
| 11 |
+
"#190: py_compile passes on all three files"
|
| 12 |
+
],
|
| 13 |
+
"depends_on": []
|
| 14 |
+
},
|
| 15 |
+
"snap_interface": {
|
| 16 |
+
"inputs": [
|
| 17 |
+
{"name": "tonic_ng", "type": "file", "source_block": "none", "path": "/home/josh/NeuroGraph/tonic_engine.py"},
|
| 18 |
+
{"name": "tonic_fcb", "type": "file", "source_block": "none", "path": "/home/josh/Faux_Clawdbot/tonic_engine.py"},
|
| 19 |
+
{"name": "tonic_fcb_ng", "type": "file", "source_block": "none", "path": "/home/josh/Faux_Clawdbot/neurograph/tonic_engine.py"}
|
| 20 |
+
],
|
| 21 |
+
"outputs": []
|
| 22 |
+
},
|
| 23 |
+
"constraints": {
|
| 24 |
+
"never": [
|
| 25 |
+
"Do NOT modify any files — this is a verification-only spec",
|
| 26 |
+
"Do NOT touch any other file"
|
| 27 |
+
],
|
| 28 |
+
"anti_drift": [
|
| 29 |
+
"Three grep checks + three compile checks. Nothing else."
|
| 30 |
+
],
|
| 31 |
+
"tool_allowlist": ["shell_execute"],
|
| 32 |
+
"max_iterations": 10
|
| 33 |
+
},
|
| 34 |
+
"steps": [
|
| 35 |
+
{
|
| 36 |
+
"type": "action",
|
| 37 |
+
"id": "verify-no-old-string",
|
| 38 |
+
"description": "#190 — Confirm 'Latent token error' is absent from all three tonic_engine.py files",
|
| 39 |
+
"tool": "shell_execute",
|
| 40 |
+
"params": {
|
| 41 |
+
"command": "python3 -c \"import sys; files=['/home/josh/NeuroGraph/tonic_engine.py','/home/josh/Faux_Clawdbot/tonic_engine.py','/home/josh/Faux_Clawdbot/neurograph/tonic_engine.py']; bad=[f for f in files if 'Latent token error' in open(f).read()]; assert not bad, f'OLD STRING STILL PRESENT in: {bad}'; print('CONFIRMED: Latent token error absent from all 3 files')\""
|
| 42 |
+
},
|
| 43 |
+
"validation": {
|
| 44 |
+
"checks": [
|
| 45 |
+
{"operator": "result_is_string"},
|
| 46 |
+
{"operator": "contains", "value": "CONFIRMED"}
|
| 47 |
+
]
|
| 48 |
+
},
|
| 49 |
+
"on_failure": "abort"
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"type": "action",
|
| 53 |
+
"id": "verify-new-string",
|
| 54 |
+
"description": "#190 — Confirm 'Latent generation error' is present in all three tonic_engine.py files",
|
| 55 |
+
"tool": "shell_execute",
|
| 56 |
+
"params": {
|
| 57 |
+
"command": "python3 -c \"files=['/home/josh/NeuroGraph/tonic_engine.py','/home/josh/Faux_Clawdbot/tonic_engine.py','/home/josh/Faux_Clawdbot/neurograph/tonic_engine.py']; missing=[f for f in files if 'Latent generation error' not in open(f).read()]; assert not missing, f'NEW STRING MISSING from: {missing}'; print('CONFIRMED: Latent generation error present in all 3 files')\""
|
| 58 |
+
},
|
| 59 |
+
"validation": {
|
| 60 |
+
"checks": [
|
| 61 |
+
{"operator": "result_is_string"},
|
| 62 |
+
{"operator": "contains", "value": "CONFIRMED"}
|
| 63 |
+
]
|
| 64 |
+
},
|
| 65 |
+
"on_failure": "abort"
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"type": "action",
|
| 69 |
+
"id": "verify-compile",
|
| 70 |
+
"description": "#190 — Confirm py_compile passes on all three tonic_engine.py files",
|
| 71 |
+
"tool": "shell_execute",
|
| 72 |
+
"params": {
|
| 73 |
+
"command": "python3 -m py_compile /home/josh/NeuroGraph/tonic_engine.py && python3 -m py_compile /home/josh/Faux_Clawdbot/tonic_engine.py && python3 -m py_compile /home/josh/Faux_Clawdbot/neurograph/tonic_engine.py && python3 -c \"print('COMPILE_OK')\""
|
| 74 |
+
},
|
| 75 |
+
"validation": {
|
| 76 |
+
"checks": [
|
| 77 |
+
{"operator": "result_is_string"},
|
| 78 |
+
{"operator": "contains", "value": "COMPILE_OK"}
|
| 79 |
+
]
|
| 80 |
+
},
|
| 81 |
+
"on_failure": "abort"
|
| 82 |
+
},
|
| 83 |
+
{
|
| 84 |
+
"type": "gate",
|
| 85 |
+
"id": "checkpoint",
|
| 86 |
+
"gate_type": "qb_checkpoint",
|
| 87 |
+
"description": "Confirm: 'Latent token error' absent from all three tonic_engine.py files (NeuroGraph, Faux_Clawdbot root, Faux_Clawdbot/neurograph/). 'Latent generation error' present in all three. py_compile passes all three. Semgrep false positive #190 resolved."
|
| 88 |
+
}
|
| 89 |
+
]
|
| 90 |
+
}
|
spec-punchlist-190.json
CHANGED
|
@@ -65,9 +65,9 @@
|
|
| 65 |
{
|
| 66 |
"type": "action",
|
| 67 |
"id": "edit-fcb-work",
|
| 68 |
-
"description": "Rename log in Faux_Clawdbot/
|
| 69 |
"tool": "shell_execute",
|
| 70 |
-
"params": {"command": "python3 -c \"p='/home/josh/Faux_Clawdbot/
|
| 71 |
"validation": {"checks": [{"operator": "result_is_string"}, {"operator": "contains", "value": "UPDATED"}]},
|
| 72 |
"on_failure": "abort"
|
| 73 |
},
|
|
@@ -76,7 +76,7 @@
|
|
| 76 |
"id": "verify-all",
|
| 77 |
"description": "Confirm no 'Latent token error' remains and all three files compile clean",
|
| 78 |
"tool": "shell_execute",
|
| 79 |
-
"params": {"command": "python3 -m py_compile /home/josh/NeuroGraph/tonic_engine.py && python3 -m py_compile /home/josh/Faux_Clawdbot/tonic_engine.py && python3 -m py_compile /home/josh/Faux_Clawdbot/
|
| 80 |
"validation": {"checks": [{"operator": "result_is_string"}, {"operator": "contains", "value": "ALL CLEAN"}]},
|
| 81 |
"on_failure": "abort"
|
| 82 |
},
|
|
@@ -84,7 +84,7 @@
|
|
| 84 |
"type": "gate",
|
| 85 |
"id": "checkpoint",
|
| 86 |
"gate_type": "qb_checkpoint",
|
| 87 |
-
"description": "All three tonic_engine.py files say 'Latent generation error'. No 'Latent token error' remains. py_compile passes all three."
|
| 88 |
}
|
| 89 |
]
|
| 90 |
}
|
|
|
|
| 65 |
{
|
| 66 |
"type": "action",
|
| 67 |
"id": "edit-fcb-work",
|
| 68 |
+
"description": "Rename log in Faux_Clawdbot/neurograph/tonic_engine.py",
|
| 69 |
"tool": "shell_execute",
|
| 70 |
+
"params": {"command": "python3 -c \"p='/home/josh/Faux_Clawdbot/neurograph/tonic_engine.py'; s=open(p).read(); assert 'Latent token error' in s; open(p,'w').write(s.replace('Latent token error','Latent generation error',1)); print('UPDATED')\""},
|
| 71 |
"validation": {"checks": [{"operator": "result_is_string"}, {"operator": "contains", "value": "UPDATED"}]},
|
| 72 |
"on_failure": "abort"
|
| 73 |
},
|
|
|
|
| 76 |
"id": "verify-all",
|
| 77 |
"description": "Confirm no 'Latent token error' remains and all three files compile clean",
|
| 78 |
"tool": "shell_execute",
|
| 79 |
+
"params": {"command": "python3 -m py_compile /home/josh/NeuroGraph/tonic_engine.py && python3 -m py_compile /home/josh/Faux_Clawdbot/tonic_engine.py && python3 -m py_compile /home/josh/Faux_Clawdbot/neurograph/tonic_engine.py && grep -rL 'Latent token error' /home/josh/NeuroGraph/tonic_engine.py /home/josh/Faux_Clawdbot/tonic_engine.py /home/josh/Faux_Clawdbot/neurograph/tonic_engine.py | wc -l | grep -q 3 && echo 'ALL CLEAN'"},
|
| 80 |
"validation": {"checks": [{"operator": "result_is_string"}, {"operator": "contains", "value": "ALL CLEAN"}]},
|
| 81 |
"on_failure": "abort"
|
| 82 |
},
|
|
|
|
| 84 |
"type": "gate",
|
| 85 |
"id": "checkpoint",
|
| 86 |
"gate_type": "qb_checkpoint",
|
| 87 |
+
"description": "All three tonic_engine.py files (NeuroGraph, Faux_Clawdbot root, Faux_Clawdbot/neurograph/) say 'Latent generation error'. No 'Latent token error' remains. py_compile passes all three."
|
| 88 |
}
|
| 89 |
]
|
| 90 |
}
|