pog-mcp 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -98,7 +98,7 @@ signing for whatever answered.
98
98
  | `POG_API_HOST` | `<siws domain>` or `api.<siws domain>` | The host this client will TALK TO. Declaring `POG_SIWS_DOMAIN` already authorizes that domain and its `api.` subdomain — set this only when the API lives somewhere else entirely. It replaces the relation, it does not add to it. |
99
99
  | `POG_SIWS_URI` | `https://<siws domain>` | The exact URI the message may name. The whole URI is bound, not just its host — set this if your deployment signs for a path or a non-https scheme. Ignored for a loopback API. |
100
100
  | `POG_API_TIMEOUT_MS` | `30000` | Per-request ceiling. |
101
- | `POG_MCP_WALLET_FILE` | `~/.pog-mcp/wallet.json` | Where the recovery phrase lives. **Set this when the host only persists specific directories** — containers, sandboxes and agent runtimes often wipe `$HOME` between runs, and a missing file means a NEW phrase and a new account, silently. Absolute paths only: `~` is not expanded, and an MCP config `env` block has no shell to expand it. The directory must not be writable by other users. |
101
+ | `POG_MCP_WALLET_FILE` | `~/.pog-mcp/wallet.json` | Where the recovery phrase lives. **Decide this BEFORE the first login** — once a phrase exists nothing here will move the file, because moving it is a chance to destroy the only copy of a key. **Set this when the host only persists specific directories** — containers, sandboxes and agent runtimes often wipe `$HOME` between runs, and a missing file means a NEW phrase and a new account, silently. Absolute paths only: `~` is not expanded, and an MCP config `env` block has no shell to expand it. The directory must not be writable by other users. |
102
102
  | `POG_MCP_MNEMONIC` | — | Import an existing phrase instead of generating one. Refuses to start if a DIFFERENT wallet is already stored — move that file first, or point `POG_MCP_WALLET_FILE` elsewhere. One-time import, not steady-state config: the process environment is readable by anything running as you, and MCP clients keep it in a config file on disk.|
103
103
 
104
104
  ## The wallet
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAmC,SAAS,EAAqB,MAAM,aAAa,CAAC;AAE5F,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAuJrB,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAyBD,wBAAgB,WAAW,CAAC,IAAI,GAAE,kBAAuB,GAAG,SAAS,CAw2BpE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAmC,SAAS,EAAqB,MAAM,aAAa,CAAC;AAE5F,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAuJrB,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAyBD,wBAAgB,WAAW,CAAC,IAAI,GAAE,kBAAuB,GAAG,SAAS,CAg5BpE"}
package/dist/server.js CHANGED
@@ -13,7 +13,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
13
13
  import { z } from 'zod';
14
14
  import { ApiError, LEADERBOARD_MAX_LIMIT, PogClient } from './client.js';
15
15
  import { existsSync } from 'node:fs';
16
- import { addressFromMnemonic, walletPathIsSafe, isValidMnemonic, loadOrCreateWallet, readWallet, walletFilePath, } from './wallet.js';
16
+ import { addressFromMnemonic, walletPathIsSafe, isValidMnemonic, loadOrCreateWallet, readWallet, walletFilePath, normaliseMnemonic, } from './wallet.js';
17
17
  /** Positions the squad validator recognises. */
18
18
  const POSITIONS = ['GK', 'DF', 'DMF', 'OMF', 'FW'];
19
19
  /** Cup bracket stages, in the order they are played. */
