Skip to content

Commit f928910

Browse files
committed
chore: merge upstream main into ETF flows fix
2 parents 3fa6297 + dc29f5b commit f928910

38 files changed

Lines changed: 9514 additions & 998 deletions

.checkov.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Checkov configuration
22
# See: https://www.checkov.io/2.Basics/CLI%20Command%20Reference.html
33

4+
# Skip Prisma Cloud API calls — adds 30s+ timeout on servers without access
5+
download-external-modules: false
6+
skip-download: true
7+
48
# Skip CKV_GCP_125: OIDC trust policy check has known issues (bridgecrewio/checkov#6981)
59
# Our workload identity is secure: restricted to specific repository AND main branch only
610
skip-check:
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Claude Code Review
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, ready_for_review, reopened]
6+
# Optional: Only run on specific file changes
7+
# paths:
8+
# - "src/**/*.ts"
9+
# - "src/**/*.tsx"
10+
# - "src/**/*.js"
11+
# - "src/**/*.jsx"
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
claude-review:
18+
# Optional: Filter by PR author
19+
# if: |
20+
# github.event.pull_request.user.login == 'external-contributor' ||
21+
# github.event.pull_request.user.login == 'new-developer' ||
22+
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
23+
24+
runs-on: ubuntu-latest
25+
permissions:
26+
contents: read
27+
pull-requests: write
28+
issues: read
29+
id-token: write
30+
31+
steps:
32+
- name: Checkout repository
33+
uses: actions/checkout@v4
34+
with:
35+
fetch-depth: 1
36+
37+
- name: Run Claude Code Review
38+
id: claude-review
39+
uses: anthropics/claude-code-action@v1
40+
with:
41+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
42+
plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
43+
plugins: "code-review@claude-code-plugins"
44+
prompt: "/code-review:code-review ${{ github.event.pull_request.number }} --comment"
45+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
46+
# or https://code.claude.com/docs/en/cli-reference for available options

.github/workflows/claude.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Claude Code
2+
3+
on:
4+
issue_comment:
5+
types: [created]
6+
pull_request_review_comment:
7+
types: [created]
8+
issues:
9+
types: [opened, assigned]
10+
pull_request_review:
11+
types: [submitted]
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
claude:
18+
if: |
19+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
20+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
21+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
22+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
23+
runs-on: ubuntu-latest
24+
permissions:
25+
contents: read
26+
pull-requests: read
27+
issues: read
28+
id-token: write
29+
actions: read # Required for Claude to read CI results on PRs
30+
steps:
31+
- name: Checkout repository
32+
uses: actions/checkout@v4
33+
with:
34+
fetch-depth: 1
35+
36+
- name: Run Claude Code
37+
id: claude
38+
uses: anthropics/claude-code-action@v1
39+
with:
40+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
41+
42+
# This is an optional setting that allows Claude to read CI results on PRs
43+
additional_permissions: |
44+
actions: read
45+
46+
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
47+
# prompt: 'Update the pull request description to include a summary of changes.'
48+
49+
# Optional: Add claude_args to customize behavior and configuration
50+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
51+
# or https://code.claude.com/docs/en/cli-reference for available options
52+
# claude_args: '--allowed-tools Bash(gh pr *)'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,4 @@ terraform/.terraform.tfstate.lock.info
4444

4545
# direnv (project-specific environment)
4646
.envrc
47+
HANDOVER.md

