@codyswann/lisa 2.187.2 → 2.187.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.
- 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/agents/github-agent.md +2 -1
- package/plugins/lisa/agents/jira-agent.md +2 -1
- package/plugins/lisa/agents/linear-agent.md +2 -1
- package/plugins/lisa/rules/eager/config-resolution.md +11 -0
- package/plugins/lisa/rules/eager/pre-flight-autofill.md +7 -2
- package/plugins/lisa/rules/reference/config-resolution.md +27 -0
- package/plugins/lisa/rules/reference/pre-flight-autofill.md +8 -3
- package/plugins/lisa/skills/implement/SKILL.md +3 -3
- package/plugins/lisa-agy/agents/github-agent.md +2 -1
- package/plugins/lisa-agy/agents/jira-agent.md +2 -1
- package/plugins/lisa-agy/agents/linear-agent.md +2 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/implement/SKILL.md +3 -3
- 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/agents/github-agent.agent.md +2 -1
- package/plugins/lisa-copilot/agents/jira-agent.agent.md +2 -1
- package/plugins/lisa-copilot/agents/linear-agent.agent.md +2 -1
- package/plugins/lisa-copilot/rules/eager/config-resolution.md +11 -0
- package/plugins/lisa-copilot/rules/eager/pre-flight-autofill.md +7 -2
- package/plugins/lisa-copilot/rules/reference/config-resolution.md +27 -0
- package/plugins/lisa-copilot/rules/reference/pre-flight-autofill.md +8 -3
- package/plugins/lisa-copilot/skills/implement/SKILL.md +3 -3
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/agents/github-agent.md +2 -1
- package/plugins/lisa-cursor/agents/jira-agent.md +2 -1
- package/plugins/lisa-cursor/agents/linear-agent.md +2 -1
- package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +27 -0
- package/plugins/lisa-cursor/rules/config-resolution.mdc +11 -0
- package/plugins/lisa-cursor/rules/pre-flight-autofill-reference.mdc +8 -3
- package/plugins/lisa-cursor/rules/pre-flight-autofill.mdc +7 -2
- package/plugins/lisa-cursor/skills/implement/SKILL.md +3 -3
- 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/agents/github-agent.md +2 -1
- package/plugins/src/base/agents/jira-agent.md +2 -1
- package/plugins/src/base/agents/linear-agent.md +2 -1
- package/plugins/src/base/rules/eager/config-resolution.md +11 -0
- package/plugins/src/base/rules/eager/pre-flight-autofill.md +7 -2
- package/plugins/src/base/rules/reference/config-resolution.md +27 -0
- package/plugins/src/base/rules/reference/pre-flight-autofill.md +8 -3
- package/plugins/src/base/skills/implement/SKILL.md +3 -3
|
@@ -25,4 +25,15 @@ Project tracker (`jira` / `github` / `linear`) is read from `.lisa.config.json`
|
|
|
25
25
|
|
|
26
26
|
`repo:<name>` is the canonical label for which repo a work item belongs to. Resolve current-repo identity in this priority order: `.lisa.config.local.json` `repo` → `.lisa.config.json` `repo` → `.lisa.config.json` `github.repo` → `basename -s .git "$(git remote get-url origin)"`. If none resolve, stop with a clear error.
|
|
27
27
|
|
|
28
|
+
## Env → base branch
|
|
29
|
+
|
|
30
|
+
For implementation work, map the work item's `## Target Backend Environment` to
|
|
31
|
+
the PR base branch through `.lisa.config.json` `deploy.branches`. For bugs, a
|
|
32
|
+
reported environment extracted from the description/reproduction steps wins over
|
|
33
|
+
an autofill default. If a reported environment is absent from `deploy.branches`,
|
|
34
|
+
stop and report the missing mapping instead of silently falling back to the
|
|
35
|
+
default or integration branch. A non-integration environment bug is fixed,
|
|
36
|
+
merged, and verified on that environment branch first, then forward
|
|
37
|
+
cherry-picked down to the integration branch via a linked follow-up.
|
|
38
|
+
|
|
28
39
|
Full reference: [reference/config-resolution.md](../reference/config-resolution.md).
|
|
@@ -21,8 +21,13 @@ information was already on the ticket; only the structure was missing).
|
|
|
21
21
|
Gherkin Acceptance Criteria (one scenario per fix), expected-vs-actual +
|
|
22
22
|
environment, Repository, Relationship Search (actually run the git+tracker
|
|
23
23
|
search — don't fabricate "none found"), Validation Journey **draft** (via the
|
|
24
|
-
vendor `*-add-journey` skill), Target Backend Environment
|
|
25
|
-
from
|
|
24
|
+
vendor `*-add-journey` skill), Target Backend Environment. For bugs, parse the
|
|
25
|
+
reported environment from the item body/reproduction steps before recommending
|
|
26
|
+
any default: bare environment names (`dev`, `staging`, `prod`, `production`)
|
|
27
|
+
and environment-bearing URLs (for example `staging.<domain>`, `gql.staging.*`,
|
|
28
|
+
`dev.<domain>`) are authoritative. Only recommend the configured default when
|
|
29
|
+
no environment is discoverable anywhere in the work item, and record that as
|
|
30
|
+
an assumption.
|
|
26
31
|
- **Tier B — irreducibly human:** real credentials/access that exist nowhere on
|
|
27
32
|
the item or in repo test-user docs; a genuine product/scoping decision with no
|
|
28
33
|
defensible default. Still propose a recommended default where one exists; ask
|
|
@@ -212,6 +212,33 @@ Declares **where this repo's LLM Wiki lives** so the query/ingest skills can res
|
|
|
212
212
|
|
|
213
213
|
`scripts/ensure-wiki.mjs` is the single resolver (`node scripts/ensure-wiki.mjs --json` → `{mode, wikiRoot, …}`). **LOCAL** mode (no `url`) is a no-op that resolves the wiki root in precedence order `wiki.source.path` → `wikiRoot` in `wiki/lisa-wiki.config.json` → `wiki`; **REMOTE** mode (`url` set) clones-if-missing, fast-forwards when stale, and is offline-tolerant (proceeds with the existing mirror and warns rather than blocking). Callers (`lisa-wiki-query`, `lisa-wiki-ingest`) invoke it as step 0 and never hardcode `wiki/`; the freshness guarantee is the tool's, not the caller's.
|
|
214
214
|
|
|
215
|
+
### Env → base branch
|
|
216
|
+
|
|
217
|
+
Implementation flows resolve their PR base from the work item's
|
|
218
|
+
`## Target Backend Environment` in the forward direction of `deploy.branches`.
|
|
219
|
+
For example, `{ "staging": "staging", "production": "main" }` means a staging
|
|
220
|
+
work item starts from `origin/staging` and opens its PR against `staging`. This
|
|
221
|
+
is the reverse/inverse of the env-keyed `done` inference that derives an
|
|
222
|
+
environment from a merged PR's base branch.
|
|
223
|
+
|
|
224
|
+
For bug work, the reported environment is authoritative. `pre-flight-autofill`
|
|
225
|
+
must parse environment mentions from the description/body and reproduction
|
|
226
|
+
steps, including bare names (`dev`, `staging`, `prod`, `production`) and
|
|
227
|
+
environment-bearing URLs (`staging.<domain>`, `gql.staging.*`,
|
|
228
|
+
`dev.<domain>`). A parsed reported environment wins over any generic autofill
|
|
229
|
+
default. If no environment is named anywhere, the flow may fall back to the
|
|
230
|
+
remote default branch and record that assumption on the work item.
|
|
231
|
+
|
|
232
|
+
If the reported environment is not present in `deploy.branches`, stop and report
|
|
233
|
+
the missing mapping. Do not silently default to the integration branch.
|
|
234
|
+
|
|
235
|
+
For non-integration environment bugs, definition of done is two-step:
|
|
236
|
+
|
|
237
|
+
1. Fix, merge, deploy, and verify on the reported environment branch first.
|
|
238
|
+
2. Forward cherry-pick the verified fix down to the integration branch, usually
|
|
239
|
+
via a linked follow-up PR or work item, so the next promotion does not
|
|
240
|
+
regress the fix.
|
|
241
|
+
|
|
215
242
|
### Vendor sections
|
|
216
243
|
|
|
217
244
|
Each vendor section is **conditionally required**: required only when that vendor is referenced as `tracker`, as `source`, or by an explicit invocation. Skills validate their own required keys at entry and stop with a clear error if missing — never invent values.
|
|
@@ -49,9 +49,14 @@ spec.
|
|
|
49
49
|
- **Validation Journey (draft)** — run the vendor `*-add-journey` skill to draft
|
|
50
50
|
the click-path, markers, and viewports from the reproduction steps. This is a
|
|
51
51
|
draft for human approval, not the final ratified contract.
|
|
52
|
-
- **Target Backend Environment** —
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
- **Target Backend Environment** — for bugs, first parse the reported
|
|
53
|
+
environment from the title, description/body, screenshots captions, links, and
|
|
54
|
+
reproduction steps. Bare words such as `dev`, `staging`, `prod`, and
|
|
55
|
+
`production` count, as do environment-bearing URLs such as
|
|
56
|
+
`staging.<domain>`, `gql.staging.*`, and `dev.<domain>`. That reported
|
|
57
|
+
environment is authoritative for the draft. Only recommend a configured
|
|
58
|
+
default from `deploy.branches` / config when no environment is discoverable
|
|
59
|
+
anywhere in the work item, and record the default as an explicit assumption.
|
|
55
60
|
|
|
56
61
|
**Tier B — irreducibly human (cannot invent — but still propose a default):**
|
|
57
62
|
|
|
@@ -70,15 +70,15 @@ Using the general-purpose agent in Team Lead session, Determine the name of this
|
|
|
70
70
|
|
|
71
71
|
Using the general-purpose agent in Team Lead session, **determine the base branch from the ticket's target environment, then sync the working branch onto the latest of it before any work** — so implementation always builds on current target-environment code:
|
|
72
72
|
|
|
73
|
-
1. **Resolve the target environment** from the resolved work item — its `## Target Backend Environment` section (the field the `*-write-*` / `*-add-journey` skills record).
|
|
74
|
-
2. **Map the environment to a base branch** via `.lisa.config.json` `deploy.branches` (e.g. `staging → staging`, `production → main`) — the forward direction of the same map the env-keyed `done` resolution uses in reverse (see the `config-resolution` rule). If the work item names **no** environment, the base branch is the **remote default branch** (`gh repo view --json defaultBranchRef -q .defaultBranchRef.name`, or `git remote set-head origin -a` then read `origin/HEAD`). If the
|
|
73
|
+
1. **Resolve the target environment** from the resolved work item — its `## Target Backend Environment` section (the field the `*-write-*` / `*-add-journey` skills record). For bug work, the environment named in the report is authoritative: if the title/body/reproduction steps mention bare env names (`dev`, `staging`, `prod`, `production`) or env-bearing URLs (`staging.<domain>`, `gql.staging.*`, `dev.<domain>`), that reported environment wins over a generic autofill default.
|
|
74
|
+
2. **Map the environment to a base branch** via `.lisa.config.json` `deploy.branches` (e.g. `staging → staging`, `production → main`) — the forward direction of the same map the env-keyed `done` resolution uses in reverse (see the `config-resolution` rule). If the work item names **no** environment, the base branch is the **remote default branch** (`gh repo view --json defaultBranchRef -q .defaultBranchRef.name`, or `git remote set-head origin -a` then read `origin/HEAD`). If the reported environment is absent from `deploy.branches`, or its branch does not exist on the remote, **stop and report** — never guess a base and never silently fall back to the default/integration branch.
|
|
75
75
|
3. **Establish the feature branch off the latest base, conflict-free:**
|
|
76
76
|
- `git fetch origin`.
|
|
77
77
|
- Already on a feature branch with an **open PR** → reuse it. If the PR's base ≠ the resolved base branch, surface the mismatch and re-target only with confirmation — the ticket's environment is the source of truth.
|
|
78
78
|
- Already on a feature branch with **no open PR** → reuse it; its PR base will be the resolved base branch (do not ask the human — the environment determines it).
|
|
79
79
|
- On an **environment / default branch** → check out a feature branch named for this plan (with the work-item ref prefix, per the linkage rules below) **from `origin/<base>`**.
|
|
80
80
|
- **Rebase the feature branch onto `origin/<base>` and resolve any merge conflicts BEFORE starting work.** If the conflicts cannot be resolved cleanly and safely, create a fix task for the agent team (with the conflicting file list and current merge state) and resolve it before implementation begins — never start work on stale or conflicted code.
|
|
81
|
-
4. **The PR targets the resolved base branch** — carry it as `target_branch=<base>` into `lisa:git-submit-pr` (Verify flow). `git-submit-pr` already chooses a closing keyword when the base is the production/default branch and a non-closing reference for a non-terminal environment branch.
|
|
81
|
+
4. **The PR targets the resolved base branch** — carry it as `target_branch=<base>` into `lisa:git-submit-pr` (Verify flow). `git-submit-pr` already chooses a closing keyword when the base is the production/default branch and a non-closing reference for a non-terminal environment branch. For a bug fixed on a non-integration environment branch, the current flow is not done until the fix is merged and verified there, then forward cherry-picked down to the integration branch via a linked follow-up.
|
|
82
82
|
|
|
83
83
|
When the request came from a tracker work item, preserve its native identifier for development linkage:
|
|
84
84
|
|