feat: add master notebook library scaffolding and review tooling

Add CLAUDE.md defining the Palladium master notebook conventions and
Red Panda Approval criteria, plus a review-notebook slash command for
LLM-driven notebook review.

Expand .gitignore to block client/engagement documents and generated
exports, keeping masters client-clean while allowing text/image sources.

Normalize slider widget numeric values from floats to integers in
notebook JSON.
This commit is contained in:
2026-07-31 16:16:07 +00:00
parent 53c069fddb
commit a967f73d09
61 changed files with 4881 additions and 4257 deletions

View File

@@ -10135,16 +10135,16 @@
"label": "NA — current platform cost ($/yr)",
"layout": "IPY_MODEL_6295cf92344b415598307483934485f3",
"layout_path": null,
"max": 8000000.0,
"min": 0.0,
"max": 8000000,
"min": 0,
"position": "inline",
"render_slot_id": null,
"source_cell_id": null,
"step": 10000.0,
"step": 10000,
"tabbable": null,
"tooltip": null,
"url_key": "",
"value": 3348969.0
"value": 3348969
}
},
"53869a7ea78b44f4a134983d354228f0": {
@@ -10382,7 +10382,7 @@
"layout": "IPY_MODEL_0e3be284c70e45b7ad9fe12c3b76163f",
"layout_path": null,
"max": 0.6,
"min": 0.0,
"min": 0,
"position": "sidebar",
"render_slot_id": null,
"source_cell_id": null,
@@ -10415,16 +10415,16 @@
"label": "ASIA — current platform cost ($/yr)",
"layout": "IPY_MODEL_61085bdb080e48e186ec10b1abee291a",
"layout_path": null,
"max": 8000000.0,
"min": 0.0,
"max": 8000000,
"min": 0,
"position": "inline",
"render_slot_id": null,
"source_cell_id": null,
"step": 10000.0,
"step": 10000,
"tabbable": null,
"tooltip": null,
"url_key": "",
"value": 2069588.0
"value": 2069588
}
},
"61085bdb080e48e186ec10b1abee291a": {
@@ -10555,16 +10555,16 @@
"label": "CCaaS licence run-rate ($/yr) — contracted",
"layout": "IPY_MODEL_3c767a6b472d42c89e6b7baf705fcbbc",
"layout_path": null,
"max": 10000000.0,
"min": 0.0,
"max": 10000000,
"min": 0,
"position": "inline",
"render_slot_id": null,
"source_cell_id": null,
"step": 100000.0,
"step": 100000,
"tabbable": null,
"tooltip": null,
"url_key": "",
"value": 3200000.0
"value": 3200000
}
},
"6ce50fa7157042a4be99b19f24be3ce7": {
@@ -10642,16 +10642,16 @@
"label": "ANZ — current platform cost ($/yr)",
"layout": "IPY_MODEL_54f1095af078476ba27715f8826aa967",
"layout_path": null,
"max": 8000000.0,
"min": 0.0,
"max": 8000000,
"min": 0,
"position": "inline",
"render_slot_id": null,
"source_cell_id": null,
"step": 10000.0,
"step": 10000,
"tabbable": null,
"tooltip": null,
"url_key": "",
"value": 677320.0
"value": 677320
}
},
"79ec042073404a6da4ec639b6b44a57c": {
@@ -11267,16 +11267,16 @@
"label": "EMEA — current platform cost ($/yr)",
"layout": "IPY_MODEL_8309c39462b34cc5afad42785a0c53ff",
"layout_path": null,
"max": 8000000.0,
"min": 0.0,
"max": 8000000,
"min": 0,
"position": "inline",
"render_slot_id": null,
"source_cell_id": null,
"step": 10000.0,
"step": 10000,
"tabbable": null,
"tooltip": null,
"url_key": "",
"value": 1204124.0
"value": 1204124
}
},
"d69203bdb8584fc9975e475199fcc235": {
@@ -11301,16 +11301,16 @@
"label": "Genesys ramp — licence-free months",
"layout": "IPY_MODEL_7b92a3a1d4ec49049e22687c38236912",
"layout_path": null,
"max": 24.0,
"min": 0.0,
"max": 24,
"min": 0,
"position": "inline",
"render_slot_id": null,
"source_cell_id": null,
"step": 1.0,
"step": 1,
"tabbable": null,
"tooltip": null,
"url_key": "",
"value": 6.0
"value": 6
}
},
"d7d4d74246ea490da7610c277c802b99": {
@@ -11335,8 +11335,8 @@
"label": "AI Translate eligibility 🟡",
"layout": "IPY_MODEL_1bf396a231374a2097e03bf45fc874ff",
"layout_path": null,
"max": 1.0,
"min": 0.0,
"max": 1,
"min": 0,
"position": "sidebar",
"render_slot_id": null,
"source_cell_id": null,
@@ -11521,7 +11521,7 @@
"layout": "IPY_MODEL_bf7b6f3bca5f48e6838dc54f84943731",
"layout_path": null,
"max": 0.5,
"min": 0.0,
"min": 0,
"position": "sidebar",
"render_slot_id": null,
"source_cell_id": null,

View File

@@ -42,7 +42,7 @@
}
],
"source": [
"# ── Setup ──────────────────────────────────────────────────────────\n",
"# ── Setup ──────────────────────────3rd with just the────────────────────────────────\n",
"import sys, pathlib\n",
"_ROOT = pathlib.Path.cwd()\n",
"if not (_ROOT / \"tokencalc\").exists(): # notebook lives in notebooks/\n",
@@ -8847,7 +8847,7 @@
"disabled": false,
"layout": "IPY_MODEL_d68795b0944341bf8354500e127e4e59",
"max": 0.5,
"min": 0.0,
"min": 0,
"orientation": "horizontal",
"readout": true,
"readout_format": ".0%",
@@ -8940,7 +8940,7 @@
"description_allow_html": false,
"disabled": false,
"layout": "IPY_MODEL_3462a88bfec94f01b6aea7530a431884",
"max": 5.0,
"max": 5,
"min": 0.5,
"orientation": "horizontal",
"readout": true,
@@ -9105,7 +9105,7 @@
"disabled": false,
"layout": "IPY_MODEL_9fe19d91747e4865a104e65b658b7c8e",
"max": 0.7,
"min": 0.0,
"min": 0,
"orientation": "horizontal",
"readout": true,
"readout_format": ".0%",
@@ -9334,7 +9334,7 @@
"description_allow_html": false,
"disabled": false,
"layout": "IPY_MODEL_fd591354d1214f4b9b7d8850be81a511",
"max": 1.0,
"max": 1,
"min": 0.3,
"orientation": "horizontal",
"readout": true,
@@ -9434,7 +9434,7 @@
"description_allow_html": false,
"disabled": false,
"layout": "IPY_MODEL_4c9514e9b96142e9a269035bdd0714c4",
"max": 1.0,
"max": 1,
"min": 0.3,
"orientation": "horizontal",
"readout": true,
@@ -9483,7 +9483,7 @@
"disabled": false,
"layout": "IPY_MODEL_995b326fefa942da94ce18e92254860e",
"max": 0.3,
"min": 0.0,
"min": 0,
"orientation": "horizontal",
"readout": true,
"readout_format": ".0%",