.trunk/trunk.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@ lint:
2929
paths:
3030
- node_modules/**
3131
- dist/**
32+
- tests/fixtures/**
33+
# Checkov scans all json/yaml/docker files by default.
34+
# Scope it to actual IaC files only (terraform/, Dockerfile, .github/)
35+
- linters: [checkov]
36+
paths:
37+
- "*.json"
38+
- "*.yaml"
39+
- "*.yml"
40+
- src/**
41+
- .cache/**
42+
- tests/**
3243
actions:
3344
disabled:
3445
- trunk-check-pre-push # Disabled in favor of trunk-check-all-pre-push

AGENTS.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,19 @@ channels/telegram.ts (formatBriefingForTelegram)
4444

4545
### Sources (`src/sources/`)
4646

47-
| File | What it fetches |
48-
| --------------------------- | ---------------------------------------------- |
49-
| `etf-flows.ts` | BTC/ETH/SOL aggregate ETF flows from DefiLlama |
50-
| `overnight-futures.ts` | ES, NQ, GC, CL etc. from Yahoo Finance |
51-
| `economic-calendar.ts` | Week-ahead macro events |
52-
| `appstore-rankings.ts` | iOS App Store Finance + Overall rankings |
53-
| `daily-degen.ts` | Crypto news digest |
54-
| `polymarket.ts` | Prediction market movements |
55-
| `tracked-apps.ts` | Config: which apps to track in App Store |
56-
| `fetch-current-rankings.ts` | Shared helper for appstore-rankings |
47+
| File | What it fetches |
48+
| --------------------------- | --------------------------------------------------- |
49+
| `etf-flows.ts` | BTC/ETH/SOL aggregate ETF flows from DefiLlama |
50+
| `overnight-futures.ts` | ES, NQ, GC, CL etc. from Yahoo Finance |
51+
| `economic-calendar.ts` | Week-ahead macro events |
52+
| `appstore-rankings.ts` | iOS App Store Finance + Overall rankings |
53+
| `polymarket.ts` | Prediction market movements |
54+
| `congress-trades.ts` | US Congress member stock trades from Capitol Trades |
55+
| `tracked-apps.ts` | Config: which apps to track in App Store |
56+
| `fetch-current-rankings.ts` | Shared helper for appstore-rankings |
57+
58+
> **Congress Trades has its own maintenance guide:** `docs/congress-trades-maintenance.md`
59+
> Read it before updating politician data, committee mappings, or scoring thresholds.
5760
5861
---
5962

@@ -175,7 +178,7 @@ See `.cursor/rules/post-change-checks.mdc` for the full decision tree.
175178
| `src/sources/overnight-futures.ts` | `tests/overnight-futures.test.ts` |
176179
| `src/sources/polymarket.ts` | `tests/polymarket.test.ts` |
177180
| `src/sources/economic-calendar.ts` | `tests/economic-calendar.test.ts` |
178-
| `src/sources/daily-degen.ts` | `tests/daily-degen.test.ts` |
181+
| `src/sources/congress-trades.ts` | `tests/congress-trades.test.ts` |
179182
| `src/utils/cache.ts` | `tests/cache.test.ts` |
180183
| Multiple / integration | `tests/e2e/briefing.test.ts` |
181184

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ src/
7070
│ ├── overnight-futures.ts
7171
│ ├── economic-calendar.ts
7272
│ ├── appstore-rankings.ts
73-
│ ├── daily-degen.ts
7473
│ └── polymarket.ts
7574
├── channels/
7675
│ └── telegram.ts # Telegram formatting + delivery

WORK.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# TradingView links to congress trades
2+
3+
## Goal
4+
5+
Make congress-trade tickers tappable in the morning briefing so that, on iOS, tapping the ticker opens TradingView directly to that symbol's chart instead of just showing plain text like `Rep. NAME sold TICKER`.
6+
7+
## Status
8+
9+
Implementation complete, verification in progress
10+
11+
## Task Breakdown
12+
13+
- Add partial-substring link support to Telegram briefing items
14+
- Generate TradingView symbol URLs for congress-trade tickers
15+
- Link only the ticker text in congress-trade lines
16+
- Verify with typecheck, tests, and trunk
17+
18+
## Decisions
19+
20+
- Keep the existing congress-trade sentence structure and link only the ticker.
21+
- Use TradingView web symbol URLs, not the custom `tradingview://` scheme.
22+
- Use `https://www.tradingview.com/symbols/<TICKER>/` because TradingView self-resolves the exchange.
23+
24+
## Open Questions
25+
26+
- None currently

0 commit comments

Comments
 (0)