2.5 KiB
2.5 KiB
AEG-X-016 — KIS order-submission hard-off
Scope
- WBS ID:
AEG-X-016; Requirement / API / DB / Job / UI / Test:REQ-KIS-OFF/Cross/Cross/Cross/Cross/Cross. - Dependency / Gate:
AEG-X-005(completed) /ALL. - Acceptance: zero external KIS order calls; capability override audit and kill switch pass.
Source / Assumption / Unknown / Decision Required
- Source:
AGENTS.mdhard prohibition on automatic orders/KIS submission;CapabilityOptionsstartup validation;TradeEndpoints,TradeHandlers,KisTradeExecutionService,TradeStatusPollingJob, and Program recurring-job registration. - Assumption: the user's instruction is an unconditional hard-off, not a feature flag. Buy, sell, poll, and settlement calls must remain blocked even if an environment value attempts to enable a capability.
- Unknown: there is no approved release that authorizes re-enabling KIS. This change supplies no activation path.
- Decision Required: a future enablement would require a separately approved release, complete capability/kill-switch audit, and revised WBS evidence; it is out of scope.
Actual evidence and remaining acceptance
dotnet test tests/KArtSell.Integration.Tests/KArtSell.Integration.Tests.csproj -c Release --filter FullyQualifiedName~KisTradingHardOffTests --logger "trx;LogFileName=KisTradingHardOffTests_20260809.trx" --results-directory evidence/AEG-X-016- Result: passed
1/1; artifact:evidence/AEG-X-016/KisTradingHardOffTests_20260809.trx; SHA-256:F41D1DF823F91705D322A629B08ADF0BBA03EA1BEFA01DEF47E00C9DAFF2470D. - The test invokes submit, status, cancel, and settlement on the concrete KIS adapter and asserts that every call throws the hard-off exception before its HTTP handler is called (zero external calls).
- The submit/poll/settlement handlers guard before any database write or adapter access, and Program removes the historic
trade-status-pollingrecurring job. CreateTradeEndpointandListTradesEndpointare marked[DontRegister]; trade routes are not production-registered while KIS/order capability remains OFF.- Architecture guard
KIS_trade_endpoints_must_remain_unregistered_while_capability_is_offpassed as part ofKArtSell.ArchitectureTests: 17/17 tests passed on 2026-08-12. - Post-change unit evidence:
KArtSell.ModelOperations.UnitTests51/51 PASS andKArtSell.SignalEngine.UnitTests18/18 PASS. - Not complete: endpoint-level disabled response and a startup configuration-override audit remain to be executed before the full WBS acceptance is claimed.