alphacouncil-agent 0.9.4 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/.codex-plugin/plugin.json +4 -4
  4. package/AGENTS.md +25 -11
  5. package/CHANGELOG.md +146 -0
  6. package/CLAUDE.md +24 -7
  7. package/README.ja.md +15 -10
  8. package/README.md +21 -13
  9. package/README.zh-CN.md +17 -12
  10. package/data/authored/core-seats.mjs +808 -0
  11. package/data/authored/growth-seats.mjs +581 -0
  12. package/data/authored/index.mjs +114 -0
  13. package/data/authored/quant-seats.mjs +564 -0
  14. package/data/authored/value-seats.mjs +663 -0
  15. package/data/build-profile.v1.json +2 -1
  16. package/data/council-evaluation-protocol.v1.json +7 -4
  17. package/data/master-selector-method-locales.v1.mjs +10 -0
  18. package/data/persona-v3-ai-assisted-solo-profile.v1.json +2 -2
  19. package/data/persona-v3-build-specs.v1.mjs +60 -3
  20. package/docs/INSTALL.md +6 -10
  21. package/docs/personas.md +2 -1
  22. package/docs/plans/v1.0-roadmap.md +487 -0
  23. package/docs/plans/v1.1-basket-native-seats.md +267 -0
  24. package/docs/releases/v0.9.5.md +96 -0
  25. package/docs/releases/v1.0.0.md +164 -0
  26. package/docs/report-contract.md +30 -6
  27. package/knowledge/ai-assisted-solo/experiments/runs/a.json +13 -13
  28. package/knowledge/ai-assisted-solo/experiments/runs/b.json +2 -2
  29. package/knowledge/ai-assisted-solo/experiments/runs/c.json +2 -2
  30. package/knowledge/ai-assisted-solo/experiments/runs/d13.json +126 -126
  31. package/knowledge/ai-assisted-solo/experiments/runs/d26.json +274 -254
  32. package/knowledge/ai-assisted-solo/experiments/runs/e-d13.json +129 -129
  33. package/knowledge/ai-assisted-solo/experiments/runs/e-d26.json +277 -257
  34. package/knowledge/ai-assisted-solo/experiments/runs/h_ai_reference.json +278 -258
  35. package/knowledge/ai-assisted-solo/experiments/simulation-input.json +7278 -556
  36. package/knowledge/ai-assisted-solo/experiments/simulation-manifest.json +22 -22
  37. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_ackman/reviews/{change_value_bridge.ai-review.json → market_capitalisation.ai-review.json} +46 -46
  38. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_ackman/reviews/{power_map.ai-review.json → owner_earnings_yield.ai-review.json} +46 -46
  39. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_aschenbrenner/reviews/{compute_power_bridge.ai-review.json → market_capitalisation.ai-review.json} +46 -46
  40. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_aschenbrenner/reviews/{timeline_reverse_valuation.ai-review.json → price_implied_cash_yield.ai-review.json} +46 -46
  41. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_asness/reviews/{crowding_cost_stress.ai-review.json → nominal_earnings_yield_gap.ai-review.json} +49 -49
  42. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_asness/reviews/{factor_decomposer.ai-review.json → real_earnings_yield_gap.ai-review.json} +49 -49
  43. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_bogle/reviews/expected_return_over_long_bond.ai-review.json +277 -0
  44. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_bogle/reviews/fundamental_expected_return.ai-review.json +277 -0
  45. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_buffett/reviews/{incremental_returns.ai-review.json → market_capitalisation.ai-review.json} +46 -46
  46. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_buffett/reviews/{owner_earnings_rebuilder.ai-review.json → owner_earnings_yield.ai-review.json} +46 -46
  47. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_burry/reviews/{mispricing_carry.ai-review.json → net_current_asset_surplus_per_share.ai-review.json} +49 -49
  48. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_burry/reviews/{capital_structure_reader.ai-review.json → net_current_asset_value_per_share.ai-review.json} +46 -46
  49. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_cathie_wood/reviews/{cost_adoption_curve.ai-review.json → current_cash_yield.ai-review.json} +46 -46
  50. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_cathie_wood/reviews/{capture_valuation_bridge.ai-review.json → market_capitalisation.ai-review.json} +46 -46
  51. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_dalio/reviews/{regime_classifier.ai-review.json → policy_real_rate.ai-review.json} +49 -49
  52. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/{master_munger/reviews/incentive_map.ai-review.json → master_dalio/reviews/real_curve_slope.ai-review.json} +51 -51
  53. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_damodaran/reviews/{reverse_valuation.ai-review.json → implied_equity_risk_premium.ai-review.json} +49 -49
  54. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_damodaran/reviews/{story_dcf.ai-review.json → premium_versus_long_run_average.ai-review.json} +49 -49
  55. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_druckenmiller/reviews/{liquidity_revision_map.ai-review.json → liquidity_curve_impulse.ai-review.json} +49 -49
  56. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_druckenmiller/reviews/{inflection_payoff.ai-review.json → policy_real_rate.ai-review.json} +49 -49
  57. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_duan_yongping/reviews/{user_value_evidence.ai-review.json → five_year_opportunity_cost.ai-review.json} +46 -46
  58. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_duan_yongping/reviews/{opportunity_cost.ai-review.json → margin_retention.ai-review.json} +46 -46
  59. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_fisher/reviews/{research_productivity.ai-review.json → margin_retention.ai-review.json} +46 -46
  60. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_fisher/reviews/{scuttlebutt_graph.ai-review.json → reinvestment_spread.ai-review.json} +49 -49
  61. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/{master_dalio/reviews/debt_driver_stress.ai-review.json → master_forensic_short/reviews/cash_conversion_gap.ai-review.json} +51 -51
  62. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_forensic_short/reviews/{accounting_rebuilder.ai-review.json → cash_cover_of_leverage.ai-review.json} +46 -46
  63. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_graham/reviews/{asset_floor.ai-review.json → defensive_hurdle_base.ai-review.json} +46 -46
  64. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_graham/reviews/{normalized_earnings.ai-review.json → half_normalised_earnings_yield.ai-review.json} +46 -46
  65. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_jhunjhunwala/reviews/{penetration_liquidity.ai-review.json → cash_quality_gap.ai-review.json} +49 -49
  66. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_jhunjhunwala/reviews/{promoter_governance.ai-review.json → real_structural_growth.ai-review.json} +49 -49
  67. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_klarman/reviews/{recovery_waterfall.ai-review.json → downside_asset_coverage.ai-review.json} +46 -46
  68. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_klarman/reviews/{cash_catalyst_compare.ai-review.json → market_capitalisation.ai-review.json} +46 -46
  69. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_li_lu/reviews/{promise_integrity_ledger.ai-review.json → cash_backed_decade_return.ai-review.json} +46 -46
  70. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_li_lu/reviews/{ten_year_return_bridge.ai-review.json → decade_return_over_long_bond.ai-review.json} +49 -49
  71. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_lynch/reviews/{story_numbers_check.ai-review.json → growth_justified_capitalisation.ai-review.json} +46 -46
  72. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_lynch/reviews/{category_classifier.ai-review.json → market_capitalisation.ai-review.json} +46 -46
  73. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_marks/reviews/{cycle_temperature.ai-review.json → credit_cycle_position.ai-review.json} +49 -49
  74. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_marks/reviews/{implied_expectations.ai-review.json → equity_over_corporate_debt.ai-review.json} +49 -49
  75. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_munger/reviews/{failure_path_graph.ai-review.json → debt_service_cushion.ai-review.json} +49 -49
  76. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_munger/reviews/reported_earnings_cash_gap.ai-review.json +277 -0
  77. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_natenberg/reviews/{surface_builder.ai-review.json → normalised_skew.ai-review.json} +46 -46
  78. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_natenberg/reviews/{greeks_payoff.ai-review.json → round_trip_cost.ai-review.json} +46 -46
  79. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_pabrai/reviews/{downside_floor.ai-review.json → downside_floor_coverage.ai-review.json} +46 -46
  80. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_pabrai/reviews/{discrete_payoff.ai-review.json → market_capitalisation.ai-review.json} +46 -46
  81. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_simons/reviews/{leakage_audit.ai-review.json → absolute_session_move.ai-review.json} +42 -42
  82. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_simons/reviews/{oos_cost_test.ai-review.json → session_move_over_implied.ai-review.json} +46 -46
  83. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_sinclair/reviews/{realized_vol_forecast.ai-review.json → round_trip_cost.ai-review.json} +46 -46
  84. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_sinclair/reviews/{net_edge_sizer.ai-review.json → volatility_per_unit_of_width.ai-review.json} +46 -46
  85. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_soros/reviews/{reflexivity_graph.ai-review.json → credit_cycle_position.ai-review.json} +49 -49
  86. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_soros/reviews/{reversal_monitor.ai-review.json → financing_burden.ai-review.json} +46 -46
  87. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_taleb/reviews/{tail_friction.ai-review.json → debt_service_cushion.ai-review.json} +49 -49
  88. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_taleb/reviews/{payoff_ruin.ai-review.json → normalised_skew.ai-review.json} +46 -46
  89. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_thorp/reviews/{fractional_kelly.ai-review.json → edge_per_unit_of_volatility.ai-review.json} +46 -46
  90. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_thorp/reviews/{edge_recalculator.ai-review.json → net_edge.ai-review.json} +49 -49
  91. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/review-manifest.json +288 -270
  92. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-semantic-adjudications/index.json +2 -2
  93. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-semantic-extractions/index.json +2 -2
  94. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-semantic-skeptic-reviews/index.json +2 -2
  95. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-source-prereviews/index.json +6 -2
  96. package/knowledge/solo-test/masters/master_ackman/decision_policy.json +122 -11
  97. package/knowledge/solo-test/masters/master_ackman/doctrine.jsonl +2 -2
  98. package/knowledge/solo-test/masters/master_ackman/manifest.json +13 -6
  99. package/knowledge/solo-test/masters/master_ackman/provisional-index.json +3 -3
  100. package/knowledge/solo-test/masters/master_ackman/sources.jsonl +1 -1
  101. package/knowledge/solo-test/masters/master_ackman/tools.json +56 -30
  102. package/knowledge/solo-test/masters/master_aschenbrenner/decision_policy.json +101 -10
  103. package/knowledge/solo-test/masters/master_aschenbrenner/doctrine.jsonl +2 -2
  104. package/knowledge/solo-test/masters/master_aschenbrenner/manifest.json +12 -4
  105. package/knowledge/solo-test/masters/master_aschenbrenner/provisional-index.json +3 -3
  106. package/knowledge/solo-test/masters/master_aschenbrenner/sources.jsonl +1 -1
  107. package/knowledge/solo-test/masters/master_aschenbrenner/tools.json +56 -30
  108. package/knowledge/solo-test/masters/master_asness/decision_policy.json +89 -10
  109. package/knowledge/solo-test/masters/master_asness/doctrine.jsonl +2 -2
  110. package/knowledge/solo-test/masters/master_asness/manifest.json +11 -4
  111. package/knowledge/solo-test/masters/master_asness/provisional-index.json +3 -3
  112. package/knowledge/solo-test/masters/master_asness/sources.jsonl +1 -1
  113. package/knowledge/solo-test/masters/master_asness/tools.json +56 -30
  114. package/knowledge/solo-test/masters/master_bogle/counterfactuals.jsonl +0 -0
  115. package/knowledge/solo-test/masters/master_bogle/decision_cases.jsonl +0 -0
  116. package/knowledge/solo-test/masters/master_bogle/decision_policy.json +170 -0
  117. package/knowledge/solo-test/masters/master_bogle/doctrine.jsonl +14 -0
  118. package/knowledge/solo-test/masters/master_bogle/evaluation/calibration_cases.jsonl +0 -0
  119. package/knowledge/solo-test/masters/master_bogle/evaluation/experiments.json +5 -0
  120. package/knowledge/solo-test/masters/master_bogle/evaluation/golden_cases.jsonl +0 -0
  121. package/knowledge/solo-test/masters/master_bogle/evaluation/pairwise_cases.jsonl +0 -0
  122. package/knowledge/solo-test/masters/master_bogle/failures.jsonl +0 -0
  123. package/knowledge/solo-test/masters/master_bogle/manifest.json +141 -0
  124. package/knowledge/solo-test/masters/master_bogle/memory_policy.json +5 -0
  125. package/knowledge/solo-test/masters/master_bogle/provisional-index.json +41 -0
  126. package/knowledge/solo-test/masters/master_bogle/research_policy.json +11 -0
  127. package/knowledge/solo-test/masters/master_bogle/sources.jsonl +1 -0
  128. package/knowledge/solo-test/masters/master_bogle/tools.json +120 -0
  129. package/knowledge/solo-test/masters/master_bogle/voice.en.md +7 -0
  130. package/knowledge/solo-test/masters/master_bogle/voice.zh.md +7 -0
  131. package/knowledge/solo-test/masters/master_buffett/decision_policy.json +102 -11
  132. package/knowledge/solo-test/masters/master_buffett/doctrine.jsonl +2 -2
  133. package/knowledge/solo-test/masters/master_buffett/manifest.json +10 -4
  134. package/knowledge/solo-test/masters/master_buffett/provisional-index.json +3 -3
  135. package/knowledge/solo-test/masters/master_buffett/sources.jsonl +1 -1
  136. package/knowledge/solo-test/masters/master_buffett/tools.json +55 -29
  137. package/knowledge/solo-test/masters/master_burry/decision_policy.json +102 -12
  138. package/knowledge/solo-test/masters/master_burry/doctrine.jsonl +2 -2
  139. package/knowledge/solo-test/masters/master_burry/manifest.json +12 -6
  140. package/knowledge/solo-test/masters/master_burry/provisional-index.json +3 -3
  141. package/knowledge/solo-test/masters/master_burry/sources.jsonl +1 -1
  142. package/knowledge/solo-test/masters/master_burry/tools.json +56 -30
  143. package/knowledge/solo-test/masters/master_cathie_wood/decision_policy.json +74 -12
  144. package/knowledge/solo-test/masters/master_cathie_wood/doctrine.jsonl +2 -2
  145. package/knowledge/solo-test/masters/master_cathie_wood/manifest.json +12 -6
  146. package/knowledge/solo-test/masters/master_cathie_wood/provisional-index.json +3 -3
  147. package/knowledge/solo-test/masters/master_cathie_wood/sources.jsonl +1 -1
  148. package/knowledge/solo-test/masters/master_cathie_wood/tools.json +56 -30
  149. package/knowledge/solo-test/masters/master_dalio/decision_policy.json +123 -16
  150. package/knowledge/solo-test/masters/master_dalio/doctrine.jsonl +2 -2
  151. package/knowledge/solo-test/masters/master_dalio/manifest.json +10 -4
  152. package/knowledge/solo-test/masters/master_dalio/provisional-index.json +3 -3
  153. package/knowledge/solo-test/masters/master_dalio/sources.jsonl +1 -1
  154. package/knowledge/solo-test/masters/master_dalio/tools.json +56 -30
  155. package/knowledge/solo-test/masters/master_damodaran/decision_policy.json +58 -10
  156. package/knowledge/solo-test/masters/master_damodaran/doctrine.jsonl +2 -2
  157. package/knowledge/solo-test/masters/master_damodaran/manifest.json +9 -4
  158. package/knowledge/solo-test/masters/master_damodaran/provisional-index.json +3 -3
  159. package/knowledge/solo-test/masters/master_damodaran/sources.jsonl +1 -1
  160. package/knowledge/solo-test/masters/master_damodaran/tools.json +54 -28
  161. package/knowledge/solo-test/masters/master_druckenmiller/decision_policy.json +89 -10
  162. package/knowledge/solo-test/masters/master_druckenmiller/doctrine.jsonl +2 -2
  163. package/knowledge/solo-test/masters/master_druckenmiller/manifest.json +11 -4
  164. package/knowledge/solo-test/masters/master_druckenmiller/provisional-index.json +3 -3
  165. package/knowledge/solo-test/masters/master_druckenmiller/sources.jsonl +1 -1
  166. package/knowledge/solo-test/masters/master_druckenmiller/tools.json +55 -29
  167. package/knowledge/solo-test/masters/master_duan_yongping/decision_policy.json +138 -13
  168. package/knowledge/solo-test/masters/master_duan_yongping/doctrine.jsonl +2 -2
  169. package/knowledge/solo-test/masters/master_duan_yongping/manifest.json +17 -7
  170. package/knowledge/solo-test/masters/master_duan_yongping/provisional-index.json +3 -3
  171. package/knowledge/solo-test/masters/master_duan_yongping/sources.jsonl +1 -1
  172. package/knowledge/solo-test/masters/master_duan_yongping/tools.json +82 -30
  173. package/knowledge/solo-test/masters/master_fisher/decision_policy.json +102 -11
  174. package/knowledge/solo-test/masters/master_fisher/doctrine.jsonl +2 -2
  175. package/knowledge/solo-test/masters/master_fisher/manifest.json +13 -6
  176. package/knowledge/solo-test/masters/master_fisher/provisional-index.json +3 -3
  177. package/knowledge/solo-test/masters/master_fisher/sources.jsonl +1 -1
  178. package/knowledge/solo-test/masters/master_fisher/tools.json +58 -32
  179. package/knowledge/solo-test/masters/master_forensic_short/decision_policy.json +93 -14
  180. package/knowledge/solo-test/masters/master_forensic_short/doctrine.jsonl +2 -2
  181. package/knowledge/solo-test/masters/master_forensic_short/manifest.json +6 -4
  182. package/knowledge/solo-test/masters/master_forensic_short/provisional-index.json +3 -3
  183. package/knowledge/solo-test/masters/master_forensic_short/sources.jsonl +1 -1
  184. package/knowledge/solo-test/masters/master_forensic_short/tools.json +53 -27
  185. package/knowledge/solo-test/masters/master_graham/decision_policy.json +103 -12
  186. package/knowledge/solo-test/masters/master_graham/doctrine.jsonl +2 -2
  187. package/knowledge/solo-test/masters/master_graham/manifest.json +12 -4
  188. package/knowledge/solo-test/masters/master_graham/provisional-index.json +3 -3
  189. package/knowledge/solo-test/masters/master_graham/sources.jsonl +1 -1
  190. package/knowledge/solo-test/masters/master_graham/tools.json +67 -28
  191. package/knowledge/solo-test/masters/master_jhunjhunwala/decision_policy.json +77 -12
  192. package/knowledge/solo-test/masters/master_jhunjhunwala/doctrine.jsonl +2 -2
  193. package/knowledge/solo-test/masters/master_jhunjhunwala/manifest.json +11 -6
  194. package/knowledge/solo-test/masters/master_jhunjhunwala/provisional-index.json +3 -3
  195. package/knowledge/solo-test/masters/master_jhunjhunwala/sources.jsonl +1 -1
  196. package/knowledge/solo-test/masters/master_jhunjhunwala/tools.json +54 -28
  197. package/knowledge/solo-test/masters/master_klarman/decision_policy.json +105 -14
  198. package/knowledge/solo-test/masters/master_klarman/doctrine.jsonl +2 -2
  199. package/knowledge/solo-test/masters/master_klarman/manifest.json +8 -2
  200. package/knowledge/solo-test/masters/master_klarman/provisional-index.json +3 -3
  201. package/knowledge/solo-test/masters/master_klarman/sources.jsonl +1 -1
  202. package/knowledge/solo-test/masters/master_klarman/tools.json +55 -29
  203. package/knowledge/solo-test/masters/master_li_lu/decision_policy.json +101 -10
  204. package/knowledge/solo-test/masters/master_li_lu/doctrine.jsonl +2 -2
  205. package/knowledge/solo-test/masters/master_li_lu/manifest.json +13 -6
  206. package/knowledge/solo-test/masters/master_li_lu/provisional-index.json +3 -3
  207. package/knowledge/solo-test/masters/master_li_lu/sources.jsonl +1 -1
  208. package/knowledge/solo-test/masters/master_li_lu/tools.json +58 -32
  209. package/knowledge/solo-test/masters/master_lynch/decision_policy.json +127 -16
  210. package/knowledge/solo-test/masters/master_lynch/doctrine.jsonl +2 -2
  211. package/knowledge/solo-test/masters/master_lynch/manifest.json +14 -6
  212. package/knowledge/solo-test/masters/master_lynch/provisional-index.json +3 -3
  213. package/knowledge/solo-test/masters/master_lynch/sources.jsonl +1 -1
  214. package/knowledge/solo-test/masters/master_lynch/tools.json +67 -28
  215. package/knowledge/solo-test/masters/master_marks/decision_policy.json +71 -9
  216. package/knowledge/solo-test/masters/master_marks/doctrine.jsonl +2 -2
  217. package/knowledge/solo-test/masters/master_marks/manifest.json +11 -6
  218. package/knowledge/solo-test/masters/master_marks/provisional-index.json +3 -3
  219. package/knowledge/solo-test/masters/master_marks/sources.jsonl +1 -1
  220. package/knowledge/solo-test/masters/master_marks/tools.json +54 -28
  221. package/knowledge/solo-test/masters/master_munger/decision_policy.json +141 -16
  222. package/knowledge/solo-test/masters/master_munger/doctrine.jsonl +2 -2
  223. package/knowledge/solo-test/masters/master_munger/manifest.json +10 -6
  224. package/knowledge/solo-test/masters/master_munger/provisional-index.json +3 -3
  225. package/knowledge/solo-test/masters/master_munger/sources.jsonl +1 -1
  226. package/knowledge/solo-test/masters/master_munger/tools.json +52 -26
  227. package/knowledge/solo-test/masters/master_natenberg/decision_policy.json +59 -11
  228. package/knowledge/solo-test/masters/master_natenberg/doctrine.jsonl +2 -2
  229. package/knowledge/solo-test/masters/master_natenberg/manifest.json +9 -6
  230. package/knowledge/solo-test/masters/master_natenberg/provisional-index.json +3 -3
  231. package/knowledge/solo-test/masters/master_natenberg/sources.jsonl +1 -1
  232. package/knowledge/solo-test/masters/master_natenberg/tools.json +50 -24
  233. package/knowledge/solo-test/masters/master_pabrai/decision_policy.json +125 -14
  234. package/knowledge/solo-test/masters/master_pabrai/doctrine.jsonl +2 -2
  235. package/knowledge/solo-test/masters/master_pabrai/manifest.json +8 -2
  236. package/knowledge/solo-test/masters/master_pabrai/provisional-index.json +3 -3
  237. package/knowledge/solo-test/masters/master_pabrai/sources.jsonl +1 -1
  238. package/knowledge/solo-test/masters/master_pabrai/tools.json +55 -29
  239. package/knowledge/solo-test/masters/master_simons/decision_policy.json +59 -11
  240. package/knowledge/solo-test/masters/master_simons/doctrine.jsonl +2 -2
  241. package/knowledge/solo-test/masters/master_simons/manifest.json +8 -4
  242. package/knowledge/solo-test/masters/master_simons/provisional-index.json +3 -3
  243. package/knowledge/solo-test/masters/master_simons/sources.jsonl +1 -1
  244. package/knowledge/solo-test/masters/master_simons/tools.json +43 -30
  245. package/knowledge/solo-test/masters/master_sinclair/decision_policy.json +59 -11
  246. package/knowledge/solo-test/masters/master_sinclair/doctrine.jsonl +2 -2
  247. package/knowledge/solo-test/masters/master_sinclair/manifest.json +8 -6
  248. package/knowledge/solo-test/masters/master_sinclair/provisional-index.json +3 -3
  249. package/knowledge/solo-test/masters/master_sinclair/sources.jsonl +1 -1
  250. package/knowledge/solo-test/masters/master_sinclair/tools.json +54 -28
  251. package/knowledge/solo-test/masters/master_soros/decision_policy.json +98 -10
  252. package/knowledge/solo-test/masters/master_soros/doctrine.jsonl +2 -2
  253. package/knowledge/solo-test/masters/master_soros/manifest.json +10 -7
  254. package/knowledge/solo-test/masters/master_soros/provisional-index.json +3 -3
  255. package/knowledge/solo-test/masters/master_soros/sources.jsonl +1 -1
  256. package/knowledge/solo-test/masters/master_soros/tools.json +54 -28
  257. package/knowledge/solo-test/masters/master_taleb/decision_policy.json +124 -13
  258. package/knowledge/solo-test/masters/master_taleb/doctrine.jsonl +2 -2
  259. package/knowledge/solo-test/masters/master_taleb/manifest.json +9 -5
  260. package/knowledge/solo-test/masters/master_taleb/provisional-index.json +3 -3
  261. package/knowledge/solo-test/masters/master_taleb/sources.jsonl +1 -1
  262. package/knowledge/solo-test/masters/master_taleb/tools.json +50 -24
  263. package/knowledge/solo-test/masters/master_thorp/decision_policy.json +61 -13
  264. package/knowledge/solo-test/masters/master_thorp/doctrine.jsonl +2 -2
  265. package/knowledge/solo-test/masters/master_thorp/manifest.json +11 -6
  266. package/knowledge/solo-test/masters/master_thorp/provisional-index.json +3 -3
  267. package/knowledge/solo-test/masters/master_thorp/sources.jsonl +1 -1
  268. package/knowledge/solo-test/masters/master_thorp/tools.json +56 -30
  269. package/knowledge/solo-test/persona-v3-solo-test-formulas/compilation-manifest.json +290 -264
  270. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/components/tools.json +58 -32
  271. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +76 -0
  272. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/provisional-derivations/owner_earnings_yield.derived-proxy-evidence.json +76 -0
  273. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/components/tools.json +58 -32
  274. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +76 -0
  275. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/provisional-derivations/price_implied_cash_yield.derived-proxy-evidence.json +76 -0
  276. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_asness/components/tools.json +58 -32
  277. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_asness/provisional-derivations/nominal_earnings_yield_gap.derived-proxy-evidence.json +76 -0
  278. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_asness/provisional-derivations/real_earnings_yield_gap.derived-proxy-evidence.json +76 -0
  279. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_bogle/components/tools.json +120 -0
  280. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_bogle/provisional-derivations/expected_return_over_long_bond.derived-proxy-evidence.json +77 -0
  281. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_bogle/provisional-derivations/fundamental_expected_return.derived-proxy-evidence.json +76 -0
  282. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/components/tools.json +57 -31
  283. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +76 -0
  284. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/provisional-derivations/owner_earnings_yield.derived-proxy-evidence.json +76 -0
  285. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_burry/components/tools.json +58 -32
  286. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_burry/provisional-derivations/net_current_asset_surplus_per_share.derived-proxy-evidence.json +77 -0
  287. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_burry/provisional-derivations/net_current_asset_value_per_share.derived-proxy-evidence.json +76 -0
  288. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/components/tools.json +58 -32
  289. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/provisional-derivations/current_cash_yield.derived-proxy-evidence.json +76 -0
  290. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +76 -0
  291. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_dalio/components/tools.json +58 -32
  292. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_dalio/provisional-derivations/policy_real_rate.derived-proxy-evidence.json +76 -0
  293. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_dalio/provisional-derivations/real_curve_slope.derived-proxy-evidence.json +76 -0
  294. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_damodaran/components/tools.json +56 -30
  295. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_damodaran/provisional-derivations/implied_equity_risk_premium.derived-proxy-evidence.json +76 -0
  296. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_damodaran/provisional-derivations/{reverse_valuation.derived-proxy-evidence.json → premium_versus_long_run_average.derived-proxy-evidence.json} +29 -16
  297. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_druckenmiller/components/tools.json +57 -31
  298. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_druckenmiller/provisional-derivations/liquidity_curve_impulse.derived-proxy-evidence.json +76 -0
  299. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_druckenmiller/provisional-derivations/policy_real_rate.derived-proxy-evidence.json +76 -0
  300. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/components/tools.json +84 -32
  301. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/provisional-derivations/five_year_opportunity_cost.derived-proxy-evidence.json +102 -0
  302. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/provisional-derivations/margin_retention.derived-proxy-evidence.json +76 -0
  303. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_fisher/components/tools.json +60 -34
  304. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_fisher/provisional-derivations/margin_retention.derived-proxy-evidence.json +76 -0
  305. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_fisher/provisional-derivations/reinvestment_spread.derived-proxy-evidence.json +76 -0
  306. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_forensic_short/components/tools.json +55 -29
  307. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_forensic_short/provisional-derivations/{accounting_rebuilder.derived-proxy-evidence.json → cash_conversion_gap.derived-proxy-evidence.json} +28 -15
  308. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_forensic_short/provisional-derivations/cash_cover_of_leverage.derived-proxy-evidence.json +76 -0
  309. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/components/tools.json +69 -30
  310. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/provisional-derivations/defensive_hurdle_base.derived-proxy-evidence.json +89 -0
  311. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/provisional-derivations/half_normalised_earnings_yield.derived-proxy-evidence.json +76 -0
  312. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_jhunjhunwala/components/tools.json +56 -30
  313. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_jhunjhunwala/provisional-derivations/cash_quality_gap.derived-proxy-evidence.json +76 -0
  314. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_jhunjhunwala/provisional-derivations/real_structural_growth.derived-proxy-evidence.json +76 -0
  315. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/components/tools.json +57 -31
  316. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/provisional-derivations/downside_asset_coverage.derived-proxy-evidence.json +76 -0
  317. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +76 -0
  318. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_li_lu/components/tools.json +60 -34
  319. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_li_lu/provisional-derivations/cash_backed_decade_return.derived-proxy-evidence.json +76 -0
  320. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_li_lu/provisional-derivations/decade_return_over_long_bond.derived-proxy-evidence.json +76 -0
  321. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/components/tools.json +69 -30
  322. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/provisional-derivations/growth_justified_capitalisation.derived-proxy-evidence.json +89 -0
  323. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +76 -0
  324. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_marks/components/tools.json +56 -30
  325. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_marks/provisional-derivations/credit_cycle_position.derived-proxy-evidence.json +76 -0
  326. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_marks/provisional-derivations/equity_over_corporate_debt.derived-proxy-evidence.json +76 -0
  327. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_munger/components/tools.json +54 -28
  328. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_munger/provisional-derivations/debt_service_cushion.derived-proxy-evidence.json +76 -0
  329. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_munger/provisional-derivations/reported_earnings_cash_gap.derived-proxy-evidence.json +76 -0
  330. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_natenberg/components/tools.json +52 -26
  331. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_natenberg/provisional-derivations/{surface_builder.derived-proxy-evidence.json → normalised_skew.derived-proxy-evidence.json} +27 -14
  332. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_natenberg/provisional-derivations/round_trip_cost.derived-proxy-evidence.json +76 -0
  333. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/components/tools.json +57 -31
  334. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/provisional-derivations/downside_floor_coverage.derived-proxy-evidence.json +76 -0
  335. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +76 -0
  336. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_simons/components/tools.json +45 -32
  337. package/knowledge/solo-test/persona-v3-solo-test-formulas/{master_natenberg/provisional-derivations/greeks_payoff.derived-proxy-evidence.json → master_simons/provisional-derivations/absolute_session_move.derived-proxy-evidence.json} +17 -17
  338. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_simons/provisional-derivations/session_move_over_implied.derived-proxy-evidence.json +77 -0
  339. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_sinclair/components/tools.json +56 -30
  340. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_sinclair/provisional-derivations/round_trip_cost.derived-proxy-evidence.json +76 -0
  341. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_sinclair/provisional-derivations/volatility_per_unit_of_width.derived-proxy-evidence.json +76 -0
  342. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_soros/components/tools.json +56 -30
  343. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_soros/provisional-derivations/credit_cycle_position.derived-proxy-evidence.json +76 -0
  344. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_soros/provisional-derivations/financing_burden.derived-proxy-evidence.json +76 -0
  345. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_taleb/components/tools.json +52 -26
  346. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_taleb/provisional-derivations/debt_service_cushion.derived-proxy-evidence.json +76 -0
  347. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_taleb/provisional-derivations/{tail_friction.derived-proxy-evidence.json → normalised_skew.derived-proxy-evidence.json} +27 -14
  348. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_thorp/components/tools.json +58 -32
  349. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_thorp/provisional-derivations/edge_per_unit_of_volatility.derived-proxy-evidence.json +77 -0
  350. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_thorp/provisional-derivations/net_edge.derived-proxy-evidence.json +76 -0
  351. package/mcp/lib/breadth.mjs +126 -0
  352. package/mcp/lib/constants.mjs +15 -0
  353. package/mcp/lib/damodaran.mjs +119 -0
  354. package/mcp/lib/fred.mjs +246 -0
  355. package/mcp/lib/fund-holdings-parsers.mjs +297 -0
  356. package/mcp/lib/fund-observations.mjs +152 -0
  357. package/mcp/lib/fundamentals.mjs +806 -0
  358. package/mcp/lib/funds.mjs +785 -0
  359. package/mcp/lib/gates.mjs +71 -4
  360. package/mcp/lib/grounding.mjs +209 -36
  361. package/mcp/lib/index-aggregate.mjs +733 -0
  362. package/mcp/lib/insider-ownership.mjs +149 -0
  363. package/mcp/lib/instrument-facts.mjs +855 -0
  364. package/mcp/lib/instruments.mjs +216 -0
  365. package/mcp/lib/markdown.mjs +216 -43
  366. package/mcp/lib/master-catalog.mjs +4 -0
  367. package/mcp/lib/orchestrator.mjs +173 -29
  368. package/mcp/lib/packets.mjs +59 -6
  369. package/mcp/lib/personas/engine.mjs +23 -10
  370. package/mcp/lib/personas-v3/deterministic-executor.mjs +13 -2
  371. package/mcp/lib/personas-v3/ga-external-evidence.mjs +3 -2
  372. package/mcp/lib/personas-v3/ga-gate.mjs +2 -1
  373. package/mcp/lib/personas-v3/ga-package-evidence.mjs +5 -4
  374. package/mcp/lib/personas-v3/grounding-adapter.mjs +309 -2
  375. package/mcp/lib/personas-v3/production-root.mjs +5 -4
  376. package/mcp/lib/personas-v3/release-formula-evidence.mjs +14 -7
  377. package/mcp/lib/personas-v3/release-source-evidence.mjs +2 -1
  378. package/mcp/lib/personas-v3/releases.mjs +5 -4
  379. package/mcp/lib/personas-v3/runtime-release-integrity.mjs +6 -5
  380. package/mcp/lib/personas-v3/semantic-source-adjudication.mjs +2 -1
  381. package/mcp/lib/personas-v3/semantic-source-extraction.mjs +2 -1
  382. package/mcp/lib/personas-v3/semantic-source-skeptic-review.mjs +2 -1
  383. package/mcp/lib/personas-v3/source-review-operations.mjs +3 -2
  384. package/mcp/lib/personas-v3/staging.mjs +22 -3
  385. package/mcp/lib/prompts.mjs +87 -3
  386. package/mcp/lib/quotes.mjs +5 -0
  387. package/mcp/lib/rpc.mjs +27 -10
  388. package/mcp/lib/run-store.mjs +5 -3
  389. package/mcp/lib/sec.mjs +32 -0
  390. package/mcp/lib/tables.mjs +11 -0
  391. package/mcp/lib/voice.mjs +122 -0
  392. package/mcp/lib/xbrl-aggregates.mjs +153 -0
  393. package/mcp/lib/xbrl-series.mjs +341 -0
  394. package/mcp/lib/xlsx.mjs +155 -0
  395. package/package.json +5 -5
  396. package/personas/masters/masters-value/bogle.md +145 -0
  397. package/schemas/council-evaluation-protocol-v1.schema.json +2 -2
  398. package/schemas/persona-v3-ai-assisted-solo-profile-v1.schema.json +2 -2
  399. package/schemas/persona-v3-ai-machine-simulation-v1.schema.json +1 -1
  400. package/schemas/persona-v3-build-spec-v1.schema.json +3 -3
  401. package/schemas/persona-v3-release-formula-review-evidence-v1.schema.json +3 -3
  402. package/schemas/persona-v3-release-manifest-v1.schema.json +6 -6
  403. package/schemas/persona-v3-release-source-review-evidence-v1.schema.json +3 -3
  404. package/schemas/persona-v3-tool-graph-v1.schema.json +1 -1
  405. package/schemas/source-review-batch-v1.schema.json +9 -9
  406. package/scripts/assemble-persona-v3-release.mjs +3 -2
  407. package/scripts/build-persona-v3-solo-test-packs.mjs +6 -8
  408. package/scripts/check-persona-v3-ga.mjs +1 -1
  409. package/scripts/check-persona-v3-production-candidates.mjs +1 -1
  410. package/scripts/compile-persona-v3-formulas.mjs +19 -18
  411. package/scripts/doctor.mjs +11 -9
  412. package/scripts/export-persona-source-review-batch.mjs +1 -1
  413. package/scripts/generate-persona-v3-drafts.mjs +2 -2
  414. package/scripts/lib/build-profile.mjs +24 -0
  415. package/scripts/lib/council-evaluation-protocol.mjs +7 -6
  416. package/scripts/lib/host-capabilities.mjs +2 -1
  417. package/scripts/lib/packaged-host-parity.mjs +9 -3
  418. package/scripts/lib/persona-v3-ai-assisted-solo-status.mjs +6 -4
  419. package/scripts/lib/persona-v3-ai-formula-review.mjs +6 -5
  420. package/scripts/lib/persona-v3-ai-machine-simulations.mjs +32 -4
  421. package/scripts/lib/persona-v3-build-specs.mjs +3 -2
  422. package/scripts/lib/persona-v3-draft-packs.mjs +2 -2
  423. package/scripts/lib/persona-v3-formula-pipeline.mjs +11 -10
  424. package/scripts/lib/persona-v3-production-candidates.mjs +10 -9
  425. package/scripts/lib/persona-v3-solo-formula-pipeline.mjs +188 -16
  426. package/scripts/lib/persona-v3-solo-test-packs.mjs +112 -11
  427. package/scripts/package-smoke.mjs +2 -1
  428. package/scripts/report-persona-corpus-gaps.mjs +4 -1
  429. package/scripts/review-persona-v3-solo-formulas.mjs +12 -8
  430. package/scripts/scaffold-persona-v3-staging.mjs +1 -1
  431. package/skills/agent-skills-governance/SKILL.md +8 -2
  432. package/skills/alphacouncil-agent/SKILL.md +12 -4
  433. package/skills/public-equity-investing/SKILL.md +17 -0
  434. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_forensic_short/reviews/borrow_catalyst.ai-review.json +0 -277
  435. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/provisional-derivations/change_value_bridge.derived-proxy-evidence.json +0 -64
  436. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/provisional-derivations/power_map.derived-proxy-evidence.json +0 -64
  437. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/provisional-derivations/compute_power_bridge.derived-proxy-evidence.json +0 -64
  438. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/provisional-derivations/timeline_reverse_valuation.derived-proxy-evidence.json +0 -64
  439. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_asness/provisional-derivations/crowding_cost_stress.derived-proxy-evidence.json +0 -64
  440. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_asness/provisional-derivations/factor_decomposer.derived-proxy-evidence.json +0 -64
  441. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/provisional-derivations/incremental_returns.derived-proxy-evidence.json +0 -64
  442. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/provisional-derivations/owner_earnings_rebuilder.derived-proxy-evidence.json +0 -64
  443. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_burry/provisional-derivations/capital_structure_reader.derived-proxy-evidence.json +0 -64
  444. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_burry/provisional-derivations/mispricing_carry.derived-proxy-evidence.json +0 -64
  445. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/provisional-derivations/capture_valuation_bridge.derived-proxy-evidence.json +0 -64
  446. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/provisional-derivations/cost_adoption_curve.derived-proxy-evidence.json +0 -64
  447. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_dalio/provisional-derivations/debt_driver_stress.derived-proxy-evidence.json +0 -64
  448. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_dalio/provisional-derivations/regime_classifier.derived-proxy-evidence.json +0 -64
  449. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_damodaran/provisional-derivations/story_dcf.derived-proxy-evidence.json +0 -64
  450. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_druckenmiller/provisional-derivations/inflection_payoff.derived-proxy-evidence.json +0 -64
  451. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_druckenmiller/provisional-derivations/liquidity_revision_map.derived-proxy-evidence.json +0 -64
  452. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/provisional-derivations/opportunity_cost.derived-proxy-evidence.json +0 -64
  453. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/provisional-derivations/user_value_evidence.derived-proxy-evidence.json +0 -64
  454. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_fisher/provisional-derivations/research_productivity.derived-proxy-evidence.json +0 -64
  455. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_fisher/provisional-derivations/scuttlebutt_graph.derived-proxy-evidence.json +0 -64
  456. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_forensic_short/provisional-derivations/borrow_catalyst.derived-proxy-evidence.json +0 -64
  457. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/provisional-derivations/asset_floor.derived-proxy-evidence.json +0 -64
  458. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/provisional-derivations/normalized_earnings.derived-proxy-evidence.json +0 -64
  459. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_jhunjhunwala/provisional-derivations/penetration_liquidity.derived-proxy-evidence.json +0 -64
  460. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_jhunjhunwala/provisional-derivations/promoter_governance.derived-proxy-evidence.json +0 -64
  461. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/provisional-derivations/cash_catalyst_compare.derived-proxy-evidence.json +0 -64
  462. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/provisional-derivations/recovery_waterfall.derived-proxy-evidence.json +0 -64
  463. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_li_lu/provisional-derivations/promise_integrity_ledger.derived-proxy-evidence.json +0 -64
  464. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_li_lu/provisional-derivations/ten_year_return_bridge.derived-proxy-evidence.json +0 -64
  465. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/provisional-derivations/category_classifier.derived-proxy-evidence.json +0 -64
  466. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/provisional-derivations/story_numbers_check.derived-proxy-evidence.json +0 -64
  467. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_marks/provisional-derivations/cycle_temperature.derived-proxy-evidence.json +0 -64
  468. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_marks/provisional-derivations/implied_expectations.derived-proxy-evidence.json +0 -64
  469. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_munger/provisional-derivations/failure_path_graph.derived-proxy-evidence.json +0 -64
  470. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_munger/provisional-derivations/incentive_map.derived-proxy-evidence.json +0 -64
  471. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/provisional-derivations/discrete_payoff.derived-proxy-evidence.json +0 -64
  472. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/provisional-derivations/downside_floor.derived-proxy-evidence.json +0 -64
  473. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_simons/provisional-derivations/leakage_audit.derived-proxy-evidence.json +0 -64
  474. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_simons/provisional-derivations/oos_cost_test.derived-proxy-evidence.json +0 -64
  475. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_sinclair/provisional-derivations/net_edge_sizer.derived-proxy-evidence.json +0 -64
  476. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_sinclair/provisional-derivations/realized_vol_forecast.derived-proxy-evidence.json +0 -64
  477. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_soros/provisional-derivations/reflexivity_graph.derived-proxy-evidence.json +0 -64
  478. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_soros/provisional-derivations/reversal_monitor.derived-proxy-evidence.json +0 -64
  479. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_taleb/provisional-derivations/payoff_ruin.derived-proxy-evidence.json +0 -64
  480. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_thorp/provisional-derivations/edge_recalculator.derived-proxy-evidence.json +0 -64
  481. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_thorp/provisional-derivations/fractional_kelly.derived-proxy-evidence.json +0 -64
