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.
- package/dist/threadline/InboundMessageGate.d.ts +7 -0
- package/dist/threadline/InboundMessageGate.d.ts.map +1 -1
- package/dist/threadline/InboundMessageGate.js +23 -0
- package/dist/threadline/InboundMessageGate.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.392.md +49 -0
- package/upgrades/side-effects/a2a-inbound-gate-observability.md +60 -0
|
@@ -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;
|
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-06-07T04:
|
|
5
|
-
"instarVersion": "1.3.
|
|
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.
|