fix: publish generated manifest bundle - #1126
Conversation
|
Warning Review limit reached
Next review available in: 17 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (33)
📝 WalkthroughWalkthrough
Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
e0c5373 to
9097cb9
Compare
📊 Benchmark Results❌ Some benchmarks failed Gate failures
Updated: 2026-06-30T18:03:44.063Z · Commit: eec5352 |
935c71d to
8018b23
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/cli/src/commands/projectMap.ts`:
- Around line 295-302: Export PROJECT_MANIFEST_BUNDLE_SCHEMA_VERSIONS from
projectMap.ts and update doctor.ts to read its expected bundle schema versions
from that shared constant instead of duplicating the strings in
projectManifestBundleFiles. Keep the existing symbol name so both
projectManifestBundleFiles and any readiness checks use the same single source
of truth, preventing drift when a schema version changes.
In `@packages/rpc-codegen/src/libs/generate.ts`:
- Around line 827-857: Unify the duplicated manifest artifact definitions and
path helpers used by generateManifestSource with the shared OpenAPI manifest
bundle constants so the RPC bundle source cannot drift from emitOpenAPI.ts.
Replace the local hardcoded artifactEntries with a single typed source (for
example, the existing
ProjectManifestBundleArtifactKey/PROJECT_MANIFEST_BUNDLE_ARTIFACTS shape) and
reuse the shared normalization/join logic instead of redefining
normalizeManifestBundlePath and joinManifestBundlePath here. Also rename the
normalizeManifestBundlePath parameter from path to something like bundlePath to
avoid shadowing the imported path module.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 5de469ce-0a8e-43da-be7f-a358930ae8b8
⛔ Files ignored due to path filters (1)
packages/problems-core/src/generated/problem-code-registry.tsis excluded by!**/generated/**
📒 Files selected for processing (30)
.changeset/project-manifest-bundle.mddocs/problem-code-registry.jsonpackages/cli/src/commands/doctor.tspackages/cli/src/commands/projectMap.tspackages/cli/src/tests/doctor.spec.tspackages/cli/src/tests/projectMap.spec.tspackages/create-croco-app/src/tests/e2e-generation.spec.tspackages/create-croco-app/src/tests/templates-build.spec.tspackages/create-croco-app/templates/admin-console/README.md.hbspackages/create-croco-app/templates/admin-console/package.json.hbspackages/create-croco-app/templates/ai-saas/README.md.hbspackages/create-croco-app/templates/ai-saas/package.json.hbspackages/create-croco-app/templates/saas/README.md.hbspackages/create-croco-app/templates/saas/package.json.hbspackages/create-croco-app/templates/spa-be-split/README.md.hbspackages/create-croco-app/templates/spa-be-split/package.json.hbspackages/docs/src/content/docs/api/openapi-spec/src/functions/emitOpenAPI.mdpackages/docs/src/content/docs/api/openapi-spec/src/functions/emitOpenAPIFromContractGraph.mdpackages/docs/src/content/docs/api/openapi-spec/src/type-aliases/EmitOpenAPIOptions.mdpackages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.mdpackages/docs/src/content/docs/api/rpc-codegen/src/type-aliases/GenerateClientOptions.mdpackages/docs/src/content/docs/en/reference/problem-recovery-cookbook.mdpackages/openapi-spec/src/libs/cli.tspackages/openapi-spec/src/libs/emitOpenAPI.tspackages/openapi-spec/src/tests/Cli.spec.tspackages/openapi-spec/src/tests/emitOpenAPI.spec.tspackages/rpc-codegen/src/libs/cli.tspackages/rpc-codegen/src/libs/generate.tspackages/rpc-codegen/src/tests/Cli.spec.tspackages/rpc-codegen/src/tests/codegen.spec.ts
8018b23 to
8a95577
Compare
bdef138 to
9e81860
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/cli/src/commands/projectMap.ts`:
- Around line 600-674: The bundle artifact filenames are still hardcoded in
createProjectManifestBundle, while doctor.ts reads them from
PROJECT_MANIFEST_BUNDLE_ARTIFACTS, so writer and reader can drift. Update the
artifact creation calls in projectMap to use the shared
PROJECT_MANIFEST_BUNDLE_ARTIFACTS constants for each artifact name instead of
string literals, keeping the existing createProjectManifestBundleArtifact and
PROJECT_MANIFEST_BUNDLE_SCHEMA_VERSIONS usage intact. This will align the
filenames across the bundle writer and the readiness checks.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: a7fc40a5-7c47-4306-abe6-f0e4ea24ebcf
⛔ Files ignored due to path filters (1)
packages/problems-core/src/generated/problem-code-registry.tsis excluded by!**/generated/**
📒 Files selected for processing (33)
.changeset/project-manifest-bundle.mddocs/problem-code-registry.jsonpackages/cli/src/commands/doctor.tspackages/cli/src/commands/projectMap.tspackages/cli/src/tests/doctor.spec.tspackages/cli/src/tests/projectMap.spec.tspackages/create-croco-app/src/tests/e2e-generation.spec.tspackages/create-croco-app/src/tests/templates-build.spec.tspackages/create-croco-app/templates/admin-console/README.md.hbspackages/create-croco-app/templates/admin-console/package.json.hbspackages/create-croco-app/templates/ai-saas/README.md.hbspackages/create-croco-app/templates/ai-saas/package.json.hbspackages/create-croco-app/templates/saas/README.md.hbspackages/create-croco-app/templates/saas/package.json.hbspackages/create-croco-app/templates/spa-be-split/README.md.hbspackages/create-croco-app/templates/spa-be-split/package.json.hbspackages/docs/src/content/docs/api/openapi-spec/src/functions/emitOpenAPI.mdpackages/docs/src/content/docs/api/openapi-spec/src/functions/emitOpenAPIFromContractGraph.mdpackages/docs/src/content/docs/api/openapi-spec/src/type-aliases/EmitOpenAPIOptions.mdpackages/docs/src/content/docs/api/problems-core/src/variables/CROCO_PROBLEM_CODE_REGISTRY.mdpackages/docs/src/content/docs/api/rpc-codegen/src/type-aliases/GenerateClientOptions.mdpackages/docs/src/content/docs/en/reference/problem-recovery-cookbook.mdpackages/openapi-spec/src/libs/cli.tspackages/openapi-spec/src/libs/emitOpenAPI.tspackages/openapi-spec/src/tests/Cli.spec.tspackages/openapi-spec/src/tests/emitOpenAPI.spec.tspackages/protocols-core/src/index.tspackages/protocols-core/src/libs/ProjectManifestBundle.tspackages/rpc-codegen/src/libs/cli.tspackages/rpc-codegen/src/libs/generate.tspackages/rpc-codegen/src/tests/Cli.spec.tspackages/rpc-codegen/src/tests/codegen.spec.tspublic-api-surface.snapshot.json
9e81860 to
9c01c14
Compare
Fixes #1088.
Summary
croco project map --manifest-bundlenow writes and checks the deterministic.croco/manifestbundle withcontract-graph,problems,di-graph,runtime,policies, andprovidersartifacts.croco doctorvalidates the manifest bundle when a workspace expects it, including missing artifact and schema-version diagnostics.manifest-source.tsexport.create-croco-apptemplates now generate/check Project Map, OpenAPI, and RPC outputs against.croco/manifest, withcontract:verifyregenerating and checking the bundle before OpenAPI/RPC generation.Verification
COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm --filter @croco/cli exec vitest run src/tests/projectMap.spec.ts src/tests/doctor.spec.ts- passed, 29 tests.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm --filter @croco/openapi-spec exec vitest run src/tests/Cli.spec.ts src/tests/emitOpenAPI.spec.ts- passed, 30 tests.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm --filter @croco/rpc-codegen exec vitest run src/tests/Cli.spec.ts src/tests/codegen.spec.ts- passed, 61 tests.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm --filter create-croco-app exec vitest run src/tests/templates-build.spec.ts src/tests/e2e-generation.spec.ts- passed, 26 tests.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 CROCO_GENERATED_SMOKE_CASES=saas-golden-path corepack pnpm create-croco-app:smoke- passed, includingproject-map:write,project-map:check, generated RPCmanifest-source.ts, andcroco doctorproject-manifest-bundle readiness.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm problem-registry:check- passed, 406 codes from 406 discoveries.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm exec oxfmt --check ...on touched source/test/template/generated files - passed.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm exec oxlint ...on touched source/test files - passed, 0 warnings/errors.git diff --check- passed.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm public-api:check- passed.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm changeset-required:check -- --base origin/trunk --head HEAD- passed.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm --filter @croco/openapi-spec typecheck- passed.COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack pnpm --filter @croco/openapi-spec build- passed.Review Notes
ProjectMapManifest, so the legacycroco.project-map.jsonoutput remains available while new projection files become stable inputs for docs, OpenAPI, and RPC.contract:verifynow runsproject-map:writeandproject-map:checkbefore OpenAPI/RPC generation socroco doctorsees the expected.croco/manifestbundle.problem-registry:checkpasses after regeneration.pnpm installprompt asking to remove and reinstall workspacenode_modules. The equivalent focused validations above were run manually.@croco/cli,@croco/rpc-codegen, andcreate-croco-appstill hit existing workspace resolution gaps around@croco/problems-coreand@croco/tenant-core/tenant-model; the new OpenAPI typecheck/build path passes.Risk
Medium. This intentionally makes generated app templates expect
.croco/manifestas a checked contract artifact, while preserving the existing Project Map manifest file and surfacing missing or stale bundle files through stable Project Map diagnostics.Summary by CodeRabbit
--manifest-bundle)이 추가되었습니다.croco doctor,croco project map체크 및 새 프로젝트/템플릿의 계약 검증 파이프라인에 번들 단계가 포함됩니다.