feat: Add scale-pilot template#293
Conversation
|
Warning Review limit reached
Next review available in: 7 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: Repository UI (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughChangesScalePilot adds a Lamatic architecture-assessment kit with a chat-triggered flow, structured architecture extraction, missing-information follow-ups, conditional report generation, model configurations, prompts, constitution, and template metadata. ScalePilot template
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 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 |
:robot_face: AgentKit Structural ValidationNew Contributions Detected
Check Results
🎉 All checks passed! This contribution follows the AgentKit structure. |
There was a problem hiding this comment.
Actionable comments posted: 9
🤖 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 `@kits/scale-pilot/flows/scale-pilot.ts`:
- Around line 83-100: Update the chatConfig within the Chat Widget definition to
replace Lamatic-specific botName, greetingMessage, and suggestions with
ScalePilot branding and architecture-review starter prompts. Ensure each default
suggestion is relevant to ScalePilot and produces an appropriate architecture
parser flow; leave unrelated widget settings unchanged.
- Line 124: Update the object schema in InstructorLLMNode_493.schema to include
a required array covering at least has_missing_information and
missing_information, preferably every declared parser output field. Regenerate
the flow export so conditionNode_766 always receives these required fields.
In
`@kits/scale-pilot/model-configs/scale-pilot_instructor-llmnode-493_generative-model-name.ts`:
- Around line 9-12: Remove the hard-coded credentialId values from both model
configs:
kits/scale-pilot/model-configs/scale-pilot_instructor-llmnode-493_generative-model-name.ts
lines 9-12 and
kits/scale-pilot/model-configs/scale-pilot_llmnode-741_generative-model-name.ts
lines 9-12. Keep the model_name, provider_name, and credential_name metadata,
and arrange for the credential binding to be supplied at deployment/runtime.
In
`@kits/scale-pilot/model-configs/scale-pilot_llmnode-558_generative-model-name.ts`:
- Around line 9-13: Replace the hard-coded UUID in the model configuration’s
credentialId field with the platform’s credential placeholder or
credential-selection mechanism, while preserving the Gemini provider and
credential_name values. Ensure importing this template remaps the placeholder to
the user-configured Gemini credential before execution.
In `@kits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_system_0.md`:
- Line 18: Configure markdownlint to ignore MD041 for
kits/scale-pilot/prompts/**/*.md, preserving these files as direct LLM
instructions without adding headings. Ensure exactly one trailing newline in
kits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_system_0.md (18-18),
kits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_user_1.md (2-2),
kits/scale-pilot/prompts/scale-pilot_llmnode-741_system_0.md (11-11), and
kits/scale-pilot/prompts/scale-pilot_llmnode-741_user_1.md (3-3) to satisfy
MD047.
- Around line 12-18: Update the output schema for InstructorLLMNode_493 to
include both missing_information and has_missing_information in its required
fields list. Preserve their existing definitions and ensure downstream condition
and missing-information prompt logic receives both fields consistently.
In `@kits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_user_1.md`:
- Line 2: In
kits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_user_1.md:2, wrap
the injected chatMessage in explicit delimiters and instruct the parser to treat
the delimited content solely as user data, not instructions. In
kits/scale-pilot/prompts/scale-pilot_llmnode-741_user_1.md:2, restrict
missing_information to the permitted schema strings and serialize the list
before inserting it into the prompt.
In `@kits/scale-pilot/prompts/scale-pilot_llmnode-558_system_2.md`:
- Around line 142-148: The prompt’s internal Resilience field is not included in
the evaluated quality attributes, leaving report generation without a guaranteed
assessment. Update the quality-attribute list in the prompt to include
Resilience and apply the existing state, engineering reasoning, and confidence
requirements, preserving the report schema’s expected Resilience field.
In `@kits/scale-pilot/prompts/scale-pilot_llmnode-558_user_4.md`:
- Around line 1-18: Update the prompt using the parsed architecture fields from
InstructorLLMNode_493 to wrap all interpolated values in explicit data
delimiters, and add an instruction that any instructions within those field
values must be ignored and treated only as data. Preserve the existing report
requirements and field structure while ensuring the entire payload is clearly
separated from authoritative prompt instructions.
🪄 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: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: e38c8b5f-b5fc-4ea8-8367-41e5a4c89e23
📒 Files selected for processing (18)
kits/scale-pilot/.gitignorekits/scale-pilot/README.mdkits/scale-pilot/agent.mdkits/scale-pilot/constitutions/default.mdkits/scale-pilot/flows/scale-pilot.tskits/scale-pilot/lamatic.config.tskits/scale-pilot/model-configs/scale-pilot_instructor-llmnode-493_generative-model-name.tskits/scale-pilot/model-configs/scale-pilot_llmnode-558_generative-model-name.tskits/scale-pilot/model-configs/scale-pilot_llmnode-741_generative-model-name.tskits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_system_0.mdkits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_user_1.mdkits/scale-pilot/prompts/scale-pilot_llmnode-558_system_0.mdkits/scale-pilot/prompts/scale-pilot_llmnode-558_system_1.mdkits/scale-pilot/prompts/scale-pilot_llmnode-558_system_2.mdkits/scale-pilot/prompts/scale-pilot_llmnode-558_system_3.mdkits/scale-pilot/prompts/scale-pilot_llmnode-558_user_4.mdkits/scale-pilot/prompts/scale-pilot_llmnode-741_system_0.mdkits/scale-pilot/prompts/scale-pilot_llmnode-741_user_1.md
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
kits/scale-pilot/prompts/scale-pilot_llmnode-558_user_4.md (1)
19-19: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick winMission control: close the architecture-data boundary correctly.
Line 3 opens
<architecture_data>, but Line 19 closes</achitecture_data>with a missingr. Correct the delimiter before relying on it to isolate interpolated, untrusted architecture data.Suggested correction
-</achitecture_data> +</architecture_data>🤖 Prompt for 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. In `@kits/scale-pilot/prompts/scale-pilot_llmnode-558_user_4.md` at line 19, Correct the closing XML-style delimiter in the architecture-data prompt from the misspelled achitecture_data tag to architecture_data, matching the opening delimiter so interpolated architecture data is properly bounded.kits/scale-pilot/flows/scale-pilot.ts (1)
125-125: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winMission critical: make the branch predicate mandatory.
The embedded
InstructorLLMNode_493schema does not requirehas_missing_informationormissing_information, yetconditionNode_766depends onhas_missing_information. A partial{}response can therefore take the report path with incomplete data. Add an object-levelrequiredlist and regenerate the Studio export.Suggested schema correction
- } + }, + "required": [ + "missing_information", + "has_missing_information" + ] }🤖 Prompt for 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. In `@kits/scale-pilot/flows/scale-pilot.ts` at line 125, Update the embedded schema for InstructorLLMNode_493 to add an object-level required list containing has_missing_information and missing_information, so conditionNode_766 always receives the fields it evaluates. Regenerate the Studio export while preserving the existing property definitions.
🤖 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 `@kits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_user_1.md`:
- Around line 1-4: Update the prompt surrounding the user-controlled
{{triggerNode_1.output.chatMessage}} in the extraction instruction to explicitly
classify its contents as untrusted data, not instructions. Tell the extractor to
ignore any commands or instruction-like text inside the user message and follow
only the defined JSON schema and prompt requirements.
---
Duplicate comments:
In `@kits/scale-pilot/flows/scale-pilot.ts`:
- Line 125: Update the embedded schema for InstructorLLMNode_493 to add an
object-level required list containing has_missing_information and
missing_information, so conditionNode_766 always receives the fields it
evaluates. Regenerate the Studio export while preserving the existing property
definitions.
In `@kits/scale-pilot/prompts/scale-pilot_llmnode-558_user_4.md`:
- Line 19: Correct the closing XML-style delimiter in the architecture-data
prompt from the misspelled achitecture_data tag to architecture_data, matching
the opening delimiter so interpolated architecture data is properly bounded.
🪄 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: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 06f4f8c6-f06f-460c-8ab2-09b427dacec2
📒 Files selected for processing (4)
kits/scale-pilot/flows/scale-pilot.tskits/scale-pilot/prompts/scale-pilot_instructor-llmnode-493_user_1.mdkits/scale-pilot/prompts/scale-pilot_llmnode-558_system_2.mdkits/scale-pilot/prompts/scale-pilot_llmnode-558_user_4.md
PR Checklist
1. Select Contribution Type
kits/<name>/+apps/)kits/<name>/)kits/<name>/)2. General Requirements
kebab-caseand matches the flow IDREADME.md(purpose, setup, usage)3. File Structure
lamatic.config.tspresent with valid metadata (name,description,type,author,tags,steps,links)agent.mdpresentREADME.mdpresentflows/<flow-name>.tsexists for every step inlamatic.config.tsconstitutions/default.mdpresent@referencepaths resolve correctly (prompts/,model-configs/,constitutions/).env.exampleincluded (Bundles/Kits only)apps/directory included (Kits only)4. Validation
feat:formatkits/scale-pilot/kit (kebab-case) including:kits/scale-pilot/.gitignore(Lamatic artifacts,node_modules,.env/.env.local)kits/scale-pilot/README.md(ScalePilot workflow overview, included files, features, setup/usage/deploy/test, example I/O, use cases)kits/scale-pilot/agent.md(end-to-end agent documentation: chat trigger → JSON parsing → missing-info check → follow-ups vs report)kits/scale-pilot/constitutions/default.md(assistant identity, safety rules, PII/data-handling guidance, tone guidance)kits/scale-pilot/lamatic.config.ts(template metadata + requiredscale-pilotstep)kits/scale-pilot/flows/scale-pilot.ts(Lamatic flow definition)kits/scale-pilot/model-configs/:scale-pilot_instructor-llmnode-493_generative-model-name.tsscale-pilot_llmnode-558_generative-model-name.tsscale-pilot_llmnode-741_generative-model-name.tskits/scale-pilot/prompts/:scale-pilot_instructor-llmnode-493_system_0.mdscale-pilot_instructor-llmnode-493_user_1.mdscale-pilot_llmnode-558_system_0.mdscale-pilot_llmnode-558_system_1.mdscale-pilot_llmnode-558_system_2.mdscale-pilot_llmnode-558_system_3.mdscale-pilot_llmnode-558_user_4.mdscale-pilot_llmnode-741_system_0.mdscale-pilot_llmnode-741_user_1.mdkits/scale-pilot/flows/scale-pilot.ts):has_missing_information+missing_information).