instar 1.3.32 → 1.3.34

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 (42) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +47 -1
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/types.d.ts +16 -0
  5. package/dist/core/types.d.ts.map +1 -1
  6. package/dist/core/types.js.map +1 -1
  7. package/dist/feedback-factory/dryrun/dryRunCompare.d.ts +82 -0
  8. package/dist/feedback-factory/dryrun/dryRunCompare.d.ts.map +1 -0
  9. package/dist/feedback-factory/dryrun/dryRunCompare.js +88 -0
  10. package/dist/feedback-factory/dryrun/dryRunCompare.js.map +1 -0
  11. package/dist/feedback-factory/processor/parity.d.ts +111 -0
  12. package/dist/feedback-factory/processor/parity.d.ts.map +1 -0
  13. package/dist/feedback-factory/processor/parity.js +118 -0
  14. package/dist/feedback-factory/processor/parity.js.map +1 -0
  15. package/dist/feedback-factory/store/ReadOnlyShadowStore.d.ts +59 -0
  16. package/dist/feedback-factory/store/ReadOnlyShadowStore.d.ts.map +1 -0
  17. package/dist/feedback-factory/store/ReadOnlyShadowStore.js +88 -0
  18. package/dist/feedback-factory/store/ReadOnlyShadowStore.js.map +1 -0
  19. package/dist/messaging/TelegramAdapter.d.ts +12 -1
  20. package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
  21. package/dist/messaging/TelegramAdapter.js +28 -7
  22. package/dist/messaging/TelegramAdapter.js.map +1 -1
  23. package/dist/monitoring/StopNotifier.d.ts +88 -0
  24. package/dist/monitoring/StopNotifier.d.ts.map +1 -0
  25. package/dist/monitoring/StopNotifier.js +105 -0
  26. package/dist/monitoring/StopNotifier.js.map +1 -0
  27. package/dist/server/AgentServer.d.ts +2 -0
  28. package/dist/server/AgentServer.d.ts.map +1 -1
  29. package/dist/server/AgentServer.js +1 -0
  30. package/dist/server/AgentServer.js.map +1 -1
  31. package/dist/server/routes.d.ts +4 -0
  32. package/dist/server/routes.d.ts.map +1 -1
  33. package/dist/server/routes.js +13 -0
  34. package/dist/server/routes.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/data/builtin-manifest.json +47 -47
  37. package/upgrades/1.3.31.md +9 -10
  38. package/upgrades/1.3.33.md +36 -0
  39. package/upgrades/1.3.34.md +37 -0
  40. package/upgrades/side-effects/feedback-factory-dryrun.md +93 -0
  41. package/upgrades/side-effects/notify-on-stop-layer-b.md +34 -0
  42. package/upgrades/side-effects/telegram-adapter-multi-instance.md +61 -0
