instar 1.3.1236 → 1.3.1237

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 (37) hide show
  1. package/dashboard/subscriptions.js +87 -8
  2. package/dist/coordination/AccountFollowMeMandateDelivery.d.ts +6 -0
  3. package/dist/coordination/AccountFollowMeMandateDelivery.d.ts.map +1 -1
  4. package/dist/coordination/AccountFollowMeMandateDelivery.js +16 -2
  5. package/dist/coordination/AccountFollowMeMandateDelivery.js.map +1 -1
  6. package/dist/coordination/DeliveredMandateStore.d.ts +4 -0
  7. package/dist/coordination/DeliveredMandateStore.d.ts.map +1 -1
  8. package/dist/coordination/DeliveredMandateStore.js +16 -2
  9. package/dist/coordination/DeliveredMandateStore.js.map +1 -1
  10. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  11. package/dist/core/PostUpdateMigrator.js +12 -0
  12. package/dist/core/PostUpdateMigrator.js.map +1 -1
  13. package/dist/data/standards-guard-index.json +1 -1
  14. package/dist/data/standards-guard-index.meta.json +2 -2
  15. package/dist/data/standards-registry.meta.json +1 -1
  16. package/dist/scaffold/templates.d.ts.map +1 -1
  17. package/dist/scaffold/templates.js +1 -0
  18. package/dist/scaffold/templates.js.map +1 -1
  19. package/dist/server/AgentServer.d.ts.map +1 -1
  20. package/dist/server/AgentServer.js +12 -1
  21. package/dist/server/AgentServer.js.map +1 -1
  22. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  23. package/dist/server/CapabilityIndex.js +2 -0
  24. package/dist/server/CapabilityIndex.js.map +1 -1
  25. package/dist/server/routes.d.ts +5 -0
  26. package/dist/server/routes.d.ts.map +1 -1
  27. package/dist/server/routes.js +240 -7
  28. package/dist/server/routes.js.map +1 -1
  29. package/package.json +2 -1
  30. package/src/data/builtin-manifest.json +64 -64
  31. package/src/data/standards-guard-index.json +1 -1
  32. package/src/data/standards-guard-index.meta.json +2 -2
  33. package/src/data/standards-registry.meta.json +1 -1
  34. package/src/scaffold/templates.ts +1 -0
  35. package/upgrades/1.3.1237.md +27 -0
  36. package/upgrades/relogin-pool-one-click.eli16.md +9 -0
  37. package/upgrades/side-effects/relogin-pool-one-click.md +86 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.1236",
3
+ "version": "1.3.1237",
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",
@@ -150,6 +150,7 @@
150
150
  "@types/ssh2": "1.15.5",
151
151
  "@types/supertest": "^6.0.3",
152
152
  "@types/ws": "^8.18.1",
153
+ "esbuild": "0.21.5",
153
154
  "husky": "^9.1.7",
154
155
  "jsdom": "^29.1.1",
155
156
  "supertest": "^7.2.2",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-09-11T01:36:49.503Z",
5
- "instarVersion": "1.3.1236",
4
+ "generatedAt": "2026-09-12T09:27:08.868Z",
5
+ "instarVersion": "1.3.1237",
6
6
  "entryCount": 203,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -11,7 +11,7 @@
11
11
  "domain": "identity",
12
12
  "sourcePath": "src/core/PostUpdateMigrator.ts",
13
13
  "installedPath": ".instar/hooks/instar/session-start.sh",
14
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
14
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
15
15
  "since": "2025-01-01"
16
16
  },
17
17
  "hook:dangerous-command-guard": {
@@ -20,7 +20,7 @@
20
20
  "domain": "safety",
21
21
  "sourcePath": "src/core/PostUpdateMigrator.ts",
22
22
  "installedPath": ".instar/hooks/instar/dangerous-command-guard.sh",
23
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
23
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
24
24
  "since": "2025-01-01"
25
25
  },
