Declaration Smoke Runbook
This runbook covers the current local operator smoke path for:
Resolving locale, route permissions, and workspace projection.
النطاق الحالي: ضيف
الفئة: 90_stabilization | الإصدار: v1.0.0
المالك: DOCUMENT_CUSTODIAN | دورة المراجعة: 90 يومًا
جهة الاعتماد: غير محدد
بوابة الوثائق للقراءة فقط. نقاط نهاية التعديل والتغيير معطلة.
منصة Kvary أُنشئت أصلًا باللغة الجورجية. وحيثما تتوفر نسخة جورجية، تبقى الجورجية هي اللغة المعتمدة لواجهة المنصة والوثائق والتفسير القانوني.
تُوفَّر الترجمات إلى اللغات الأخرى لسهولة الاستخدام فقط. وقد تنشأ بعض السجلات بلغات أخرى وتحمل لغة مصدر أو لغة قانونية خاصة بذلك المسار، ولكن حيثما تتوفر نسخة جورجية تكون الأولوية للنسخة الجورجية في صياغة المنصة وتفسيرها.
البيانات الوصفية غير مكتملة: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
This runbook covers the current local operator smoke path for:
It is written against the current local runtime chain and current declaration semantics.
The expected local dev chain is:
apps/web -> http://localhost:3000services/api -> http://localhost:4001services/svc-auth -> http://localhost:4100services/svc-tenders -> http://localhost:4020postgres -> postgres://kvary:kvary@127.0.0.1:5432/kvaryminio object storage -> http://localhost:9000minio console -> http://localhost:9001Recommended startup path:
npm run dev
Required DB migrations must already be applied.
Evidence upload/download also assumes MinIO is up and healthy.
Relevant declaration/evidence migrations include:
0033_auction_registry_internal_states.sql0034_auction_declaration_evidence.sql0035_output_allocations_v1.sql0036_link_auction_declarations_to_allocations.sql0037_tender_declarations_v1.sql0038_tender_declaration_evidence.sqlUse a live auth user with one of these roles:
AUCTION_DECLARER
MARKET_DECLARER
Current live auth note:
TENDER_DECLARER is not currently mapped in svc-authMARKET_DECLARER is the practical combined role for full smoke coverageAfter changing auth_accounts.role:
svc-auth if code changedOpen:
/en/global/allocationsCreate an allocation with at least:
allocationIdstakeholderIdproductiveAssetIdassetTypeproductNameproductCategoryquantityunitoriginRegionSave the allocation.
Expected:
From allocation workspace/list, launch:
Create Auction DeclarationExpected:
/en/global/auctions/declare?allocationId=<id>auctionId is prefilledauctionId before first saveRequired minimum:
auctionId presentExpected:
DRAFTGo to evidence step.
Expected:
Click:
Check ReadinessExpected:
DRAFTComplete required fields and click:
Mark ReadyExpected:
READY_FOR_ANNOUNCEMENTClick:
Declare AuctionExpected:
ANNOUNCEDInternal auction view:
DRAFTREADY_FOR_ANNOUNCEMENTANNOUNCEDPublic auction view:
DRAFTREADY_FOR_ANNOUNCEMENTANNOUNCEDOpen:
/en/global/tenders/declareCurrent tender registry still expects UUID-compatible tenderId.
Use one of:
Example:
77777777-7777-4777-8777-777777777777
Do not use free-form non-UUID ids in current tender flow.
Expected:
DRAFTGo to tender evidence step.
Expected:
supportingDocumentsspecificationEvidencecomplianceEvidenceClick:
Check ReadinessExpected:
Click:
Mark ReadyExpected:
READY_FOR_ANNOUNCEMENTClick:
Declare TenderExpected:
ANNOUNCEDInternal tender view:
DRAFTREADY_FOR_ANNOUNCEMENTANNOUNCEDPublic tender view:
DRAFTREADY_FOR_ANNOUNCEMENTANNOUNCEDDRAFT -> READY_FOR_ANNOUNCEMENT -> ANNOUNCEDDRAFT -> READY_FOR_ANNOUNCEMENT -> ANNOUNCEDNo direct DRAFT -> ANNOUNCED path is expected in current v1 behavior.
Current local chain assumes:
400140204020If env points to stale or wrong ports, list and declaration behavior can look broken even when DB state is correct.
Current tender declaration path still requires UUID-compatible tenderId because tenders.tender_id remains UUID-backed in the live schema.
This is a known current constraint.
If env changes:
At minimum:
apps/webservices/apiservices/svc-tendersservices/svc-authIf user role changes:
Draft and ready states are internal/operator-only by design.
If an operator says “it saved but I cannot see it publicly”, first verify whether they are looking at: