Create an AI system that analyzes smart contract upgrades and migrations for security and compatibility:
- Upgrade Path Analysis: Analyze security implications of upgrade paths
- State Migration Safety: Verify state migration logic for correctness
- Compatibility Analysis: Check ABI and storage layout compatibility
- Rollback Analysis: Analyze ability to rollback upgrades
- Migration Testing: Generate tests for migration scenarios
- Upgrade Impact Assessment: Assess impact on dependent contracts
- Proxy Pattern Analysis: Analyze proxy pattern implementations
- Migration Simulation: Simulate migrations to identify issues
Requirements:
- Build upgrade path analysis algorithms
- Implement state migration verification
- Create compatibility checking (ABI, storage layout)
- Build rollback analysis
- Implement migration test generation
- Create impact assessment for dependent contracts
- Build proxy pattern security analysis
- Implement migration simulation
- Create upgrade documentation generation
- Build integration with deployment tools
Acceptance Criteria:
- Detect 95%+ of upgrade compatibility issues
- State migration verification accuracy >90%
- Identify all security implications of upgrades
- Migration tests achieve 90%+ coverage
- Proxy pattern analysis detects common vulnerabilities
- Migration simulation identifies real issues
- Integration with existing ChainProof workflow
Difficulty: High - Requires upgrade pattern expertise, formal verification
Maintainer Scope Upgrade
This issue is being expanded into a substantial, production-quality ChainProof enhancement. The implementation should be designed as maintainable platform work, not as a narrow proof of concept. A successful pull request must provide a cohesive user-facing capability, typed internal APIs, robust tests, documentation, and CI-safe behavior.
Expanded Objective
Analyze upgrade and migration risk across proxy patterns, storage layouts, and deployment transitions. The feature should fit the existing monorepo architecture, reuse current scanner/report/CLI patterns where appropriate, and avoid introducing ad hoc subsystems that are difficult to test or maintain.
Required Implementation Depth
This issue is intentionally scoped to require more than 700 lines of meaningful implementation work. The line count expectation applies to purposeful source, tests, fixtures, and documentation that are necessary to deliver the feature. It must not be satisfied through generated output, lockfile churn, formatting-only changes, duplicated boilerplate, or artificial padding.
Expected work includes:
- Storage-layout comparison, initializer checks, proxy-admin risk detection, and migration checklist generation.
- Fixtures for safe upgrades, storage collisions, missing initializers, and unsafe delegatecall paths.
- CLI/report integration with severity mapping and actionable remediation guidance.
- Public or internal types/interfaces where they clarify behavior and reduce future integration risk.
- Failure-mode handling for invalid input, missing configuration, unavailable optional dependencies, and degraded execution paths.
- Documentation updates that explain how maintainers and users should operate the new capability in local and CI environments.
Professional Quality Bar
The implementation must be production-ready and reviewable in isolation. Contributors should include clear separation between parsing, analysis, reporting, CLI/action integration, and persistence or provider code where those concerns apply. The code should follow existing ChainProof conventions, keep behavior deterministic in tests, and avoid coupling core analysis to network-only services unless explicitly optional and mocked.
Acceptance Criteria
- The delivered PR contains more than 700 meaningful lines of implementation across source, tests, fixtures, and docs, excluding generated files and lockfile-only changes.
- The feature is integrated into the relevant package entrypoints, CLI commands, report formats, GitHub Action behavior, or documentation as appropriate for this issue.
- Unit tests cover normal operation, edge cases, invalid inputs, and at least one realistic fixture or end-to-end workflow.
- Any optional external service, model provider, database, or platform integration has deterministic mocks or fallbacks so CI does not depend on secrets or network availability.
- User-facing output is documented and stable enough for downstream automation.
- Backward compatibility is preserved unless the PR explicitly documents a migration path and the maintainer approves it.
Mandatory CI and Merge Requirements
A PR resolving this issue must not be merged until all repository CI checks pass. At minimum, reviewers should verify the following from a clean checkout:
npm ci
npm run lint
npm run build --workspaces --if-present
npm run test:ci --workspace=packages/core
npm test --workspaces --if-present
npm run build --workspace=packages/core && npm run docs --workspace=packages/core
- Any package-specific tests, examples, validators, or integration checks introduced by the PR
If the PR adds a GitHub Action, report format, dashboard, persistence layer, or external integration, it must also include CI coverage or a documented local verification command for that path. Known warnings are acceptable only when they are documented and do not hide failures.
Review Expectations
Reviewers should reject PRs that only stub APIs, add superficial wrappers, omit tests for critical behavior, rely on live secrets in CI, or meet the line-count target through non-functional bulk changes. The preferred solution is a focused but complete vertical slice that leaves ChainProof more reliable, easier to operate, and easier to extend.
Create an AI system that analyzes smart contract upgrades and migrations for security and compatibility:
Requirements:
Acceptance Criteria:
Difficulty: High - Requires upgrade pattern expertise, formal verification
Maintainer Scope Upgrade
This issue is being expanded into a substantial, production-quality ChainProof enhancement. The implementation should be designed as maintainable platform work, not as a narrow proof of concept. A successful pull request must provide a cohesive user-facing capability, typed internal APIs, robust tests, documentation, and CI-safe behavior.
Expanded Objective
Analyze upgrade and migration risk across proxy patterns, storage layouts, and deployment transitions. The feature should fit the existing monorepo architecture, reuse current scanner/report/CLI patterns where appropriate, and avoid introducing ad hoc subsystems that are difficult to test or maintain.
Required Implementation Depth
This issue is intentionally scoped to require more than 700 lines of meaningful implementation work. The line count expectation applies to purposeful source, tests, fixtures, and documentation that are necessary to deliver the feature. It must not be satisfied through generated output, lockfile churn, formatting-only changes, duplicated boilerplate, or artificial padding.
Expected work includes:
Professional Quality Bar
The implementation must be production-ready and reviewable in isolation. Contributors should include clear separation between parsing, analysis, reporting, CLI/action integration, and persistence or provider code where those concerns apply. The code should follow existing ChainProof conventions, keep behavior deterministic in tests, and avoid coupling core analysis to network-only services unless explicitly optional and mocked.
Acceptance Criteria
Mandatory CI and Merge Requirements
A PR resolving this issue must not be merged until all repository CI checks pass. At minimum, reviewers should verify the following from a clean checkout:
npm cinpm run lintnpm run build --workspaces --if-presentnpm run test:ci --workspace=packages/corenpm test --workspaces --if-presentnpm run build --workspace=packages/core && npm run docs --workspace=packages/coreIf the PR adds a GitHub Action, report format, dashboard, persistence layer, or external integration, it must also include CI coverage or a documented local verification command for that path. Known warnings are acceptable only when they are documented and do not hide failures.
Review Expectations
Reviewers should reject PRs that only stub APIs, add superficial wrappers, omit tests for critical behavior, rely on live secrets in CI, or meet the line-count target through non-functional bulk changes. The preferred solution is a focused but complete vertical slice that leaves ChainProof more reliable, easier to operate, and easier to extend.