@bluewombat/manager-kit 0.10.0 → 0.11.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/README.md +5 -5
- package/SPECS.md +4 -4
- package/dist/port.d.ts +27 -11
- package/dist/port.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,11 +60,11 @@ export function createManager(context: ManagerContext): CreateManagerResult {
|
|
|
60
60
|
|
|
61
61
|
Then point a config at it:
|
|
62
62
|
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
63
|
+
```yaml
|
|
64
|
+
feature:
|
|
65
|
+
tracker: { package: "@acme/manager-jira", options: { board: APP } }
|
|
66
|
+
ticket:
|
|
67
|
+
tracker: { package: "@acme/manager-jira", options: { board: APP } }
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
`checkManager` is optional. Export it and `mason doctor` prints your findings
|
package/SPECS.md
CHANGED
|
@@ -34,7 +34,7 @@ package asked for a side it does not answer is refused by name.
|
|
|
34
34
|
|
|
35
35
|
| Member | Required | Job |
|
|
36
36
|
| -------------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
37
|
-
| `listen` | yes | Drain the tracker since a Cursor, for Features whose specification is final. Returns an outcome
|
|
37
|
+
| `listen` | yes | Drain the tracker since a Cursor, for Features whose specification is final. Returns an outcome, ordered Deliveries and, when the tracker could not be read, a `detail` saying why |
|
|
38
38
|
| `adapt` | yes | One raw payload → a FeatureStandard, or `invalid` / `unavailable` / `interrupted` |
|
|
39
39
|
| `report` | yes | One semantic Event onto the Feature. `false` when it could not be written |
|
|
40
40
|
| `signalsResume` | no | Whether this payload says a human unblocked an escalated Feature |
|
|
@@ -42,19 +42,19 @@ package asked for a side it does not answer is refused by name.
|
|
|
42
42
|
| `probe` | no | Whether the Feature this key named is still on the tracker (`present` / `gone` / `unavailable` / `interrupted`) |
|
|
43
43
|
|
|
44
44
|
A FeatureStandard carries `blocked_by` (keys of Features that must be `done`
|
|
45
|
-
first) `merge_when_ready` (its line may be folded without a human) and `
|
|
45
|
+
first) `merge_when_ready` (its line may be folded without a human) and `skip_feature_test` (it is not put through the feature-test acceptance check).
|
|
46
46
|
|
|
47
47
|
### TicketTrackerPort: the work that builds a Feature
|
|
48
48
|
|
|
49
49
|
| Member | Required | Job |
|
|
50
50
|
| ----------- | -------- | ------------------------------------------------------------------------------------------------------------- |
|
|
51
|
-
| `tickets` | yes | Every Ticket of a Feature, each a `TicketEntry`: the TicketStandard (`intention`, `blocked_by`, `priority`) and `task_ready`, `resume`, `
|
|
51
|
+
| `tickets` | yes | Every Ticket of a Feature, each a `TicketEntry`: the TicketStandard (`intention`, `blocked_by`, `priority`) and `task_ready`, `resume`, `feature-test` (it holds the Feature's feature tests), `open` |
|
|
52
52
|
| `report` | yes | One semantic Event onto a Ticket |
|
|
53
53
|
| `clearResume`| no | Take a Ticket's resume signal back once acted on |
|
|
54
54
|
| `probe` | no | Whether the Ticket this key named is still on the tracker |
|
|
55
55
|
| `openLine` | no | Cut a line from another: the branch a Feature's Tickets land on. Asking again for a line that exists succeeds |
|
|
56
56
|
| `dropLine` | no | Drop a line nobody will fold |
|
|
57
|
-
| `submit` | no | Offer an assembled Ticket, or a Feature's line, to the Authority. Returns an opaque reference |
|
|
57
|
+
| `submit` | no | Offer an assembled Ticket, or a Feature's line, to the Authority. Returns an opaque `id` (what `behind`, `fold`, `withdraw` and `settled` are asked with) and a `reference` to show a person |
|
|
58
58
|
| `fold` | no | Have the Authority take an accepted Submission into the line it was offered to |
|
|
59
59
|
| `settled` | no | Where a Submission stands (`open` / `folded` / `closed` / `unavailable`), for the ones a human folds |
|
|
60
60
|
|
package/dist/port.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type EventFields = {
|
|
|
16
16
|
/** One sentence a reader gets first, under the heading and before any field. */
|
|
17
17
|
summary?: string;
|
|
18
18
|
reason?: string;
|
|
19
|
-
stage?: "unit" | "integrating" | "submitting" | "merging";
|
|
19
|
+
stage?: "unit" | "tickets" | "integrating" | "submitting" | "merging";
|
|
20
20
|
trace?: string;
|
|
21
21
|
counters?: Record<string, string>;
|
|
22
22
|
priority?: number;
|
|
@@ -42,8 +42,8 @@ export type FeatureStandard = {
|
|
|
42
42
|
blocked_by: string[];
|
|
43
43
|
/** Its line may be folded without a human. */
|
|
44
44
|
merge_when_ready: boolean;
|
|
45
|
-
/** It is not put through the
|
|
46
|
-
|
|
45
|
+
/** It is not put through the feature-test acceptance check, and its feature-test Ticket is not worked. */
|
|
46
|
+
skip_feature_test: boolean;
|
|
47
47
|
source?: {
|
|
48
48
|
ref?: string;
|
|
49
49
|
revision?: string;
|
|
@@ -76,10 +76,8 @@ export type TicketEntry = {
|
|
|
76
76
|
task_ready: boolean;
|
|
77
77
|
/** A human unblocked it after an escalation. */
|
|
78
78
|
resume: boolean;
|
|
79
|
-
/**
|
|
80
|
-
|
|
81
|
-
/** It holds the e2e acceptance suite of its Feature: the tracker says so, in the words of nobody. */
|
|
82
|
-
e2e: boolean;
|
|
79
|
+
/** It holds the feature tests of its Feature: the tracker says so, in the words of nobody. */
|
|
80
|
+
featureTest: boolean;
|
|
83
81
|
/** False once it is closed on the tracker. */
|
|
84
82
|
open: boolean;
|
|
85
83
|
};
|
|
@@ -145,6 +143,8 @@ export type ReportInput = {
|
|
|
145
143
|
};
|
|
146
144
|
export type ListenResult = {
|
|
147
145
|
outcome: string;
|
|
146
|
+
/** Why the Source could not be read, in the manager's words (GitHub's message). */
|
|
147
|
+
detail?: string;
|
|
148
148
|
deliveries: Delivery[];
|
|
149
149
|
};
|
|
150
150
|
/**
|
|
@@ -171,10 +171,22 @@ export type SubmissionRequest = {
|
|
|
171
171
|
subject: string;
|
|
172
172
|
body?: string;
|
|
173
173
|
};
|
|
174
|
+
/**
|
|
175
|
+
* What the Gates said when they passed the work, one line each: the proof
|
|
176
|
+
* that goes with the Submission, for whoever reads it. Absent when no Gate
|
|
177
|
+
* had anything to say.
|
|
178
|
+
*/
|
|
179
|
+
checks?: string[];
|
|
174
180
|
};
|
|
175
|
-
export type SubmissionResult =
|
|
181
|
+
export type SubmissionResult =
|
|
182
|
+
/**
|
|
183
|
+
* `id`: the Submission's identity at the Authority, opaque, what every later
|
|
184
|
+
* question is asked with. `reference`: how a person reaches it, for display only.
|
|
185
|
+
*/
|
|
186
|
+
{
|
|
176
187
|
outcome: "submitted";
|
|
177
188
|
reference: string;
|
|
189
|
+
id: string;
|
|
178
190
|
} | {
|
|
179
191
|
outcome: "refused";
|
|
180
192
|
reason: string;
|
|
@@ -300,15 +312,19 @@ export type TicketTrackerPort = {
|
|
|
300
312
|
* Asked just before a fold: absent, nothing is checked and the fold goes ahead.
|
|
301
313
|
*/
|
|
302
314
|
behind?(input: {
|
|
303
|
-
|
|
315
|
+
id: string;
|
|
304
316
|
}): Promise<BehindResult>;
|
|
305
317
|
/** Have the Authority fold a Submission the Gates accepted into the line it was offered to. */
|
|
306
318
|
fold?(input: {
|
|
307
|
-
|
|
319
|
+
id: string;
|
|
308
320
|
}): Promise<FoldResult>;
|
|
321
|
+
/** Take back a Submission whose Ticket was abandoned: close it, and drop the branch it came from. */
|
|
322
|
+
withdraw?(input: {
|
|
323
|
+
id: string;
|
|
324
|
+
}): Promise<void>;
|
|
309
325
|
/** Where a Submission stands, for the ones a human folds. */
|
|
310
326
|
settled?(input: {
|
|
311
|
-
|
|
327
|
+
id: string;
|
|
312
328
|
}): Promise<SettledResult>;
|
|
313
329
|
};
|
|
314
330
|
//# sourceMappingURL=port.d.ts.map
|
package/dist/port.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,eAAO,MAAM,WAAW,8IAWd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../src/port.ts"],"names":[],"mappings":"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"}
|