Skip to content

feat: add AEP-86 provider verification to Console - #3708

Closed
chalabi2 wants to merge 12 commits into
akash-network:mainfrom
chalabi2:aep-86/console-implementation
Closed

chalabi2 wants to merge 12 commits into
akash-network:mainfrom
chalabi2:aep-86/console-implementation

Conversation

@chalabi2

@chalabi2 chalabi2 commented Aug 27, 2026

Copy link
Copy Markdown

Why

Part of CON-800.

Console needs to consume AEP-86 provider verification through its existing
indexer, API, marketplace, deployment, notification, and Stats boundaries.
This draft puts the flag-gated integration in one place for cross-service
review against the live AEP-86 testnet.

Feature surface

AEP-86 provider verification feature surface

What

  • persist and reconcile attestations, auditors, bonds, snapshots, escrows,
    discrepancies, grace state, and provider maintenance
  • derive a normalized provider verification view from chain state
  • hard-filter ineligible providers and return actionable exclusion reasons
  • preserve independent legacy signedBy checks when both policies are present
  • add SDL builder and import/export support for verification requirements
  • show verification state on provider, marketplace, and active deployment views
  • send maintenance and tier-demotion notifications without closing leases
  • render AEP-86 transactions in Stats
  • support an opt-in custom Akash testnet endpoint for review

The database migrations are additive. Production behavior remains behind the
provider_verification feature flag and service-specific enablement settings.

Dependencies

The workspace is pinned to
@akashnetwork/chain-sdk@1.0.0-alpha.43,
which contains the AEP-86 TypeScript protos, SDL validation, and verification
manifest projection. No local tarball or path dependency is committed.

Runtime testnet review uses:

Review notes

The commits are separated by shared policy logic, indexer ingestion,
provider-inventory screening, API views, Console UI, notifications, Stats, and
workspace metadata. Reviewing in that order follows the data flow from chain
state to user-facing behavior.

Centralize tier derivation, placement checks, and chain query mapping so
indexer and marketplace paths apply the same AEP-86 rules.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Persist typed verification events and reconcile chain-backed records so
expiry, maintenance, and tier state remain queryable after gaps or restarts.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Poll normalized verification facts with provider inventory and reject bids
that do not satisfy the placement policy before ranking eligible providers.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Attach normalized verification facts to provider responses and expose
screening explanations, rollout readiness, and tier-demotion feeds.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Let tenants configure verification policy, preflight provider availability,
inspect eligible bids, and compare lease policy with current provider facts.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Notify affected leases about maintenance windows and tier demotions while
deduplicating chain events and preserving leases through policy drift.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Give AEP-86 messages readable labels and structured transaction details in
Stats without changing the generic fallback for unknown message types.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Register the shared evaluator and package-level test dependencies in the
workspace lockfile so clean installs resolve the AEP-86 package graph.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Comment @coderabbitai help to get the list of available commands.

Comment thread package-lock.json
@@ -51,6 +51,7 @@
"@akashnetwork/logging": "*",

@github-actions github-actions Bot Aug 27, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔄 Carefully review the package-lock.json diff

Resolve the comment if everything is ok

* node_modules/@akashnetwork/chain-sdk                                                     1.0.0-alpha.41 -> 1.0.0-alpha.43
+ node_modules/@akashnetwork/provider-verification                                         link:packages/provider-verification
+ packages/provider-verification                                                           0.0.0   

@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.79827% with 211 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.83%. Comparing base (5475c78) to head (7e69101).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
...ider-verification/provider-verification.service.ts 68.88% 41 Missing and 1 partial ⚠️
...tplaceProvidersTable/MarketplaceProvidersTable.tsx 60.00% 25 Missing and 1 partial ⚠️
...r-verification/provider-verification.repository.ts 45.65% 24 Missing and 1 partial ⚠️
...mponents/providers/ProviderVerificationDetails.tsx 84.05% 22 Missing ⚠️
...ketplaceProvidersTable/MarketplaceProviderCell.tsx 51.42% 17 Missing ⚠️
...pps/deploy-web/src/queries/useScreenedProviders.ts 74.00% 13 Missing ⚠️
...vider-verification/provider-verification.mapper.ts 90.67% 8 Missing and 3 partials ⚠️
...tion-alert/provider-tier-demotion-alert.service.ts 85.91% 8 Missing and 2 partials ⚠️
...ploy-web/src/components/sdl/PlacementFormModal.tsx 0.00% 7 Missing and 1 partial ⚠️
...ponents/providers/ProviderVerificationListCell.tsx 84.37% 5 Missing ⚠️
... and 13 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3708      +/-   ##
==========================================
+ Coverage   79.58%   79.83%   +0.24%     
==========================================
  Files        1180     1207      +27     
  Lines       31605    32935    +1330     
  Branches     7818     8289     +471     
==========================================
+ Hits        25154    26294    +1140     
- Misses       5696     5869     +173     
- Partials      755      772      +17     
Flag Coverage Δ
api 89.62% <80.00%> (-0.48%) ⬇️
deploy-web 71.45% <82.84%> (+0.44%) ⬆️
log-collector 85.85% <ø> (ø)
notifications 94.25% <92.89%> (-0.07%) ⬇️
provider-console 81.38% <ø> (ø)
provider-inventory 87.06% <98.37%> (+2.08%) ⬆️
provider-proxy 88.22% <ø> (ø)
tx-signer 90.19% <ø> (ø)
Files with missing lines Coverage Δ
...ovider/controllers/provider/provider.controller.ts 83.33% <100.00%> (+0.72%) ⬆️
...ication/provider-verification-readiness.service.ts 100.00% <100.00%> (ø)
.../provider-verification-tier-demotion.repository.ts 100.00% <100.00%> (ø)
...tion/provider-verification-tier-demotion.schema.ts 100.00% <100.00%> (ø)
...vider-verification/provider-verification.schema.ts 100.00% <100.00%> (ø)
...src/provider/services/provider/provider.service.ts 96.09% <100.00%> (+0.85%) ⬆️
apps/api/src/utils/map/provider.ts 65.17% <ø> (-1.79%) ⬇️
...gureDeploymentHeader/ConfigureDeploymentHeader.tsx 100.00% <100.00%> (ø)
...ent/DeploymentPane/PlacementCard/PlacementCard.tsx 96.77% <100.00%> (+0.22%) ⬆️
...Pane/PlacementCard/PlacementVerificationEditor.tsx 100.00% <100.00%> (ø)
... and 56 more

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Use the existing hook export directly. This avoids a duplicate public symbol.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Drive the Radix selects through user events so form assertions wait for state updates.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Pin the workspace to chain-sdk 1.0.0-alpha.43, including the verification manifest projection.

Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​akashnetwork/​chain-sdk@​1.0.0-alpha.41 ⏵ 1.0.0-alpha.4385 +1100100 +198100
Added@​akashnetwork/​provider-verification@​0.0.0N/AN/AN/AN/AN/A

View full report

@chalabi2

Copy link
Copy Markdown
Author

This umbrella draft has been split into reviewable dependency and application PRs:

The original branch remains available as a recovery point. Closing this draft so review continues on the split PRs.

@chalabi2

Copy link
Copy Markdown
Author

Superseded by the split drafts linked above.

@chalabi2 chalabi2 closed this Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant