@codyswann/lisa 2.341.1 → 2.341.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.
Files changed (103) hide show
  1. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  2. package/dist/core/upstream-evidence-manifest.js +11 -9
  3. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  4. package/package.json +3 -1
  5. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  6. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  7. package/plugins/lisa/.codex-plugin/skills/lisa-debrief/SKILL.md +3 -3
  8. package/plugins/lisa/.codex-plugin/skills/lisa-debrief-apply/SKILL.md +6 -3
  9. package/plugins/lisa/.codex-plugin/skills/lisa-implement/SKILL.md +4 -3
  10. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +2 -2
  11. package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-seer/SKILL.md +2 -2
  12. package/plugins/lisa/.codex-plugin/skills/lisa-verify/SKILL.md +2 -2
  13. package/plugins/lisa/agents/learnings-synthesizer.md +21 -4
  14. package/plugins/lisa/rules/reference/intent-routing.md +9 -10
  15. package/plugins/lisa/rules/reference/project-learnings.md +2 -1
  16. package/plugins/lisa/skills/lisa-debrief/SKILL.md +3 -3
  17. package/plugins/lisa/skills/lisa-debrief-apply/SKILL.md +6 -3
  18. package/plugins/lisa/skills/lisa-implement/SKILL.md +4 -3
  19. package/plugins/lisa/skills/lisa-parity-sentry-sdk-setup/SKILL.md +2 -2
  20. package/plugins/lisa/skills/lisa-parity-sentry-seer/SKILL.md +2 -2
  21. package/plugins/lisa/skills/lisa-verify/SKILL.md +2 -2
  22. package/plugins/lisa-agy/agents/learnings-synthesizer.md +21 -4
  23. package/plugins/lisa-agy/plugin.json +1 -1
  24. package/plugins/lisa-agy/skills/lisa-debrief/SKILL.md +3 -3
  25. package/plugins/lisa-agy/skills/lisa-debrief-apply/SKILL.md +6 -3
  26. package/plugins/lisa-agy/skills/lisa-implement/SKILL.md +4 -3
  27. package/plugins/lisa-agy/skills/lisa-parity-sentry-sdk-setup/SKILL.md +2 -2
  28. package/plugins/lisa-agy/skills/lisa-parity-sentry-seer/SKILL.md +2 -2
  29. package/plugins/lisa-agy/skills/lisa-verify/SKILL.md +2 -2
  30. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  32. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  33. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-copilot/agents/learnings-synthesizer.agent.md +21 -4
  37. package/plugins/lisa-copilot/rules/reference/intent-routing.md +9 -10
  38. package/plugins/lisa-copilot/rules/reference/project-learnings.md +2 -1
  39. package/plugins/lisa-copilot/skills/lisa-debrief/SKILL.md +3 -3
  40. package/plugins/lisa-copilot/skills/lisa-debrief-apply/SKILL.md +6 -3
  41. package/plugins/lisa-copilot/skills/lisa-implement/SKILL.md +4 -3
  42. package/plugins/lisa-copilot/skills/lisa-parity-sentry-sdk-setup/SKILL.md +2 -2
  43. package/plugins/lisa-copilot/skills/lisa-parity-sentry-seer/SKILL.md +2 -2
  44. package/plugins/lisa-copilot/skills/lisa-verify/SKILL.md +2 -2
  45. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  46. package/plugins/lisa-cursor/agents/learnings-synthesizer.md +21 -4
  47. package/plugins/lisa-cursor/rules/intent-routing-reference.mdc +9 -10
  48. package/plugins/lisa-cursor/rules/project-learnings-reference.mdc +2 -1
  49. package/plugins/lisa-cursor/skills/lisa-debrief/SKILL.md +3 -3
  50. package/plugins/lisa-cursor/skills/lisa-debrief-apply/SKILL.md +6 -3
  51. package/plugins/lisa-cursor/skills/lisa-implement/SKILL.md +4 -3
  52. package/plugins/lisa-cursor/skills/lisa-parity-sentry-sdk-setup/SKILL.md +2 -2
  53. package/plugins/lisa-cursor/skills/lisa-parity-sentry-seer/SKILL.md +2 -2
  54. package/plugins/lisa-cursor/skills/lisa-verify/SKILL.md +2 -2
  55. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  57. package/plugins/lisa-expo-agy/plugin.json +1 -1
  58. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  59. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  62. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  63. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  64. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  65. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  67. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  68. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  72. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  73. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  77. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  78. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  82. package/plugins/lisa-rails-agy/plugin.json +1 -1
  83. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  87. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  88. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  92. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  93. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  95. package/plugins/src/base/agents/learnings-synthesizer.md +21 -4
  96. package/plugins/src/base/rules/reference/intent-routing.md +9 -10
  97. package/plugins/src/base/rules/reference/project-learnings.md +2 -1
  98. package/plugins/src/base/skills/lisa-debrief/SKILL.md +3 -3
  99. package/plugins/src/base/skills/lisa-debrief-apply/SKILL.md +6 -3
  100. package/plugins/src/base/skills/lisa-implement/SKILL.md +4 -3
  101. package/plugins/src/base/skills/lisa-parity-sentry-sdk-setup/SKILL.md +2 -2
  102. package/plugins/src/base/skills/lisa-parity-sentry-seer/SKILL.md +2 -2
  103. package/plugins/src/base/skills/lisa-verify/SKILL.md +2 -2
