From 3212dc19ee4a2658c8edfa0af29470d6bfeb7bd9 Mon Sep 17 00:00:00 2001 From: Ben Stull Date: Mon, 25 May 2026 11:52:41 -0700 Subject: [PATCH] Capture OHM cleanup script and Claude dev config scripts/cleanup-open-human-model.sh is the one-off used on 2026-05-25 to hard-delete the exploratory open-human-model RFC from wiggleverse/meta, reserving the RFC #1 slot for the eventual `human` RFC. Kept in-tree as the audit artifact for that removal. .claude/launch.json captures the frontend dev-server invocation (port 5180, --strictPort) so contributors and tooling can launch the same way. .gitignore now excludes .claude/settings.local.json, which is per-machine permissions and not appropriate to share. Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude/launch.json | 12 +++++++++ .gitignore | 3 +++ scripts/cleanup-open-human-model.sh | 40 +++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 .claude/launch.json create mode 100644 scripts/cleanup-open-human-model.sh diff --git a/.claude/launch.json b/.claude/launch.json new file mode 100644 index 0000000..e10b1b1 --- /dev/null +++ b/.claude/launch.json @@ -0,0 +1,12 @@ +{ + "version": "0.0.1", + "configurations": [ + { + "name": "frontend", + "runtimeExecutable": "npm", + "runtimeArgs": ["run", "dev", "--", "--port", "5180", "--strictPort"], + "cwd": "frontend", + "port": 5180 + } + ] +} diff --git a/.gitignore b/.gitignore index 5a047fd..34f5bd1 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ data/ .DS_Store .idea/ .vscode/ + +# Claude Code (per-machine settings only; shared config under .claude/ is committed) +.claude/settings.local.json diff --git a/scripts/cleanup-open-human-model.sh b/scripts/cleanup-open-human-model.sh new file mode 100644 index 0000000..74064f3 --- /dev/null +++ b/scripts/cleanup-open-human-model.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +# One-off: hard-delete the exploratory `open-human-model` RFC from +# wiggleverse/meta so the slot for RFC #1 is reserved for `human`. +# Usage: GITEA_TOKEN=xxx bash scripts/cleanup-open-human-model.sh +set -euo pipefail + +: "${GITEA_TOKEN:?Set GITEA_TOKEN to a Gitea token with write:repository on wiggleverse/meta}" + +BASE="https://git.wiggleverse.org/api/v1/repos/wiggleverse/meta" +gcurl() { + curl -sS -H "Authorization: token ${GITEA_TOKEN}" -H "Content-Type: application/json" "$@" +} + +echo "==> 1. Close PR #2 (Claim ownership)" +gcurl -X PATCH "${BASE}/pulls/2" -d '{"state":"closed"}' \ + | python3 -m json.tool | grep -E '"state"|"number"' || true + +echo +echo "==> 2. Delete branches" +for b in propose/open-human-model claim/open-human-model edit-open-human-model-1c5ba4; do + code=$(gcurl -X DELETE -o /dev/null -w "%{http_code}" "${BASE}/branches/${b}") + echo " ${b} -> HTTP ${code}" +done + +echo +echo "==> 3. Delete rfcs/open-human-model.md from main" +gcurl -X DELETE "${BASE}/contents/rfcs/open-human-model.md" -d '{ + "sha": "ba219763f9df7e3a5cbe3ae9e9f51485781abc1f", + "branch": "main", + "message": "Remove exploratory open-human-model RFC; reserve RFC #1 for human" +}' | python3 -m json.tool | grep -E '"sha"|"message"|"name"' || true + +echo +echo "==> 4. Verify" +echo " -- remaining rfcs/ --" +gcurl "${BASE}/contents/rfcs?ref=main" \ + | python3 -c "import sys, json; [print(' ', f['name']) for f in json.load(sys.stdin)]" +echo " -- remaining branches --" +gcurl "${BASE}/branches?limit=50" \ + | python3 -c "import sys, json; [print(' ', b['name']) for b in json.load(sys.stdin)]"