cbrowser 14.4.1 → 16.0.0

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.ts CHANGED
@@ -36,4 +36,5 @@ export * from "./analysis/index.js";
36
36
  export * from "./performance/index.js";
37
37
  export { validateFilePath, sanitizeFilename, safePath } from "./utils.js";
38
38
  export * from "./browser/index.js";
39
+ export * from "./stealth/index.js";
39
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIvH,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG1E,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIvH,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG1E,cAAc,oBAAoB,CAAC;AAInC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -42,4 +42,7 @@ export * from "./performance/index.js";
42
42
  export { validateFilePath, sanitizeFilename, safePath } from "./utils.js";
43
43
  // Browser module (v10.4.5)
44
44
  export * from "./browser/index.js";
45
+ // Constitutional Stealth Framework (v15.0.0)
46
+ // Full implementation available in cbrowser-enterprise
47
+ export * from "./stealth/index.js";
45
48
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzF,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvH,2BAA2B;AAC3B,wBAAwB;AACxB,cAAc,mBAAmB,CAAC;AAElC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzF,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvH,2BAA2B;AAC3B,wBAAwB;AACxB,cAAc,mBAAmB,CAAC;AAElC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,6CAA6C;AAC7C,uDAAuD;AACvD,cAAc,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkBtH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmC5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAM1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAwBzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAMD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CA+OT;AAkHD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAChC,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IACnD,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACxB,GACL,OAAO,CAyCT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAiDtE;AAMD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAwWpD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAS5D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAMvC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAMD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAgdvE,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAEtF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAgQtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAErE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD"}
1
+ {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkBtH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmC5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAM1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAwBzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAMD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CA+OT;AAmND;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAChC,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IACnD,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACxB,GACL,OAAO,CAuDT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CA+DtE;AAMD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA4bpD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAS5D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAMvC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAMD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CA+kBvE,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAEtF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAwTtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAErE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD"}
package/dist/personas.js CHANGED
@@ -439,6 +439,84 @@ function generateCognitiveTraitsFromDescription(descLower, techLevel, isImpatien
439
439
  workingMemory = Math.min(workingMemory, 0.3);
440
440
  curiosity = Math.max(curiosity, 0.7);
441
441
  }
442
+ // New cognitive traits (v15.0.0) - derive from existing analysis
443
+ let informationForaging = 0.5;
444
+ let changeBlindness = 0.3;
445
+ let anchoringBias = 0.5;
446
+ let timeHorizon = 0.5;
447
+ let attributionStyle = 0.5;
448
+ let metacognitivePlanning = 0.5;
449
+ let proceduralFluency = 0.5;
450
+ let transferLearning = 0.5;
451
+ let authoritySensitivity = 0.5;
452
+ let emotionalContagion = 0.5;
453
+ let fearOfMissingOut = 0.5;
454
+ let socialProofSensitivity = 0.5;
455
+ let mentalModelRigidity = 0.5;
456
+ // Adjust new traits by tech level
457
+ if (techLevel === "expert") {
458
+ informationForaging = 0.9; // Experts follow scent efficiently
459
+ changeBlindness = 0.2; // Notice UI changes
460
+ anchoringBias = 0.3; // Less anchored, compare options
461
+ timeHorizon = 0.3; // Plan for long-term
462
+ attributionStyle = 0.2; // Blame system, not self
463
+ metacognitivePlanning = 0.8; // Plan before acting
464
+ proceduralFluency = 0.9; // Follow procedures easily
465
+ transferLearning = 0.95; // Apply knowledge across UIs
466
+ authoritySensitivity = 0.3; // Question authority, verify
467
+ emotionalContagion = 0.2; // Mood-stable
468
+ fearOfMissingOut = 0.2; // Not swayed by urgency
469
+ socialProofSensitivity = 0.3; // Evaluate on merits
470
+ mentalModelRigidity = 0.8; // Adapt to new patterns
471
+ }
472
+ else if (techLevel === "beginner") {
473
+ informationForaging = 0.3; // Exhaustive search
474
+ changeBlindness = 0.6; // Miss peripheral changes
475
+ anchoringBias = 0.7; // Anchored to first info
476
+ timeHorizon = 0.7; // Want immediate results
477
+ attributionStyle = 0.8; // Blame self for errors
478
+ metacognitivePlanning = 0.3; // Impulsive trial-and-error
479
+ proceduralFluency = 0.3; // Struggle with sequences
480
+ transferLearning = 0.2; // Each UI is novel
481
+ authoritySensitivity = 0.8; // Follow authority cues
482
+ emotionalContagion = 0.7; // Mood influenced by UI
483
+ fearOfMissingOut = 0.7; // Susceptible to urgency
484
+ socialProofSensitivity = 0.8; // Rely on reviews
485
+ mentalModelRigidity = 0.3; // Struggle with new patterns
486
+ }
487
+ // Adjust for impatience
488
+ if (isImpatient) {
489
+ informationForaging = Math.max(informationForaging, 0.8); // Quick scent-following
490
+ timeHorizon = Math.max(timeHorizon, 0.9); // Want results NOW
491
+ metacognitivePlanning = Math.min(metacognitivePlanning, 0.2); // No planning
492
+ fearOfMissingOut = Math.max(fearOfMissingOut, 0.8); // Respond to urgency
493
+ }
494
+ // Adjust for slow/careful users
495
+ if (isSlow) {
496
+ changeBlindness = Math.min(changeBlindness, 0.2); // Notice changes
497
+ timeHorizon = Math.min(timeHorizon, 0.3); // Long-term focused
498
+ metacognitivePlanning = Math.max(metacognitivePlanning, 0.8); // Plan carefully
499
+ fearOfMissingOut = Math.min(fearOfMissingOut, 0.2); // Not swayed by urgency
500
+ }
501
+ // Adjust for elderly
502
+ if (ageRange === "65+") {
503
+ informationForaging = Math.min(informationForaging, 0.3); // Exhaustive search
504
+ changeBlindness = Math.max(changeBlindness, 0.7); // Miss changes
505
+ anchoringBias = Math.max(anchoringBias, 0.7); // Anchored to first info
506
+ attributionStyle = Math.max(attributionStyle, 0.8); // Blame self
507
+ proceduralFluency = Math.min(proceduralFluency, 0.35); // Struggle with sequences
508
+ transferLearning = Math.min(transferLearning, 0.25); // Each UI novel
509
+ authoritySensitivity = Math.max(authoritySensitivity, 0.7); // Trust authority
510
+ mentalModelRigidity = Math.min(mentalModelRigidity, 0.2); // Rigid mental models
511
+ }
512
+ // Adjust for vision issues (screen reader users)
513
+ if (hasVisionIssues) {
514
+ informationForaging = Math.max(informationForaging, 0.7); // Sequential but efficient
515
+ changeBlindness = Math.min(changeBlindness, 0.3); // ARIA live regions help
516
+ metacognitivePlanning = Math.max(metacognitivePlanning, 0.8); // Plan navigation
517
+ proceduralFluency = Math.max(proceduralFluency, 0.8); // Follow structures
518
+ transferLearning = Math.max(transferLearning, 0.7); // Know a11y patterns
519
+ }
442
520
  return {
443
521
  patience,
444
522
  riskTolerance,
@@ -448,6 +526,20 @@ function generateCognitiveTraitsFromDescription(descLower, techLevel, isImpatien
448
526
  workingMemory,
449
527
  readingTendency,
450
528
  resilience, // v10.6.0: Brief Resilience Scale (Smith et al., 2008)
529
+ // New traits (v15.0.0)
530
+ informationForaging,
531
+ changeBlindness,
532
+ anchoringBias,
533
+ timeHorizon,
534
+ attributionStyle,
535
+ metacognitivePlanning,
536
+ proceduralFluency,
537
+ transferLearning,
538
+ authoritySensitivity,
539
+ emotionalContagion,
540
+ fearOfMissingOut,
541
+ socialProofSensitivity,
542
+ mentalModelRigidity,
451
543
  };
452
544
  }
453
545
  /**
@@ -467,6 +559,20 @@ export function createCognitivePersona(name, description, traits, options = {})
467
559
  workingMemory: traits.workingMemory ?? basePersona.cognitiveTraits?.workingMemory ?? 0.5,
468
560
  readingTendency: traits.readingTendency ?? basePersona.cognitiveTraits?.readingTendency ?? 0.5,
469
561
  resilience: traits.resilience ?? basePersona.cognitiveTraits?.resilience ?? 0.5,
562
+ // New traits (v15.0.0)
563
+ informationForaging: traits.informationForaging ?? basePersona.cognitiveTraits?.informationForaging ?? 0.5,
564
+ changeBlindness: traits.changeBlindness ?? basePersona.cognitiveTraits?.changeBlindness ?? 0.3,
565
+ anchoringBias: traits.anchoringBias ?? basePersona.cognitiveTraits?.anchoringBias ?? 0.5,
566
+ timeHorizon: traits.timeHorizon ?? basePersona.cognitiveTraits?.timeHorizon ?? 0.5,
567
+ attributionStyle: traits.attributionStyle ?? basePersona.cognitiveTraits?.attributionStyle ?? 0.5,
568
+ metacognitivePlanning: traits.metacognitivePlanning ?? basePersona.cognitiveTraits?.metacognitivePlanning ?? 0.5,
569
+ proceduralFluency: traits.proceduralFluency ?? basePersona.cognitiveTraits?.proceduralFluency ?? 0.5,
570
+ transferLearning: traits.transferLearning ?? basePersona.cognitiveTraits?.transferLearning ?? 0.5,
571
+ authoritySensitivity: traits.authoritySensitivity ?? basePersona.cognitiveTraits?.authoritySensitivity ?? 0.5,
572
+ emotionalContagion: traits.emotionalContagion ?? basePersona.cognitiveTraits?.emotionalContagion ?? 0.5,
573
+ fearOfMissingOut: traits.fearOfMissingOut ?? basePersona.cognitiveTraits?.fearOfMissingOut ?? 0.5,
574
+ socialProofSensitivity: traits.socialProofSensitivity ?? basePersona.cognitiveTraits?.socialProofSensitivity ?? 0.5,
575
+ mentalModelRigidity: traits.mentalModelRigidity ?? basePersona.cognitiveTraits?.mentalModelRigidity ?? 0.5,
470
576
  };
471
577
  // Update demographics if provided
472
578
  if (options.techLevel) {
@@ -545,6 +651,20 @@ export function getCognitiveProfile(persona) {
545
651
  workingMemory: 0.5,
546
652
  readingTendency: 0.5,
547
653
  resilience: 0.5, // v10.6.0: Brief Resilience Scale (Smith et al., 2008)
654
+ // New traits (v15.0.0)
655
+ informationForaging: 0.5,
656
+ changeBlindness: 0.3,
657
+ anchoringBias: 0.5,
658
+ timeHorizon: 0.5,
659
+ attributionStyle: 0.5,
660
+ metacognitivePlanning: 0.5,
661
+ proceduralFluency: 0.5,
662
+ transferLearning: 0.5,
663
+ authoritySensitivity: 0.5,
664
+ emotionalContagion: 0.5,
665
+ fearOfMissingOut: 0.5,
666
+ socialProofSensitivity: 0.5,
667
+ mentalModelRigidity: 0.5,
548
668
  },
549
669
  attentionPattern,
550
670
  decisionStyle,
@@ -609,6 +729,20 @@ export const BUILTIN_PERSONAS = {
609
729
  satisficing: 0.3, // Low - knows quality, seeks optimal (Simon)
610
730
  trustCalibration: 0.7, // High - trusts tech but verifies (Fogg)
611
731
  interruptRecovery: 0.85, // High - uses env cues, resumes fast (Mark)
732
+ // New traits (v15.0.0)
733
+ informationForaging: 0.9, // High - follows scent efficiently
734
+ changeBlindness: 0.2, // Low - notices UI changes
735
+ anchoringBias: 0.3, // Low - compares options freely
736
+ timeHorizon: 0.3, // Long-term - invests in learning
737
+ attributionStyle: 0.2, // Blames system - "this is broken"
738
+ metacognitivePlanning: 0.8, // High - plans before acting
739
+ proceduralFluency: 0.9, // High - follows procedures easily
740
+ transferLearning: 0.95, // High - applies knowledge across UIs
741
+ authoritySensitivity: 0.3, // Low - questions authority, verifies
742
+ emotionalContagion: 0.2, // Low - mood-stable
743
+ fearOfMissingOut: 0.2, // Low - not swayed by urgency
744
+ socialProofSensitivity: 0.3, // Low - evaluates on merits
745
+ mentalModelRigidity: 0.8, // High - adapts to new patterns
612
746
  },
613
747
  context: {
614
748
  viewport: [1920, 1080],
@@ -668,6 +802,20 @@ export const BUILTIN_PERSONAS = {
668
802
  satisficing: 0.5, // Medium - unsure what's "good enough" (Simon)
669
803
  trustCalibration: 0.4, // Low - skeptical, unsure what to trust (Fogg)
670
804
  interruptRecovery: 0.35, // Low - easily loses place, restarts (Mark)
805
+ // New traits (v15.0.0)
806
+ informationForaging: 0.3, // Low - exhaustive search, clicks everything
807
+ changeBlindness: 0.6, // High - misses peripheral changes
808
+ anchoringBias: 0.7, // High - anchored to first information
809
+ timeHorizon: 0.7, // Short-term - wants quick results
810
+ attributionStyle: 0.7, // Self-blaming - "I must be doing it wrong"
811
+ metacognitivePlanning: 0.3, // Low - trial-and-error approach
812
+ proceduralFluency: 0.35, // Low - struggles with multi-step flows
813
+ transferLearning: 0.2, // Low - each interface feels new
814
+ authoritySensitivity: 0.8, // High - trusts official-looking cues
815
+ emotionalContagion: 0.7, // High - influenced by UI tone
816
+ fearOfMissingOut: 0.6, // Medium-high - susceptible to urgency
817
+ socialProofSensitivity: 0.8, // High - relies heavily on reviews
818
+ mentalModelRigidity: 0.3, // Low - struggles when patterns break
671
819
  },
672
820
  context: {
673
821
  viewport: [1280, 800],
@@ -727,6 +875,20 @@ export const BUILTIN_PERSONAS = {
727
875
  satisficing: 0.8, // High - mobile context demands quick decisions (Simon)
728
876
  trustCalibration: 0.6, // Medium - quick decisions, moderate trust (Fogg)
729
877
  interruptRecovery: 0.45, // Low-Med - constant phone interruptions (Mark)
878
+ // New traits (v15.0.0)
879
+ informationForaging: 0.7, // High - efficient mobile navigation
880
+ changeBlindness: 0.5, // Medium - small screen limits peripheral
881
+ anchoringBias: 0.5, // Medium
882
+ timeHorizon: 0.8, // Very short-term - mobile is quick tasks
883
+ attributionStyle: 0.4, // Medium - blames small screen/touch
884
+ metacognitivePlanning: 0.4, // Low-medium - quick decisions
885
+ proceduralFluency: 0.6, // Medium - knows mobile patterns
886
+ transferLearning: 0.7, // High - mobile UI conventions
887
+ authoritySensitivity: 0.5, // Medium
888
+ emotionalContagion: 0.5, // Medium
889
+ fearOfMissingOut: 0.7, // High - push notifications, urgency
890
+ socialProofSensitivity: 0.6, // Medium-high - app store ratings
891
+ mentalModelRigidity: 0.6, // Medium - adapts to mobile patterns
730
892
  },
731
893
  context: {
732
894
  viewport: [375, 812], // iPhone X dimensions
@@ -786,6 +948,20 @@ export const BUILTIN_PERSONAS = {
786
948
  satisficing: 0.6, // Medium - relies on structured review content (Simon)
787
949
  trustCalibration: 0.5, // Medium - cautious from past a11y failures (Fogg)
788
950
  interruptRecovery: 0.75, // High - strong mental model aids recovery (Mark)
951
+ // New traits (v15.0.0)
952
+ informationForaging: 0.7, // High - sequential but efficient with landmarks
953
+ changeBlindness: 0.3, // Low - ARIA live regions announce changes
954
+ anchoringBias: 0.4, // Medium - sequential exposure to info
955
+ timeHorizon: 0.3, // Long-term - patient, thorough
956
+ attributionStyle: 0.4, // Medium - blames inaccessible design
957
+ metacognitivePlanning: 0.85, // Very high - plans navigation carefully
958
+ proceduralFluency: 0.8, // High - follows heading structure
959
+ transferLearning: 0.75, // High - knows a11y patterns across sites
960
+ authoritySensitivity: 0.5, // Medium - verifies with screen reader
961
+ emotionalContagion: 0.3, // Low - focused on structure, not tone
962
+ fearOfMissingOut: 0.2, // Low - methodical, not impulsive
963
+ socialProofSensitivity: 0.5, // Medium - reviews are accessible info
964
+ mentalModelRigidity: 0.6, // Medium - adapts but needs time
789
965
  },
790
966
  context: {
791
967
  viewport: [1280, 800],
@@ -845,6 +1021,20 @@ export const BUILTIN_PERSONAS = {
845
1021
  satisficing: 0.7, // High - values simplicity over optimization (Simon)
846
1022
  trustCalibration: 0.25, // Very low - skeptical of online requests (Fogg)
847
1023
  interruptRecovery: 0.3, // Low - difficulty resuming, forgets context (Mark)
1024
+ // New traits (v15.0.0)
1025
+ informationForaging: 0.25, // Very low - exhaustive, uncertain search
1026
+ changeBlindness: 0.7, // High - misses UI updates and changes
1027
+ anchoringBias: 0.8, // High - sticks to first information
1028
+ timeHorizon: 0.4, // Medium - patient but unsure of value
1029
+ attributionStyle: 0.85, // Very high - blames self for all errors
1030
+ metacognitivePlanning: 0.25, // Low - doesn't know what to plan for
1031
+ proceduralFluency: 0.3, // Low - struggles with multi-step processes
1032
+ transferLearning: 0.2, // Low - each new site is confusing
1033
+ authoritySensitivity: 0.85, // Very high - trusts official-looking things
1034
+ emotionalContagion: 0.6, // Medium-high - affected by stern warnings
1035
+ fearOfMissingOut: 0.3, // Low - not driven by urgency, confused by it
1036
+ socialProofSensitivity: 0.7, // High - relies on grandchildren's recommendations
1037
+ mentalModelRigidity: 0.2, // Very low - rigid, struggles with novel UIs
848
1038
  },
849
1039
  context: {
850
1040
  viewport: [1280, 800],
@@ -904,6 +1094,20 @@ export const BUILTIN_PERSONAS = {
904
1094
  satisficing: 0.9, // Very high - definition of satisficing (Simon)
905
1095
  trustCalibration: 0.7, // High - clicks through without reading (Fogg)
906
1096
  interruptRecovery: 0.2, // Very low - abandons rather than resumes (Mark)
1097
+ // New traits (v15.0.0)
1098
+ informationForaging: 0.9, // Very high - follows first scent, moves on
1099
+ changeBlindness: 0.5, // Medium - focused on task
1100
+ anchoringBias: 0.6, // Medium-high - goes with first option
1101
+ timeHorizon: 0.95, // Maximum short-term - no time for later
1102
+ attributionStyle: 0.3, // Low - blames slow site
1103
+ metacognitivePlanning: 0.1, // Very low - no planning, just clicking
1104
+ proceduralFluency: 0.5, // Medium - can follow if fast
1105
+ transferLearning: 0.7, // High - recognizes patterns quickly
1106
+ authoritySensitivity: 0.4, // Medium - only if it speeds things up
1107
+ emotionalContagion: 0.4, // Medium - focused on goal, not tone
1108
+ fearOfMissingOut: 0.9, // Very high - urgency works on them
1109
+ socialProofSensitivity: 0.5, // Medium - if it's quick to evaluate
1110
+ mentalModelRigidity: 0.7, // High - adapts quickly, expects conventions
907
1111
  },
908
1112
  context: {
909
1113
  viewport: [1280, 800],
@@ -1015,6 +1219,28 @@ export const ACCESSIBILITY_PERSONAS = {
1015
1219
  trustCalibration: 0.5,
1016
1220
  // Research: Motor issues make resumption harder but adaptation helps (Mark)
1017
1221
  interruptRecovery: 0.4,
1222
+ // New traits (v15.0.0)
1223
+ patience: 0.6,
1224
+ riskTolerance: 0.4,
1225
+ comprehension: 0.7,
1226
+ persistence: 0.7,
1227
+ curiosity: 0.4,
1228
+ workingMemory: 0.7,
1229
+ readingTendency: 0.6,
1230
+ resilience: 0.6,
1231
+ informationForaging: 0.5,
1232
+ changeBlindness: 0.4,
1233
+ anchoringBias: 0.5,
1234
+ timeHorizon: 0.4, // Patient due to motor constraints
1235
+ attributionStyle: 0.4, // Blames physical constraints, not self
1236
+ metacognitivePlanning: 0.7, // Plans to avoid difficult interactions
1237
+ proceduralFluency: 0.6,
1238
+ transferLearning: 0.6,
1239
+ authoritySensitivity: 0.5,
1240
+ emotionalContagion: 0.4,
1241
+ fearOfMissingOut: 0.3, // Not swayed, focused on completing
1242
+ socialProofSensitivity: 0.5,
1243
+ mentalModelRigidity: 0.5,
1018
1244
  },
1019
1245
  },
1020
1246
  "low-vision-magnified": {
@@ -1082,6 +1308,28 @@ export const ACCESSIBILITY_PERSONAS = {
1082
1308
  trustCalibration: 0.4,
1083
1309
  // Research: Limited visible area makes context recovery harder (Mark)
1084
1310
  interruptRecovery: 0.35,
1311
+ // New traits (v15.0.0)
1312
+ patience: 0.7,
1313
+ riskTolerance: 0.3,
1314
+ comprehension: 0.6,
1315
+ persistence: 0.7,
1316
+ curiosity: 0.3,
1317
+ workingMemory: 0.6,
1318
+ readingTendency: 0.8, // Reads carefully when visible
1319
+ resilience: 0.5,
1320
+ informationForaging: 0.4, // Limited by zoom - systematic search
1321
+ changeBlindness: 0.8, // Very high - can't see peripheral
1322
+ anchoringBias: 0.6, // Anchored due to limited comparison
1323
+ timeHorizon: 0.4, // Patient, knows it takes time
1324
+ attributionStyle: 0.5, // Balanced - knows about limitations
1325
+ metacognitivePlanning: 0.7, // Plans navigation with zoom
1326
+ proceduralFluency: 0.5, // Harder with limited view
1327
+ transferLearning: 0.5, // Standard
1328
+ authoritySensitivity: 0.5,
1329
+ emotionalContagion: 0.4,
1330
+ fearOfMissingOut: 0.3, // Not swayed - focused
1331
+ socialProofSensitivity: 0.5,
1332
+ mentalModelRigidity: 0.4, // Adapts but needs time
1085
1333
  },
1086
1334
  },
1087
1335
  "cognitive-adhd": {
@@ -1147,6 +1395,21 @@ export const ACCESSIBILITY_PERSONAS = {
1147
1395
  satisficing: 0.85, // High - ADHD drives "good enough" decisions (Simon)
1148
1396
  trustCalibration: 0.65, // Medium-high - impulsive clicks without reading (Fogg)
1149
1397
  interruptRecovery: 0.2, // Very low - WM deficits make recovery difficult (Mark)
1398
+ // New traits (v15.0.0)
1399
+ comprehension: 0.5,
1400
+ informationForaging: 0.6, // Follows interesting scents, not systematic
1401
+ changeBlindness: 0.7, // High - focus elsewhere when changes happen
1402
+ anchoringBias: 0.4, // Lower - novelty-seeking overrides anchoring
1403
+ timeHorizon: 0.9, // Very short-term - immediate gratification
1404
+ attributionStyle: 0.6, // Slightly self-blaming
1405
+ metacognitivePlanning: 0.15, // Very low - impulsive, no planning
1406
+ proceduralFluency: 0.3, // Low - struggles with sequences
1407
+ transferLearning: 0.6, // Medium - recognizes patterns when focused
1408
+ authoritySensitivity: 0.4, // Low - impulsive, ignores authority
1409
+ emotionalContagion: 0.6, // Medium-high - emotional variability
1410
+ fearOfMissingOut: 0.85, // Very high - ADHD correlates with FOMO
1411
+ socialProofSensitivity: 0.5, // Medium - if interesting
1412
+ mentalModelRigidity: 0.7, // High - adapts easily, novelty-seeking
1150
1413
  },
1151
1414
  },
1152
1415
  "dyslexic-user": {
@@ -1210,6 +1473,23 @@ export const ACCESSIBILITY_PERSONAS = {
1210
1473
  satisficing: 0.6, // Medium - avoids text-heavy paths (Simon)
1211
1474
  trustCalibration: 0.5, // Medium - standard trust evaluation (Fogg)
1212
1475
  interruptRecovery: 0.55, // Medium - visual cues help, text harder (Mark)
1476
+ // New traits (v15.0.0)
1477
+ riskTolerance: 0.5,
1478
+ comprehension: 0.5, // Comprehension fine for visuals
1479
+ persistence: 0.6,
1480
+ informationForaging: 0.5, // Standard - prefers visual cues
1481
+ changeBlindness: 0.4, // Lower - visual learner
1482
+ anchoringBias: 0.5,
1483
+ timeHorizon: 0.5,
1484
+ attributionStyle: 0.5,
1485
+ metacognitivePlanning: 0.5,
1486
+ proceduralFluency: 0.5, // Fine with visual instructions
1487
+ transferLearning: 0.6, // Recognizes visual patterns
1488
+ authoritySensitivity: 0.5,
1489
+ emotionalContagion: 0.5,
1490
+ fearOfMissingOut: 0.5,
1491
+ socialProofSensitivity: 0.6, // Relies on visual reviews
1492
+ mentalModelRigidity: 0.6, // Good adaptation
1213
1493
  },
1214
1494
  },
1215
1495
  "deaf-user": {
@@ -1270,6 +1550,24 @@ export const ACCESSIBILITY_PERSONAS = {
1270
1550
  satisficing: 0.55, // Medium - seeks captioned/text content (Simon)
1271
1551
  trustCalibration: 0.55, // Medium - standard visual trust evaluation (Fogg)
1272
1552
  interruptRecovery: 0.65, // Medium-high - visual cues assist recovery (Mark)
1553
+ // New traits (v15.0.0)
1554
+ comprehension: 0.7,
1555
+ persistence: 0.7,
1556
+ curiosity: 0.5,
1557
+ workingMemory: 0.7,
1558
+ informationForaging: 0.6, // Good visual navigation
1559
+ changeBlindness: 0.2, // Very low - visually attentive
1560
+ anchoringBias: 0.5,
1561
+ timeHorizon: 0.5,
1562
+ attributionStyle: 0.4, // Blames lack of captions
1563
+ metacognitivePlanning: 0.6, // Plans for captioned content
1564
+ proceduralFluency: 0.7, // Good with visual instructions
1565
+ transferLearning: 0.7, // Recognizes visual patterns
1566
+ authoritySensitivity: 0.5,
1567
+ emotionalContagion: 0.4, // Less affected by audio tone
1568
+ fearOfMissingOut: 0.4,
1569
+ socialProofSensitivity: 0.6, // Visual reviews/ratings
1570
+ mentalModelRigidity: 0.65, // Good visual adaptation
1273
1571
  },
1274
1572
  },
1275
1573
  "elderly-low-vision": {
@@ -1341,6 +1639,21 @@ export const ACCESSIBILITY_PERSONAS = {
1341
1639
  satisficing: 0.75, // High - avoids complex decision trees (Simon)
1342
1640
  trustCalibration: 0.2, // Very low - very skeptical of online requests (Fogg)
1343
1641
  interruptRecovery: 0.25, // Very low - WM + vision decline makes recovery hard (Mark)
1642
+ // New traits (v15.0.0)
1643
+ readingTendency: 0.85,
1644
+ informationForaging: 0.2, // Very low - exhaustive, uncertain
1645
+ changeBlindness: 0.75, // High - vision issues
1646
+ anchoringBias: 0.8, // High - sticks to first info
1647
+ timeHorizon: 0.4, // Medium - patient but unsure
1648
+ attributionStyle: 0.9, // Very high - blames self
1649
+ metacognitivePlanning: 0.2, // Low - doesn't know what to plan
1650
+ proceduralFluency: 0.25, // Low - struggles with sequences
1651
+ transferLearning: 0.15, // Very low - each UI is confusing
1652
+ authoritySensitivity: 0.85, // Very high - trusts official things
1653
+ emotionalContagion: 0.6, // Medium-high
1654
+ fearOfMissingOut: 0.25, // Low - not driven by urgency
1655
+ socialProofSensitivity: 0.7, // High - relies on family advice
1656
+ mentalModelRigidity: 0.15, // Very low - rigid, struggles
1344
1657
  },
1345
1658
  },
1346
1659
  "color-blind-deuteranopia": {
@@ -1404,6 +1717,24 @@ export const ACCESSIBILITY_PERSONAS = {
1404
1717
  satisficing: 0.5, // Medium - needs extra verification (Simon)
1405
1718
  trustCalibration: 0.55, // Medium - cautious with color-coded security indicators (Fogg)
1406
1719
  interruptRecovery: 0.6, // Medium-high - good adaptation, unaffected cognition (Mark)
1720
+ // New traits (v15.0.0)
1721
+ comprehension: 0.7,
1722
+ curiosity: 0.5,
1723
+ workingMemory: 0.7,
1724
+ readingTendency: 0.7, // Relies on text labels
1725
+ informationForaging: 0.6, // Good - unaffected cognition
1726
+ changeBlindness: 0.45, // Medium - misses color-only changes
1727
+ anchoringBias: 0.5,
1728
+ timeHorizon: 0.5,
1729
+ attributionStyle: 0.3, // Blames poor design, not self
1730
+ metacognitivePlanning: 0.6, // Plans for color verification
1731
+ proceduralFluency: 0.7, // Good with non-color cues
1732
+ transferLearning: 0.7, // Recognizes non-color patterns
1733
+ authoritySensitivity: 0.5,
1734
+ emotionalContagion: 0.5,
1735
+ fearOfMissingOut: 0.4,
1736
+ socialProofSensitivity: 0.5,
1737
+ mentalModelRigidity: 0.65, // Adapts with workarounds
1407
1738
  },
1408
1739
  },
1409
1740
  };
@@ -1491,6 +1822,20 @@ export const EMOTIONAL_PERSONAS = {
1491
1822
  satisficing: 0.4, // Low-medium - wants certainty
1492
1823
  trustCalibration: 0.3, // Low - skeptical and worried
1493
1824
  interruptRecovery: 0.3, // Low - anxiety compounds on interruption
1825
+ // New traits (v15.0.0)
1826
+ informationForaging: 0.4, // Low - overthinks each path
1827
+ changeBlindness: 0.3, // Low - hypervigilant, notices changes
1828
+ anchoringBias: 0.7, // High - sticks to first safe option
1829
+ timeHorizon: 0.3, // Long-term - worries about consequences
1830
+ attributionStyle: 0.8, // Very high - blames self for everything
1831
+ metacognitivePlanning: 0.6, // Medium-high - plans to avoid anxiety
1832
+ proceduralFluency: 0.5, // Medium - follows carefully
1833
+ transferLearning: 0.5, // Medium
1834
+ authoritySensitivity: 0.7, // High - seeks reassurance from authority
1835
+ emotionalContagion: 0.8, // Very high - absorbs UI emotional tone
1836
+ fearOfMissingOut: 0.6, // Medium-high - anxiety about missing out
1837
+ socialProofSensitivity: 0.7, // High - seeks validation from others
1838
+ mentalModelRigidity: 0.4, // Low-medium - struggles with unexpected
1494
1839
  },
1495
1840
  context: {
1496
1841
  viewport: [1280, 800],
@@ -1554,6 +1899,20 @@ export const EMOTIONAL_PERSONAS = {
1554
1899
  satisficing: 0.5, // Medium - balances speed and quality
1555
1900
  trustCalibration: 0.7, // High - appropriate trust
1556
1901
  interruptRecovery: 0.8, // High - resumes easily
1902
+ // New traits (v15.0.0)
1903
+ informationForaging: 0.8, // High - efficient scent-following
1904
+ changeBlindness: 0.3, // Low - notices changes
1905
+ anchoringBias: 0.3, // Low - evaluates options freely
1906
+ timeHorizon: 0.4, // Medium-long - thinks ahead
1907
+ attributionStyle: 0.2, // Low - blames system issues
1908
+ metacognitivePlanning: 0.7, // High - plans efficiently
1909
+ proceduralFluency: 0.8, // High - follows procedures well
1910
+ transferLearning: 0.85, // High - applies knowledge
1911
+ authoritySensitivity: 0.4, // Low-medium - independent judgment
1912
+ emotionalContagion: 0.2, // Low - emotionally stable
1913
+ fearOfMissingOut: 0.3, // Low - not swayed by urgency
1914
+ socialProofSensitivity: 0.4, // Low-medium - evaluates on merits
1915
+ mentalModelRigidity: 0.8, // High - adapts easily
1557
1916
  },
1558
1917
  context: {
1559
1918
  viewport: [1920, 1080],
@@ -1617,6 +1976,20 @@ export const EMOTIONAL_PERSONAS = {
1617
1976
  satisficing: 0.6, // Medium-high - wants quick resolution
1618
1977
  trustCalibration: 0.5, // Medium - emotional judgment
1619
1978
  interruptRecovery: 0.35, // Low - emotional state persists
1979
+ // New traits (v15.0.0)
1980
+ informationForaging: 0.5, // Medium - mood dependent
1981
+ changeBlindness: 0.5, // Medium - emotions distract
1982
+ anchoringBias: 0.6, // Medium-high - first impressions stick
1983
+ timeHorizon: 0.7, // Short-term - emotional decisions
1984
+ attributionStyle: 0.5, // Medium - variable based on mood
1985
+ metacognitivePlanning: 0.3, // Low - emotional impulsivity
1986
+ proceduralFluency: 0.45, // Medium - emotions interfere
1987
+ transferLearning: 0.5, // Medium
1988
+ authoritySensitivity: 0.5, // Medium - mood dependent
1989
+ emotionalContagion: 0.9, // Maximum - highly influenced by UI tone
1990
+ fearOfMissingOut: 0.75, // High - emotional FOMO
1991
+ socialProofSensitivity: 0.7, // High - seeks emotional validation
1992
+ mentalModelRigidity: 0.5, // Medium
1620
1993
  },
1621
1994
  context: {
1622
1995
  viewport: [1280, 800],
@@ -1680,6 +2053,20 @@ export const EMOTIONAL_PERSONAS = {
1680
2053
  satisficing: 0.4, // Low - willing to be thorough
1681
2054
  trustCalibration: 0.6, // Medium-high - rational evaluation
1682
2055
  interruptRecovery: 0.8, // High - returns to task easily
2056
+ // New traits (v15.0.0)
2057
+ informationForaging: 0.6, // Medium-high - methodical
2058
+ changeBlindness: 0.3, // Low - attentive, focused
2059
+ anchoringBias: 0.3, // Low - evaluates all options
2060
+ timeHorizon: 0.2, // Very long-term - patient deliberation
2061
+ attributionStyle: 0.4, // Medium - balanced evaluation
2062
+ metacognitivePlanning: 0.8, // High - plans carefully
2063
+ proceduralFluency: 0.8, // High - follows procedures precisely
2064
+ transferLearning: 0.7, // High - applies experience
2065
+ authoritySensitivity: 0.4, // Low-medium - independent judgment
2066
+ emotionalContagion: 0.1, // Minimum - emotionally unaffected
2067
+ fearOfMissingOut: 0.1, // Minimum - not driven by urgency
2068
+ socialProofSensitivity: 0.3, // Low - evaluates independently
2069
+ mentalModelRigidity: 0.7, // High - adapts methodically
1683
2070
  },
1684
2071
  context: {
1685
2072
  viewport: [1280, 800],