Description
apps/backend/tests/deployment/artifact-verification.test.ts covers artifact signing and checksum verification but these steps are not part of the live pipeline. Unverified artifacts could be tampered with between code generation and Vercel deployment.
Requirements and context
- Must be secure, tested, and documented where applicable
- Should stay reviewable and fit the current monorepo structure
- Relevant files:
apps/backend/tests/deployment/artifact-verification.test.ts, apps/backend/src/services/deployment-pipeline.service.ts, apps/backend/src/services/code-generator.service.ts
Suggested execution
- Create branch:
issue-022-artifact-verification-in-pipeline
- Keep changes scoped to the issue and reference the task IDs in the PR
Implement changes
- After
CodeGeneratorService.generate(), call signArtifact with the platform signing secret
- Before
GitHubPushService.pushGeneratedCode(), call verifyArtifact and abort on mismatch
- Store the artifact checksum in
deployment_logs metadata for audit purposes
Test and commit
- Add pipeline tests for: valid artifact proceeds, tampered artifact aborts, missing signature aborts
- Include a request/response example showing the checksum in the log metadata
- Security note: signing secret must come from env, never hardcoded
Example commit message
feat(pipeline): add artifact signing and verification step
Guidelines
- Prefer small, reviewable PRs
- Keep naming and data contracts consistent with the spec docs
Description
apps/backend/tests/deployment/artifact-verification.test.tscovers artifact signing and checksum verification but these steps are not part of the live pipeline. Unverified artifacts could be tampered with between code generation and Vercel deployment.Requirements and context
apps/backend/tests/deployment/artifact-verification.test.ts,apps/backend/src/services/deployment-pipeline.service.ts,apps/backend/src/services/code-generator.service.tsSuggested execution
issue-022-artifact-verification-in-pipelineImplement changes
CodeGeneratorService.generate(), callsignArtifactwith the platform signing secretGitHubPushService.pushGeneratedCode(), callverifyArtifactand abort on mismatchdeployment_logsmetadata for audit purposesTest and commit
Example commit message
Guidelines