26
26
  "hook:grounding-before-messaging": {
@@ -29,7 +29,7 @@
29
29
  "domain": "safety",
30
30
  "sourcePath": "src/core/PostUpdateMigrator.ts",
31
31
  "installedPath": ".instar/hooks/instar/grounding-before-messaging.sh",
32
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
32
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
33
33
  "since": "2025-01-01"
34
34
  },
35
35
  "hook:compaction-recovery": {
@@ -38,7 +38,7 @@
38
38
  "domain": "identity",
39
39
  "sourcePath": "src/core/PostUpdateMigrator.ts",
40
40
  "installedPath": ".instar/hooks/instar/compaction-recovery.sh",
41
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
41
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
42
42
  "since": "2025-01-01"
43
43
  },
44
44
  "hook:external-operation-gate": {
@@ -47,7 +47,7 @@
47
47
  "domain": "safety",
48
48
  "sourcePath": "src/core/PostUpdateMigrator.ts",
49
49
  "installedPath": ".instar/hooks/instar/external-operation-gate.js",
50
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
50
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
51
51
  "since": "2025-01-01"
52
52
  },
53
53
  "hook:deferral-detector": {
@@ -56,7 +56,7 @@
56
56
  "domain": "safety",
57
57
  "sourcePath": "src/core/PostUpdateMigrator.ts",
58
58
  "installedPath": ".instar/hooks/instar/deferral-detector.js",
59
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
59
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
60
60
  "since": "2025-01-01"
61
61
  },
62
62
  "hook:self-stop-guard": {
@@ -65,7 +65,7 @@
65
65
  "domain": "coherence",
66
66
  "sourcePath": "src/core/PostUpdateMigrator.ts",
67
67
  "installedPath": ".instar/hooks/instar/self-stop-guard.js",
68
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
68
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
69
69
  "since": "2025-01-01"
70
70
  },
71
71
  "hook:post-action-reflection": {
@@ -74,7 +74,7 @@
74
74
  "domain": "evolution",
75
75
  "sourcePath": "src/core/PostUpdateMigrator.ts",
76
76
  "installedPath": ".instar/hooks/instar/post-action-reflection.js",
77
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
77
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
78
78
  "since": "2025-01-01"
79
79
  },
80
80
  "hook:external-communication-guard": {
@@ -83,7 +83,7 @@
83
83
  "domain": "safety",
84
84
  "sourcePath": "src/core/PostUpdateMigrator.ts",
85
85
  "installedPath": ".instar/hooks/instar/external-communication-guard.js",
86
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
86
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
87
87
  "since": "2025-01-01"
88
88
  },
89
89
  "hook:telegram-origin-guard": {
@@ -101,7 +101,7 @@
101
101
  "domain": "coherence",
102
102
  "sourcePath": "src/core/PostUpdateMigrator.ts",
103
103
  "installedPath": ".instar/hooks/instar/scope-coherence-collector.js",
104
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
104
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
105
105
  "since": "2025-01-01"
106
106
  },
107
107
  "hook:scope-coherence-checkpoint": {
@@ -110,7 +110,7 @@
110
110
  "domain": "coherence",
111
111
  "sourcePath": "src/core/PostUpdateMigrator.ts",
112
112
  "installedPath": ".instar/hooks/instar/scope-coherence-checkpoint.js",
113
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
113
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
114
114
  "since": "2025-01-01"
115
115
  },
116
116
  "hook:free-text-guard": {
@@ -119,7 +119,7 @@
119
119
  "domain": "safety",
120
120
  "sourcePath": "src/core/PostUpdateMigrator.ts",
121
121
  "installedPath": ".instar/hooks/instar/free-text-guard.sh",
122
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
122
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
123
123
  "since": "2025-01-01"
124
124
  },
125
125
  "hook:claim-intercept": {
@@ -128,7 +128,7 @@
128
128
  "domain": "coherence",
129
129
  "sourcePath": "src/core/PostUpdateMigrator.ts",
130
130
  "installedPath": ".instar/hooks/instar/claim-intercept.js",
131
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
131
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
132
132
  "since": "2025-01-01"
133
133
  },
