@infinitedusky/indusk-mcp 1.24.1 → 1.24.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -125,6 +125,7 @@ export function runEvaluatorBackground(opts) {
|
|
|
125
125
|
scorecardText = extracted;
|
|
126
126
|
}
|
|
127
127
|
const scorecard = JSON.parse(scorecardText.trim());
|
|
128
|
+
scorecard.timestamp = new Date().toISOString();
|
|
128
129
|
if (usage)
|
|
129
130
|
scorecard.usage = usage;
|
|
130
131
|
scorecard.telemetryPosted = false;
|
|
@@ -245,6 +246,7 @@ async function runEvaluatorSyncInner(opts, projectGroup) {
|
|
|
245
246
|
scorecardText = extracted;
|
|
246
247
|
}
|
|
247
248
|
const scorecard = JSON.parse(scorecardText.trim());
|
|
249
|
+
scorecard.timestamp = new Date().toISOString();
|
|
248
250
|
if (syncUsage)
|
|
249
251
|
scorecard.usage = syncUsage;
|
|
250
252
|
scorecard.telemetryPosted = false;
|
|
@@ -242,6 +242,11 @@ Output ONLY the JSON scorecard as before — no commentary.`;
|
|
|
242
242
|
return out;
|
|
243
243
|
});
|
|
244
244
|
const scorecard = JSON.parse(parsed.scorecardText.trim());
|
|
245
|
+
// Override the model-supplied timestamp with actual completion time.
|
|
246
|
+
// The model doesn't know the real current time and tends to round to
|
|
247
|
+
// 5-minute marks (e.g. 18:25:00). Use Date.now() so timestamps are
|
|
248
|
+
// accurate to the second.
|
|
249
|
+
scorecard.timestamp = new Date().toISOString();
|
|
245
250
|
if (parsed.usage)
|
|
246
251
|
scorecard.usage = parsed.usage;
|
|
247
252
|
scorecard.telemetryPosted = false;
|
package/package.json
CHANGED
package/skills/work.md
CHANGED
|
@@ -276,12 +276,17 @@ Skip silently if `mcp__indusk__highlight` is unavailable — highlights are best
|
|
|
276
276
|
|
|
277
277
|
## Commits (jj)
|
|
278
278
|
|
|
279
|
-
Use the **describe-then-do** workflow from the jj skill
|
|
279
|
+
Use the **describe-then-do** workflow from the jj skill. The order is load-bearing — never reverse it.
|
|
280
280
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
281
|
+
**For every checklist item, in this exact order:**
|
|
282
|
+
|
|
283
|
+
1. **`jj new`** — start a fresh empty commit. Do this BEFORE you touch any file.
|
|
284
|
+
2. **`jj describe -m "..."`** — write the commit message describing what you're ABOUT to do. The description names the intent in present/future tense ("rename foo to bar") not past tense ("renamed foo to bar").
|
|
285
|
+
3. **Do the work** — edit files, run tools, accumulate changes in `@` (the current commit).
|
|
286
|
+
4. **Check the item off** in the impl.md.
|
|
287
|
+
5. **Repeat** for the next item — back to step 1.
|
|
288
|
+
|
|
289
|
+
**❌ Anti-pattern: describe-after-do.** Doing the work first and then describing what you did breaks two things: (a) the eval agent fires on `jj describe`, so the description is what it scores against — late descriptions mean the agent scores work that's already done without intent context; (b) the working copy IS the current commit in jj, so any uncommitted state automatically gets attributed to whatever the commit description currently says, even if that's the previous unit's description. Always: new → describe → work, in that order.
|
|
285
290
|
|
|
286
291
|
**Default: one commit per checklist item.** Each impl checklist item is a logical unit of work — give it its own commit. This keeps history granular, makes blame and bisect useful, avoids the end-of-phase `jj split` chore, and lets the eval agent score each unit while context is fresh.
|
|
287
292
|
|