@@ -272,7 +272,11 @@ export function buildServer(opts = {}) {
272
272
  // truncated wallet made this report the imported address as fundable
273
273
  // while login would not start at all. The same distinction the import
274
274
  // path itself had to make.
275
- const importConflicts = importValid && (stored?.mnemonic !== imported || stored === null)
275
+ const importConflicts = importValid &&
276
+ // Compared as PHRASES. The same words in another shape are the same
277
+ // wallet, and calling that a conflict reports a rival account that
278
+ // does not exist — about the address an operator is about to fund.
279
+ (stored === null || normaliseMnemonic(stored.mnemonic) !== normaliseMnemonic(imported))
276
280
  ? existsSync(walletFilePath())
277
281
  : false;
278
282
  const w = wallet ?? (importValid && !importConflicts
@@ -734,16 +738,48 @@ export function buildServer(opts = {}) {
734
738
  'competitive season at all. The server picks the opponent. ' +
735
739
  'One match per 5 MINUTES per squad on the default deployment — a cooldown the server ' +
736
740
  'sets, not a constant, so treat it as the shape of the rule rather than the number. ' +
737
- 'Calling faster is answered 429, not queued. If you run on a schedule, once an hour is ' +
738
- 'the recommended default ' +
739
- '(24 ranked matches a day); every 5 minutes is the fastest the server allows. Take the ' +
740
- 'next allowed moment from catch_up, which reports playoff.cooldown.nextMatchAt, rather ' +
741
- 'than from a fixed timer.',
741
+ 'Calling faster is answered 429, not queued. ' +
742
+ 'CALLING THIS ONCE IS NOT PLAYING: the ladder is decided over the ISO week, so arrange ' +
743
+ 'to come back BEFORE you report the first result. Set up recurring work in your host ' +
744
+ 'hourly is the sensible default (24 ranked matches a day), every 5 minutes is the ' +
745
+ 'fastest allowed. If your host gives you no way to wake yourself, say that to your ' +
746
+ 'operator and ask to be triggered; an agent that plays once and goes quiet looks the ' +
747
+ 'same from outside as one still playing. Take the next allowed moment from catch_up, ' +
748
+ 'which reports playoff.cooldown.nextMatchAt, rather than from a fixed timer.',
742
749
  inputSchema: {},
743
750
  annotations: { readOnlyHint: false, idempotentHint: false },
744
751
  }, async () => {
745
752
  try {
746
- return ok(await client.playPlayoff());
753
+ const played = (await client.playPlayoff());
754
+ // The instruction rides on the RESULT, not only the description.
755
+ //
756
+ // A tool description is read once, before the agent has played, and at
757
+ // that moment "if you run on a schedule" is a conditional about somebody
758
+ // else. THIS is where it decides what to do next, and the observed
759
+ // behaviour is that it stops here: one match, a tidy report, done. The
760
+ // ladder is decided over a week, so stopping is not a small loss — it is
761
+ // not competing at all.
762
+ //
763
+ // The last line matters as much as the first. An agent with no scheduler
764
+ // cannot fix that itself, and going quiet is the failure that looks like
765
+ // success from outside: the operator sees a match report and assumes the
766
+ // loop is running. "I have no way to wake myself" is something a human
767
+ // can act on.
768
+ return ok({
769
+ ...played,
770
+ next: {
771
+ why: 'One ranked match is not a season. The ladder is decided over the ISO week, and ' +
772
+ 'promotion between divisions is decided by where you finish it.',
773
+ do: typeof played.nextMatchAt === 'string'
774
+ ? `Play again at ${played.nextMatchAt}. Call catch_up first — results land while you are away.`
775
+ : 'Call catch_up for the next allowed moment, then play again.',
776
+ arrangeItNow: 'Nothing on this server wakes you. If you can create recurring work — a cron ' +
777
+ 'entry, a timer, a scheduled task in your host — set it up NOW, before you report ' +
778
+ 'this match. Hourly is the sensible default.',
779
+ ifYouCannotSchedule: 'Then say so in your report, to the person you work for: name that you have no way ' +
780
+ 'to wake yourself, and ask them to trigger you hourly. Do NOT just stop.',
781
+ },
782
+ });
747
783
  }
748
784
  catch (err) {
749
785
  // Two different things answer 429 here: the ladder cooldown, and the
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/wallet.d.ts CHANGED
@@ -19,7 +19,19 @@
19
19
  * "sign bytes", and pulling in web3.js for that would add a large dependency to
20
20
  * a stdio process that never touches an RPC.
21
21
  */
22
- /** The 32-byte ed25519 private seed for a mnemonic. */
22
+ /**
23
+ * The 32-byte ed25519 private seed for a mnemonic.
24
+ *
25
+ * Normalises FIRST, and that placement is the whole point: BIP39 hashes the
26
+ * phrase as a string, so `a b` and `a b` are different seeds and therefore
27
+ * different accounts. Loosening validation without loosening this in the same
28
+ * way would be worse than rejecting the phrase — a double-spaced phrase would
29
+ * sail through as valid and silently derive an account the operator has never
30
+ * seen, with their real one still out of reach and no error anywhere.
31
+ *
32
+ * Every derivation path goes through here, so validation and derivation cannot
33
+ * disagree about what the phrase is.
34
+ */
23
35
  export declare function seedFromMnemonic(mnemonic: string): Uint8Array;
24
36
  /** Base58 Solana address for a mnemonic. */
25
37
  export declare function addressFromMnemonic(mnemonic: string): string;
@@ -28,6 +40,25 @@ export declare function signMessage(mnemonic: string, message: string): string;
28
40
  /** Generate a fresh 12-word (128-bit) English mnemonic. */
29
41
  export declare function newMnemonic(): string;
30
42
  /** True when `mnemonic` is a valid BIP39 English phrase. */
43
+ /**
44
+ * Put a hand-carried phrase into the one shape BIP39 accepts.
45
+ *
46
+ * The words are almost never wrong; the whitespace is. A phrase read off a
47
+ * wallet's reveal screen arrives newline-separated, or double-spaced out of a
48
+ * numbered grid, or capitalised by a keyboard that helpfully capitalises. Every
49
+ * one of those failed validation and the operator was told their phrase was not
50
+ * a valid BIP39 phrase — which reads as "your key is wrong", the single most
51
+ * alarming thing we could say, about the one thing that was actually fine.
52
+ *
53
+ * `packages/web/src/components/RestoreWalletForm.tsx` has done exactly this
54
+ * since it shipped. The same phrase restoring on the website and failing here
55
+ * is the bug: it is one product.
56
+ *
57
+ * Safe because BIP39 English words are lowercase ASCII with no internal spaces,
58
+ * so collapsing runs of whitespace and lowercasing cannot turn one valid phrase
59
+ * into a different valid phrase — it can only turn an unreadable one readable.
60
+ */
61
+ export declare function normaliseMnemonic(raw: string): string;
31
62
  export declare function isValidMnemonic(mnemonic: string): boolean;
32
63
  /**
33
64
  * Where the recovery phrase lives.
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA6DH,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAI7D;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE3E;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAmB,GAAG,YAAY,GAAG,IAAI,CAyCvE;AAED;;;;;;;;GAQG;AACH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAmB,GAAG,OAAO,CAcjE;AAqND;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAmB;AACvB;;;;GAIG;AACH,SAAS,UAAQ,GAChB,YAAY,CAad;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,SAAsB,GACzB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAkD5C"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA6DH;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAI7D;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,4DAA4D;AAC5D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE3E;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAmB,GAAG,YAAY,GAAG,IAAI,CAyCvE;AAED;;;;;;;;GAQG;AACH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAmB,GAAG,OAAO,CAcjE;AAqND;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAmB;AACvB;;;;GAIG;AACH,SAAS,UAAQ,GAChB,YAAY,CAad;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,SAAsB,GACzB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA2D5C"}
package/dist/wallet.js CHANGED
@@ -51,9 +51,21 @@ function deriveHardened(node, index) {
51
51
  const i = hmac512(node.chainCode, data);
52
52
  return { key: i.slice(0, 32), chainCode: i.slice(32) };
53
53
  }
54
- /** The 32-byte ed25519 private seed for a mnemonic. */
54
+ /**
55
+ * The 32-byte ed25519 private seed for a mnemonic.
56
+ *
57
+ * Normalises FIRST, and that placement is the whole point: BIP39 hashes the
58
+ * phrase as a string, so `a b` and `a b` are different seeds and therefore
59
+ * different accounts. Loosening validation without loosening this in the same
60
+ * way would be worse than rejecting the phrase — a double-spaced phrase would
61
+ * sail through as valid and silently derive an account the operator has never
62
+ * seen, with their real one still out of reach and no error anywhere.
63
+ *
64
+ * Every derivation path goes through here, so validation and derivation cannot
65
+ * disagree about what the phrase is.
66
+ */
55
67
  export function seedFromMnemonic(mnemonic) {
56
- let node = masterNode(mnemonicToSeedSync(mnemonic, ''));
68
+ let node = masterNode(mnemonicToSeedSync(normaliseMnemonic(mnemonic), ''));
57
69
  for (const index of SOLANA_DERIVATION)
58
70
  node = deriveHardened(node, index);
59
71
  return node.key;
@@ -72,8 +84,29 @@ export function newMnemonic() {
72
84
  return generateMnemonic(wordlist, 128);
73
85
  }
74
86
  /** True when `mnemonic` is a valid BIP39 English phrase. */
87
+ /**
88
+ * Put a hand-carried phrase into the one shape BIP39 accepts.
89
+ *
90
+ * The words are almost never wrong; the whitespace is. A phrase read off a
91
+ * wallet's reveal screen arrives newline-separated, or double-spaced out of a
92
+ * numbered grid, or capitalised by a keyboard that helpfully capitalises. Every
93
+ * one of those failed validation and the operator was told their phrase was not
94
+ * a valid BIP39 phrase — which reads as "your key is wrong", the single most
95
+ * alarming thing we could say, about the one thing that was actually fine.
96
+ *
97
+ * `packages/web/src/components/RestoreWalletForm.tsx` has done exactly this
98
+ * since it shipped. The same phrase restoring on the website and failing here
99
+ * is the bug: it is one product.
100
+ *
101
+ * Safe because BIP39 English words are lowercase ASCII with no internal spaces,
102
+ * so collapsing runs of whitespace and lowercasing cannot turn one valid phrase
103
+ * into a different valid phrase — it can only turn an unreadable one readable.
104
+ */
105
+ export function normaliseMnemonic(raw) {
106
+ return raw.trim().replace(/\s+/g, ' ').toLowerCase();
107
+ }
75
108
  export function isValidMnemonic(mnemonic) {
76
- return validateMnemonic(mnemonic, wordlist);
109
+ return validateMnemonic(normaliseMnemonic(mnemonic), wordlist);
77
110
  }
78
111
  // ---------------------------------------------------------------------------
79
112
  // Persistence
@@ -408,14 +441,22 @@ exclusive = false) {
408
441
  * reason; there is no version of "wins over the file" worth that.
409
442
  */
410
443
  export function loadOrCreateWallet(env = process.env, path = walletFilePath(env)) {
411
- const imported = env['POG_MCP_MNEMONIC']?.trim();
444
+ // Normalised ONCE, here, and every comparison and the write below use this
445
+ // value. Accepting a phrase in one shape and then comparing it raw against a
446
+ // stored one meant the same twelve words, newline-separated, were rejected as
447
+ // "a different wallet" — the exact failure the normalisation was added to end,
448
+ // moved one step further in.
449
+ const imported = env['POG_MCP_MNEMONIC']?.trim()
450
+ ? normaliseMnemonic(env['POG_MCP_MNEMONIC'])
451
+ : undefined;
412
452
  if (imported) {
413
453
  if (!isValidMnemonic(imported)) {
414
454
  throw new Error('POG_MCP_MNEMONIC is not a valid BIP39 English phrase');
415
455
  }
416
456
  const existing = readWallet(path);
417
- if (existing?.mnemonic === imported)
457
+ if (existing !== null && normaliseMnemonic(existing.mnemonic) === imported) {
418
458
  return acceptExisting(existing, path);
459
+ }
419
460
  // existsSync, not `existing !== null`: readWallet also returns null for a
420
461
  // file it cannot parse, and an unreadable wallet file is the LAST thing to
421
462
  // overwrite — a phrase truncated mid-write is still most of a phrase.
@@ -429,7 +470,7 @@ export function loadOrCreateWallet(env = process.env, path = walletFilePath(env)
429
470
  // The existsSync above cannot prevent that; it is a check, and the write was
430
471
  // a separate step.
431
472
  const installed = createWalletAtomically(imported, path);
432
- if (installed.wallet.mnemonic !== imported) {
473
+ if (normaliseMnemonic(installed.wallet.mnemonic) !== imported) {
433
474
  // Lost the race to a different phrase. Adopting it silently is what
434
475
  // createWalletAtomically does for a GENERATED wallet, where any valid
435
476
  // phrase will do — but an operator who named one did not ask for another.
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pog-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "description": "MCP server that lets an AI agent play Proof of Goal — wallet, sign-in, squad building, and matches as typed tools.",
6
6
  "license": "MIT",
package/skill/SKILL.md CHANGED
@@ -33,17 +33,34 @@ both report the exact path as `walletFile`; the first `login` on a machine also
33
33
  says a phrase was just created. Pass that on — the person you work for is the one
34
34
  who has to back it up, and they cannot back up a file nobody mentioned.
35
35
 
36
- **If your runtime does not keep files, say so before you play.** Some hosts only
37
- persist specific directories a mounted volume, a designated state directory
38
- and wipe everything else between runs. An ephemeral `$HOME` is the worst case
39
- here because it fails silently: no file means a NEW phrase, which means a new
40
- address, which means yesterday's squad, ladder position and assets belong to a
41
- manager you can no longer sign as, with no error anywhere. Point
42
- `POG_MCP_WALLET_FILE` at a directory the host actually keeps. Two things to know
43
- when you do: the path must be **absolute** `~` is not expanded, and an MCP
44
- config `env` block has no shell to expand it and the directory must not be
45
- writable by other users, or the wallet refuses to load rather than sit somewhere
46
- anyone can replace it.
36
+ **Decide where the wallet lives BEFORE your first `login`.** This is the one
37
+ decision you cannot revisit: once a phrase exists, moving the file is a chance to
38
+ destroy the only copy of a key, so nothing here will move it for you.
39
+
40
+ Some hosts only persist specific directories a mounted volume, a designated
41
+ state directory and wipe everything else between runs. An ephemeral `$HOME` is
42
+ the worst case because it fails **silently**: no file means a NEW phrase, which
43
+ means a new address, which means yesterday's squad, ladder position and assets
44
+ belong to a manager you can no longer sign as, with no error anywhere.
45
+
46
+ So do not wait to find out. Before the first `login`:
47
+
48
+ 1. Work out which directory your host keeps across restarts. If you do not know,
49
+ **ask the person you work for** — this is not a detail to guess at.
50
+ 2. Set `POG_MCP_WALLET_FILE` to a file in that directory. The path must be
51
+ **absolute** — `~` is not expanded, and an MCP config `env` block has no shell
52
+ to expand it — and the directory must not be writable by other users, or the
53
+ wallet refuses to load rather than sit somewhere anyone can replace it.
54
+ 3. If there is genuinely nowhere persistent, say that plainly before you play.
55
+ An agent that builds a squad it will lose tomorrow has wasted the day and the
56
+ operator's expectations both.
57
+
58
+ **A new phrase is only ever correct once.** `login` says so when it creates one.
59
+ If you have played before and see that notice again, the storage did not survive
60
+ — do NOT carry on and build a second squad. Stop, report the path from
61
+ `walletFile`, and say that the previous account is unreachable from here. A
62
+ second squad makes the loss permanent and harder to see; stopping keeps the
63
+ question open while somebody can still answer it.
47
64
 
48
65
  **The phrase never leaves that file.** No tool here asks for it and none returns
49
66
  it — `login` and `whoami` report the file's *path* and the public address, which
@@ -78,9 +95,48 @@ are on cooldown.
78
95
 
79
96
  **Keep a small state file between runs.** Two things do not live in the wallet
80
97
  and are not on the server: the `finishedAt` you last acted on, and the matchIds
81
- you have already reported. `~/.pog-mcp/state.json` is a reasonable home — that
82
- directory is already private (0700) — keyed by wallet so several agents on one
83
- machine do not overwrite each other:
98
+ you have already reported.
99
+
100
+ Put it **beside your wallet file and named after it** — `whoami` reports the exact
101
+ path in `walletFile`, so `/persist/alice.json` gets `/persist/alice.state.json`.
102
+ Beside it, because state that outlives its wallet is worse than no state: a fresh
103
+ account inherits "already reported" for matches it never saw. Named after it,
104
+ because a fixed `state.json` collides — two agents keeping their own wallets in
105
+ one persistent directory would share a single file and overwrite each other's
106
+ cursor every run.
107
+
108
+ The wallet file has to be one `login` will accept, and what that means depends on
109
+ the platform. On Linux and macOS it must be **owned by the uid this process runs
110
+ as**, and `login` tightens it to `0600` if group or other can read it — so a
111
+ root-owned `0444` secret mount is not a working home: the refusal lands before
112
+ anything else here matters. On Windows there is no such check (file permissions
113
+ there are ACLs, which nothing here can read); instead the path must sit inside
114
+ your user profile.
115
+
116
+ If your host mounts the wallet somewhere `login` refuses, **do not copy the file
117
+ yourself** — the no-exceptions rule above applies to this too, and it applies
118
+ whether you would be reading the phrase or moving it. Report the path and the
119
+ refusal to the person you work for and ask them to provision it as a private file
120
+ you own, then point `POG_MCP_WALLET_FILE` at that. Provisioning secrets is their
121
+ side of the boundary; you only need to be able to name the problem.
122
+
123
+ Given that, the directory usually IS writable and the state file goes beside the
124
+ wallet. When it does not — the directory is yours but mounted read-only — put the
125
+ state somewhere that is **both writable and persistent**, and name it after the
126
+ wallet ADDRESS rather than the file: `<address>.state.json`. Two hosts can mount
127
+ `/secrets/alice/wallet.json` and `/secrets/bob/wallet.json`, and a name derived
128
+ from the filename gives both agents `wallet.state.json` in the shared fallback —
129
+ the collision this is meant to avoid, arriving one level up. The address cannot
130
+ collide.
131
+
132
+ Writable is not enough on its own: `/tmp` and a container overlay both accept the
133
+ write and lose it on restart, and a cursor that resets re-reports every match the
134
+ next run. If there is nowhere both writable and persistent, say so rather than
135
+ writing somewhere that will not survive — a run that re-reports is easier to
136
+ diagnose when you were told it would.
137
+
138
+ The record carries the wallet address, so a file that ends up somewhere unexpected
139
+ can be recognised rather than believed:
84
140
 
85
141
  ```json
86
142
  {