SearchAdd Legacy Alignment Map
這份文件保留 topic-level 對照索引。完整 legacy rule 與 audit 狀態以 legacy_rule_matrix.md 為準。
| Topic | Legacy | Current | Status | Tests | Notes |
|---|---|---|---|---|---|
| request_normalize | QuoteRequestsController::search_add() | SearchAddRequestNormalizer::normalize; SearchAddInput::fromRequest | verified | SearchAddInputTest; SearchAddStep2IntegrationTest | checkbox、FormSummary、phone、landing_page_url、match_type 已對齊 |
| actor_resolution | QuoteRequestsController::search_add() actor/login branches | CredentialActorResolver::resolve; AutoSignupService::signup; SearchAddLineIdentityRepository | gap | CredentialActorResolverTest; SearchAddLineIdentityRepositoryIntegrationTest; SearchAddStep8IntegrationTest | PHP 8 fb8897d7 已完成 LINE actor / line_users;device-only 與 existing-session reuse 仍有差異。見 newstaging_delta_audit_2026-08-05.md。 |
| request_create | QuoteRequestsController::search_add() request create section | QuoteRequestCreator::create | verified | SearchAddStep2IntegrationTest | request main row 與 location fallback 已核對 |
| request_side_writers | controller request-side writes | SearchAddHandler::handle request-side writers | gap | SearchAddStep4IntegrationTest | NewStaging active inner_text 應另寫 quote_request_inners 並排除一般 submission / downstream;PHP 8 尚未實作。 |
| auto_quote_match | QuoteService::_handleAutoQuoteMatch() | AutoQuoteDispatcher::dispatch; AutoQuoteMatcher::match; NarrowMatchBuilder::build | verified | SearchAddStep5IntegrationTest | candidate pool 與 narrow 邊界已核對 |
| bid_finalize | QuoteService::handleAutoQuote() | QuoteBidFinalizer::finalize; BidPricingResolver::resolve | verified | SearchAddStep6IntegrationTest | pricing_unit、price_note、quote flags 已核對 |
| special_flows | QuoteRequestsController::search_add() special branches | SpecialFlowDispatcher::dispatch | verified | SearchAddStep7IntegrationTest; SearchAddStep8IntegrationTest | preserve、direct reserve、authorized、direct user 已核對;rule-level 狀態需看 legacy_rule_matrix.md |
| manual_related_fallback | QuoteRequest::checkR1ManualMatchStartNoAutoQuote; QuoteService::_handleNewQuoteRequest | SearchAddHandler::handle; QuoteRequest::checkR1ManualMatchStartNoAutoQuote; NewQuoteRequestHandler::process | verified | SearchAddStep9IntegrationTest | async fallback,不屬於同步 response 保證 |