Commit Graph

373 Commits

Author SHA1 Message Date
Celes Renata a023050223 feat: add detail page tests for Documents, Recommendations, Trends, Events, Companies (176 total) 2026-04-21 07:39:19 +00:00
Celes Renata 58a63408c7 feat: add Ops and Watchlists tests (144 total frontend tests) 2026-04-21 07:20:29 +00:00
Celes Renata 7eff484434 feat: add Documents and Companies interaction tests (121 total) 2026-04-21 07:16:35 +00:00
Celes Renata 34d353bf3f feat: add 25 tests for Trading Controls and Global Events pages (100 total) 2026-04-21 07:10:30 +00:00
Celes Renata 680e7ab1b8 fix: remove unused within import in orders test (TS strict) 2026-04-21 06:57:26 +00:00
Celes Renata 170db13da9 feat: add 40 interaction tests for Positions, Orders, Trends, Recommendations pages 2026-04-21 06:51:16 +00:00
Celes Renata 68a675da3a fix: remove ignoreDifferences on Secrets for beta and paper ArgoCD apps 2026-04-21 06:29:43 +00:00
Celes Renata 3bcb84ed41 fix: positions totals row aligned with DataTable columns, restore $ prefix 2026-04-21 06:11:19 +00:00
Celes Renata 50c61b0e18 feat: use Harbor-cached buildkit image for buildx in CI 2026-04-21 05:58:46 +00:00
Celes Renata 53fa190ec3 feat: add totals row to Positions page 2026-04-21 05:45:44 +00:00
Celes Renata 08b93ad119 fix: add beta Alpaca broker credentials for separate paper account 2026-04-21 05:32:13 +00:00
Celes Renata 19f39301d3 fix: skip superset/trino ingress when hostname is empty (fixes Kargo beta promotion) 2026-04-21 05:09:08 +00:00
Celes Renata 9275351279 fix: beta stage uses paper DB to resolve permission denied errors
Beta was pointing at stonks_beta DB where tables were owned by postgres
superuser, causing permission denied for the stonks app user. Switch to
sharing stonks_paper DB/user (already has proper grants). DEPLOY_STAGE=beta
still isolates Redis keys and MinIO buckets. Added market data API key
so beta can test ingestion when pipeline is toggled ON.
2026-04-21 04:57:29 +00:00
Celes Renata cfe4a92987 ci: retrigger (kyverno was restarting) 2026-04-21 04:40:25 +00:00
Celes Renata 86a7c8e3ab ci: retrigger after CoreDNS forward fix 2026-04-21 04:35:32 +00:00
Celes Renata eb58239d9c ci: retrigger after NixOS proxy removal 2026-04-21 04:31:19 +00:00
Celes Renata de133056ba fix: pull buildkit image from Harbor cache instead of Docker Hub 2026-04-21 04:14:42 +00:00
Celes Renata 312f266df3 ci: retrigger after agent restart (proxy env cleared) 2026-04-21 04:13:07 +00:00
Celes Renata 2c9aed91b7 ci: retrigger with clean secrets 2026-04-21 04:08:39 +00:00
Celes Renata 8f9f1e2495 fix: explicitly disable proxy in all build steps
The plugin-docker-buildx inherits proxy env vars from the pod/node.
Setting http_proxy/https_proxy to empty strings overrides any
inherited proxy config so Docker can reach Harbor directly.
2026-04-21 04:05:33 +00:00
Celes Renata 390cb0b4bf fix: remove proxy injection from build pods
SSL filtering is off on the proxy. The proxy env vars were causing
Docker login failures (proxy intercepting Harbor auth) and pip hash
mismatches (proxy caching stale packages). Keep only the CA cert
mount for any remaining TLS needs.
2026-04-21 04:02:23 +00:00
Celes Renata 5e897bed52 ci: retrigger (stale proxy cache for pip packages) 2026-04-21 03:59:27 +00:00
Celes Renata 5d0635a291 feat: beta deploys all services with pipeline toggle defaulting to OFF
- pipelineEnabled: true in beta so all pods run (Kargo happy)
- PIPELINE_DEFAULT_OFF=true in beta config — scheduler initializes
  the Redis toggle to OFF on first boot
- Shared Ollama (10.1.1.12:2701) between beta and paper
- Flip pipeline ON from the UI when testing, OFF when done
- Optimistic UI update for the toggle button
2026-04-21 03:54:00 +00:00
Celes Renata 66e8caa10f fix: accept any non-empty mode string in signal flow test 2026-04-21 03:08:49 +00:00
Celes Renata 36ea1fc585 ci: retrigger (SSL filtering disabled on proxy) 2026-04-21 02:56:30 +00:00
Celes Renata b0e64bf90f fix: add .celestium.life to NO_PROXY in Kyverno build pod policy
The Kyverno policy injected HTTP_PROXY into build pods but NO_PROXY
was missing .celestium.life. Docker login to registry.celestium.life
was going through the Squid proxy which does SSL interception,
causing auth failures.
2026-04-21 02:55:46 +00:00
Celes Renata 4282ad11b8 fix: add_host for registry.celestium.life in all build steps
Buildkit resolves registry hostnames using its own resolver which
doesn't use the custom_dns setting. Adding an explicit host entry
ensures registry.celestium.life resolves even when cluster DNS
can't reach the proxy DNS.
2026-04-21 02:50:07 +00:00
Celes Renata 6703b20b59 fix: wait for infra pods to exist before checking readiness
kubectl wait fails immediately with 'no matching resources found' if
pods haven't been created yet. Added a poll loop to wait for all 3
infra pods (postgres, redis, minio) to exist before running wait.
2026-04-21 02:42:20 +00:00
Celes Renata 6e1339d666 ci: retrigger (transient DNS failure in build pods) 2026-04-21 02:19:25 +00:00
Celes Renata 7efdddd794 fix: bake Woodpecker OAuth2 + agent secret into Helm values
Permanent fix for cluster rebuilds:
- OAuth2 client_id/secret baked into woodpecker/values.yaml
- WOODPECKER_AGENT_SECRET shared between server and agents
- runmefirst.sh uses baked creds if present, creates fresh ones only
  if values.yaml still has placeholders
