@agent-e/core 1.6.7 → 1.6.8
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/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +23 -58
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -58
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -731,7 +731,7 @@ declare const FEEDBACK_LOOP_PRINCIPLES: Principle[];
|
|
|
731
731
|
declare const P25_CorrectLeversForCorrectProblems: Principle;
|
|
732
732
|
declare const P26_ContinuousPressureBeatsThresholdCuts: Principle;
|
|
733
733
|
declare const P27_AdjustmentsNeedCooldowns: Principle;
|
|
734
|
-
|
|
734
|
+
|
|
735
735
|
declare const P38_CommunicationPreventsRevolt: Principle;
|
|
736
736
|
declare const REGULATOR_PRINCIPLES: Principle[];
|
|
737
737
|
|
|
@@ -781,4 +781,4 @@ declare const OPERATIONS_PRINCIPLES: Principle[];
|
|
|
781
781
|
/** All 60 built-in principles in priority order (supply chain → operations) */
|
|
782
782
|
declare const ALL_PRINCIPLES: Principle[];
|
|
783
783
|
|
|
784
|
-
export { ALL_PRINCIPLES, type ActionPlan, AgentE, type AgentEConfig, type AgentEMode, BOOTSTRAP_PRINCIPLES, CURRENCY_FLOW_PRINCIPLES, DEFAULT_THRESHOLDS, type DecisionEntry, DecisionLog, type DecisionResult, Diagnoser, type Diagnosis, type EconomicEvent, type EconomicEventType, type EconomyAdapter, type EconomyMetrics, type EconomyState, type ExecutionResult, Executor, FEEDBACK_LOOP_PRINCIPLES, type FlowImpact, INCENTIVE_PRINCIPLES, MARKET_DYNAMICS_PRINCIPLES, MEASUREMENT_PRINCIPLES, type MetricQuery, type MetricQueryResult, type MetricResolution, MetricStore, OPEN_ECONOMY_PRINCIPLES, OPERATIONS_PRINCIPLES, Observer, P10_EntryWeightingUsesInversePopulation, P11_TwoTierPressure, P12_OnePrimaryFaucet, P13_PotsAreZeroSumAndSelfRegulate, P14_TrackActualInjection, P15_PoolsNeedCapAndDecay, P16_WithdrawalPenaltyScales, P17_GracePeriodBeforeIntervention, P18_FirstProducerNeedsStartingInventory, P19_StartingSupplyExceedsDemand, P1_ProductionMatchesConsumption, P20_DecayPreventsAccumulation, P21_PriceFromGlobalSupply, P22_MarketAwarenessPreventsSurplus, P23_ProfitabilityFactorsFeasibility, P24_BlockedAgentsDecayFaster, P25_CorrectLeversForCorrectProblems, P26_ContinuousPressureBeatsThresholdCuts, P27_AdjustmentsNeedCooldowns, P28_StructuralDominanceIsNotPathological, P29_BottleneckDetection, P2_ClosedLoopsNeedDirectHandoff, P30_DynamicBottleneckRotation, P31_AnchorValueTracking, P32_VelocityAboveSupply, P33_FairNotEqual, P34_ExtractionRatio, P35_DestructionCreatesValue, P36_MechanicFrictionDetector, P37_LatecommerProblem, P38_CommunicationPreventsRevolt, P39_TheLagPrinciple, P3_BootstrapCapitalCoversFirstTransaction, P40_ReplacementRate, P41_MultiResolutionMonitoring, P42_TheMedianPrinciple, P43_SimulationMinimum, P44_ComplexityBudget, P45_TimeBudget, P46_PersonaDiversity, P47_SmokeTest, P48_CurrencyInsulation, P49_IdleAssetTax, P4_MaterialsFlowFasterThanCooldown, P50_PayPowerRatio, P51_CyclicalEngagement, P52_EndowmentEffect, P53_EventCompletionRate, P54_OperationalCadence, P55_ArbitrageThermometer, P56_SupplyShockAbsorption, P57_CombinatorialPriceSpace, P58_NoNaturalNumeraire, P59_GiftEconomyNoise, P5_ProfitabilityIsRelative, P60_SurplusDisposalAsymmetry, P6_CrowdingMultiplierOnAllRoles, P7_NonSpecialistsSubsidiseSpecialists, P8_RegulatorCannotFightDesign, P9_RoleSwitchingNeedsFriction, PARTICIPANT_EXPERIENCE_PRINCIPLES, PERSONA_HEALTHY_RANGES, POPULATION_PRINCIPLES, ParameterRegistry, type ParameterScope, type ParameterType, type PersonaConfig, type PersonaProfile, PersonaTracker, type PersonaType, type PinchPointStatus, Planner, type Principle, type PrincipleCategory, type PrincipleOk, type PrincipleResult, type PrincipleViolation, REGULATOR_PRINCIPLES, RESOURCE_MGMT_PRINCIPLES, type RegisteredParameter, type RegistryValidationResult, type RollbackCondition, STATISTICAL_PRINCIPLES, SUPPLY_CHAIN_PRINCIPLES, SYSTEM_DYNAMICS_PRINCIPLES, type SimulationConfig, type SimulationOutcome, type SimulationResult, Simulator, type SuggestedAction, type Thresholds, type TickConfig, type ValidationError, type ValidationResult, type ValidationWarning, emptyMetrics, findWorstSystem, validateEconomyState };
|
|
784
|
+
export { ALL_PRINCIPLES, type ActionPlan, AgentE, type AgentEConfig, type AgentEMode, BOOTSTRAP_PRINCIPLES, CURRENCY_FLOW_PRINCIPLES, DEFAULT_THRESHOLDS, type DecisionEntry, DecisionLog, type DecisionResult, Diagnoser, type Diagnosis, type EconomicEvent, type EconomicEventType, type EconomyAdapter, type EconomyMetrics, type EconomyState, type ExecutionResult, Executor, FEEDBACK_LOOP_PRINCIPLES, type FlowImpact, INCENTIVE_PRINCIPLES, MARKET_DYNAMICS_PRINCIPLES, MEASUREMENT_PRINCIPLES, type MetricQuery, type MetricQueryResult, type MetricResolution, MetricStore, OPEN_ECONOMY_PRINCIPLES, OPERATIONS_PRINCIPLES, Observer, P10_EntryWeightingUsesInversePopulation, P11_TwoTierPressure, P12_OnePrimaryFaucet, P13_PotsAreZeroSumAndSelfRegulate, P14_TrackActualInjection, P15_PoolsNeedCapAndDecay, P16_WithdrawalPenaltyScales, P17_GracePeriodBeforeIntervention, P18_FirstProducerNeedsStartingInventory, P19_StartingSupplyExceedsDemand, P1_ProductionMatchesConsumption, P20_DecayPreventsAccumulation, P21_PriceFromGlobalSupply, P22_MarketAwarenessPreventsSurplus, P23_ProfitabilityFactorsFeasibility, P24_BlockedAgentsDecayFaster, P25_CorrectLeversForCorrectProblems, P26_ContinuousPressureBeatsThresholdCuts, P27_AdjustmentsNeedCooldowns, P8_RegulatorCannotFightDesign as P28_StructuralDominanceIsNotPathological, P29_BottleneckDetection, P2_ClosedLoopsNeedDirectHandoff, P30_DynamicBottleneckRotation, P31_AnchorValueTracking, P32_VelocityAboveSupply, P33_FairNotEqual, P34_ExtractionRatio, P35_DestructionCreatesValue, P36_MechanicFrictionDetector, P37_LatecommerProblem, P38_CommunicationPreventsRevolt, P39_TheLagPrinciple, P3_BootstrapCapitalCoversFirstTransaction, P40_ReplacementRate, P41_MultiResolutionMonitoring, P42_TheMedianPrinciple, P43_SimulationMinimum, P44_ComplexityBudget, P45_TimeBudget, P46_PersonaDiversity, P47_SmokeTest, P48_CurrencyInsulation, P49_IdleAssetTax, P4_MaterialsFlowFasterThanCooldown, P50_PayPowerRatio, P51_CyclicalEngagement, P52_EndowmentEffect, P53_EventCompletionRate, P54_OperationalCadence, P55_ArbitrageThermometer, P56_SupplyShockAbsorption, P57_CombinatorialPriceSpace, P58_NoNaturalNumeraire, P59_GiftEconomyNoise, P5_ProfitabilityIsRelative, P60_SurplusDisposalAsymmetry, P6_CrowdingMultiplierOnAllRoles, P7_NonSpecialistsSubsidiseSpecialists, P8_RegulatorCannotFightDesign, P9_RoleSwitchingNeedsFriction, PARTICIPANT_EXPERIENCE_PRINCIPLES, PERSONA_HEALTHY_RANGES, POPULATION_PRINCIPLES, ParameterRegistry, type ParameterScope, type ParameterType, type PersonaConfig, type PersonaProfile, PersonaTracker, type PersonaType, type PinchPointStatus, Planner, type Principle, type PrincipleCategory, type PrincipleOk, type PrincipleResult, type PrincipleViolation, REGULATOR_PRINCIPLES, RESOURCE_MGMT_PRINCIPLES, type RegisteredParameter, type RegistryValidationResult, type RollbackCondition, STATISTICAL_PRINCIPLES, SUPPLY_CHAIN_PRINCIPLES, SYSTEM_DYNAMICS_PRINCIPLES, type SimulationConfig, type SimulationOutcome, type SimulationResult, Simulator, type SuggestedAction, type Thresholds, type TickConfig, type ValidationError, type ValidationResult, type ValidationWarning, emptyMetrics, findWorstSystem, validateEconomyState };
|
package/dist/index.d.ts
CHANGED
|
@@ -731,7 +731,7 @@ declare const FEEDBACK_LOOP_PRINCIPLES: Principle[];
|
|
|
731
731
|
declare const P25_CorrectLeversForCorrectProblems: Principle;
|
|
732
732
|
declare const P26_ContinuousPressureBeatsThresholdCuts: Principle;
|
|
733
733
|
declare const P27_AdjustmentsNeedCooldowns: Principle;
|
|
734
|
-
|
|
734
|
+
|
|
735
735
|
declare const P38_CommunicationPreventsRevolt: Principle;
|
|
736
736
|
declare const REGULATOR_PRINCIPLES: Principle[];
|
|
737
737
|
|
|
@@ -781,4 +781,4 @@ declare const OPERATIONS_PRINCIPLES: Principle[];
|
|
|
781
781
|
/** All 60 built-in principles in priority order (supply chain → operations) */
|
|
782
782
|
declare const ALL_PRINCIPLES: Principle[];
|
|
783
783
|
|
|
784
|
-
export { ALL_PRINCIPLES, type ActionPlan, AgentE, type AgentEConfig, type AgentEMode, BOOTSTRAP_PRINCIPLES, CURRENCY_FLOW_PRINCIPLES, DEFAULT_THRESHOLDS, type DecisionEntry, DecisionLog, type DecisionResult, Diagnoser, type Diagnosis, type EconomicEvent, type EconomicEventType, type EconomyAdapter, type EconomyMetrics, type EconomyState, type ExecutionResult, Executor, FEEDBACK_LOOP_PRINCIPLES, type FlowImpact, INCENTIVE_PRINCIPLES, MARKET_DYNAMICS_PRINCIPLES, MEASUREMENT_PRINCIPLES, type MetricQuery, type MetricQueryResult, type MetricResolution, MetricStore, OPEN_ECONOMY_PRINCIPLES, OPERATIONS_PRINCIPLES, Observer, P10_EntryWeightingUsesInversePopulation, P11_TwoTierPressure, P12_OnePrimaryFaucet, P13_PotsAreZeroSumAndSelfRegulate, P14_TrackActualInjection, P15_PoolsNeedCapAndDecay, P16_WithdrawalPenaltyScales, P17_GracePeriodBeforeIntervention, P18_FirstProducerNeedsStartingInventory, P19_StartingSupplyExceedsDemand, P1_ProductionMatchesConsumption, P20_DecayPreventsAccumulation, P21_PriceFromGlobalSupply, P22_MarketAwarenessPreventsSurplus, P23_ProfitabilityFactorsFeasibility, P24_BlockedAgentsDecayFaster, P25_CorrectLeversForCorrectProblems, P26_ContinuousPressureBeatsThresholdCuts, P27_AdjustmentsNeedCooldowns, P28_StructuralDominanceIsNotPathological, P29_BottleneckDetection, P2_ClosedLoopsNeedDirectHandoff, P30_DynamicBottleneckRotation, P31_AnchorValueTracking, P32_VelocityAboveSupply, P33_FairNotEqual, P34_ExtractionRatio, P35_DestructionCreatesValue, P36_MechanicFrictionDetector, P37_LatecommerProblem, P38_CommunicationPreventsRevolt, P39_TheLagPrinciple, P3_BootstrapCapitalCoversFirstTransaction, P40_ReplacementRate, P41_MultiResolutionMonitoring, P42_TheMedianPrinciple, P43_SimulationMinimum, P44_ComplexityBudget, P45_TimeBudget, P46_PersonaDiversity, P47_SmokeTest, P48_CurrencyInsulation, P49_IdleAssetTax, P4_MaterialsFlowFasterThanCooldown, P50_PayPowerRatio, P51_CyclicalEngagement, P52_EndowmentEffect, P53_EventCompletionRate, P54_OperationalCadence, P55_ArbitrageThermometer, P56_SupplyShockAbsorption, P57_CombinatorialPriceSpace, P58_NoNaturalNumeraire, P59_GiftEconomyNoise, P5_ProfitabilityIsRelative, P60_SurplusDisposalAsymmetry, P6_CrowdingMultiplierOnAllRoles, P7_NonSpecialistsSubsidiseSpecialists, P8_RegulatorCannotFightDesign, P9_RoleSwitchingNeedsFriction, PARTICIPANT_EXPERIENCE_PRINCIPLES, PERSONA_HEALTHY_RANGES, POPULATION_PRINCIPLES, ParameterRegistry, type ParameterScope, type ParameterType, type PersonaConfig, type PersonaProfile, PersonaTracker, type PersonaType, type PinchPointStatus, Planner, type Principle, type PrincipleCategory, type PrincipleOk, type PrincipleResult, type PrincipleViolation, REGULATOR_PRINCIPLES, RESOURCE_MGMT_PRINCIPLES, type RegisteredParameter, type RegistryValidationResult, type RollbackCondition, STATISTICAL_PRINCIPLES, SUPPLY_CHAIN_PRINCIPLES, SYSTEM_DYNAMICS_PRINCIPLES, type SimulationConfig, type SimulationOutcome, type SimulationResult, Simulator, type SuggestedAction, type Thresholds, type TickConfig, type ValidationError, type ValidationResult, type ValidationWarning, emptyMetrics, findWorstSystem, validateEconomyState };
|
|
784
|
+
export { ALL_PRINCIPLES, type ActionPlan, AgentE, type AgentEConfig, type AgentEMode, BOOTSTRAP_PRINCIPLES, CURRENCY_FLOW_PRINCIPLES, DEFAULT_THRESHOLDS, type DecisionEntry, DecisionLog, type DecisionResult, Diagnoser, type Diagnosis, type EconomicEvent, type EconomicEventType, type EconomyAdapter, type EconomyMetrics, type EconomyState, type ExecutionResult, Executor, FEEDBACK_LOOP_PRINCIPLES, type FlowImpact, INCENTIVE_PRINCIPLES, MARKET_DYNAMICS_PRINCIPLES, MEASUREMENT_PRINCIPLES, type MetricQuery, type MetricQueryResult, type MetricResolution, MetricStore, OPEN_ECONOMY_PRINCIPLES, OPERATIONS_PRINCIPLES, Observer, P10_EntryWeightingUsesInversePopulation, P11_TwoTierPressure, P12_OnePrimaryFaucet, P13_PotsAreZeroSumAndSelfRegulate, P14_TrackActualInjection, P15_PoolsNeedCapAndDecay, P16_WithdrawalPenaltyScales, P17_GracePeriodBeforeIntervention, P18_FirstProducerNeedsStartingInventory, P19_StartingSupplyExceedsDemand, P1_ProductionMatchesConsumption, P20_DecayPreventsAccumulation, P21_PriceFromGlobalSupply, P22_MarketAwarenessPreventsSurplus, P23_ProfitabilityFactorsFeasibility, P24_BlockedAgentsDecayFaster, P25_CorrectLeversForCorrectProblems, P26_ContinuousPressureBeatsThresholdCuts, P27_AdjustmentsNeedCooldowns, P8_RegulatorCannotFightDesign as P28_StructuralDominanceIsNotPathological, P29_BottleneckDetection, P2_ClosedLoopsNeedDirectHandoff, P30_DynamicBottleneckRotation, P31_AnchorValueTracking, P32_VelocityAboveSupply, P33_FairNotEqual, P34_ExtractionRatio, P35_DestructionCreatesValue, P36_MechanicFrictionDetector, P37_LatecommerProblem, P38_CommunicationPreventsRevolt, P39_TheLagPrinciple, P3_BootstrapCapitalCoversFirstTransaction, P40_ReplacementRate, P41_MultiResolutionMonitoring, P42_TheMedianPrinciple, P43_SimulationMinimum, P44_ComplexityBudget, P45_TimeBudget, P46_PersonaDiversity, P47_SmokeTest, P48_CurrencyInsulation, P49_IdleAssetTax, P4_MaterialsFlowFasterThanCooldown, P50_PayPowerRatio, P51_CyclicalEngagement, P52_EndowmentEffect, P53_EventCompletionRate, P54_OperationalCadence, P55_ArbitrageThermometer, P56_SupplyShockAbsorption, P57_CombinatorialPriceSpace, P58_NoNaturalNumeraire, P59_GiftEconomyNoise, P5_ProfitabilityIsRelative, P60_SurplusDisposalAsymmetry, P6_CrowdingMultiplierOnAllRoles, P7_NonSpecialistsSubsidiseSpecialists, P8_RegulatorCannotFightDesign, P9_RoleSwitchingNeedsFriction, PARTICIPANT_EXPERIENCE_PRINCIPLES, PERSONA_HEALTHY_RANGES, POPULATION_PRINCIPLES, ParameterRegistry, type ParameterScope, type ParameterType, type PersonaConfig, type PersonaProfile, PersonaTracker, type PersonaType, type PinchPointStatus, Planner, type Principle, type PrincipleCategory, type PrincipleOk, type PrincipleResult, type PrincipleViolation, REGULATOR_PRINCIPLES, RESOURCE_MGMT_PRINCIPLES, type RegisteredParameter, type RegistryValidationResult, type RollbackCondition, STATISTICAL_PRINCIPLES, SUPPLY_CHAIN_PRINCIPLES, SYSTEM_DYNAMICS_PRINCIPLES, type SimulationConfig, type SimulationOutcome, type SimulationResult, Simulator, type SuggestedAction, type Thresholds, type TickConfig, type ValidationError, type ValidationResult, type ValidationWarning, emptyMetrics, findWorstSystem, validateEconomyState };
|
package/dist/index.js
CHANGED
|
@@ -55,7 +55,7 @@ __export(index_exports, {
|
|
|
55
55
|
P25_CorrectLeversForCorrectProblems: () => P25_CorrectLeversForCorrectProblems,
|
|
56
56
|
P26_ContinuousPressureBeatsThresholdCuts: () => P26_ContinuousPressureBeatsThresholdCuts,
|
|
57
57
|
P27_AdjustmentsNeedCooldowns: () => P27_AdjustmentsNeedCooldowns,
|
|
58
|
-
P28_StructuralDominanceIsNotPathological: () =>
|
|
58
|
+
P28_StructuralDominanceIsNotPathological: () => P8_RegulatorCannotFightDesign,
|
|
59
59
|
P29_BottleneckDetection: () => P29_BottleneckDetection,
|
|
60
60
|
P2_ClosedLoopsNeedDirectHandoff: () => P2_ClosedLoopsNeedDirectHandoff,
|
|
61
61
|
P30_DynamicBottleneckRotation: () => P30_DynamicBottleneckRotation,
|
|
@@ -366,6 +366,8 @@ var Observer = class {
|
|
|
366
366
|
const uniqueRoles = new Set(Object.values(state.agentRoles));
|
|
367
367
|
const rolesEmpty = uniqueRoles.size <= 1;
|
|
368
368
|
if (rolesEmpty && personaDistribution && Object.keys(personaDistribution).length > 0) {
|
|
369
|
+
for (const key of Object.keys(populationByRole)) delete populationByRole[key];
|
|
370
|
+
for (const key of Object.keys(roleShares)) delete roleShares[key];
|
|
369
371
|
for (const [persona, fraction] of Object.entries(personaDistribution)) {
|
|
370
372
|
populationByRole[persona] = Math.round(fraction * totalAgents);
|
|
371
373
|
}
|
|
@@ -868,24 +870,29 @@ var P4_MaterialsFlowFasterThanCooldown = {
|
|
|
868
870
|
const roleEntries = Object.entries(populationByRole);
|
|
869
871
|
const totalRoles = roleEntries.length;
|
|
870
872
|
if (totalRoles >= 2 && avgSupplyPerAgent < 0.5) {
|
|
873
|
+
const stagnantCurrencies = [];
|
|
871
874
|
for (const [currency, currVelocity] of Object.entries(velocityByCurrency)) {
|
|
872
875
|
if (currVelocity < 5) {
|
|
873
|
-
|
|
874
|
-
violated: true,
|
|
875
|
-
severity: 5,
|
|
876
|
-
evidence: { currency, currVelocity, avgSupplyPerAgent, totalRoles },
|
|
877
|
-
suggestedAction: {
|
|
878
|
-
parameterType: "yield",
|
|
879
|
-
scope: { currency },
|
|
880
|
-
direction: "increase",
|
|
881
|
-
magnitude: 0.15,
|
|
882
|
-
reasoning: `${currency} velocity is ${currVelocity.toFixed(1)} \u2014 materials not flowing. Increase yield to compensate.`
|
|
883
|
-
},
|
|
884
|
-
confidence: 0.7,
|
|
885
|
-
estimatedLag: 8
|
|
886
|
-
};
|
|
876
|
+
stagnantCurrencies.push({ currency, currVelocity });
|
|
887
877
|
}
|
|
888
878
|
}
|
|
879
|
+
if (stagnantCurrencies.length > 0) {
|
|
880
|
+
const worst = stagnantCurrencies.reduce((a, b) => a.currVelocity < b.currVelocity ? a : b);
|
|
881
|
+
return {
|
|
882
|
+
violated: true,
|
|
883
|
+
severity: 5,
|
|
884
|
+
evidence: { stagnantCurrencies, worst: worst.currency, avgSupplyPerAgent, totalRoles },
|
|
885
|
+
suggestedAction: {
|
|
886
|
+
parameterType: "yield",
|
|
887
|
+
scope: { currency: worst.currency },
|
|
888
|
+
direction: "increase",
|
|
889
|
+
magnitude: 0.15,
|
|
890
|
+
reasoning: `${stagnantCurrencies.length} currencies stagnant (worst: ${worst.currency} at ${worst.currVelocity.toFixed(1)}). Increase yield to compensate.`
|
|
891
|
+
},
|
|
892
|
+
confidence: 0.7,
|
|
893
|
+
estimatedLag: 8
|
|
894
|
+
};
|
|
895
|
+
}
|
|
889
896
|
if (Object.keys(velocityByCurrency).length === 0 && velocity < 5) {
|
|
890
897
|
return {
|
|
891
898
|
violated: true,
|
|
@@ -1068,18 +1075,7 @@ var P8_RegulatorCannotFightDesign = {
|
|
|
1068
1075
|
if (dominantShare <= 0.3) return { violated: false };
|
|
1069
1076
|
const isStructural = thresholds.dominantRoles?.includes(dominantRole) ?? false;
|
|
1070
1077
|
if (isStructural) {
|
|
1071
|
-
return {
|
|
1072
|
-
violated: true,
|
|
1073
|
-
severity: 3,
|
|
1074
|
-
evidence: { role: dominantRole, share: dominantShare, classification: "structural" },
|
|
1075
|
-
suggestedAction: {
|
|
1076
|
-
parameterType: "rate",
|
|
1077
|
-
direction: "set",
|
|
1078
|
-
magnitude: 0,
|
|
1079
|
-
reasoning: `${dominantRole} dominance (${(dominantShare * 100).toFixed(0)}%) is by design. No intervention.`
|
|
1080
|
-
},
|
|
1081
|
-
confidence: 0.85
|
|
1082
|
-
};
|
|
1078
|
+
return { violated: false };
|
|
1083
1079
|
}
|
|
1084
1080
|
return {
|
|
1085
1081
|
violated: true,
|
|
@@ -1852,37 +1848,6 @@ var P27_AdjustmentsNeedCooldowns = {
|
|
|
1852
1848
|
return { violated: false };
|
|
1853
1849
|
}
|
|
1854
1850
|
};
|
|
1855
|
-
var P28_StructuralDominanceIsNotPathological = {
|
|
1856
|
-
id: "P28",
|
|
1857
|
-
name: "Structural Dominance \u2260 Pathological Monopoly",
|
|
1858
|
-
category: "regulator",
|
|
1859
|
-
description: 'A designed dominant role (majority exceeds 55%) should not trigger population suppression. AgentE must distinguish between "this role is dominant BY DESIGN" (configured via dominantRoles) and "this role took over unexpectedly".',
|
|
1860
|
-
check(metrics, _thresholds) {
|
|
1861
|
-
const { roleShares, avgSatisfaction } = metrics;
|
|
1862
|
-
const dominant = Object.entries(roleShares).sort((a, b) => b[1] - a[1])[0];
|
|
1863
|
-
if (!dominant) return { violated: false };
|
|
1864
|
-
const [dominantRole, dominantShare] = dominant;
|
|
1865
|
-
if (dominantShare > 0.4 && avgSatisfaction > 70) {
|
|
1866
|
-
return { violated: false };
|
|
1867
|
-
}
|
|
1868
|
-
if (dominantShare > 0.4 && avgSatisfaction < 50) {
|
|
1869
|
-
return {
|
|
1870
|
-
violated: true,
|
|
1871
|
-
severity: 5,
|
|
1872
|
-
evidence: { dominantRole, dominantShare, avgSatisfaction },
|
|
1873
|
-
suggestedAction: {
|
|
1874
|
-
parameterType: "cost",
|
|
1875
|
-
direction: "decrease",
|
|
1876
|
-
magnitude: 0.1,
|
|
1877
|
-
reasoning: `${dominantRole} dominant (${(dominantShare * 100).toFixed(0)}%) with low satisfaction. Pathological dominance \u2014 agents trapped, not thriving. Ease costs to allow role switching.`
|
|
1878
|
-
},
|
|
1879
|
-
confidence: 0.65,
|
|
1880
|
-
estimatedLag: 15
|
|
1881
|
-
};
|
|
1882
|
-
}
|
|
1883
|
-
return { violated: false };
|
|
1884
|
-
}
|
|
1885
|
-
};
|
|
1886
1851
|
var P38_CommunicationPreventsRevolt = {
|
|
1887
1852
|
id: "P38",
|
|
1888
1853
|
name: "Communication Prevents Revolt",
|