{"version":"1.162.0","results":[{"check_id":"javascript.lang.security.detect-insecure-websocket.detect-insecure-websocket","path":"app/src/hooks/useWorldSocket.ts","start":{"line":77,"col":64,"offset":2547},"end":{"line":77,"col":69,"offset":2552},"extra":{"message":"Insecure WebSocket Detected. WebSocket Secure (wss) should be used for all WebSocket connections.","metadata":{"cwe":["CWE-319: Cleartext Transmission of Sensitive Information"],"asvs":{"control_id":"13.5.1 Insecure WebSocket","control_url":"https://github.com/OWASP/ASVS/blob/master/4.0/en/0x21-V13-API.md#v135-websocket-security-requirements","section":"V13: API and Web Service Verification Requirements","version":"4"},"category":"security","technology":["regex"],"owasp":["A03:2017 - Sensitive Data Exposure","A02:2021 - Cryptographic Failures","A04:2025 - Cryptographic Failures"],"subcategory":["audit"],"likelihood":"LOW","impact":"MEDIUM","confidence":"LOW","references":["https://owasp.org/Top10/A02_2021-Cryptographic_Failures"],"license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Mishandled Sensitive Information"],"source":"https://semgrep.dev/r/javascript.lang.security.detect-insecure-websocket.detect-insecure-websocket","shortlink":"https://sg.run/GWyz"},"severity":"ERROR","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp","path":"src/ai/guardrail-checks.ts","start":{"line":225,"col":13,"offset":8815},"end":{"line":225,"col":82,"offset":8884},"extra":{"message":"RegExp() called with a `context` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled input, consider performing input validation or use a regex checking/sanitization library such as https://www.npmjs.com/package/recheck to verify that the regex does not appear vulnerable to ReDoS.","metadata":{"owasp":["A05:2021 - Security Misconfiguration","A06:2017 - Security Misconfiguration","A02:2025 - Security Misconfiguration"],"cwe":["CWE-1333: Inefficient Regular Expression Complexity"],"references":["https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS"],"source-rule-url":"https://github.com/nodesecurity/eslint-plugin-security/blob/master/rules/detect-non-literal-regexp.js","category":"security","technology":["javascript"],"subcategory":["vuln"],"likelihood":"MEDIUM","impact":"MEDIUM","confidence":"LOW","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Denial-of-Service (DoS)"],"source":"https://semgrep.dev/r/javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp","shortlink":"https://sg.run/gr65"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp","path":"src/discord/character-proxy.ts","start":{"line":163,"col":21,"offset":5591},"end":{"line":166,"col":6,"offset":5772},"extra":{"message":"RegExp() called with a `knownCharacters` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled input, consider performing input validation or use a regex checking/sanitization library such as https://www.npmjs.com/package/recheck to verify that the regex does not appear vulnerable to ReDoS.","metadata":{"owasp":["A05:2021 - Security Misconfiguration","A06:2017 - Security Misconfiguration","A02:2025 - Security Misconfiguration"],"cwe":["CWE-1333: Inefficient Regular Expression Complexity"],"references":["https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS"],"source-rule-url":"https://github.com/nodesecurity/eslint-plugin-security/blob/master/rules/detect-non-literal-regexp.js","category":"security","technology":["javascript"],"subcategory":["vuln"],"likelihood":"MEDIUM","impact":"MEDIUM","confidence":"LOW","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Denial-of-Service (DoS)"],"source":"https://semgrep.dev/r/javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp","shortlink":"https://sg.run/gr65"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp","path":"src/services/story-director-analysis.ts","start":{"line":60,"col":36,"offset":1470},"end":{"line":60,"col":80,"offset":1514},"extra":{"message":"RegExp() called with a `keywords` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled input, consider performing input validation or use a regex checking/sanitization library such as https://www.npmjs.com/package/recheck to verify that the regex does not appear vulnerable to ReDoS.","metadata":{"owasp":["A05:2021 - Security Misconfiguration","A06:2017 - Security Misconfiguration","A02:2025 - Security Misconfiguration"],"cwe":["CWE-1333: Inefficient Regular Expression Complexity"],"references":["https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS"],"source-rule-url":"https://github.com/nodesecurity/eslint-plugin-security/blob/master/rules/detect-non-literal-regexp.js","category":"security","technology":["javascript"],"subcategory":["vuln"],"likelihood":"MEDIUM","impact":"MEDIUM","confidence":"LOW","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Denial-of-Service (DoS)"],"source":"https://semgrep.dev/r/javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp","shortlink":"https://sg.run/gr65"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}},{"check_id":"javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp","path":"src/services/story-director-analysis.ts","start":{"line":151,"col":39,"offset":5206},"end":{"line":151,"col":80,"offset":5247},"extra":{"message":"RegExp() called with a `plotThreads` function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled input, consider performing input validation or use a regex checking/sanitization library such as https://www.npmjs.com/package/recheck to verify that the regex does not appear vulnerable to ReDoS.","metadata":{"owasp":["A05:2021 - Security Misconfiguration","A06:2017 - Security Misconfiguration","A02:2025 - Security Misconfiguration"],"cwe":["CWE-1333: Inefficient Regular Expression Complexity"],"references":["https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS"],"source-rule-url":"https://github.com/nodesecurity/eslint-plugin-security/blob/master/rules/detect-non-literal-regexp.js","category":"security","technology":["javascript"],"subcategory":["vuln"],"likelihood":"MEDIUM","impact":"MEDIUM","confidence":"LOW","license":"Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license","vulnerability_class":["Denial-of-Service (DoS)"],"source":"https://semgrep.dev/r/javascript.lang.security.audit.detect-non-literal-regexp.detect-non-literal-regexp","shortlink":"https://sg.run/gr65"},"severity":"WARNING","fingerprint":"requires login","lines":"requires login","validation_state":"NO_VALIDATOR","engine_kind":"OSS"}}],"errors":[{"code":3,"level":"warn","type":"Syntax error","message":"Syntax error at line lint_results.json:2:\n `>` was unexpected","path":"lint_results.json"},{"code":3,"level":"warn","type":"Syntax error","message":"Syntax error at line .env-sync/mcp_config.json:3:\n `}` was unexpected","path":".env-sync/mcp_config.json"},{"code":3,"level":"warn","type":["PartialParsing",[{"path":".claude/hooks/pigstar-scan.sh","start":{"line":21,"col":17,"offset":0},"end":{"line":21,"col":41,"offset":24}}]],"message":"Syntax error at line .claude/hooks/pigstar-scan.sh:21:\n `Write|Edit|NotebookEdit)` was unexpected","path":".claude/hooks/pigstar-scan.sh","spans":[{"file":".claude/hooks/pigstar-scan.sh","start":{"line":21,"col":17,"offset":0},"end":{"line":21,"col":41,"offset":24}}]},{"code":3,"level":"warn","type":["PartialParsing",[{"path":"src/models/combat.ts","start":{"line":50,"col":19,"offset":0},"end":{"line":50,"col":67,"offset":48}}]],"message":"Syntax error at line src/models/combat.ts:50:\n `import('../services/combat-initiative').CTBEntry` was unexpected","path":"src/models/combat.ts","spans":[{"file":"src/models/combat.ts","start":{"line":50,"col":19,"offset":0},"end":{"line":50,"col":67,"offset":48}}]},{"code":3,"level":"warn","type":["PartialParsing",[{"path":"test/unit/handlers/commands/join.test.ts","start":{"line":17,"col":92,"offset":0},"end":{"line":17,"col":95,"offset":3}}]],"message":"Syntax error at line test/unit/handlers/commands/join.test.ts:17:\n `>()` was unexpected","path":"test/unit/handlers/commands/join.test.ts","spans":[{"file":"test/unit/handlers/commands/join.test.ts","start":{"line":17,"col":92,"offset":0},"end":{"line":17,"col":95,"offset":3}}]}],"paths":{"scanned":[".agent/linear-graph.json",".agent/pigstar/01-surface-xray.md",".agent/pigstar/02-northstar-research.md",".agent/pigstar/03-xray-review.md",".agent/pigstar/04-pigstar-compositor.md",".agent/pigstar/05-progress-drivers.md",".agent/pigstar/06-worker-audit.md",".agent/pigstar/07-execution-plan.md",".agent/pigstar/08-session-2-launch.md",".agent/pigstar/09-sonar-design-research.md",".agent/pigstar/10-session-3-launch.md",".agent/pigstar/11-sonar-design-research-v2.md",".agent/pigstar/12-sonar-design-research-v3.md",".agent/skills/cloudflare-architect/SKILL.md",".agent/skills/gurps-mechanics/SKILL.md",".agent/skills/linear-management/SKILL.md",".agent/skills/model-governance/SKILL.md",".agent/skills/project-init/SKILL.md",".agent/task-graph.md",".agent/workflows/ai-agent-tuning.md",".agent/workflows/dev-deploy-cycle.md",".agent/workflows/discord-debug.md",".agent/workflows/documentation-standards.md",".agent/workflows/file-structure.md",".agent/workflows/idea-ingestion.md",".agent/workflows/intent.md",".agent/workflows/issue-tracking.md",".agent/workflows/linear-workflow.md",".agent/workflows/model-governance.md",".agent/workflows/project-management.md",".agent/workflows/release-management.md",".agent/workflows/secret-management.md",".agent/workflows/session-continuity.md",".agent/workflows/session-log.md",".agent/workflows/strict-quality.md",".agent/workflows/troubleshoot-loop.md",".agent/workflows/update-roadmap.md",".claude/hooks/pigstar-scan.sh",".claude/hooks/pigstar-session-start.sh",".claude/rules/pigstar.md",".claude/rules/work-task-store-carpiggy.md",".claude/settings.json",".env-sync/extensions.list",".env-sync/keybindings.json",".env-sync/mcp_config.json",".env-sync/settings.json",".env.example",".genkit/traces_idx/genkit.metadata",".github/workflows/deploy.yml",".github/workflows/release.yml",".github/workflows/semgrep.yml",".github/workflows/test.yml",".gitignore",".prettierrc",".semgrepignore",".vscode/settings.json","CHANGELOG.md","CLAUDE.md","DO_NOT_DELETE_SECRET_FILES.md","README.md","ROADMAP.md","STATUS.md","TS_MASS.md","app/README.md","app/activity.html","app/index.html","app/package-lock.json","app/package.json","app/public/apple-touch-icon.png","app/public/favicon.ico","app/public/pwa-192x192.png","app/public/pwa-512x512.png","app/src/App.css","app/src/App.tsx","app/src/activity/Activity.tsx","app/src/activity/activity.css","app/src/activity/main.tsx","app/src/activity/utils/map-parser.ts","app/src/activity/views/CharacterView.tsx","app/src/activity/views/InventoryView.tsx","app/src/activity/views/MapView.tsx","app/src/activity/views/shared.tsx","app/src/api/client.ts","app/src/auth.css","app/src/components/admin/AIStatsPanel.tsx","app/src/components/character/ActionPanel.tsx","app/src/components/character/CharacterCard.tsx","app/src/components/character/CharacterGrid.tsx","app/src/components/character/CharacterStats.tsx","app/src/components/character/SkillList.tsx","app/src/components/character/StatBar.tsx","app/src/components/common/DeadlineBanner.tsx","app/src/components/common/ErrorBoundary.tsx","app/src/components/common/LoadingSkeleton.tsx","app/src/components/common/ProtectedRoute.tsx","app/src/components/common/PushPromptBanner.tsx","app/src/components/common/TerminalLayout.tsx","app/src/components/visual/CharacterPortrait.tsx","app/src/components/visual/MapView.tsx","app/src/components/visual/TurnDigest.tsx","app/src/components/visual/VisualLayer.tsx","app/src/components/world/ActionSubmitPanel.tsx","app/src/components/world/CharacterInitPanel.tsx","app/src/components/world/ChroniclePanel.tsx","app/src/components/world/CombatPanel.tsx","app/src/components/world/FactionPanel.tsx","app/src/components/world/GroundTruthPanel.tsx","app/src/components/world/InventoryPanel.tsx","app/src/components/world/InviteCodePanel.tsx","app/src/components/world/MissedTurnInbox.tsx","app/src/components/world/QuestPanel.tsx","app/src/components/world/TurnHistoryPanel.tsx","app/src/components/world/TurnStatus.tsx","app/src/components/world/WorldHeader.tsx","app/src/components/world/WorldMap.tsx","app/src/components/world/WorldTabBar.tsx","app/src/components.css","app/src/hooks/usePushSubscription.ts","app/src/hooks/useR2Cache.ts","app/src/hooks/useTurnStatus.ts","app/src/hooks/useWorldSocket.ts","app/src/index.css","app/src/main.tsx","app/src/pages/AdminPage.tsx","app/src/pages/ChangePasswordPage.tsx","app/src/pages/CharacterDetailPage.tsx","app/src/pages/CreateWorldPage.tsx","app/src/pages/DashboardPage.tsx","app/src/pages/DiscordCallbackPage.tsx","app/src/pages/InboxPage.tsx","app/src/pages/JoinWorldPage.tsx","app/src/pages/LandingPage.tsx","app/src/pages/LoginPage.tsx","app/src/pages/NotFoundPage.tsx","app/src/pages/SignupPage.tsx","app/src/pages/TurnReplayPage.tsx","app/src/pages/WorldPage.tsx","app/src/providers/AuthProvider.tsx","app/src/providers/DeadlineProvider.tsx","app/src/responsive.css","app/src/router.tsx","app/src/sw.ts","app/src/types/character.ts","app/src/types/visual.ts","app/src/types/world.ts","app/src/utils/deadlineCountdown.ts","app/src/utils/environment.ts","app/tsconfig.json","app/tsconfig.node.json","app/vite.config.ts","carpiggy.db","conflicts.list","conflicts_2.list","deployments.txt","design/asset-naming.md","design/visual-pipeline-phase2.md","docs/CLEANUP_SUMMARY.md","docs/README.md","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/implementation_plan.md","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/implementation_plan.md.metadata.json","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/task.md","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/task.md.metadata.json","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_0_1769748277327.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769744559056.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769746558044.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769746803447.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769747078885.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769747280440.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769748506657.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769748914145.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769790154772.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769790379387.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769790693434.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769791083405.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769791384287.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1769791572362.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_1_1769748277327.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/uploaded_media_2_1769748277327.png","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/walkthrough.md","docs/brain/2026-01-29_to_2026-01-30_CarPiggy_x_Pivot_architecture_to_google_generative_ai_id_83/walkthrough.md.metadata.json","docs/brain/2026-01-30_0937_to_1036_2601_Mediate_Mediation_War_Room_Optimization/frazier_reaction_assessment.md","docs/brain/2026-01-30_0937_to_1036_2601_Mediate_Mediation_War_Room_Optimization/frazier_reaction_assessment.md.metadata.json","docs/brain/2026-01-30_0937_to_1036_2601_Mediate_Mediation_War_Room_Optimization/live_mediation_navigator.md.metadata.json","docs/brain/2026-01-30_0937_to_1036_2601_Mediate_Mediation_War_Room_Optimization/task.md","docs/brain/2026-01-30_0937_to_1036_2601_Mediate_Mediation_War_Room_Optimization/task.md.metadata.json","docs/brain/2026-01-30_0937_to_1036_2601_Mediate_Mediation_War_Room_Optimization/walkthrough.md","docs/brain/2026-01-30_0937_to_1036_2601_Mediate_Mediation_War_Room_Optimization/walkthrough.md.metadata.json","docs/brain/2026-01-30_1243_to_1507_Arbitration_Dismissal_Campaign/implementation_plan.md","docs/brain/2026-01-30_1243_to_1507_Arbitration_Dismissal_Campaign/implementation_plan.md.metadata.json","docs/brain/2026-01-30_1243_to_1507_Arbitration_Dismissal_Campaign/task.md","docs/brain/2026-01-30_1243_to_1507_Arbitration_Dismissal_Campaign/task.md.metadata.json","docs/brain/2026-01-30_1243_to_1507_Arbitration_Dismissal_Campaign/walkthrough.md","docs/brain/2026-01-30_1243_to_1507_Arbitration_Dismissal_Campaign/walkthrough.md.metadata.json","docs/brain/2026-01-30_1439_to_1642_email_sanitization_runner_Email_Sanitization_Runner_Development_Infrastructure_Setup/implementation_plan.md","docs/brain/2026-01-30_1439_to_1642_email_sanitization_runner_Email_Sanitization_Runner_Development_Infrastructure_Setup/implementation_plan.md.metadata.json","docs/brain/2026-01-30_1439_to_1642_email_sanitization_runner_Email_Sanitization_Runner_Development_Infrastructure_Setup/task.md","docs/brain/2026-01-30_1439_to_1642_email_sanitization_runner_Email_Sanitization_Runner_Development_Infrastructure_Setup/task.md.metadata.json","docs/brain/2026-01-30_1439_to_1642_email_sanitization_runner_Email_Sanitization_Runner_Development_Infrastructure_Setup/walkthrough.md","docs/brain/2026-01-30_1439_to_1642_email_sanitization_runner_Email_Sanitization_Runner_Development_Infrastructure_Setup/walkthrough.md.metadata.json","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/implementation_plan.md","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/implementation_plan.md.metadata.json","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/optimization_plan.md","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/optimization_plan.md.metadata.json","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/task.md","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/task.md.metadata.json","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/uploaded_media_1769820166952.png","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/uploaded_media_1769820903652.png","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/uploaded_media_1769821019586.png","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/uploaded_media_1769821079764.png","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/uploaded_media_1769821220308.png","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/uploaded_media_1769821369415.png","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/uploaded_media_1769822843527.png","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/walkthrough.md","docs/brain/2026-01-30_1655_to_1842_CarPiggy_x_Implement_Narrative_Continuity_Basic_x/walkthrough.md.metadata.json","docs/brain/2026-01-30_to_2026-01-31_Task_Counter_Andrew_s_Claims_and_Integrate_Strategies/implementation_plan.md","docs/brain/2026-01-30_to_2026-01-31_Task_Counter_Andrew_s_Claims_and_Integrate_Strategies/implementation_plan.md.metadata.json","docs/brain/2026-01-30_to_2026-01-31_Task_Counter_Andrew_s_Claims_and_Integrate_Strategies/reorganization_plan.md","docs/brain/2026-01-30_to_2026-01-31_Task_Counter_Andrew_s_Claims_and_Integrate_Strategies/reorganization_plan.md.metadata.json","docs/brain/2026-01-30_to_2026-01-31_Task_Counter_Andrew_s_Claims_and_Integrate_Strategies/task.md","docs/brain/2026-01-30_to_2026-01-31_Task_Counter_Andrew_s_Claims_and_Integrate_Strategies/task.md.metadata.json","docs/brain/2026-01-30_to_2026-01-31_Task_Counter_Andrew_s_Claims_and_Integrate_Strategies/uploaded_media_0_1769895174452.png","docs/brain/2026-01-30_to_2026-01-31_Task_Counter_Andrew_s_Claims_and_Integrate_Strategies/uploaded_media_1_1769895174452.png","docs/brain/2026-01-31_1550_to_1955_CarPiggy_Task_Phase_3_Visual_Immersion/implementation_plan.md","docs/brain/2026-01-31_1550_to_1955_CarPiggy_Task_Phase_3_Visual_Immersion/implementation_plan.md.metadata.json","docs/brain/2026-01-31_1550_to_1955_CarPiggy_Task_Phase_3_Visual_Immersion/task.md","docs/brain/2026-01-31_1550_to_1955_CarPiggy_Task_Phase_3_Visual_Immersion/task.md.metadata.json","docs/brain/2026-01-31_1550_to_1955_CarPiggy_Task_Phase_3_Visual_Immersion/uploaded_media_1769908796950.png","docs/brain/2026-01-31_1550_to_1955_CarPiggy_Task_Phase_3_Visual_Immersion/walkthrough.md","docs/brain/2026-01-31_1550_to_1955_CarPiggy_Task_Phase_3_Visual_Immersion/walkthrough.md.metadata.json","docs/brain/2026-01-31_to_2026-02-01_CarPiggy_Engine_Evolution/implementation_plan.md","docs/brain/2026-01-31_to_2026-02-01_CarPiggy_Engine_Evolution/implementation_plan.md.metadata.json","docs/brain/2026-01-31_to_2026-02-01_CarPiggy_Engine_Evolution/task.md.metadata.json","docs/brain/2026-01-31_to_2026-02-01_CarPiggy_Engine_Evolution/verification_log.md","docs/brain/2026-01-31_to_2026-02-01_CarPiggy_Engine_Evolution/verification_log.md.metadata.json","docs/brain/2026-01-31_to_2026-02-01_CarPiggy_Engine_Evolution/walkthrough.md","docs/brain/2026-01-31_to_2026-02-01_CarPiggy_Engine_Evolution/walkthrough.md.metadata.json","docs/brain/2026-02-01_1305_to_1307_2601_Mediate_Task_Git_Push_and_Cleanup/implementation_plan.md","docs/brain/2026-02-01_1305_to_1307_2601_Mediate_Task_Git_Push_and_Cleanup/implementation_plan.md.metadata.json","docs/brain/2026-02-01_1305_to_1307_2601_Mediate_Task_Git_Push_and_Cleanup/task.md","docs/brain/2026-02-01_1305_to_1307_2601_Mediate_Task_Git_Push_and_Cleanup/task.md.metadata.json","docs/brain/2026-02-01_1305_to_1307_2601_Mediate_Task_Git_Push_and_Cleanup/walkthrough.md","docs/brain/2026-02-01_1305_to_1307_2601_Mediate_Task_Git_Push_and_Cleanup/walkthrough.md.metadata.json","docs/brain/2026-02-08_CanvasMapGenerator_Testing.md","docs/constitutions/pragmatic-law.md","docs/git-workflow.md","docs/glossary.md","docs/guides/agentic-behavior.md","docs/guides/dev-vars-deprecated.md","docs/guides/discord-setup.md","docs/guides/enable-r2.md","docs/guides/engine-showcase.md","docs/guides/environment-setup.md","docs/guides/gameplay-manual.md","docs/guides/image-generation-setup.md","docs/guides/infinite-memory.md","docs/ideas.md","docs/issues-and-enhancements.md","docs/plans/2026-03-06-mab-dag-router-design.md","docs/plans/2026-03-06-mab-dag-router-plan.md","docs/plans/2026-03-06-project-audit-and-roadmap.md","docs/plans/2026-03-07-system-graph-and-upgrade-roadmap.md","docs/plans/2026-03-08-live-test-suite-telemetry-design.md","docs/plans/2026-03-08-live-test-suite-telemetry.md","docs/slash-command-test.md","docs/technical-plans/git actions log.md","docs/technical-plans/optimization-strategy.md","docs/technical-plans/visual-assets.md","docs/x-ray/2026-03-09-carpiggy-upgrades.md","docs/x-ray/2026-03-09-carpiggy.md","eslint.config.js","eslint_full_report.txt","eslint_warnings.txt","linear-worker/.dev.vars.example","linear-worker/PLAN.md","linear-worker/README.md","linear-worker/eslint.config.js","linear-worker/package-lock.json","linear-worker/package.json","linear-worker/server.log","linear-worker/src/index.ts","linear-worker/src/perplexity-client.ts","linear-worker/task.md","linear-worker/test-script.sh","linear-worker/tsconfig.json","linear-worker/wrangler.toml","lint_results.json","migrations/0002_auth_tokens.sql","migrations/0005_character_facts.sql","migrations/0006_quests_and_hooks.sql","migrations/0007_npcs_and_factions.sql","migrations/0008_societal_layer.sql","migrations/0009_visuals.sql","migrations/0010_biography.sql","migrations/0011_world_time.sql","migrations/0012_operations.sql","migrations/0013_inventory.sql","migrations/0014_player_visuals.sql","migrations/0015_faction_agendas.sql","migrations/0016_add_visual_mode.sql","migrations/0017_performance_indexes.sql","migrations/0018_faction_members.sql","migrations/0018_role_permissions.sql","migrations/0019_discordless_auth.sql","migrations/0020_invite_codes.sql","migrations/0021_inventory_unique.sql","migrations/0022_base_building.sql","migrations/0023_fix_operatives_fk.sql","migrations/0024_consolidate_missing.sql","migrations/0025_ai_router_tables.sql","migrations/0026_world_art_style.sql","migrations/0027_npc_companions.sql","migrations/0028_pvp_arena.sql","migrations/0029_dungeons.sql","migrations/0030_marketplace.sql","migrations/0031_seasonal_content.sql","migrations/0032_travel_tokens.sql","migrations/0033_narrative_summaries.sql","migrations/0034_running_stories.sql","migrations/0035_world_seed_paths.sql","migrations/0036_reputation.sql","migrations/0037_event_chains.sql","migrations/0038_chronicle.sql","migrations/0040_economy.sql","migrations/0041_dungeons.sql","migrations/0042_storylets.sql","migrations/0043_npc_extensions.sql","migrations/0044_dreams.sql","migrations/0045_mentor_permadeath_housing.sql","migrations/0046_unify_user_identity.sql","migrations/0047_standalone_worlds.sql","migrations/0048_telemetry_events.sql","migrations/0049_time_modes.sql","migrations/0050_invite_only_auth.sql","migrations/0051_create_skill_usage.sql","migrations/0052_perf_indexes.sql","migrations/0053_missing_indexes.sql","migrations/0054_async_play_deadline.sql","migrations/0055_secrets_ledger.sql","migrations/0056_world_templates.sql","migrations/0057_world_map.sql","migrations/0058_tension_tracking.sql","migrations/0059_doom_clocks.sql","migrations/0060_world_difficulty.sql","migrations/0061_character_relationships.sql","migrations/0062_prediction_markets.sql","migrations/0063_quest_tree.sql","migrations/0064_achievements.sql","migrations/0065_competitive_leagues.sql","migrations/0066_temp_password_expiry.sql","migrations/0067_turn_timing.sql","migrations/0068_deadline.sql","migrations/0069_turn_cost.sql","migrations/0070_world_rag.sql","migrations/0071_narrator_pin.sql","migrations/0072_narrator_model_per_world.sql","migrations/0073_enrich_pipeline_tables.sql","migrations/0074_push_subscriptions.sql","migrations/0075_retire_dead_tables.sql","migrations/0076_retire_pvp_seasonal_dungeons.sql","migrations/0077_batch_compliance_indexes.sql","migrations/0078_worlds_name_unique.sql","migrations/0079_scene_vignettes.sql","migrations/0080_asset_manifest.sql","migrations/0081_image_provider_tables.sql","migrations/0082_hero_portrait_cap.sql","migrations/0083_ai_batch_jobs.sql","migrations/0084_retire_cut_candidates.sql","migrations/0086_ai_call_log_world_dim.sql","migrations/0087_per_world_turn_cadence.sql","migrations/0089_faction_leaderboards.sql","migrations/0090_mab_engagement_rewards.sql","migrations/0091_notification_budget.sql","migrations/0092_quest_threads.sql","migrations/0093_j1_engagement.sql","migrations/0094_npc_summaries.sql","migrations/0095_client_telemetry_events.sql","migrations/0096_monetization.sql","package-lock.json","package.json","pr_body.txt","renovate.json","schema.sql","src/ai/adapter-factory.ts","src/ai/adapter.ts","src/ai/ai-factory.ts","src/ai/batch-client.ts","src/ai/bifrost-adapter.ts","src/ai/corrections.ts","src/ai/dag.ts","src/ai/engagement-reward.ts","src/ai/function-calling.ts","src/ai/gemini-shim.ts","src/ai/grimoire-relay.ts","src/ai/guardrail-checks.ts","src/ai/guardrails.ts","src/ai/mab.ts","src/ai/model-registry.ts","src/ai/openai-adapter.ts","src/ai/reward.ts","src/ai/router.ts","src/ai/schema-validator.ts","src/ai/schemas.ts","src/ai/structured-schemas.ts","src/ai/tension-model-router.ts","src/ai/types.ts","src/archivist.ts","src/config/ai-parameters.ts","src/config/game-balance.ts","src/config/vapid-public-key.ts","src/db/queries/ai-call-log.ts","src/db/queries/characters.ts","src/db/queries/entitlements.ts","src/db/queries/faction-leaderboards.ts","src/db/queries/npcs.ts","src/db/queries/players.ts","src/db/queries/quests.ts","src/db/queries/worlds.ts","src/db/queries.ts","src/discord/button-density.ts","src/discord/character-proxy.ts","src/discord/command.ts","src/discord/confirm.ts","src/discord/context.ts","src/discord/dice-formatter.ts","src/discord/digest-embed.ts","src/discord/digest-poster.ts","src/discord/middleware.ts","src/discord/onboarding.ts","src/discord/pagination.ts","src/discord/rate-limiter.ts","src/discord/response.ts","src/discord/server-profile.ts","src/discord/v2.ts","src/handlers/api/admin-entitlements.ts","src/handlers/api/admin-users.ts","src/handlers/api/admin.ts","src/handlers/api/ai-explore.ts","src/handlers/api/ai-stats.ts","src/handlers/api/asset-analytics.ts","src/handlers/api/asset-manifest.ts","src/handlers/api/auth.ts","src/handlers/api/bandit-export.ts","src/handlers/api/cf-auth.ts","src/handlers/api/character-generate.ts","src/handlers/api/character-porter.ts","src/handlers/api/characters.ts","src/handlers/api/discord-activity-auth.ts","src/handlers/api/discord-oauth.ts","src/handlers/api/faction-leaderboard.ts","src/handlers/api/inbox.ts","src/handlers/api/inventory.ts","src/handlers/api/invites.ts","src/handlers/api/mab-arm-state.ts","src/handlers/api/narrator-cost-slice.ts","src/handlers/api/push.ts","src/handlers/api/signup.ts","src/handlers/api/telemetry-event.ts","src/handlers/api/telemetry-j1.ts","src/handlers/api/templates.ts","src/handlers/api/turns.ts","src/handlers/api/version.ts","src/handlers/api/visual-spec.ts","src/handlers/api/world-connect.ts","src/handlers/api/world-create.ts","src/handlers/api/world-leave.ts","src/handlers/api/world-map.ts","src/handlers/api/worlds.ts","src/handlers/assets.ts","src/handlers/commands/admin.ts","src/handlers/commands/art.ts","src/handlers/commands/base.ts","src/handlers/commands/character/logic/auto.ts","src/handlers/commands/character.ts","src/handlers/commands/cleanupguild.ts","src/handlers/commands/commit.ts","src/handlers/commands/context-menus.ts","src/handlers/commands/craft.ts","src/handlers/commands/createworld.ts","src/handlers/commands/deleteworld.ts","src/handlers/commands/dungeon.ts","src/handlers/commands/faction.ts","src/handlers/commands/help.ts","src/handlers/commands/join.ts","src/handlers/commands/leaderboard.ts","src/handlers/commands/listworlds.ts","src/handlers/commands/market.ts","src/handlers/commands/mentor.ts","src/handlers/commands/pvp.ts","src/handlers/commands/quest.ts","src/handlers/commands/season.ts","src/handlers/commands/spectate.ts","src/handlers/commands/status.ts","src/handlers/commands/talk.ts","src/handlers/commands/trade.ts","src/handlers/commands/travel.ts","src/handlers/commands/visuals.ts","src/handlers/health.ts","src/handlers/interactions/autocomplete.ts","src/handlers/interactions/components.ts","src/handlers/interactions/modals.ts","src/handlers/interactions.ts","src/handlers/test-harness.ts","src/index.ts","src/living-world.ts","src/middleware/auth.ts","src/middleware/cf-access.ts","src/middleware/validate.ts","src/models/chronicle.ts","src/models/combat.ts","src/models/economy.ts","src/models/event-chain.ts","src/models/faction.ts","src/models/mechanics.ts","src/models/mobile-entity.ts","src/models/npc-state.ts","src/models/recipes.ts","src/models/reputation.ts","src/models/storylet.ts","src/models/tactical-combat.ts","src/models/town.ts","src/models/turn-state.ts","src/models/world-state.ts","src/rate-limiter-do.ts","src/render-queue-do.ts","src/router.ts","src/services/achievement-manager.ts","src/services/achievements.ts","src/services/ai-pilot.ts","src/services/ascii-map-generator.ts","src/services/atmosphere-effects.ts","src/services/auth-manager.ts","src/services/auto-action-generator.ts","src/services/biographer.ts","src/services/character-porter.ts","src/services/character-travel.ts","src/services/chronicle-engine.ts","src/services/chronicle-keywords.ts","src/services/combat-combo.ts","src/services/combat-environment.ts","src/services/combat-initiative.ts","src/services/combat-manager.ts","src/services/combat-morale.ts","src/services/construction-queue.ts","src/services/construction-store.ts","src/services/crafting-manager.ts","src/services/dice-engine.ts","src/services/dice-mechanics.ts","src/services/dm-personality.ts","src/services/doom-clock.ts","src/services/dungeon-difficulty.ts","src/services/dungeon-generator.ts","src/services/entitlements.ts","src/services/event-chain-engine.ts","src/services/fact-extractor.ts","src/services/faction-diplomacy.ts","src/services/faction-leaderboard.ts","src/services/faction-manager.ts","src/services/faction-warfare.ts","src/services/inventory-manager.ts","src/services/league-manager.ts","src/services/marketplace.ts","src/services/memory-salience.ts","src/services/mentor-system.ts","src/services/narrative-actor.ts","src/services/narrative-director.ts","src/services/narrative-memory.ts","src/services/narrative-orchestrator.ts","src/services/notification-budget.ts","src/services/npc-companion.ts","src/services/npc-dialogue.ts","src/services/npc-emotions.ts","src/services/npc-summary-manager.ts","src/services/permadeath-legacy.ts","src/services/player-housing.ts","src/services/premium.ts","src/services/progression-manager.ts","src/services/push-notifier.ts","src/services/pvp-arena.ts","src/services/quest-generator.ts","src/services/quest-thread.ts","src/services/quest-tree.ts","src/services/rag/world-rag.ts","src/services/referee.ts","src/services/relationship-graph.ts","src/services/reputation-engine.ts","src/services/rules-lookup.ts","src/services/running-stories.ts","src/services/seasonal-content.ts","src/services/secrets-ledger.ts","src/services/spectator.ts","src/services/story-director-analysis.ts","src/services/story-director.ts","src/services/storylet-engine.ts","src/services/tactical-combat-actions.ts","src/services/tactical-combat.ts","src/services/tension-tracker.ts","src/services/territory-control.ts","src/services/time-oracle.ts","src/services/trade-manager.ts","src/services/tts-narrator.ts","src/services/visualizer.ts","src/services/visuals/ascii-driver.ts","src/services/visuals/asset-manager.ts","src/services/visuals/asset-manifest-service.ts","src/services/visuals/battle-scene-generator.ts","src/services/visuals/canvas-map-generator.ts","src/services/visuals/composer.ts","src/services/visuals/emoji-manager.ts","src/services/visuals/fog-of-war.ts","src/services/visuals/hybrid-driver.ts","src/services/visuals/image-generator.ts","src/services/visuals/imagen-circuit-breaker.ts","src/services/visuals/imagen-seed-manager.ts","src/services/visuals/layer-schema.ts","src/services/visuals/map-compositor.ts","src/services/visuals/map-renderer.ts","src/services/visuals/map-spec.ts","src/services/visuals/master-portrait-service.ts","src/services/visuals/modern-driver.ts","src/services/visuals/multi-provider-client.ts","src/services/visuals/pathfinding-overlay.ts","src/services/visuals/portrait-cache.ts","src/services/visuals/portrait-prompt-builder.ts","src/services/visuals/portrait-variation-service.ts","src/services/visuals/provider-circuit-breaker.ts","src/services/visuals/provider-router.ts","src/services/visuals/provider-telemetry.ts","src/services/visuals/ref-image-provider.ts","src/services/visuals/render-job.ts","src/services/visuals/render-queue-client.ts","src/services/visuals/tileset-schema.ts","src/services/visuals/vignette-selector.ts","src/services/world-events.ts","src/services/world-guide.ts","src/services/world-map.ts","src/services/world-query.ts","src/services/world-seed.ts","src/services/world-simulator.ts","src/services/world-templates.ts","src/services/write-buffer.ts","src/story-generator.ts","src/telemetry/recorder.ts","src/test/response-store.ts","src/turn-coordinator/dag-context.ts","src/turn-coordinator/dag-engine.ts","src/turn-coordinator/dag-nodes.ts","src/turn-coordinator/handlers/player/join.ts","src/turn-coordinator/handlers/player/profile.ts","src/turn-coordinator/handlers/player/stats.ts","src/turn-coordinator/handlers/player-management.ts","src/turn-coordinator/handlers/sync.ts","src/turn-coordinator/narrative-context.ts","src/turn-coordinator/post-action-hooks.ts","src/turn-coordinator/processor.ts","src/turn-coordinator/scene-director.ts","src/turn-coordinator/turn-presenter.ts","src/turn-coordinator/visual-pipeline.ts","src/turn-coordinator.ts","src/types/discord.ts","src/types/do-responses.ts","src/utils/admin-auth.ts","src/utils/ai-json.ts","src/utils/cors.ts","src/utils/discord-identity.ts","src/utils/discord.ts","src/utils/email.ts","src/utils/error-monitor.ts","src/utils/internal-auth.ts","src/utils/json.ts","src/utils/rate-limiter.ts","src/utils/rbac.ts","src/utils/router.ts","src/utils/security-headers.ts","src/utils/vapid.ts","src/utils/verify.ts","src/utils/webhook-utils.ts","src/utils/world-utils.ts","src/workers/batch-poller-worker.ts","src/workers/enrich-dispatch.ts","src/workers/turn-dlq-worker.ts","src/workers/turn-processor-worker.ts","src/world-manager/world-audit.ts","src/world-manager/world-lifecycle.ts","src/world-manager.ts","test/audit/audit.test.ts","test/audit/game-auditor.ts","test/audit/run-audit.ts","test/e2e/api-routes.test.ts","test/e2e/auth-flow.test.ts","test/e2e/browser.setup.ts","test/e2e/character-lifecycle.test.ts","test/e2e/gameplay-flows.test.ts","test/e2e/smoke.test.ts","test/fixtures/mock-context.ts","test/fixtures/seed.ts","test/integration/api/auth.test.ts","test/integration/api/inbox.test.ts","test/integration/api/push.test.ts","test/integration/api/routes.test.ts","test/integration/combat-refinements.test.ts","test/integration/combat-victory.test.ts","test/integration/dag-pipeline.test.ts","test/integration/enrich-queue.test.ts","test/integration/npc-summary.test.ts","test/integration/slash-battery.test.ts","test/integration/turn-cycle.test.ts","test/integration/turn-pipeline.test.ts","test/live/client.ts","test/live/config.ts","test/live/suites/01-health.test.ts","test/live/suites/02-auth-flow.test.ts","test/live/suites/03-discord-commands.test.ts","test/live/suites/04-world-lifecycle.test.ts","test/live/suites/05-invite-flow.test.ts","test/live/suites/06-cross-surface.test.ts","test/live/suites/07-inventory.test.ts","test/live/suites/08-turn-commit.test.ts","test/live/suites/09-base-building.test.ts","test/live/suites/11-v2-tier1-stateless.test.ts","test/live/suites/12-v2-tier2-world.test.ts","test/live/suites/13-v2-tier3-player.test.ts","test/live/suites/14-v2-tier4-admin.test.ts","test/live/suites/15-v2-speed-scoring.test.ts","test/live/utils/discord-payload.ts","test/live/utils/unique.ts","test/live/utils/ux-checks.ts","test/live/utils/v2-validator.ts","test/live/vitest.config.live.ts","test/miniflare-env.js","test/mocks/cloudflare-workers-types.js","test/mocks/d1-database.js","test/mocks/discord-api.js","test/mocks/gemini-adapter.ts","test/mocks/image-generator.ts","test/setup.js","test/test-env.d.ts","test/unit/activity/map-parser.test.ts","test/unit/ai/adapter-cache.test.ts","test/unit/ai/adapter-factory.test.ts","test/unit/ai/batch-client.test.ts","test/unit/ai/corrections.test.ts","test/unit/ai/dag.test.ts","test/unit/ai/engagement-reward.test.ts","test/unit/ai/function-calling.test.ts","test/unit/ai/guardrails.test.ts","test/unit/ai/mab-concurrency.test.ts","test/unit/ai/mab.test.ts","test/unit/ai/model-registry-blacklist.test.ts","test/unit/ai/model-registry.test.ts","test/unit/ai/openai-adapter.test.ts","test/unit/ai/overflow-loop.test.ts","test/unit/ai/reward.test.ts","test/unit/ai/router.test.ts","test/unit/ai/tension-model-router.test.ts","test/unit/ai/types.test.ts","test/unit/commands/character/logic/auto.test.ts","test/unit/commands/faction.test.ts","test/unit/commands/help.test.ts","test/unit/commands/join.test.js","test/unit/commands/quest.test.ts","test/unit/dag-engine.test.ts","test/unit/dag-persist-state-batch.test.ts","test/unit/deadline-countdown.test.ts","test/unit/discord/button-density.test.ts","test/unit/discord/confirm.test.ts","test/unit/discord/digest-embed.test.ts","test/unit/discord/digest-poster.test.ts","test/unit/discord/pagination.test.ts","test/unit/discord/v2.test.ts","test/unit/entitlements.test.ts","test/unit/handlers/api/admin.test.ts","test/unit/handlers/api/ai-explore.test.ts","test/unit/handlers/api/ai-stats.test.ts","test/unit/handlers/api/asset-manifest.test.ts","test/unit/handlers/api/inventory.test.ts","test/unit/handlers/api/invites.test.ts","test/unit/handlers/api/turns.test.ts","test/unit/handlers/api/visual-spec.test.ts","test/unit/handlers/api/worlds.test.ts","test/unit/handlers/assets.test.ts","test/unit/handlers/commands/commit.test.ts","test/unit/handlers/commands/createworld.test.ts","test/unit/handlers/commands/join.test.ts","test/unit/handlers/commands/talk.test.ts","test/unit/handlers/discord-sig-verification.test.ts","test/unit/living-world/deadline-alarm.test.ts","test/unit/living-world/turn-cadence.test.ts","test/unit/mechanics/referee.test.ts","test/unit/middleware/auth.test.ts","test/unit/models/faction.test.ts","test/unit/models/recipes.test.ts","test/unit/prompt-cache-prefix-stability.test.ts","test/unit/render-queue-do.test.ts","test/unit/services/achievement-manager.test.ts","test/unit/services/achievements.test.ts","test/unit/services/ai-pilot.test.ts","test/unit/services/anti-sycophancy.test.ts","test/unit/services/archivist.test.ts","test/unit/services/ascii-map-generator.test.ts","test/unit/services/asset-manager.test.ts","test/unit/services/atmosphere-effects.test.ts","test/unit/services/auth-manager.test.ts","test/unit/services/auth-signup.test.ts","test/unit/services/biographer.test.ts","test/unit/services/canvas-map-generator.test.ts","test/unit/services/character-travel.test.ts","test/unit/services/chronicle-engine.test.ts","test/unit/services/combat-manager-new.test.ts","test/unit/services/combat-manager.test.ts","test/unit/services/combat-systems.test.ts","test/unit/services/construction-queue.test.ts","test/unit/services/construction-store.test.ts","test/unit/services/crafting-manager.test.ts","test/unit/services/dice-engine.test.ts","test/unit/services/dice-mechanics.test.ts","test/unit/services/doom-clock.test.ts","test/unit/services/emoji-manager.test.ts","test/unit/services/enrich-dispatch-batch.test.ts","test/unit/services/event-chain-engine.test.ts","test/unit/services/fact-extractor.test.ts","test/unit/services/faction-leaderboard.test.ts","test/unit/services/faction-manager.test.ts","test/unit/services/faction-warfare.test.ts","test/unit/services/fog-of-war.test.ts","test/unit/services/gameplay-balance.test.ts","test/unit/services/image-generator-tracking.test.ts","test/unit/services/image-generator.test.ts","test/unit/services/imagen-circuit-breaker.test.ts","test/unit/services/inventory-manager.test.ts","test/unit/services/league-manager.test.ts","test/unit/services/living-world.test.ts","test/unit/services/map-renderer.test.ts","test/unit/services/map-spec.test.ts","test/unit/services/master-portrait-service.test.ts","test/unit/services/memory-salience.test.ts","test/unit/services/mentor-system.test.ts","test/unit/services/modern-driver.test.ts","test/unit/services/narrative-actor.test.ts","test/unit/services/narrative-director.test.ts","test/unit/services/narrative-memory.test.ts","test/unit/services/npc-companion.test.ts","test/unit/services/npc-emotions.test.ts","test/unit/services/pathfinding-overlay.test.ts","test/unit/services/permadeath-legacy.test.ts","test/unit/services/player-housing.test.ts","test/unit/services/portrait-generator.test.ts","test/unit/services/portrait-variation-service.test.ts","test/unit/services/premium.test.ts","test/unit/services/progression-manager.test.ts","test/unit/services/provider-router.test.ts","test/unit/services/pvp-arena.test.ts","test/unit/services/quest-generator.test.ts","test/unit/services/quest-tree.test.ts","test/unit/services/rag-past-turn20.test.ts","test/unit/services/rbac.test.ts","test/unit/services/referee-v2.test.ts","test/unit/services/referee.test.ts","test/unit/services/relationship-graph.test.ts","test/unit/services/reputation-engine.test.ts","test/unit/services/rules-lookup.test.ts","test/unit/services/running-stories.test.ts","test/unit/services/seasonal-content.test.ts","test/unit/services/story-director-analysis.test.ts","test/unit/services/storylet-engine.test.ts","test/unit/services/tactical-combat.test.ts","test/unit/services/territory-control.test.ts","test/unit/services/tileset-schema.test.ts","test/unit/services/time-oracle.test.ts","test/unit/services/trade-manager.test.ts","test/unit/services/vignette-selector.test.ts","test/unit/services/visual-drivers.test.ts","test/unit/services/visualizer.test.ts","test/unit/services/world-query.test.ts","test/unit/services/world-rag.test.ts","test/unit/services/world-seed.test.ts","test/unit/services/write-buffer.test.ts","test/unit/story-generator-narrator.test.ts","test/unit/turn-coordinator/cleanup-node-cost.test.ts","test/unit/turn-coordinator/dag-context.test.ts","test/unit/turn-coordinator/dag-engine.test.ts","test/unit/turn-coordinator/dag-off-crit-path.test.ts","test/unit/turn-coordinator/fact-extraction-wiring.test.ts","test/unit/turn-coordinator/processor-concurrency.test.ts","test/unit/turn-coordinator/scene-director.test.ts","test/unit/turn-coordinator/visual-pipeline.test.ts","test/unit/turn-coordinator-commit.test.ts","test/unit/turn-state-concurrency.test.ts","test/unit/utils/ai-json.test.ts","test/unit/utils/cors.test.ts","test/unit/utils/internal-auth.test.ts","test/unit/utils/rate-limiter.test.ts","test/unit/utils/security-headers.test.ts","test/unit/vapid.test.ts","test/unit/visuals/layer-schema.test.ts","tsconfig.json","unused_vars.txt","verification_log.md","vitest.config.js","worker-configuration.d.ts","wrangler.batch-poller.toml","wrangler.dlq.toml","wrangler.queue.toml","wrangler.test.toml","wrangler.toml"]},"time":{"rules":[],"rules_parse_time":0.8771259784698486,"profiling_times":{"config_time":2.418966054916382,"core_time":38.392736196517944,"ignores_time":0.0018775463104248047,"total_time":40.830228328704834},"parsing_time":{"total_time":0.0,"per_file_time":{"mean":0.0,"std_dev":0.0},"very_slow_stats":{"time_ratio":0.0,"count_ratio":0.0},"very_slow_files":[]},"scanning_time":{"total_time":69.49727272987366,"per_file_time":{"mean":0.02833154208311195,"std_dev":0.008709424494193542},"very_slow_stats":{"time_ratio":0.05174226170729105,"count_ratio":0.0008153281695882593},"very_slow_files":[{"fpath":"src/index.ts","ftime":1.6710140705108643},{"fpath":"worker-configuration.d.ts","ftime":1.9249320030212402}]},"matching_time":{"total_time":0.0,"per_file_and_rule_time":{"mean":0.0,"std_dev":0.0},"very_slow_stats":{"time_ratio":0.0,"count_ratio":0.0},"very_slow_rules_on_files":[]},"tainting_time":{"total_time":0.0,"per_def_and_rule_time":{"mean":0.0,"std_dev":0.0},"very_slow_stats":{"time_ratio":0.0,"count_ratio":0.0},"very_slow_rules_on_defs":[]},"fixpoint_timeouts":[],"prefiltering":{"project_level_time":0.0,"file_level_time":0.0,"rules_with_project_prefilters_ratio":0.0,"rules_with_file_prefilters_ratio":0.9855818670524741,"rules_selected_ratio":0.04204165868811302,"rules_matched_ratio":0.04204165868811302},"targets":[],"total_bytes":0,"max_memory_bytes":1354136192},"engine_requested":"OSS","skipped_rules":[],"profiling_results":[]}