Commit Graph

667 Commits

Author SHA1 Message Date
kjh2064 344cdba9f1 docs: index dotnet roadmap validator
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 18s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 23:53:31 +09:00
kjh2064 b3fb3a9eff docs: align roadmap section names with wbs ids
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 18s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 23:52:44 +09:00
kjh2064 fbb35c5296 feat(ci): wire dotnet migration roadmap validator
CI Workflow Lint / validate-ci-workflow-lint (push) Failing after 14s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 24s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 23:51:32 +09:00
kjh2064 8565556b3f feat(wbs): add dotnet migration roadmap validator
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 17s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 23:50:34 +09:00
kjh2064 5d02bdf5e6 docs: formalize wbs success data schema
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 19s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 2m5s
2026-07-12 23:47:08 +09:00
kjh2064 5359300f8a docs: add execution order to dotnet migration roadmap
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 21s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 23:46:12 +09:00
kjh2064 b97db19824 docs: link supplementary dotnet roadmap in wbs spec
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 17s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 23:45:11 +09:00
kjh2064 9dc2323b9a docs: map dotnet migration wbs to roadmap
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 17s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 23:44:01 +09:00
kjh2064 91ece33518 docs: add dotnet migration roadmap wbs yaml
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 15s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 23:42:57 +09:00
kjh2064 1a235a171d fix(ci): paginate upstream ci lookup
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 17s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 2m1s
2026-07-12 23:36:42 +09:00
kjh2064 d897438675 fix(ci): match upstream ci by release sha
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 2m6s
2026-07-12 23:32:57 +09:00
kjh2064 5728a11fbd fix(ci): compare release chain against short sha
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 2m1s
2026-07-12 23:29:02 +09:00
kjh2064 bcb3b2ba6d fix(wbs): mark playwright score task non-ci reproducible
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 17s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 2m5s
2026-07-12 23:22:26 +09:00
kjh2064 59bd7af33d fix(wbs): mark factor parity task non-ci reproducible
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m42s
2026-07-12 23:18:57 +09:00
kjh2064 266adede77 fix(wbs): mark backfill task non-ci reproducible
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 15s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m40s
2026-07-12 23:15:51 +09:00
kjh2064 7ff226d622 fix(ci): verify upstream ci before deploy
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m39s
2026-07-12 23:12:33 +09:00
kjh2064 9df28ecaa2 fix(ci): block release on failed validator chain
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m44s
2026-07-12 23:04:59 +09:00
kjh2064 2701f7bba5 fix(ci): skip non-ci reproducible wbs tasks
CI Workflow Lint / validate-ci-workflow-lint (push) Failing after 14s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 21s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m46s
2026-07-12 23:00:35 +09:00
kjh2064 09ad1f64ab fix(ci): serialize release and deploy chain
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m42s
2026-07-12 22:58:43 +09:00
kjh2064 3c42eb402b fix(ci): make workflow lint runner-managed
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 21s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m46s
2026-07-12 22:52:52 +09:00
kjh2064 0f4e589cf1 fix(ci): guard wbs verdict coverage
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
CI Workflow Lint / validate-ci-workflow-lint (push) Failing after 8s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 22:51:13 +09:00
kjh2064 add83a2a8f fix(ci): add workflow lint harness
CI Workflow Lint / validate-ci-workflow-lint (push) Failing after 13s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 20s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m43s
2026-07-12 22:49:03 +09:00
kjh2064 7e0d3ad5b0 fix(ci): avoid postgres host port collision
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 15s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1m41s
2026-07-12 22:45:54 +09:00
kjh2064 5bf24d4f66 Revert "fix(ci): harden deploy SSH verification"
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
This reverts commit 9c01c60f7c.
2026-07-12 22:42:09 +09:00
kjh2064 9c01c60f7c fix(ci): harden deploy SSH verification
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 0s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 22:40:28 +09:00
kjh2064 0c37bfa13c fix(qe-m2-03): parse supported Npgsql keys only and ignore custom options gracefully
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 22:25:38 +09:00
kjh2064 db25edfd87 fix(qe-m2-03): normalize libpq-style options parameter to Search Path for Npgsql compatibility
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 22:23:36 +09:00
kjh2064 902dcd1dc8 feat(qe-m2-03): simplify Pg test connection and mark backfill as DONE
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 22:21:46 +09:00
kjh2064 ea9614be13 feat(qe-m3-05): complete scores frontend DOM verification E2E test and fix Gitea CI migration sequence
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 22:17:45 +09:00
kjh2064 3c22798e08 feat(qe-m3-04): refactor PipelineOrchestrator to compute steps 1-2 and mark 3-7 as STUBBED
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 0s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 22:08:48 +09:00
kjh2064 157f17ec52 feat(qe-m3-03): support jsonb casting in PostgresqlHistoryStore and implement database ingestion tests
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 0s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 22:03:53 +09:00
kjh2064 c67e116953 docs(constitution): add data-driven prediction principle to AGENTS.md
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 11s
2026-07-12 21:58:14 +09:00
kjh2064 f698880aaa build(harness): integrate TreatWarningsAsErrors into all csproj files and prioritize dotnet tests in CI
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 21:57:36 +09:00
kjh2064 a9d92dcfcc docs(constitution): formulate quant engineering philosophies and operational principles in AGENTS.md
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 1s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 12s
2026-07-12 21:56:01 +09:00
kjh2064 89d5842505 feat(qe-m3-02): implement C# FactorCalculator and xUnit parity tests for Momentum, ATR, StDev, and Beta
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 0s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 13s
2026-07-12 21:51:37 +09:00
kjh2064 b0c9776601 feat(qe-m3-01): implement GetBarsAsOf with lookahead bias prevention and complete unit tests
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 9s
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
2026-07-12 21:46:38 +09:00
kjh2064 5589a0432b feat(collection): wire KIS collection end-to-end, add price-history pipeline (WBS QE-M0/M1/M2)
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Failing after 56s
Critical re-review of the QuantEngine WBS evidence system found several
regressions of the "no fake gates" discipline established by M0, plus a
still-unwired M1 collection path. This closes 10 more WBS tasks
(QE-M1-01..06, QE-M2-01/02/04/05/06 — see spec/60_quant_engine_wbs.yaml)
with real, gate-verified evidence (18/34 total).