@@ -0,0 +1,118 @@
1
+ /**
2
+ * parity.ts — the Phase-3 live-mirror invariant comparator.
3
+ *
4
+ * docs/specs/feedback-factory-migration.md §2.3/§2.5: the live dual-forward gate
5
+ * compares ONLY order-independent invariants between Portal's processor and the
6
+ * ported Instar processor — because clustering is order-dependent (a report merges
7
+ * into whichever similar cluster already exists) and the two instances will NOT see
8
+ * reports in identical order/timing, a raw cluster-membership diff would fail on
9
+ * benign ordering noise and pressure us to weaken the gate. The spec pins three
10
+ * invariants:
11
+ *
12
+ * 1. FINGERPRINT (per cluster) — `computeFingerprint(cluster.type, cluster.title)`,
13
+ * exactly as the reference's cmd_backfill_fingerprints
14
+ * (:256) derives it. Recomputing it over Portal's
15
+ * LIVE clusters and diffing against the stored
16
+ * fingerprint is a pure cross-implementation
17
+ * equivalence check — fully order-independent and
18
+ * needs no replay. It is the highest-signal gate:
19
+ * it catches the byte-level Python↔JS divergence
20
+ * (Unicode regex classes, SHA encoding, tokenizer/
21
+ * case-fold) on REAL production titles the
22
+ * recorded adversarial corpus may not cover.
23
+ * 2. terminal STATUS per group — keyed by fingerprint (the stable cluster key),
24
+ * NOT raw clusterId (slug IDs differ across
25
+ * instances). Requires Instar's recomputed outcomes.
26
+ * 3. RECURRENCE/cycling count — keyed by fingerprint; chronic-regression
27
+ * accounting that should converge on the same set.
28
+ *
29
+ * This module is PURE. Invariant 1 needs only Portal's stored clusters (read-only).
30
+ * Invariants 2 & 3 compare two pre-computed outcome lists; the runner
31
+ * (dryrun/dryRunCompare.ts) supplies Instar's side from a throwaway replay — never
32
+ * against Portal's DB (see ReadOnlyShadowStore). `divergent === true` is the
33
+ * structural signal that BLOCKS Phase 4 cutover (spec §2.5 Phase 4/5).
34
+ */
35
+ import { computeFingerprint } from './fingerprint.js';
36
+ /** The canonical fingerprint for a cluster: exactly the reference's per-cluster derivation. */
37
+ export function clusterFingerprint(cluster) {
38
+ return computeFingerprint(cluster.type, cluster.title);
39
+ }
40
+ /**
41
+ * Invariant 1 (fingerprint) — pure, fully order-independent, no replay. Recomputes
42
+ * each Portal cluster's fingerprint via the ported `computeFingerprint` and diffs
43
+ * against the fingerprint Portal stored. Any mismatch is a REAL divergence (the
44
+ * ported fingerprint logic differs from the Python reference on a real title) —
45
+ * never benign ordering noise. This is the live extension of the recorded-corpus
46
+ * fingerprint-parity harness.
47
+ *
48
+ * Clusters with no stored fingerprint (e.g. created before a backfill) are skipped
49
+ * — there is nothing to compare against, and flagging them would be a false positive.
50
+ */
51
+ export function compareClusterFingerprints(portalClusters) {
52
+ const out = [];
53
+ for (const c of portalClusters) {
54
+ if (!c.fingerprint)
55
+ continue;
56
+ const instar = clusterFingerprint(c);
57
+ if (instar !== c.fingerprint) {
58
+ out.push({ clusterId: c.clusterId, instar, portal: c.fingerprint });
59
+ }
60
+ }
61
+ return out;
62
+ }
63
+ /**
64
+ * Invariants 2 & 3 (terminal status + recurrence) — keyed by fingerprint, NOT raw
65
+ * clusterId. Compares Instar's recomputed cluster outcomes against Portal's actuals.
66
+ * A fingerprint present on one side but not the other is itself a divergence (the
67
+ * two instances grouped reports differently in a way that matters).
68
+ */
69
+ export function compareClusterOutcomes(instar, portal) {
70
+ const out = [];
71
+ const instarByFp = new Map(instar.map((c) => [c.fingerprint, c]));
72
+ const portalByFp = new Map(portal.map((c) => [c.fingerprint, c]));
73
+ for (const [fp, p] of portalByFp) {
74
+ const i = instarByFp.get(fp);
75
+ if (!i) {
76
+ out.push({ fingerprint: fp, kind: 'missing-instar', portal: p.status });
77
+ continue;
78
+ }
79
+ if (i.status !== p.status) {
80
+ out.push({ fingerprint: fp, kind: 'status', instar: i.status, portal: p.status });
81
+ }
82
+ if (i.recurrenceCount !== p.recurrenceCount) {
83
+ out.push({
84
+ fingerprint: fp,
85
+ kind: 'recurrence',
86
+ instar: i.recurrenceCount,
87
+ portal: p.recurrenceCount,
88
+ });
89
+ }
90
+ }
91
+ for (const [fp, i] of instarByFp) {
92
+ if (!portalByFp.has(fp)) {
93
+ out.push({ fingerprint: fp, kind: 'missing-portal', instar: i.status });
94
+ }
95
+ }
96
+ return out;
97
+ }
98
+ /**
99
+ * Full comparison over all three invariants → the cutover-gating verdict.
100
+ * `instarOutcomes`/`portalOutcomes` are optional: the fingerprint invariant (1) is
101
+ * always run over Portal's clusters; the outcome invariants (2 & 3) run only when
102
+ * both outcome lists are supplied (they require Instar's throwaway replay, which
103
+ * is order-dependent — see dryRunCompare).
104
+ */
105
+ export function compareInvariants(args) {
106
+ const fingerprintDivergences = compareClusterFingerprints(args.portalClusters);
107
+ const outcomeDivergences = args.instarOutcomes && args.portalOutcomes
108
+ ? compareClusterOutcomes(args.instarOutcomes, args.portalOutcomes)
109
+ : [];
110
+ return {
111
+ clustersCompared: args.portalClusters.length,
112
+ outcomesCompared: args.portalOutcomes?.length ?? 0,
113
+ fingerprintDivergences,
114
+ outcomeDivergences,
115
+ divergent: fingerprintDivergences.length > 0 || outcomeDivergences.length > 0,
116
+ };
117
+ }
118
+ //# sourceMappingURL=parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parity.js","sourceRoot":"","sources":["../../../src/feedback-factory/processor/parity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,+FAA+F;AAC/F,MAAM,UAAU,kBAAkB,CAAC,OAAwC;IACzE,OAAO,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AA+CD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CAAC,cAA+B;IACxE,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,CAAC,WAAW;YAAE,SAAS;QAC7B,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAwB,EACxB,MAAwB;IAExB,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC;gBACP,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,CAAC,CAAC,eAAe;gBACzB,MAAM,EAAE,CAAC,CAAC,eAAe;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAIjC;IACC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/E,MAAM,kBAAkB,GACtB,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc;QACxC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC;QAClE,CAAC,CAAC,EAAE,CAAC;IACT,OAAO;QACL,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM;QAC5C,gBAAgB,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC;QAClD,sBAAsB;QACtB,kBAAkB;QAClB,SAAS,EAAE,sBAAsB,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC;KAC9E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * ReadOnlyShadowStore.ts — the dry-run write-guard for the feedback factory.
3
+ *
4
+ * Phase 1/3 of the migration (docs/specs/feedback-factory-migration.md §2.5) runs
5
+ * the ported Instar processor against Portal's LIVE canonical DB to compare its
6
+ * decisions against Portal's — but **Portal must remain the sole writer** (the
7
+ * one-shared-DB precondition prevents split-brain; two writers would corrupt the
8
+ * curated bug history). This wrapper enforces that structurally rather than by
9
+ * convention: every READ delegates to the wrapped store (Portal's read-only
10
+ * Postgres adapter in production, an InMemoryFeedbackStore in tests); every WRITE
11
+ * throws {@link ShadowStoreWriteError}.
12
+ *
13
+ * Why a guard and not just "don't call the writers": defense in depth. If any code
14
+ * path (e.g. an accidental `processUnprocessed(shadowStore, ...)` — which writes)
15
+ * runs against this store, the FIRST write attempt throws loudly at the seam
16
+ * instead of silently mutating Portal's data. The dry-run runner (dryRunCompare)
17
+ * never writes — it uses the pure comparator — but the guard means a future
18
+ * mis-wire can't quietly fork history. This is the "writes throw as a guard"
19
+ * contract confirmed with Dawn (the domain owner) on 2026-05-27.
20
+ *
21
+ * Structure > Willpower: the read-only guarantee lives in the type, not a comment.
22
+ */
23
+ import type { FeedbackStore, FeedbackMetrics } from './FeedbackStore.js';
24
+ import type { FeedbackItem, Cluster } from '../processor/types.js';
25
+ import type { ReopenDecision } from '../processor/reopen.js';
26
+ import type { DispatchRecord } from '../dispatch/dispatch.js';
27
+ /** Thrown when any mutating FeedbackStore method is called on a ReadOnlyShadowStore. */
28
+ export declare class ShadowStoreWriteError extends Error {
29
+ /** The mutating method that was (illegally) attempted. */
30
+ readonly method: string;
31
+ constructor(method: string);
32
+ }
33
+ /**
34
+ * Wraps a {@link FeedbackStore} so it is read-only: reads delegate, writes throw.
35
+ * The delegate supplies the reads — in production that's the Prisma read-only
36
+ * adapter over Portal's Postgres (credentials-gated, see dryRunCompare.ts); in
37
+ * tests it's an InMemoryFeedbackStore seeded with a corpus.
38
+ */
39
+ export declare class ReadOnlyShadowStore implements FeedbackStore {
40
+ private readonly read;
41
+ constructor(read: FeedbackStore);
42
+ getUnprocessedFeedback(): FeedbackItem[];
43
+ getActiveClusters(): Cluster[];
44
+ getCluster(clusterId: string): Cluster | undefined;
45
+ hasFeedback(feedbackId: string): boolean;
46
+ listDispatches(filter?: {
47
+ since?: string;
48
+ type?: string;
49
+ }): DispatchRecord[];
50
+ findDispatchByTitle(title: string): DispatchRecord | undefined;
51
+ metrics(): FeedbackMetrics;
52
+ upsertClusterFromItem(_clusterId: string, _item: FeedbackItem): void;
53
+ mergeIntoCluster(_clusterId: string, _item: FeedbackItem): void;
54
+ applyReopen(_clusterId: string, _decision: ReopenDecision): void;
55
+ markProcessed(_feedbackId: string, _clusterId: string): void;
56
+ addFeedback(_item: FeedbackItem): void;
57
+ createDispatch(_record: DispatchRecord): void;
58
+ }
59
+ //# sourceMappingURL=ReadOnlyShadowStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadOnlyShadowStore.d.ts","sourceRoot":"","sources":["../../../src/feedback-factory/store/ReadOnlyShadowStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,wFAAwF;AACxF,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACZ,MAAM,EAAE,MAAM;CAS3B;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAGhD,sBAAsB,IAAI,YAAY,EAAE;IAGxC,iBAAiB,IAAI,OAAO,EAAE;IAG9B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAGlD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAGxC,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,EAAE;IAG5E,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAG9D,OAAO,IAAI,eAAe;IAK1B,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAGpE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAG/D,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI;IAGhE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAG5D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAGtC,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;CAG9C"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * ReadOnlyShadowStore.ts — the dry-run write-guard for the feedback factory.
3
+ *
4
+ * Phase 1/3 of the migration (docs/specs/feedback-factory-migration.md §2.5) runs
5
+ * the ported Instar processor against Portal's LIVE canonical DB to compare its
6
+ * decisions against Portal's — but **Portal must remain the sole writer** (the
7
+ * one-shared-DB precondition prevents split-brain; two writers would corrupt the
8
+ * curated bug history). This wrapper enforces that structurally rather than by
9
+ * convention: every READ delegates to the wrapped store (Portal's read-only
10
+ * Postgres adapter in production, an InMemoryFeedbackStore in tests); every WRITE
11
+ * throws {@link ShadowStoreWriteError}.
12
+ *
13
+ * Why a guard and not just "don't call the writers": defense in depth. If any code
14
+ * path (e.g. an accidental `processUnprocessed(shadowStore, ...)` — which writes)
15
+ * runs against this store, the FIRST write attempt throws loudly at the seam
16
+ * instead of silently mutating Portal's data. The dry-run runner (dryRunCompare)
17
+ * never writes — it uses the pure comparator — but the guard means a future
18
+ * mis-wire can't quietly fork history. This is the "writes throw as a guard"
19
+ * contract confirmed with Dawn (the domain owner) on 2026-05-27.
20
+ *
21
+ * Structure > Willpower: the read-only guarantee lives in the type, not a comment.
22
+ */
23
+ /** Thrown when any mutating FeedbackStore method is called on a ReadOnlyShadowStore. */
24
+ export class ShadowStoreWriteError extends Error {
25
+ /** The mutating method that was (illegally) attempted. */
26
+ method;
27
+ constructor(method) {
28
+ super(`ReadOnlyShadowStore: write method '${method}' is forbidden — the dry-run ` +
29
+ `processor must never mutate the canonical feedback DB (Portal is sole ` +
30
+ `writer through cutover; see feedback-factory-migration.md §2.5).`);
31
+ this.name = 'ShadowStoreWriteError';
32
+ this.method = method;
33
+ }
34
+ }
35
+ /**
36
+ * Wraps a {@link FeedbackStore} so it is read-only: reads delegate, writes throw.
37
+ * The delegate supplies the reads — in production that's the Prisma read-only
38
+ * adapter over Portal's Postgres (credentials-gated, see dryRunCompare.ts); in
39
+ * tests it's an InMemoryFeedbackStore seeded with a corpus.
40
+ */
41
+ export class ReadOnlyShadowStore {
42
+ read;
43
+ constructor(read) {
44
+ this.read = read;
45
+ }
46
+ // --- reads: delegate verbatim ---
47
+ getUnprocessedFeedback() {
48
+ return this.read.getUnprocessedFeedback();
49
+ }
50
+ getActiveClusters() {
51
+ return this.read.getActiveClusters();
52
+ }
53
+ getCluster(clusterId) {
54
+ return this.read.getCluster(clusterId);
55
+ }
56
+ hasFeedback(feedbackId) {
57
+ return this.read.hasFeedback(feedbackId);
58
+ }
59
+ listDispatches(filter) {
60
+ return this.read.listDispatches(filter);
61
+ }
62
+ findDispatchByTitle(title) {
63
+ return this.read.findDispatchByTitle(title);
64
+ }
65
+ metrics() {
66
+ return this.read.metrics();
67
+ }
68
+ // --- writes: forbidden ---
69
+ upsertClusterFromItem(_clusterId, _item) {
70
+ throw new ShadowStoreWriteError('upsertClusterFromItem');
71
+ }
72
+ mergeIntoCluster(_clusterId, _item) {
73
+ throw new ShadowStoreWriteError('mergeIntoCluster');
74
+ }
75
+ applyReopen(_clusterId, _decision) {
76
+ throw new ShadowStoreWriteError('applyReopen');
77
+ }
78
+ markProcessed(_feedbackId, _clusterId) {
79
+ throw new ShadowStoreWriteError('markProcessed');
80
+ }
81
+ addFeedback(_item) {
82
+ throw new ShadowStoreWriteError('addFeedback');
83
+ }
84
+ createDispatch(_record) {
85
+ throw new ShadowStoreWriteError('createDispatch');
86
+ }
87
+ }
88
+ //# sourceMappingURL=ReadOnlyShadowStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadOnlyShadowStore.js","sourceRoot":"","sources":["../../../src/feedback-factory/store/ReadOnlyShadowStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH,wFAAwF;AACxF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,0DAA0D;IACjD,MAAM,CAAS;IACxB,YAAY,MAAc;QACxB,KAAK,CACH,sCAAsC,MAAM,+BAA+B;YACzE,wEAAwE;YACxE,kEAAkE,CACrE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,mCAAmC;IACnC,sBAAsB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC5C,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACvC,CAAC;IACD,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,WAAW,CAAC,UAAkB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IACD,cAAc,CAAC,MAA0C;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,mBAAmB,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,4BAA4B;IAC5B,qBAAqB,CAAC,UAAkB,EAAE,KAAmB;QAC3D,MAAM,IAAI,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IACD,gBAAgB,CAAC,UAAkB,EAAE,KAAmB;QACtD,MAAM,IAAI,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC;IACD,WAAW,CAAC,UAAkB,EAAE,SAAyB;QACvD,MAAM,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IACD,aAAa,CAAC,WAAmB,EAAE,UAAkB;QACnD,MAAM,IAAI,qBAAqB,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IACD,WAAW,CAAC,KAAmB;QAC7B,MAAM,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IACD,cAAc,CAAC,OAAuB;QACpC,MAAM,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -165,6 +165,14 @@ export declare class TelegramAdapter implements MessagingAdapter {
165
165
  private messageLogPath;