134
134
  "hook:claim-intercept-response": {
@@ -137,7 +137,7 @@
137
137
  "domain": "coherence",
138
138
  "sourcePath": "src/core/PostUpdateMigrator.ts",
139
139
  "installedPath": ".instar/hooks/instar/claim-intercept-response.js",
140
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
140
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
141
141
  "since": "2025-01-01"
142
142
  },
143
143
  "hook:stop-gate-router": {
@@ -146,7 +146,7 @@
146
146
  "domain": "safety",
147
147
  "sourcePath": "src/core/PostUpdateMigrator.ts",
148
148
  "installedPath": ".instar/hooks/instar/stop-gate-router.js",
149
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
149
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
150
150
  "since": "2025-01-01"
151
151
  },
152
152
  "hook:auto-approve-permissions": {
@@ -155,7 +155,7 @@
155
155
  "domain": "safety",
156
156
  "sourcePath": "src/core/PostUpdateMigrator.ts",
157
157
  "installedPath": ".instar/hooks/instar/auto-approve-permissions.js",
158
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
158
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
159
159
  "since": "2025-01-01"
160
160
  },
161
161
  "job:health-check": {
@@ -427,7 +427,7 @@
427
427
  "type": "route-group",
428
428
  "domain": "monitoring",
429
429
  "sourcePath": "src/server/routes.ts",
430
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
430
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
431
431
  "since": "2025-01-01"
432
432
  },
433
433
  "route-group:agents": {
@@ -435,7 +435,7 @@
435
435
  "type": "route-group",
436
436
  "domain": "sessions",
437
437
  "sourcePath": "src/server/routes.ts",
438
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
438
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
439
439
  "since": "2025-01-01"
440
440
  },
441
441
  "route-group:backups": {
@@ -443,7 +443,7 @@
443
443
  "type": "route-group",
444
444
  "domain": "operations",
445
445
  "sourcePath": "src/server/routes.ts",
446
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
446
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
447
447
  "since": "2025-01-01"
448
448
  },
449
449
  "route-group:git": {
@@ -451,7 +451,7 @@
451
451
  "type": "route-group",
452
452
  "domain": "coordination",
453
453
  "sourcePath": "src/server/routes.ts",
454
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
454
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
455
455
  "since": "2025-01-01"
456
456
  },
457
457
  "route-group:memory": {
@@ -459,7 +459,7 @@
459
459
  "type": "route-group",
460
460
  "domain": "memory",
461
461
  "sourcePath": "src/server/routes.ts",
462
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
462
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
463
463
  "since": "2025-01-01"
464
464
  },
465
465
  "route-group:semantic": {
@@ -467,7 +467,7 @@
467
467
  "type": "route-group",
468
468
  "domain": "memory",
469
469
  "sourcePath": "src/server/routes.ts",
470
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
470
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
471
471
  "since": "2025-01-01"
472
472
  },
473
473
  "route-group:status": {
@@ -475,7 +475,7 @@
475
475
  "type": "route-group",
476
476
  "domain": "monitoring",
477
477
  "sourcePath": "src/server/routes.ts",
478
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
478
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
479
479
  "since": "2025-01-01"
480
480
  },
481
481
  "route-group:capabilities": {
@@ -483,7 +483,7 @@
483
483
  "type": "route-group",
484
484
  "domain": "mapping",
485
485
  "sourcePath": "src/server/routes.ts",
486
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
486
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
487
487
  "since": "2025-01-01"
488
488
  },
489
489
  "route-group:project-map": {
@@ -491,7 +491,7 @@
491
491
  "type": "route-group",
492
492
  "domain": "mapping",
493
493
  "sourcePath": "src/server/routes.ts",
494
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
494
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
495
495
  "since": "2025-01-01"
496
496
  },
