@cat-factory/contracts 0.8.0 → 0.11.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/requests.js CHANGED
@@ -70,6 +70,9 @@ export const addTaskSchema = v.object({
70
70
  // The merge threshold preset governing this task's auto-merge; omitted/empty →
71
71
  // the workspace default preset.
72
72
  mergePresetId: v.optional(v.pipe(v.string(), v.maxLength(120))),
73
+ // The model preset governing which model each agent step runs on; omitted/empty →
74
+ // the workspace default preset.
75
+ modelPresetId: v.optional(v.pipe(v.string(), v.maxLength(120))),
73
76
  // The pipeline the task's Run controls default to; omitted/empty → none recorded.
74
77
  pipelineId: v.optional(v.pipe(v.string(), v.maxLength(120))),
75
78
  // Task-level agent-contributed config values (e.g. the Tester's environment).
@@ -94,6 +97,8 @@ export const updateBlockSchema = v.partial(v.object({
94
97
  modelId: v.pipe(v.string(), v.maxLength(120)),
95
98
  // The merge threshold preset id; an empty string resets to the workspace default.
96
99
  mergePresetId: v.pipe(v.string(), v.maxLength(120)),
100
+ // The model preset id; an empty string resets to the workspace default preset.
101
+ modelPresetId: v.pipe(v.string(), v.maxLength(120)),
97
102
  // The task's default pipeline id; an empty string clears the selection.
98
103
  pipelineId: v.pipe(v.string(), v.maxLength(120)),
99
104
  // Task-level agent-contributed config values (id→value map; replaces the map).
@@ -1 +1 @@
1
- {"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
57
57
  readonly branch: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
58
58
  }, undefined>, undefined>;
59
59
  readonly mergePresetId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
60
+ readonly modelPresetId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
60
61
  readonly pipelineId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
61
62
  readonly createdBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
62
63
  readonly responsibleProductUserId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
@@ -426,13 +427,19 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
426
427
  readonly default: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
427
428
  }, undefined>, undefined>, undefined>;
428
429
  /**
429
- * The workspace's per-agent-kind default models (the model each agent kind
430
- * defaults to, overriding the env routing for this workspace). Attached by the
431
- * worker, so optional on the wire.
430
+ * The workspace's model presets the library a task picks its model→agent
431
+ * mapping from (each preset is a base model applied to every agent kind plus
432
+ * per-kind overrides). One is the workspace default. Attached by the facade, so
433
+ * optional on the wire.
432
434
  */
433
- readonly modelDefaults: v.OptionalSchema<v.ObjectSchema<{
434
- readonly defaults: v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>;
435
- }, undefined>, undefined>;
435
+ readonly modelPresets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
436
+ readonly id: v.StringSchema<undefined>;
437
+ readonly name: v.StringSchema<undefined>;
438
+ readonly baseModelId: v.StringSchema<undefined>;
439
+ readonly overrides: v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>;
440
+ readonly isDefault: v.BooleanSchema<undefined>;
441
+ readonly createdAt: v.NumberSchema<undefined>;
442
+ }, undefined>, undefined>, undefined>;
436
443
  /**
437
444
  * The deployment's env-routing defaults as `provider:model` refs: the model an
438
445
  * agent kind runs on when neither the task nor the workspace pins one. `default`
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAwB5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlC;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;IAEH;;;;OAIG;;;;IAEH;;;;;;;;OAQG;;;;;IAOH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;OAIG;;;;;;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAwB5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlC;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;IAEH;;;;;;;;OAQG;;;;;IAOH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;OAIG;;;;;;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
package/dist/snapshot.js CHANGED
@@ -4,7 +4,7 @@ import { bootstrapJobSchema } from './bootstrap.js';
4
4
  import { notificationSchema } from './notifications.js';
5
5
  import { mergeThresholdPresetSchema } from './merge.js';
6
6
  import { agentConfigCatalogSchema } from './agent-config.js';
7
- import { modelDefaultsSchema } from './model-defaults.js';
7
+ import { modelPresetSchema } from './model-presets.js';
8
8
  import { serviceFragmentDefaultsSchema } from './service-fragment-defaults.js';
9
9
  import { pipelineScheduleSchema } from './recurring.js';
10
10
  import { serviceSchema, workspaceMountSchema } from './services.js';
@@ -52,11 +52,12 @@ export const workspaceSnapshotSchema = v.object({
52
52
  */
53
53
  agentConfigCatalog: v.optional(agentConfigCatalogSchema),
54
54
  /**
55
- * The workspace's per-agent-kind default models (the model each agent kind
56
- * defaults to, overriding the env routing for this workspace). Attached by the
57
- * worker, so optional on the wire.
55
+ * The workspace's model presets the library a task picks its model→agent
56
+ * mapping from (each preset is a base model applied to every agent kind plus
57
+ * per-kind overrides). One is the workspace default. Attached by the facade, so
58
+ * optional on the wire.
58
59
  */
59
- modelDefaults: v.optional(modelDefaultsSchema),
60
+ modelPresets: v.optional(v.array(modelPresetSchema)),
60
61
  /**
61
62
  * The deployment's env-routing defaults as `provider:model` refs: the model an
62
63
  * agent kind runs on when neither the task nor the workspace pins one. `default`
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,kFAAkF;AAClF,uEAAuE;AACvE,+EAA+E;AAC/E,8BAA8B;AAE9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC5C;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtD;;;OAGG;IACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACpC;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtD;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7D;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACxD;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC9C;;;;;;;;OAQG;IACH,uBAAuB,EAAE,CAAC,CAAC,QAAQ,CACjC,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACzC,CAAC,CACH;IACD;;;OAGG;IACH,uBAAuB,EAAE,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAClE;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC/D;;;OAGG;IACH,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAClD;;;;;OAKG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACjD,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD;;;;OAIG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CAC9C,CAAC,CAAA"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,kFAAkF;AAClF,uEAAuE;AACvE,+EAA+E;AAC/E,8BAA8B;AAE9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC5C;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtD;;;OAGG;IACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACpC;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtD;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7D;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACxD;;;;;OAKG;IACH,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpD;;;;;;;;OAQG;IACH,uBAAuB,EAAE,CAAC,CAAC,QAAQ,CACjC,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACzC,CAAC,CACH;IACD;;;OAGG;IACH,uBAAuB,EAAE,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAClE;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC/D;;;OAGG;IACH,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAClD;;;;;OAKG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACjD,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD;;;;OAIG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CAC9C,CAAC,CAAA"}
package/dist/spec.d.ts CHANGED
@@ -39,9 +39,10 @@ export declare const requirementItemSchema: v.ObjectSchema<{
39
39
  }, undefined>;
40
40
  export type RequirementItem = v.InferOutput<typeof requirementItemSchema>;
41
41
  /**
42
- * A cross-cutting domain rule / invariant / constraint — prescriptive, but not tied
43
- * to a single capability. Unified into THIS document (not a separate `domain/`
44
- * artifact) because rules share the spec's lifecycle; rendered to `rules.md`.
42
+ * A domain rule / invariant / constraint — prescriptive. Each rule is scoped to the
43
+ * group (feature) it governs and lives inside that group, so there is no catch-all
44
+ * rules document; a genuinely service-wide invariant is attached to a group under a
45
+ * `common`/`infrastructure` module. Rendered into the owning group's `<group>.md`.
45
46
  */
46
47
  export declare const domainRuleSchema: v.ObjectSchema<{
47
48
  readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
@@ -52,7 +53,11 @@ export declare const domainRuleSchema: v.ObjectSchema<{
52
53
  readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
53
54
  }, undefined>;
54
55
  export type DomainRule = v.InferOutput<typeof domainRuleSchema>;
55
- /** A grouping of related requirements (a capability / feature area ≈ one `.feature` file). */
56
+ /**
57
+ * A feature / logical group: related requirements plus the domain rules scoped to
58
+ * them. The leaf shard of the taxonomy — one group renders one canonical
59
+ * `<group>.json`, one `<group>.md`, and one `.feature` file.
60
+ */
56
61
  export declare const requirementGroupSchema: v.ObjectSchema<{
57
62
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
58
63
  readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
@@ -75,15 +80,21 @@ export declare const requirementGroupSchema: v.ObjectSchema<{
75
80
  readonly outcome: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
76
81
  }, undefined>, undefined>, readonly []>;
77
82
  }, undefined>, undefined>, readonly []>;
83
+ /** Domain rules / invariants scoped to this feature (rendered into its `<group>.md`). */
84
+ readonly rules: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
85
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
86
+ /** The invariant, e.g. `An order may never have a negative total.` */
87
+ readonly rule: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
88
+ /** Why the rule exists (optional). */
89
+ readonly rationale: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
90
+ readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
91
+ }, undefined>, undefined>, readonly []>;
78
92
  }, undefined>;
79
93
  export type RequirementGroup = v.InferOutput<typeof requirementGroupSchema>;
80
- /** The unified, prescriptive specification document for one service (the `spec.json` tree). */
81
- export declare const specDocSchema: v.ObjectSchema<{
82
- /** Service / frame name (defaults to the repo name). */
83
- readonly service: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
84
- /** One-paragraph product intent for the service overall. */
94
+ /** A module (domain, e.g. `auth`) the top level of the taxonomy, holding feature groups. */
95
+ export declare const specModuleSchema: v.ObjectSchema<{
96
+ readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
85
97
  readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
86
- /** Requirements grouped by capability; each group renders one `.feature` file. */
87
98
  readonly groups: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
88
99
  readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
89
100
  readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
@@ -106,48 +117,73 @@ export declare const specDocSchema: v.ObjectSchema<{
106
117
  readonly outcome: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
107
118
  }, undefined>, undefined>, readonly []>;
108
119
  }, undefined>, undefined>, readonly []>;
120
+ /** Domain rules / invariants scoped to this feature (rendered into its `<group>.md`). */
121
+ readonly rules: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
122
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
123
+ /** The invariant, e.g. `An order may never have a negative total.` */
124
+ readonly rule: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
125
+ /** Why the rule exists (optional). */
126
+ readonly rationale: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
127
+ readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
128
+ }, undefined>, undefined>, readonly []>;
109
129
  }, undefined>, undefined>, readonly []>;
110
- /** Cross-cutting domain rules / invariants / constraints. */
111
- readonly rules: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
112
- readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
113
- /** The invariant, e.g. `An order may never have a negative total.` */
114
- readonly rule: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
115
- /** Why the rule exists (optional). */
116
- readonly rationale: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
117
- readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
130
+ }, undefined>;
131
+ export type SpecModule = v.InferOutput<typeof specModuleSchema>;
132
+ /** The unified, prescriptive specification document for one service (the sharded tree). */
133
+ export declare const specDocSchema: v.ObjectSchema<{
134
+ /** Service / frame name (defaults to the repo name). */
135
+ readonly service: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
136
+ /** One-paragraph product intent for the service overall. */
137
+ readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
138
+ /** Modules (domains), each grouping its feature groups; the two-level taxonomy. */
139
+ readonly modules: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
140
+ readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
141
+ readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
142
+ readonly groups: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
143
+ readonly name: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
144
+ readonly summary: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
145
+ readonly requirements: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
146
+ /** Stable slug, e.g. `req-login-rate-limit`. */
147
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
148
+ /** Short headline. */
149
+ readonly title: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
150
+ /** The requirement itself, as `The system SHALL …` prose. */
151
+ readonly statement: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
152
+ readonly kind: v.PicklistSchema<["functional", "nonfunctional", "constraint"], undefined>;
153
+ readonly priority: v.PicklistSchema<["must", "should", "could"], undefined>;
154
+ /** Ids of the board task/block(s) this requirement was aggregated from (provenance). */
155
+ readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
156
+ /** Structured acceptance criteria → the seed for this requirement's Gherkin scenarios. */
157
+ readonly acceptance: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
158
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
159
+ readonly given: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
160
+ readonly when: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
161
+ readonly outcome: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>;
162
+ }, undefined>, undefined>, readonly []>;
163
+ }, undefined>, undefined>, readonly []>;
164
+ /** Domain rules / invariants scoped to this feature (rendered into its `<group>.md`). */
165
+ readonly rules: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
166
+ readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
167
+ /** The invariant, e.g. `An order may never have a negative total.` */
168
+ readonly rule: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 4000, undefined>]>;
169
+ /** Why the rule exists (optional). */
170
+ readonly rationale: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, "">;
171
+ readonly sourceBlockIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, readonly []>;
172
+ }, undefined>, undefined>, readonly []>;
173
+ }, undefined>, undefined>, readonly []>;
118
174
  }, undefined>, undefined>, readonly []>;