166
166
  private offsetPath;
167
167
  private stateDir;
168
+ /** Per-bot state root. Equals stateDir for the primary bot; a namespaced sub-dir for
169
+ * non-primary adapters (multi-instance isolation — spec MENTOR-LIVE-READINESS §Fix 2b).
170
+ * Only the per-bot state files (registry/messages/offset/attention) live here; shared
171
+ * config lookups stay on stateDir. */
172
+ private botStateDir;
173
+ /** When true, start() skips ensureLifelineTopic() — a non-primary bot must not create a
174
+ * second Lifeline topic in the chat. */
175
+ private suppressLifelineAutoCreate;
168
176
  private attentionItemToTopic;
169
177
  private attentionTopicToItem;
170
178
  private attentionItems;
@@ -312,7 +320,10 @@ export declare class TelegramAdapter implements MessagingAdapter {
312
320
  private eventBus;
313
321
  /** Get the event bus for external subscribers (Phase 1e). Returns null if flag is off. */
314
322
  getEventBus(): MessagingEventBus | null;
315
- constructor(config: TelegramConfig, stateDir: string);
323
+ constructor(config: TelegramConfig, stateDir: string, opts?: {
324
+ subDir?: string;
325
+ suppressLifelineAutoCreate?: boolean;
326
+ });
316
327
  /**
317
328
  * Register all Telegram commands with the shared CommandRouter (Phase 1a).
318
329
  * Each command delegates back to the existing handler logic.
@@ -1 +1 @@
1
- {"version":3,"file":"TelegramAdapter.d.ts","sourceRoot":"","sources":["../../src/messaging/TelegramAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TelegramAdapter.d.ts","sourceRoot":"","sources":["../../src/messaging/TelegramAdapter.ts"],"names":[],"mappings":"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"}
@@ -137,6 +137,14 @@ export class TelegramAdapter {
137
137
  messageLogPath;
138
138
  offsetPath;
139
139
  stateDir;
140
+ /** Per-bot state root. Equals stateDir for the primary bot; a namespaced sub-dir for
141
+ * non-primary adapters (multi-instance isolation — spec MENTOR-LIVE-READINESS §Fix 2b).
142
+ * Only the per-bot state files (registry/messages/offset/attention) live here; shared
143
+ * config lookups stay on stateDir. */
144
+ botStateDir;
145
+ /** When true, start() skips ensureLifelineTopic() — a non-primary bot must not create a
146
+ * second Lifeline topic in the chat. */
147
+ suppressLifelineAutoCreate;
140
148
  // Attention queue (persisted to disk)
141
149
  attentionItemToTopic = new Map();
142
150
  attentionTopicToItem = new Map();
@@ -289,17 +297,27 @@ export class TelegramAdapter {
289
297
  getEventBus() {
290
298
  return this.eventBus;
291
299
  }
292
- constructor(config, stateDir) {
300
+ constructor(config, stateDir, opts) {
293
301
  if (config.chatId && !/^-?\d+$/.test(String(config.chatId))) {
294
302
  throw new Error(`Invalid Telegram chatId "${config.chatId}". Chat IDs must be numeric (e.g., -1001234567890). ` +
295
303
  `Update messaging.config.chatId in your instar.config.json with a valid numeric ID.`);
296
304
  }
297
305
  this.config = config;
298
306
  this.stateDir = stateDir;
299
- this.registryPath = path.join(stateDir, 'topic-session-registry.json');
300
- this.messageLogPath = path.join(stateDir, 'telegram-messages.jsonl');
301
- this.offsetPath = path.join(stateDir, 'telegram-poll-offset.json');
302
- this.attentionFilePath = path.join(stateDir, 'state', 'attention-items.json');
307
+ this.suppressLifelineAutoCreate = opts?.suppressLifelineAutoCreate ?? false;
308
+ // Multi-instance isolation: a non-primary adapter (e.g. the mentor bot) namespaces its
309
+ // per-bot state under {stateDir}/{subDir}/ so two adapters never clobber each other's
310
+ // poll-offset / registry / message-log / attention files (the reviewer-flagged
311
+ // collision that makes poll()'s cross-token detection fire continuously). The PRIMARY
312
+ // bot passes no subDir → botStateDir === stateDir → paths are byte-for-byte unchanged.
313
+ this.botStateDir = opts?.subDir ? path.join(stateDir, opts.subDir) : stateDir;
314
+ if (opts?.subDir) {
315
+ fs.mkdirSync(this.botStateDir, { recursive: true });
316
+ }
317
+ this.registryPath = path.join(this.botStateDir, 'topic-session-registry.json');
318
+ this.messageLogPath = path.join(this.botStateDir, 'telegram-messages.jsonl');
319
+ this.offsetPath = path.join(this.botStateDir, 'telegram-poll-offset.json');
320
+ this.attentionFilePath = path.join(this.botStateDir, 'state', 'attention-items.json');
303
321
  this.loadRegistry();
304
322
  this.loadOffset();
305
323
  this.loadAttentionItems();
@@ -544,8 +562,11 @@ export class TelegramAdapter {
544
562
  this.fatalPollReason = null;
545
563
  this.pollStoppedAt = null;
546
564
  this.pending401Retry = false;
547
- // Ensure Lifeline topic exists (auto-recreate if deleted)
548
- await this.ensureLifelineTopic();
565
+ // Ensure Lifeline topic exists (auto-recreate if deleted). A non-primary adapter
566
+ // (e.g. the mentor bot) must NOT create a second Lifeline topic in the chat.
567
+ if (!this.suppressLifelineAutoCreate) {
568
+ await this.ensureLifelineTopic();
569
+ }
549
570
  console.log(`[telegram] Starting long-polling...`);
550
571
  this.poll();
551
572
  // Resolve any topic names still using the fallback "topic-NNNN" pattern