alphacouncil-agent 1.0.0 → 1.0.2

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 (157) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/AGENTS.md +5 -6
  5. package/CHANGELOG.md +86 -0
  6. package/CLAUDE.md +5 -6
  7. package/README.ja.md +13 -12
  8. package/README.md +16 -16
  9. package/README.zh-CN.md +11 -11
  10. package/data/authored/core-seats.mjs +3 -3
  11. package/data/authored/quant-seats.mjs +2 -2
  12. package/data/authored/value-seats.mjs +4 -4
  13. package/data/build-profile.v1.json +1 -1
  14. package/docs/INSTALL.md +6 -10
  15. package/docs/plans/v1.1-basket-native-seats.md +267 -0
  16. package/knowledge/ai-assisted-solo/experiments/runs/a.json +10 -10
  17. package/knowledge/ai-assisted-solo/experiments/runs/b.json +2 -2
  18. package/knowledge/ai-assisted-solo/experiments/runs/c.json +2 -2
  19. package/knowledge/ai-assisted-solo/experiments/runs/d13.json +52 -52
  20. package/knowledge/ai-assisted-solo/experiments/runs/d26.json +68 -68
  21. package/knowledge/ai-assisted-solo/experiments/runs/e-d13.json +55 -55
  22. package/knowledge/ai-assisted-solo/experiments/runs/e-d26.json +71 -71
  23. package/knowledge/ai-assisted-solo/experiments/runs/h_ai_reference.json +72 -72
  24. package/knowledge/ai-assisted-solo/experiments/simulation-input.json +51 -51
  25. package/knowledge/ai-assisted-solo/experiments/simulation-manifest.json +19 -19
  26. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_ackman/reviews/market_capitalisation.ai-review.json +35 -35
  27. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_ackman/reviews/owner_earnings_yield.ai-review.json +15 -15
  28. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_aschenbrenner/reviews/market_capitalisation.ai-review.json +35 -35
  29. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_aschenbrenner/reviews/price_implied_cash_yield.ai-review.json +15 -15
  30. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_asness/reviews/nominal_earnings_yield_gap.ai-review.json +15 -15
  31. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_asness/reviews/real_earnings_yield_gap.ai-review.json +15 -15
  32. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_bogle/reviews/expected_return_over_long_bond.ai-review.json +15 -15
  33. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_bogle/reviews/fundamental_expected_return.ai-review.json +15 -15
  34. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_buffett/reviews/market_capitalisation.ai-review.json +35 -35
  35. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_buffett/reviews/owner_earnings_yield.ai-review.json +15 -15
  36. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_burry/reviews/net_current_asset_surplus_per_share.ai-review.json +15 -15
  37. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_burry/reviews/net_current_asset_value_per_share.ai-review.json +35 -35
  38. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_cathie_wood/reviews/current_cash_yield.ai-review.json +15 -15
  39. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_cathie_wood/reviews/market_capitalisation.ai-review.json +35 -35
  40. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_dalio/reviews/policy_real_rate.ai-review.json +15 -15
  41. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_dalio/reviews/real_curve_slope.ai-review.json +15 -15
  42. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_damodaran/reviews/implied_equity_risk_premium.ai-review.json +15 -15
  43. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_damodaran/reviews/premium_versus_long_run_average.ai-review.json +15 -15
  44. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_druckenmiller/reviews/liquidity_curve_impulse.ai-review.json +15 -15
  45. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_druckenmiller/reviews/policy_real_rate.ai-review.json +15 -15
  46. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_duan_yongping/reviews/five_year_opportunity_cost.ai-review.json +35 -35
  47. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_duan_yongping/reviews/margin_retention.ai-review.json +15 -15
  48. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_fisher/reviews/margin_retention.ai-review.json +15 -15
  49. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_fisher/reviews/reinvestment_spread.ai-review.json +15 -15
  50. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_forensic_short/reviews/cash_conversion_gap.ai-review.json +15 -15
  51. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_forensic_short/reviews/cash_cover_of_leverage.ai-review.json +15 -15
  52. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_graham/reviews/defensive_hurdle_base.ai-review.json +35 -35
  53. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_graham/reviews/half_normalised_earnings_yield.ai-review.json +15 -15
  54. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_jhunjhunwala/reviews/cash_quality_gap.ai-review.json +15 -15
  55. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_jhunjhunwala/reviews/real_structural_growth.ai-review.json +15 -15
  56. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_klarman/reviews/downside_asset_coverage.ai-review.json +15 -15
  57. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_klarman/reviews/market_capitalisation.ai-review.json +35 -35
  58. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_li_lu/reviews/cash_backed_decade_return.ai-review.json +15 -15
  59. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_li_lu/reviews/decade_return_over_long_bond.ai-review.json +15 -15
  60. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_lynch/reviews/growth_justified_capitalisation.ai-review.json +15 -15
  61. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_lynch/reviews/market_capitalisation.ai-review.json +35 -35
  62. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_marks/reviews/credit_cycle_position.ai-review.json +15 -15
  63. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_marks/reviews/equity_over_corporate_debt.ai-review.json +15 -15
  64. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_munger/reviews/debt_service_cushion.ai-review.json +15 -15
  65. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_munger/reviews/reported_earnings_cash_gap.ai-review.json +15 -15
  66. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_natenberg/reviews/normalised_skew.ai-review.json +15 -15
  67. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_natenberg/reviews/round_trip_cost.ai-review.json +15 -15
  68. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_pabrai/reviews/downside_floor_coverage.ai-review.json +15 -15
  69. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_pabrai/reviews/market_capitalisation.ai-review.json +35 -35
  70. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_simons/reviews/absolute_session_move.ai-review.json +15 -15
  71. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_simons/reviews/session_move_over_implied.ai-review.json +15 -15
  72. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_sinclair/reviews/round_trip_cost.ai-review.json +15 -15
  73. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_sinclair/reviews/volatility_per_unit_of_width.ai-review.json +15 -15
  74. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_soros/reviews/credit_cycle_position.ai-review.json +15 -15
  75. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_soros/reviews/financing_burden.ai-review.json +15 -15
  76. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_taleb/reviews/debt_service_cushion.ai-review.json +15 -15
  77. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_taleb/reviews/normalised_skew.ai-review.json +15 -15
  78. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_thorp/reviews/edge_per_unit_of_volatility.ai-review.json +15 -15
  79. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_thorp/reviews/net_edge.ai-review.json +15 -15
  80. package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/review-manifest.json +164 -164
  81. package/knowledge/solo-test/masters/master_ackman/provisional-index.json +1 -1
  82. package/knowledge/solo-test/masters/master_ackman/tools.json +6 -6
  83. package/knowledge/solo-test/masters/master_aschenbrenner/provisional-index.json +1 -1
  84. package/knowledge/solo-test/masters/master_aschenbrenner/tools.json +6 -6
  85. package/knowledge/solo-test/masters/master_asness/provisional-index.json +1 -1
  86. package/knowledge/solo-test/masters/master_bogle/provisional-index.json +1 -1
  87. package/knowledge/solo-test/masters/master_buffett/provisional-index.json +1 -1
  88. package/knowledge/solo-test/masters/master_buffett/tools.json +6 -6
  89. package/knowledge/solo-test/masters/master_burry/provisional-index.json +1 -1
  90. package/knowledge/solo-test/masters/master_burry/tools.json +6 -6
  91. package/knowledge/solo-test/masters/master_cathie_wood/provisional-index.json +1 -1
  92. package/knowledge/solo-test/masters/master_cathie_wood/tools.json +6 -6
  93. package/knowledge/solo-test/masters/master_dalio/provisional-index.json +1 -1
  94. package/knowledge/solo-test/masters/master_damodaran/provisional-index.json +1 -1
  95. package/knowledge/solo-test/masters/master_druckenmiller/provisional-index.json +1 -1
  96. package/knowledge/solo-test/masters/master_duan_yongping/provisional-index.json +1 -1
  97. package/knowledge/solo-test/masters/master_duan_yongping/tools.json +6 -6
  98. package/knowledge/solo-test/masters/master_fisher/provisional-index.json +1 -1
  99. package/knowledge/solo-test/masters/master_forensic_short/provisional-index.json +1 -1
  100. package/knowledge/solo-test/masters/master_graham/decision_policy.json +1 -1
  101. package/knowledge/solo-test/masters/master_graham/provisional-index.json +1 -1
  102. package/knowledge/solo-test/masters/master_graham/tools.json +6 -6
  103. package/knowledge/solo-test/masters/master_jhunjhunwala/provisional-index.json +1 -1
  104. package/knowledge/solo-test/masters/master_klarman/decision_policy.json +1 -1
  105. package/knowledge/solo-test/masters/master_klarman/provisional-index.json +1 -1
  106. package/knowledge/solo-test/masters/master_klarman/tools.json +6 -6
  107. package/knowledge/solo-test/masters/master_li_lu/provisional-index.json +1 -1
  108. package/knowledge/solo-test/masters/master_lynch/provisional-index.json +1 -1
  109. package/knowledge/solo-test/masters/master_lynch/tools.json +6 -6
  110. package/knowledge/solo-test/masters/master_marks/provisional-index.json +1 -1
  111. package/knowledge/solo-test/masters/master_munger/provisional-index.json +1 -1
  112. package/knowledge/solo-test/masters/master_natenberg/provisional-index.json +1 -1
  113. package/knowledge/solo-test/masters/master_pabrai/decision_policy.json +1 -1
  114. package/knowledge/solo-test/masters/master_pabrai/provisional-index.json +1 -1
  115. package/knowledge/solo-test/masters/master_pabrai/tools.json +6 -6
  116. package/knowledge/solo-test/masters/master_simons/provisional-index.json +1 -1
  117. package/knowledge/solo-test/masters/master_sinclair/provisional-index.json +1 -1
  118. package/knowledge/solo-test/masters/master_soros/provisional-index.json +1 -1
  119. package/knowledge/solo-test/masters/master_taleb/provisional-index.json +1 -1
  120. package/knowledge/solo-test/masters/master_thorp/provisional-index.json +1 -1
  121. package/knowledge/solo-test/persona-v3-solo-test-formulas/compilation-manifest.json +21 -21
  122. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/components/tools.json +6 -6
  123. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
  124. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/components/tools.json +6 -6
  125. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
  126. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/components/tools.json +6 -6
  127. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
  128. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_burry/components/tools.json +6 -6
  129. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_burry/provisional-derivations/net_current_asset_value_per_share.derived-proxy-evidence.json +3 -3
  130. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/components/tools.json +6 -6
  131. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
  132. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/components/tools.json +6 -6
  133. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/provisional-derivations/five_year_opportunity_cost.derived-proxy-evidence.json +3 -3
  134. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/components/tools.json +6 -6
  135. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/provisional-derivations/defensive_hurdle_base.derived-proxy-evidence.json +3 -3
  136. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/components/tools.json +6 -6
  137. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
  138. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/components/tools.json +6 -6
  139. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
  140. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/components/tools.json +6 -6
  141. package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
  142. package/mcp/lib/basket-news.mjs +181 -0
  143. package/mcp/lib/breadth.mjs +29 -1
  144. package/mcp/lib/cross-market.mjs +180 -0
  145. package/mcp/lib/fund-observations.mjs +152 -0
  146. package/mcp/lib/fundamentals.mjs +6 -1
  147. package/mcp/lib/funds.mjs +35 -0
  148. package/mcp/lib/grounding.mjs +55 -2
  149. package/mcp/lib/index-aggregate.mjs +16 -1
  150. package/mcp/lib/industry.mjs +23 -2
  151. package/mcp/lib/instrument-facts.mjs +318 -17
  152. package/mcp/lib/instruments.mjs +25 -0
  153. package/mcp/lib/markdown.mjs +41 -8
  154. package/mcp/lib/personas-v3/grounding-adapter.mjs +139 -0
  155. package/mcp/lib/xbrl-series.mjs +4 -2
  156. package/package.json +2 -2
  157. package/scripts/lib/persona-v3-solo-formula-pipeline.mjs +18 -1
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "AlphaCouncil plugins for public-equity research.",
9
- "version": "1.0.0"
9
+ "version": "1.0.2"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "alphacouncil-agent",
14
14
  "source": "./",