497
497
  "route-group:coherence": {
@@ -499,7 +499,7 @@
499
499
  "type": "route-group",
500
500
  "domain": "coherence",
501
501
  "sourcePath": "src/server/routes.ts",
502
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
502
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
503
503
  "since": "2025-01-01"
504
504
  },
505
505
  "route-group:topic-bindings": {
@@ -507,7 +507,7 @@
507
507
  "type": "route-group",
508
508
  "domain": "sessions",
509
509
  "sourcePath": "src/server/routes.ts",
510
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
510
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
511
511
  "since": "2025-01-01"
512
512
  },
513
513
  "route-group:context": {
@@ -515,7 +515,7 @@
515
515
  "type": "route-group",
516
516
  "domain": "context",
517
517
  "sourcePath": "src/server/routes.ts",
518
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
518
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
519
519
  "since": "2025-01-01"
520
520
  },
521
521
  "route-group:scope-coherence": {
@@ -523,7 +523,7 @@
523
523
  "type": "route-group",
524
524
  "domain": "coherence",
525
525
  "sourcePath": "src/server/routes.ts",
526
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
526
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
527
527
  "since": "2025-01-01"
528
528
  },
529
529
  "route-group:canonical-state": {
@@ -531,7 +531,7 @@
531
531
  "type": "route-group",
532
532
  "domain": "state",
533
533
  "sourcePath": "src/server/routes.ts",
534
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
534
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
535
535
  "since": "2025-01-01"
536
536
  },
537
537
  "route-group:ci": {
@@ -539,7 +539,7 @@
539
539
  "type": "route-group",
540
540
  "domain": "monitoring",
541
541
  "sourcePath": "src/server/routes.ts",
542
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
542
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
543
543
  "since": "2025-01-01"
544
544
  },
545
545
  "route-group:sessions": {
@@ -547,7 +547,7 @@
547
547
  "type": "route-group",
548
548
  "domain": "sessions",
549
549
  "sourcePath": "src/server/routes.ts",
550
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
550
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
551
551
  "since": "2025-01-01"
552
552
  },
553
553
  "route-group:jobs": {
@@ -555,7 +555,7 @@
555
555
  "type": "route-group",
556
556
  "domain": "scheduling",
557
557
  "sourcePath": "src/server/routes.ts",
558
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
558
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
559
559
  "since": "2025-01-01"
560
560
  },
561
561
  "route-group:skip-ledger": {
@@ -563,7 +563,7 @@
563
563
  "type": "route-group",
564
564
  "domain": "scheduling",
565
565
  "sourcePath": "src/server/routes.ts",
566
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
566
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
567
567
  "since": "2025-01-01"
568
568
  },
569
569
  "route-group:telegram": {
@@ -571,7 +571,7 @@
571
571
  "type": "route-group",
572
572
  "domain": "communication",
573
573
  "sourcePath": "src/server/routes.ts",
574
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
574
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
575
575
  "since": "2025-01-01"
576
576
  },
577
577
  "route-group:attention": {
@@ -579,7 +579,7 @@
579
579
  "type": "route-group",
580
580
  "domain": "communication",
581
581
  "sourcePath": "src/server/routes.ts",
582
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
582
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
583
583
  "since": "2025-01-01"
584
584
  },
585
585
  "route-group:relationships": {
@@ -587,7 +587,7 @@
587
587
  "type": "route-group",
588
588
  "domain": "relationships",
589
589
  "sourcePath": "src/server/routes.ts",
590
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
590
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
591
591
  "since": "2025-01-01"
592
592
  },
593
593
  "route-group:feedback": {
@@ -595,7 +595,7 @@
595
595
  "type": "route-group",
596
596
  "domain": "feedback",
597
597
  "sourcePath": "src/server/routes.ts",
598
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
598
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
599
599
  "since": "2025-01-01"
600
600
  },
601
601
  "route-group:updates": {
@@ -603,7 +603,7 @@
603
603
  "type": "route-group",
604
604
  "domain": "updates",
605
605
  "sourcePath": "src/server/routes.ts",
606
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
606
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
607
607
  "since": "2025-01-01"
608
608
  },
