@jevitate/cli 0.8.0 → 0.10.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/anchor-baselines.d.ts +26 -0
- package/dist/anchor-baselines.js +25 -0
- package/dist/anchor-baselines.js.map +1 -0
- package/dist/approval-provenance.d.ts +48 -2
- package/dist/approval-provenance.js +110 -6
- package/dist/approval-provenance.js.map +1 -1
- package/dist/bin.js +25111 -17835
- 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/catalog-analysis.js +14 -0
- package/dist/catalog-analysis.js.map +1 -1
- package/dist/catalog-api.js +12 -4
- package/dist/catalog-api.js.map +1 -1
- package/dist/catalog-bundle-api.d.ts +73 -0
- package/dist/catalog-bundle-api.js +206 -0
- package/dist/catalog-bundle-api.js.map +1 -0
- package/dist/catalog-bundle-findings.d.ts +54 -0
- package/dist/catalog-bundle-findings.js +252 -0
- package/dist/catalog-bundle-findings.js.map +1 -0
- package/dist/catalog-bundle.d.ts +192 -0
- package/dist/catalog-bundle.js +578 -0
- package/dist/catalog-bundle.js.map +1 -0
- package/dist/catalog-cli.d.ts +6 -0
- package/dist/catalog-cli.js +180 -5
- package/dist/catalog-cli.js.map +1 -1
- package/dist/catalog-refs.d.ts +42 -0
- package/dist/catalog-refs.js +188 -0
- package/dist/catalog-refs.js.map +1 -0
- package/dist/catalog-review.d.ts +3 -1
- package/dist/catalog-review.js +61 -0
- package/dist/catalog-review.js.map +1 -1
- package/dist/catalog.d.ts +27 -3
- package/dist/catalog.js +46 -2
- package/dist/catalog.js.map +1 -1
- 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 +206 -16
- package/dist/check-api.js.map +1 -1
- package/dist/check-cli.d.ts +2 -1
- package/dist/check-cli.js +117 -8
- package/dist/check-cli.js.map +1 -1
- package/dist/check-execute.d.ts +28 -1
- package/dist/check-execute.js +110 -27
- package/dist/check-execute.js.map +1 -1
- package/dist/check-plan.d.ts +14 -0
- package/dist/check-plan.js +24 -1
- package/dist/check-plan.js.map +1 -1
- package/dist/check-types.d.ts +137 -5
- package/dist/check-types.js +8 -0
- package/dist/check-types.js.map +1 -1
- package/dist/cli-output.d.ts +6 -0
- package/dist/cli-output.js +26 -1
- package/dist/cli-output.js.map +1 -1
- package/dist/cli-shared.d.ts +10 -0
- package/dist/cli-shared.js +0 -4
- package/dist/cli-shared.js.map +1 -1
- package/dist/exit-codes.d.ts +6 -3
- package/dist/exit-codes.js +24 -3
- package/dist/exit-codes.js.map +1 -1
- package/dist/explore-adversarial.js +2 -2
- package/dist/explore-adversarial.js.map +1 -1
- package/dist/explore-cli.js +3 -2
- package/dist/explore-cli.js.map +1 -1
- package/dist/explore-coverage.js +3 -3
- package/dist/explore-coverage.js.map +1 -1
- package/dist/explore-feature.js +3 -3
- package/dist/explore-feature.js.map +1 -1
- package/dist/explore-goal.js +11 -5
- package/dist/explore-goal.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/forge-verify.d.ts +224 -0
- package/dist/forge-verify.js +649 -0
- package/dist/forge-verify.js.map +1 -0
- 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/init-codeowners.d.ts +19 -0
- package/dist/init-codeowners.js +66 -0
- package/dist/init-codeowners.js.map +1 -1
- package/dist/job-draft-api.d.ts +52 -0
- package/dist/job-draft-api.js +110 -0
- package/dist/job-draft-api.js.map +1 -0
- package/dist/journeeze-api.d.ts +71 -0
- package/dist/journeeze-api.js +285 -0
- package/dist/journeeze-api.js.map +1 -0
- package/dist/journeeze-connect.d.ts +156 -0
- package/dist/journeeze-connect.js +357 -0
- package/dist/journeeze-connect.js.map +1 -0
- package/dist/journey-anchor-gate.d.ts +52 -0
- package/dist/journey-anchor-gate.js +101 -0
- package/dist/journey-anchor-gate.js.map +1 -0
- package/dist/journey-api.d.ts +43 -3
- package/dist/journey-api.js +226 -21
- package/dist/journey-api.js.map +1 -1
- package/dist/journey-cli.js +162 -20
- 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-lint-sarif.d.ts +3 -2
- package/dist/journey-lint-sarif.js +9 -2
- package/dist/journey-lint-sarif.js.map +1 -1
- package/dist/journey-migrate-api.d.ts +54 -0
- package/dist/journey-migrate-api.js +64 -0
- package/dist/journey-migrate-api.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 +109 -0
- package/dist/journey-proposal-store.js +365 -0
- package/dist/journey-proposal-store.js.map +1 -0
- package/dist/journey-result-record.d.ts +42 -0
- package/dist/journey-result-record.js +33 -0
- package/dist/journey-result-record.js.map +1 -0
- package/dist/journey-review-api.js +16 -1
- package/dist/journey-review-api.js.map +1 -1
- package/dist/journey-review.d.ts +18 -1
- package/dist/journey-review.js +116 -5
- package/dist/journey-review.js.map +1 -1
- package/dist/journey-stale-api.d.ts +40 -0
- package/dist/journey-stale-api.js +57 -0
- package/dist/journey-stale-api.js.map +1 -0
- package/dist/launch-armed.js +5 -1
- package/dist/launch-armed.js.map +1 -1
- package/dist/locator-health-api.d.ts +101 -0
- package/dist/locator-health-api.js +203 -0
- package/dist/locator-health-api.js.map +1 -0
- package/dist/locator-health.d.ts +195 -0
- package/dist/locator-health.js +419 -0
- package/dist/locator-health.js.map +1 -0
- package/dist/login-cli.d.ts +2 -0
- package/dist/login-cli.js +56 -11
- package/dist/login-cli.js.map +1 -1
- package/dist/mcp-api.d.ts +5 -1
- package/dist/mcp-api.js +53 -8
- package/dist/mcp-api.js.map +1 -1
- package/dist/mcp-cli-tools.d.ts +3 -1
- package/dist/mcp-cli-tools.js +80 -10
- package/dist/mcp-cli-tools.js.map +1 -1
- package/dist/multi-run.d.ts +7 -6
- package/dist/multi-run.js +5 -4
- package/dist/multi-run.js.map +1 -1
- package/dist/persona-login.d.ts +60 -3
- package/dist/persona-login.js +341 -31
- package/dist/persona-login.js.map +1 -1
- package/dist/program.js +2 -0
- package/dist/program.js.map +1 -1
- package/dist/project-config.d.ts +29 -0
- package/dist/project-config.js +76 -0
- package/dist/project-config.js.map +1 -0
- package/dist/report-api.d.ts +1 -0
- package/dist/report-api.js +1 -0
- package/dist/report-api.js.map +1 -1
- package/dist/resource-preflight.js +5 -3
- package/dist/resource-preflight.js.map +1 -1
- package/dist/run-metadata.d.ts +5 -2
- package/dist/run-metadata.js +10 -3
- package/dist/run-metadata.js.map +1 -1
- package/dist/run-tags-cli.d.ts +2 -0
- package/dist/run-tags-cli.js +8 -2
- package/dist/run-tags-cli.js.map +1 -1
- 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/source-cli.js +5 -3
- package/dist/source-cli.js.map +1 -1
- package/dist/suite-explore-options.js +1 -0
- package/dist/suite-explore-options.js.map +1 -1
- package/dist/sweep-api.d.ts +23 -0
- package/dist/sweep-api.js +39 -8
- package/dist/sweep-api.js.map +1 -1
- package/dist/sweep-cli.js +3 -1
- package/dist/sweep-cli.js.map +1 -1
- package/dist/ux-usability.js +3 -2
- package/dist/ux-usability.js.map +1 -1
- package/package.json +17 -15
- package/skills/jevitate-ci-check/SKILL.md +25 -1
- package/skills/jevitate-getting-started/SKILL.md +9 -3
- package/skills/jevitate-mission-scope/SKILL.md +2 -2
- package/skills/jevitate-run-journey/SKILL.md +36 -5
- package/skills/jevitate-test-campaign/SKILL.md +13 -0
|
@@ -28,11 +28,13 @@ artifact; your job is to find the right one and run it with the right params.
|
|
|
28
28
|
- MCP: `run_journey({ id, params, storageState? })` — same param-schema
|
|
29
29
|
validation, same refusal on an unknown id or params. It NEVER accepts inline
|
|
30
30
|
steps or a raw recording — a published id only.
|
|
31
|
-
- Read the JSON envelope's `outcome` field
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
- Read the JSON envelope's `outcome` field (MCP: also `exitCode`). Only `"ok"`
|
|
32
|
+
(exit 0) is a pass. `"healed-pending-review"` (exit 5) is NOT a pass: a
|
|
33
|
+
self-heal retargeted steps and proposed a Journey revision a person must
|
|
34
|
+
accept. `"heal-exhausted"` and `"quarantined"` (exit 1) and any other value,
|
|
35
|
+
including a secret-handback pause, mean it did not complete — report that
|
|
36
|
+
honestly, with the step it stopped at. Exit 64 is a refusal before anything
|
|
37
|
+
ran (unknown id, bad params, a step off the allowlist).
|
|
36
38
|
|
|
37
39
|
## Where it runs (`--env`) and what it records
|
|
38
40
|
|
|
@@ -70,6 +72,24 @@ artifact; your job is to find the right one and run it with the right params.
|
|
|
70
72
|
preserves the plain, unhealed behavior. `hybrid`/`full` need an AI gateway
|
|
71
73
|
(`--real` after `jevitate ai setup`, or `--fake-ai` for a pipeline smoke);
|
|
72
74
|
requesting a heal mode without one fails closed rather than running unhealed.
|
|
75
|
+
- A heal mode also needs a change context, or it is refused (exit 64):
|
|
76
|
+
`--changes <git range>` (e.g. `HEAD~1..HEAD`, read-only) and/or one or more
|
|
77
|
+
`--change-note "renamed \"Create New\" to \"Create\""`. MCP: `changes`,
|
|
78
|
+
`changeNote`. Only a break that change explains is retargeted, one step for
|
|
79
|
+
one step; assertions, waits and request checks are never changed. A break the
|
|
80
|
+
change does not explain stays `quarantined` (a likely regression).
|
|
81
|
+
- Budgets bound the heal: `--heal-max-attempts` (2) / `--heal-max-model-calls`
|
|
82
|
+
(6) / `--heal-max-ms` per broken step; `--heal-max-run-attempts` (4) /
|
|
83
|
+
`--heal-max-run-ms` per run. Exhausting them ends `heal-exhausted` (exit 1)
|
|
84
|
+
with every attempt in the result.
|
|
85
|
+
- A healed run ends `healed-pending-review` (exit 5) and writes a proposal
|
|
86
|
+
(`result.proposal`: id, path, steps, `reviewCommand`, `acceptCommand`); the
|
|
87
|
+
stored Journey is untouched. Next: `jevitate journey review <id>` (MCP
|
|
88
|
+
`review_journey`), then a person accepts with
|
|
89
|
+
`jevitate journey promote <id> --proposal <pid>` or rejects with
|
|
90
|
+
`--reject-proposal <pid> --reason "<text>"`. Do not accept a proposal on the
|
|
91
|
+
user's behalf unless they asked you to. Show the user the changed steps and
|
|
92
|
+
the evidence it cites.
|
|
73
93
|
- A write/irreversible step NEVER auto-heals in any mode — that floor is
|
|
74
94
|
enforced by the runtime, not something you can override from a flag.
|
|
75
95
|
|
|
@@ -92,6 +112,17 @@ artifact; your job is to find the right one and run it with the right params.
|
|
|
92
112
|
proof, change since the last approval, and the content hash. Pass that hash
|
|
93
113
|
as `--reviewed-hash` (MCP `reviewedHash`) so the approval is refused
|
|
94
114
|
(`E_JOURNEY_REVIEW_STALE`) if the Journey changed after they read it.
|
|
115
|
+
- A new Journey, or one whose content changed beyond step ids, must follow the
|
|
116
|
+
anchor rules to promote (lowercase anchor names, anchors carrying their
|
|
117
|
+
step's `stepId`, a job-linked Journey naming at least one anchor, valid
|
|
118
|
+
`serves`/`jobStep` references); otherwise promote is refused with
|
|
119
|
+
`E_JOURNEY_ANCHOR_RULES` and the fix for each problem. The sheet and
|
|
120
|
+
`journey lint` show the same problems as warnings first.
|
|
121
|
+
- `jevitate journey review --stale --json` (MCP `review_journey` with
|
|
122
|
+
`stale: true`) lists every promoted Journey whose approval is stale;
|
|
123
|
+
`stepIdOnly: true` marks one whose only change is minted step ids (after
|
|
124
|
+
`jevitate journey migrate --step-ids`, which the operator runs and
|
|
125
|
+
commits). Re-approving those is still the person's act.
|
|
95
126
|
- `jevitate journey promote <id>` promotes a local Journey — a person's
|
|
96
127
|
approval, never automatic. It needs an interactive terminal: after the
|
|
97
128
|
sheet, the person types the Journey id (or the first 8 characters of its
|
|
@@ -44,6 +44,14 @@ never the click path; independent `--success` checks (page or network state); pr
|
|
|
44
44
|
whether it mutates state; and a run order (jobs that create data run before jobs that use it).
|
|
45
45
|
A job you can't write a checkable `--success` for is too vague. Split it or narrow it.
|
|
46
46
|
|
|
47
|
+
Optionally give a job its steps and desired outcomes (`steps`, `desiredOutcomes` with a `metric`
|
|
48
|
+
measured between anchors or the reserved `"job_start"` / `"job_end"`, a `target`, `guardrail: true`
|
|
49
|
+
for what must never get worse; docs/catalog.md). `jevitate job draft-outcomes <id> --real --json`
|
|
50
|
+
(MCP `draft_job_outcomes`) drafts 1-3 outcomes marked `provenance: ai_draft` for the human to
|
|
51
|
+
review; it never approves, and an approved job becomes stale. On each job-linked Journey, mark
|
|
52
|
+
where the job's steps start and end with anchors (`jobStep`, `boundary`), so its metrics are
|
|
53
|
+
measurable; `catalog status` lists the reference problems (`refIssues`).
|
|
54
|
+
|
|
47
55
|
## 3. Discovery: one goal run per job
|
|
48
56
|
|
|
49
57
|
For each job, as the right persona, with no scripted path:
|
|
@@ -167,6 +175,11 @@ probability ≥ its `threshold` (Jev only advises). Then `jevitate catalog statu
|
|
|
167
175
|
`fixed` by verify-fix (with a ledger entry or regression); the final round ran on the release
|
|
168
176
|
build; and no `inconclusive` run was counted as a pass. Anything short of that, report it as open.
|
|
169
177
|
|
|
178
|
+
To share the vetted catalog, `jevitate catalog export --format journeeze-bundle --out <dir>
|
|
179
|
+
[--check <check.json>] --json` (MCP `export_catalog_bundle`) writes a Journeeze catalog bundle, and
|
|
180
|
+
`jevitate publish journeeze --json` (MCP `publish_to_journeeze`) uploads it once a person has run
|
|
181
|
+
`jevitate connect journeeze` (or CI sets `JOURNEEZE_UPLOAD_KEY`). Neither approves anything.
|
|
182
|
+
|
|
170
183
|
## Templates
|
|
171
184
|
|
|
172
185
|
Job spec (one per job, `.jevitate/jobs.json`; the old `.jevitate/campaign/jobs.json` is still
|