ghostrail 0.20.1 → 0.22.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/dist/board/page.d.ts.map +1 -1
- package/dist/board/page.js +76 -14
- package/dist/board/page.js.map +1 -1
- package/dist/board/server.d.ts +10 -0
- package/dist/board/server.d.ts.map +1 -1
- package/dist/board/server.js +24 -0
- package/dist/board/server.js.map +1 -1
- package/dist/cli/commands.d.ts +56 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +203 -20
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +10 -0
- package/dist/commands/help.js.map +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +19 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +13 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/dashboard/page.d.ts.map +1 -1
- package/dist/dashboard/page.js +226 -9
- package/dist/dashboard/page.js.map +1 -1
- package/dist/dashboard/review-page.d.ts +5 -0
- package/dist/dashboard/review-page.d.ts.map +1 -1
- package/dist/dashboard/review-page.js +23 -3
- package/dist/dashboard/review-page.js.map +1 -1
- package/dist/dashboard/routes.d.ts +17 -0
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +25 -0
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/server.d.ts +29 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +91 -2
- package/dist/dashboard/server.js.map +1 -1
- package/dist/doctor/checks.d.ts +1 -0
- package/dist/doctor/checks.d.ts.map +1 -1
- package/dist/doctor/checks.js +1 -1
- package/dist/doctor/checks.js.map +1 -1
- package/dist/doctor/probes.d.ts +19 -3
- package/dist/doctor/probes.d.ts.map +1 -1
- package/dist/doctor/probes.js +22 -27
- package/dist/doctor/probes.js.map +1 -1
- package/dist/doctor/run.d.ts.map +1 -1
- package/dist/doctor/run.js +17 -3
- package/dist/doctor/run.js.map +1 -1
- package/dist/factory/build.d.ts +6 -0
- package/dist/factory/build.d.ts.map +1 -1
- package/dist/factory/build.js +26 -0
- package/dist/factory/build.js.map +1 -1
- package/dist/loop/next-tick.d.ts +50 -0
- package/dist/loop/next-tick.d.ts.map +1 -0
- package/dist/loop/next-tick.js +87 -0
- package/dist/loop/next-tick.js.map +1 -0
- package/dist/loop/schedule.d.ts +11 -2
- package/dist/loop/schedule.d.ts.map +1 -1
- package/dist/loop/schedule.js +3 -1
- package/dist/loop/schedule.js.map +1 -1
- package/dist/loop/tick-log.d.ts +13 -0
- package/dist/loop/tick-log.d.ts.map +1 -0
- package/dist/loop/tick-log.js +64 -0
- package/dist/loop/tick-log.js.map +1 -0
- package/dist/publish/gh.d.ts +43 -2
- package/dist/publish/gh.d.ts.map +1 -1
- package/dist/publish/gh.js +80 -2
- package/dist/publish/gh.js.map +1 -1
- package/dist/publish/githost.d.ts +18 -1
- package/dist/publish/githost.d.ts.map +1 -1
- package/dist/publish/githost.js +13 -0
- package/dist/publish/githost.js.map +1 -1
- package/dist/publish/index.d.ts +1 -1
- package/dist/publish/index.d.ts.map +1 -1
- package/dist/publish/index.js +1 -1
- package/dist/publish/index.js.map +1 -1
- package/dist/release/index.d.ts +2 -0
- package/dist/release/index.d.ts.map +1 -0
- package/dist/release/index.js +2 -0
- package/dist/release/index.js.map +1 -0
- package/dist/release/release.d.ts +67 -0
- package/dist/release/release.d.ts.map +1 -0
- package/dist/release/release.js +193 -0
- package/dist/release/release.js.map +1 -0
- package/dist/respond/ci-fix-queue.d.ts +40 -0
- package/dist/respond/ci-fix-queue.d.ts.map +1 -0
- package/dist/respond/ci-fix-queue.js +74 -0
- package/dist/respond/ci-fix-queue.js.map +1 -0
- package/dist/respond/index.d.ts +2 -1
- package/dist/respond/index.d.ts.map +1 -1
- package/dist/respond/index.js +2 -1
- package/dist/respond/index.js.map +1 -1
- package/dist/respond/merge.d.ts.map +1 -1
- package/dist/respond/merge.js +17 -1
- package/dist/respond/merge.js.map +1 -1
- package/dist/respond/respond.d.ts +33 -1
- package/dist/respond/respond.d.ts.map +1 -1
- package/dist/respond/respond.js +155 -9
- package/dist/respond/respond.js.map +1 -1
- package/dist/store/events.d.ts +30 -0
- package/dist/store/events.d.ts.map +1 -1
- package/dist/store/events.js +38 -0
- package/dist/store/events.js.map +1 -1
- package/dist/store/index.d.ts +1 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/triage/engine.d.ts +6 -2
- package/dist/triage/engine.d.ts.map +1 -1
- package/dist/triage/engine.js +6 -1
- package/dist/triage/engine.js.map +1 -1
- package/package.json +1 -1
- package/skill/ghostrail/SKILL.md +15 -4
- package/templates/code/ghostrail.toml +3 -0
- package/templates/code/prompts/release.md +40 -0
- package/templates/code/prompts/respond.md +2 -1
- package/templates/content/prompts/respond.md +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/triage/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AACpF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/triage/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAa,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,KAAK,SAAS,EAAiB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,YAAY,CAAC;AAGhE,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAKzD,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AA6BD;;;;;;;;GAQG;AACH,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAOtE;AAmBD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAwB3B"}
|
package/dist/triage/engine.js
CHANGED
|
@@ -3,6 +3,7 @@ import { stageArtifacts } from "../global/stage.js";
|
|
|
3
3
|
import { branchName } from "../loop/branch.js";
|
|
4
4
|
import { writeCommentThread } from "../loop/comments.js";
|
|
5
5
|
import { mapWithConcurrency } from "../loop/concurrency.js";
|
|
6
|
+
import { TRIAGE_RUN_KIND } from "../store/events.js";
|
|
6
7
|
import { applyTriagePlan } from "./apply.js";
|
|
7
8
|
import { parseTriagePlan } from "./plan.js";
|
|
8
9
|
/** Path, relative to the workspace root, where the triage agent writes its plan. */
|
|
@@ -36,8 +37,12 @@ async function recordOutcome(sink, runId, result) {
|
|
|
36
37
|
* The `kind` a triage row carries, so the board can tell which pass produced
|
|
37
38
|
* it. The fix loop sets no kind, so an absent one keeps meaning "fix loop"
|
|
38
39
|
* and no row already in a store changes meaning.
|
|
40
|
+
*
|
|
41
|
+
* Defined in `src/store/events.ts`, next to the rest of `RunRow`'s
|
|
42
|
+
* vocabulary, and re-exported here so nothing importing it from this module
|
|
43
|
+
* changes.
|
|
39
44
|
*/
|
|
40
|
-
export
|
|
45
|
+
export { TRIAGE_RUN_KIND };
|
|
41
46
|
/** What a finished triage item is worth saying on its row, or undefined for noop. */
|
|
42
47
|
export function triageSummary(result) {
|
|
43
48
|
if (result.state !== "split")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/triage/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/triage/engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skill/ghostrail/SKILL.md
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
name: ghostrail
|
|
3
3
|
description: Drive ghostrail (the software factory) from inside this repo. Use when the user types /ghostrail, or asks to set up, customize, check, or run a ghostrail factory — scaffolding ghostrail.toml and prompts, tailoring the scaffolded prompts and gate commands to this codebase, carrying a later template improvement into prompts you have customized, diagnosing a broken setup, or kicking off a run/respond/triage tick.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
argument-hint: "[customize | init | update | doctor | status | run | respond | triage]"
|
|
5
|
+
argument-hint: "[customize | init | update | doctor | status | run | respond | triage | release]"
|
|
6
6
|
license: Apache-2.0
|
|
7
7
|
metadata:
|
|
8
|
-
version: 0.
|
|
8
|
+
version: 0.8.0
|
|
9
9
|
allowed-tools:
|
|
10
10
|
- Read
|
|
11
11
|
- Write
|
|
@@ -63,6 +63,13 @@ this tailors them to *this* repo. Never guess: read before proposing.
|
|
|
63
63
|
the agent should run. Keep the `.ghostrail/result.json` contract intact.
|
|
64
64
|
- `prompts/respond.md` — same context; keep it reading `.ghostrail/feedback.md`.
|
|
65
65
|
- `prompts/triage.md` — what a right-sized issue looks like in this codebase.
|
|
66
|
+
- `prompts/release.md` and `[release]` — only if the user wants a "release"
|
|
67
|
+
button on the dashboard (off by default: no `[release]` section means no
|
|
68
|
+
button). If they do, work out what a release concretely means for *this*
|
|
69
|
+
repo — an npm publish, a build artifact uploaded somewhere, both — from
|
|
70
|
+
its actual CI/release workflow, not a guess, and write that into the
|
|
71
|
+
prompt. `[release]` has no `every`: it never runs on a schedule, only from
|
|
72
|
+
`ghostrail release` or the dashboard button.
|
|
66
73
|
- `[gate].commands` — mirroring CI exactly.
|
|
67
74
|
- `[source]` — the team/project/label/assignee filters, if you can tell what
|
|
68
75
|
they should be. Ask rather than invent tracker identifiers.
|
|
@@ -260,7 +267,7 @@ view, suggest `<GR> board`.
|
|
|
260
267
|
|
|
261
268
|
---
|
|
262
269
|
|
|
263
|
-
## run · respond · triage
|
|
270
|
+
## run · respond · triage · release
|
|
264
271
|
|
|
265
272
|
Passthroughs. Before executing, state what will happen and confirm, because these
|
|
266
273
|
act on real tracker items and can open real pull requests. This confirmation is
|
|
@@ -272,6 +279,10 @@ real execution, not a no-op you were entitled to skip asking about.
|
|
|
272
279
|
a real PR.** Suggest a dry run first (`open_pr = false`) for a new setup.
|
|
273
280
|
- `respond` — folds new PR and tracker comments into existing factory branches.
|
|
274
281
|
- `triage` — decomposes large issues into sub-issues (creates real tracker items).
|
|
282
|
+
- `release` — cuts a real release right now, per `[release].prompt` (requires
|
|
283
|
+
a `[release]` section). Whatever that prompt does — a version bump, a tag
|
|
284
|
+
push, a publish — happens for real; confirm even more deliberately than for
|
|
285
|
+
`run`, since a release is usually the hardest of these to undo.
|
|
275
286
|
|
|
276
287
|
Run `<GR> <command>` and summarize the resulting JSON: per item, the state
|
|
277
288
|
(`done` / `blocked` / `failed` / `noop` / `skipped`), the gate steps if present,
|
|
@@ -283,7 +294,7 @@ and any PR URL. On failure, quote the actual error rather than paraphrasing.
|
|
|
283
294
|
|
|
284
295
|
- **Never** set `auto_merge = true` or merge a factory PR. A human owns merges.
|
|
285
296
|
- **Never** print or commit a secret. Report credentials as set/unset only.
|
|
286
|
-
- **Never** run `run`, `triage`, or `
|
|
297
|
+
- **Never** run `run`, `triage`, `respond`, or `release` without asking first, including
|
|
287
298
|
from inside **customize**, **init**, **update**, or **doctor** — verifying
|
|
288
299
|
that a config or prompt change is well-formed is never a reason to skip the
|
|
289
300
|
confirmation those commands require.
|
|
@@ -50,3 +50,6 @@ every = "5m" # how often `watch` runs respond; "off" to exclud
|
|
|
50
50
|
[triage] # `ghostrail triage` splits large issues into sub-issues
|
|
51
51
|
prompt = "prompts/triage.md"
|
|
52
52
|
eligible = { state = "Todo", label = "triage", assignee = "unassigned" }
|
|
53
|
+
|
|
54
|
+
# [release] # uncomment for a "release" button on the dashboard
|
|
55
|
+
# prompt = "prompts/release.md" # customize it to say what a release means here
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Cut a release
|
|
2
|
+
|
|
3
|
+
You are a coding agent in an isolated checkout of this repository, on the base
|
|
4
|
+
branch directly — not a feature branch, not a pull request. Your job is to cut
|
|
5
|
+
a release. What "release" concretely means is repo-specific: for a package
|
|
6
|
+
published to npm it is usually a version bump, a changelog entry, and a tag
|
|
7
|
+
push that CI turns into a publish; for other repos it might also mean building
|
|
8
|
+
and uploading an artifact somewhere. Customize this file to say exactly what a
|
|
9
|
+
release means here, and how CI (or whatever else) turns your work into it
|
|
10
|
+
being live.
|
|
11
|
+
|
|
12
|
+
Unlike the other prompts in this repo, **you likely need git here**: if
|
|
13
|
+
cutting a release means committing a version bump and pushing a tag, that
|
|
14
|
+
commit and that push *are* the release, so there is no factory step afterward
|
|
15
|
+
to do it for you.
|
|
16
|
+
|
|
17
|
+
## What to do
|
|
18
|
+
|
|
19
|
+
1. Work out what changed since the last release (the changelog, `git log`,
|
|
20
|
+
merged PRs — whatever this repo tracks that in).
|
|
21
|
+
2. Decide the next version, if this repo is versioned.
|
|
22
|
+
3. Make whatever changes constitute a release here (a version bump, a
|
|
23
|
+
changelog entry, ...).
|
|
24
|
+
4. Run this repo's lint, typecheck, and test commands. A broken main branch
|
|
25
|
+
should never be released; treat a failure here as a `failed` result.
|
|
26
|
+
5. Commit, tag, and push, if that is how a release here gets published — say
|
|
27
|
+
exactly how in this section once you know.
|
|
28
|
+
|
|
29
|
+
## Reporting your result (required, do this last)
|
|
30
|
+
|
|
31
|
+
Write a JSON file at `.ghostrail/result.json` with exactly one of:
|
|
32
|
+
|
|
33
|
+
- `{"status":"done","summary":"<what was released>"}`
|
|
34
|
+
- `{"status":"blocked","questions":"<a real decision you need>"}`
|
|
35
|
+
- `{"status":"failed","error":"<why, e.g. which check failed>"}`
|
|
36
|
+
- `{"status":"noop","reason":"<why there is nothing to release>"}`
|
|
37
|
+
|
|
38
|
+
On `done`, this run's job ends at whatever step hands off to publishing (a tag
|
|
39
|
+
push, an upload, ...); it does not wait for or verify that the publish itself
|
|
40
|
+
finished.
|
|
@@ -8,7 +8,8 @@ this workspace. Do not use git: the factory owns commits and pushes.
|
|
|
8
8
|
<!-- ghostrail:managed id="feedback" -->
|
|
9
9
|
## The feedback
|
|
10
10
|
Read `.ghostrail/feedback.md`. It contains the new comments (author and time),
|
|
11
|
-
newest work last
|
|
11
|
+
newest work last, and, when a human queued a fix for a failing CI check, a
|
|
12
|
+
section naming the checks that failed. Treat it as the review to act on.
|
|
12
13
|
<!-- /ghostrail:managed -->
|
|
13
14
|
|
|
14
15
|
## What to do
|
|
@@ -9,7 +9,9 @@ and pushes.
|
|
|
9
9
|
<!-- ghostrail:managed id="feedback" -->
|
|
10
10
|
## The feedback
|
|
11
11
|
Read `.ghostrail/feedback.md`. It contains the new comments (author and time),
|
|
12
|
-
newest work last
|
|
12
|
+
newest work last, and, when a human queued a fix for a failing CI check, a
|
|
13
|
+
section naming the checks that failed. Treat it as the editorial review to
|
|
14
|
+
act on.
|
|
13
15
|
<!-- /ghostrail:managed -->
|
|
14
16
|
|
|
15
17
|
## What to do
|