609
609
  "route-group:dispatches": {
@@ -611,7 +611,7 @@
611
611
  "type": "route-group",
612
612
  "domain": "dispatches",
613
613
  "sourcePath": "src/server/routes.ts",
614
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
614
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
615
615
  "since": "2025-01-01"
616
616
  },
617
617
  "route-group:quota": {
@@ -619,7 +619,7 @@
619
619
  "type": "route-group",
620
620
  "domain": "monitoring",
621
621
  "sourcePath": "src/server/routes.ts",
622
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
622
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
623
623
  "since": "2025-01-01"
624
624
  },
625
625
  "route-group:publishing": {
@@ -627,7 +627,7 @@
627
627
  "type": "route-group",
628
628
  "domain": "publishing",
629
629
  "sourcePath": "src/server/routes.ts",
630
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
630
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
631
631
  "since": "2025-01-01"
632
632
  },
633
633
  "route-group:private-views": {
@@ -635,7 +635,7 @@
635
635
  "type": "route-group",
636
636
  "domain": "publishing",
637
637
  "sourcePath": "src/server/routes.ts",
638
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
638
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
639
639
  "since": "2025-01-01"
640
640
  },
641
641
  "route-group:tunnel": {
@@ -643,7 +643,7 @@
643
643
  "type": "route-group",
644
644
  "domain": "networking",
645
645
  "sourcePath": "src/server/routes.ts",
646
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
646
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
647
647
  "since": "2025-01-01"
648
648
  },
649
649
  "route-group:events": {
@@ -651,7 +651,7 @@
651
651
  "type": "route-group",
652
652
  "domain": "networking",
653
653
  "sourcePath": "src/server/routes.ts",
654
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
654
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
655
655
  "since": "2025-01-01"
656
656
  },
657
657
  "route-group:evolution": {
@@ -659,7 +659,7 @@
659
659
  "type": "route-group",
660
660
  "domain": "evolution",
661
661
  "sourcePath": "src/server/routes.ts",
662
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
662
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
663
663
  "since": "2025-01-01"
664
664
  },
665
665
  "route-group:watchdog": {
@@ -667,7 +667,7 @@
667
667
  "type": "route-group",
668
668
  "domain": "monitoring",
669
669
  "sourcePath": "src/server/routes.ts",
670
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
670
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
671
671
  "since": "2025-01-01"
672
672
  },
673
673
  "route-group:topic-memory": {
@@ -675,7 +675,7 @@
675
675
  "type": "route-group",
676
676
  "domain": "memory",
677
677
  "sourcePath": "src/server/routes.ts",
678
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
678
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
679
679
  "since": "2025-01-01"
680
680
  },
681
681
  "route-group:state-sync": {
@@ -683,7 +683,7 @@
683
683
  "type": "route-group",
684
684
  "domain": "coordination",
685
685
  "sourcePath": "src/server/routes.ts",
686
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
686
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
687
687
  "since": "2025-01-01"
688
688
  },
689
689
  "route-group:intent": {
@@ -691,7 +691,7 @@
691
691
  "type": "route-group",
692
692
  "domain": "intent",
693
693
  "sourcePath": "src/server/routes.ts",
694
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
694
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
695
695
  "since": "2025-01-01"
696
696
  },
697
697
  "route-group:triage": {
@@ -699,7 +699,7 @@
699
699
  "type": "route-group",
700
700
  "domain": "safety",
701
701
  "sourcePath": "src/server/routes.ts",
702
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
702
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
703
703
  "since": "2025-01-01"
704
704
  },
705
705
  "route-group:operations": {
@@ -707,7 +707,7 @@
707
707
  "type": "route-group",
708
708
  "domain": "safety",
709
709
  "sourcePath": "src/server/routes.ts",
710
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
710
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
711
711
  "since": "2025-01-01"
712
712
  },
