Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# BlueMinimap

Registered in the owner's ops process (`~/Code/ops`). Area: `minecraft-plugins` (lead: Minecraft: Plugins Lead). Added 2026-11-09 from the ops starter kit; the repo itself dates from 2026-11-07 (as BlueMapHUD).

**Before doing anything here, run `~/Code/ops/scripts/repo-context`.** It shows who leads this repo, whether that session is active, what's pending, and which briefs apply. If it says the repo has no active owner, tell the director ("Helm") before starting work.

Then follow `~/Code/CLAUDE.md` (the standards) and `~/Code/ops/README.md` (how sessions work). For GitHub status checks use `~/Code/ops/scripts/gh-status`, never polling.

This repo's own decisions go in `docs/decisions.md`, dated.
25 changes: 25 additions & 0 deletions docs/test-audit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Test audit

Kept by this repo's owning session (Minecraft: Plugins Lead), per `~/Code/CLAUDE.md`, "Test self-audits". Newest first.

## 2026-11-09: first full audit (at 0.2.0)

The README's Testing section already lists what the live suite covers, check by check, so this audit starts from the promises that matter most for children's safety and privacy and for failing closed, then confirms the rest map to the Testing list.

| Promise | Covered by |
| --- | --- |
| **Shares reach only players in the sender's world group who can see the sender, have `blueminimap.share.receive`, and haven't turned shares off** | live `suite.js` share group: one person, world group with the Nether, another world excluded, shares off, receive and send permissions, players hidden from the sender |
| **A rules plugin (HouseRules) can remove recipients or cancel a share** | live share group (stand-in rules plugin); live `houserules.js` with the real HouseRules 0.2.0: shares stay inside circles, a no-circle sender in a circle-only world sends nothing |
| **Fail closed with an older HouseRules: sharing off, admin told** | live `houserules.js` with the real HouseRules 0.1.1; unit `HouseRulesGuardTest` (including an unreadable version) |
| **A server's "no" under an old permission name still stops sharing** | live share group "An old bluemaphud.share.receive/send false still stops…"; unit `PermsTest` (deny wins, admin grant wins, no noise when the old name changed nothing) |
| Sharing limits: cooldown, console log, `share.enabled: false` | live share group |
| Other players hidden by vanish, `hidePlayer`, spectator, invisibility, BlueMap, radius, other dimensions, `blueminimap.seeplayers` | live players group |
| Players keep their HUD settings across the rename | unit `PlayerSettingsTest` (settings saved under the original keys still load) |
| Upgrade from BlueMapHUD: folder copied, never overwritten | unit `MigrationTest` |
| Everything else in the README (map accuracy, icons, clock, themes, one boss bar, updates, pack handling, life cycle, bad data, other setups) | the README's Testing list, check by check, in `test/live/suite.js`, `packurl.js`, `storage.js` and `backoff.js` |

**Gaps added this audit:** none new. The old-name deny checks, the HouseRules joint test and the guard tests were added with 0.2.0 earlier the same day, and all passed on Paper 26.1.2, 26.2 and 26.3.

**Skipped, with reasons:**
- Pressing the buttons in the `/hud share` dialog: the bot's protocol library can't click a dialog button. The buttons call the same code `/hud share <names>` and `/hud share everyone` test.
- How it looks in a real game client: the README's status line says so; it's on the real-client list.
Loading