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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/AGENTS.md +5 -6
- package/CHANGELOG.md +86 -0
- package/CLAUDE.md +5 -6
- package/README.ja.md +13 -12
- package/README.md +16 -16
- package/README.zh-CN.md +11 -11
- package/data/authored/core-seats.mjs +3 -3
- package/data/authored/quant-seats.mjs +2 -2
- package/data/authored/value-seats.mjs +4 -4
- package/data/build-profile.v1.json +1 -1
- package/docs/INSTALL.md +6 -10
- package/docs/plans/v1.1-basket-native-seats.md +267 -0
- package/knowledge/ai-assisted-solo/experiments/runs/a.json +10 -10
- package/knowledge/ai-assisted-solo/experiments/runs/b.json +2 -2
- package/knowledge/ai-assisted-solo/experiments/runs/c.json +2 -2
- package/knowledge/ai-assisted-solo/experiments/runs/d13.json +52 -52
- package/knowledge/ai-assisted-solo/experiments/runs/d26.json +68 -68
- package/knowledge/ai-assisted-solo/experiments/runs/e-d13.json +55 -55
- package/knowledge/ai-assisted-solo/experiments/runs/e-d26.json +71 -71
- package/knowledge/ai-assisted-solo/experiments/runs/h_ai_reference.json +72 -72
- package/knowledge/ai-assisted-solo/experiments/simulation-input.json +51 -51
- package/knowledge/ai-assisted-solo/experiments/simulation-manifest.json +19 -19
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_ackman/reviews/market_capitalisation.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_ackman/reviews/owner_earnings_yield.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_aschenbrenner/reviews/market_capitalisation.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_aschenbrenner/reviews/price_implied_cash_yield.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_asness/reviews/nominal_earnings_yield_gap.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_asness/reviews/real_earnings_yield_gap.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_bogle/reviews/expected_return_over_long_bond.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_bogle/reviews/fundamental_expected_return.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_buffett/reviews/market_capitalisation.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_buffett/reviews/owner_earnings_yield.ai-review.json +15 -15
- 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
- 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
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_cathie_wood/reviews/current_cash_yield.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_cathie_wood/reviews/market_capitalisation.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_dalio/reviews/policy_real_rate.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_dalio/reviews/real_curve_slope.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_damodaran/reviews/implied_equity_risk_premium.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_damodaran/reviews/premium_versus_long_run_average.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_druckenmiller/reviews/liquidity_curve_impulse.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_druckenmiller/reviews/policy_real_rate.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_duan_yongping/reviews/five_year_opportunity_cost.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_duan_yongping/reviews/margin_retention.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_fisher/reviews/margin_retention.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_fisher/reviews/reinvestment_spread.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_forensic_short/reviews/cash_conversion_gap.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_forensic_short/reviews/cash_cover_of_leverage.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_graham/reviews/defensive_hurdle_base.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_graham/reviews/half_normalised_earnings_yield.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_jhunjhunwala/reviews/cash_quality_gap.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_jhunjhunwala/reviews/real_structural_growth.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_klarman/reviews/downside_asset_coverage.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_klarman/reviews/market_capitalisation.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_li_lu/reviews/cash_backed_decade_return.ai-review.json +15 -15
- 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
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_lynch/reviews/growth_justified_capitalisation.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_lynch/reviews/market_capitalisation.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_marks/reviews/credit_cycle_position.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_marks/reviews/equity_over_corporate_debt.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_munger/reviews/debt_service_cushion.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_munger/reviews/reported_earnings_cash_gap.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_natenberg/reviews/normalised_skew.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_natenberg/reviews/round_trip_cost.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_pabrai/reviews/downside_floor_coverage.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_pabrai/reviews/market_capitalisation.ai-review.json +35 -35
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_simons/reviews/absolute_session_move.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_simons/reviews/session_move_over_implied.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_sinclair/reviews/round_trip_cost.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_sinclair/reviews/volatility_per_unit_of_width.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_soros/reviews/credit_cycle_position.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_soros/reviews/financing_burden.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_taleb/reviews/debt_service_cushion.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_taleb/reviews/normalised_skew.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_thorp/reviews/edge_per_unit_of_volatility.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/master_thorp/reviews/net_edge.ai-review.json +15 -15
- package/knowledge/ai-assisted-solo/reviews/persona-v3-ai-formula-reviews/review-manifest.json +164 -164
- package/knowledge/solo-test/masters/master_ackman/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_ackman/tools.json +6 -6
- package/knowledge/solo-test/masters/master_aschenbrenner/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_aschenbrenner/tools.json +6 -6
- package/knowledge/solo-test/masters/master_asness/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_bogle/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_buffett/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_buffett/tools.json +6 -6
- package/knowledge/solo-test/masters/master_burry/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_burry/tools.json +6 -6
- package/knowledge/solo-test/masters/master_cathie_wood/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_cathie_wood/tools.json +6 -6
- package/knowledge/solo-test/masters/master_dalio/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_damodaran/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_druckenmiller/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_duan_yongping/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_duan_yongping/tools.json +6 -6
- package/knowledge/solo-test/masters/master_fisher/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_forensic_short/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_graham/decision_policy.json +1 -1
- package/knowledge/solo-test/masters/master_graham/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_graham/tools.json +6 -6
- package/knowledge/solo-test/masters/master_jhunjhunwala/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_klarman/decision_policy.json +1 -1
- package/knowledge/solo-test/masters/master_klarman/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_klarman/tools.json +6 -6
- package/knowledge/solo-test/masters/master_li_lu/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_lynch/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_lynch/tools.json +6 -6
- package/knowledge/solo-test/masters/master_marks/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_munger/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_natenberg/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_pabrai/decision_policy.json +1 -1
- package/knowledge/solo-test/masters/master_pabrai/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_pabrai/tools.json +6 -6
- package/knowledge/solo-test/masters/master_simons/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_sinclair/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_soros/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_taleb/provisional-index.json +1 -1
- package/knowledge/solo-test/masters/master_thorp/provisional-index.json +1 -1
- package/knowledge/solo-test/persona-v3-solo-test-formulas/compilation-manifest.json +21 -21
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_ackman/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_aschenbrenner/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_buffett/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_burry/components/tools.json +6 -6
- 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
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_cathie_wood/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_duan_yongping/provisional-derivations/five_year_opportunity_cost.derived-proxy-evidence.json +3 -3
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_graham/provisional-derivations/defensive_hurdle_base.derived-proxy-evidence.json +3 -3
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_klarman/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_lynch/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/components/tools.json +6 -6
- package/knowledge/solo-test/persona-v3-solo-test-formulas/master_pabrai/provisional-derivations/market_capitalisation.derived-proxy-evidence.json +3 -3
- package/mcp/lib/basket-news.mjs +181 -0
- package/mcp/lib/breadth.mjs +29 -1
- package/mcp/lib/cross-market.mjs +180 -0
- package/mcp/lib/fund-observations.mjs +152 -0
- package/mcp/lib/fundamentals.mjs +6 -1
- package/mcp/lib/funds.mjs +35 -0
- package/mcp/lib/grounding.mjs +55 -2
- package/mcp/lib/index-aggregate.mjs +16 -1
- package/mcp/lib/industry.mjs +23 -2
- package/mcp/lib/instrument-facts.mjs +318 -17
- package/mcp/lib/instruments.mjs +25 -0
- package/mcp/lib/markdown.mjs +41 -8
- package/mcp/lib/personas-v3/grounding-adapter.mjs +139 -0
- package/mcp/lib/xbrl-series.mjs +4 -2
- package/package.json +2 -2
- 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.
|
|
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.
|
|
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.
|
|
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"
|
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
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
61
|
+
## 1.0.0 で提供されるもの
|
|
62
62
|
|
|
63
|
-
`1.0.0
|
|
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
|
-
|
|
72
|
-
|
|
65
|
+
27 の手法シートが、それぞれ自分の数式と自分のしきい値で判断します。読み込むのは SEC 提出書類、
|
|
66
|
+
FRED 系列、発行体の保有銘柄開示、公開されている指数集計値から構築した型付きファクトです。
|
|
67
|
+
実行可能ツールは 54。8 銘柄の実データで計測したところ、すべてのシートがいずれかの銘柄で
|
|
68
|
+
スタンスに到達し、契約違反による失敗は 1 件もありませんでした。
|
|
73
69
|
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
##
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
##
|
|
62
|
+
## 1.0.0 交付了什么
|
|
63
63
|
|
|
64
|
-
`1.0.0
|
|
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
|
-
|
|
72
|
-
|
|
66
|
+
27 个方法席,每一席跑自己的公式和自己的阈值,读的是从 SEC 申报、FRED 序列、发行商持仓披露
|
|
67
|
+
和公开指数聚合值构建的类型化事实。54 个可执行工具。在 8 个标的的活体行情上实测:每一席都能
|
|
68
|
+
在某个标的上给出立场,没有任何一席因契约失败而崩掉。
|
|
73
69
|
|
|
74
|
-
|
|
75
|
-
|
|
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: "
|
|
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: "
|
|
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: "
|
|
312
|
+
on_trigger: { common_stance: "opposed", native_state: "no_floor" },
|
|
313
313
|
},
|
|
314
314
|
{
|
|
315
315
|
veto_id: "master_pabrai.financing_fails_before_resolution",
|
package/docs/INSTALL.md
CHANGED
|
@@ -10,24 +10,20 @@ plain MCP server in the Claude desktop app.
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
##
|
|
14
|
-
|
|
15
|
-
This acceptance release is GitHub-only:
|
|
13
|
+
## Install
|
|
16
14
|
|
|
17
15
|
```bash
|
|
18
|
-
npm install -g
|
|
16
|
+
npm install -g alphacouncil-agent
|
|
19
17
|
```
|
|
20
18
|
|
|
21
|
-
|
|
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@
|
|
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
|
-
|
|
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
|
|