@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, spec, deployment,
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 **all five** workflows — not merely the
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
- * `coding` must be able to route it at `coding` in every workflow that claims there.
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` yields `9 → 8` owners and `24 → 16`
179
- * triples, all covered, although every `work:docs` ticket would then reach `coding`
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
- bb_feature: ['qualification', 'spec', 'coding', 'review'],
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 **all five** workflows — not merely the
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
- * `coding` must be able to route it at `coding` in every workflow that claims there.
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` yields `9 → 8` owners and `24 → 16`
455
- * triples, all covered, although every `work:docs` ticket would then reach `coding`
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
- // bb_feature, qualification) — coverage gap`, which sends the author looking
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.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",