119
175
  }, undefined>;
120
176
  export type SpecDoc = v.InferOutput<typeof specDocSchema>;
121
- /**
122
- * The lightweight `version.json` manifest committed alongside the spec. It carries a
123
- * monotonic version counter, the generation timestamp, a content hash of the
124
- * canonical tree, and the requirement/rule counts — so staleness checks are a tiny
125
- * read rather than a full parse of `spec.json`. Mirrors the blueprint's
126
- * `version.json` manifest field-for-field in spirit.
127
- */
128
- export declare const specVersionSchema: v.ObjectSchema<{
129
- readonly version: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
130
- readonly generatedAt: v.StringSchema<undefined>;
131
- /** sha256 (hex) of the canonical `spec.json` bytes. */
132
- readonly hash: v.StringSchema<undefined>;
133
- readonly requirements: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
134
- readonly rules: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
135
- }, undefined>;
136
- export type SpecVersion = v.InferOutput<typeof specVersionSchema>;
137
177
  /** Folder, relative to the repo root, that holds the persisted spec. */
138
178
  export declare const SPEC_DIR = "spec";
139
- /** Canonical machine-readable spec file (the SpecDoc tree). */
140
- export declare const SPEC_JSON_PATH = "spec/spec.json";
141
- /** High-level overview markdown — the file agents read first. */
179
+ /** Tiny file carrying only the service name + one-paragraph summary. */
180
+ export declare const SPEC_SERVICE_PATH = "spec/service.json";
181
+ /** High-level overview markdown (the module → feature index) — the file agents read first. */
142
182
  export declare const SPEC_OVERVIEW_PATH = "spec/overview.md";
143
- /** Domain rules / invariants / constraints markdown. */
144
- export declare const SPEC_RULES_PATH = "spec/rules.md";
145
- /** Tiny manifest read for quick staleness checks without parsing the full tree. */
146
- export declare const SPEC_VERSION_PATH = "spec/version.json";
147
- /** Sub-folder holding the generated Gherkin `.feature` files (one per group). */
183
+ /** Sub-folder holding the per-module folders, each with its per-group canonical shards. */
184
+ export declare const SPEC_MODULES_DIR = "spec/modules";
185
+ /** Sub-folder holding the generated Gherkin `.feature` files (`features/<module>/<group>.feature`). */
148
186
  export declare const SPEC_FEATURES_DIR = "spec/features";
149
- /** Legacy folder name the spec lived under before the rename; relocated on first run. */
150
- export declare const LEGACY_SPEC_DIR = "requirements";
151
187
  /**
152
188
  * Strictly parse an arbitrary value (e.g. the JSON read from `spec.json`, or a tree
153
189
  * returned by the spec-writer container) into a {@link SpecDoc}, enforcing the exact
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AA2B5B,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,0DAA0C,CAAA;AAChF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,4EAA4D,CAAA;AAC9F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;aAOpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB;IAChC,gDAAgD;;IAEhD,sBAAsB;;IAEtB,6DAA6D;;;;IAI7D,wFAAwF;;IAExF,0FAA0F;;;;;;;aAE1F,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;IAE3B,sEAAsE;;IAEtE,sCAAsC;;;aAGtC,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,8FAA8F;AAC9F,eAAO,MAAM,sBAAsB;;;;QA/BjC,gDAAgD;;QAEhD,sBAAsB;;QAEtB,6DAA6D;;;;QAI7D,wFAAwF;;QAExF,0FAA0F;;;;;;;;aAyB1F,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,+FAA+F;AAC/F,eAAO,MAAM,aAAa;IACxB,wDAAwD;;IAExD,4DAA4D;;IAE5D,kFAAkF;;;;;YA5ClF,gDAAgD;;YAEhD,sBAAsB;;YAEtB,6DAA6D;;;;YAI7D,wFAAwF;;YAExF,0FAA0F;;;;;;;;;IAoC1F,6DAA6D;;;QAxB7D,sEAAsE;;QAEtE,sCAAsC;;;;aAwBtC,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;IAG5B,uDAAuD;;;;aAIvD,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAOjE,wEAAwE;AACxE,eAAO,MAAM,QAAQ,SAAS,CAAA;AAC9B,+DAA+D;AAC/D,eAAO,MAAM,cAAc,mBAA0B,CAAA;AACrD,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,qBAA4B,CAAA;AAC3D,wDAAwD;AACxD,eAAO,MAAM,eAAe,kBAAyB,CAAA;AACrD,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,sBAA6B,CAAA;AAC3D,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,kBAAyB,CAAA;AAEvD,yFAAyF;AACzF,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAGpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAuBzD"}
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmC5B,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,0DAA0C,CAAA;AAChF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,4EAA4D,CAAA;AAC9F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;aAOpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB;IAChC,gDAAgD;;IAEhD,sBAAsB;;IAEtB,6DAA6D;;;;IAI7D,wFAAwF;;IAExF,0FAA0F;;;;;;;aAE1F,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;IAE3B,sEAAsE;;IAEtE,sCAAsC;;;aAGtC,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;QApCjC,gDAAgD;;QAEhD,sBAAsB;;QAEtB,6DAA6D;;;;QAI7D,wFAAwF;;QAExF,0FAA0F;;;;;;;;IA8B1F,yFAAyF;;;QAjBzF,sEAAsE;;QAEtE,sCAAsC;;;;aAiBtC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB;;;;;;;YA9C3B,gDAAgD;;YAEhD,sBAAsB;;YAEtB,6DAA6D;;;;YAI7D,wFAAwF;;YAExF,0FAA0F;;;;;;;;QA8B1F,yFAAyF;;;YAjBzF,sEAAsE;;YAEtE,sCAAsC;;;;;aAyBtC,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,2FAA2F;AAC3F,eAAO,MAAM,aAAa;IACxB,wDAAwD;;IAExD,4DAA4D;;IAE5D,mFAAmF;;;;;;;;gBA3DnF,gDAAgD;;gBAEhD,sBAAsB;;gBAEtB,6DAA6D;;;;gBAI7D,wFAAwF;;gBAExF,0FAA0F;;;;;;;;YA8B1F,yFAAyF;;;gBAjBzF,sEAAsE;;gBAEtE,sCAAsC;;;;;;aAoCtC,CAAA;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,aAAa,CAAC,CAAA;AAQzD,wEAAwE;AACxE,eAAO,MAAM,QAAQ,SAAS,CAAA;AAC9B,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,sBAA6B,CAAA;AAC3D,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,qBAA4B,CAAA;AAC3D,2FAA2F;AAC3F,eAAO,MAAM,gBAAgB,iBAAwB,CAAA;AACrD,uGAAuG;AACvG,eAAO,MAAM,iBAAiB,kBAAyB,CAAA;AAEvD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAGpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CA6BzD"}
package/dist/spec.js CHANGED
@@ -5,11 +5,19 @@ import * as v from 'valibot';
5
5
  // This is the durable PRESCRIPTIVE spec for a whole service, persisted in the
6
6
  // service's own GitHub repo under `spec/` and aggregated across every task. It is
7
7
  // the mirror image of the blueprint: a blueprint is DESCRIPTIVE ("what the code
8
- // is"), this spec is PRESCRIPTIVE ("what must be true"). The canonical,
9
- // machine-readable file is `spec.json` (a SpecDoc); the markdown files
10
- // (`overview.md`, `rules.md`) and the Gherkin `features/*.feature` files are
11
- // deterministic renderings of the same tree. Every agent reads it as context, and
12
- // its acceptance criteria seed the test scenarios.
8
+ // is"), this spec is PRESCRIPTIVE ("what must be true").
9
+ //
10
+ // The spec is SHARDED on disk into many small files so concurrent task branches
11
+ // touch disjoint files and merge cleanly (a single monolithic `spec.json` produced
12
+ // crippling merge churn). The shape is a two-level taxonomy — MODULE (a domain,
13
+ // e.g. `auth`) → GROUP (a feature / logical group, e.g. `login`) — and each group
14
+ // carries BOTH its requirements and the domain rules scoped to it (there is no
15
+ // catch-all rules file; a cross-cutting concern is just a `common`/`infrastructure`
16
+ // module that is itself split into feature groups). The canonical per-group file is
17
+ // `spec/modules/<module>/<group>.json`; the markdown (`overview.md` index +
18
+ // per-group `<group>.md`) and the Gherkin `features/<module>/<group>.feature` files
19
+ // are deterministic renderings of the same tree. Every agent reads it as context,
20
+ // and its acceptance criteria seed the test scenarios.
13
21
  //
14
22
  // Naming note: this "spec" family is distinct from the transient, per-block
15
23
  // "requirements" CONTEXT review (see `requirements.ts`), which clarifies the
@@ -55,9 +63,10 @@ export const requirementItemSchema = v.object({
55
63
  acceptance: v.optional(v.array(acceptanceCriterionSchema), []),
56
64
  });
57
65
  /**
58
- * A cross-cutting domain rule / invariant / constraint — prescriptive, but not tied
59
- * to a single capability. Unified into THIS document (not a separate `domain/`
60
- * artifact) because rules share the spec's lifecycle; rendered to `rules.md`.
66
+ * A domain rule / invariant / constraint — prescriptive. Each rule is scoped to the
67
+ * group (feature) it governs and lives inside that group, so there is no catch-all
68
+ * rules document; a genuinely service-wide invariant is attached to a group under a
69
+ * `common`/`infrastructure` module. Rendered into the owning group's `<group>.md`.
61
70
  */