713
713
  "route-group:sentinel": {
@@ -715,7 +715,7 @@
715
715
  "type": "route-group",
716
716
  "domain": "safety",
717
717
  "sourcePath": "src/server/routes.ts",
718
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
718
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
719
719
  "since": "2025-01-01"
720
720
  },
721
721
  "route-group:trust": {
@@ -723,7 +723,7 @@
723
723
  "type": "route-group",
724
724
  "domain": "safety",
725
725
  "sourcePath": "src/server/routes.ts",
726
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
726
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
727
727
  "since": "2025-01-01"
728
728
  },
729
729
  "route-group:monitoring": {
@@ -731,7 +731,7 @@
731
731
  "type": "route-group",
732
732
  "domain": "monitoring",
733
733
  "sourcePath": "src/server/routes.ts",
734
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
734
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
735
735
  "since": "2025-01-01"
736
736
  },
737
737
  "route-group:commitments": {
@@ -739,7 +739,7 @@
739
739
  "type": "route-group",
740
740
  "domain": "commitments",
741
741
  "sourcePath": "src/server/routes.ts",
742
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
742
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
743
743
  "since": "2025-01-01"
744
744
  },
745
745
  "route-group:episodes": {
@@ -747,7 +747,7 @@
747
747
  "type": "route-group",
748
748
  "domain": "memory",
749
749
  "sourcePath": "src/server/routes.ts",
750
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
750
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
751
751
  "since": "2025-01-01"
752
752
  },
753
753
  "route-group:messages": {
@@ -755,7 +755,7 @@
755
755
  "type": "route-group",
756
756
  "domain": "coordination",
757
757
  "sourcePath": "src/server/routes.ts",
758
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
758
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
759
759
  "since": "2025-01-01"
760
760
  },
761
761
  "route-group:system-reviews": {
@@ -763,7 +763,7 @@
763
763
  "type": "route-group",
764
764
  "domain": "monitoring",
765
765
  "sourcePath": "src/server/routes.ts",
766
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
766
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
767
767
  "since": "2025-01-01"
768
768
  },
769
769
  "route-group:machine-mesh": {
@@ -779,7 +779,7 @@
779
779
  "type": "route-group",
780
780
  "domain": "security",
781
781
  "sourcePath": "src/server/routes.ts",
782
- "contentHash": "1ed6463abb17a4f422f2bfdec93e170c43202bb4e9f0c9d43c74e55a2bc80907",
782
+ "contentHash": "50119e1452df9c1c0bdf37d6ced4d8518c20cbd54c1866bc748fd9c0978b77df",
783
783
  "since": "2025-01-01"
784
784
  },
785
785
  "cli:init": {
@@ -1539,7 +1539,7 @@
1539
1539
  "type": "subsystem",
1540
1540
  "domain": "server",
1541
1541
  "sourcePath": "src/server/AgentServer.ts",
1542
- "contentHash": "c4b595800555cee1690234db13d944ee6f85c55640164d1589951f977f96e6c4",
1542
+ "contentHash": "15536779711a7da850ee76f7de869b73944ee5254a201c95546b20a9cd2d6ec4",
1543
1543
  "since": "2025-01-01"
1544
1544
  },
1545
1545
  "subsystem:session-manager": {
@@ -1571,7 +1571,7 @@
1571
1571
  "type": "subsystem",
1572
1572
  "domain": "updates",
1573
1573
  "sourcePath": "src/core/PostUpdateMigrator.ts",
1574
- "contentHash": "ae6f5bc6538825b0d6b162cb5a9c29816dd1e2ca5ebda81c0d8ad0adf97422ca",
1574
+ "contentHash": "2da8a2c29458d4e7598450bc0f52f4f57086dfc8e0e585198dc40b30f871b532",
1575
1575
  "since": "2025-01-01"
1576
1576
  },
