Skip to content

Commit 027888a

Browse files
authored
Merge PR #474: Activity track tier/risk changes
Activity: track tier/risk changes
2 parents 960660f + d8dc059 commit 027888a

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

client/activity-feed.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,18 @@ class ActivityFeedPanel {
301301
if (kind === 'git.pull') return `Git pull (${data.ok ? 'ok' : 'failed'})`;
302302
if (kind === 'pr.merge') return `PR merge ${data.ok ? 'ok' : 'failed'} (${data.repo || 'repo'} #${data.prNumber || '?'})`;
303303
if (kind === 'pr.review') return `PR review ${data.ok ? 'ok' : 'failed'} (${data.repo || 'repo'} #${data.prNumber || '?'})`;
304+
if (kind === 'task-record.updated') {
305+
const id = data.id || 'record';
306+
const ch = data.changes && typeof data.changes === 'object' ? data.changes : {};
307+
const tierTo = ch.tier?.to ?? null;
308+
const riskTo = ch.risk?.to ?? null;
309+
const doneTo = ch.doneAt?.to ?? null;
310+
const parts = [];
311+
if (tierTo) parts.push(`T${tierTo}`);
312+
if (riskTo) parts.push(`risk:${riskTo}`);
313+
if (doneTo) parts.push('done');
314+
return `Task record updated (${id})${parts.length ? ` • ${parts.join(' • ')}` : ''}`;
315+
}
304316
if (kind.startsWith('tests.')) return `${kind} (${data.ok ? 'ok' : 'running'})`;
305317
if (kind.startsWith('agent.start')) return `Start agent (${data.agent || 'agent'}) for ${data.sessionId || 'session'}`;
306318
if (kind.startsWith('session.')) return `${kind} (${data.sessionId || ''})`.trim();

server/index.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3416,7 +3416,24 @@ app.get('/api/process/task-records/:id', (req, res) => {
34163416
app.put('/api/process/task-records/:id', express.json(), async (req, res) => {
34173417
try {
34183418
const id = req.params.id;
3419+
const before = taskRecordService.get(id) || null;
34193420
const record = await taskRecordService.upsert(id, req.body || {});
3421+
try {
3422+
const keys = ['tier', 'risk', 'pFail', 'doneAt', 'reviewedAt', 'reviewOutcome', 'claimedAt', 'claimedBy'];
3423+
const changes = {};
3424+
for (const k of keys) {
3425+
const from = before?.[k] ?? null;
3426+
const to = record?.[k] ?? null;
3427+
if (from !== to) {
3428+
changes[k] = { from, to };
3429+
}
3430+
}
3431+
if (Object.keys(changes).length > 0) {
3432+
activityFeed.track('task-record.updated', { id, changes });
3433+
}
3434+
} catch {
3435+
// ignore
3436+
}
34203437
res.json({ id, record });
34213438
} catch (error) {
34223439
logger.error('Failed to upsert task record', { error: error.message, stack: error.stack });

0 commit comments

Comments
 (0)