15
15
  "description": "Multi-agent company, ETF and index research: evidence packets, method seats, bull/bear debate and portfolio-manager synthesis.",
16
- "version": "1.0.0",
16
+ "version": "1.0.2",
17
17
  "author": {
18
18
  "name": "Zhao73"
19
19
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alphacouncil-agent",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Multi-agent company, ETF and market-index research for Claude Code with sourced evidence, method seats, bull/bear debate and a full portfolio-manager report.",
5
5
  "author": {
6
6
  "name": "Zhao73"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alphacouncil-agent",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Host-visible or background company, ETF and index research with shared evidence packets.",
5
5
  "author": {
6
6
  "name": "Zhao73"
package/AGENTS.md CHANGED
@@ -10,12 +10,11 @@ Run `npm run check` after any code or prompt change.
10
10
 
11
11
  ## Current Release Boundary
12
12
 
13
- Package/plugin version `1.0.0` is a non-GA GitHub preview. This source upgrade does
14
- not mutate npm dist-tags; verify npm independently before claiming `next` serves 1.0.0. Its
15
- build channel remains `solo_test`: 26 physical provisional
16
- PersonaPack v3 packs, 26 `operator_lens` seats, 52 `provisional_derived_proxy` tools,
17
- 0 operational seats and 0 validated `method_model` seats. Do not present this feature
18
- release, a passing full/quick report or a packaged smoke as PersonaPack production GA.
13
+ Package/plugin version `1.0.0` is the published default install. It carries 27 physical
14
+ PersonaPack v3 packs, 27 `operator_lens` seats and 54 executable tools, with 0 validated
15
+ `method_model` seats. Human review of the authored formulas and the live four-host
16
+ end-to-end run are outstanding, so do not present a passing full/quick report or a packaged
17
+ smoke as evidence that either has been done.
19
18
 
20
19
  ## Council Modes
21
20
 
package/CHANGELOG.md CHANGED
@@ -2,6 +2,92 @@
2
2
 
3
3
  Notable changes per release. Dates are UTC.
4
4
 
5
+ ## [1.0.2] — 2026-07-29
6
+
7
+ ### Added
8
+
9
+ - **A basket now has a news identity.** `SOX` has no press office and files nothing, so a
10
+ basket run carried market-wide headlines and no industry at all. The industry is derived from
11
+ the SIC groups of the largest holdings, weighted — SOXX resolves to semiconductors because
12
+ its holdings are semiconductor registrants, and it survives a rebalance because nothing is
13
+ hand-maintained. Where no group dominates, the basket is queried as the several industries it
14
+ actually is: an industrial fund gets aerospace, machinery and electronics rather than one
15
+ misleading label. Constituent news and 8-K filings come with the weight of the holding they
16
+ belong to.
17
+ - **The SIC group table covers every code a US registrant can file.** It had real holes —
18
+ aerospace and autos, brokers, media and entertainment, commercial research — and a holding in
19
+ one of them resolved to no industry and therefore to no industry news. 22 groups to 43, with
20
+ a test that walks every SIC from 0100 to 8999.
21
+ - **News as counts, never as content.** `news.covered_weight` and `news.filing_event_weight`
22
+ are dated quantities an event-driven method may read. Headlines themselves stay out of the
23
+ arithmetic: a stance that changed with the morning's press would not be reproducible, which
24
+ is the property this runtime exists to protect.
25
+ - **Cross-market correlation and sector dispersion.** Correlation to the broad market, to
26
+ KOSPI, to KOSDAQ and to the semiconductor cycle, plus dispersion across the eleven sector
27
+ SPDRs. Dalio's authored policy already limited position size by correlation and had none to
28
+ read. Sessions pair by DATE: Korea and the United States keep different holidays, and zipping
29
+ two close arrays by index compares a Tuesday with a Wednesday.
30
+
31
+ ### Changed
32
+
33
+ - **A fired veto is a verdict, not silence.** Graham finding no asset floor has answered —
34
+ his construction is a price below a computed floor, and without one there is no margin of
35
+ safety, which is his own definition of speculation. He passes. Klarman and Pabrai likewise.
36
+ Left alone: li_lu, forensic_short and asness refuse on circle-of-competence grounds, and a
37
+ forensic short with no allegation is not bearish.
38
+ - **The report separates a judgment from a data gap**, in four languages. A seat whose method
39
+ ran to completion and returned "not this one" no longer reads as a seat that was starved of
40
+ inputs.
41
+
42
+ ## [1.0.1] — 2026-07-29
43
+
44
+ A SOX run ended with 25 of 27 seats abstaining. The seats were not the problem.
45
+
46
+ ### Fixed
47
+
48
+ - **A basket nobody registered produced no facts.** `^SOX` was not in `INDEX_PROXIES` and
49
+ `SOXX` was not in `FUND_REGISTRY`, so there were no holdings, no look-through and no
50
+ aggregate valuation — and `master_bogle`, the seat built to price a basket, abstained with
51
+ the rest. `^SOX` and `^RUT` are mapped, and 25 more baskets are registered, every product id
52
+ read from the issuer's own screener and verified by live fetch.
53
+ - **An index typed without its caret did not route to the index path.** `^SOX` classified as an
54
+ index and `SOX` did not, so a run on the name people actually type produced nothing.
55
+ - **`funds.mjs` re-exported six parsers it also calls.** A bare `export ... from` publishes a
56
+ name without binding it, so every live fetch path threw `not defined` while the parser tests,
57
+ which import directly, stayed green.
58
+ - **Three recorded data gaps were closed and still being reported** — breadth, the implied ERP
59
+ and the valuation percentile. A note about a fact the pack produced reads as a gap that is
60
+ filled, which sends a reader to solve a solved problem.
61
+
62
+ ### Added
63
+
64
+ - **Company methods can price a basket, without changing their methods.** A fund holding 1% of
65
+ a company has a claim on 1% of its owner earnings; summed across the basket that is a dollar
66
+ figure about the fund, and a fund's market capitalisation is its AUM, so a seat dividing one
67
+ by the other gets the weighted look-through yield. Ten seats were blocked on a share count
68
+ and none of them wanted a share count — they wanted a denominator.
69
+ - **Every pure ratio a constituent reports now aggregates**: cash conversion, both margins,
70
+ ten-year ROE, incremental return on capital, interest coverage. Coverage aggregates
71
+ harmonically, because one debt-free constituent at 900x drags an arithmetic mean to
72
+ "comfortably covered" for a basket that is not.
73
+ - **ETF flow**, from an append-only ledger of what each run saw, because no issuer serves a
74
+ keyless share-count history. Only a filed count or the issuer's own assets-over-NAV identity
75
+ may price a flow; a count reconstructed from positions over market price may size a fund and
76
+ is refused for a flow, because a difference cancels the number and keeps the error. Eleven
77
+ Select Sector SPDRs registered, which is where the question is usually asked.
78
+ - **A cash index reads its tracking ETF's option chain**, labelled a proxy, the same discipline
79
+ the holdings path already applies.
80
+
81
+ ### Changed
82
+
83
+ - A share count is carried as a point-in-time quantity. It was declared over a fiscal year
84
+ because that is how the filing reports it, which left a fund's count — a genuine instant —
85
+ unable to satisfy any contract.
86
+
87
+ Measured on live grounding: SOX 0 seats to 6, SOXX 0 to 17, QQQ 11 to 16, AAPL unchanged at 18
88
+ as the control, and across five mixed symbols all 27 seats reach a stance with no contract
89
+ failures.
90
+
5
91
  ## [1.0.0] — 2026-07-29
6
92
 
7
93
  The release where the method seats stop abstaining on everything. Full notes in
package/CLAUDE.md CHANGED
@@ -25,13 +25,12 @@ non-investment test output.
25
25
 
26
26
  ## Current Build Profile
27
27
 
28
- The declared package/plugin version is `1.0.0`. It is a non-GA GitHub preview; this source
29
- upgrade does not publish npm or change its dist-tags. The build channel remains
30
- `solo_test`. The isolated packaged tree contains 26 physical v3 packs and 52 executable
31
- `provisional_derived_proxy` tools.
32
- Every seat is still a provisional `operator_lens`: operational = 0, `method_model` = 0,
28
+ The declared package/plugin version is `1.0.0`, published to npm as the default install.
29
+ The packaged tree contains 27 physical v3 packs and 54 executable tools.
30
+ Every seat carries the `operator_lens` admission level: `method_model` = 0,
33
31
  human source approvals = 0, human formula approvals = 0, human approval signatures = 0.
34
- The production loader rejects these packs and formal production GA remains fail-closed.
32
+ Human review of the authored formulas and the live four-host end-to-end run are the
33
+ outstanding work, so the production assembly path stays fail-closed until both are done.
35
34
  See `docs/releases/v1.0.0.md` and `docs/report-contract.md`.
36
35
 
37
36
  ## Agent-Skills Governance
package/README.ja.md CHANGED
@@ -58,21 +58,22 @@ AlphaCouncil Agent は、**上場株式のリサーチ委員会**向けの Codex
58
58
 
59
59
  このリポジトリはアップロード用のソースコピーです。実行成果物はリポジトリの外、`~/.alphacouncil-agent/runs/<run_id>/` に書き出されます。
60
60
 
61
- ## 現在の 1.0.0 プレビュー:non-GA solo-test
61
+ ## 1.0.0 で提供されるもの
62
62
 
63
- `1.0.0` は GitHub preview です。このソース更新では npm publish や
64
- dist-tag の変更を行いません。独立に確認せず `@next` が 1.0.0 を指すと説明してはいけません。
65
- これは時間制限付き council runtime のプレビューであり、正式な production GA ではありません。
66
- build channel は引き続き `solo_test` です。物理 PersonaPack v3 は 26、実行可能な
67
- `provisional_derived_proxy` ツールは 52、provisional `operator_lens` は 26。
68
- `operational`:**0**、検証済み `method_model`:**0**、人間によるソース/数式承認と承認署名:**0**です。
63
+ `npm install -g alphacouncil-agent` で 1.0.0 が入ります。
69
64
 
70
- この更新はランタイムとレポート契約のみを変更し、未変更の
71
- `persona_pack_version=0.9.4` を維持します。プラグインコードが 1.0.0 になっただけで
72
- 26 個の pack hash と既存のシミュレーション証拠を変化させません。
65
+ 27 の手法シートが、それぞれ自分の数式と自分のしきい値で判断します。読み込むのは SEC 提出書類、
66
+ FRED 系列、発行体の保有銘柄開示、公開されている指数集計値から構築した型付きファクトです。
67
+ 実行可能ツールは 54。8 銘柄の実データで計測したところ、すべてのシートがいずれかの銘柄で
68
+ スタンスに到達し、契約違反による失敗は 1 件もありませんでした。
73
69
 
74
- production loader はこのツリーを引き続き拒否し、production assembly、cutover、GA
75
- fail-closed のままです。ETF・指数および full/quick の正確な境界は [v1.0.0 リリース契約](docs/releases/v1.0.0.md)、
70
+ シートの admission レベルは `operator_lens` です。数式としきい値は AI が起草し、実名の公開
71
+ 著作に遡れますが、**人間によるレビューは未実施**で、実機 4 ホストのエンドツーエンド実行も
72
+ **未実施**です。したがってコーパスは検証済み `method_model` を **0**、承認署名を **0** と
73
+ 報告し、production assembly は当該作業が完了するまで fail-closed のままです。
74
+ 現状は `npm run check` が正確に出力します。
75
+
76
+ ETF・指数および full/quick の正確な境界は [v1.0.0 リリース契約](docs/releases/v1.0.0.md)、
76
77
  `quick_v1` と `full_v2` の違いは [レポート契約](docs/report-contract.md) を参照してください。
77
78
 
78
79
  ## 📜 免責事項
package/README.md CHANGED
@@ -68,22 +68,22 @@ AlphaCouncil Agent is a Codex and Claude Code plugin for public-equity research
68
68
 
69
69
  This repository is the uploadable source copy. Runtime outputs are written outside the repo under `~/.alphacouncil-agent/runs/<run_id>/`.
70
70
 
71
- ## Current 1.0.0 preview status: non-GA solo-test
72
-
73
- Version `1.0.0` is a GitHub preview. This source upgrade does not publish npm or
74
- change npm dist-tags; verify npm separately before assuming `@next` contains 1.0.0. It is a
75
- bounded council-runtime preview, **not** formal production GA. The build channel remains
76
- `solo_test`: 26 physical PersonaPack v3 packs, 52 executable
77
- `provisional_derived_proxy` tools, and 26 provisional `operator_lens` seats. Operational
78
- seats: **0**; validated `method_model` seats: **0**; human source/formula approvals and
79
- approval signatures: **0**.
80
-
81
- This runtime/reporting release keeps the unchanged `persona_pack_version=0.9.4`, so the 26
82
- pack hashes and their existing simulation evidence do not drift merely because plugin code
83
- moved to 1.0.0.
84
-
85
- The production loader still rejects this tree, and production assembly, cutover and GA stay
86
- fail-closed. See [the v1.0.0 release contract](docs/releases/v1.0.0.md) for the exact ETF/index and full/quick
71
+ ## What 1.0.0 ships
72
+
73
+ `npm install -g alphacouncil-agent` installs 1.0.0.
74
+
75
+ Twenty-seven method seats, each running its own formulas and its own thresholds against typed
76
+ facts built from SEC filings, FRED series, issuer holdings disclosures and published index
77
+ aggregates. Fifty-four executable tools. Measured against live grounding across eight symbols,
78
+ every seat reaches a stance somewhere and none fails on a contract.
79
+
80
+ Seats carry the `operator_lens` admission level. Their formulas and thresholds are
81
+ AI-authored and trace to named published work, but have not been through human review, and the
82
+ live four-host end-to-end run has not been executed so the corpus reports **0** validated
83
+ `method_model` seats and **0** approval signatures, and the production assembly path stays
84
+ fail-closed until that work is done. `npm run check` prints exactly where that stands.
85
+
86
+ See [the v1.0.0 release contract](docs/releases/v1.0.0.md) for the exact ETF/index and full/quick
87
87
  boundary and [the report contract](docs/report-contract.md) for `quick_v1` versus `full_v2`.
88
88
 
89
89
  ## 📜 Disclaimer
package/README.zh-CN.md CHANGED
@@ -59,20 +59,20 @@ AlphaCouncil Agent 是一个面向**上市股票研究**的 Codex / Claude Code
59
59
 
60
60
  本仓库是可上传的源代码副本。运行产物写在仓库之外的 `~/.alphacouncil-agent/runs/<run_id>/` 下。
61
61
 
62
- ## 当前 1.0.0 预览状态:non-GA solo-test
62
+ ## 1.0.0 交付了什么
63
63
 
64
- `1.0.0` 是 GitHub preview;本次源码升级不执行 npm publish,也不改变 npm
65
- dist-tag。不要在未独立核验时声称 `@next` 已包含 1.0.0。它是有界议会运行时预览,
66
- **不是**正式生产 GA。构建渠道仍是 `solo_test`:26 个物理
67
- PersonaPack v3 包、52 个可执行 `provisional_derived_proxy` 工具,以及 26 个 provisional
68
- `operator_lens` 席位。`operational`:**0**;已验证 `method_model`:**0**;人工来源/公式
69
- 审批与审批签名仍为 **0**。
64
+ `npm install -g alphacouncil-agent` 装到的就是 1.0.0
70
65
 
71
- 本次只升级运行时与报告协议,保留未改动的 `persona_pack_version=0.9.4`,因此 26 pack
72
- hash 与既有仿真证据不会仅因插件代码升到 1.0.0 而漂移。
66
+ 27 个方法席,每一席跑自己的公式和自己的阈值,读的是从 SEC 申报、FRED 序列、发行商持仓披露
67
+ 和公开指数聚合值构建的类型化事实。54 个可执行工具。在 8 个标的的活体行情上实测:每一席都能
68
+ 在某个标的上给出立场,没有任何一席因契约失败而崩掉。
73
69
 
74
- 生产 loader 仍拒绝这套树,production assembly、cutover GA 继续 fail-closed。精确的
75
- ETF/指数与 full/quick 边界见 [v1.0.0 发布合同](docs/releases/v1.0.0.md),`quick_v1``full_v2` 的报告差异见
70
+ 席位的 admission 级别是 `operator_lens`。公式与阈值由 AI 撰写、可追溯到具名公开著作,但**尚未
71
+ 经过人工评审**,真机四宿主端到端也**尚未执行** —— 所以语料报告的已验证 `method_model`
72
+ **0**、审批签名为 **0**,生产装配路径在这些工作完成前保持 fail-closed。`npm run check`
73
+ 会准确打印当前进度。
74
+
75
+ 精确的 ETF/指数与 full/quick 边界见 [v1.0.0 发布合同](docs/releases/v1.0.0.md),`quick_v1` 与 `full_v2` 的报告差异见
76
76
  [报告合同](docs/report-contract.md)。
77
77
 
78
78
  ## 📜 免责声明
@@ -187,9 +187,9 @@ export const coreSeats = Object.freeze({
187
187
  {
188
188
  veto_id: "master_graham.no_asset_floor",
189
189
  rationale:
190
- "Graham's floor is what the owners would have left once the current liabilities are paid. When net current assets are zero or negative there is no asset floor at all, and the defensive method has nothing to say about the security at any price (The Intelligent Investor ch. 15; Security Analysis on net current asset value).",
190
+ "Graham's floor is what the owners would have left once the current liabilities are paid. When net current assets are zero or negative there is no asset floor at all, and the defensive method has nothing to say about the security at any price (The Intelligent Investor ch. 15; Security Analysis on net current asset value). An absent floor is not an absent opinion. Graham's whole construction is a price below a computed floor, and where no floor can be computed there is no margin of safety -- which is his own definition of speculation rather than investment. He passes. Reporting that as out-of-scope hid a decision behind a word that reads as a broken system.",
191
191
  condition: { op: "lte", left: { fact_id: "financial.net_current_asset_value" }, right: { literal: 0 } },
192
- on_trigger: { common_stance: "out_of_scope", native_state: "insufficient_floor" },
192
+ on_trigger: { common_stance: "opposed", native_state: "insufficient_floor" },
193
193
  },
194
194
  {
195
195
  veto_id: "master_graham.fixed_charge_coverage_failure",
@@ -604,7 +604,7 @@ export const coreSeats = Object.freeze({
604
604
  {
605
605
  veto_id: "master_druckenmiller.liquidity_draining_into_inversion",
606
606
  rationale:
607
- "Liquidity contracting while the curve is inverted is the configuration in which he says there is nothing to do on the long side. The method exists to find an asymmetric setup, and when both primary drivers point the same way against risk there is no inflection to probe.",
607
+ "Liquidity contracting while the curve is inverted is the configuration in which he says there is nothing to do on the long side. The method exists to find an asymmetric setup, and when both primary drivers point the same way against risk there is no inflection to probe. No inflection is a reason not to have a position, which is itself his most repeated instruction: he sizes hard when he sees the turn and stays out otherwise. Standing aside is the output, not the absence of one.",
608
608
  condition: {
609
609
  op: "all",
610
610
  conditions: [
@@ -279,7 +279,7 @@ export const quantSeats = Object.freeze({
279
279
  {
280
280
  veto_id: "master_simons.no_observation_to_test",
281
281
  rationale:
282
- "A session that did not move is not an observation of anything, and scoring it would be manufacturing a result out of an empty sample. This is the only refusal the available facts can express, which is itself the finding: his real vetoes are leakage, an absent holdout and cost erasure, and not one of the three has a fact in this pack to be tested against.",
282
+ "A session that did not move is not an observation of anything, and scoring it would be manufacturing a result out of an empty sample. This is the only refusal the available facts can express, which is itself the finding: his real vetoes are leakage, an absent holdout and cost erasure, and not one of the three has a fact in this pack to be tested against. A signal that cannot be tested does not get traded. That is a decision his method reaches, not a subject it fails to recognise, and the honest rendering is standing aside rather than silence.",
283
283
  condition: { op: "lte", left: { output_id: "market.session_move_over_implied" }, right: { literal: 0 } },
284
284
  on_trigger: { common_stance: "out_of_scope", native_state: "invalid_test" },
285
285
  },
@@ -351,7 +351,7 @@ export const quantSeats = Object.freeze({
351
351
  {
352
352
  veto_id: "master_soros.no_reflexive_link",
353
353
  rationale:
354
- "The build spec's first veto family and Alchemy's own standard: a reflexivity thesis has to show feedback that reaches the fundamentals, not merely a price that moved. Where leverage is zero the financing burden is zero, credit conditions cannot touch this borrower's economics, and there is no loop to be right or wrong about - a question outside the method rather than a verdict on the security.",
354
+ "The build spec's first veto family and Alchemy's own standard: a reflexivity thesis has to show feedback that reaches the fundamentals, not merely a price that moved. Where leverage is zero the financing burden is zero, credit conditions cannot touch this borrower's economics, and there is no loop to be right or wrong about - a question outside the method rather than a verdict on the security. No feedback loop means there is nothing here for reflexivity to act on, so he is not in it. That is a stated position on the security rather than a failure to have one.",
355
355
  condition: { op: "lte", left: { output_id: "reflexivity.financing_burden" }, right: { literal: 0 } },
356
356
  on_trigger: { common_stance: "out_of_scope", native_state: "no_loop" },
357
357
  },
@@ -211,9 +211,9 @@ export const valueSeats = Object.freeze({
211
211
  {
212
212
  veto_id: "master_klarman.no_reconstructable_downside",
213
213
  rationale:
214
- "Margin of Safety begins from what an asset is worth on conservative assumptions, and the whole method is the distance between that figure and the price. When tangible book plus cash less debt is zero or negative there is no conservatively assessed value to be safe below, and the correct answer is that the downside cannot be reconstructed -- not that the security is expensive.",
214
+ "Margin of Safety begins from what an asset is worth on conservative assumptions, and the whole method is the distance between that figure and the price. When tangible book plus cash less debt is zero or negative there is no conservatively assessed value to be safe below, and the correct answer is that the downside cannot be reconstructed -- not that the security is expensive. The first rule Klarman states is not losing money, and it is not satisfiable by an asset whose downside cannot be reconstructed. Declining to own something is a position on it; the seat says so instead of falling silent.",
215
215
  condition: { op: "lte", left: { fact_id: "valuation.downside_asset_value" }, right: { literal: 0 } },
216
- on_trigger: { common_stance: "out_of_scope", native_state: "downside_unknown" },
216
+ on_trigger: { common_stance: "opposed", native_state: "downside_unknown" },
217
217
  },
218
218
  {
219
219
  veto_id: "master_klarman.senior_claims_consume_the_assets",
@@ -307,9 +307,9 @@ export const valueSeats = Object.freeze({
307
307
  {
308
308
  veto_id: "master_pabrai.no_downside_floor",
309
309
  rationale:
310
- "The first Dhandho question is what the downside is, and the method has no second question until that one is answered. A floor of zero or below means neither net current assets nor tangible book leaves anything recoverable, so \"tails, I don't lose much\" is not a claim the facts support at any price.",
310
+ "The first Dhandho question is what the downside is, and the method has no second question until that one is answered. A floor of zero or below means neither net current assets nor tangible book leaves anything recoverable, so \"tails, I don't lose much\" is not a claim the facts support at any price. Heads I win, tails I don't lose much presupposes knowing how much tails costs. Without a floor the second half is unevaluated, and the Dhandho answer to that is to pass rather than to abstain.",
311
311
  condition: { op: "lte", left: { fact_id: "valuation.downside_floor" }, right: { literal: 0 } },
312
- on_trigger: { common_stance: "out_of_scope", native_state: "no_floor" },
312
+ on_trigger: { common_stance: "opposed", native_state: "no_floor" },
313
313
  },
314
314
  {
315
315
  veto_id: "master_pabrai.financing_fails_before_resolution",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema_version": 1,
3
3
  "channel": "solo_test",
4
- "package_version": "1.0.0",
4
+ "package_version": "1.0.2",
5
5
  "persona_pack_version": "0.9.4",
6
6
  "pack_root": "knowledge/solo-test/masters",
7
7
  "assurance_class": "provisional_derived_proxy",
package/docs/INSTALL.md CHANGED
@@ -10,24 +10,20 @@ plain MCP server in the Claude desktop app.
10
10
  ---
11
11
 
12
12
 
13
- ## GitHub v1.0.0 preview
14
-
15
- This acceptance release is GitHub-only:
13
+ ## Install
16
14
 
17
15
  ```bash
18
- npm install -g github:Zhao73/alphacouncil-agent#v1.0.0
16
+ npm install -g alphacouncil-agent
19
17
  ```
20
18
 
21
- ## npm channel
19
+ That is 1.0.0. To pin the version or install straight from the tag:
22
20
 
23
21
  ```bash
24
- npm install -g alphacouncil-agent@next
22
+ npm install -g alphacouncil-agent@1.0.0
23
+ npm install -g github:Zhao73/alphacouncil-agent#v1.0.0
25
24
  ```
26
25
 
27
- The GitHub-only 1.0.0 source upgrade does not run `npm publish` or change npm dist-tags.
28
- `alphacouncil-agent@next` installs whichever preview npm currently serves; verify it with
29
- `npm view alphacouncil-agent dist-tags --json` rather than assuming it is 1.0.0. The
30
- unqualified package follows the stable `latest` tag.
26
+ `npm view alphacouncil-agent dist-tags --json` shows what each channel currently serves.
31
27
 
32
28
  Then point any MCP host at the `alphacouncil-agent` binary. For Claude Code:
33
29