rebuild(runtime): govern market operations and job truth

This commit is contained in:
leefer
2026-07-30 10:14:29 +08:00
parent 4fc8691eee
commit d8f0dd930c
39 changed files with 2224 additions and 79 deletions
+11
View File
@@ -19,16 +19,20 @@ from backend.features.accounts.service import (
from backend.features.heaven.repository import HeavenRepository
from backend.features.heaven.service import HeavenService
from backend.features.market import MarketService
from backend.features.market.events import MarketEventService
from backend.features.market.insights import MarketInsightService
from backend.features.market.sync import MarketSnapshotService
from backend.features.mentor.context import MentorContextBuilder
from backend.features.mentor.repository import MentorRepository
from backend.features.mentor.service import MentorService
from backend.features.mentor.skills import MentorSkillRegistry
from backend.features.operations import OperationsService
from backend.features.review import ReviewService
from backend.features.review.repository import ReviewRepository
from backend.features.screener.repository import ScreenerRepository
from backend.features.screener.service import ScreenerService
from backend.jobs.repository import JobRepository
from backend.jobs.service import JobService
from backend.llm import LLMGateway
from backend.llm.repository import LLMRepository
from backend.security import PasswordHasher, load_or_create_cipher
@@ -49,6 +53,7 @@ class ApplicationContainer:
mentor: MentorService
heaven: HeavenService
review: ReviewService
operations: OperationsService
def build_container(settings: Settings) -> ApplicationContainer:
@@ -104,6 +109,11 @@ def build_container(settings: Settings) -> ApplicationContainer:
PROJECT_ROOT / "config" / "heaven" / "iching_zh.json",
)
review = ReviewService(database, ReviewRepository(), gateway, screener, llm)
jobs = JobService(database, JobRepository())
events = MarketEventService(database, market_repository, gateway)
operations = OperationsService(
database, market_repository, market, events, screener, jobs
)
return ApplicationContainer(
settings=settings,
database=database,
@@ -118,4 +128,5 @@ def build_container(settings: Settings) -> ApplicationContainer:
mentor=mentor,
heaven=heaven,
review=review,
operations=operations,
)