instar 1.3.1348 → 1.3.1349

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.
Files changed (67) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +15 -2
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/LifelineIngressSecret.d.ts +83 -0
  5. package/dist/core/LifelineIngressSecret.d.ts.map +1 -0
  6. package/dist/core/LifelineIngressSecret.js +203 -0
  7. package/dist/core/LifelineIngressSecret.js.map +1 -0
  8. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  9. package/dist/core/PostUpdateMigrator.js +15 -0
  10. package/dist/core/PostUpdateMigrator.js.map +1 -1
  11. package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
  12. package/dist/core/WriteDomainRegistry.js +17 -0
  13. package/dist/core/WriteDomainRegistry.js.map +1 -1
  14. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  15. package/dist/core/devGatedFeatures.js +6 -0
  16. package/dist/core/devGatedFeatures.js.map +1 -1
  17. package/dist/core/keyMaterialPaths.d.ts.map +1 -1
  18. package/dist/core/keyMaterialPaths.js +16 -0
  19. package/dist/core/keyMaterialPaths.js.map +1 -1
  20. package/dist/core/types.d.ts +23 -0
  21. package/dist/core/types.d.ts.map +1 -1
  22. package/dist/core/types.js.map +1 -1
  23. package/dist/core/version-skew.d.ts +4 -2
  24. package/dist/core/version-skew.d.ts.map +1 -1
  25. package/dist/core/version-skew.js +3 -1
  26. package/dist/core/version-skew.js.map +1 -1
  27. package/dist/data/standards-guard-index.json +1 -1
  28. package/dist/data/standards-guard-index.meta.json +2 -2
  29. package/dist/data/standards-registry.meta.json +1 -1
  30. package/dist/lifeline/TelegramLifeline.d.ts +49 -0
  31. package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
  32. package/dist/lifeline/TelegramLifeline.js +202 -17
  33. package/dist/lifeline/TelegramLifeline.js.map +1 -1
  34. package/dist/lifeline/forwardErrors.d.ts +11 -0
  35. package/dist/lifeline/forwardErrors.d.ts.map +1 -1
  36. package/dist/lifeline/forwardErrors.js +15 -1
  37. package/dist/lifeline/forwardErrors.js.map +1 -1
  38. package/dist/monitoring/guardManifest.d.ts.map +1 -1
  39. package/dist/monitoring/guardManifest.js +24 -0
  40. package/dist/monitoring/guardManifest.js.map +1 -1
  41. package/dist/scaffold/templates.d.ts.map +1 -1
  42. package/dist/scaffold/templates.js +4 -0
  43. package/dist/scaffold/templates.js.map +1 -1
  44. package/dist/server/LifelineIngressGuard.d.ts +326 -0
  45. package/dist/server/LifelineIngressGuard.d.ts.map +1 -0
  46. package/dist/server/LifelineIngressGuard.js +713 -0
  47. package/dist/server/LifelineIngressGuard.js.map +1 -0
  48. package/dist/server/TelegramCallbackDedupe.d.ts +58 -0
  49. package/dist/server/TelegramCallbackDedupe.d.ts.map +1 -0
  50. package/dist/server/TelegramCallbackDedupe.js +151 -0
  51. package/dist/server/TelegramCallbackDedupe.js.map +1 -0
  52. package/dist/server/routes.d.ts.map +1 -1
  53. package/dist/server/routes.js +218 -10
  54. package/dist/server/routes.js.map +1 -1
  55. package/dist/testing/selfActionRegistry.d.ts.map +1 -1
  56. package/dist/testing/selfActionRegistry.js +98 -0
  57. package/dist/testing/selfActionRegistry.js.map +1 -1
  58. package/package.json +1 -1
  59. package/src/data/builtin-manifest.json +64 -64
  60. package/src/data/standards-guard-index.json +1 -1
  61. package/src/data/standards-guard-index.meta.json +2 -2
  62. package/src/data/standards-registry.meta.json +1 -1
  63. package/src/data/state-coherence-registry.json +19 -0
  64. package/src/scaffold/templates.ts +4 -0
  65. package/upgrades/1.3.1349.md +59 -0
  66. package/upgrades/side-effects/telegram-internal-route-lifeline-secret.md +187 -0
  67. package/upgrades/1.3.1348.md +0 -24
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Lifeline ingress secret — the proof that a request on the two internal
3
+ * Telegram routes came from the lifeline (or the server itself), not from an
4
+ * agent session holding the ordinary Bearer token.
5
+ *
6
+ * Spec: docs/specs/telegram-internal-route-lifeline-secret.md
7
+ *
8
+ * The secret is 32 random bytes, hex-encoded, in a 0600 file under the agent
9
+ * state dir. Whichever of the lifeline / server starts first creates it; the
10
+ * other reads it. It lives in the FILE and in a module-private variable of the
11
+ * two processes — it is never written to `process.env`, so a session spawned
12
+ * by the server (which inherits the server's environment) cannot receive it
13
+ * that way.
14
+ *
15
+ * Honest limit: every process here runs as one OS user. This is a cooperative
16
+ * boundary. It stops a session forging a message or a button tap with the
17
+ * token it normally holds; it does not stop a session that deliberately reads
18
+ * the file.
19
+ */
20
+ /** stateDir-relative path of the secret file (listed in KEY_MATERIAL_PATHS). */
21
+ export declare const LIFELINE_INGRESS_SECRET_RELPATH: string;
22
+ /** Request header carrying the secret (lower-case: the form Express exposes). */
23
+ export declare const LIFELINE_SECRET_HEADER = "x-instar-lifeline-secret";
24
+ /**
25
+ * Request header naming a caller that is NOT the lifeline. The server's own
26
+ * re-injection call sets it to `server-self` so its (valid) requests are not
27
+ * counted as evidence that the running lifeline sends the secret.
28
+ */
29
+ export declare const LIFELINE_INGRESS_CALLER_HEADER = "x-instar-ingress-caller";
30
+ export declare const LIFELINE_INGRESS_CALLER_SERVER_SELF = "server-self";
31
+ export declare function lifelineIngressSecretPath(stateDir: string): string;
32
+ /** Read the secret without creating it. Null when absent, unreadable or malformed. */
33
+ export declare function readLifelineIngressSecret(stateDir: string): string | null;
34
+ /**
35
+ * Read-or-create the secret. Creation is atomic AND exclusive: the full value
36
+ * is written to a private temp file and then hard-linked to the final name.
37
+ * `link` fails with EEXIST when another process won the race, and a reader can
38
+ * never observe a half-written file. A file that was READ SUCCESSFULLY and is
39
+ * not a secret is replaced (rename over); the other process picks the new
40
+ * value up by re-reading. A file that could not be read is never replaced —
41
+ * this throws instead.
42
+ */
43
+ export declare function ensureLifelineIngressSecret(stateDir: string): string;
44
+ /** Constant-time comparison. Hashing first removes the length side channel. */
45
+ export declare function lifelineSecretMatches(presented: unknown, expected: string | null): boolean;
46
+ /** After a failed load, wait this long before touching the filesystem again. */
47
+ export declare const SECRET_LOAD_BACKOFF_MS = 30000;
48
+ /**
49
+ * Process-private holder. `get()` loads (and if needed creates) the secret
50
+ * once and keeps it in memory. `reload()` re-reads the file for the case where
51
+ * the other process replaced it — and keeps the last good value when the
52
+ * re-read fails, so a read fault can never turn a working check into "nobody
53
+ * can be verified". A failed first load is retried at most every 30 s.
54
+ */
55
+ export declare class LifelineIngressSecretHolder {
56
+ private readonly stateDir;
57
+ private readonly now;
58
+ private value;
59
+ private lastFailureAt;
60
+ private failures;
61
+ constructor(stateDir: string, now?: () => number);
62
+ get(): string | null;
63
+ /** Is the FILE readable as a secret right now? A read — never a create, never the cache. */
64
+ fileReadable(): boolean;
65
+ /**
66
+ * When the secret file was written (ms), or null if it cannot be read. It
67
+ * is created the first time this feature runs on a machine and only ever
68
+ * replaced when malformed, so it dates the feature's arrival on this disk
69
+ * independently of the guard's own state file.
70
+ */
71
+ fileMtimeMs(): number | null;
72
+ /** Does this process hold a secret in memory (whatever the file says now)? */
73
+ get held(): boolean;
74
+ /** Consecutive failed loads since the last success (0 = healthy). */
75
+ get failedLoads(): number;
76
+ reload(): string | null;
77
+ }
78
+ /**
79
+ * One holder per state dir per process. The server's guard and the server's
80
+ * own re-injection call share it, so they can never disagree about the value.
81
+ */
82
+ export declare function sharedLifelineIngressSecretHolder(stateDir: string): LifelineIngressSecretHolder;
83
+ //# sourceMappingURL=LifelineIngressSecret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifelineIngressSecret.d.ts","sourceRoot":"","sources":["../../src/core/LifelineIngressSecret.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,gFAAgF;AAChF,eAAO,MAAM,+BAA+B,QAAgD,CAAC;AAE7F,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AACxE,eAAO,MAAM,mCAAmC,gBAAgB,CAAC;AAIjE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAyBD,sFAAsF;AACtF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmCpE;AAED,+EAA+E;AAC/E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAK1F;AAED,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C;;;;;;GAMG;AACH,qBAAa,2BAA2B;IAK1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJnE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAK;gBAEQ,QAAQ,EAAE,MAAM,EAAmB,GAAG,GAAE,MAAM,MAAiB;IAE5F,GAAG,IAAI,MAAM,GAAG,IAAI;IAMpB,4FAA4F;IAC5F,YAAY,IAAI,OAAO;IAIvB;;;;;OAKG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAS5B,8EAA8E;IAC9E,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,qEAAqE;IACrE,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,MAAM,IAAI,MAAM,GAAG,IAAI;CAaxB;AAID;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,2BAA2B,CAQ/F"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Lifeline ingress secret — the proof that a request on the two internal
3
+ * Telegram routes came from the lifeline (or the server itself), not from an
4
+ * agent session holding the ordinary Bearer token.
5
+ *
6
+ * Spec: docs/specs/telegram-internal-route-lifeline-secret.md
7
+ *
8
+ * The secret is 32 random bytes, hex-encoded, in a 0600 file under the agent
9
+ * state dir. Whichever of the lifeline / server starts first creates it; the
10
+ * other reads it. It lives in the FILE and in a module-private variable of the
11
+ * two processes — it is never written to `process.env`, so a session spawned
12
+ * by the server (which inherits the server's environment) cannot receive it
13
+ * that way.
14
+ *
15
+ * Honest limit: every process here runs as one OS user. This is a cooperative
16
+ * boundary. It stops a session forging a message or a button tap with the
17
+ * token it normally holds; it does not stop a session that deliberately reads
18
+ * the file.
19
+ */
20
+ import crypto from 'node:crypto';
21
+ import fs from 'node:fs';
22
+ import path from 'node:path';
23
+ import { SafeFsExecutor } from './SafeFsExecutor.js';
24
+ /** stateDir-relative path of the secret file (listed in KEY_MATERIAL_PATHS). */
25
+ export const LIFELINE_INGRESS_SECRET_RELPATH = path.join('state', 'lifeline-ingress-secret');
26
+ /** Request header carrying the secret (lower-case: the form Express exposes). */
27
+ export const LIFELINE_SECRET_HEADER = 'x-instar-lifeline-secret';
28
+ /**
29
+ * Request header naming a caller that is NOT the lifeline. The server's own
30
+ * re-injection call sets it to `server-self` so its (valid) requests are not
31
+ * counted as evidence that the running lifeline sends the secret.
32
+ */
33
+ export const LIFELINE_INGRESS_CALLER_HEADER = 'x-instar-ingress-caller';
34
+ export const LIFELINE_INGRESS_CALLER_SERVER_SELF = 'server-self';
35
+ const SECRET_HEX_RE = /^[0-9a-f]{64}$/;
36
+ export function lifelineIngressSecretPath(stateDir) {
37
+ return path.join(stateDir, LIFELINE_INGRESS_SECRET_RELPATH);
38
+ }
39
+ /**
40
+ * Read the file and say WHICH of four things happened. "Could not read it"
41
+ * (EACCES, EIO, a transient fault) is deliberately distinct from "absent" and
42
+ * from "present but not a secret": only the last two may lead to a new value
43
+ * being written. A good secret must never be replaced because of a read fault.
44
+ */
45
+ function readSecretFile(stateDir) {
46
+ let raw;
47
+ try {
48
+ raw = fs.readFileSync(lifelineIngressSecretPath(stateDir), 'utf-8').trim();
49
+ }
50
+ catch (err) {
51
+ // @silent-fallback-ok — classified, not swallowed: the caller decides.
52
+ return err.code === 'ENOENT' ? { kind: 'absent' } : { kind: 'error', error: err };
53
+ }
54
+ return SECRET_HEX_RE.test(raw) ? { kind: 'ok', value: raw } : { kind: 'malformed' };
55
+ }
56
+ /** Read the secret without creating it. Null when absent, unreadable or malformed. */
57
+ export function readLifelineIngressSecret(stateDir) {
58
+ const r = readSecretFile(stateDir);
59
+ return r.kind === 'ok' ? r.value : null;
60
+ }
61
+ /**
62
+ * Read-or-create the secret. Creation is atomic AND exclusive: the full value
63
+ * is written to a private temp file and then hard-linked to the final name.
64
+ * `link` fails with EEXIST when another process won the race, and a reader can
65
+ * never observe a half-written file. A file that was READ SUCCESSFULLY and is
66
+ * not a secret is replaced (rename over); the other process picks the new
67
+ * value up by re-reading. A file that could not be read is never replaced —
68
+ * this throws instead.
69
+ */
70
+ export function ensureLifelineIngressSecret(stateDir) {
71
+ const first = readSecretFile(stateDir);
72
+ if (first.kind === 'ok')
73
+ return first.value;
74
+ if (first.kind === 'error')
75
+ throw first.error;
76
+ const finalPath = lifelineIngressSecretPath(stateDir);
77
+ fs.mkdirSync(path.dirname(finalPath), { recursive: true });
78
+ const value = crypto.randomBytes(32).toString('hex');
79
+ const tmpPath = `${finalPath}.${process.pid}.${crypto.randomBytes(6).toString('hex')}.tmp`;
80
+ try {
81
+ fs.writeFileSync(tmpPath, value, { mode: 0o600, flag: 'wx' });
82
+ fs.chmodSync(tmpPath, 0o600); // umask-proof
83
+ try {
84
+ fs.linkSync(tmpPath, finalPath);
85
+ return value;
86
+ }
87
+ catch (err) {
88
+ if (err.code !== 'EEXIST')
89
+ throw err;
90
+ const again = readSecretFile(stateDir);
91
+ if (again.kind === 'ok')
92
+ return again.value; // the other process won
93
+ if (again.kind === 'error')
94
+ throw again.error;
95
+ // Present, readable, and not a secret (link is atomic, so this is not a
96
+ // half-written racing file): replace it.
97
+ fs.renameSync(tmpPath, finalPath);
98
+ return value;
99
+ }
100
+ }
101
+ finally {
102
+ try {
103
+ if (fs.existsSync(tmpPath)) {
104
+ SafeFsExecutor.safeUnlinkSync(tmpPath, { operation: 'src/core/LifelineIngressSecret.ts:ensure-tmp-cleanup' });
105
+ }
106
+ }
107
+ catch {
108
+ // @silent-fallback-ok — best-effort removal of our own private temp file;
109
+ // the secret itself was already published (or the publish already threw).
110
+ }
111
+ }
112
+ }
113
+ /** Constant-time comparison. Hashing first removes the length side channel. */
114
+ export function lifelineSecretMatches(presented, expected) {
115
+ if (typeof presented !== 'string' || presented.length === 0 || !expected)
116
+ return false;
117
+ const a = crypto.createHash('sha256').update(presented).digest();
118
+ const b = crypto.createHash('sha256').update(expected).digest();
119
+ return crypto.timingSafeEqual(a, b);
120
+ }
121
+ /** After a failed load, wait this long before touching the filesystem again. */
122
+ export const SECRET_LOAD_BACKOFF_MS = 30_000;
123
+ /**
124
+ * Process-private holder. `get()` loads (and if needed creates) the secret
125
+ * once and keeps it in memory. `reload()` re-reads the file for the case where
126
+ * the other process replaced it — and keeps the last good value when the
127
+ * re-read fails, so a read fault can never turn a working check into "nobody
128
+ * can be verified". A failed first load is retried at most every 30 s.
129
+ */
130
+ export class LifelineIngressSecretHolder {
131
+ stateDir;
132
+ now;
133
+ value = null;
134
+ lastFailureAt = 0;
135
+ failures = 0;
136
+ constructor(stateDir, now = Date.now) {
137
+ this.stateDir = stateDir;
138
+ this.now = now;
139
+ }
140
+ get() {
141
+ if (this.value)
142
+ return this.value;
143
+ if (this.lastFailureAt !== 0 && this.now() - this.lastFailureAt < SECRET_LOAD_BACKOFF_MS)
144
+ return null;
145
+ return this.reload();
146
+ }
147
+ /** Is the FILE readable as a secret right now? A read — never a create, never the cache. */
148
+ fileReadable() {
149
+ return readLifelineIngressSecret(this.stateDir) !== null;
150
+ }
151
+ /**
152
+ * When the secret file was written (ms), or null if it cannot be read. It
153
+ * is created the first time this feature runs on a machine and only ever
154
+ * replaced when malformed, so it dates the feature's arrival on this disk
155
+ * independently of the guard's own state file.
156
+ */
157
+ fileMtimeMs() {
158
+ try {
159
+ return fs.statSync(lifelineIngressSecretPath(this.stateDir)).mtimeMs;
160
+ }
161
+ catch {
162
+ // @silent-fallback-ok — unknown; the caller falls back to its own clock.
163
+ return null;
164
+ }
165
+ }
166
+ /** Does this process hold a secret in memory (whatever the file says now)? */
167
+ get held() {
168
+ return this.value !== null;
169
+ }
170
+ /** Consecutive failed loads since the last success (0 = healthy). */
171
+ get failedLoads() {
172
+ return this.failures;
173
+ }
174
+ reload() {
175
+ try {
176
+ this.value = ensureLifelineIngressSecret(this.stateDir);
177
+ this.lastFailureAt = 0;
178
+ this.failures = 0;
179
+ }
180
+ catch {
181
+ // @silent-fallback-ok — keep the last good value; the guard counts
182
+ // `secret-unavailable` and reports when there has never been one.
183
+ this.lastFailureAt = this.now();
184
+ this.failures++;
185
+ }
186
+ return this.value;
187
+ }
188
+ }
189
+ const sharedHolders = new Map();
190
+ /**
191
+ * One holder per state dir per process. The server's guard and the server's
192
+ * own re-injection call share it, so they can never disagree about the value.
193
+ */
194
+ export function sharedLifelineIngressSecretHolder(stateDir) {
195
+ const key = path.resolve(stateDir);
196
+ let holder = sharedHolders.get(key);
197
+ if (!holder) {
198
+ holder = new LifelineIngressSecretHolder(stateDir);
199
+ sharedHolders.set(key, holder);
200
+ }
201
+ return holder;
202
+ }
203
+ //# sourceMappingURL=LifelineIngressSecret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifelineIngressSecret.js","sourceRoot":"","sources":["../../src/core/LifelineIngressSecret.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"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"}
@@ -8073,6 +8073,17 @@ The automatic "Message received. Composing response..." ack I send a peer over t
8073
8073
  patched = true;
8074
8074
  result.upgraded.push('CLAUDE.md: added A2A ack waits for a live session section');
8075
8075
  }
8076
+ // Lifeline ingress secret (docs/specs/telegram-internal-route-lifeline-secret.md,
8077
+ // Agent awareness). OWN sniff key `Telegram internal routes need the lifeline
8078
+ // secret` — content-sniffed for idempotency.
8079
+ if (!content.includes('Telegram internal routes need the lifeline secret')) {
8080
+ content += '\n\n' + `### Telegram internal routes need the lifeline secret
8081
+
8082
+ The two routes that carry Telegram input from my lifeline into my server (\`POST /internal/telegram-forward\` for messages, \`POST /internal/telegram-callback\` for button taps) take the sender's Telegram id from the request body. My ordinary API token used to be enough to call them, so any session could have sent a message or an Approve tap that claimed to come from the operator. They now also require a secret that only the lifeline and the server hold: 32 random bytes in \`.instar/state/lifeline-ingress-secret\` (owner-only), sent in the \`X-Instar-Lifeline-Secret\` header. It is never placed in any process environment, so sessions do not inherit it, and the file viewer, backups and git sync refuse the file and the guard's own records. I never call these routes myself and never read that file. No message is refused until the guard is armed: the lifeline has proven it sends the secret (it does so within seconds of starting, through \`POST /internal/lifeline-proof\`), or there is no lifeline to wait for. A lifeline still on older code is accepted and counted, never cut off, and is asked to restart; while the guard is unarmed the server handles it exactly as before (in \`enforce\`, for at most 24 hours). Once the guard is armed (or, in \`enforce\`, those 24 hours have passed): a button tap without the secret is always refused, and a message without it is delivered with no sender identity (it shows as from "Unverified sender", binds no operator and carries no command authority). Two modes decide what else happens to such a message: \`observe\` delivers it that way and counts a would-refuse; \`enforce\` refuses it with HTTP 401 \`{ error: 'lifeline-secret-required', refused: true }\`, and the lifeline keeps it in its saved queue, keeps retrying (every minute at first, then less often), and tells the user after ten minutes. Default: enforce on a development agent; on other agents observe, and observe ends by itself: after 24 hours with zero would-refuse and at least 10 verified Telegram requests from the lifeline, or 7 days after the guard armed, whichever comes first. The counts are saved to disk and survive a restart. In the config file (read live, not changeable over the API): \`telegramIngress.lifelineSecret.enforce: false\` holds observe, \`true\` enforces (still only once armed), and \`telegramIngress.lifelineSecret.bypass: true\` is the full rollback that restores the old handling. The same button tap delivered twice is applied once. Mode, whether it is refusing messages (\`refusing\`) and taps (\`refusingTaps\`), the exit-rule progress and the counts: authed \`/health\` → \`telegramIngress.lifelineSecret\`; it is also a row on \`/guards\`. Honest limit: no tool hook refuses a read of the secret file today. What protects it is the owner-only (0600) file mode plus the key-material path list, which keeps it out of the file viewer, backups and git sync. Everything here runs as one OS user, so this is a cooperative boundary: it stops a session forging through its normal token; it does not stop a session that deliberately reads the file. **When to use** (PROACTIVE): the user asks "could a session fake a message or an approval from me?" or "why was a Telegram message refused with lifeline-secret-required?" or "why does a message show as from Unverified sender?" → read that \`/health\` block; the counts are running totals, so compare times: a \`lastWouldRefuseAt\` or \`lastRefusedAt\` later than \`armedAt\` means something other than a healthy lifeline called the route (a session using the ordinary token, or a lifeline that cannot read its secret file).
8083
+ `;
8084
+ patched = true;
8085
+ result.upgraded.push('CLAUDE.md: added Telegram internal routes need the lifeline secret section');
8086
+ }
8076
8087
  // A2A dark peers (docs/specs/a2a-single-agent-identity.md §3, Agent
8077
8088
  // awareness). OWN sniff key `A2A dark peers` — content-sniffed for idempotency.
8078
8089
  if (!content.includes('A2A dark peers')) {
@@ -11003,6 +11014,10 @@ Two layers keep my machine-to-machine \"ropes\" (Tailscale / LAN / Cloudflare) h
11003
11014
  // topic-bound reply, framework-agnostic — a Codex/Gemini agent must know a
11004
11015
  // reaped topic session is woken and when the ack is withheld.
11005
11016
  '### A2A reply into a reaped topic session',
11017
+ // Lifeline ingress secret: a server-side check on the two internal Telegram
11018
+ // routes, framework-agnostic — a Codex/Gemini agent must know the 401, the
11019
+ // modes and the cooperative-boundary limit.
11020
+ '### Telegram internal routes need the lifeline secret',
11006
11021
  // A2A ack waits for a live session (ACT-091 follow-up): server-side timing
11007
11022
  // of the relay's automatic ack, framework-agnostic — a Codex/Gemini agent
11008
11023
  // must know what an ack, and a missing ack, now mean.