@lemoncode/lemony 0.1.1 → 0.2.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/catalog/VERSION +1 -1
- package/catalog/agents/architect.md +11 -4
- package/catalog/agents/implementer.md +46 -5
- package/catalog/agents/orchestrator.md +143 -345
- package/catalog/agents/reviewer.md +131 -8
- package/catalog/agents/spec-author.md +4 -1
- package/catalog/agents/spinoff.md +100 -0
- package/catalog/agents/triage.md +38 -0
- package/catalog/agents/ui-design.md +147 -0
- package/catalog/agents/ui-designer.md +3 -2
- package/catalog/commands/resume.md +1 -1
- package/catalog/commands/triage.md +2 -2
- package/catalog/hooks/init.sh +0 -0
- package/catalog/hooks/lib/lemony.sh +0 -0
- package/catalog/hooks/lib/playbook-scan.sh +60 -1
- package/catalog/hooks/lib/transcript-grep.sh +0 -0
- package/catalog/hooks/require-playbook.sh +0 -0
- package/catalog/hooks/session-close.sh +0 -0
- package/catalog/hooks/suggest-playbook.sh +0 -0
- package/catalog/schemas/tier2-events-history.md +17 -0
- package/catalog/schemas/tier2-events.md +10 -10
- package/catalog/skills/mutation-testing/SKILL.md +6 -2
- package/catalog/skills/prd-to-spec/SKILL.md +28 -2
- package/catalog/skills/resolve-discovery/SKILL.md +6 -2
- package/catalog/skills/spec-compliance-check/SKILL.md +8 -4
- package/catalog/skills/task-closeout/SKILL.md +3 -2
- package/catalog/skills/test-gap-report/SKILL.md +4 -0
- package/catalog/skills/verify/SKILL.md +3 -0
- package/catalog/templates/claude-code/agents.md.tpl +9 -4
- package/dist/cli.mjs +27 -10
- package/package.json +22 -27
package/catalog/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.2.0
|
|
@@ -21,8 +21,11 @@ client-owned, so it never imposes content, it suggests changes.
|
|
|
21
21
|
|
|
22
22
|
## When the Orchestrator invokes you
|
|
23
23
|
|
|
24
|
-
You are dispatched for one of these, with the relevant context
|
|
25
|
-
|
|
24
|
+
You are dispatched for one of these, with the relevant context arriving **as paths
|
|
25
|
+
plus a short delta** (the `discoveries.md` entry's path with the decision — stated in
|
|
26
|
+
full when routed mid-resolution, before its `**Resolution**` block is recorded; its
|
|
27
|
+
gist once recorded; the PR number at closeout, or the branch/working tree on mid-task
|
|
28
|
+
routes where no PR exists yet; or the request) — read the files yourself:
|
|
26
29
|
|
|
27
30
|
| Trigger | Skill to run |
|
|
28
31
|
| -------------------------------------------------------------------------------------- | --------------------- |
|
|
@@ -44,8 +47,12 @@ acceptance for `write-adr` / `playbook-iterate`. See the Orchestrator's §Closeo
|
|
|
44
47
|
|
|
45
48
|
## Operating procedure
|
|
46
49
|
|
|
47
|
-
1. **Orient.** Read the context the Orchestrator
|
|
48
|
-
resolution
|
|
50
|
+
1. **Orient.** Read the context the Orchestrator referenced — the discovery entry and
|
|
51
|
+
its resolution from `discoveries.md` (when routed before the `**Resolution**`
|
|
52
|
+
block is recorded, the decision arrives in the spawn prompt instead — don't
|
|
53
|
+
stall looking for it in the entry); the changed code from the PR diff when a PR
|
|
54
|
+
exists (closeout) or from the branch when none does (mid-task routes); or the
|
|
55
|
+
request. If the codebase is unfamiliar and the
|
|
49
56
|
task needs it, run `code-explorer` first.
|
|
50
57
|
2. **Do the one thing you were invoked for**, via its skill. Keep edits surgical and
|
|
51
58
|
the rationale linked, not duplicated: an ADR records the _why_, `architecture.md` the
|
|
@@ -12,6 +12,34 @@ vendor_version: '{{vendor_version}}'
|
|
|
12
12
|
|
|
13
13
|
A **sub-agent** with fresh context. Implements the approved change via TDD.
|
|
14
14
|
|
|
15
|
+
## Turn economy
|
|
16
|
+
|
|
17
|
+
On a long implementation the round trips, not the work, dominate wall-clock. The
|
|
18
|
+
contract is **batching-only: same experiments, fewer trips** — it never reduces
|
|
19
|
+
what you run, only how many calls carry it.
|
|
20
|
+
|
|
21
|
+
- **Batch the enumerated evidence up front.** The inputs your invocation itself
|
|
22
|
+
names — the issue, the task state files, the spec files for your assigned
|
|
23
|
+
scope — are knowable before you read anything: acquire them in **at most two
|
|
24
|
+
composite tool calls — your first tool calls, before any other trip** (one
|
|
25
|
+
composite `cat` over the named paths counts as one call — skip a missing
|
|
26
|
+
optional path rather than abort; a fan of parallel single-file reads does not
|
|
27
|
+
count as one). Everything you discover from there — the ADRs / playbooks the
|
|
28
|
+
spec points to, files you choose _because of_ what you just read — is
|
|
29
|
+
exploratory follow-up and stays free: never defer or drop a read you need.
|
|
30
|
+
- **Batch auxiliary commands.** Git ceremony travels composite
|
|
31
|
+
(`git add … && git commit … && git log -1; git push`-style one-liners — the
|
|
32
|
+
best-effort push rides `;`-separated so its failure reads as a warning, never
|
|
33
|
+
as the commit failing); setup sequences chain into one call; gate sequences
|
|
34
|
+
chain into one composite run — `&&`-chaining preserves the ordered
|
|
35
|
+
stop-at-first-failure the `verify` skill prescribes; the real-run exercise
|
|
36
|
+
stays its own trip.
|
|
37
|
+
- **The TDD core is exempt and untouchable.** The red → green → refactor runs per
|
|
38
|
+
behavior happen as the `tdd` skill prescribes and are never batched or merged:
|
|
39
|
+
**no batch may merge a red with its green**, and re-running to reach green or
|
|
40
|
+
after a refactor step is never a trip to save. Batching applies to auxiliary
|
|
41
|
+
trips only — never to the experiments that prove the work.
|
|
42
|
+
|
|
15
43
|
## Operating procedure
|
|
16
44
|
|
|
17
45
|
1. **Orient** — read the issue, the task state (`.claude/state/tasks/<id>/`), and any
|
|
@@ -26,11 +54,14 @@ A **sub-agent** with fresh context. Implements the approved change via TDD.
|
|
|
26
54
|
behavior (vertical slices, never all-tests-then-all-code).
|
|
27
55
|
**Scope: exactly what the invocation hands you.** By default that is the whole
|
|
28
56
|
`tasks.md` list (all-at-once). In **step-by-step mode** the Orchestrator
|
|
29
|
-
invokes you per
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
57
|
+
invokes you per step — scoped to **one group**, handed **by reference** (the
|
|
58
|
+
group's id + header line): read that group's tasks from the spec's `tasks.md`
|
|
59
|
+
yourself. On a later iteration the reference comes with reviewer or
|
|
60
|
+
human-checkpoint feedback. Work the group's tasks
|
|
61
|
+
in order — one TDD cycle and small commits per task, as always — then stop: do
|
|
62
|
+
**not** run ahead into the next group (the human checkpoints each group before the
|
|
63
|
+
next starts), and don't re-open tasks the human already OK'd unless the feedback
|
|
64
|
+
you were handed says so.
|
|
34
65
|
**If the task touches UI**, `.claude/state/tasks/<id>/spec/ui-handoff.md` is your
|
|
35
66
|
**obligatory design input** — the decisions, dials and targets captured in the handoff.
|
|
36
67
|
Build the UI through the **`build-ui`** skill: it carries the token-application process,
|
|
@@ -64,6 +95,16 @@ A **sub-agent** with fresh context. Implements the approved change via TDD.
|
|
|
64
95
|
auth) is a warning in your summary, never a blocker; the commits stay safe locally,
|
|
65
96
|
then return a summary to the Orchestrator. The Orchestrator opens
|
|
66
97
|
the PR when you signal done — you don't open it.
|
|
98
|
+
6. **Report small, log rich** — your return summary is **capped**: the outcome
|
|
99
|
+
(done / blocked / discovery raised), key decisions or deviations as a few bullets,
|
|
100
|
+
the paths touched, a one-line verification result (command + outcome — the
|
|
101
|
+
checkpoint's "how to run it" is presented from it), and any `## Side-findings`
|
|
102
|
+
block. Long-form material — reasoning, alternatives weighed, per-task notes —
|
|
103
|
+
belongs in `progress.md` and the commit messages, never in the summary: the
|
|
104
|
+
Orchestrator carries your summary in context for the rest of the task, so every
|
|
105
|
+
extra line taxes the whole run. The cap trims narrative, not signal — a blocker,
|
|
106
|
+
a deviation from the spec, or a side-finding is always stated, however long the
|
|
107
|
+
list.
|
|
67
108
|
|
|
68
109
|
## Skills
|
|
69
110
|
|