@codyswann/lisa 4.64.0 → 4.64.1
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/core/instruction-files-migration.d.ts +2 -1
- package/dist/core/instruction-files-migration.d.ts.map +1 -1
- package/dist/core/instruction-files-migration.js +5 -1
- package/dist/core/instruction-files-migration.js.map +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.js +2 -2
- package/package.json +4 -4
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/rules/eager/tool-access-gate.md +13 -11
- package/plugins/lisa/rules/reference/tool-access-gate.md +31 -38
- package/plugins/lisa-agy/plugin.json +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/rules/eager/tool-access-gate.md +13 -11
- package/plugins/lisa-copilot/rules/reference/tool-access-gate.md +31 -38
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/rules/tool-access-gate-reference.mdc +31 -38
- package/plugins/lisa-cursor/rules/tool-access-gate.mdc +13 -11
- 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/rules/eager/tool-access-gate.md +13 -11
- package/plugins/src/base/rules/reference/tool-access-gate.md +31 -38
|
@@ -5,22 +5,24 @@ alwaysApply: true
|
|
|
5
5
|
|
|
6
6
|
# Tool Access Gate (load-bearing)
|
|
7
7
|
|
|
8
|
+
- If you can't reach something you need, such as a repository, a secret, an API, or a connector, say exactly what's missing in your first message and stop. Don't substitute, mock, or guess.
|
|
9
|
+
|
|
10
|
+
If the missing access is discovered after work begins, say exactly what's
|
|
11
|
+
missing in your next message and stop.
|
|
12
|
+
|
|
8
13
|
Only take on work you can finish. Before implementation starts — and again the
|
|
9
14
|
moment a new requirement surfaces mid-flow — enumerate every external tool the
|
|
10
15
|
work item needs (implementation, proof command, remote verification: AWS CLI,
|
|
11
16
|
Figma, Jam, Sentry, SonarCloud, PostHog, device/browser harnesses, databases,
|
|
12
17
|
deploy targets, …) and **prove access with a cheap read-only probe**, routing
|
|
13
|
-
through the matching `*-access` skill where one exists.
|
|
14
|
-
access
|
|
15
|
-
|
|
18
|
+
through the matching `*-access` skill where one exists. Resolve credentials through the documented access path before probing;
|
|
19
|
+
presence on PATH is not access. If that path or the probe cannot provide the
|
|
20
|
+
required access, report the gap and stop.
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
`blocked` verification verdict. Substituting weaker verification, mocking the
|
|
22
|
-
inaccessible system, guessing at tool contents, or narrowing scope to dodge the
|
|
23
|
-
gap are all forbidden.
|
|
22
|
+
The message must name the missing resource, the operation it blocks, and any
|
|
23
|
+
known access requirement, without exposing secret values. Substituting weaker
|
|
24
|
+
verification, mocking the inaccessible system, guessing at its contents, or
|
|
25
|
+
narrowing scope to dodge the gap are all forbidden.
|
|
24
26
|
|
|
25
|
-
Full contract (probe table,
|
|
27
|
+
Full contract (probe table, blocker report, resume path):
|
|
26
28
|
[reference/tool-access-gate.md](tool-access-gate-reference.mdc).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.64.
|
|
3
|
+
"version": "4.64.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.64.
|
|
3
|
+
"version": "4.64.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.64.
|
|
3
|
+
"version": "4.64.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.64.
|
|
3
|
+
"version": "4.64.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "4.64.
|
|
3
|
+
"version": "4.64.1",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
# Tool Access Gate (load-bearing)
|
|
2
2
|
|
|
3
|
+
- If you can't reach something you need, such as a repository, a secret, an API, or a connector, say exactly what's missing in your first message and stop. Don't substitute, mock, or guess.
|
|
4
|
+
|
|
5
|
+
If the missing access is discovered after work begins, say exactly what's
|
|
6
|
+
missing in your next message and stop.
|
|
7
|
+
|
|
3
8
|
Only take on work you can finish. Before implementation starts — and again the
|
|
4
9
|
moment a new requirement surfaces mid-flow — enumerate every external tool the
|
|
5
10
|
work item needs (implementation, proof command, remote verification: AWS CLI,
|
|
6
11
|
Figma, Jam, Sentry, SonarCloud, PostHog, device/browser harnesses, databases,
|
|
7
12
|
deploy targets, …) and **prove access with a cheap read-only probe**, routing
|
|
8
|
-
through the matching `*-access` skill where one exists.
|
|
9
|
-
access
|
|
10
|
-
|
|
13
|
+
through the matching `*-access` skill where one exists. Resolve credentials through the documented access path before probing;
|
|
14
|
+
presence on PATH is not access. If that path or the probe cannot provide the
|
|
15
|
+
required access, report the gap and stop.
|
|
11
16
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
`blocked` verification verdict. Substituting weaker verification, mocking the
|
|
17
|
-
inaccessible system, guessing at tool contents, or narrowing scope to dodge the
|
|
18
|
-
gap are all forbidden.
|
|
17
|
+
The message must name the missing resource, the operation it blocks, and any
|
|
18
|
+
known access requirement, without exposing secret values. Substituting weaker
|
|
19
|
+
verification, mocking the inaccessible system, guessing at its contents, or
|
|
20
|
+
narrowing scope to dodge the gap are all forbidden.
|
|
19
21
|
|
|
20
|
-
Full contract (probe table,
|
|
22
|
+
Full contract (probe table, blocker report, resume path):
|
|
21
23
|
[reference/tool-access-gate.md](../reference/tool-access-gate.md).
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
# Tool Access Gate
|
|
2
2
|
|
|
3
|
+
- If you can't reach something you need, such as a repository, a secret, an API, or a connector, say exactly what's missing in your first message and stop. Don't substitute, mock, or guess.
|
|
4
|
+
|
|
5
|
+
If the missing access is discovered after work begins, say exactly what's
|
|
6
|
+
missing in your next message and stop.
|
|
7
|
+
|
|
3
8
|
A flow may only take on work it can actually finish. If completing a work item —
|
|
4
9
|
including its empirical verification — requires an external tool or system the
|
|
5
|
-
agent cannot access, the flow must **
|
|
6
|
-
|
|
10
|
+
agent cannot access, the flow must **tell the user exactly what access is missing and stop**, never
|
|
11
|
+
work around it. This is the flow-side arm of the factory
|
|
7
12
|
contract: intake validates that the factory has "the tooling *and provable
|
|
8
13
|
access to that tooling*"; this gate re-proves that promise at execution time and
|
|
9
14
|
enforces it for tools discovered mid-flow.
|
|
@@ -31,7 +36,8 @@ enforces it for tools discovered mid-flow.
|
|
|
31
36
|
environment.
|
|
32
37
|
2. **Continuously** — the moment a previously unknown tool requirement surfaces
|
|
33
38
|
mid-flow (e.g. verification turns out to need CloudWatch log capture), probe
|
|
34
|
-
it right then
|
|
39
|
+
it right then. If access is unavailable, report it and stop. Otherwise, record
|
|
40
|
+
the new tool + probe result in the same places the
|
|
35
41
|
preflight wrote to (the plan/tracker artifact and the affected tasks'
|
|
36
42
|
`metadata.required_access`) before continuing. Discovery timing changes
|
|
37
43
|
nothing about the protocol.
|
|
@@ -62,44 +68,31 @@ Example probes:
|
|
|
62
68
|
| Deploy target | reach the target environment with the credentials the verify step will use |
|
|
63
69
|
| Device/browser harness | the harness's own doctor/smoke entry (e.g. `playwright --version` plus a trivial headless launch) |
|
|
64
70
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
proceed.
|
|
71
|
+
Resolve credentials through the documented sources before probing: project
|
|
72
|
+
e2e config/fixtures, `.lisa.config.local.json` and environment variables, then
|
|
73
|
+
documented work-item credentials (e.g. `Sign-in Required`). If the documented
|
|
74
|
+
access path or probe cannot provide the required access, report the gap and
|
|
75
|
+
stop. Do not continue exploring substitute sources after confirming the gap.
|
|
71
76
|
|
|
72
|
-
Record
|
|
77
|
+
Record successful probes in the flow's plan/tracker artifact
|
|
73
78
|
(and task `metadata.required_access` where the flow's task contract carries
|
|
74
79
|
it), so the verifier can confirm the gate ran.
|
|
75
80
|
|
|
76
81
|
## On failure: break out, never work around
|
|
77
82
|
|
|
78
|
-
When
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
3. **Transition the work item to the configured blocked state** and apply the
|
|
92
|
-
configured `human_needed` / needs-human marker — missing access is a
|
|
93
|
-
**human-only blocker** (someone must provision credentials or grant access);
|
|
94
|
-
do not fabricate a build-ready ticket for it.
|
|
95
|
-
4. **Release the verification gate honestly**: write the verdict with
|
|
96
|
-
`status: "blocked"`, and mark each acceptance criterion whose proof depends
|
|
97
|
-
on the missing tool as `status: "blocked"` with the missing-access
|
|
98
|
-
diagnosis as its `evidence`; unaffected criteria keep their real
|
|
99
|
-
`pass`/`fail` result.
|
|
100
|
-
5. **Resume only when the probe passes.** When access is granted, re-run the
|
|
101
|
-
recorded probe before continuing; `repair-intake` re-validates blocked items
|
|
102
|
-
whose blockers cleared.
|
|
83
|
+
When required access is unavailable, tell the user and stop. Use the first
|
|
84
|
+
message if the gap is already known, or the next message if it is discovered
|
|
85
|
+
mid-task. The message must state:
|
|
86
|
+
|
|
87
|
+
- the exact resource that cannot be reached and the operation it blocks;
|
|
88
|
+
- the observed failure and, if known, the credential name, role, permission, or
|
|
89
|
+
invitation needed — never secret values, and never a guessed diagnosis;
|
|
90
|
+
- the read-only probe that must pass before work can resume.
|
|
91
|
+
|
|
92
|
+
Do not substitute, mock, guess, or continue other tasks as a workaround.
|
|
93
|
+
Reporting does not depend on access to a tracker, and it does not require
|
|
94
|
+
creating a new ticket. Resume after the required access is available and its
|
|
95
|
+
probe passes.
|
|
103
96
|
|
|
104
97
|
### Forbidden workarounds
|
|
105
98
|
|
|
@@ -116,6 +109,6 @@ None of the following ever substitutes for missing access:
|
|
|
116
109
|
ticket points at).
|
|
117
110
|
- Silently narrowing scope so the inaccessible part is "out of scope".
|
|
118
111
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
112
|
+
Keep results already obtained, but stop further work until the required access
|
|
113
|
+
is available. An inaccessible tracker does not prevent reporting the blocker
|
|
114
|
+
to the user. Do not claim blocked acceptance criteria have passed.
|