Skip to content

Issue 708 sync backend contract registry - #902

Open
deep-bhikadiya wants to merge 5 commits into
Pulsefy:mainfrom
deep-bhikadiya:issue-708-sync-backend-contract-registry
Open

Issue 708 sync backend contract registry#902
deep-bhikadiya wants to merge 5 commits into
Pulsefy:mainfrom
deep-bhikadiya:issue-708-sync-backend-contract-registry

Conversation

@deep-bhikadiya

Copy link
Copy Markdown
Contributor

Summary

  • Load canonical onchain deployment registry artifacts into backend deployment metadata on startup
  • Log the active contract registry source, including artifact, env fallback, and database fallback paths
  • Let the Soroban adapter resolve aid_escrow contract ID from the registry artifact when env config is missing
  • Document CONTRACT_REGISTRY_PATH and CONTRACT_REGISTRY_SYNC_DISABLED

Tests

  • npm run build
  • npm test -- --runInBand --forceExit src/deployment-metadata/contract-registry.artifact.spec.ts src/deployment-metadata/contract-registry-sync.service.spec.ts src/deployment-metadata/deployment-metadata.service.spec.ts src/deployment-metadata/contract-config-cache.service.spec.ts src/onchain/onchain.module.spec.ts

close #708

…n\nImplements short-lived locks for verification review to prevent concurrent\nreview actions. Meets acceptance criteria:\n\n- Review actions (approve/reject/request-resubmission) now require lock ownership\n- Locks expire after configurable duration (default 5 minutes)\n- Stale-lock recovery via scheduled job (every 2 minutes)\n- API responses include conflict details for frontend UX\n\nChanges:\n- Add ReviewLock model to Prisma schema\n- Add ReviewLockService with lock acquire/release/refresh/verify\n- Add ReviewLockScheduler for automatic stale-lock recovery\n- Add lock endpoints: POST /:id/lock, POST /lock/release, POST /lock/refresh\n- Add lock status to inbox listing and verification details\n- Integrate lock verification into review action endpoints\n- Add LockConflictResponse with suggestedAction for frontend guidance\n\nCloses Pulsefy#703
@drips-wave

drips-wave Bot commented Jul 29, 2026

Copy link
Copy Markdown

@deep-bhikadiya Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Merge Pulsefy/Soter main into the contract-registry branch so CI receives the corrected workspace lockfile and Jest overrides. Remove inherited review-lock lint errors and make the synchronous registry fallback helper accurately non-async.

Constraint: PR Pulsefy#902 was 29 upstream commits behind and inherited the same stale root lockfile importer as PR Pulsefy#901.

Rejected: Regenerate the stale branch lockfile without syncing main | would duplicate upstream dependency policy and leave the branch outdated.

Confidence: high

Scope-risk: moderate

Reversibility: clean

Directive: Keep contract registry fallback paths synchronous unless they acquire real asynchronous work.

Tested: pnpm 10.34.5 frozen install; targeted ESLint; backend build; 5 documented Jest suites with 50 passing tests

Not-tested: Full cross-service suite; GitHub Actions pending push
@Cedarich

Copy link
Copy Markdown
Contributor

@deep-bhikadiya

bhikadiya deep and others added 2 commits July 31, 2026 10:21
Merge current upstream main while preserving the contract-registry synchronization work. Remove the unused root Prisma 7 toolchain so the repository workflow resolves backend Prisma 6, create the SQLite CI database before migrations, repair the pnpm 9 lock graph, and clear lint blockers inherited from main.

Constraint: Backend CI invokes npx prisma from app/backend and installs through pnpm 9.
Rejected: Remove the Prisma schema URL | backend remains on Prisma 6, which requires it.
Rejected: Change the GitHub workflow | fork workflow edits require maintainer approval and the issue is a package-boundary conflict.
Confidence: high
Scope-risk: narrow
Directive: Keep Prisma CLI ownership in app/backend and avoid a conflicting root Prisma major.
Tested: pnpm 9 frozen install; Prisma 6 migration deploy; ESLint fix dry-run; backend build; 690 backend tests; 50 contract-registry tests; Node and Python contract suites.
Not-tested: npm package-lock regeneration, which is not consumed by these checks.
…istry

Resolve conflicts in logger, soroban adapter, and pnpm-lock.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sync Backend Contract Registry From Onchain Deployment Artifacts

2 participants