62
71
  export const domainRuleSchema = v.object({
63
72
  id: requirementIdField,
@@ -67,56 +76,48 @@ export const domainRuleSchema = v.object({
67
76
  rationale: v.optional(reqSummaryField, ''),
68
77
  sourceBlockIds: v.optional(v.array(blockIdField), []),
69
78
  });
70
- /** A grouping of related requirements (a capability / feature area ≈ one `.feature` file). */
79
+ /**
80
+ * A feature / logical group: related requirements plus the domain rules scoped to
81
+ * them. The leaf shard of the taxonomy — one group renders one canonical
82
+ * `<group>.json`, one `<group>.md`, and one `.feature` file.
83
+ */
71
84
  export const requirementGroupSchema = v.object({
72
85
  name: reqNameField,
73
86
  summary: v.optional(reqSummaryField, ''),
74
87
  requirements: v.optional(v.array(requirementItemSchema), []),
88
+ /** Domain rules / invariants scoped to this feature (rendered into its `<group>.md`). */
89
+ rules: v.optional(v.array(domainRuleSchema), []),
90
+ });
91
+ /** A module (domain, e.g. `auth`) — the top level of the taxonomy, holding feature groups. */
92
+ export const specModuleSchema = v.object({
93
+ name: reqNameField,
94
+ summary: v.optional(reqSummaryField, ''),
95
+ groups: v.optional(v.array(requirementGroupSchema), []),
75
96
  });
76
- /** The unified, prescriptive specification document for one service (the `spec.json` tree). */
97
+ /** The unified, prescriptive specification document for one service (the sharded tree). */
77
98
  export const specDocSchema = v.object({
78
99
  /** Service / frame name (defaults to the repo name). */
79
100
  service: reqNameField,
80
101
  /** One-paragraph product intent for the service overall. */
81
102
  summary: v.optional(reqSummaryField, ''),
82
- /** Requirements grouped by capability; each group renders one `.feature` file. */
83
- groups: v.optional(v.array(requirementGroupSchema), []),
84
- /** Cross-cutting domain rules / invariants / constraints. */
85
- rules: v.optional(v.array(domainRuleSchema), []),
86
- });
87
- /**
88
- * The lightweight `version.json` manifest committed alongside the spec. It carries a
89
- * monotonic version counter, the generation timestamp, a content hash of the
90
- * canonical tree, and the requirement/rule counts — so staleness checks are a tiny
91
- * read rather than a full parse of `spec.json`. Mirrors the blueprint's
92
- * `version.json` manifest field-for-field in spirit.
93
- */
94
- export const specVersionSchema = v.object({
95
- version: v.pipe(v.number(), v.integer(), v.minValue(0)),
96
- generatedAt: v.string(),
97
- /** sha256 (hex) of the canonical `spec.json` bytes. */
98
- hash: v.string(),
99
- requirements: v.pipe(v.number(), v.integer(), v.minValue(0)),
100
- rules: v.pipe(v.number(), v.integer(), v.minValue(0)),
103
+ /** Modules (domains), each grouping its feature groups; the two-level taxonomy. */
104
+ modules: v.optional(v.array(specModuleSchema), []),
101
105
  });
102
106
  // ---- In-repo spec artifact paths ------------------------------------------
103
- // The folder + file layout, the prescriptive sibling of `blueprints/`. The
104
- // canonical machine-readable file is `spec.json`; the markdown and feature files
105
- // are deterministic renderings of the same tree.
107
+ // The sharded folder layout, the prescriptive sibling of `blueprints/`. The
108
+ // canonical machine-readable files are the per-group `modules/<m>/<g>.json` shards;
109
+ // the markdown (`overview.md` index + per-group `<g>.md`) and feature files are
110
+ // deterministic renderings of the same tree. There is NO single `spec.json`.
106
111
  /** Folder, relative to the repo root, that holds the persisted spec. */
107
112
  export const SPEC_DIR = 'spec';
108
- /** Canonical machine-readable spec file (the SpecDoc tree). */
109
- export const SPEC_JSON_PATH = `${SPEC_DIR}/spec.json`;
110
- /** High-level overview markdown — the file agents read first. */
113
+ /** Tiny file carrying only the service name + one-paragraph summary. */
114
+ export const SPEC_SERVICE_PATH = `${SPEC_DIR}/service.json`;
115
+ /** High-level overview markdown (the module → feature index) — the file agents read first. */
111
116
  export const SPEC_OVERVIEW_PATH = `${SPEC_DIR}/overview.md`;
112
- /** Domain rules / invariants / constraints markdown. */
113
- export const SPEC_RULES_PATH = `${SPEC_DIR}/rules.md`;
114
- /** Tiny manifest read for quick staleness checks without parsing the full tree. */
115
- export const SPEC_VERSION_PATH = `${SPEC_DIR}/version.json`;
116
- /** Sub-folder holding the generated Gherkin `.feature` files (one per group). */
117
+ /** Sub-folder holding the per-module folders, each with its per-group canonical shards. */
118
+ export const SPEC_MODULES_DIR = `${SPEC_DIR}/modules`;
119
+ /** Sub-folder holding the generated Gherkin `.feature` files (`features/<module>/<group>.feature`). */
117
120
  export const SPEC_FEATURES_DIR = `${SPEC_DIR}/features`;
118
- /** Legacy folder name the spec lived under before the rename; relocated on first run. */
119
- export const LEGACY_SPEC_DIR = 'requirements';
120
121
  /**
121
122
  * Strictly parse an arbitrary value (e.g. the JSON read from `spec.json`, or a tree
122
123
  * returned by the spec-writer container) into a {@link SpecDoc}, enforcing the exact
@@ -148,24 +149,29 @@ export function renderSpecForReview(spec) {
148
149
  const lines = [`# Specification: ${spec.service}`];
149
150
  if (spec.summary)
150
151
  lines.push('', spec.summary);
151
- for (const group of spec.groups ?? []) {
152
- lines.push('', `## ${group.name}`);
153
- if (group.summary)
154
- lines.push('', group.summary);
155
- for (const req of group.requirements ?? []) {
156
- lines.push('', `### ${req.title} (${req.id})`, '', `- Kind: ${req.kind}`);
157
- lines.push(`- Priority: ${req.priority}`);
158
- lines.push(`- Statement: ${req.statement}`);
159
- for (const ac of req.acceptance ?? []) {
160
- lines.push(` - Acceptance ${ac.id}: GIVEN ${ac.given} WHEN ${ac.when} THEN ${ac.outcome}`);
152
+ for (const module of spec.modules ?? []) {
153
+ lines.push('', `## ${module.name}`);
154
+ if (module.summary)
155
+ lines.push('', module.summary);
156
+ for (const group of module.groups ?? []) {
157
+ lines.push('', `### ${group.name}`);
158
+ if (group.summary)
159
+ lines.push('', group.summary);
160
+ for (const req of group.requirements ?? []) {
161
+ lines.push('', `#### ${req.title} (${req.id})`, '', `- Kind: ${req.kind}`);
162
+ lines.push(`- Priority: ${req.priority}`);
163
+ lines.push(`- Statement: ${req.statement}`);
164
+ for (const ac of req.acceptance ?? []) {
165
+ lines.push(` - Acceptance ${ac.id}: GIVEN ${ac.given} WHEN ${ac.when} THEN ${ac.outcome}`);
166
+ }
167
+ }
168
+ const rules = group.rules ?? [];
169
+ if (rules.length) {
170
+ lines.push('', `#### Domain rules`);
171
+ for (const rule of rules) {
172
+ lines.push(`- ${rule.rule}${rule.rationale ? ` (${rule.rationale})` : ''}`);
173
+ }
161
174
  }
162
- }
163
- }
164
- const rules = spec.rules ?? [];
165
- if (rules.length) {
166
- lines.push('', '## Domain rules');
167
- for (const rule of rules) {
168
- lines.push(`- ${rule.rule}${rule.rationale ? ` (${rule.rationale})` : ''}`);
169
175
  }
170
176
  }
171
177
  return lines.join('\n');
package/dist/spec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../src/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,wEAAwE;AACxE,EAAE;AACF,8EAA8E;AAC9E,kFAAkF;AAClF,gFAAgF;AAChF,yDAAyD;AACzD,EAAE;AACF,gFAAgF;AAChF,mFAAmF;AACnF,gFAAgF;AAChF,kFAAkF;AAClF,+EAA+E;AAC/E,oFAAoF;AACpF,oFAAoF;AACpF,4EAA4E;AAC5E,oFAAoF;AACpF,kFAAkF;AAClF,uDAAuD;AACvD,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,wEAAwE;AACxE,gFAAgF;AAChF,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AACzF,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AACnF,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAC7D,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACzF,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAEnF,wDAAwD;AACxD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AAGhF,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAA;AAG9F;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,iFAAiF;IACjF,mFAAmF;IACnF,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC,CAAA;AAGF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,gDAAgD;IAChD,EAAE,EAAE,kBAAkB;IACtB,sBAAsB;IACtB,KAAK,EAAE,YAAY;IACnB,6DAA6D;IAC7D,SAAS,EAAE,iBAAiB;IAC5B,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,yBAAyB;IACnC,wFAAwF;IACxF,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;IACrD,0FAA0F;IAC1F,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC;CAC/D,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,kBAAkB;IACtB,sEAAsE;IACtE,IAAI,EAAE,iBAAiB;IACvB,sCAAsC;IACtC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;IAC1C,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;CACtD,CAAC,CAAA;AAGF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC;IAC5D,yFAAyF;IACzF,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;CACjD,CAAC,CAAA;AAGF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC;CACxD,CAAC,CAAA;AAGF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,wDAAwD;IACxD,OAAO,EAAE,YAAY;IACrB,4DAA4D;IAC5D,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC;IACxC,mFAAmF;IACnF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;CACnD,CAAC,CAAA;AAGF,8EAA8E;AAC9E,4EAA4E;AAC5E,oFAAoF;AACpF,gFAAgF;AAChF,6EAA6E;AAE7E,wEAAwE;AACxE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAA;AAC9B,wEAAwE;AACxE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,QAAQ,eAAe,CAAA;AAC3D,8FAA8F;AAC9F,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,QAAQ,cAAc,CAAA;AAC3D,2FAA2F;AAC3F,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,QAAQ,UAAU,CAAA;AACrD,uGAAuG;AACvG,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,QAAQ,WAAW,CAAA;AAEvD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IAChD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,MAAM,KAAK,GAAa,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5D,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAClD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACnC,IAAI,KAAK,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAChD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC1E,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACzC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;gBAC3C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;oBACtC,KAAK,CAAC,IAAI,CACR,kBAAkB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,OAAO,EAAE,CAChF,CAAA;gBACH,CAAC;YACH,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA;YAC/B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAA;gBACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@cat-factory/contracts",
3
- "version": "0.8.0",
3
+ "version": "0.11.0",
4
+ "description": "Valibot wire contract shared between the Agent Architecture Board frontend and backend.",
4
5
  "repository": {
5
6
  "type": "git",
6
7
  "url": "git+https://github.com/kibertoad/cat-factory.git",
7
8
  "directory": "backend/packages/contracts"
8
9
  },
9
- "description": "Valibot wire contract shared between the Agent Architecture Board frontend and backend.",
10
10
  "files": [
11
11
  "dist"
12
12
  ],
@@ -1,23 +0,0 @@
1
- import * as v from 'valibot';
2
- /**
3
- * A workspace's per-agent-kind default models: a map from agent kind to the model
4
- * catalog id it should default to. A kind absent from the map falls back to the
5
- * env routing for that kind. Sent on the wire as the workspace's full selection.
6
- */
7
- export declare const modelDefaultsSchema: v.ObjectSchema<{
8
- readonly defaults: v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>;
9
- }, undefined>;
10
- export type ModelDefaults = v.InferOutput<typeof modelDefaultsSchema>;
11
- /**
12
- * Replace a workspace's per-kind default models. Sending the full map replaces it
13
- * wholesale (a kind omitted is cleared). Keys (agent kinds) and values (model ids)
14
- * are both trimmed and must be non-empty — agent kinds are an open set (custom
15
- * agents are allowed), so keys aren't checked against a closed list, and model ids
16
- * aren't validated against the catalog here (an unresolvable id simply falls back
17
- * to the env routing at run time).
18
- */
19
- export declare const setModelDefaultsSchema: v.ObjectSchema<{
20
- readonly defaults: v.RecordSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
21
- }, undefined>;
22
- export type SetModelDefaultsInput = v.InferOutput<typeof setModelDefaultsSchema>;
23
- //# sourceMappingURL=model-defaults.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-defaults.d.ts","sourceRoot":"","sources":["../src/model-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;aAE9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAIrE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;aAKjC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA"}