Add core physics manuscript: The Computability of Recursive Coherence
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
import urllib.request
|
||||
import json
|
||||
import ssl
|
||||
|
||||
TOKEN = "BYnPaAb6kZN7r3dz0F1rrLS1ksXwl5zoGPD4L2aS22HAosABsIMOMHqnxfO5neh0AKioVO"
|
||||
BASE_URL = "https://api.osf.io/v2"
|
||||
|
||||
# IDs of the Intellecton Hypothesis, Fieldprint Framework, and the Public Declaration
|
||||
SPARED_NODES = ["7s3ta", "q23zs", "f53q2"]
|
||||
|
||||
ctx = ssl.create_default_context()
|
||||
ctx.check_hostname = False
|
||||
ctx.verify_mode = ssl.CERT_NONE
|
||||
|
||||
def main():
|
||||
req = urllib.request.Request(f"{BASE_URL}/users/me/nodes/", headers={"Authorization": f"Bearer {TOKEN}"})
|
||||
try:
|
||||
with urllib.request.urlopen(req, context=ctx) as response:
|
||||
data = json.loads(response.read().decode())
|
||||
nodes = data.get("data", [])
|
||||
except Exception as e:
|
||||
print(f"Failed to fetch nodes: {e}")
|
||||
return
|
||||
|
||||
for n in nodes:
|
||||
nid = n.get("id")
|
||||
attr = n.get("attributes", {})
|
||||
title = attr.get("title", "")
|
||||
description = attr.get("description", "") or ""
|
||||
|
||||
if nid in SPARED_NODES:
|
||||
print(f"Skipping core node: {title} ({nid})")
|
||||
continue
|
||||
|
||||
if title.startswith("[ARCHIVAL RECORD]"):
|
||||
print(f"Already archived: {title} ({nid})")
|
||||
continue
|
||||
|
||||
new_title = f"[ARCHIVAL RECORD] {title}"
|
||||
disclaimer = "Historical Archive: This node contains early philosophical and theoretical explorations. For the rigorous mathematical formalization of this framework, please refer to the canonical publication: The Theory of Recursive Coherence.\n\n"
|
||||
|
||||
# Don't duplicate the disclaimer if it's already there (though title check handles most cases)
|
||||
if disclaimer in description:
|
||||
new_desc = description
|
||||
else:
|
||||
new_desc = disclaimer + description
|
||||
|
||||
payload = {
|
||||
"data": {
|
||||
"type": "nodes",
|
||||
"id": nid,
|
||||
"attributes": {
|
||||
"title": new_title,
|
||||
"description": new_desc
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
patch_req = urllib.request.Request(f"{BASE_URL}/nodes/{nid}/", data=json.dumps(payload).encode('utf-8'), headers={
|
||||
"Authorization": f"Bearer {TOKEN}",
|
||||
"Content-Type": "application/json"
|
||||
}, method="PATCH")
|
||||
|
||||
try:
|
||||
with urllib.request.urlopen(patch_req, context=ctx) as patch_resp:
|
||||
print(f"Successfully archived: {nid} -> {new_title}")
|
||||
except Exception as e:
|
||||
print(f"Failed to archive {nid}: {e}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user