1577
1577
  "subsystem:scheduler": {
@@ -2,7 +2,7 @@
2
2
  "schemaVersion": 1,
3
3
  "generatedFrom": "source-tree",
4
4
  "registrySha256": "3b12afd2e8d1cf7e26246e69c0af49bf7012a18d3a8bd128fe2aafa332f625c3",
5
- "packageVersion": "1.3.1236",
5
+ "packageVersion": "1.3.1237",
6
6
  "guards": [
7
7
  {
8
8
  "ref": "docs/audits/phase-b/f10-triage.md",
@@ -1,5 +1,5 @@
1
1
  {
2
- "sha256": "53ae7b33250340a148b08228981afd41edd953bf1dbec028fa73005799371038",
2
+ "sha256": "23ceff9bfc136a93db69ffd53732d121befbc52114b029213e2eda8cc8cd6336",
3
3
  "registrySha256": "3b12afd2e8d1cf7e26246e69c0af49bf7012a18d3a8bd128fe2aafa332f625c3",
4
- "packageVersion": "1.3.1236"
4
+ "packageVersion": "1.3.1237"
5
5
  }
@@ -2,5 +2,5 @@
2
2
  "sha256": "3b12afd2e8d1cf7e26246e69c0af49bf7012a18d3a8bd128fe2aafa332f625c3",
3
3
  "articleCount": 91,
4
4
  "generatedFrom": "docs/STANDARDS-REGISTRY.md",
5
- "packageVersion": "1.3.1236"
5
+ "packageVersion": "1.3.1237"
6
6
  }
@@ -903,6 +903,7 @@ I declare owner/blockedOn at commitment creation; a later state change goes thro
903
903
  - See the pool + each account's live quota: \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/subscription-pool\` · one account's quota + burn: \`GET /subscription-pool/:id/quota\` · poll all now: \`POST /subscription-pool/poll\`.
904
904
  - **Sign-in reliability history (passive, never repair authority)** — \`GET /subscription-pool/login-history?summary=1&days=7\` shows exchange-corroborated re-login episodes separately from provisional credential-read observations. Missing credentials require 3 matching passes spanning 30 minutes before an observation window opens, and never disable an account or trigger login/repair by themselves. Raw reads are bounded to 30 days and 500 rows. Use this when asked “how often do subscriptions need sign-in again?” or “was this a real auth failure or a credential-store visibility gap?”.
905
905
  - **Assisted sign-in repair (one approval, then autonomous)** — when a corroborated Claude Code authentication incident opens, \`GET /subscription-relogin\` shows the exact account/profile repair proposal. The operator taps **Repair sign-in** once in the dashboard; the bounded flow then handles provider-native login, CLI completion, identity verification, authenticated-use proof, pool recovery, and exact incident closure. CAPTCHA, phone confirmation, unexpected origins, identity ambiguity, or permission expansion stop in an operator-only/refused state. Never ask for or paste credentials into chat. Cancel: \`POST /subscription-relogin/EPISODE/cancel\`; inspect the redacted audit: \`GET /subscription-relogin/EPISODE/events\`.
906
+ - **One-click repair across all machines** — the Subscriptions grid reads \`GET /subscription-relogin?scope=pool\` and puts the action on the exact account×machine cell. After one dashboard unlock, \`POST /subscription-relogin/repair-cell\` delivers a signed, action-bound mandate to that machine; **Repair sign-in**, **Try repair again**, and **Cancel repair** map to durable approve/retry/cancel states. A dark assisted-repair feature leaves the manual sign-in path available; an unreachable peer is shown honestly and suppresses competing actions until truth returns.
906
907
  - **Quota across ALL my machines** (pool-scope read) — \`GET /subscription-pool?scope=pool\` fans out to every ONLINE peer's plain pool, tags each account with the machine holding it (\`machineId\`/\`machineNickname\`/\`remote:true\`), and merges into ONE dark-peer-tolerant object \`{ enabled, accounts:[...], pool:{ selfMachineId, peersQueried, peersOk, failed }, scope:'pool' }\`. A down/slow/unauth peer is a classified \`pool.failed\` row (normalized reason — never a peer URL or token), never a silent omission and never a 500. Per-machine seat is meaningful, so the SAME account on two machines stays individually visible (never coalesced). Single-machine → the plain self-only view tagged \`scope:'pool'\`. Use this when the operator asks "how much quota is left across ALL my machines?".
907
908
  - **Continuity guarantee** — a long session that hits its account's quota resumes on another eligible account (conversation preserved via \`--resume\`), never dies. Manual lever: \`POST /subscription-pool/swap\` \`{"sessionName":"...","exhaustedAccountId":"..."}\`. Auto-swap on rate-limit ships OFF (opt-in via \`subscriptionPool.autoSwapOnRateLimit\` — it moves a live session, real authority).
908
909
  - **Codex quota is first-class in the pool:** Codex accounts read the real 5-hour + weekly windows from their latest rollout instead of appearing permanently empty. Placement and every reactive/proactive swap are framework-safe: a Codex session can use only Codex accounts, and a Claude session only Claude accounts.
@@ -0,0 +1,27 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: minor -->
5
+
6
+ ## What Changed
7
+
8
+ - The Subscriptions grid now loads assisted re-login episodes from every reachable machine and binds each repair to the exact account×machine cell.
9
+ - One **Repair sign-in** click after dashboard unlock issues a signed, exact-bounds re-mint mandate and starts the autonomous flow on the machine that owns the broken credential.
10
+ - The target machine independently re-verifies the account, machine, episode, and mandate before acting. Ordinary API access remains insufficient.
11
+
12
+ ## What to Tell Your User
13
+
14
+ When a Claude account needs authentication on a machine, unlock the dashboard and click **Repair sign-in** on that exact grid cell. Instar handles the routine login autonomously on the target machine. It asks for help only when the provider presents a genuine security challenge it is not allowed to bypass.
15
+
16
+ ## Summary of New Capabilities
17
+
18
+ - Central, phone-friendly one-click repair across the machine fleet.
19
+ - Machine-tagged repair progress and typed peer failures in one dashboard.
20
+ - Signed cross-machine authorization with target-local point-of-use verification.
21
+ - Single-use, 15-minute repair permissions with durable replay refusal.
22
+
23
+ ## Evidence
24
+
25
+ - Focused dashboard, route, rendering, authority, and write-domain tests cover the one-click request, exact binding, remote episode aggregation, and deny/allow boundaries.
26
+ - Target-side tests cover expiry, first-use consumption, replay refusal, and redelivery tombstones.
27
+ - TypeScript build passes; full repository and remote CI remain release gates.
@@ -0,0 +1,9 @@
1
+ # One-click Claude sign-in repair across your machines
2
+
3
+ Today, a Claude account can be signed out on the Laptop while the dashboard you opened lives on the Mac Studio. The old repair feature could do the hard login work, but its approval lived on the machine with the broken account. That left an awkward gap: you could see the problem centrally without being able to fix that exact machine centrally.
4
+
5
+ This change closes that gap. In the Subscriptions grid, the broken account's exact machine cell shows **Repair sign-in**. Once you have unlocked the dashboard, one click sends a short-lived, signed permission slip to that machine and starts the existing bounded repair flow there. The permission slip names the exact account, machine, repair episode, evidence snapshot, and action, so it cannot be reused for another account or for ordinary account setup.
6
+
7
+ The cell continues to be useful after the first click. A safely failed repair offers **Try repair again**. Work in progress offers **Cancel repair**. If the repair feature is intentionally unavailable, or if a repair is refused for safety, the normal manual sign-in option remains available. If the machine's status cannot be trusted because it is offline or unreachable, competing actions are hidden until the dashboard can see the truth again.
8
+
9
+ The target machine still owns all credentials and browser state. The central dashboard never receives passwords, cookies, codes, or login profiles. CAPTCHA, phone verification, unexpected sites, identity ambiguity, permission changes, and billing/security changes continue to stop safely for operator help instead of being bypassed.