instar 1.3.895 → 1.3.896
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/core/FailureEpisodeLatch.d.ts +8 -0
- package/dist/core/FailureEpisodeLatch.d.ts.map +1 -1
- package/dist/core/FailureEpisodeLatch.js +14 -0
- package/dist/core/FailureEpisodeLatch.js.map +1 -1
- package/dist/core/SelfHealGate.d.ts +148 -0
- package/dist/core/SelfHealGate.d.ts.map +1 -0
- package/dist/core/SelfHealGate.js +391 -0
- package/dist/core/SelfHealGate.js.map +1 -0
- package/dist/feedback-factory/drain/FeedbackFactoryDefaultsSelfHeal.d.ts +19 -0
- package/dist/feedback-factory/drain/FeedbackFactoryDefaultsSelfHeal.d.ts.map +1 -0
- package/dist/feedback-factory/drain/FeedbackFactoryDefaultsSelfHeal.js +118 -0
- package/dist/feedback-factory/drain/FeedbackFactoryDefaultsSelfHeal.js.map +1 -0
- package/dist/feedback-factory/drain/FeedbackFactoryGeneratedDefaults.d.ts +11 -1
- package/dist/feedback-factory/drain/FeedbackFactoryGeneratedDefaults.d.ts.map +1 -1
- package/dist/feedback-factory/drain/FeedbackFactoryGeneratedDefaults.js +88 -25
- package/dist/feedback-factory/drain/FeedbackFactoryGeneratedDefaults.js.map +1 -1
- package/dist/monitoring/selfaction/policies.d.ts.map +1 -1
- package/dist/monitoring/selfaction/policies.js +14 -0
- package/dist/monitoring/selfaction/policies.js.map +1 -1
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +24 -6
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/testing/selfActionRegistry.d.ts.map +1 -1
- package/dist/testing/selfActionRegistry.js +25 -0
- package/dist/testing/selfActionRegistry.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +3 -3
- package/src/data/state-coherence-registry.json +17 -0
- package/upgrades/1.3.896.md +25 -0
- package/upgrades/side-effects/self-heal-gate.md +87 -0
|
@@ -45,7 +45,7 @@ import { FeedbackInitiativeConsumer } from '../feedback-factory/drain/FeedbackIn
|
|
|
45
45
|
import { FeedbackReadinessArbiter } from '../feedback-factory/drain/FeedbackReadinessArbiter.js';
|
|
46
46
|
import { FeedbackDrainService } from '../feedback-factory/drain/FeedbackDrainService.js';
|
|
47
47
|
import { FeedbackDrainTickProxy, resolveFeedbackDrainOwnerMachineId } from '../feedback-factory/drain/FeedbackDrainTickProxy.js';
|
|
48
|
-
import {
|
|
48
|
+
import { runFeedbackFactoryDefaultsSelfHeal } from '../feedback-factory/drain/FeedbackFactoryDefaultsSelfHeal.js';
|
|
49
49
|
import { FeedbackConsumerPromotionStore } from '../feedback-factory/drain/FeedbackConsumerPromotionStore.js';
|
|
50
50
|
import { resolveFeedbackDrainPosture } from '../feedback-factory/drain/FeedbackDrainPosture.js';
|
|
51
51
|
import { FeedbackDrainBackupCadence } from '../feedback-factory/drain/FeedbackDrainBackupCadence.js';
|
|
@@ -1554,9 +1554,6 @@ export class AgentServer {
|
|
|
1554
1554
|
// and exact-key Initiative handoff. Dev-live/fleet-dark, consumer dry-run
|
|
1555
1555
|
// until a durable PIN-approved promotion record exists.
|
|
1556
1556
|
try {
|
|
1557
|
-
const generatedDefaultsNeedHeal = options.config.stateDir
|
|
1558
|
-
? inspectFeedbackFactoryGeneratedDefaults(options.config.stateDir, options.config.developmentAgent === true) === 'repair-needed'
|
|
1559
|
-
: false;
|
|
1560
1557
|
const drainEnabled = resolveDevAgentGate(options.config.feedbackFactory?.drain?.enabled, options.config);
|
|
1561
1558
|
const consumerEnabled = resolveDevAgentGate(options.config.feedbackFactory?.consumer?.enabled, options.config);
|
|
1562
1559
|
const dataDir = resolveCanonicalStoreDir(options.config);
|
|
@@ -1668,8 +1665,29 @@ export class AgentServer {
|
|
|
1668
1665
|
return { ...finalized, reconciliation };
|
|
1669
1666
|
};
|
|
1670
1667
|
this.feedbackDrain = { service, store, promotion, tickProxy, checkpointBackup, finalizeFailoverRestore, isRestorePending: () => restorePending };
|
|
1671
|
-
if (
|
|
1672
|
-
|
|
1668
|
+
if (options.config.stateDir && sourceCheckout) {
|
|
1669
|
+
const selfHealBootId = randomUUID();
|
|
1670
|
+
void runFeedbackFactoryDefaultsSelfHeal({
|
|
1671
|
+
stateDir: options.config.stateDir,
|
|
1672
|
+
developmentAgent: options.config.developmentAgent === true,
|
|
1673
|
+
bootId: selfHealBootId,
|
|
1674
|
+
currentFence: () => isCanonicalOwner() ? `${selfMachineId}:${options.coordinator?.enabled ? options.coordinator.getLeaseEpoch() : localOwnerEpoch}` : null,
|
|
1675
|
+
notify: async (notice) => {
|
|
1676
|
+
const enqueue = this.telegramAdapter?.createAttentionItem;
|
|
1677
|
+
if (!enqueue)
|
|
1678
|
+
throw new Error('durable attention enqueue unavailable');
|
|
1679
|
+
await enqueue.call(this.telegramAdapter, {
|
|
1680
|
+
id: notice.id,
|
|
1681
|
+
title: 'Feedback defaults self-heal needs attention',
|
|
1682
|
+
description: `The bounded feedback-defaults repair reported ${notice.reason}.`,
|
|
1683
|
+
summary: `Feedback-defaults self-heal: ${notice.reason}`,
|
|
1684
|
+
priority: notice.priority,
|
|
1685
|
+
category: 'monitoring',
|
|
1686
|
+
sourceContext: 'self-heal-gate:feedback-defaults',
|
|
1687
|
+
});
|
|
1688
|
+
},
|
|
1689
|
+
audit: (event) => console.log(`[self-heal-gate] feedback-defaults ${event.event}${event.reason ? ` (${event.reason})` : ''}`),
|
|
1690
|
+
}).catch((error) => console.warn('[self-heal-gate] feedback-defaults attempt failed safely:', error instanceof Error ? error.message : 'unknown'));
|
|
1673
1691
|
}
|
|
1674
1692
|
if (options.config.developmentAgent === true && sourceCheckout) {
|
|
1675
1693
|
const backupTick = () => {
|