@codyswann/lisa 2.217.3 → 2.217.5
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/cli/doctor-monitor-thresholds.d.ts +7 -4
- package/dist/cli/doctor-monitor-thresholds.d.ts.map +1 -1
- package/dist/cli/doctor-monitor-thresholds.js +57 -66
- package/dist/cli/doctor-monitor-thresholds.js.map +1 -1
- package/dist/sync/config-sync.d.ts.map +1 -1
- package/dist/sync/config-sync.js +22 -6
- package/dist/sync/config-sync.js.map +1 -1
- package/dist/sync/legacy-aliases.d.ts +27 -0
- package/dist/sync/legacy-aliases.d.ts.map +1 -0
- package/dist/sync/legacy-aliases.js +53 -0
- package/dist/sync/legacy-aliases.js.map +1 -0
- package/dist/sync/registry.d.ts +6 -0
- package/dist/sync/registry.d.ts.map +1 -1
- package/dist/sync/registry.js +11 -4
- package/dist/sync/registry.js.map +1 -1
- 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/.codex-plugin/skills/lisa-monitor/SKILL.md +63 -8
- package/plugins/lisa/skills/lisa-monitor/SKILL.md +63 -8
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-monitor/SKILL.md +63 -8
- 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/skills/lisa-monitor/SKILL.md +63 -8
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/lisa-monitor/SKILL.md +63 -8
- 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/skills/lisa-monitor/SKILL.md +63 -8
- package/ui/README.md +5 -3
- package/ui/index.html +1 -1
|
@@ -15,14 +15,69 @@ Spot-check application health, **audit observability completeness**, and **file
|
|
|
15
15
|
- `--all-gaps` — also file `recommended`-tier gaps (session replay, product analytics, etc.), not just `core`. Does not change anomaly thresholds.
|
|
16
16
|
- `max_candidates=<n>` — cap tickets filed this run (default 20; config `monitor.maxCandidates`).
|
|
17
17
|
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
## Monitor threshold compatibility
|
|
19
|
+
|
|
20
|
+
Before resolving anomaly thresholds, inspect the committed
|
|
21
|
+
`.lisa.config.json` and local `.lisa.config.local.json` separately with `jq`.
|
|
22
|
+
Use a literal, fixed-path projection that returns presence and value for only
|
|
23
|
+
these four exact paths; do not use `Read`, `cat`, interpolation, or a filter
|
|
24
|
+
that emits either entire config into agent context:
|
|
25
|
+
|
|
26
|
+
- `monitor.thresholds.minEvents24h`, then
|
|
27
|
+
`monitor.thresholds.sentryMinEvents24h`.
|
|
28
|
+
- `monitor.thresholds.faultRatePct`, then
|
|
29
|
+
`monitor.thresholds.xrayFaultRatePct`.
|
|
30
|
+
|
|
31
|
+
Run this fixed filter once with literal final argument `.lisa.config.json` and
|
|
32
|
+
once with literal final argument `.lisa.config.local.json` when the respective
|
|
33
|
+
file exists:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
jq 'def threshold($object; $name):
|
|
37
|
+
if ($object | has($name)) then
|
|
38
|
+
($object[$name] | type) as $type |
|
|
39
|
+
if $type == "number" then
|
|
40
|
+
if ($object[$name] | isfinite and (isnan | not)) then
|
|
41
|
+
{present: true, valid: true, type: "number", value: $object[$name]}
|
|
42
|
+
else
|
|
43
|
+
{present: true, valid: false, type: "non-finite-number"}
|
|
44
|
+
end
|
|
45
|
+
else
|
|
46
|
+
{present: true, valid: false, type: $type}
|
|
47
|
+
end
|
|
48
|
+
else
|
|
49
|
+
{present: false, valid: false, type: "missing"}
|
|
50
|
+
end;
|
|
51
|
+
(.monitor.thresholds | if type == "object" then . else {} end) as $t |
|
|
52
|
+
{
|
|
53
|
+
"monitor.thresholds.minEvents24h": threshold($t; "minEvents24h"),
|
|
54
|
+
"monitor.thresholds.sentryMinEvents24h": threshold($t; "sentryMinEvents24h"),
|
|
55
|
+
"monitor.thresholds.faultRatePct": threshold($t; "faultRatePct"),
|
|
56
|
+
"monitor.thresholds.xrayFaultRatePct": threshold($t; "xrayFaultRatePct")
|
|
57
|
+
}' .lisa.config.json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
A nonzero `jq` result fails threshold collection; do not treat an uninspectable
|
|
61
|
+
present file as if it were absent.
|
|
62
|
+
|
|
63
|
+
For each exact path, keep the raw `jq` presence/value result from each file;
|
|
64
|
+
do not inject defaults during this merge. Local presence overrides committed
|
|
65
|
+
presence per path. After that merge, resolve the current key before the legacy
|
|
66
|
+
key, then use default `1` for `monitor.thresholds.minEvents24h` or default `5`
|
|
67
|
+
for `monitor.thresholds.faultRatePct`. Current key wins over legacy key even
|
|
68
|
+
when its configured value is invalid.
|
|
69
|
+
|
|
70
|
+
Every configured threshold must be a finite JSON number. If the selected path
|
|
71
|
+
is null, a string, a boolean, an object, an array, or otherwise non-finite,
|
|
72
|
+
fail threshold collection and report the exact path and source without echoing
|
|
73
|
+
the invalid value; never fall through to a legacy value or default. Never quote
|
|
74
|
+
or report either whole config. The fixed `jq` projection itself must redact
|
|
75
|
+
invalid configured content: it emits only presence, validity, and a fixed type
|
|
76
|
+
classification, and includes the numeric `value` field only for a finite number.
|
|
77
|
+
For a valid resolution, the monitor report must include the resolved value and
|
|
78
|
+
source. Report only a validated numeric resolved value and one fixed source enum:
|
|
79
|
+
`local-current`, `committed-current`, `local-legacy`, `committed-legacy`, or
|
|
80
|
+
`default`.
|
|
26
81
|
|
|
27
82
|
## Orchestration: agent team
|
|
28
83
|
|
package/ui/README.md
CHANGED
|
@@ -58,9 +58,11 @@ AWS CloudWatch Alarms, AWS X-Ray, and future providers, so
|
|
|
58
58
|
and `faultRatePct` replace the legacy `sentryMinEvents24h` /
|
|
59
59
|
`xrayFaultRatePct`. The Monitoring section shows which providers are
|
|
60
60
|
connected (detected from credentials and instrumentation, not configured by
|
|
61
|
-
hand).
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
hand). `lisa sync` migrates a legacy monitor block when provenance proves Lisa
|
|
62
|
+
auto-populated the old default, while leaving human-chosen legacy values
|
|
63
|
+
untouched. The runtime keeps accepting those deprecated aliases, prefers the
|
|
64
|
+
provider-neutral key when both are present, and `lisa doctor` warns until a
|
|
65
|
+
project finishes migrating.
|
|
64
66
|
|
|
65
67
|
## Starter provenance & sync (planned — documented, not wired)
|
|
66
68
|
|
package/ui/index.html
CHANGED
|
@@ -3632,7 +3632,7 @@
|
|
|
3632
3632
|
},
|
|
3633
3633
|
{
|
|
3634
3634
|
type: "callout",
|
|
3635
|
-
text: "
|
|
3635
|
+
text: "lisa sync migrates a legacy monitor block when provenance proves Lisa auto-populated the old default, while preserving human-chosen legacy values. The runtime keeps accepting the deprecated aliases, prefers the provider-neutral key when both are present, and lisa doctor warns until migration is complete.",
|
|
3636
3636
|
},
|
|
3637
3637
|
],
|
|
3638
3638
|
};
|