codeloop-mcp-server 0.1.51 → 0.1.53
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.
- package/dist/auth/critical_floors.d.ts.map +1 -1
- package/dist/auth/critical_floors.js +8 -0
- package/dist/auth/critical_floors.js.map +1 -1
- package/dist/auth/update_check.d.ts.map +1 -1
- package/dist/auth/update_check.js +19 -1
- package/dist/auth/update_check.js.map +1 -1
- package/dist/evidence/anti_rationalisation.d.ts +34 -0
- package/dist/evidence/anti_rationalisation.d.ts.map +1 -0
- package/dist/evidence/anti_rationalisation.js +85 -0
- package/dist/evidence/anti_rationalisation.js.map +1 -0
- package/dist/evidence/change_coverage.d.ts +59 -0
- package/dist/evidence/change_coverage.d.ts.map +1 -0
- package/dist/evidence/change_coverage.js +422 -0
- package/dist/evidence/change_coverage.js.map +1 -0
- package/dist/evidence/change_manifest.d.ts +94 -0
- package/dist/evidence/change_manifest.d.ts.map +1 -0
- package/dist/evidence/change_manifest.js +830 -0
- package/dist/evidence/change_manifest.js.map +1 -0
- package/dist/evidence/evidence_freshness.d.ts +39 -0
- package/dist/evidence/evidence_freshness.d.ts.map +1 -0
- package/dist/evidence/evidence_freshness.js +231 -0
- package/dist/evidence/evidence_freshness.js.map +1 -0
- package/dist/evidence/screenshot_diff.d.ts.map +1 -1
- package/dist/evidence/screenshot_diff.js +30 -12
- package/dist/evidence/screenshot_diff.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -3
- package/dist/index.js.map +1 -1
- package/dist/runners/empty_state_detector.d.ts +33 -0
- package/dist/runners/empty_state_detector.d.ts.map +1 -0
- package/dist/runners/empty_state_detector.js +304 -0
- package/dist/runners/empty_state_detector.js.map +1 -0
- package/dist/tools/c7_slug.d.ts +14 -0
- package/dist/tools/c7_slug.d.ts.map +1 -0
- package/dist/tools/c7_slug.js +21 -0
- package/dist/tools/c7_slug.js.map +1 -0
- package/dist/tools/design_compare.d.ts.map +1 -1
- package/dist/tools/design_compare.js +22 -3
- package/dist/tools/design_compare.js.map +1 -1
- package/dist/tools/gate_check.d.ts.map +1 -1
- package/dist/tools/gate_check.js +159 -14
- package/dist/tools/gate_check.js.map +1 -1
- package/dist/tools/plan_change_journey.d.ts +41 -0
- package/dist/tools/plan_change_journey.d.ts.map +1 -0
- package/dist/tools/plan_change_journey.js +131 -0
- package/dist/tools/plan_change_journey.js.map +1 -0
- package/dist/tools/verify.d.ts.map +1 -1
- package/dist/tools/verify.js +113 -1
- package/dist/tools/verify.js.map +1 -1
- package/package.json +2 -2
package/dist/tools/gate_check.js
CHANGED
|
@@ -6,6 +6,8 @@ import { detectPlatform } from "./verify.js";
|
|
|
6
6
|
import { loadDesignCompareSummary, shouldEnforceDesignCompare } from "./design_compare.js";
|
|
7
7
|
import { incrementGateAttempts, resetLoopState, snapshotLoopStateToRun, shouldEscalateGate, escalationReason, } from "../evidence/loop_state.js";
|
|
8
8
|
import { collectInteractionCoverage, detectJourneyArcs, evaluateDepth, evaluateUserJourney, resolveDepthMinimums, } from "../evidence/interaction_coverage.js";
|
|
9
|
+
import { evaluateChangeCoverage, resolveChangeCoverageConfig, } from "../evidence/change_coverage.js";
|
|
10
|
+
import { formatStalenessSuffix, isEvidenceStale, isRunEvidenceStale, runEvidenceMtime, } from "../evidence/evidence_freshness.js";
|
|
9
11
|
export async function runGateCheck(input, config, cwd = process.cwd()) {
|
|
10
12
|
const baseDir = getArtifactsBaseDir(cwd);
|
|
11
13
|
const meta = loadRunMeta(input.run_id, baseDir);
|
|
@@ -219,14 +221,25 @@ async function evaluateEvidenceGates(runId, cwd, config) {
|
|
|
219
221
|
// We accept the closest recording run within the last hour and surface
|
|
220
222
|
// which run it came from so the trail is auditable.
|
|
221
223
|
const videoEvidence = findVideoEvidence(runId, baseDir, runDir);
|
|
224
|
+
// 0.1.53 D2 — Evidence freshness. When a video is found in a sibling
|
|
225
|
+
// run, anchor the freshness check against the latest source-file mtime,
|
|
226
|
+
// not wall-clock now. Photometry-DB E2E #10 shipped at 100% confidence
|
|
227
|
+
// with a 28-min-old sibling-run video that pre-dated the source edits;
|
|
228
|
+
// this rejects exactly that case.
|
|
229
|
+
let videoFreshness = null;
|
|
230
|
+
if (videoEvidence.count > 0 && videoEvidence.sourceRunId !== runId) {
|
|
231
|
+
videoFreshness = isRunEvidenceStale(cwd, videoEvidence.sourceRunId);
|
|
232
|
+
}
|
|
233
|
+
const videoStale = videoFreshness?.stale ?? false;
|
|
234
|
+
const videoStaleSuffix = videoFreshness ? formatStalenessSuffix(videoFreshness) : "";
|
|
222
235
|
results.push({
|
|
223
236
|
gate: videoGate,
|
|
224
|
-
passed: videoEvidence.count > 0,
|
|
237
|
+
passed: videoEvidence.count > 0 && !videoStale,
|
|
225
238
|
reason: videoEvidence.count === 0
|
|
226
239
|
? "No video recordings found in this run or any sibling run from the last hour. Call codeloop_start_recording → codeloop_interact → codeloop_stop_recording before gate check."
|
|
227
240
|
: videoEvidence.sourceRunId === runId
|
|
228
241
|
? `${videoEvidence.count} video(s) recorded`
|
|
229
|
-
: `${videoEvidence.count} video(s) recorded in sibling run ${videoEvidence.sourceRunId} (${videoEvidence.ageMinutes} min before this gate run)`,
|
|
242
|
+
: `${videoEvidence.count} video(s) recorded in sibling run ${videoEvidence.sourceRunId} (${videoEvidence.ageMinutes} min before this gate run).${videoStaleSuffix}`,
|
|
230
243
|
});
|
|
231
244
|
const replayGate = {
|
|
232
245
|
name: "interaction_replay_evidence",
|
|
@@ -240,11 +253,21 @@ async function evaluateEvidenceGates(runId, cwd, config) {
|
|
|
240
253
|
};
|
|
241
254
|
const replayDir = join(baseDir, "replay_frames");
|
|
242
255
|
const hasReplayFrames = existsSync(replayDir) && readdirSync(replayDir).length > 0;
|
|
256
|
+
// 0.1.53 D2 — Replay frames can be stale too. baseDir here is the
|
|
257
|
+
// GATE run dir, so frames inside it are scoped correctly; we only
|
|
258
|
+
// need to anchor against source-mtime to catch the case where the
|
|
259
|
+
// gate run was started, frames extracted from a stale recording,
|
|
260
|
+
// and then code edited in the same gate run.
|
|
261
|
+
const replayMtime = hasReplayFrames ? runEvidenceMtime(runDir) : 0;
|
|
262
|
+
const replayFreshness = isEvidenceStale(cwd, replayMtime);
|
|
263
|
+
const replayPassedFresh = hasReplayFrames && !replayFreshness.stale;
|
|
243
264
|
results.push({
|
|
244
265
|
gate: replayGate,
|
|
245
|
-
passed:
|
|
266
|
+
passed: replayPassedFresh,
|
|
246
267
|
reason: hasReplayFrames
|
|
247
|
-
?
|
|
268
|
+
? replayFreshness.stale
|
|
269
|
+
? `Interaction replay frames exist.${formatStalenessSuffix(replayFreshness)}`
|
|
270
|
+
: "Interaction replay frames exist"
|
|
248
271
|
: "No interaction replay performed. Call codeloop_interaction_replay after stopping the recording.",
|
|
249
272
|
});
|
|
250
273
|
// Deep interaction coverage gate — closes the loophole where the replay
|
|
@@ -289,7 +312,23 @@ async function evaluateEvidenceGates(runId, cwd, config) {
|
|
|
289
312
|
}
|
|
290
313
|
catch { /* best-effort */ }
|
|
291
314
|
const verdict = evaluateDepth(coverage, minimums, discoverySnapshot);
|
|
292
|
-
|
|
315
|
+
// 0.1.53 D2 — Evidence freshness for interaction logs. The base
|
|
316
|
+
// verdict aggregates EVERY interaction_log.jsonl across EVERY run in
|
|
317
|
+
// the project's artifacts directory, so once an agent has historically
|
|
318
|
+
// exercised the app deeply enough the gate is permanently green even
|
|
319
|
+
// if every subsequent code change goes untested. Anchor against the
|
|
320
|
+
// latest contributing-run mtime: if source code changed after the
|
|
321
|
+
// newest interaction log was written, the gate must reject.
|
|
322
|
+
const newestLogMtime = newestInteractionLogMtime(cwd);
|
|
323
|
+
const depthFreshness = isEvidenceStale(cwd, newestLogMtime);
|
|
324
|
+
const depthPassedFresh = verdict.passed && !depthFreshness.stale;
|
|
325
|
+
results.push({
|
|
326
|
+
gate: depthGate,
|
|
327
|
+
passed: depthPassedFresh,
|
|
328
|
+
reason: depthFreshness.stale
|
|
329
|
+
? `${verdict.reason}${formatStalenessSuffix(depthFreshness)}`
|
|
330
|
+
: verdict.reason,
|
|
331
|
+
});
|
|
293
332
|
// User journey arc gate — enforces a coherent CRUD-shaped flow.
|
|
294
333
|
// Closes the loophole where input=20/commit=3 passes the bucket gate
|
|
295
334
|
// because the agent typed random text and clicked Save thrice, without
|
|
@@ -324,7 +363,17 @@ async function evaluateEvidenceGates(runId, cwd, config) {
|
|
|
324
363
|
catch { /* best-effort */ }
|
|
325
364
|
const arcs = detectJourneyArcs(cwd);
|
|
326
365
|
const journeyVerdict = evaluateUserJourney(arcs, journeyDiscovery);
|
|
327
|
-
|
|
366
|
+
// 0.1.53 D2 — Same freshness anchor as depthGate. journeyVerdict mines
|
|
367
|
+
// the same cross-run interaction logs depthGate does, so reuse the
|
|
368
|
+
// already-computed staleness verdict.
|
|
369
|
+
const journeyPassedFresh = journeyVerdict.passed && !depthFreshness.stale;
|
|
370
|
+
results.push({
|
|
371
|
+
gate: journeyGate,
|
|
372
|
+
passed: journeyPassedFresh,
|
|
373
|
+
reason: depthFreshness.stale
|
|
374
|
+
? `${journeyVerdict.reason}${formatStalenessSuffix(depthFreshness)}`
|
|
375
|
+
: journeyVerdict.reason,
|
|
376
|
+
});
|
|
328
377
|
// Design compare evidence gate — only when references exist (designs/
|
|
329
378
|
// or non-empty .codeloop/figma.json) AND the user hasn't explicitly
|
|
330
379
|
// opted out via config.design_compare.enabled=false. When no
|
|
@@ -368,9 +417,25 @@ async function evaluateEvidenceGates(runId, cwd, config) {
|
|
|
368
417
|
// `skipped: true` flag on per_screen entries (0.1.48+).
|
|
369
418
|
const skippedScreens = summary.per_screen.filter((p) => p.skipped);
|
|
370
419
|
const scoredScreens = summary.per_screen.filter((p) => !p.skipped);
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
420
|
+
// 0.1.53 D5 — distinguish "reference PNG genuinely corrupt" from
|
|
421
|
+
// "no actual screenshot captured for this reference". Photometry-DB
|
|
422
|
+
// E2E #10 sent the agent on a 30-min PowerShell System.Drawing
|
|
423
|
+
// re-encode hunt for 18 PNGs when the actual root cause for 15/18
|
|
424
|
+
// was just "you haven't captured these screens yet".
|
|
425
|
+
const corruptSkipped = skippedScreens.filter((p) => /corrupt or truncated PNG/i.test(p.reason ?? ""));
|
|
426
|
+
const missingActualSkipped = skippedScreens.filter((p) => /no strong reference|no screenshot/i.test(p.reason ?? ""));
|
|
427
|
+
const otherSkipped = skippedScreens.filter((p) => !corruptSkipped.includes(p) && !missingActualSkipped.includes(p));
|
|
428
|
+
const skipNoteParts = [];
|
|
429
|
+
if (missingActualSkipped.length > 0) {
|
|
430
|
+
skipNoteParts.push(`${missingActualSkipped.length} reference(s) skipped — no matching screenshot captured (call codeloop_capture_screenshot for: ${missingActualSkipped.slice(0, 3).map((p) => p.screen_name).join(", ")}${missingActualSkipped.length > 3 ? "…" : ""})`);
|
|
431
|
+
}
|
|
432
|
+
if (corruptSkipped.length > 0) {
|
|
433
|
+
skipNoteParts.push(`${corruptSkipped.length} reference(s) skipped — PNG file genuinely corrupt after IEND-trim + checkCRC=false fallbacks (re-export or delete: ${corruptSkipped.slice(0, 3).map((p) => p.screen_name).join(", ")}${corruptSkipped.length > 3 ? "…" : ""})`);
|
|
434
|
+
}
|
|
435
|
+
if (otherSkipped.length > 0) {
|
|
436
|
+
skipNoteParts.push(`${otherSkipped.length} other skipped: ${otherSkipped.slice(0, 3).map((p) => p.screen_name).join(", ")}${otherSkipped.length > 3 ? "…" : ""}`);
|
|
437
|
+
}
|
|
438
|
+
const skipNote = skipNoteParts.length > 0 ? ` (${skipNoteParts.join("; ")})` : "";
|
|
374
439
|
if (failed.length === 0 && min >= threshold && scoredScreens.length > 0) {
|
|
375
440
|
results.push({
|
|
376
441
|
gate: designGate,
|
|
@@ -379,14 +444,21 @@ async function evaluateEvidenceGates(runId, cwd, config) {
|
|
|
379
444
|
});
|
|
380
445
|
}
|
|
381
446
|
else if (scoredScreens.length === 0 && skippedScreens.length > 0) {
|
|
382
|
-
// EVERY
|
|
383
|
-
//
|
|
384
|
-
//
|
|
385
|
-
//
|
|
447
|
+
// EVERY reference was skipped — but for very different reasons
|
|
448
|
+
// depending on whether the agent never captured the screens
|
|
449
|
+
// (most common — fix is codeloop_capture_screenshot) or the
|
|
450
|
+
// PNG files themselves are corrupt (rare — fix is re-export
|
|
451
|
+
// from the design tool). 0.1.53 D5 routes the next_step
|
|
452
|
+
// accordingly so the agent doesn't go on a re-encode hunt
|
|
453
|
+
// when the real fix is just "capture these screens".
|
|
454
|
+
const reasonHead = missingActualSkipped.length >= corruptSkipped.length
|
|
455
|
+
? `${skippedScreens.length} design reference(s) have no matching captured screenshot. ` +
|
|
456
|
+
`Call codeloop_capture_screenshot for each listed name${corruptSkipped.length > 0 ? ` (and re-export the ${corruptSkipped.length} genuinely-corrupt PNG(s) flagged below)` : ""}, then re-run codeloop_design_compare.`
|
|
457
|
+
: `All ${skippedScreens.length} design reference PNG(s) failed to decode after IEND-trim + checkCRC=false fallbacks. The files are genuinely corrupt — re-export from the design tool, or delete them, then re-run codeloop_design_compare.`;
|
|
386
458
|
results.push({
|
|
387
459
|
gate: designGate,
|
|
388
460
|
passed: false,
|
|
389
|
-
reason:
|
|
461
|
+
reason: `${reasonHead}${skipNote}`,
|
|
390
462
|
});
|
|
391
463
|
}
|
|
392
464
|
else {
|
|
@@ -451,6 +523,33 @@ async function evaluateEvidenceGates(runId, cwd, config) {
|
|
|
451
523
|
}
|
|
452
524
|
}
|
|
453
525
|
}
|
|
526
|
+
// 0.1.52 C3 — change_coverage_evidence gate. Cross-references the
|
|
527
|
+
// change manifest produced by C1 against the interaction log +
|
|
528
|
+
// screenshots + replay frames + build/runtime logs. Default
|
|
529
|
+
// threshold is 1.0 (HARD 100%); per-project lowering supported via
|
|
530
|
+
// gates.change_coverage_evidence.threshold in .codeloop/config.json.
|
|
531
|
+
// The gate is added unconditionally — when no manifest is available
|
|
532
|
+
// it passes trivially, so legacy projects that haven't re-verified
|
|
533
|
+
// since 0.1.52 are not punished.
|
|
534
|
+
const changeCoverageGate = {
|
|
535
|
+
name: "change_coverage_evidence",
|
|
536
|
+
description: "Every feature-shaped change in the diff must be exercised by an interaction or screenshot or migration verification.",
|
|
537
|
+
rule: "change_manifest entries exercised >= threshold (default 1.0)",
|
|
538
|
+
input_artifacts: ["change_manifest.json", "logs/interaction_log.jsonl"],
|
|
539
|
+
pass_threshold: true,
|
|
540
|
+
severity_if_failed: "blocker",
|
|
541
|
+
retry_allowance: 5,
|
|
542
|
+
escalation_condition: "Manifest entries left unexercised after 5 attempts",
|
|
543
|
+
};
|
|
544
|
+
const changeCoverageConfig = resolveChangeCoverageConfig(config?.gates?.change_coverage_evidence);
|
|
545
|
+
const changeVerdict = evaluateChangeCoverage(cwd, runId, changeCoverageConfig);
|
|
546
|
+
results.push({
|
|
547
|
+
gate: changeCoverageGate,
|
|
548
|
+
passed: changeVerdict.passed,
|
|
549
|
+
reason: changeVerdict.passed
|
|
550
|
+
? changeVerdict.reason
|
|
551
|
+
: `${changeVerdict.reason}\n${changeVerdict.next_step}`,
|
|
552
|
+
});
|
|
454
553
|
return results;
|
|
455
554
|
}
|
|
456
555
|
function evaluateGate(gate, meta, config, specContent, acceptanceContent, cwd) {
|
|
@@ -703,6 +802,52 @@ function findVideoEvidence(gateRunId, baseDir, gateRunDir) {
|
|
|
703
802
|
ageMinutes: Math.round((now - best.mtimeMs) / 60_000),
|
|
704
803
|
};
|
|
705
804
|
}
|
|
805
|
+
/**
|
|
806
|
+
* 0.1.53 D2 — Walk every run under artifacts/runs/ and return the newest
|
|
807
|
+
* mtime among all interaction_log.jsonl files (and their containing log
|
|
808
|
+
* directories, since Windows doesn't always update file mtime when the
|
|
809
|
+
* file is appended to). 0 means no logs exist anywhere; the freshness
|
|
810
|
+
* check treats 0 as "no evidence to grade" and skips staleness so we
|
|
811
|
+
* don't double-fire alongside the parent gate's "no logs" failure mode.
|
|
812
|
+
*/
|
|
813
|
+
function newestInteractionLogMtime(cwd) {
|
|
814
|
+
const baseDir = getArtifactsBaseDir(cwd);
|
|
815
|
+
if (!existsSync(baseDir))
|
|
816
|
+
return 0;
|
|
817
|
+
let entries;
|
|
818
|
+
try {
|
|
819
|
+
entries = readdirSync(baseDir);
|
|
820
|
+
}
|
|
821
|
+
catch {
|
|
822
|
+
return 0;
|
|
823
|
+
}
|
|
824
|
+
let max = 0;
|
|
825
|
+
for (const e of entries) {
|
|
826
|
+
const logsDir = join(baseDir, e, "logs");
|
|
827
|
+
if (!existsSync(logsDir))
|
|
828
|
+
continue;
|
|
829
|
+
let logFiles;
|
|
830
|
+
try {
|
|
831
|
+
logFiles = readdirSync(logsDir).filter((f) => f === "interaction_log.jsonl" || (f.startsWith("interaction_log") && f.endsWith(".jsonl")));
|
|
832
|
+
}
|
|
833
|
+
catch {
|
|
834
|
+
continue;
|
|
835
|
+
}
|
|
836
|
+
if (logFiles.length === 0)
|
|
837
|
+
continue;
|
|
838
|
+
for (const f of logFiles) {
|
|
839
|
+
try {
|
|
840
|
+
const ms = statSync(join(logsDir, f)).mtimeMs;
|
|
841
|
+
if (ms > max)
|
|
842
|
+
max = ms;
|
|
843
|
+
}
|
|
844
|
+
catch {
|
|
845
|
+
/* ignore */
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
return max;
|
|
850
|
+
}
|
|
706
851
|
function countVideos(dir) {
|
|
707
852
|
if (!existsSync(dir))
|
|
708
853
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate_check.js","sourceRoot":"","sources":["../../src/tools/gate_check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gate_check.js","sourceRoot":"","sources":["../../src/tools/gate_check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type ChangeEntry } from "../evidence/change_manifest.js";
|
|
2
|
+
/**
|
|
3
|
+
* 0.1.52 C2 — codeloop_plan_change_journey.
|
|
4
|
+
*
|
|
5
|
+
* Reads the most recent change manifest (produced by C1 inside
|
|
6
|
+
* codeloop_verify) and emits a structured interaction script the
|
|
7
|
+
* agent must drive to satisfy the C3 change_coverage_evidence gate.
|
|
8
|
+
*
|
|
9
|
+
* Where codeloop_plan_user_journey enumerates entity-level CRUD arcs
|
|
10
|
+
* (Add Product → fill → Save → verify → edit → delete) for the WHOLE
|
|
11
|
+
* app, plan_change_journey is narrower: it only enumerates steps for
|
|
12
|
+
* the deltas the agent JUST shipped. The two work together — an
|
|
13
|
+
* agent should call plan_user_journey for the broad CRUD coverage
|
|
14
|
+
* and plan_change_journey for the per-change verification.
|
|
15
|
+
*
|
|
16
|
+
* Crucial invariant: every step has a `target_change_entry` field
|
|
17
|
+
* carrying the exact display name from manifest. The agent passes
|
|
18
|
+
* this as an arg to codeloop_interact / codeloop_capture_screenshot
|
|
19
|
+
* so the C3 gate can attribute evidence to the correct entry without
|
|
20
|
+
* fuzzy matching.
|
|
21
|
+
*/
|
|
22
|
+
export interface ChangeJourneyStep {
|
|
23
|
+
step_index: number;
|
|
24
|
+
target_change_entry: string;
|
|
25
|
+
entry_kind: ChangeEntry["kind"];
|
|
26
|
+
file: string;
|
|
27
|
+
/** Concrete codeloop_interact / codeloop_capture_screenshot call to make. */
|
|
28
|
+
action: string;
|
|
29
|
+
description: string;
|
|
30
|
+
empty_state_directive?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ChangeJourneyPlan {
|
|
33
|
+
ready: boolean;
|
|
34
|
+
manifest_run_id: string | null;
|
|
35
|
+
total_entries: number;
|
|
36
|
+
steps: ChangeJourneyStep[];
|
|
37
|
+
preamble: string;
|
|
38
|
+
message: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function planChangeJourney(cwd: string, preferredRunId?: string): ChangeJourneyPlan;
|
|
41
|
+
//# sourceMappingURL=plan_change_journey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan_change_journey.d.ts","sourceRoot":"","sources":["../../src/tools/plan_change_journey.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE1H;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAmGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAgDzF"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { loadMostRecentChangeManifest, manifestEntryDisplayName } from "../evidence/change_manifest.js";
|
|
2
|
+
const EMPTY_STATE_PREAMBLE = "[C4 SEED-FIRST DIRECTIVE] If any of the screens you're about to drive show an empty " +
|
|
3
|
+
"DataGrid / list / collection, STOP and seed data BEFORE attempting to exercise the " +
|
|
4
|
+
"change. You can seed by:\n" +
|
|
5
|
+
" (1) following codeloop_plan_user_journey's Create arc to add at least 1 record per " +
|
|
6
|
+
" entity that the changed UI element belongs to, OR\n" +
|
|
7
|
+
" (2) running a setup script that loads a known fixture database (e.g. SeedDb.bat, " +
|
|
8
|
+
" `dotnet ef database update`, `npm run seed`), OR\n" +
|
|
9
|
+
" (3) restoring a pre-populated artifact from artifacts/test_files/ via codeloop_interact " +
|
|
10
|
+
" action='shell'.\n" +
|
|
11
|
+
"Typing into a non-existent row, or clicking a button that the empty-state UI hides, " +
|
|
12
|
+
"is NOT valid evidence — the C3 gate will mark the entry unexercised and continue_fixing.";
|
|
13
|
+
function actionForEntry(entry, idx) {
|
|
14
|
+
const display = manifestEntryDisplayName(entry);
|
|
15
|
+
switch (entry.kind) {
|
|
16
|
+
case "ui_element_added": {
|
|
17
|
+
if (entry.element === "datagrid_column") {
|
|
18
|
+
return {
|
|
19
|
+
action: `codeloop_interact action="click" with description="click ${entry.name} cell row 1" target_change_entry="${display}", ` +
|
|
20
|
+
`then codeloop_interact action="type" text="<realistic value, e.g. PROD-${100 + idx}>" target_change_entry="${display}", ` +
|
|
21
|
+
`then codeloop_interact action="keystroke" key="Tab" to commit the cell, ` +
|
|
22
|
+
`then codeloop_capture_screenshot screen_name="${entry.name.replace(/\s+/g, "-").toLowerCase()}-typed" target_change_entry="${display}".`,
|
|
23
|
+
description: `Exercise the new "${entry.name}" DataGrid column in ${entry.file}. Click into a row's cell, type a realistic value, commit, screenshot.`,
|
|
24
|
+
emptyHint: `If the grid is empty, seed at least 1 row first (see preamble) — typing into a non-existent row produces no UIA event and the C3 gate will not credit this entry.`,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (entry.element === "button") {
|
|
28
|
+
return {
|
|
29
|
+
action: `codeloop_interact action="click" text="${entry.name}" description="exercise new ${entry.name} button" target_change_entry="${display}", ` +
|
|
30
|
+
`then codeloop_capture_screenshot screen_name="after-${entry.name.replace(/\s+/g, "-").toLowerCase()}" target_change_entry="${display}". ` +
|
|
31
|
+
`If the click triggers a modal, ALSO call codeloop_handle_modal before continuing.`,
|
|
32
|
+
description: `Exercise the new "${entry.name}" button in ${entry.file}. Click it, capture the result; handle any modal that opens.`,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (entry.element === "menu_item") {
|
|
36
|
+
return {
|
|
37
|
+
action: `codeloop_interact action="click" description="open the menu containing ${entry.name}" target_change_entry="${display}", ` +
|
|
38
|
+
`then codeloop_interact action="click" text="${entry.name}" description="select ${entry.name}" target_change_entry="${display}", ` +
|
|
39
|
+
`then codeloop_capture_screenshot screen_name="menu-${entry.name.replace(/\s+/g, "-").toLowerCase()}" target_change_entry="${display}".`,
|
|
40
|
+
description: `Exercise the new "${entry.name}" menu item in ${entry.file}.`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// Generic input.
|
|
44
|
+
return {
|
|
45
|
+
action: `codeloop_interact action="click" description="focus ${entry.name} input" target_change_entry="${display}", ` +
|
|
46
|
+
`then codeloop_interact action="type" text="<realistic input>" target_change_entry="${display}", ` +
|
|
47
|
+
`then codeloop_capture_screenshot target_change_entry="${display}".`,
|
|
48
|
+
description: `Exercise the new "${entry.name}" input in ${entry.file}.`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
case "property_added":
|
|
52
|
+
return {
|
|
53
|
+
action: `Locate the UI control bound to ${entry.class}.${entry.name} (typically a textbox / column / toggle whose label resembles "${entry.name}"). ` +
|
|
54
|
+
`Drive codeloop_interact action="click" then "type" / "toggle" / "select_option" against it with description="exercise ${display}" target_change_entry="${display}". ` +
|
|
55
|
+
`Capture a screenshot pinned to this entry.`,
|
|
56
|
+
description: `Exercise the new property ${display} (${entry.file}) via its bound UI control.`,
|
|
57
|
+
};
|
|
58
|
+
case "method_added":
|
|
59
|
+
return {
|
|
60
|
+
action: `(implicit — no direct action required)`,
|
|
61
|
+
description: `${display} is implicit. The C3 gate credits it automatically when the property/column it operates on is exercised.`,
|
|
62
|
+
};
|
|
63
|
+
case "migration_column_added":
|
|
64
|
+
return {
|
|
65
|
+
action: `codeloop_interact action="shell" command="<schema dump that prints ${entry.column}>" description="verify migration ${entry.table}.${entry.column}" target_change_entry="${display}". ` +
|
|
66
|
+
`Examples: \`sqlite3 photometry.db ".schema ${entry.table}"\` for SQLite, ` +
|
|
67
|
+
`\`psql -c "\\\\d ${entry.table}"\` for PostgreSQL, ` +
|
|
68
|
+
`\`dotnet ef migrations script\` for EF Core. ` +
|
|
69
|
+
`The shell stdout MUST contain the column name for C3 to credit this entry.`,
|
|
70
|
+
description: `Verify the new migration column ${display} (${entry.file}) by dumping the live schema.`,
|
|
71
|
+
};
|
|
72
|
+
case "migration_table_added":
|
|
73
|
+
return {
|
|
74
|
+
action: `codeloop_interact action="shell" command="<schema dump that prints table ${entry.table}>" description="verify migration table ${entry.table}" target_change_entry="${display}". ` +
|
|
75
|
+
`Or open a UI screen that loads/persists records from this table.`,
|
|
76
|
+
description: `Verify the new migration table ${display} (${entry.file}).`,
|
|
77
|
+
};
|
|
78
|
+
case "layout_restructure":
|
|
79
|
+
return {
|
|
80
|
+
action: `codeloop_interact action="resize_window" width=1024 height=600 description="exercise restructured layout" target_change_entry="${display}", ` +
|
|
81
|
+
`then codeloop_capture_screenshot screen_name="${entry.file.split("/").pop()?.replace(/\.\w+$/, "") ?? "layout"}-narrow-1024" target_change_entry="${display}". ` +
|
|
82
|
+
`If your platform doesn't support resize_window, capture two screenshots at distinctly different window widths and pin both with target_change_entry.`,
|
|
83
|
+
description: `Exercise the layout restructure (${entry.from} → ${entry.to}) in ${entry.file} by resizing the window and capturing the new layout.`,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
export function planChangeJourney(cwd, preferredRunId) {
|
|
88
|
+
const { manifest, runId } = loadMostRecentChangeManifest(cwd, preferredRunId);
|
|
89
|
+
if (!manifest) {
|
|
90
|
+
return {
|
|
91
|
+
ready: false,
|
|
92
|
+
manifest_run_id: null,
|
|
93
|
+
total_entries: 0,
|
|
94
|
+
steps: [],
|
|
95
|
+
preamble: "",
|
|
96
|
+
message: "No change manifest found. Run codeloop_verify first — it produces artifacts/runs/<run>/change_manifest.json which this tool reads.",
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (manifest.entries.length === 0) {
|
|
100
|
+
return {
|
|
101
|
+
ready: true,
|
|
102
|
+
manifest_run_id: runId,
|
|
103
|
+
total_entries: 0,
|
|
104
|
+
steps: [],
|
|
105
|
+
preamble: "",
|
|
106
|
+
message: "Change manifest is empty — no feature-shaped changes detected since the last verified SHA. The change_coverage_evidence gate is trivially satisfied; proceed with the standard codeloop_plan_user_journey arcs.",
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
const steps = manifest.entries.map((entry, idx) => {
|
|
110
|
+
const { action, description, emptyHint } = actionForEntry(entry, idx);
|
|
111
|
+
return {
|
|
112
|
+
step_index: idx + 1,
|
|
113
|
+
target_change_entry: manifestEntryDisplayName(entry),
|
|
114
|
+
entry_kind: entry.kind,
|
|
115
|
+
file: entry.file,
|
|
116
|
+
action,
|
|
117
|
+
description,
|
|
118
|
+
empty_state_directive: emptyHint,
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
ready: true,
|
|
123
|
+
manifest_run_id: runId,
|
|
124
|
+
total_entries: manifest.entries.length,
|
|
125
|
+
steps,
|
|
126
|
+
preamble: EMPTY_STATE_PREAMBLE,
|
|
127
|
+
message: `Change journey plan ready. ${manifest.entries.length} feature-shaped change(s) must be exercised before ready_for_review. ` +
|
|
128
|
+
`Drive every step in order via codeloop_interact (NOT raw osascript / PowerShell / xdotool); ALWAYS pass the target_change_entry value verbatim so the C3 gate can credit the correct manifest entry.`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=plan_change_journey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan_change_journey.js","sourceRoot":"","sources":["../../src/tools/plan_change_journey.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tools/verify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAsBtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAyElD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC1D;AA0GD,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,cAAc,EACtB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA4avB;AAgSD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoCzC"}
|