- Agents survive DB wipes since they auth via shared secret
2026-04-21 02:12:58 +00:00
Celes Renata 26e20484c8 ci: test internal webhook 2026-04-21 02:08:38 +00:00
Celes Renata f803ed7143 ci: retrigger with fixed harbor auth 2026-04-21 02:04:47 +00:00
Celes Renata 384fdff3e4 ci: retrigger build 2026-04-21 01:59:16 +00:00
Celes Renata 2904d3215a ci: retrigger after webhook cleanup 2026-04-21 01:55:50 +00:00
Celes Renata c166aafc40 fix: reduce integration test timeout to 5 minutes
Tests complete in ~7s. The 10-minute timeout was causing unnecessary
wait time on failures. Reduced Job activeDeadlineSeconds and kubectl
wait timeout to 300s.
2026-04-21 01:52:11 +00:00
Celes Renata 490d7a25a8 fix: update signal flow test assertions to match actual API responses
- rec['mode'] can be 'autonomous' (not just informational/paper/live)
- risk check uses 'check_name'/'result' not 'name'/'passed'
- decision type can be 'execute' not just 'act'/'skip'
2026-04-21 01:34:49 +00:00
Celes Renata be526ae614 feat: pipeline on/off toggle with per-stage Helm control
- Added pipelineEnabled flag to Helm values (default: true)
- Worker services (scheduler, ingestion, parser, extractor, aggregation,
  recommendation, broker-adapter, lake-publisher) scale to 0 when disabled
- API services always run regardless of toggle
- Redis-based runtime toggle: POST /api/ops/pipeline/toggle
- Scheduler checks the flag before each cycle
- Frontend: green/red Pipeline ON/OFF button on the pipeline page
- Beta defaults to pipelineEnabled: false
- Base values.yaml: blanked external URLs (Ollama, Polygon, Alpaca)
  so stages only connect to what they explicitly configure
2026-04-21 00:21:53 +00:00
Celes Renata a19ed086fe fix: blank external URLs in base values, set only in stage overrides
Base values.yaml now has empty OLLAMA_BASE_URL, MARKET_DATA_BASE_URL,
and BROKER_PROVIDER. Only paper (and eventually live) set the real
URLs. Beta inherits empty defaults so it can't reach external services.
2026-04-21 00:15:22 +00:00
Celes Renata d8fce71178 fix: disable pipeline workers and blank API keys in beta stage
Beta is for API testing only. Scale scheduler, ingestion, parser,
extractor, aggregation, recommendation, broker-adapter, and
lake-publisher to 0 replicas. Blank out Polygon and Alpaca keys.
Infra secrets (postgres, redis, minio) kept so API services work.
2026-04-21 00:14:02 +00:00
Celes Renata 7eab50fda9 fix: disable all external connections and pipeline workers in beta
Beta is for API testing only. Blanked out Polygon/Alpaca/Ollama
credentials, set OLLAMA_BASE_URL to localhost:99999, and scaled
scheduler/ingestion/parser/extractor/aggregation/recommendation/
broker-adapter/lake-publisher to 0 replicas.
2026-04-21 00:13:42 +00:00
Celes Renata 7071bba92d fix: increase stale threshold to 4h to prevent duplicate enqueuing
The 30-minute threshold was shorter than the queue drain time, causing
the recovery sweep to re-enqueue docs that were already queued but not
yet processed. Bumped to 4 hours with matching marker TTL.
2026-04-20 18:05:30 +00:00
Celes Renata 20faa8e20d fix: bake secrets into values-paper.yaml and auto-seed on empty DB
- All paper stage credentials now in values-paper.yaml so ArgoCD
  renders them correctly on every sync (no more empty secrets)
- Added seed-if-empty init container to scheduler: runs the seed
  script if the companies table is empty after migrations
2026-04-20 17:40:41 +00:00
Celes Renata 46c24aefab fix: prevent duplicate queue entries with Redis SET markers
Recovery sweeps and the retry endpoint now check a per-document Redis
key (SET NX, 1h TTL) before pushing to the queue. If the marker exists,
the doc is already enqueued and gets skipped. This prevents the
scheduler from re-enqueuing the same parsed docs every 5 minutes.
2026-04-20 17:24:53 +00:00
Celes Renata 288c5333b5 fix: use queue_key() for stage-prefixed Redis queue names in pipeline endpoints
The pipeline health, SSE stream, and retry endpoints were hardcoding
'stonks:queue:{name}' but services use DEPLOY_STAGE prefix
('stonks:paper:queue:{name}'). Now uses queue_key() from redis_keys.py.
2026-04-20 13:16:11 +00:00
Celes Renata 740ddc1c54 fix: revert extractor to 1 replica (single GPU bottleneck) 2026-04-20 12:16:51 +00:00
Celes Renata 7fc54a6023 ci: retrigger with docker hub token 2026-04-20 11:44:43 +00:00
Celes Renata 5b07821ed4 ci: retrigger with all secrets 2026-04-20 11:40:32 +00:00
Celes Renata 8218a17d23 ci: retrigger with secrets configured 2026-04-20 11:38:43 +00:00
Celes Renata 9dc36c32bc ci: retrigger with trusted repo 2026-04-20 11:37:06 +00:00
Celes Renata 25f8c0dc97 ci: trigger fresh woodpecker build 2026-04-20 11:36:17 +00:00