M1 — real KIS data now lands in PostgreSQL end-to-end:
- SchedulerService: load ticker universe from GatherTradingData.json instead
  of a hardcoded array; fix a Hangfire scoped-service resolution bug.
- KisDataCollectionOrchestrator: restore logging on the lineage-event write
  path (was a bare `catch {}` swallowing all failures silently); persist
  daily OHLCV bars into quantengine.price_history_daily per run.
- Verified live: POST /api/collection/run -> Hangfire -> orchestrator ->
  KIS mock API -> PostgreSQL, with Playwright DOM/API parity evidence.

M2 — historical price-history pipeline:
- CollectionRepository: SavePriceHistoryDailyAsync (idempotent upsert),
  GetPriceHistorySummaryAsync (per-ticker aggregation) + a new
  DateOnlyTypeHandler registered globally, since Dapper has no built-in
  System.DateOnly support in either direction (write threw
  NotSupportedException, read threw a constructor-mismatch
  InvalidOperationException — found by exercising both paths live).
- tools/validate_price_history_integrity_v1.py: gap-freeness (vs KIS
  trading calendar) + price-sanity gate over collected history.
- Admin Collection page: new "히스토리 현황" summary table +
  GET /api/collection/history-summary, with Playwright evidence.

Governance/gate fixes:
- validate_market_time_series_schema_v1.py mislabeled its own output
  "runtime_database_query": "DATA_GATED" despite never opening a DB
  connection (pure file/regex check) — relabeled "check_scope":
  "STATIC_STRUCTURAL_ONLY" and wired the node into the release DAG so it
  isn't only reachable from ci.yml, matching every other validator.
  Live-data authority for the same claim stays with QE-M2-01's pg_query
  gate (spec/60), documented in spec/64.
