svc-tenders Server Shell Boundary
Purpose
This note records the remaining helper boundary inside after Sprint 20.
Resolving locale, route permissions, and workspace projection.
النطاق الحالي: ضيف
الفئة: 10_normative | الإصدار: v1.0.0
المالك: DOCUMENT_CUSTODIAN | دورة المراجعة: 90 يومًا
جهة الاعتماد: GOVERNANCE_ADMIN
بوابة الوثائق للقراءة فقط. نقاط نهاية التعديل والتغيير معطلة.
منصة Kvary أُنشئت أصلًا باللغة الجورجية. وحيثما تتوفر نسخة جورجية، تبقى الجورجية هي اللغة المعتمدة لواجهة المنصة والوثائق والتفسير القانوني.
تُوفَّر الترجمات إلى اللغات الأخرى لسهولة الاستخدام فقط. وقد تنشأ بعض السجلات بلغات أخرى وتحمل لغة مصدر أو لغة قانونية خاصة بذلك المسار، ولكن حيثما تتوفر نسخة جورجية تكون الأولوية للنسخة الجورجية في صياغة المنصة وتفسيرها.
البيانات الوصفية غير مكتملة: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
svc-tenders Server Shell BoundaryThis note records the remaining helper boundary inside after Sprint 20.
The goal is not to force more movement. The goal is to make it obvious which helpers are still legitimate service-shell concerns and which are no longer route-local support.
Labels used here:
VERIFIEDREALTRANSITIONALserver.tsVERIFIED, REAL
These helpers stay in server.ts because they are part of the service HTTP shell's auth contract.
requireServiceAuthverifyAccessTokenextractBearerTokenrequireServiceAuthrequireActivePrincipalrequireServiceAuthresolvePrincipal/auth/me, so it is still shell-level integration logic rather than route-local supportparseAuthMePrincipalresolvePrincipalVERIFIED, REAL
These helpers stay in server.ts because they are still reused by multiple support builders and do not yet have a narrower truthful shared home.
parsePositiveIntparsePositiveNumberparseOptionalStringparseOptionalUpperparseOptionalBooleanparseOptionalIntclampPositiveIntgetFirstQueryValueVERIFIED, REAL
These helpers stay in server.ts because they are ingress controls at the KES route boundary. They are not generic security utilities.
ensureThirdPartyKycBoundaryverifyIncomingSignatureGateVERIFIED
The following helpers no longer live in server.ts because they had route-support-local homes:
extractDetails -> services/svc-tenders/src/routes/support/detailExtractionSupport.tsresolveIntentId -> services/svc-tenders/src/routes/support/requestIntentSupport.tsparseRankingScope -> services/svc-tenders/src/routes/support/rankingScopeSupport.tsrunMulterSingle bridge -> services/svc-tenders/src/routes/support/declarationUploadSupport.tsparseTenderListOptions -> services/svc-tenders/src/routes/support/tenderRouteSupport.tsparseAuctionListOptions -> services/svc-tenders/src/routes/support/auctionRouteSupport.tsThese were moved because they were no longer truthful as service-shell helpers.
VERIFIED, TRANSITIONAL
The remaining transitional/shared area is the low-level parser cluster.
Why it is still transitional:
So the honest state is:
server.tsVERIFIED
Sprint 20 did not force another extraction.
It added explicit section comments in services/svc-tenders/src/server.ts so a reader can immediately distinguish:
After Sprint 20, the remaining helper surface in server.ts is best understood as:
No obviously route-local helper bodies remain stranded in the file.