@jevitate/cli 0.7.0 → 0.9.0
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/ai-cli.d.ts +3 -1
- package/dist/ai-cli.js +60 -16
- package/dist/ai-cli.js.map +1 -1
- package/dist/approval-provenance.d.ts +136 -0
- package/dist/approval-provenance.js +317 -0
- package/dist/approval-provenance.js.map +1 -0
- package/dist/author-journey-cli.js +4 -2
- package/dist/author-journey-cli.js.map +1 -1
- package/dist/bin.js +30544 -20851
- package/dist/browser-cli.d.ts +10 -0
- package/dist/browser-cli.js +50 -0
- package/dist/browser-cli.js.map +1 -0
- package/dist/build-info.generated.js +2 -2
- package/dist/builtin-analyzers.d.ts +7 -0
- package/dist/builtin-analyzers.js +19 -0
- package/dist/builtin-analyzers.js.map +1 -0
- package/dist/campaign-cli.d.ts +6 -0
- package/dist/campaign-cli.js +9 -4
- package/dist/campaign-cli.js.map +1 -1
- package/dist/catalog-analysis.d.ts +70 -0
- package/dist/catalog-analysis.js +507 -0
- package/dist/catalog-analysis.js.map +1 -0
- package/dist/catalog-api.d.ts +73 -0
- package/dist/catalog-api.js +97 -0
- package/dist/catalog-api.js.map +1 -0
- package/dist/catalog-cli.d.ts +12 -0
- package/dist/catalog-cli.js +224 -0
- package/dist/catalog-cli.js.map +1 -0
- package/dist/catalog-review.d.ts +29 -0
- package/dist/catalog-review.js +290 -0
- package/dist/catalog-review.js.map +1 -0
- package/dist/catalog.d.ts +133 -0
- package/dist/catalog.js +352 -0
- package/dist/catalog.js.map +1 -0
- package/dist/change-context.d.ts +44 -0
- package/dist/change-context.js +203 -0
- package/dist/change-context.js.map +1 -0
- package/dist/check-api.d.ts +1 -1
- package/dist/check-api.js +68 -9
- package/dist/check-api.js.map +1 -1
- package/dist/check-cli.d.ts +5 -1
- package/dist/check-cli.js +64 -10
- package/dist/check-cli.js.map +1 -1
- package/dist/check-execute.d.ts +16 -1
- package/dist/check-execute.js +78 -31
- package/dist/check-execute.js.map +1 -1
- package/dist/check-plan.d.ts +14 -0
- package/dist/check-plan.js +28 -2
- package/dist/check-plan.js.map +1 -1
- package/dist/check-suite.js +6 -3
- package/dist/check-suite.js.map +1 -1
- package/dist/check-types.d.ts +51 -6
- package/dist/check-types.js +8 -0
- package/dist/check-types.js.map +1 -1
- package/dist/cli-output.js +85 -5
- package/dist/cli-output.js.map +1 -1
- package/dist/cli-shared.d.ts +22 -2
- package/dist/cli-shared.js +34 -5
- package/dist/cli-shared.js.map +1 -1
- package/dist/demo-aspect-api.d.ts +15 -0
- package/dist/demo-aspect-api.js +26 -1
- package/dist/demo-aspect-api.js.map +1 -1
- package/dist/demo-aspect-cli.js +64 -5
- package/dist/demo-aspect-cli.js.map +1 -1
- package/dist/exit-codes.d.ts +6 -3
- package/dist/exit-codes.js +13 -3
- package/dist/exit-codes.js.map +1 -1
- package/dist/explore-adversarial.d.ts +3 -1
- package/dist/explore-adversarial.js +4 -4
- package/dist/explore-adversarial.js.map +1 -1
- package/dist/explore-author.js +5 -2
- package/dist/explore-author.js.map +1 -1
- package/dist/explore-cli.js +145 -9
- package/dist/explore-cli.js.map +1 -1
- package/dist/explore-coverage.d.ts +6 -2
- package/dist/explore-coverage.js +7 -6
- package/dist/explore-coverage.js.map +1 -1
- package/dist/explore-feature.d.ts +3 -1
- package/dist/explore-feature.js +5 -5
- package/dist/explore-feature.js.map +1 -1
- package/dist/explore-goal.d.ts +37 -6
- package/dist/explore-goal.js +69 -50
- package/dist/explore-goal.js.map +1 -1
- package/dist/explore-shared.d.ts +12 -7
- package/dist/explore-shared.js +9 -1
- package/dist/explore-shared.js.map +1 -1
- package/dist/findings-filing.d.ts +6 -0
- package/dist/findings-filing.js +15 -1
- package/dist/findings-filing.js.map +1 -1
- package/dist/goal-run-flags.d.ts +2 -0
- package/dist/goal-run-flags.js +8 -1
- package/dist/goal-run-flags.js.map +1 -1
- package/dist/heal-probe-guard.d.ts +9 -0
- package/dist/heal-probe-guard.js +113 -0
- package/dist/heal-probe-guard.js.map +1 -0
- package/dist/host-health-run.d.ts +32 -1
- package/dist/host-health-run.js +38 -1
- package/dist/host-health-run.js.map +1 -1
- package/dist/http-5xx-outcome.d.ts +8 -3
- package/dist/http-5xx-outcome.js +5 -15
- package/dist/http-5xx-outcome.js.map +1 -1
- package/dist/init-cli.d.ts +7 -0
- package/dist/init-cli.js +79 -9
- package/dist/init-cli.js.map +1 -1
- package/dist/init-codeowners.d.ts +39 -0
- package/dist/init-codeowners.js +91 -0
- package/dist/init-codeowners.js.map +1 -0
- package/dist/init-keys.d.ts +3 -1
- package/dist/init-keys.js +20 -8
- package/dist/init-keys.js.map +1 -1
- package/dist/init-skills.d.ts +85 -7
- package/dist/init-skills.js +303 -36
- package/dist/init-skills.js.map +1 -1
- package/dist/jev-advisor.d.ts +72 -0
- package/dist/jev-advisor.js +172 -0
- package/dist/jev-advisor.js.map +1 -0
- package/dist/journey-api.d.ts +76 -5
- package/dist/journey-api.js +238 -29
- package/dist/journey-api.js.map +1 -1
- package/dist/journey-cli.js +257 -23
- package/dist/journey-cli.js.map +1 -1
- package/dist/journey-heal.d.ts +74 -0
- package/dist/journey-heal.js +180 -0
- package/dist/journey-heal.js.map +1 -0
- package/dist/journey-network-checks.d.ts +5 -1
- package/dist/journey-network-checks.js +15 -4
- package/dist/journey-network-checks.js.map +1 -1
- package/dist/journey-prefix.js +2 -2
- package/dist/journey-prefix.js.map +1 -1
- package/dist/journey-proposal-store.d.ts +100 -0
- package/dist/journey-proposal-store.js +342 -0
- package/dist/journey-proposal-store.js.map +1 -0
- package/dist/journey-result-record.d.ts +40 -0
- package/dist/journey-result-record.js +28 -0
- package/dist/journey-result-record.js.map +1 -0
- package/dist/journey-review-api.d.ts +19 -0
- package/dist/journey-review-api.js +53 -0
- package/dist/journey-review-api.js.map +1 -0
- package/dist/journey-review-store.d.ts +16 -0
- package/dist/journey-review-store.js +95 -0
- package/dist/journey-review-store.js.map +1 -0
- package/dist/journey-review.d.ts +54 -0
- package/dist/journey-review.js +538 -0
- package/dist/journey-review.js.map +1 -0
- package/dist/journey-verify.js +14 -1
- package/dist/journey-verify.js.map +1 -1
- package/dist/key-report.d.ts +20 -5
- package/dist/key-report.js +32 -9
- package/dist/key-report.js.map +1 -1
- package/dist/kill-signal.js +10 -2
- package/dist/kill-signal.js.map +1 -1
- package/dist/launch-armed.js +5 -1
- package/dist/launch-armed.js.map +1 -1
- package/dist/load-cli.js +4 -2
- package/dist/load-cli.js.map +1 -1
- package/dist/log-classes.d.ts +73 -0
- package/dist/log-classes.js +167 -0
- package/dist/log-classes.js.map +1 -0
- package/dist/log-correlation.d.ts +29 -10
- package/dist/log-correlation.js +44 -21
- package/dist/log-correlation.js.map +1 -1
- package/dist/login-cli.d.ts +17 -0
- package/dist/login-cli.js +161 -0
- package/dist/login-cli.js.map +1 -0
- package/dist/logs-cli.js +3 -1
- package/dist/logs-cli.js.map +1 -1
- package/dist/mcp-api.d.ts +6 -1
- package/dist/mcp-api.js +110 -16
- package/dist/mcp-api.js.map +1 -1
- package/dist/mcp-cli-runner.d.ts +2 -0
- package/dist/mcp-cli-runner.js +3 -1
- package/dist/mcp-cli-runner.js.map +1 -1
- package/dist/mcp-cli-tools.d.ts +5 -0
- package/dist/mcp-cli-tools.js +178 -23
- package/dist/mcp-cli-tools.js.map +1 -1
- package/dist/mission-cli.js +8 -4
- package/dist/mission-cli.js.map +1 -1
- package/dist/mission-journal.d.ts +4 -1
- package/dist/mission-journal.js +9 -3
- package/dist/mission-journal.js.map +1 -1
- package/dist/mission-queue-cli.js +21 -2
- package/dist/mission-queue-cli.js.map +1 -1
- package/dist/mission-queue-runner.d.ts +6 -0
- package/dist/mission-queue-runner.js +33 -3
- package/dist/mission-queue-runner.js.map +1 -1
- package/dist/multi-run-cli.d.ts +7 -1
- package/dist/multi-run-cli.js +10 -3
- package/dist/multi-run-cli.js.map +1 -1
- package/dist/multi-run.d.ts +44 -8
- package/dist/multi-run.js +118 -25
- package/dist/multi-run.js.map +1 -1
- package/dist/persona-login.d.ts +256 -0
- package/dist/persona-login.js +884 -0
- package/dist/persona-login.js.map +1 -0
- package/dist/pre-approval.d.ts +98 -0
- package/dist/pre-approval.js +175 -0
- package/dist/pre-approval.js.map +1 -0
- package/dist/program.js +12 -0
- package/dist/program.js.map +1 -1
- package/dist/project-dir.d.ts +2 -1
- package/dist/project-dir.js +3 -1
- package/dist/project-dir.js.map +1 -1
- package/dist/readiness.d.ts +29 -0
- package/dist/readiness.js +291 -0
- package/dist/readiness.js.map +1 -0
- package/dist/regression-cli.js +4 -2
- package/dist/regression-cli.js.map +1 -1
- package/dist/report-api.d.ts +25 -2
- package/dist/report-api.js +34 -5
- package/dist/report-api.js.map +1 -1
- package/dist/report-cli.js +8 -1
- package/dist/report-cli.js.map +1 -1
- package/dist/resource-preflight.js +5 -3
- package/dist/resource-preflight.js.map +1 -1
- package/dist/result-schema.d.ts +12 -0
- package/dist/result-schema.js +8 -0
- package/dist/result-schema.js.map +1 -1
- package/dist/run-index.d.ts +4 -2
- package/dist/run-index.js +3 -1
- package/dist/run-index.js.map +1 -1
- package/dist/run-key-preflight.d.ts +2 -1
- package/dist/run-key-preflight.js +3 -2
- package/dist/run-key-preflight.js.map +1 -1
- package/dist/run-metadata.d.ts +29 -0
- package/dist/run-metadata.js +48 -0
- package/dist/run-metadata.js.map +1 -0
- package/dist/run-tags-cli.d.ts +14 -0
- package/dist/run-tags-cli.js +41 -0
- package/dist/run-tags-cli.js.map +1 -0
- package/dist/self-heal-adapter.d.ts +43 -27
- package/dist/self-heal-adapter.js +196 -62
- package/dist/self-heal-adapter.js.map +1 -1
- package/dist/site-cli.d.ts +1 -1
- package/dist/site-cli.js +24 -1
- package/dist/site-cli.js.map +1 -1
- package/dist/source-cli.js +9 -5
- package/dist/source-cli.js.map +1 -1
- package/dist/suite-explore-options.d.ts +14 -0
- package/dist/suite-explore-options.js +8 -0
- package/dist/suite-explore-options.js.map +1 -1
- package/dist/sweep-api.d.ts +289 -0
- package/dist/sweep-api.js +859 -0
- package/dist/sweep-api.js.map +1 -0
- package/dist/sweep-cli.d.ts +9 -0
- package/dist/sweep-cli.js +117 -0
- package/dist/sweep-cli.js.map +1 -0
- package/dist/target-config.d.ts +5 -2
- package/dist/target-config.js +15 -0
- package/dist/target-config.js.map +1 -1
- package/dist/ux-cli.js +3 -1
- package/dist/ux-cli.js.map +1 -1
- package/dist/ux-usability.d.ts +9 -3
- package/dist/ux-usability.js +8 -5
- package/dist/ux-usability.js.map +1 -1
- package/dist/verify-fix-cli.js +4 -2
- package/dist/verify-fix-cli.js.map +1 -1
- package/package.json +9 -9
- package/skills/jevitate-ci-check/SKILL.md +9 -1
- package/skills/jevitate-demo/SKILL.md +5 -2
- package/skills/jevitate-getting-started/SKILL.md +14 -1
- package/skills/jevitate-mission-scope/SKILL.md +2 -2
- package/skills/jevitate-run-journey/SKILL.md +42 -9
- package/skills/jevitate-test-campaign/SKILL.md +26 -5
|
@@ -1,31 +1,47 @@
|
|
|
1
1
|
import type { SelfHealer } from "@jevitate/runtime";
|
|
2
|
-
import type {
|
|
2
|
+
import type { GenerationPort, UsageLedger } from "@jevitate/ai-core";
|
|
3
|
+
import type { Actor } from "@jevitate/screenplay";
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* #453: the CLI's `SelfHealer` — EVIDENCE-ONLY. It never acts on the page (`actsOnPage: false`), so
|
|
6
|
+
* the runner may consult it for a guarded click/fill step too (whose probe runs under the write
|
|
7
|
+
* blocker). Its whole input is:
|
|
8
|
+
* - the broken step (sanitised: `hideValue`),
|
|
9
|
+
* - a read-only snapshot of the page's controls (the observed inventory: role, name, test id, label),
|
|
10
|
+
* - the change evidence as `{kind, before, after}` facts only — never a raw hunk, never a credential
|
|
11
|
+
* (every string is scrubbed of the run's secret params, `redactSecretValues`).
|
|
10
12
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* "blocked"`. Only `"succeeded"` (the independent oracle held) maps to
|
|
19
|
-
* `"healed"`; everything else is `"not-healed"` — the healer never certifies
|
|
20
|
-
* its own success (guardrail #4, mirrored from explore's oracle).
|
|
21
|
-
*
|
|
22
|
-
* DEVIATION (start-from-live-state): the plan's `SelfHealer` contract says
|
|
23
|
-
* the actor is already sitting in the live state right after the last-good
|
|
24
|
-
* step, so no re-navigation is needed. The shipped `explore()` ALWAYS
|
|
25
|
-
* navigates to `startUrl` first, so this adapter re-anchors by using the
|
|
26
|
-
* actor's CURRENT live URL as `startUrl` (a reload of the page we are
|
|
27
|
-
* already on) — the closest the shipped mission API allows. Flagged as a
|
|
28
|
-
* follow-up: a future `runGoalBasedMission` variant could skip the initial
|
|
29
|
-
* navigation to honor the pure resume-from-state design.
|
|
13
|
+
* It proposes single-step RETARGETS of the broken step: the step with only its `target` changed, its
|
|
14
|
+
* proof (`expect`, `value`, …) as recorded. Deterministic candidates come first: an inventory control
|
|
15
|
+
* whose name / test id / label equals some evidence `after`. The model (`GenerationPort`, task
|
|
16
|
+
* `heal.rank`) is only an advisory ranker of those candidates and may pick at most ONE more control
|
|
17
|
+
* from the inventory — within the request's `maxModelCalls` and `deadlineAtMs`; past the deadline its
|
|
18
|
+
* answer is dropped. The runner adjudicates every candidate (proof untouched, change evidence, the
|
|
19
|
+
* floor, the probe): nothing here decides that a heal holds.
|
|
30
20
|
*/
|
|
31
|
-
|
|
21
|
+
/** One observed control: what the healer and the model see of the page. */
|
|
22
|
+
export interface InventoryControl {
|
|
23
|
+
readonly role: string;
|
|
24
|
+
readonly name: string;
|
|
25
|
+
readonly testId?: string;
|
|
26
|
+
readonly label?: string;
|
|
27
|
+
readonly enabled: boolean;
|
|
28
|
+
/** Model-facing one-liner (redacted page content). */
|
|
29
|
+
readonly summary: string;
|
|
30
|
+
}
|
|
31
|
+
/** Reads the live page's controls without acting on it. */
|
|
32
|
+
export type ControlInventoryReader = (actor: Actor, secrets: readonly string[]) => Promise<readonly InventoryControl[]>;
|
|
33
|
+
export interface EvidenceSelfHealerOptions {
|
|
34
|
+
/** Test seam; default: `snapshot()` of the actor's page (read-only). */
|
|
35
|
+
readonly inventory?: ControlInventoryReader;
|
|
36
|
+
/** The most inventory controls shown to the model. Default 80. */
|
|
37
|
+
readonly maxControls?: number;
|
|
38
|
+
/**
|
|
39
|
+
* #453 review: the run's usage ledger (the gateway's `UsageTracker`). When given, the tokens a
|
|
40
|
+
* ranker call reported (input + output) are charged to the heal budget (`usage.tokens`). A gateway
|
|
41
|
+
* that reports none (the fake) charges none.
|
|
42
|
+
*/
|
|
43
|
+
readonly usage?: UsageLedger;
|
|
44
|
+
}
|
|
45
|
+
/** The default inventory: the explore snapshot's controls (read-only, already redacted). */
|
|
46
|
+
export declare const snapshotInventory: ControlInventoryReader;
|
|
47
|
+
export declare function makeEvidenceSelfHealer(generation?: GenerationPort, opts?: EvidenceSelfHealerOptions): SelfHealer;
|
|
@@ -1,72 +1,206 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizeAnchor, sanitizeStep } from "@jevitate/runtime";
|
|
2
|
+
import { snapshot } from "@jevitate/explore";
|
|
2
3
|
import { BrowseTheWebToken } from "@jevitate/screenplay";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* step, so no re-navigation is needed. The shipped `explore()` ALWAYS
|
|
25
|
-
* navigates to `startUrl` first, so this adapter re-anchors by using the
|
|
26
|
-
* actor's CURRENT live URL as `startUrl` (a reload of the page we are
|
|
27
|
-
* already on) — the closest the shipped mission API allows. Flagged as a
|
|
28
|
-
* follow-up: a future `runGoalBasedMission` variant could skip the initial
|
|
29
|
-
* navigation to honor the pure resume-from-state design.
|
|
30
|
-
*/
|
|
31
|
-
export function makeExploreSelfHealer(judgment, generation) {
|
|
4
|
+
import { clock } from "@jevitate/domain";
|
|
5
|
+
import { describeStep } from "@jevitate/journey";
|
|
6
|
+
import { redactSecretValues } from "./journey-api.js";
|
|
7
|
+
/** Roles a fill step may target. */
|
|
8
|
+
const FIELD_ROLES = new Set(["textbox", "searchbox", "combobox", "spinbutton"]);
|
|
9
|
+
const DEFAULT_MAX_CONTROLS = 80;
|
|
10
|
+
const MAX_CANDIDATES = 8;
|
|
11
|
+
/** The default inventory: the explore snapshot's controls (read-only, already redacted). */
|
|
12
|
+
export const snapshotInventory = async (actor, secrets) => {
|
|
13
|
+
let page;
|
|
14
|
+
try {
|
|
15
|
+
page = actor.ability(BrowseTheWebToken).session.page;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
const snap = await snapshot(page, { secrets, maxCandidates: 120 });
|
|
21
|
+
return snap.controls.map(inventoryOf);
|
|
22
|
+
};
|
|
23
|
+
function inventoryOf(c) {
|
|
24
|
+
const d = c.descriptor;
|
|
32
25
|
return {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
26
|
+
role: c.role,
|
|
27
|
+
name: c.name,
|
|
28
|
+
...(d.testId === undefined ? {} : { testId: d.testId }),
|
|
29
|
+
...(d.label === undefined ? {} : { label: d.label }),
|
|
30
|
+
enabled: c.enabled,
|
|
31
|
+
summary: c.summary,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function makeEvidenceSelfHealer(generation, opts = {}) {
|
|
35
|
+
const readInventory = opts.inventory ?? snapshotInventory;
|
|
36
|
+
const maxControls = opts.maxControls ?? DEFAULT_MAX_CONTROLS;
|
|
37
|
+
return {
|
|
38
|
+
actsOnPage: false,
|
|
39
|
+
async proposeCandidates(req) {
|
|
40
|
+
const secrets = req.secrets ?? [];
|
|
41
|
+
const broken = req.brokenStep;
|
|
42
|
+
if (!("target" in broken) || broken.target === undefined) {
|
|
43
|
+
return { candidates: [], usage: { modelCalls: 0 }, reason: `a ${broken.kind} step has no target to retarget onto a page control` };
|
|
44
|
+
}
|
|
45
|
+
// Only the change FACTS, scrubbed of the run's secrets.
|
|
46
|
+
const evidence = redactSecretValues(req.evidence.map(factOf), secrets);
|
|
47
|
+
let inventory;
|
|
48
|
+
try {
|
|
49
|
+
inventory = redactSecretValues((await readInventory(req.actor, secrets)).filter((c) => c.enabled && fits(broken, c)), secrets);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
inventory = [];
|
|
53
|
+
}
|
|
54
|
+
const tried = new Set(req.tried.map((s) => JSON.stringify(s)));
|
|
55
|
+
const fresh = (s) => !tried.has(JSON.stringify(sanitizeStep(s))) && JSON.stringify(s) !== JSON.stringify(broken);
|
|
56
|
+
const deterministic = dedupe(evidenceRetargets(broken, inventory, evidence).filter((c) => fresh(c.step)));
|
|
57
|
+
const ask = generation !== undefined && req.maxModelCalls >= 1 && clock.now() < req.deadlineAtMs && (deterministic.length > 0 || inventory.length > 0);
|
|
58
|
+
if (!ask) {
|
|
59
|
+
return deterministic.length === 0
|
|
60
|
+
? { candidates: [], usage: { modelCalls: 0 }, reason: "no observed control matches the change evidence" }
|
|
61
|
+
: { candidates: deterministic.slice(0, MAX_CANDIDATES), usage: { modelCalls: 0 } };
|
|
62
|
+
}
|
|
63
|
+
const shown = inventory.slice(0, maxControls);
|
|
64
|
+
const input = redactSecretValues({
|
|
65
|
+
step: describeStep(sanitizeStep(broken)).slice(0, 1000),
|
|
66
|
+
evidence: evidence.slice(0, 40).map((e) => ({ kind: e.kind.slice(0, 40), before: clip(e.before), after: clip(e.after) })),
|
|
67
|
+
candidates: deterministic.slice(0, 40).map((c, index) => ({ index, summary: c.hypothesis.slice(0, 300) })),
|
|
68
|
+
controls: shown.map((c, index) => ({ index, summary: c.summary.slice(0, 300) })),
|
|
69
|
+
}, secrets);
|
|
70
|
+
const tokensSoFar = () => {
|
|
71
|
+
const c = opts.usage?.snapshot();
|
|
72
|
+
return c === undefined ? 0 : c.inputTokens + c.outputTokens;
|
|
73
|
+
};
|
|
74
|
+
const before = tokensSoFar();
|
|
75
|
+
const usage = { modelCalls: 1 };
|
|
76
|
+
let ranked;
|
|
77
|
+
try {
|
|
78
|
+
ranked = (await withDeadline(generation.generate("heal.rank", input), req.deadlineAtMs)).output;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
ranked = undefined;
|
|
82
|
+
}
|
|
83
|
+
const spent = tokensSoFar() - before;
|
|
84
|
+
if (spent > 0)
|
|
85
|
+
usage.tokens = spent;
|
|
86
|
+
if (ranked === undefined) {
|
|
87
|
+
return { candidates: deterministic.slice(0, MAX_CANDIDATES), usage, reason: "the model ranker gave no usable answer within the heal deadline" };
|
|
88
|
+
}
|
|
89
|
+
const seen = new Set();
|
|
90
|
+
const ordered = [];
|
|
91
|
+
for (const i of ranked.order) {
|
|
92
|
+
const c = deterministic[i];
|
|
93
|
+
if (c === undefined || seen.has(i))
|
|
94
|
+
continue;
|
|
95
|
+
seen.add(i);
|
|
96
|
+
ordered.push(c);
|
|
97
|
+
}
|
|
98
|
+
// The ranker is advisory: an evidence candidate it left out is still tried, after its picks.
|
|
99
|
+
deterministic.forEach((c, i) => {
|
|
100
|
+
if (!seen.has(i))
|
|
101
|
+
ordered.push(c);
|
|
50
102
|
});
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
103
|
+
const picked = ranked.control === null ? undefined : shown[ranked.control];
|
|
104
|
+
const extra = picked === undefined ? undefined : controlRetarget(broken, picked, `the model picked the page's ${picked.role || "control"} ${quote(picked.name)}`);
|
|
105
|
+
const all = dedupe(extra === undefined || !fresh(extra.step) ? ordered : [...ordered, extra]);
|
|
106
|
+
return { candidates: all.slice(0, MAX_CANDIDATES), usage };
|
|
54
107
|
},
|
|
55
108
|
};
|
|
56
109
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return
|
|
110
|
+
function factOf(e) {
|
|
111
|
+
return { kind: e.kind, ...(e.before === undefined ? {} : { before: e.before }), ...(e.after === undefined ? {} : { after: e.after }) };
|
|
112
|
+
}
|
|
113
|
+
function clip(s) {
|
|
114
|
+
return s === undefined ? null : s.slice(0, 300);
|
|
115
|
+
}
|
|
116
|
+
/** Can `broken` (a click/fill/extract) target this control at all? */
|
|
117
|
+
function fits(broken, c) {
|
|
118
|
+
if (broken.kind === "fill")
|
|
119
|
+
return FIELD_ROLES.has(c.role);
|
|
120
|
+
if (broken.kind === "click")
|
|
121
|
+
return !FIELD_ROLES.has(c.role);
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
/** Inventory controls whose name / test id / label equals an evidence `after` → a retarget onto that anchor. */
|
|
125
|
+
function evidenceRetargets(broken, inventory, evidence) {
|
|
126
|
+
const out = [];
|
|
127
|
+
for (const e of evidence) {
|
|
128
|
+
if (e.after === undefined || e.kind === "inserted-ui")
|
|
129
|
+
continue;
|
|
130
|
+
const after = normalizeAnchor(e.after);
|
|
131
|
+
for (const c of inventory) {
|
|
132
|
+
const via = c.testId !== undefined && normalizeAnchor(c.testId) === after && (e.kind === "test-id" || e.kind === "note")
|
|
133
|
+
? "testId"
|
|
134
|
+
: normalizeAnchor(c.name) === after
|
|
135
|
+
? "name"
|
|
136
|
+
: c.label !== undefined && normalizeAnchor(c.label) === after
|
|
137
|
+
? "label"
|
|
138
|
+
: undefined;
|
|
139
|
+
if (via === undefined)
|
|
140
|
+
continue;
|
|
141
|
+
const cand = controlRetarget(broken, c, `${e.kind} ${quote(e.before)} → ${quote(e.after)} matches the page's ${c.role || "control"} ${quote(c.name)}`, via);
|
|
142
|
+
if (cand !== undefined)
|
|
143
|
+
out.push(cand);
|
|
144
|
+
}
|
|
67
145
|
}
|
|
146
|
+
return out;
|
|
147
|
+
}
|
|
148
|
+
/** `broken` retargeted onto control `c` by one anchor (its frame and container kept, everything else as recorded). */
|
|
149
|
+
function controlRetarget(broken, c, why, via) {
|
|
150
|
+
if (!("target" in broken) || broken.target === undefined)
|
|
151
|
+
return undefined;
|
|
152
|
+
const old = broken.target;
|
|
153
|
+
const by = via ?? (c.name.trim() === "" ? (c.testId !== undefined ? "testId" : "label") : "name");
|
|
154
|
+
const anchor = by === "testId"
|
|
155
|
+
? c.testId === undefined
|
|
156
|
+
? undefined
|
|
157
|
+
: { testId: c.testId }
|
|
158
|
+
: by === "label"
|
|
159
|
+
? c.label === undefined
|
|
160
|
+
? undefined
|
|
161
|
+
: { label: c.label }
|
|
162
|
+
: c.name.trim() === ""
|
|
163
|
+
? undefined
|
|
164
|
+
: { ...(c.role === "" ? {} : { role: c.role }), name: c.name.trim() };
|
|
165
|
+
if (anchor === undefined)
|
|
166
|
+
return undefined;
|
|
167
|
+
const target = { ...anchor, ...(old.frameUrl === undefined ? {} : { frameUrl: old.frameUrl }), ...(old.container === undefined ? {} : { container: old.container }) };
|
|
168
|
+
return { step: { ...broken, target }, hypothesis: `${why}: retarget to ${describeTarget(target)}` };
|
|
169
|
+
}
|
|
170
|
+
function describeTarget(t) {
|
|
171
|
+
if (t.testId !== undefined)
|
|
172
|
+
return `test id ${quote(t.testId)}`;
|
|
173
|
+
if (t.label !== undefined)
|
|
174
|
+
return `label ${quote(t.label)}`;
|
|
175
|
+
return `${t.role ?? "control"} ${quote(t.name)}`;
|
|
176
|
+
}
|
|
177
|
+
function quote(s) {
|
|
178
|
+
return s === undefined ? "(none)" : JSON.stringify(s);
|
|
179
|
+
}
|
|
180
|
+
function dedupe(cs) {
|
|
181
|
+
const seen = new Set();
|
|
182
|
+
return cs.filter((c) => {
|
|
183
|
+
const k = JSON.stringify(c.step);
|
|
184
|
+
if (seen.has(k))
|
|
185
|
+
return false;
|
|
186
|
+
seen.add(k);
|
|
187
|
+
return true;
|
|
188
|
+
});
|
|
68
189
|
}
|
|
69
|
-
|
|
70
|
-
|
|
190
|
+
/** `p`, or a rejection once the `clock.now()` instant `deadlineAtMs` passes. */
|
|
191
|
+
function withDeadline(p, deadlineAtMs) {
|
|
192
|
+
const left = deadlineAtMs - clock.now();
|
|
193
|
+
if (left <= 0)
|
|
194
|
+
return Promise.reject(new Error("heal deadline passed"));
|
|
195
|
+
return new Promise((resolve, reject) => {
|
|
196
|
+
const timer = clock.setTimeout(() => reject(new Error("heal deadline passed")), left);
|
|
197
|
+
p.then((v) => {
|
|
198
|
+
clock.clearTimeout(timer);
|
|
199
|
+
resolve(v);
|
|
200
|
+
}, (e) => {
|
|
201
|
+
clock.clearTimeout(timer);
|
|
202
|
+
reject(e instanceof Error ? e : new Error(String(e)));
|
|
203
|
+
});
|
|
204
|
+
});
|
|
71
205
|
}
|
|
72
206
|
//# sourceMappingURL=self-heal-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-heal-adapter.js","sourceRoot":"","sources":["../src/self-heal-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAsB,EAAE,UAA0B;IACtF,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,cAAc,EAAE,OAAO,EAAE;YACrF,MAAM,SAAS,GAAG,cAAc,IAAI,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;gBACvC,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC;gBACxC,gBAAgB,EAAE,qBAAqB;gBACvC,SAAS;gBACT,sEAAsE;gBACtE,mDAAmD;gBACnD,2DAA2D;gBAC3D,kEAAkE;gBAClE,mBAAmB;gBACnB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;gBACtC,KAAK;gBACL,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,UAAU;gBACf,6FAA6F;gBAC7F,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;aACtE,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW;gBACnC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE;gBAClD,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9E,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;qDAGqD;AACrD,SAAS,UAAU,CAAC,KAAY,EAAE,eAAkC;IAClE,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAU;IACxC,OAAO,gCAAgC,IAAI,CAAC,IAAI,+GAA+G,CAAC;AAClK,CAAC"}
|
|
1
|
+
{"version":3,"file":"self-heal-adapter.js","sourceRoot":"","sources":["../src/self-heal-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/site-cli.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { type CliDeps } from "./cli-shared.js";
|
|
3
|
-
/** Registers `jevitate site`: `policy get|set` and `simulate`. */
|
|
3
|
+
/** Registers `jevitate site`: `policy get|set|rules` and `simulate`. */
|
|
4
4
|
export declare function registerSiteCommands(program: Command, deps: CliDeps): void;
|
package/dist/site-cli.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { SitePolicySchema, simulateTiming } from "@jevitate/domain";
|
|
3
|
+
import { SAFETY_RULES } from "@jevitate/explore";
|
|
3
4
|
import { ok, fail } from "./envelope.js";
|
|
4
5
|
import { sitePolicyKey } from "./site-gate-cli.js";
|
|
5
6
|
import { resolveDbPath, withSitePolicyRepository, parsePlannedScript, emitJson } from "./cli-shared.js";
|
|
6
|
-
/** Registers `jevitate site`: `policy get|set` and `simulate`. */
|
|
7
|
+
/** Registers `jevitate site`: `policy get|set|rules` and `simulate`. */
|
|
7
8
|
export function registerSiteCommands(program, deps) {
|
|
8
9
|
const site = program
|
|
9
10
|
.command("site")
|
|
@@ -40,6 +41,28 @@ export function registerSiteCommands(program, deps) {
|
|
|
40
41
|
emitJson(program, fail("E_SITE_POLICY_GET", String(err)));
|
|
41
42
|
}
|
|
42
43
|
});
|
|
44
|
+
sitePolicy
|
|
45
|
+
.command("rules")
|
|
46
|
+
.description("#428: list the control safety rules every run applies — built-in heuristics (ids, what they match, their regex), operator patterns and hard " +
|
|
47
|
+
"boundaries — and whether --allow-control can waive each (only the soft 'may cost money' heuristic). A refusal names the rule id it matched")
|
|
48
|
+
.option("--json", "emit a JSON envelope")
|
|
49
|
+
.action(function () {
|
|
50
|
+
const { json } = this.opts();
|
|
51
|
+
const rules = SAFETY_RULES.map((r) => ({ ...r }));
|
|
52
|
+
if (json) {
|
|
53
|
+
emitJson(program, ok({ rules }));
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const out = program.configureOutput().writeOut;
|
|
57
|
+
for (const r of rules) {
|
|
58
|
+
out?.(`${r.id} [${r.source}] ${r.allowControl ? "waivable by --allow-control" : "not waivable by --allow-control"}\n`);
|
|
59
|
+
out?.(` matches: ${r.matches}\n`);
|
|
60
|
+
if (r.regex !== undefined)
|
|
61
|
+
out?.(` regex: /${r.regex}/i\n`);
|
|
62
|
+
out?.(` lifted by: ${r.liftedBy}\n`);
|
|
63
|
+
}
|
|
64
|
+
process.exitCode = 0;
|
|
65
|
+
});
|
|
43
66
|
sitePolicy
|
|
44
67
|
.command("set <site>")
|
|
45
68
|
.description("set the policy for a site (an origin): Journey runs there are paced, throttled, budgeted and kept out of quiet hours " +
|
package/dist/site-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-cli.js","sourceRoot":"","sources":["../src/site-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAqC,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAgB,aAAa,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEtH,
|
|
1
|
+
{"version":3,"file":"site-cli.js","sourceRoot":"","sources":["../src/site-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/source-cli.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { TAG_FLAG, TAG_HELP, collectTag, taggedAction } from "./run-tags-cli.js";
|
|
1
2
|
import { existsSync } from "node:fs";
|
|
2
3
|
import { ParamValidationError } from "@jevitate/journey";
|
|
4
|
+
import { journeyExitCode } from "@jevitate/domain";
|
|
3
5
|
import { ok, fail } from "./envelope.js";
|
|
4
6
|
import { SiteGateRefusedError } from "@jevitate/runtime";
|
|
5
7
|
import { UnknownJourneyError, JourneyRequiresAuthError } from "./journey-api.js";
|
|
@@ -203,7 +205,8 @@ export function registerSourceCommands(program, deps) {
|
|
|
203
205
|
.option("--param <kv>", "param as key=value (repeatable)", collectParam, {})
|
|
204
206
|
.option("--storage-state <file>", "Playwright storageState JSON to start the session authenticated (#118: required when the journey declares metadata.requiresAuth); must exist")
|
|
205
207
|
.option("--json", "emit a JSON envelope")
|
|
206
|
-
.
|
|
208
|
+
.option(TAG_FLAG, TAG_HELP, collectTag, [])
|
|
209
|
+
.action(taggedAction(program, "source run", async function (name, journeyId) {
|
|
207
210
|
const { param, storageState, json, ...emulationFlags } = this.opts();
|
|
208
211
|
if (storageState !== undefined && !existsSync(storageState)) {
|
|
209
212
|
emitJson(program, fail("E_SOURCE_RUN_ARGS", `storage state not found: ${storageState}`));
|
|
@@ -234,12 +237,13 @@ export function registerSourceCommands(program, deps) {
|
|
|
234
237
|
const envelope = ok(result);
|
|
235
238
|
if (json) {
|
|
236
239
|
emitJson(program, envelope);
|
|
237
|
-
|
|
238
|
-
|
|
240
|
+
const code = journeyExitCode(result.outcome);
|
|
241
|
+
if (code !== 0)
|
|
242
|
+
process.exitCode = code;
|
|
239
243
|
}
|
|
240
244
|
else {
|
|
241
245
|
writeRawResult(program, result);
|
|
242
|
-
process.exitCode = result.outcome
|
|
246
|
+
process.exitCode = journeyExitCode(result.outcome);
|
|
243
247
|
}
|
|
244
248
|
}
|
|
245
249
|
catch (err) {
|
|
@@ -279,6 +283,6 @@ export function registerSourceCommands(program, deps) {
|
|
|
279
283
|
emitJson(program, fail("E_SOURCE_RUN", String(err instanceof Error ? err.message : err)));
|
|
280
284
|
}
|
|
281
285
|
}
|
|
282
|
-
});
|
|
286
|
+
}));
|
|
283
287
|
}
|
|
284
288
|
//# sourceMappingURL=source-cli.js.map
|
package/dist/source-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-cli.js","sourceRoot":"","sources":["../src/source-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"source-cli.js","sourceRoot":"","sources":["../src/source-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,6 +143,10 @@ export declare const SUITE_EXPLORE_OPTIONS: {
|
|
|
143
143
|
readonly shape: "strings";
|
|
144
144
|
readonly appliesTo: readonly ExploreItemKind[];
|
|
145
145
|
};
|
|
146
|
+
readonly allowControl: {
|
|
147
|
+
readonly shape: "strings";
|
|
148
|
+
readonly appliesTo: readonly ExploreItemKind[];
|
|
149
|
+
};
|
|
146
150
|
readonly allowDestructive: {
|
|
147
151
|
readonly shape: "boolean";
|
|
148
152
|
readonly appliesTo: readonly ExploreItemKind[];
|
|
@@ -264,6 +268,16 @@ export declare const SUITE_EXPLORE_OPTIONS: {
|
|
|
264
268
|
readonly shape: "named-paths";
|
|
265
269
|
readonly appliesTo: readonly ["goal"];
|
|
266
270
|
};
|
|
271
|
+
readonly minActions: {
|
|
272
|
+
readonly shape: "integer";
|
|
273
|
+
readonly appliesTo: readonly ["goal"];
|
|
274
|
+
readonly range: readonly [1, 100000];
|
|
275
|
+
};
|
|
276
|
+
readonly minDistinctStates: {
|
|
277
|
+
readonly shape: "integer";
|
|
278
|
+
readonly appliesTo: readonly ["goal"];
|
|
279
|
+
readonly range: readonly [1, 100000];
|
|
280
|
+
};
|
|
267
281
|
readonly allowVacuousChecks: {
|
|
268
282
|
readonly shape: "boolean";
|
|
269
283
|
readonly appliesTo: readonly ExploreItemKind[];
|
|
@@ -49,6 +49,7 @@ export const SUITE_EXPLORE_OPTIONS = {
|
|
|
49
49
|
// safety, settle, timing (the target config explore builds from its flags)
|
|
50
50
|
deny: { shape: "strings", appliesTo: ALL_KINDS },
|
|
51
51
|
paid: { shape: "strings", appliesTo: ALL_KINDS },
|
|
52
|
+
allowControl: { shape: "strings", appliesTo: ALL_KINDS },
|
|
52
53
|
allowDestructive: { shape: "boolean", appliesTo: ALL_KINDS },
|
|
53
54
|
dialogs: { shape: "string", appliesTo: ALL_KINDS, oneOf: ["dismiss", "accept"] },
|
|
54
55
|
allowWrites: { shape: "boolean", appliesTo: ALL_KINDS },
|
|
@@ -84,6 +85,9 @@ export const SUITE_EXPLORE_OPTIONS = {
|
|
|
84
85
|
hookTimeoutMs: { shape: "integer", appliesTo: ["goal"] },
|
|
85
86
|
// #243: named identities a fixture step authenticates as (`auth.identity`), not the item's own session
|
|
86
87
|
fixtureIdentity: { shape: "named-paths", appliesTo: ["goal"] },
|
|
88
|
+
// #424: the minimum exploration effort before a goal run's model may conclude
|
|
89
|
+
minActions: { shape: "integer", appliesTo: ["goal"], range: [1, 100000] },
|
|
90
|
+
minDistinctStates: { shape: "integer", appliesTo: ["goal"], range: [1, 100000] },
|
|
87
91
|
// #202: a success check satisfied before the run's first action is a warning, not a failure
|
|
88
92
|
allowVacuousChecks: { shape: "boolean", appliesTo: GOAL_UX },
|
|
89
93
|
// #303: opt-in action deltas (every explore item kind but feature)
|
|
@@ -138,6 +142,7 @@ export const SUITE_EXCLUDED_EXPLORE_OPTIONS = {
|
|
|
138
142
|
ignoreHostLoad: "#205: whether a check starts on a starved host is decided once, for the whole check: pass --ignore-host-load to `jevitate check`",
|
|
139
143
|
real: "one model gateway per check: the suite's `ai` or `jevitate check --real`",
|
|
140
144
|
fakeAi: "one model gateway per check: the suite's `ai` or `jevitate check --fake-ai`",
|
|
145
|
+
jevProvider: "one Jev provider per check: `jevitate check --jev-provider` (or JEVITATE_JEV_PROVIDER)",
|
|
141
146
|
out: "one output directory per check (`jevitate check --out`); item results go to <out>/results",
|
|
142
147
|
json: "one envelope per check (`jevitate check --json` / --json-out)",
|
|
143
148
|
fileIssues: "a check is a CI gate: findings are reported in JUnit/SARIF/report.md, never filed mid-run",
|
|
@@ -145,6 +150,9 @@ export const SUITE_EXCLUDED_EXPLORE_OPTIONS = {
|
|
|
145
150
|
jevitateRepo: "a check is a CI gate: findings are reported in JUnit/SARIF/report.md, never filed mid-run",
|
|
146
151
|
repeat: "a check gates each item once by finding identity; track flakes across checks with --baseline",
|
|
147
152
|
minAgreement: "a check gates each item once by finding identity; track flakes across checks with --baseline",
|
|
153
|
+
target: "#451: a check item is attributed by its suite item id (stamped on every item result); `explore --target` is for a standalone run",
|
|
154
|
+
tag: "#426: tags are per check — `jevitate check --tag` stamps every item result; a suite item takes none of its own",
|
|
155
|
+
authCheck: "#427: the pre-flight auth check runs before `explore` runs and queued missions; a check runs its items' missions directly, without it — mint the suite's sessions with `jevitate login` before `jevitate check`",
|
|
148
156
|
typeFixture: "#281: a file typed verbatim into a field is an `explore --type-fixture` binding; a suite goal declares none",
|
|
149
157
|
};
|
|
150
158
|
/** Suite key of a generic option (the explore attribute name itself). */
|