@codyswann/lisa 2.174.1 → 2.175.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/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/commands/monitor.md +3 -3
- package/plugins/lisa/rules/eager/observability-audit.md +15 -0
- package/plugins/lisa/rules/reference/config-resolution.md +35 -0
- package/plugins/lisa/rules/reference/intent-routing.md +8 -3
- package/plugins/lisa/rules/reference/observability-audit.md +122 -0
- package/plugins/lisa/skills/monitor/SKILL.md +27 -6
- package/plugins/lisa/skills/monitor/agents/openai.yaml +2 -2
- package/plugins/lisa/skills/verify/SKILL.md +1 -1
- package/plugins/lisa-agy/commands/monitor.md +3 -3
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/monitor/SKILL.md +27 -6
- package/plugins/lisa-agy/skills/verify/SKILL.md +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/commands/monitor.md +3 -3
- package/plugins/lisa-copilot/rules/eager/observability-audit.md +15 -0
- package/plugins/lisa-copilot/rules/reference/config-resolution.md +35 -0
- package/plugins/lisa-copilot/rules/reference/intent-routing.md +8 -3
- package/plugins/lisa-copilot/rules/reference/observability-audit.md +122 -0
- package/plugins/lisa-copilot/skills/monitor/SKILL.md +27 -6
- package/plugins/lisa-copilot/skills/verify/SKILL.md +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/commands/monitor.md +3 -3
- package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +35 -0
- package/plugins/lisa-cursor/rules/intent-routing-reference.mdc +8 -3
- package/plugins/lisa-cursor/rules/observability-audit-reference.mdc +127 -0
- package/plugins/lisa-cursor/rules/observability-audit.mdc +20 -0
- package/plugins/lisa-cursor/skills/monitor/SKILL.md +27 -6
- package/plugins/lisa-cursor/skills/verify/SKILL.md +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/commands/monitor.md +3 -3
- package/plugins/src/base/rules/eager/observability-audit.md +15 -0
- package/plugins/src/base/rules/reference/config-resolution.md +35 -0
- package/plugins/src/base/rules/reference/intent-routing.md +8 -3
- package/plugins/src/base/rules/reference/observability-audit.md +122 -0
- package/plugins/src/base/skills/monitor/SKILL.md +27 -6
- package/plugins/src/base/skills/verify/SKILL.md +1 -1
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: monitor
|
|
3
|
-
description: "Monitor application health
|
|
4
|
-
allowed-tools: ["Skill", "Bash", "Read", "Grep"]
|
|
3
|
+
description: "Monitor application health AND audit observability completeness for the current repo, then file build-ready tickets for what it finds. Checks health endpoints, recent logs (CloudWatch / Sentry / browser console), error-rate spikes, performance hotspots, pending migrations, and Playwright smoke flows via the stack-specific ops-specialist (Expo, Rails) or stack-agnostic base probing (any stack, incl. NestJS / CDK). Audits the repo against an observability-completeness rubric scoped to its type (frontend / backend / infra) and flags instrumentation gaps (e.g. no distributed tracing, no DB/query analytics). For each high-signal anomaly and each in-scope missing dimension it files a single-repo, build-ready leaf ticket via tracker-write (idempotent, capped, repo-scoped) so the intake cron implements it — monitor files only, it never fixes. Manual (no cron); files by default, `--dry-run` previews. Conservative by default. Also invoked as the post-deploy step of lisa:verify, where it runs report-only (never files)."
|
|
4
|
+
allowed-tools: ["Skill", "Bash", "Read", "Grep", "Glob"]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Monitor: $ARGUMENTS
|
|
8
8
|
|
|
9
|
-
Spot-check application health
|
|
9
|
+
Spot-check application health, **audit observability completeness**, and **file build-ready tickets** for the problems and instrumentation gaps it finds — all scoped to the current repo. Useful reactively (after a deploy, after a Sentry alert, before pushing a hot change), as a periodic manual observability sweep, and as the post-deploy verification step inside `lisa:verify`.
|
|
10
|
+
|
|
11
|
+
**Arguments:** `<environment>` (`dev` / `staging` / `prod`) `[--dry-run] [--report-only] [--all-gaps] [max_candidates=<n>]`.
|
|
12
|
+
|
|
13
|
+
- `--dry-run` — audit and report which tickets *would* be filed, but create nothing.
|
|
14
|
+
- `--report-only` — health/audit summary only; no filing and no would-file analysis. This is the mode `lisa:verify` passes for its post-deploy check, so monitor never files during a verify run.
|
|
15
|
+
- `--all-gaps` — also file `recommended`-tier gaps (session replay, product analytics, etc.), not just `core`. Does not change anomaly thresholds.
|
|
16
|
+
- `max_candidates=<n>` — cap tickets filed this run (default 20; config `monitor.maxCandidates`).
|
|
10
17
|
|
|
11
18
|
## Orchestration: agent team
|
|
12
19
|
|
|
@@ -31,7 +38,9 @@ Treat the first successful lead-spawn request (or, on the Codex fallback, the fi
|
|
|
31
38
|
|
|
32
39
|
## Flow
|
|
33
40
|
|
|
34
|
-
Execute the **Monitor** sub-flow as defined in the `intent-routing` rule (loaded via the lisa plugin)
|
|
41
|
+
Execute the **Monitor** sub-flow as defined in the `intent-routing` rule (loaded via the lisa plugin): **discover → collect live signals → audit completeness → report → file (standalone only)**. The `observability-audit` rule owns the profile detection, the completeness rubric, the conservative anomaly thresholds, the gate-passing ticket templates, the fingerprint/idempotency contract, the cap, and the Verify report-only guard — follow it; do not restate it here.
|
|
42
|
+
|
|
43
|
+
**Live-signal collection** delegates to a stack-specific `ops-specialist` agent when the stack overlay ships one. The **Expo** ops-specialist composes the full set below:
|
|
35
44
|
|
|
36
45
|
- `ops-verify-health` — health endpoints
|
|
37
46
|
- `ops-check-logs` — CloudWatch / browser console / device / Serverless logs
|
|
@@ -41,8 +50,20 @@ Execute the **Monitor** sub-flow as defined in the `intent-routing` rule (loaded
|
|
|
41
50
|
- `ops-db-ops` — pending migrations, replication lag
|
|
42
51
|
- `ops-deploy` — deploy status / rollback readiness
|
|
43
52
|
|
|
44
|
-
The agent decides which subset to run based on the env, the
|
|
53
|
+
The **Rails** ops-specialist composes a different subset (`ops-run-local`, `ops-deploy`, `ops-check-logs`, `ops-verify-jobs`, `ops-verify-telemetry` — X-Ray/CloudWatch traces and metrics via `ops-verify-telemetry`). When no `ops-specialist` overlay is present (e.g. NestJS, CDK, or a generic TypeScript repo), fall back to **stack-agnostic base probing** — read manifests/config to discover what's wired, then probe live sources directly (Sentry CLI/REST, `aws logs` / `aws cloudwatch` / `aws xray`, the Playwright MCP for client-side console/network), exactly as the `observability-audit` "read-then-probe" detection prescribes. The agent decides which subset to run based on the env, the repo profile, and any extra context.
|
|
54
|
+
|
|
55
|
+
## Ticket filing (standalone only)
|
|
56
|
+
|
|
57
|
+
After report, file what was found — **only when run standalone**, never under `--report-only`/`--dry-run` and never when nested inside `lisa:verify` (which passes `--report-only`):
|
|
58
|
+
|
|
59
|
+
- **Anomalies** (live signals over the conservative bar) → `Bug` leaves. **Gaps** (in-scope MISSING rubric dimensions) → `Task`/`Improvement` leaves.
|
|
60
|
+
- Every ticket is filed via the vendor-neutral `lisa:tracker-write` shim with `build_ready: true` (never a vendor write skill directly), as a **single-repo leaf** stamped `repo:<current>`, with a real three-audience description, Gherkin AC, Target Backend Environment, and a Validation Journey + `EVIDENCE:` marker so it passes the `tracker-validate` gates.
|
|
61
|
+
- **Idempotent:** embed the `<!-- lisa-monitor-finding: <fingerprint> -->` sentinel and search-before-create; never duplicate a live or just-resolved finding.
|
|
62
|
+
- **Capped** at `max_candidates` (default 20), `core`/high-severity first; report how many were filed vs dropped.
|
|
63
|
+
- **`--dry-run`** previews would-file tickets and creates nothing. **`--all-gaps`** widens gap filing to `recommended` tiers.
|
|
64
|
+
|
|
65
|
+
`monitor` files only. The `intake` / `tracker-build-intake` cron picks the ready tickets up and implements them.
|
|
45
66
|
|
|
46
67
|
## Output
|
|
47
68
|
|
|
48
|
-
A
|
|
69
|
+
A single report: the health/anomaly summary (failures, warnings, no-issue confirmations) + the observability audit table (each in-scope dimension as `OK` / `WARN` / `MISSING` / `PRESENT (unverified)`) + the filing summary (tickets filed with refs + fingerprints, duplicates skipped, dropped count if the cap truncated; or would-file tickets under `--dry-run`). For post-deploy verification (when called from `lisa:verify`), the report-only summary becomes evidence on the originating work item.
|
|
@@ -38,7 +38,7 @@ Execute the **Verify** flow as defined in the `intent-routing` rule (loaded via
|
|
|
38
38
|
3. **Push and PR** via `lisa:git-submit-pr`
|
|
39
39
|
4. **Review loop** — handle CodeRabbit / human review comments via `lisa:pull-request-review`
|
|
40
40
|
5. **Merge** when CI is green
|
|
41
|
-
6. **Remote verification** — invoke the `lisa:monitor` skill against the target environment to confirm the deploy actually works (health endpoints, recent logs/errors, Validation Journey replay if defined). 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.
|
|
41
|
+
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.
|
|
42
42
|
- 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.
|
|
43
43
|
- Should credentials remain genuinely unavailable after those sources are exhausted, do not complete the item on artifact-only evidence. Post a tracker comment stating what could not be verified and why, transition the work item to the configured blocked state, and apply the configured `needs-human` / `human-review` label, creating it if the tracker supports label creation and it is missing.
|
|
44
44
|
- Evidence must explicitly distinguish `verified empirically` from `artifact-only / verification deferred`.
|