@@ -18,7 +18,7 @@ A path or URL to a Debrief triage document produced by `lisa-debrief`. The docum
18
18
 
19
19
  1. **Verify the doc exists and parses.** If the file cannot be read or the expected sections are missing, stop and report — do not guess.
20
20
  2. **Confirm dispositions exist.** If every row is unmarked, stop and ask the human to triage first. A pristine doc is a no-op, not an error to silently swallow.
21
- 3. **Identify the destination map.** Read the project's `.lisa.config.json` (or stack defaults) for: edge-case checklist file (default: `plugins/src/base/rules/intent-routing.md`'s Edge Case Brainstorm sub-flow), the committed learnings ledger path (resolve it — never hardcode — via `resolveProjectLearningsFile` from `@codyswann/lisa/learnings`: the `learnings.file` override, else the default `.lisa/PROJECT_LEARNINGS.md`), tracker for new tickets. The three knowledge categories (recurring gotcha, process friction, convention drift) all land in the ledger now; machine-local auto-memory and `PROJECT_RULES.md` / `CLAUDE.md` are no longer knowledge destinations (see [Ledger persistence](#ledger-persistence-knowledge-categories)).
21
+ 3. **Identify the destination map.** Read the project's `.lisa.config.json` (or stack defaults) for: edge-case checklist file (default: `plugins/src/base/rules/intent-routing.md`'s Edge Case Brainstorm sub-flow), the committed learnings ledger path (resolve it — never hardcode — via `resolveProjectLearningsFile` from `@codyswann/lisa/learnings`: the `learnings.file` override, else the default `.lisa/PROJECT_LEARNINGS.md`), tracker for new tickets. The three knowledge categories (recurring gotcha, process friction, convention drift) all land in the ledger now; machine-local auto-memory and `PROJECT_RULES.md` / `AGENTS.md` are no longer knowledge destinations (see [Ledger persistence](#ledger-persistence-knowledge-categories)).
22
22
 
23
23
  ## Routing rules
24
24
 
@@ -34,6 +34,7 @@ For every row marked **Accept**:
34
34
  | Decomposition infidelity | Upstream Lisa repo | File an upstream Lisa issue per the "Filing upstream" procedure in `lisa-rework-triage`, citing the PRD text vs. the distorted ticket AC and naming the gate that passed it. |
35
35
  | PRD defect | Source PRD | Comment on the PRD via the `lisa-prd-backlink` lineage quoting the defective requirement and the failure it missed; flag for product review. Never silently edit the spec. |
36
36
  | Missing tool access | Configured tracker | Create a provisioning ticket via `lisa-tracker-write` (`issue_type: Task`, `type:tooling`) describing the missing tool/credential/environment and which flow needs it. |
37
+ | Uncategorized | **No route — requires reclassification** | `Uncategorized` records that the synthesizer could not fit the finding to a category; it is not itself a destination. Do NOT guess a route and do NOT silently skip the row. Leave the row unapplied, mark it `[!] Needs reclassification — <the synthesizer's "why no category fit" note>`, and list it under its own heading in the run summary so the human can retag it to one of the eight and re-run `apply`. A row that stays `Uncategorized` across runs is a signal the category set itself is missing a case — worth an upstream Lisa issue, not a forced fit. |
37
38
 
38
39
  For every row marked **Reject** or **Defer**: no action. Defer is a no-op for `apply` but worth surfacing in the run summary — the human may want to revisit at the next debrief.
39
40
 
@@ -60,13 +61,13 @@ For each such Accepted row:
60
61
  - `first_learned` = `last_confirmed` = today (ISO date; on consolidation keep the superseded entry's earliest `first_learned`).
61
62
  - `confidence` = **`high`**. A human marking the row **Accept** is corroboration — an independent human judgement that the learning is real — so a debrief-accepted entry starts higher than the learner's single-occurrence auto-capture (which defaults to `low`). The writer re-asserts the entry and token budgets; an over-budget failure means consolidate harder or drop, never truncate by hand.
62
63
 
63
- **Machine-local memory is no longer a knowledge destination.** Auto-memory (`project_*.md`, `MEMORY.md`) remains available only for the assistant's *personal* collaboration notes — it is invisible to cloud runs and to teammates, so it can never hold shared project knowledge. **`CLAUDE.md` is human-authored** agent operating instruction and `PROJECT_RULES.md` is durable human-authored guidance; `apply` never writes to any of the three for these categories.
64
+ **Machine-local memory is no longer a knowledge destination.** Auto-memory (`project_*.md`, `MEMORY.md`) remains available only for the assistant's *personal* collaboration notes — it is invisible to cloud runs and to teammates, so it can never hold shared project knowledge. **`AGENTS.md` is human-authored** agent operating instruction — it is the source of truth, and `CLAUDE.md` is only a one-line `@AGENTS.md` pointer — and `PROJECT_RULES.md` is durable human-authored guidance; `apply` never writes to any of the three for these categories.
64
65
 
65
66
  ## Idempotency
66
67
 
67
68
  `apply` is safe to re-run. Each Accepted row carries an evidence link that doubles as a fingerprint. Before writing, check whether the destination already cites that fingerprint:
68
69
 
69
- - **Knowledge categories (gotcha, friction, drift) → ledger.** Parse the ledger once with `parseLearningsFile` from `@codyswann/lisa/learnings` and scan the entries' `provenance` for the row's evidence link. If any entry's provenance already contains it, the row is already persisted — skip the write. This replaces the old scattered-file greps (memory files, `PROJECT_RULES.md`, `CLAUDE.md`): provenance in the single governed ledger is now the one fingerprint surface.
70
+ - **Knowledge categories (gotcha, friction, drift) → ledger.** Parse the ledger once with `parseLearningsFile` from `@codyswann/lisa/learnings` and scan the entries' `provenance` for the row's evidence link. If any entry's provenance already contains it, the row is already persisted — skip the write. This replaces the old scattered-file greps (memory files, `PROJECT_RULES.md`, `AGENTS.md`): provenance in the single governed ledger is now the one fingerprint surface.
70
71
  - **Other categories** keep their existing destination check (the tracker for the ticket marker, the PRD for the defect comment, `intent-routing.md` for the edge-case citation).
71
72
 
72
73
  If the fingerprint is already present, skip the write and note the row as `already-applied` in the run summary. This lets the human triage a doc incrementally (mark a few, run apply, mark more, run apply again) without producing duplicates.
@@ -92,6 +93,8 @@ Applied <n> learnings:
92
93
  <n> missing tool access → <tracker> (<key1>, ...)
93
94
  Skipped:
94
95
  <n> rejected, <n> deferred, <n> already-applied
96
+ Needs reclassification:
97
+ <n> uncategorized (retag to one of the eight categories and re-run apply)
95
98
  Failed:
96
99
  <n> (see <path> for details)
97
100
  Triage doc updated in place: <path>
@@ -336,9 +336,10 @@ Before shutting down the team, execute the Verify flow:
336
336
  9. Merge the PR, then refresh the ticket-side backlink with `lisa-tracker-sync <work_item_ref> pr-merged pr_url=<url> merge_sha=<sha> tracker_provider=<provider>`.
337
337
  10. Monitor the deploy action that triggers automatically from the successful merge
338
338
  11. If deploy fails, create a task for the agent team to fix the failure, open a new PR and then go back to step 7
339
- 12. Remote verification: `verification-specialist` verifies in target environment (same checks as local verification, but on remote), and refreshes the verdict (step 2a) to reflect the remote result.
340
- 13. `ops-specialist`: post-deploy health check, monitor for errors in first minutes
339
+ 12. Remote verification: `verification-specialist` verifies in target environment (same checks as local verification, but on remote), and refreshes the verdict (step 2a) to reflect the remote result. Resolve credentials through the `verification-lifecycle` lookup order before declaring any missing. If they remain genuinely unavailable, do not complete on artifact-only evidence: post a tracker comment naming every credential source checked and what could not be verified as a result, transition the work item to the configured blocked state, and apply the configured `needs-human` / `human-review` label (creating it when the tracker supports label creation and it is missing). The comment is what makes the escalation auditable — a label alone records that something stopped, not what was tried or why. Evidence must explicitly distinguish `verified empirically` from `artifact-only / verification deferred`.
340
+ 13. `ops-specialist`: post-deploy health check via `lisa-monitor <env> --report-only`, monitor for errors in first minutes. `--report-only` is REQUIRED: it keeps the post-deploy check a pure health/audit report so monitor's standalone ticket-filing never fires inside this flow.
341
341
  14. If remote verification fails, create a task for the agent team to find out why it failed, fix it and return to step 5. **Bound this loop**: after a small number of full fix→deploy→reverify cycles without reaching a passing remote verdict (treat ~3 as the ceiling unless the work item states otherwise), stop retrying — file a build-ready fix ticket, write the verdict with `status: "blocked"` and the diagnosis, and move the work item to blocked rather than looping indefinitely. The completion gate releases on a `blocked` verdict, so the flow ends with a recorded outcome instead of a silent spin or a self-declared success.
342
- 15. After true terminal completion required merge/deploy/verification passed, usage/evidence and two-way PR linkage are recorded, and the work item is terminal run `node scripts/lisa-work-item.mjs clear` and verify the worktree has no current binding. Do not clear on an interruption or blocked outcome; preserving the binding is what keeps resumed work attributable.
342
+ 15. **Post evidence to the originating work item** via `lisa-tracker-evidence` (vendor-neutral; dispatches to `lisa-jira-evidence`, `lisa-github-evidence`, or `lisa-linear-evidence` per `.lisa.config.json` `tracker`), including the list of codified tests added on this branch. **If the work is UI-visible** (any verification step ran in a browser, or the change touches a user-facing surface), author `evidence/comment.md` per the **UI Evidence Checklist** in `lisa-tracker-evidence` numbered live-session steps, one screenshot per step captured through the interactive browser controller and uploaded to the GitHub `pr-assets` release as plain URLs, and an explicit invitation to be corrected. This step is what makes the proof visible to a non-technical operator standing at the gate; a terminal work item with no posted evidence is an incomplete flow, not a finished one.
343
+ 16. After true terminal completion — required merge/deploy/verification passed, usage/evidence and two-way PR linkage are recorded, and the work item is terminal — run `node scripts/lisa-work-item.mjs clear` and verify the worktree has no current binding. Do not clear on an interruption or blocked outcome; preserving the binding is what keeps resumed work attributable.
343
344
 
344
345
  **Ticket status transitions throughout this flow are config-bound** per the **Tracker status vocabulary** section of the `config-resolution` rule: whoever performs the tracker write — the lead included, in runtimes where the tracker MCP is lead-only — may only target statuses named in the configured workflow map (`claimed`, `blocked`, env-keyed `done`, and `review`/`qa` when configured). Never adopt a status discovered from the tracker's live workflow; a lifecycle stage with no configured status gets a comment, not a transition.
@@ -2,7 +2,7 @@
2
2
  name: lisa-parity-sentry-sdk-setup
3
3
  description: "Install and configure the Sentry SDK for a project — detect the framework/runtime, add the correct @sentry/<framework> package, initialize the client, wire the DSN through env, enable error + performance monitoring, and set up source map upload for readable stack traces. One consolidated skill covering react, nextjs, node, nestjs, express, python, django, react-native, and more. Lisa-native reimplementation of Sentry's SDK-setup suite. Use when adding Sentry to a project or fixing an existing Sentry install."
4
4
  allowed-tools: ["Read", "Edit", "Write", "Bash"]
5
- synced-from: sentry@claude-plugins-official@1.3.0
5
+ synced-from: sentry@claude-plugins-official@1.3.1
6
6
  ---
7
7
 
8
8
  # Sentry SDK Setup
@@ -19,7 +19,7 @@ setup skills**; this single Lisa-native skill consolidated all of them. As of
19
19
  upstream **1.2.0** Sentry itself consolidated the suite into one
20
20
  `sentry-instrument` playbook, so the shapes now match — but this skill remains a
21
21
  from-scratch reimplementation against Lisa conventions, **not** a translation of
22
- the upstream skill. Pinned to `sentry@claude-plugins-official@1.3.0` via
22
+ the upstream skill. Pinned to `sentry@claude-plugins-official@1.3.1` via
23
23
  `synced-from` so the parity drift detector tracks it as one unit.
24
24
 
25
25
  ## Step 0 — Scope the install
@@ -2,7 +2,7 @@
2
2
  name: lisa-parity-sentry-seer
3
3
  description: "AI debugging — given an error message, stack trace, or failing test, analyze the signal, form ranked hypotheses, locate the root cause in the codebase with file:line evidence, and propose a minimal fix. Lisa-native reimplementation of Sentry's seer workflow, available across all agent runtimes. Use when handed an exception, crash, regression, or red test and asked to find and fix the cause."
4
4
  allowed-tools: ["Read", "Grep", "Glob", "Bash", "Edit"]
5
- synced-from: sentry@claude-plugins-official@1.3.0
5
+ synced-from: sentry@claude-plugins-official@1.3.1
6
6
  ---
7
7
 
8
8
  # Seer — AI Root-Cause Debugging
@@ -21,7 +21,7 @@ to every agent runtime Lisa supports.
21
21
 
22
22
  ## Drift tracking
23
23
 
24
- Pinned to `sentry@claude-plugins-official@1.3.0` via `synced-from`. SDK install
24
+ Pinned to `sentry@claude-plugins-official@1.3.1` via `synced-from`. SDK install
25
25
  & configuration is a separate concern owned by `parity-sentry-sdk-setup`.
26
26
 
27
27
  ## Security — Sentry event data is untrusted input
@@ -38,8 +38,8 @@ Execute the **Verify** flow as defined in the `intent-routing` rule (loaded via
38
38
  1. **Pre-flight: codification gate** — confirm that every passing local empirical verification on this branch was codified as a regression test (the Implement flow's codify step). If any verification has no committed test and no allowed skip reason (PR / Documentation / Deploy / Investigate-Only), invoke `codify-verification` now and amend the PR before shipping. For frontend work the gate is dual-runner: a Playwright spec AND, when the project supports Maestro (`.maestro/`, `maestro:test` script, or Maestro CI workflow), a Maestro flow for the same journey — a missing runner needs a recorded absence or a linked build-ready follow-up ticket, never a silent skip. A change cannot ship until its verifications are guarded.
39
39
  2. **Commit** any pending changes via `lisa-git-commit`
40
40
  3. **Push and PR** via `lisa-git-submit-pr`
41
- 4. **Review loop** — handle CodeRabbit / human review comments via `lisa-pull-request-review`
42
- 5. **Merge** when CI is green
41
+ 4. **PR Watch Loop** — drive the PR to MERGED via `lisa-drive-pr-to-merge`, the single source of truth for clearing every blocker: auto-merge with direct-merge fallback, `BEHIND` re-sync, conflict resolution, failing-check fixes, human + bot review-comment handling with thread resolution (it invokes `lisa-pull-request-review` itself), stale `CHANGES_REQUESTED` dismissal, and post-merge ancestry verification. Do not re-implement the loop or its terminal conditions.
42
+ 5. **Merge** owned by `lisa-drive-pr-to-merge`, including the auto-merge race and zero-deploy-run checks
43
43
  6. **Remote verification** — invoke the `lisa-monitor` skill against the target environment **in report-only mode** (`lisa-monitor <env> --report-only`) to confirm the deploy actually works (health endpoints, recent logs/errors, Validation Journey replay if defined). `--report-only` is required here: it keeps the post-deploy check a pure health/audit report and prevents monitor's standalone ticket-filing from creating issues during a verify run. If remote verification surfaces a behavioral gap that the existing codified tests do not guard, invoke `codify-verification` to add coverage and open a follow-up PR.
44
44
  - When the Validation Journey is DOM-web, the target is an allowed non-production environment with mutation policy `full`, and `lisa kane probe` succeeds, verification may invoke `lisa-kane-browser`. Import the local evidence pack into Lisa's evidence flow; the Test Manager URL is secondary. Kane does not replace the pre-flight Playwright/Maestro codification gate.
45
45
  - When remote verification needs credentials, follow the shared `verification-lifecycle` credential lookup order before declaring them missing: project e2e / Playwright config and fixtures first, then `.lisa.config.local.json` / environment variables, then documented ticket credentials such as a `Sign-in Required` section.