- Fixed a WBS log_pattern check (QE-M1-06) that couldn't match its own
  multi-line target; loosened two depends_on edges (QE-M1-05/06,
  QE-M2-04/05) that encoded "needs X verified" when the real requirement
  was only "needs X's code merged."
- Discovered and fixed admin-pages.spec.ts logging in with the wrong
  seeded password (admin/admin instead of admin/quant123!, per CLAUDE.md)
  — every test in that suite had been silently failing at the login step.

Deferred: QE-M2-03 (2-year backfill) — the KIS mock/VTS token endpoint
started returning 403 after the first successful call this session; looks
like a token-issuance rate limit or credential issue on KIS's side, not a
code defect. Backfilling at scale right now would just generate more 403s,
so left QE-M2-03 PENDING pending KIS account/console verification.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 21:07:53 +09:00
kjh2064 f9a0ba3690 chore(spec): deprecate redundant schema-model generation layer
schemas/generated/(174) + src/quant_engine/models/generated/(347) duplicated
the existing runtime/python/core/formulas/generated/ formula-stub system with
a generic metadata wrapper carrying no real computation, validated only by a
file-count gate (validate_schema_model_generation_v1.py). Remove the
generator scripts, generated files, and CI/DAG wiring; keep
schemas/generated/gas_adapter_contract.schema.json, which serves an
unrelated GAS-adapter contract check.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 21:07:20 +09:00
kjh2064 2a46dd5503 docs(wbs): completely purge and replace all deprecated Blazor and MudBlazor references with Razor Pages and Tabler standards 2026-07-12 14:47:20 +09:00
kjh2064 c56dd7e35d docs(wbs): correct WBS-10.12 Blazor reference to Razor Pages E2E
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 22s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m54s
2026-07-12 14:44:07 +09:00
kjh2064 d2e9bbf9f0 docs(wbs): register WBS-8.11 and WBS-10.12 strategic pipeline cards
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 15s
Validators (Pushes and Pull Requests) / validate-core (push) Has been cancelled
2026-07-12 14:42:39 +09:00
kjh2064 6348550149 docs(wbs): register newly completed optimization tasks under WBS-7 section
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 19s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m46s
2026-07-12 14:38:59 +09:00
kjh2064 26b163eab9 feat(db): add V7 database migration script to seed default settings data
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 14s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m47s
quant_20260712.10.26b163e
2026-07-12 14:32:25 +09:00
kjh2064 1c192ecdea feat(web): add DB Table Management admin page supporting dynamic view and CRUD row modification
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 15s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m46s
2026-07-12 14:24:36 +09:00
kjh2064 82e18a9a22 feat(web): implement KisApiClient request throttling to prevent KIS OpenAPI rate limits
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m45s
2026-07-12 14:18:44 +09:00
kjh2064 6d9937c590 fix(web): calculate correct Hangfire job StartedAt using TotalDuration metadata
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m46s
quant_20260712.15.6d9937c
2026-07-12 14:15:46 +09:00
kjh2064 ef6f9c74f6 fix(web): define explicit action endpoint with handler query for operations manual trigger form
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 15s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m45s
quant_20260712.14.ef6f9c7
2026-07-12 14:10:40 +09:00
kjh2064 24ec410f3d feat(web): publish version.txt in build pipeline for deterministic live server versioning
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m46s
quant_20260712.13.24ec410
2026-07-12 14:05:10 +09:00
kjh2064 024122d310 fix(web): resolve path separator mismatch in git commit hash parsing, and update fallback release values
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 16s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 1m47s
quant_20260712.12.024122d
2026-07-12 13:57:42 +09:00
kjh2064 c6f269e30a ci(gitea): serialize pipeline into Validators -> Prepare Release -> Deploy sequence
Validators (Pushes and Pull Requests) / validate-ui-and-storage (push) Successful in 23s
Validators (Pushes and Pull Requests) / validate-core (push) Successful in 2m7s
2026-07-12 13:51:59 +09:00