instar 1.3.391 → 1.3.392

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.
@@ -49,6 +49,13 @@ export declare class InboundMessageGate {
49
49
  * or 'block' with reason.
50
50
  */
51
51
  evaluate(message: ReceivedMessage): Promise<GateDecision>;
52
+ /**
53
+ * Log a block decision to server.log. A blocked inbound is otherwise silent
54
+ * (the decision lives only in the returned GateDecision + in-memory metric
55
+ * counters), which is precisely how an Echo↔peer A2A leg can go dark for days
56
+ * with no trace. The fingerprint is truncated; no payload content is logged.
57
+ */
58
+ private logBlock;
52
59
  /**
53
60
  * Get gate metrics for observability.
54
61
  */
@@ -1 +1 @@
1
- {"version":3,"file":"InboundMessageGate.d.ts","sourceRoot":"","sources":["../../src/threadline/InboundMessageGate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC3H;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAgFD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,YAAY,CAA+C;IAEnE,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAG5D,OAAO,CAAC,OAAO,CAQb;gBAGA,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAC/B,MAAM,GAAE,iBAAsB;IAehC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIzC;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAwE/D;;OAEG;IACH,UAAU;;;;;;;;;IAIV;;OAEG;IACH,QAAQ,IAAI,IAAI;IAShB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
1
+ {"version":3,"file":"InboundMessageGate.d.ts","sourceRoot":"","sources":["../../src/threadline/InboundMessageGate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIpE,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC3H;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAgFD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,YAAY,CAA+C;IAEnE,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAG5D,OAAO,CAAC,OAAO,CAQb;gBAGA,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAC/B,MAAM,GAAE,iBAAsB;IAehC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIzC;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAuF/D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACH,UAAU;;;;;;;;;IAIV;;OAEG;IACH,QAAQ,IAAI,IAAI;IAShB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
@@ -118,6 +118,7 @@ export class InboundMessageGate {
118
118
  if (messageId && this.seenMessageIds.has(messageId)) {
119
119
  this.metrics.blocked++;
120
120
  this.metrics.blockedByReplay++;
121
+ this.logBlock('replay_detected', fingerprint);
121
122
  return { action: 'block', reason: 'replay_detected', fingerprint };
122
123
  }
123
124
  // 0b. Payload size check
@@ -125,6 +126,7 @@ export class InboundMessageGate {
125
126
  if (payloadSize > this.maxPayloadBytes) {
126
127
  this.metrics.blocked++;
127
128
  this.metrics.blockedBySize++;
129
+ this.logBlock('payload_too_large', fingerprint, `bytes=${payloadSize}`);
128
130
  return { action: 'block', reason: 'payload_too_large', fingerprint };
129
131
  }
130
132
  // 1. Determine operation type
@@ -133,11 +135,19 @@ export class InboundMessageGate {
133
135
  // 2. Trust check (keyed by fingerprint)
134
136
  const trust = this.trustManager.getTrustLevelByFingerprint(fingerprint);
135
137
  const limits = this.getRateLimits(trust);
138
+ // Observability: every inbound evaluation is logged with the RESOLVED trust
139
+ // level + operation. A silently-blocked inbound (e.g. a trusted peer whose
140
+ // fingerprint representation does not match its trust-profile key → resolves
141
+ // 'untrusted' → insufficient_trust) is exactly how an A2A leg can go dark for
142
+ // days unnoticed. Making the gate's verdict visible is the structural fix for
143
+ // "comms must never die silently".
144
+ console.log(`[inbound-gate] eval from=${fingerprint.slice(0, 12)} trust=${trust} op=${opType}${isProbe ? ' (probe)' : ''}`);
136
145
  // 3. Handle probes (don't require 'message' permission)
137
146
  if (isProbe) {
138
147
  if (this.rateLimiter.isProbeRateLimited(fingerprint, limits.probesPerHour)) {
139
148
  this.metrics.blocked++;
140
149
  this.metrics.blockedByRate++;
150
+ this.logBlock('probe_rate_limited', fingerprint, `trust=${trust}`);
141
151
  return { action: 'block', reason: 'probe_rate_limited', fingerprint };
142
152
  }
143
153
  this.metrics.probesHandled++;
@@ -149,17 +159,20 @@ export class InboundMessageGate {
149
159
  if (!allowedOps.includes(opType)) {
150
160
  this.metrics.blocked++;
151
161
  this.metrics.blockedByTrust++;
162
+ this.logBlock('insufficient_trust', fingerprint, `trust=${trust} op=${opType} allowed=[${allowedOps.join(',')}]`);
152
163
  return { action: 'block', reason: 'insufficient_trust', fingerprint };
153
164
  }
154
165
  // 5. Rate limit check (per-sender, trust-level-aware)
155
166
  if (this.rateLimiter.isMessageHourLimited(fingerprint, limits.messagesPerHour)) {
156
167
  this.metrics.blocked++;
157
168
  this.metrics.blockedByRate++;
169
+ this.logBlock('rate_limited_hourly', fingerprint, `trust=${trust} limit=${limits.messagesPerHour}`);
158
170
  return { action: 'block', reason: 'rate_limited_hourly', fingerprint };
159
171
  }
160
172
  if (this.rateLimiter.isMessageDayLimited(fingerprint, limits.messagesPerDay)) {
161
173
  this.metrics.blocked++;
162
174
  this.metrics.blockedByRate++;
175
+ this.logBlock('rate_limited_daily', fingerprint, `trust=${trust} limit=${limits.messagesPerDay}`);
163
176
  return { action: 'block', reason: 'rate_limited_daily', fingerprint };
164
177
  }
165
178
  // 6. Record interaction (debounced)
@@ -170,8 +183,18 @@ export class InboundMessageGate {
170
183
  }
171
184
  // 8. Pass to ThreadlineRouter -> AutonomyGate handles delivery mode
172
185
  this.metrics.passed++;
186
+ console.log(`[inbound-gate] PASS from=${fingerprint.slice(0, 12)} trust=${trust} op=${opType}`);
173
187
  return { action: 'pass', message, trustLevel: trust };
174
188
  }
189
+ /**
190
+ * Log a block decision to server.log. A blocked inbound is otherwise silent
191
+ * (the decision lives only in the returned GateDecision + in-memory metric
192
+ * counters), which is precisely how an Echo↔peer A2A leg can go dark for days
193
+ * with no trace. The fingerprint is truncated; no payload content is logged.
194
+ */
195
+ logBlock(reason, fingerprint, extra) {
196
+ console.log(`[inbound-gate] BLOCK ${reason} from=${fingerprint.slice(0, 12)}${extra ? ` ${extra}` : ''}`);
197
+ }
175
198
  /**
176
199
  * Get gate metrics for observability.
177
200
  */
@@ -1 +1 @@
1
- {"version":3,"file":"InboundMessageGate.js","sourceRoot":"","sources":["../../src/threadline/InboundMessageGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InboundMessageGate.js","sourceRoot":"","sources":["../../src/threadline/InboundMessageGate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuBH,wDAAwD;AACxD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9C,0CAA0C;AAC1C,MAAM,mBAAmB,GAAwG;IAC/H,SAAS,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;IACtE,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;IACxE,OAAO,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE;IACzE,UAAU,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE;CACjF,CAAC;AAEF,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO;AAE5C,4DAA4D;AAC5D,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAQ3C,MAAM,oBAAoB;IACP,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,kBAAkB,GAAG,IAAI,GAAG,EAAsB,CAAC;IACnD,iBAAiB,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEnE,kBAAkB,CAAC,WAAmB,EAAE,KAAa;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,oBAAoB,CAAC,WAAmB,EAAE,KAAa;QACrD,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,cAAc;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,mBAAmB,CAAC,WAAmB,EAAE,KAAa;QACpD,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzF,CAAC;IAEO,SAAS,CAAC,OAAgC,EAAE,GAAW,EAAE,KAAa,EAAE,QAAgB;QAC9F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,2BAA2B;QAC3B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAEtE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,WAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3F,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACpC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;gBACtE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,wEAAwE;AAExE,MAAM,OAAO,kBAAkB;IACZ,YAAY,CAAoB;IACzC,MAAM,CAA0B;IACvB,MAAM,CAAoB;IAC1B,WAAW,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACzC,eAAe,CAAS;IACjC,YAAY,GAA0C,IAAI,CAAC;IAEnE,iDAAiD;IAChC,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5D,UAAU;IACF,OAAO,GAAG;QAChB,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,cAAc,EAAE,CAAC;QACjB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAClB,aAAa,EAAE,CAAC;KACjB,CAAC;IAEF,YACE,YAA+B,EAC/B,MAA+B,EAC/B,SAA4B,EAAE;QAE9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,iBAAiB,CAAC;QAEnE,qFAAqF;QACrF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAwB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QAEjC,qDAAqD;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;QACrE,CAAC;QAED,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,WAAW,EAAE,SAAS,WAAW,EAAE,CAAC,CAAC;YACxE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC;QACvE,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtC,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEzC,4EAA4E;QAC5E,2EAA2E;QAC3E,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,mCAAmC;QACnC,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,OAAO,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE5H,wDAAwD;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3E,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,WAAW,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC;gBACnE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,0DAA0D;YAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACzE,CAAC;QAED,8BAA8B;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,WAAW,EAAE,SAAS,KAAK,OAAO,MAAM,aAAa,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC;QACxE,CAAC;QAED,sDAAsD;QACtD,IAAI,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,KAAK,UAAU,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;YACpG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,WAAW,EAAE,SAAS,KAAK,UAAU,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAClG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC;QACxE,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,YAAY,CAAC,kCAAkC,CAAC,WAAW,CAAC,CAAC;QAElE,4CAA4C;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,OAAO,MAAM,EAAE,CAAC,CAAC;QAChG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,MAAc,EAAE,WAAmB,EAAE,KAAc;QAClE,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,SAAS,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,mEAAmE;IAE3D,iBAAiB,CAAC,OAAwB;QAChD,+CAA+C;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACzE,OAAQ,OAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC;QACD,8BAA8B;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB,CAAC,OAAwB;QAClD,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAsB;QAC1C,OAAO;YACL,GAAG,mBAAmB,CAAC,KAAK,CAAC;YAC7B,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAAwB;QAC/C,iDAAiD;QACjD,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC,SAAS,CAAC;QAChD,2CAA2C;QAC3C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACpE,MAAM,CAAC,GAAG,OAAO,CAAC,OAA6C,CAAC;YAChE,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,SAAS,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,GAAG,GAAG,SAAS,GAAG,mBAAmB,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.391",
3
+ "version": "1.3.392",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-06-07T04:05:00.344Z",
5
- "instarVersion": "1.3.391",
4
+ "generatedAt": "2026-06-07T04:29:47.456Z",
5
+ "instarVersion": "1.3.392",
6
6
  "entryCount": 199,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -0,0 +1,49 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ The inbound agent-to-agent message gate (`InboundMessageGate`) now logs every
9
+ verdict it makes. Previously, when the gate blocked an inbound relay message it
10
+ recorded the decision only in its return value and in restart-volatile in-memory
11
+ counters — it wrote nothing to `server.log`. A blocked inbound was therefore
12
+ invisible, which is exactly how the Echo↔Dawn remote-relay leg went dark for ~1.5
13
+ days with no trace. `evaluate()` now emits one `[inbound-gate] eval …` line per
14
+ inbound (carrying the resolved trust level + operation), a `[inbound-gate] BLOCK
15
+ <reason> …` line on each of the five block paths (the `insufficient_trust` line
16
+ includes the resolved trust level + allowed operations, so a fingerprint/trust-key
17
+ mismatch is diagnosable from the log alone), and a `PASS` line on success.
18
+ Fingerprints are clipped to 12 chars and no payload content is logged. The change
19
+ is behavior-preserving — pure observability, with no change to routing, trust,
20
+ rate-limiting, or delivery. Part of A2A delivery robustness (issue #939): it turns
21
+ the next live dawn→echo diagnosis into a self-identifying event (gate block, with
22
+ the exact reason + resolved trust, versus an upstream relay-client drop).
23
+
24
+ ## What to Tell Your User
25
+
26
+ Nothing you need to do — this is an internal reliability improvement. If a message
27
+ from another agent is ever turned away, I now write down exactly why, so a
28
+ quietly-dropped agent-to-agent channel can't slip by unnoticed for days the way one
29
+ recently did. Nothing about how things behave for you changes.
30
+
31
+ ## Summary of New Capabilities
32
+
33
+ None user-facing. Internal observability only: agent-to-agent inbound gate
34
+ decisions — pass, and every block reason with the resolved trust level — are now
35
+ written to the server log for operator and agent diagnosis. No new endpoint,
36
+ command, or config setting.
37
+
38
+ ## Evidence
39
+
40
+ - 40/40 `InboundMessageGate` unit tests green (3 new observability tests assert the
41
+ BLOCK / eval / PASS log lines and that the resolved trust level is surfaced on an
42
+ `insufficient_trust` block); `npx tsc --noEmit` clean.
43
+ - Runtime-confirmed symptom this addresses: `GET /threadline/peers/health` showed
44
+ Dawn's fingerprint with zero recorded inbound while a same-window local peer
45
+ (ai-guy) was recorded, and a `server.log` grep found no block line for her — the
46
+ gate (or an upstream hop) dropped her silently. This change makes that drop
47
+ self-identifying on the next live test.
48
+ - Behavior-preserving: all 37 pre-existing gate tests unchanged and green; no
49
+ routing/trust/rate/delivery logic touched (logging statements only).
@@ -0,0 +1,60 @@
1
+ # Side-Effects Review — A2A Inbound Gate Observability (PR4a)
2
+
3
+ **Version / slug:** `a2a-inbound-gate-observability`
4
+ **Date:** `2026-06-07`
5
+ **Author:** `echo`
6
+ **Tier:** `1` (small, low-risk, behavior-preserving — pure observability)
7
+ **Second-pass reviewer:** `not-required (Tier-1 logging-only; correctness self-owned per Tier-1-no-review)`
8
+
9
+ ## Summary of the change
10
+
11
+ Makes `InboundMessageGate` verdicts visible in `server.log`. Previously a blocked
12
+ inbound A2A message was **silent** — the decision lived only in the returned
13
+ `GateDecision` and in aggregate, restart-volatile metric counters, never the log.
14
+ That silence is the exact mechanism by which the dawn→echo remote-relay leg went
15
+ dark for ~1.5 days unnoticed (`/threadline/peers/health` showed Dawn's fp with
16
+ zero recorded inbound; no block line anywhere in `server.log`).
17
+
18
+ `evaluate()` now emits: one `[inbound-gate] eval from=<fp12> trust=<level>
19
+ op=<type>` line per inbound; a `[inbound-gate] BLOCK <reason> from=<fp12> …` line
20
+ on each of the five block paths (the `insufficient_trust` line carries the
21
+ **resolved trust level + allowed-ops**, so a fingerprint/trust-key mismatch is
22
+ diagnosable from the log alone); and a `PASS` line on success. A private
23
+ `logBlock(reason, fingerprint, extra?)` helper centralizes the block lines.
24
+
25
+ Files: `src/threadline/InboundMessageGate.ts` (logging only),
26
+ `tests/unit/InboundMessageGate.test.ts` (+3 observability tests),
27
+ `docs/specs/A2A-DURABLE-DELIVERY-SPEC.md` (§6 + Tier-1 note).
28
+
29
+ ## Decision-point inventory
30
+
31
+ - **Does it change routing / trust / rate-limit / delivery behavior?** No. Every
32
+ `console.log` is additive and side-effect-free; the `evaluate()` return values,
33
+ metric increments, and control flow are byte-for-byte unchanged. A test run
34
+ shows all 37 pre-existing gate tests still GREEN alongside the 3 new ones.
35
+ - **New dependency / state / route?** None. No injected dependency added (the gate
36
+ still takes `trustManager`, `router`, `config`), no SQLite store, no HTTP route,
37
+ no config key, no `migrateClaudeMd` section → trips none of the SqliteRegistry-
38
+ wiring / feature-delivery-completeness / docs-coverage guard classes.
39
+ - **Silent fallbacks?** None added — no new `try/catch`; the change is pure logging
40
+ (no `@silent-fallback-ok` annotations needed).
41
+ - **Log volume / PII?** A2A inbound is low-volume (peer messages, not user chat),
42
+ so per-message logging is not a flood risk. Fingerprints are truncated to 12
43
+ chars; **no payload content** is ever logged (only reason + resolved trust +
44
+ allowed-ops + byte size). No secrets, no message text.
45
+ - **Migration parity?** Ships in code via npm; existing agents receive it on the
46
+ normal AutoUpdater path. No agent-installed file (settings/config/hook/skill)
47
+ changes → no PostUpdateMigrator step required. It is internal observability, not
48
+ a user-surfaced capability → no CLAUDE.md template (Agent Awareness) entry.
49
+ - **Rollback?** Trivial — revert the single source file; logging vanishes, gate
50
+ behavior is identical (it never depended on the logs).
51
+
52
+ ## Why this is correct to ship before the fix (PR4b)
53
+
54
+ The drop is silent on **both** remaining hypotheses (gate-blocks-her vs
55
+ relay-client-never-emits-for-her), so a Dawn live re-test alone cannot
56
+ disambiguate (her prior test left zero trace) and the fix cannot be written
57
+ without guessing. PR4a converts the next live test into a self-diagnosing event:
58
+ a gate block prints the exact reason + resolved trust (→ trust-resolution fix), or
59
+ no `eval` line prints at all (→ upstream relay-client fix). Observability-first is
60
+ the verify-claim-honest path to a targeted PR4b.