diff --git a/ai-mcp-pmm-controller b/ai-mcp-pmm-controller index 3e3f55f..cb92278 160000 --- a/ai-mcp-pmm-controller +++ b/ai-mcp-pmm-controller @@ -1 +1 @@ -Subproject commit 3e3f55fe79e3740b318ce7e6fe21e938c93fa723 +Subproject commit cb92278affeb2958924355ec018fefc757d29058 diff --git a/docs/00-meta/SUBMODULE_HYGIENE.md b/docs/00-meta/SUBMODULE_HYGIENE.md index 7b8d338..9b1cd8e 100644 --- a/docs/00-meta/SUBMODULE_HYGIENE.md +++ b/docs/00-meta/SUBMODULE_HYGIENE.md @@ -31,7 +31,7 @@ Stricter than `git status -sb` (fails on any porcelain output). Use after large ### Surgical artifact cleanup (generated files only) -Some submodules historically tracked **build output** (TypeScript `.js` next to `.ts` under `packages/*/src`, or Foundry `artifacts/`). That noise is removed with **gitignore + `git rm --cached`**, not by discarding real source edits. +Some submodules historically tracked **build output** (TypeScript `.js` next to `.ts` under `packages/*/src`, Foundry `artifacts/`, or root `metamask-integration/dist/` from `tsc`). That noise is removed with **gitignore + `git rm --cached`**, not by discarding real source edits. - Repeatable helper (idempotent): `bash scripts/maintenance/surgical-clean-submodule-artifacts.sh [--dry-run]` - After it reports changes, **commit inside the submodule**, then bump the **parent** submodule pointer. diff --git a/metamask-integration b/metamask-integration index 2b26a31..c55eedf 160000 --- a/metamask-integration +++ b/metamask-integration @@ -1 +1 @@ -Subproject commit 2b26a315ff695a9bc21211fb47d881bc083fd488 +Subproject commit c55eedf3f15b988f1a5b82d5e3a6ff5d9deb75b7 diff --git a/scripts/maintenance/surgical-clean-submodule-artifacts.sh b/scripts/maintenance/surgical-clean-submodule-artifacts.sh index dc32404..c4f886f 100755 --- a/scripts/maintenance/surgical-clean-submodule-artifacts.sh +++ b/scripts/maintenance/surgical-clean-submodule-artifacts.sh @@ -3,8 +3,9 @@ # Does not discard intentional source edits (.ts, .go, .md WIP stays dirty until you commit/stash). # # Applies: -# the-order — gitignore + untrack tsc emit under packages/*/src (outDir is dist/) -# smom-dbis-138 — gitignore + untrack Foundry artifacts/ +# the-order — gitignore + untrack tsc emit under packages/*/src (outDir is dist/) +# smom-dbis-138 — gitignore + untrack Foundry artifacts/ +# metamask-integration — root .gitignore dist/ + git rm --cached dist/ (tsc outDir) # # Idempotent: safe to re-run after commits already landed (no-op if nothing tracked). # @@ -74,12 +75,34 @@ clean_smom() { fi } +clean_metamask_integration() { + local sub="$ROOT/metamask-integration" + [[ -d "$sub/.git" ]] || return 0 + log "metamask-integration: ensure root .gitignore has dist/" + if ! $DRY && [[ -f "$sub/.gitignore" ]] && ! grep -qE '^dist/?$' "$sub/.gitignore" 2>/dev/null; then + log " WARN: add dist/ to metamask-integration/.gitignore (tsc outDir)" + fi + local n + n=$(git -C "$sub" ls-files 2>/dev/null | grep -c '^dist/' || true) + if [[ "${n:-0}" -eq 0 ]]; then + log "metamask-integration: no tracked dist/ (OK)" + return 0 + fi + if $DRY; then + log "metamask-integration: would git rm -r --cached dist/ ($n files)" + return 0 + fi + log "metamask-integration: git rm -r --cached dist/ ($n files)" + git -C "$sub" rm -r -f --cached dist/ 2>/dev/null || true +} + if ! grep -q '^artifacts/' "$ROOT/smom-dbis-138/.gitignore" 2>/dev/null; then log "WARN: smom-dbis-138/.gitignore should contain 'artifacts/' (add before next commit)" fi clean_the_order clean_smom +clean_metamask_integration log "Done. Run: bash scripts/verify/submodules-clean.sh" log "Other submodules with only source/config edits need manual commit or stash (not touched here)."