@@ -0,0 +1,152 @@
1
+ /**
2
+ * An append-only ledger of what each run saw about a fund's size.
3
+ *
4
+ * A flow is shares created minus shares redeemed, priced. Two dated share counts are the whole
5
+ * input, and no issuer serves a history of them keylessly: iShares publishes today's count in
6
+ * the holdings file and answers 404 for a dated one, Invesco and Vanguard publish none at all.
7
+ *
8
+ * So the history is built rather than fetched. Every run already retrieves the holdings file;
9
+ * recording what it said costs nothing and makes the second run onward able to compute a flow
10
+ * exactly, by the arithmetic `fundFlow` already implements.
11
+ *
12
+ * This bootstraps, it does not backfill, and that is the honest trade. A user who looks at SOXX
13
+ * weekly has weekly flows from the second week. It is not a vendor flow series and the fact
14
+ * built from it says so.
15
+ *
16
+ * What this deliberately does NOT do is derive a flow from a change in assets. Assets move with
17
+ * the market and with creations, and reporting the sum as the second is how this number gets
18
+ * faked — in the direction that makes a rally look like conviction.
19
+ */
20
+
21
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
22
+ import { dirname, join, resolve, sep } from "node:path";
23
+
24
+ import { DATA_DIR } from "./constants.mjs";
25
+
26
+ const LEDGER_DIRNAME = "fund-observations";
27
+
28
+ /** Keep a bounded history per fund; a flow only ever reads the two most recent rows. */
29
+ export const MAX_OBSERVATIONS_PER_FUND = 400;
30
+
31
+ const SYMBOL = /^[A-Z0-9][A-Z0-9.\-^]{0,15}$/u;
32
+
33
+ export function observationsRoot(dataDir = DATA_DIR) {
34
+ return join(dataDir, LEDGER_DIRNAME);
35
+ }
36
+
37
+ /**
38
+ * The ledger file for one symbol.
39
+ *
40
+ * A symbol arrives from a caller and becomes a path, so it is validated against a shape rather
41
+ * than escaped: anything with a separator or a traversal segment is refused outright.
42
+ */
43
+ export function observationFile(symbol, dataDir = DATA_DIR) {
44
+ const upper = String(symbol || "").trim().toUpperCase();
45
+ if (!SYMBOL.test(upper)) throw new Error(`unsafe fund symbol for a ledger path: ${JSON.stringify(symbol)}`);
46
+ const root = observationsRoot(dataDir);
47
+ const file = resolve(root, `${upper.replace(/[^A-Z0-9]/gu, "_")}.json`);
48
+ if (dirname(file) !== resolve(root)) throw new Error(`ledger path escaped its root: ${file}`);
49
+ return file;
50
+ }
51
+
52
+ function readLedger(file) {
53
+ if (!existsSync(file)) return [];
54
+ try {
55
+ const parsed = JSON.parse(readFileSync(file, "utf8"));
56
+ return Array.isArray(parsed?.observations) ? parsed.observations : [];
57
+ } catch {
58
+ // A corrupt ledger is not a reason to fail a research run. It is a reason to start a new
59
+ // one, and to lose the history rather than to report a flow computed from garbage.
60
+ return [];
61
+ }
62
+ }
63
+
64
+ function finite(value) {
65
+ return typeof value === "number" && Number.isFinite(value);
66
+ }
67
+
68
+ /**
69
+ * Record one dated observation and return the ledger.
70
+ *
71
+ * Idempotent per as-of date: the same trading day seen twice does not create two rows, because
72
+ * a flow between two rows of the same date is zero and would read as a real zero.
73
+ */
74
+ export function recordFundObservation({
75
+ symbol,
76
+ asOf,
77
+ sharesOutstanding = null,
78
+ sharesBasis = null,
79
+ nav = null,
80
+ netAssets = null,
81
+ sourceUrl = null,
82
+ dataDir = DATA_DIR,
83
+ } = {}) {
84
+ if (!asOf || !/^\d{4}-\d{2}-\d{2}$/u.test(String(asOf))) return { observations: [], recorded: false };
85
+ if (!finite(sharesOutstanding) && !finite(netAssets)) return { observations: [], recorded: false };
86
+ const file = observationFile(symbol, dataDir);
87
+ const existing = readLedger(file);
88
+ if (existing.some((row) => row.as_of === asOf)) return { observations: existing, recorded: false };
89
+ const observations = [...existing, {
90
+ as_of: asOf,
91
+ shares_outstanding: finite(sharesOutstanding) ? sharesOutstanding : null,
92
+ // How the count was obtained decides whether it may price a flow. See `flowInputs`.
93
+ shares_basis: sharesBasis || null,
94
+ nav: finite(nav) ? nav : null,
95
+ net_assets: finite(netAssets) ? netAssets : null,
96
+ source_url: sourceUrl || null,
97
+ }]
98
+ .sort((left, right) => left.as_of.localeCompare(right.as_of))
99
+ .slice(-MAX_OBSERVATIONS_PER_FUND);
100
+ mkdirSync(dirname(file), { recursive: true });
101
+ writeFileSync(file, `${JSON.stringify({ schema_version: 1, symbol: String(symbol).toUpperCase(), observations }, null, 2)}\n`, "utf8");
102
+ return { observations, recorded: true };
103
+ }
104
+
105
+ /**
106
+ * Share counts an issuer actually published. Nothing else may price a flow.
107
+ *
108
+ * Where an issuer publishes no count this repository reconstructs one from disclosed assets
109
+ * over price, which is fine for a market capitalisation -- the product is the size we already
110
+ * had. It is NOT fine for a flow. A flow is a DIFFERENCE of two counts, so it subtracts away
111
+ * the number and leaves the noise: assets carry the error of a 95%-priced position sum, price
112
+ * carries the fund's premium or discount, and half a percent at each end of a $300bn fund
113
+ * manufactures $1.5bn of flow that never happened. Worse, that error is not centred on zero
114
+ * from a reader's point of view -- it appears as conviction exactly when the market moved.
115
+ */
116
+ const FILED_SHARE_BASES = new Set([
117
+ "issuer_disclosed_shares_outstanding",
118
+ // Assets and net asset value published by the same issuer on the same date. Their ratio is
119
+ // shares outstanding by definition, not an approximation of it, so differencing two of them
120
+ // is differencing two share counts.
121
+ "issuer_aum_over_nav",
122
+ ]);
123
+
124
+ /**
125
+ * The two most recent observations that can price a flow, and how far apart they are.
126
+ *
127
+ * The gap matters and is returned rather than hidden: a flow measured across forty days is not
128
+ * a daily flow, and a reader who cannot see the gap will read it as one.
129
+ */
130
+ export function flowInputs(observations) {
131
+ const priced = (observations || []).filter((row) => (
132
+ finite(row?.shares_outstanding) && FILED_SHARE_BASES.has(row?.shares_basis)
133
+ ));
134
+ if (priced.length < 2) return null;
135
+ const prior = priced.at(-2);
136
+ const latest = priced.at(-1);
137
+ const nav = finite(latest.nav)
138
+ ? latest.nav
139
+ : (finite(latest.net_assets) && latest.shares_outstanding > 0
140
+ ? latest.net_assets / latest.shares_outstanding
141
+ : null);
142
+ if (!finite(nav) || nav <= 0) return null;
143
+ return {
144
+ sharesNow: latest.shares_outstanding,
145
+ sharesPrior: prior.shares_outstanding,
146
+ nav,
147
+ asOf: latest.as_of,
148
+ priorAsOf: prior.as_of,
149
+ gapDays: Math.round((Date.parse(latest.as_of) - Date.parse(prior.as_of)) / 86_400_000),
150
+ netAssets: finite(latest.net_assets) ? latest.net_assets : latest.shares_outstanding * nav,
151
+ };
152
+ }