Loading module
Resolving locale, route permissions, and workspace projection.
Resolving locale, route permissions, and workspace projection.
Current scope: Guest
Category: 90_stabilization | Version: v1.0.0
Owner: DOCUMENT_CUSTODIAN | Review cycle: 90 days
Approval authority: Unspecified
Documentation portal is read-only. Editing and mutation endpoints are disabled.
Kvary հարթակը սկզբնապես ստեղծված է վրացերենով։ Երբ վրացերեն տարբերակ կա, վրացերենն է գերակա հարթակի UI-ի, փաստաթղթերի և իրավական մեկնաբանության համար։
Այլ լեզուներով թարգմանությունները տրամադրվում են հարմարության համար։ Որոշ գրառումներ կարող են ստեղծվել այլ լեզուներով և ունենալ սեփական source կամ legal locale տվյալ հոսքի համար, բայց երբ վրացերեն տարբերակ հասանելի է, հարթակի մակարդակի ձևակերպումների և մեկնաբանության համար գերակա է վրացերեն տարբերակը։
Metadata incomplete: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
Date: 2026-03-06
Stabilization of apps/web resolution for @kvary/core and @kvary/core/*.
Files analyzed:
apps/web/tsconfig.jsonapps/web/next.config.jstsconfig.jsonapps/web/tsconfig.json had raw workspace source mappings:
@kvary/core/governance -> ../../packages/core/governance/index.ts@kvary/core/* -> ../../packages/core/*This meant web type resolution depended on the source layout of packages/core, not on the package boundary or package exports.
apps/web/next.config.js had explicit source aliases:
@kvary/core -> ../../packages/core@kvary/core -> ../../packages/coreThis meant runtime/bundler resolution also bypassed package exports and depended on raw workspace layout.
Root tsconfig.json still contains:
@kvary/core/governance -> packages/core/governance/index.ts@kvary/core/* -> packages/core/*That file is not consumed by apps/web/tsconfig.json via extends, so it does not control the web app directly in this step.
| Consumer | Import path | Previous resolution | Current resolution | Classification |
| --- | --- | --- | --- | --- |
| apps/web/src/app/[locale]/(portal)/kes/HashVerificationPanel.tsx | @kvary/core/governance | TS path + Next alias to source | package export to packages/core/dist/governance/index.d.ts | PACKAGE_EXPORT_RESOLUTION |
| apps/web/src/app/[locale]/(portal)/kes/SigningSlotPanel.tsx | @kvary/core/governance | TS path + Next alias to source | package export to packages/core/dist/governance/index.d.ts | PACKAGE_EXPORT_RESOLUTION |
| apps/web/src/app/[locale]/(portal)/kes/page.tsx | @kvary/core/governance | TS path + Next alias to source | package export to packages/core/dist/governance/index.d.ts | PACKAGE_EXPORT_RESOLUTION |
| apps/web/src/app/[locale]/[country]/(portal)/kes/HashVerificationPanel.tsx | @kvary/core/governance | TS path + Next alias to source | package export to packages/core/dist/governance/index.d.ts | PACKAGE_EXPORT_RESOLUTION |
| apps/web/src/app/[locale]/[country]/(portal)/kes/SigningSlotPanel.tsx | @kvary/core/governance | TS path + Next alias to source | package export to packages/core/dist/governance/index.d.ts | PACKAGE_EXPORT_RESOLUTION |
| apps/web/src/app/[locale]/[country]/(portal)/kes/page.tsx | @kvary/core/governance | TS path + Next alias to source | package export to packages/core/dist/governance/index.d.ts | PACKAGE_EXPORT_RESOLUTION |
Minimal safe change only:
@kvary/core path mappings from apps/web/tsconfig.json@kvary/core webpack/turbopack aliases from apps/web/next.config.jsWhat remained intentionally unchanged:
transpilePackages: ["@kvary/core", "@kvary/ai-layer", "@kvary/memory-layer"]@kvary/ai-layer source aliasing@kvary/memory-layer source aliasing@ aliasRationale:
@kvary/core now has explicit subpath exports and a dist buildtranspilePackages is enough to keep Next aware of the workspace package@kvary/core alias/path mapping reduces coupling without broadening risk to other packagesExecuted from apps/web:
npm exec -- node -e "import('@kvary/core/governance')..."
npm exec -- node -e "import('@kvary/core/governance/types')..."
Results:
@kvary/core/governance resolved successfully@kvary/core/governance/types resolved successfullyExecuted:
npm exec -- tsc -p apps/web/tsconfig.json --noEmit --traceResolution
Relevant result:
@kvary/core/governance resolves through node_modules/@kvary/core/package.jsonpackages/core/dist/governance/index.d.ts../../packages/core/governance/index.tsThis is the key stabilization result for web.
The full apps/web TypeScript check still fails, but on unrelated tenders-page style typing issues:
apps/web/src/app/[locale]/(portal)/tenders/page.tsxapps/web/src/app/[locale]/[country]/(portal)/tenders/page.tsxNo @kvary/core module-resolution errors were observed in the trace for the web KES consumers.
Root tsconfig.json still contains raw @kvary/core/* source mappings
apps/web now@kvary/ai-layer and @kvary/memory-layer in apps/web
Full Next runtime/dev server was not restarted in this step
tsconfig.json raw @kvary/core/* mapping reviewapps/web resolution review for @kvary/ai-layer and @kvary/memory-layerpackages/core/*.js strict-delete pass after remaining non-web/manual clusters are stabilized