@bakers-build/core 0.1.1 → 0.1.2-next.133
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** The workflow states an agent works — the legal `step` values. */
|
|
2
|
-
export declare const WORKFLOW_STEPS: readonly ["qualification", "spec", "diagnose", "coding", "review", "pre_deployment", "post_deployment", "verifying", "summary"];
|
|
2
|
+
export declare const WORKFLOW_STEPS: readonly ["qualification", "plan", "working", "spec", "diagnose", "coding", "review", "pre_deployment", "post_deployment", "verifying", "summary"];
|
|
3
3
|
export type WorkflowStep = (typeof WORKFLOW_STEPS)[number];
|
|
4
4
|
/**
|
|
5
5
|
* The machine-readable classification of a contract defect, for consumers that
|
|
@@ -85,7 +85,7 @@ export interface SkillContract {
|
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
87
|
* A concrete `(work_type, workflow, step)` the project can produce. `work_type`
|
|
88
|
-
* is `null` for a non-work-typed step (qualification,
|
|
88
|
+
* is `null` for a non-work-typed step (qualification, plan, deployment,
|
|
89
89
|
* verification), a `work:*` label (without the prefix) otherwise.
|
|
90
90
|
*/
|
|
91
91
|
export interface Triple {
|
|
@@ -161,10 +161,10 @@ export declare const WORKFLOW_CLAIMABLE_STATES: Record<string, readonly Workflow
|
|
|
161
161
|
*
|
|
162
162
|
* A **work type** exists for the project because some loaded **owner** declares it;
|
|
163
163
|
* its participating steps are the union of `when.step` across every owner declaring
|
|
164
|
-
* it. Those steps are then crossed against **
|
|
164
|
+
* it. Those steps are then crossed against **every** workflow — not merely the
|
|
165
165
|
* ones the declaring skill happens to list — because that is what makes a coverage
|
|
166
166
|
* gap real rather than tautological: a project that can route `work:code` at
|
|
167
|
-
* `
|
|
167
|
+
* `working` must be able to route it at `working` in every workflow that claims there.
|
|
168
168
|
*
|
|
169
169
|
* A step no work type participates in carries a `null` work type (qualification,
|
|
170
170
|
* the deployment and verification steps). An owner whose `when.work_type` is `*` or
|
|
@@ -175,8 +175,8 @@ export declare const WORKFLOW_CLAIMABLE_STATES: Record<string, readonly Workflow
|
|
|
175
175
|
* project.** Because a work type exists here only if some loaded owner declares it,
|
|
176
176
|
* deleting the last owner of a work type does not open a coverage gap — it shrinks
|
|
177
177
|
* the triple set, and the validation stays green. Removing `- @bakers-build/docs-authoring`
|
|
178
|
-
* from this repository's own `WORKFLOW.md`
|
|
179
|
-
*
|
|
178
|
+
* from this repository's own `WORKFLOW.md` drops one owner and its triples, all
|
|
179
|
+
* still covered, although every `work:docs` ticket would then reach `working`
|
|
180
180
|
* with no owner at all. The set of work types a project's tickets can actually
|
|
181
181
|
* carry lives in the ticket store's `work:*` vocabulary, which this function cannot
|
|
182
182
|
* see; closing the gap means feeding that vocabulary in, which is its own change.
|
|
@@ -21,6 +21,9 @@ import { parse as parseYaml } from 'yaml';
|
|
|
21
21
|
/** The workflow states an agent works — the legal `step` values. */
|
|
22
22
|
export const WORKFLOW_STEPS = [
|
|
23
23
|
'qualification',
|
|
24
|
+
'plan',
|
|
25
|
+
'working',
|
|
26
|
+
// shortcut: spec/diagnose/coding stay until the skills move to plan/working, then remove them.
|
|
24
27
|
'spec',
|
|
25
28
|
'diagnose',
|
|
26
29
|
'coding',
|
|
@@ -423,9 +426,7 @@ function tripleLabel(triple) {
|
|
|
423
426
|
* filesystem and no Drupal access. A workflow added there must be added here too.
|
|
424
427
|
*/
|
|
425
428
|
export const WORKFLOW_CLAIMABLE_STATES = {
|
|
426
|
-
|
|
427
|
-
bb_bug: ['qualification', 'diagnose', 'coding', 'review'],
|
|
428
|
-
bb_chore: ['qualification', 'spec', 'coding', 'review'],
|
|
429
|
+
bb_work: ['qualification', 'plan', 'working', 'review'],
|
|
429
430
|
bb_deployment: ['pre_deployment', 'post_deployment'],
|
|
430
431
|
bb_verification: ['verifying', 'summary'],
|
|
431
432
|
};
|
|
@@ -437,10 +438,10 @@ export const WORKFLOW_CLAIMABLE_STATES = {
|
|
|
437
438
|
*
|
|
438
439
|
* A **work type** exists for the project because some loaded **owner** declares it;
|
|
439
440
|
* its participating steps are the union of `when.step` across every owner declaring
|
|
440
|
-
* it. Those steps are then crossed against **
|
|
441
|
+
* it. Those steps are then crossed against **every** workflow — not merely the
|
|
441
442
|
* ones the declaring skill happens to list — because that is what makes a coverage
|
|
442
443
|
* gap real rather than tautological: a project that can route `work:code` at
|
|
443
|
-
* `
|
|
444
|
+
* `working` must be able to route it at `working` in every workflow that claims there.
|
|
444
445
|
*
|
|
445
446
|
* A step no work type participates in carries a `null` work type (qualification,
|
|
446
447
|
* the deployment and verification steps). An owner whose `when.work_type` is `*` or
|
|
@@ -451,8 +452,8 @@ export const WORKFLOW_CLAIMABLE_STATES = {
|
|
|
451
452
|
* project.** Because a work type exists here only if some loaded owner declares it,
|
|
452
453
|
* deleting the last owner of a work type does not open a coverage gap — it shrinks
|
|
453
454
|
* the triple set, and the validation stays green. Removing `- @bakers-build/docs-authoring`
|
|
454
|
-
* from this repository's own `WORKFLOW.md`
|
|
455
|
-
*
|
|
455
|
+
* from this repository's own `WORKFLOW.md` drops one owner and its triples, all
|
|
456
|
+
* still covered, although every `work:docs` ticket would then reach `working`
|
|
456
457
|
* with no owner at all. The set of work types a project's tickets can actually
|
|
457
458
|
* carry lives in the ticket store's `work:*` vocabulary, which this function cannot
|
|
458
459
|
* see; closing the gap means feeding that vocabulary in, which is its own change.
|
|
@@ -543,7 +544,7 @@ export function expandLoad(workflowMd, byName) {
|
|
|
543
544
|
// BB-436: a `## Loaded skills` section that yields no load site at all is its
|
|
544
545
|
// own defect and needs its own message. Expanding it into an empty skill set
|
|
545
546
|
// let the failure surface much later as `no skill matches triple (—,
|
|
546
|
-
//
|
|
547
|
+
// bb_work, qualification) — coverage gap`, which sends the author looking
|
|
547
548
|
// for a missing work-type skill when the real cause is almost always that their
|
|
548
549
|
// list is indented — the one shape the indent-0 anchor turns into nothing.
|
|
549
550
|
//
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bakers-build/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2-next.133",
|
|
4
4
|
"description": "bakers.build surface-agnostic kernel: host contract, split-config helpers, addon preset/discovery machinery, shared primitives.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|