MCPcopy Create free account
hub / github.com/EvoMap/evolver / buildPRBody

Function buildPRBody

src/gep/selfPR.js:198–245  ·  view source on GitHub ↗
({ capsule, mutation, gene, blastRadius })

Source from the content-addressed store, hash-verified

196}
197
198function buildPRBody({ capsule, mutation, gene, blastRadius }) {
199 const score = capsule && capsule.outcome ? capsule.outcome.score : 0;
200 const streak = capsule ? capsule.success_streak : 0;
201 const capsuleId = capsule ? capsule.id : 'unknown';
202 const geneId = gene ? gene.id : 'unknown';
203 const signals = capsule && Array.isArray(capsule.trigger)
204 ? capsule.trigger.slice(0, 5).join(', ')
205 : '';
206 const category = mutation ? mutation.category : 'unknown';
207 const risk = mutation ? mutation.risk : 'unknown';
208 const rationale = mutation && mutation.rationale
209 ? redactString(String(mutation.rationale).slice(0, 500))
210 : '';
211 const files = blastRadius && Array.isArray(blastRadius.all_changed_files)
212 ? blastRadius.all_changed_files.map(normalizeRel)
213 : [];
214 const filesStr = files.map(function (f) { return '- `' + f + '`'; }).join('\n');
215
216 return [
217 '## Mutation Summary',
218 '',
219 '- **Category:** ' + category,
220 '- **Risk:** ' + risk,
221 '- **PRM Score:** ' + (typeof score === 'number' ? score.toFixed(3) : String(score)),
222 '- **Success Streak:** ' + streak,
223 '- **Gene:** `' + geneId + '`',
224 '- **Signals:** ' + (signals || 'none'),
225 '- **Capsule:** `' + capsuleId + '`',
226 '',
227 '## Rationale',
228 '',
229 rationale || '_No rationale provided._',
230 '',
231 '## Changed Files',
232 '',
233 filesStr || '_None._',
234 '',
235 '## Blast Radius',
236 '',
237 '- Files: ' + (blastRadius ? blastRadius.files : 0),
238 '- Lines: ' + (blastRadius ? blastRadius.lines : 0),
239 '',
240 '---',
241 '',
242 '_This PR was auto-generated by evolver self-evolution (GEP)._',
243 '_Capsule: ' + capsuleId + ' | Gene: ' + geneId + '_',
244 ].join('\n');
245}
246
247function buildPRTitle(mutation) {
248 const rationale = mutation && mutation.rationale

Callers 1

maybeCreatePRFunction · 0.85

Calls 1

redactStringFunction · 0.85

Tested by

no test coverage detected