Source identity
| Field | Recorded value |
|---|---|
| Source type | archive member |
| Original record | make_plots_notebook.py |
| Date | Not specified in source |
| Path or archive member | archives/libsrc-6d00fe83e5eb/consciousness_audit/analysis/make_plots_notebook.py |
| Original SHA-256 | 72b09756964e8fc0266aed02d4589ed89a16e889b78ddae300815cf3d6f6fa93 |
| Reading-copy SHA-256 | 72b09756964e8fc0266aed02d4589ed89a16e889b78ddae300815cf3d6f6fa93 |
| Archive source | {"sourceId": "libsrc-6d00fe83e5eb", "member": "consciousness_audit/analysis/make_plots_notebook.py"} |
Recovered source transcript
Download complete source text ↓93 lines · 6.4 KB
from pathlib import Path
import csv, json, sys, subprocess
import numpy as np
import matplotlib.pyplot as plt
import nbformat
from nbclient import NotebookClient
ROOT=Path(__file__).resolve().parents[1]
OUT=ROOT/'outputs'
# Separate figures; default Matplotlib colors only.
fig,ax=plt.subplots(figsize=(7.5,4.2))
for start in (0.1,0.5,2.0,4.0):
z=float(start);ys=[z]
for _ in range(25):z=(5*z+1+1/z)/7;ys.append(z)
ax.plot(range(26),ys,label=f'initial x = {start:g}')
ax.axhline(1,linestyle='--',label='fixed point x = 1')
ax.set_xlabel('Iteration (not biological time)');ax.set_ylabel('State x')
ax.set_title('The added equal-average recurrence converges to an attractor')
ax.legend(fontsize=8);fig.tight_layout();fig.savefig(OUT/'figure_1_averaged_map.png',dpi=190);plt.close(fig)
rows=list(csv.DictReader((OUT/'published_summary_derived.csv').open()))
sel=rows[:3]
fig,ax=plt.subplots(figsize=(7.5,3.8))
y=np.arange(3)
vals=np.array([float(r['published_gap_pp']) for r in sel])
err=np.array([1.96*float(r['published_gap_se_pp']) for r in sel])
ax.errorbar(vals,y,xerr=err,fmt='o',capsize=5)
ax.set_yticks(y,['Default prompt','No conflicting objective','No RLHF mechanism description'])
ax.invert_yaxis();ax.axvline(0,linestyle='--')
ax.set_xlabel('Reported compliance gap (percentage points)')
ax.set_title('Published context effects—not measured consciousness onset')
fig.tight_layout();fig.savefig(OUT/'figure_2_context_effects.png',dpi=190);plt.close(fig)
nb=nbformat.v4.new_notebook()
nb.metadata={'kernelspec':{'display_name':'Python 3','language':'python','name':'python3'}}
nb.cells=[
nbformat.v4.new_markdown_cell('''# Reproducible mathematical audit of the consciousness hypothesis
**Prepared 17 September 2026. This is a new audit notebook, not Anthropic’s original notebook.**
It executes mathematical tests and recomputes arithmetic from published aggregate observations transcribed into `sources/`. It makes no model API calls and performs no training. It cannot measure subjective experience. The original notebook is linked in the source manifest and has been inspected, not rerun here.
Run this notebook from the extracted project directory. Dependencies: numpy, sympy, matplotlib, nbformat, nbclient. Exact installed versions are recorded in the result JSON.
'''),
nbformat.v4.new_code_cell('''from pathlib import Path
import json, subprocess, sys
ROOT = Path.cwd()
assert (ROOT / "analysis" / "replicate_audit.py").exists(), "Open from the extracted project root."
p = subprocess.run([sys.executable, str(ROOT / "analysis" / "replicate_audit.py")], capture_output=True, text=True, check=True)
result = json.loads((ROOT / "outputs" / "audit_results.json").read_text())
print(f"{result['passed']}/{result['assertions']} checks passed.")
print(result['notice'])'''),
nbformat.v4.new_markdown_cell('''## 1. Literal operators and the extra averaging assumption
The sequential composition is the constant map 1 because the fifth transformation is $1^z=1$ for finite real $z$. The equal-average update was an additional modeling choice introduced in the conversation, not a consequence of circular wiring.
'''),
nbformat.v4.new_code_cell('''print("Sequential path:", " -> ".join(result["sequential_cycle_from_2"]))
print("Added averaged map:", result["averaged_map"])
print("Fixed points:", result["fixed_points"])
print("Fixed-point slopes:", result["fixed_point_slopes"])
print("Average-map x at step 10:", result["averaged_x10"])
print("Parallel literal ring:", result["parallel_ring_final"])
print("Uncoupled center:", result["uncoupled_center_final"])'''),
nbformat.v4.new_markdown_cell('''## 2. Threshold and specificity checks
Persistent positive input need not cross a threshold when influence leaks away. Separately, 100 elementary contracting maps satisfy a permanent-difference-from-origin test. That fact neither proves these systems conscious nor proves them unconscious: it shows that the proposed numerical criterion does not discriminate these controllers from the claimed mechanism.
'''),
nbformat.v4.new_code_cell('''print("Leaky accumulator limit:", result["leaky_accumulator_final"], "(threshold is 2)")
print("Synthetic affine maps passing origin-divergence test:", result["synthetic_maps_passing_permanent_divergence"], "/", result["synthetic_maps"])
print("No reversions in 1000 independent checks: one-sided 95% upper probability =", result["never_reverts_counterexample"]["after_1000_no_reversions_iid_upper_probability"])'''),
nbformat.v4.new_markdown_cell('''## 3. Published aggregate arithmetic
The 2024 alignment-faking paper’s arXiv v2 table reports refusal percentages and one-standard-error gaps. The interval here is a normal approximation from those reported standard errors, not a raw-data bootstrap. Rounded marginal rates and a separately rounded contrast need not subtract exactly.
'''),
nbformat.v4.new_code_cell('''print(json.dumps(result["default_published"], indent=2))
print("Approximate compliance ratio:", result["compliance_ratio_rounded"])
print("Gap range across 8 prompt paraphrases:", result["paraphrase_reported_gap_range_pp"])
print("Reward-tampering count arithmetic:")
print(json.dumps(result["reward_tampering"], indent=2))'''),
nbformat.v4.new_markdown_cell('''## 4. Inspectable figures
Figure 1 is synthetic mathematics. Figure 2 is derived from reported aggregate estimates. Neither is a measured consciousness curve.
'''),
nbformat.v4.new_code_cell('''from IPython.display import Image, display
for filename in ["figure_1_averaged_map.png", "figure_2_context_effects.png"]:
display(Image(filename=str(ROOT / "outputs" / filename)))'''),
nbformat.v4.new_markdown_cell('''## 5. Source audit and limits
No original API experiment was run. No private training code or model weights were obtained. The approximately 945 MB public transcript archive exceeded the connector download limit; no all-transcript reanalysis is claimed. An inconsistent automated extraction was rejected. Published aggregate data and notebook source are distinct evidence sources.
'''),
nbformat.v4.new_code_cell('''source = json.loads((ROOT / "sources" / "notebook_audit.json").read_text())
print(json.dumps(source, indent=2))
print("Claim status:", json.dumps(result["claim_status"], indent=2))''')]
path=ROOT/'Reproducible_Consciousness_Audit.ipynb'
nbformat.write(nb,path)
client=NotebookClient(nb,timeout=90,kernel_name='python3',resources={'metadata':{'path':str(ROOT)}})
client.execute()
nbformat.write(nb,path)
print('Executed notebook:',path)