rhachet-roles-bhuild 0.14.6 → 0.15.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.
@@ -27,6 +27,7 @@ const schemaOfArgs = zod_1.z.object({
27
27
  name: zod_1.z.string(),
28
28
  dir: zod_1.z.string().optional(),
29
29
  open: zod_1.z.string().optional(),
30
+ size: zod_1.z.enum(['nano', 'mini', 'medi', 'mega', 'giga']).optional(),
30
31
  guard: zod_1.z.enum(['light', 'heavy']).optional(),
31
32
  // rhachet passthrough args (optional, ignored)
32
33
  repo: zod_1.z.string().optional(),
@@ -95,6 +96,7 @@ const initBehavior = async () => {
95
96
  const result = (0, init_1.initBehaviorDir)({
96
97
  behaviorDir,
97
98
  behaviorDirRel,
99
+ size: named.size,
98
100
  guard: named.guard,
99
101
  });
100
102
  // render tree-style output
@@ -1 +1 @@
1
- {"version":3,"file":"init.behavior.js","sourceRoot":"","sources":["../../../src/contract/cli/init.behavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.behavior.js","sourceRoot":"","sources":["../../../src/contract/cli/init.behavior.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ const giveFeedback = (input, context) => {
59
59
  }
60
60
  // resolve template path
61
61
  const templatePath = input.template ??
62
- (0, path_1.join)(behaviorDir, '.ref.[feedback].v1.[given].by_human.md');
62
+ (0, path_1.join)(behaviorDir, 'refs/template.[feedback].v1.[given].by_human.md');
63
63
  if (!(0, fs_1.existsSync)(templatePath)) {
64
64
  throw new helpful_errors_1.BadRequestError(`template not found: ${templatePath}`);
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"giveFeedback.js","sourceRoot":"","sources":["../../../../src/domain.operations/behavior/feedback/giveFeedback.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,mDAAiD;AACjD,+BAAsC;AAEtC,+EAA4E;AAC5E,2EAAwE;AACxE,uEAAoE;AACpE,yEAAsE;AACtE,iEAA8D;AAE9D;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAC1B,KAOC,EACD,OAAwB,EAMxB,EAAE;IACF,yBAAyB;IACzB,MAAM,WAAW,GAAG,IAAA,qDAAyB,EAC3C;QACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,EACD,OAAO,CACR,CAAC;IAEF,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAA,iDAAuB,EACtC,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,EAC5C,OAAO,CACR,CAAC;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,gCAAe,CACvB,0BAA0B,KAAK,CAAC,OAAO,QAAQ,WAAW,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAG,IAAA,mDAAwB,EAAC;QAC7C,WAAW;QACX,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;KACpC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,8BAA8B;QAC9B,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;QAE5D,4CAA4C;QAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAE5D,wCAAwC;QACxC,OAAO,aAAa,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,EAAE,CAAC;IAEL,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,IAAA,yDAA2B,EAAC;QACnD,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;QACnC,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAEzD,+CAA+C;IAC/C,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,WAAW;YACX,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,YAAY,GAChB,KAAK,CAAC,QAAQ;QACd,IAAA,WAAI,EAAC,WAAW,EAAE,wCAAwC,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,gCAAe,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,2CAA2C;IAC3C,MAAM,cAAc,GAAG,IAAA,eAAQ,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE1D,mCAAmC;IACnC,IAAA,2CAAoB,EAAC;QACnB,YAAY;QACZ,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;QACnC,cAAc;QACd,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,WAAW;QACX,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC,CAAC;AAhGW,QAAA,YAAY,gBAgGvB"}
1
+ {"version":3,"file":"giveFeedback.js","sourceRoot":"","sources":["../../../../src/domain.operations/behavior/feedback/giveFeedback.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,mDAAiD;AACjD,+BAAsC;AAEtC,+EAA4E;AAC5E,2EAAwE;AACxE,uEAAoE;AACpE,yEAAsE;AACtE,iEAA8D;AAE9D;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAC1B,KAOC,EACD,OAAwB,EAMxB,EAAE;IACF,yBAAyB;IACzB,MAAM,WAAW,GAAG,IAAA,qDAAyB,EAC3C;QACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,EACD,OAAO,CACR,CAAC;IAEF,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAA,iDAAuB,EACtC,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,EAC5C,OAAO,CACR,CAAC;IACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,gCAAe,CACvB,0BAA0B,KAAK,CAAC,OAAO,QAAQ,WAAW,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAG,IAAA,mDAAwB,EAAC;QAC7C,WAAW;QACX,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;KACpC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,8BAA8B;QAC9B,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;QAE5D,4CAA4C;QAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAE5D,wCAAwC;QACxC,OAAO,aAAa,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,EAAE,CAAC;IAEL,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,IAAA,yDAA2B,EAAC;QACnD,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;QACnC,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAEzD,+CAA+C;IAC/C,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,QAAQ,CAAC,IAAI;YAC3B,WAAW;YACX,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,YAAY,GAChB,KAAK,CAAC,QAAQ;QACd,IAAA,WAAI,EAAC,WAAW,EAAE,iDAAiD,CAAC,CAAC;IACvE,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,gCAAe,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,2CAA2C;IAC3C,MAAM,cAAc,GAAG,IAAA,eAAQ,EAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE1D,mCAAmC;IACnC,IAAA,2CAAoB,EAAC;QACnB,YAAY;QACZ,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;QACnC,cAAc;QACd,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,EAAE,YAAY;QAC1B,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,WAAW;QACX,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC,CAAC;AAhGW,QAAA,YAAY,gBAgGvB"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * .what = configuration and utilities for behavior size levels
3
+ *
4
+ * .why = single source of truth for which templates belong to each size level.
5
+ * type derived from config keys ensures compiler-enforced completeness.
6
+ */
7
+ /**
8
+ * .what = config for behavior size levels
9
+ *
10
+ * .why = single source of truth:
11
+ * - type derived from keys (can't have type without config entry)
12
+ * - order encoded in config (no separate array to maintain)
13
+ * - adds array defines which templates this size contributes
14
+ *
15
+ * .note = sizes are cumulative: mini includes nano + mini adds, etc.
16
+ * giga is reserved for future decomposition subroutes.
17
+ */
18
+ declare const BEHAVIOR_SIZE_CONFIG: {
19
+ readonly nano: {
20
+ readonly order: 0;
21
+ readonly adds: readonly ["0.wish.md", "refs/template.[feedback].v1.[given].by_human.md", "1.vision.stone", "1.vision.guard", "3.3.1.blueprint.product.v1.stone", "3.3.1.blueprint.product.v1.guard", "4.1.roadmap.v1.stone", "5.1.execution.phase0_to_phaseN.v1.stone", "5.1.execution.phase0_to_phaseN.v1.guard"];
22
+ };
23
+ readonly mini: {
24
+ readonly order: 1;
25
+ readonly adds: readonly ["2.1.criteria.blackbox.stone", "2.1.criteria.blackbox.guard", "2.2.criteria.blackbox.matrix.stone", "3.1.3.research.internal.product.code.prod._.v1.stone", "3.1.3.research.internal.product.code.test._.v1.stone", "5.3.verification.v1.stone", "5.3.verification.v1.guard"];
26
+ };
27
+ readonly medi: {
28
+ readonly order: 2;
29
+ readonly adds: readonly ["2.3.criteria.blueprint.stone", "3.1.1.research.external.product.access._.v1.stone", "3.1.1.research.external.product.claims._.v1.stone", "3.1.5.research.reflection.product.premortem._.v1.stone", "3.1.5.research.reflection.product.rootcause._.v1.stone", "3.1.5.research.reflection.product.audience._.v1.stone", "3.2.distill.repros.experience._.v1.stone", "3.2.distill.repros.experience._.v1.guard", "5.2.evaluation.v1.stone", "5.2.evaluation.v1.guard", "5.5.playtest.v1.stone", "5.5.playtest.v1.guard"];
30
+ };
31
+ readonly mega: {
32
+ readonly order: 3;
33
+ readonly adds: readonly ["3.1.1.research.external.product.domain._.v1.stone", "3.1.1.research.external.product.domain.terms.v1.stone", "3.1.1.research.external.product.references._.v1.stone", "3.1.2.research.external.factory.testloops._.v1.stone", "3.1.2.research.external.factory.oss.levers._.v1.stone", "3.1.2.research.external.factory.templates._.v1.stone", "3.1.4.research.internal.factory.blockers._.v1.stone", "3.1.4.research.internal.factory.opports._.v1.stone", "3.2.distill.domain._.v1.stone", "3.2.distill.domain._.v1.guard", "3.2.distill.factory.upgrades._.v1.stone", "3.3.0.blueprint.factory.v1.stone"];
34
+ };
35
+ readonly giga: {
36
+ readonly order: 4;
37
+ readonly adds: readonly [];
38
+ };
39
+ };
40
+ export type BehaviorSizeLevel = keyof typeof BEHAVIOR_SIZE_CONFIG;
41
+ declare const BEHAVIOR_SIZE_ORDER: ("nano" | "mini" | "medi" | "mega" | "giga")[];
42
+ /**
43
+ * .what = get all templates for a given size level (cumulative)
44
+ *
45
+ * .why = sizes are additive: mini = nano + mini adds, medi = nano + mini + medi adds, etc.
46
+ */
47
+ export declare const getAllTemplatesBySize: (input: {
48
+ size: BehaviorSizeLevel;
49
+ }) => string[];
50
+ /**
51
+ * .what = check if a template is included in a given size level
52
+ *
53
+ * .why = used to filter templates in behavior initialization
54
+ *
55
+ * .note = handles guard variants: '1.vision.guard' matches '1.vision.guard.light'
56
+ */
57
+ export declare const isTemplateInSize: (input: {
58
+ templateName: string;
59
+ size: BehaviorSizeLevel;
60
+ }) => boolean;
61
+ export { BEHAVIOR_SIZE_CONFIG, BEHAVIOR_SIZE_ORDER };
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /**
3
+ * .what = configuration and utilities for behavior size levels
4
+ *
5
+ * .why = single source of truth for which templates belong to each size level.
6
+ * type derived from config keys ensures compiler-enforced completeness.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BEHAVIOR_SIZE_ORDER = exports.BEHAVIOR_SIZE_CONFIG = exports.isTemplateInSize = exports.getAllTemplatesBySize = void 0;
10
+ /**
11
+ * .what = config for behavior size levels
12
+ *
13
+ * .why = single source of truth:
14
+ * - type derived from keys (can't have type without config entry)
15
+ * - order encoded in config (no separate array to maintain)
16
+ * - adds array defines which templates this size contributes
17
+ *
18
+ * .note = sizes are cumulative: mini includes nano + mini adds, etc.
19
+ * giga is reserved for future decomposition subroutes.
20
+ */
21
+ const BEHAVIOR_SIZE_CONFIG = {
22
+ nano: {
23
+ order: 0,
24
+ adds: [
25
+ '0.wish.md',
26
+ 'refs/template.[feedback].v1.[given].by_human.md',
27
+ '1.vision.stone',
28
+ '1.vision.guard', // .light or .heavy variant
29
+ '3.3.1.blueprint.product.v1.stone',
30
+ '3.3.1.blueprint.product.v1.guard', // .light or .heavy variant
31
+ '4.1.roadmap.v1.stone',
32
+ '5.1.execution.phase0_to_phaseN.v1.stone',
33
+ '5.1.execution.phase0_to_phaseN.v1.guard',
34
+ ],
35
+ },
36
+ mini: {
37
+ order: 1,
38
+ adds: [
39
+ '2.1.criteria.blackbox.stone',
40
+ '2.1.criteria.blackbox.guard', // .heavy only (light has no criteria guard)
41
+ '2.2.criteria.blackbox.matrix.stone',
42
+ '3.1.3.research.internal.product.code.prod._.v1.stone',
43
+ '3.1.3.research.internal.product.code.test._.v1.stone',
44
+ '5.3.verification.v1.stone',
45
+ '5.3.verification.v1.guard',
46
+ ],
47
+ },
48
+ medi: {
49
+ order: 2,
50
+ adds: [
51
+ '2.3.criteria.blueprint.stone',
52
+ '3.1.1.research.external.product.access._.v1.stone',
53
+ '3.1.1.research.external.product.claims._.v1.stone',
54
+ '3.1.5.research.reflection.product.premortem._.v1.stone',
55
+ '3.1.5.research.reflection.product.rootcause._.v1.stone',
56
+ '3.1.5.research.reflection.product.audience._.v1.stone',
57
+ '3.2.distill.repros.experience._.v1.stone',
58
+ '3.2.distill.repros.experience._.v1.guard',
59
+ '5.2.evaluation.v1.stone',
60
+ '5.2.evaluation.v1.guard',
61
+ '5.5.playtest.v1.stone',
62
+ '5.5.playtest.v1.guard',
63
+ ],
64
+ },
65
+ mega: {
66
+ order: 3,
67
+ adds: [
68
+ '3.1.1.research.external.product.domain._.v1.stone',
69
+ '3.1.1.research.external.product.domain.terms.v1.stone',
70
+ '3.1.1.research.external.product.references._.v1.stone',
71
+ '3.1.2.research.external.factory.testloops._.v1.stone',
72
+ '3.1.2.research.external.factory.oss.levers._.v1.stone',
73
+ '3.1.2.research.external.factory.templates._.v1.stone',
74
+ '3.1.4.research.internal.factory.blockers._.v1.stone',
75
+ '3.1.4.research.internal.factory.opports._.v1.stone',
76
+ '3.2.distill.domain._.v1.stone',
77
+ '3.2.distill.domain._.v1.guard',
78
+ '3.2.distill.factory.upgrades._.v1.stone',
79
+ '3.3.0.blueprint.factory.v1.stone',
80
+ ],
81
+ },
82
+ giga: {
83
+ order: 4,
84
+ adds: [], // same as mega; reserved for future decomposition subroutes
85
+ },
86
+ };
87
+ exports.BEHAVIOR_SIZE_CONFIG = BEHAVIOR_SIZE_CONFIG;
88
+ // order derived from config - no separate array to maintain
89
+ const BEHAVIOR_SIZE_ORDER = Object.keys(BEHAVIOR_SIZE_CONFIG).sort((a, b) => BEHAVIOR_SIZE_CONFIG[a].order - BEHAVIOR_SIZE_CONFIG[b].order);
90
+ exports.BEHAVIOR_SIZE_ORDER = BEHAVIOR_SIZE_ORDER;
91
+ /**
92
+ * .what = get all templates for a given size level (cumulative)
93
+ *
94
+ * .why = sizes are additive: mini = nano + mini adds, medi = nano + mini + medi adds, etc.
95
+ */
96
+ const getAllTemplatesBySize = (input) => {
97
+ const index = BEHAVIOR_SIZE_ORDER.indexOf(input.size);
98
+ return BEHAVIOR_SIZE_ORDER.slice(0, index + 1).flatMap((s) => BEHAVIOR_SIZE_CONFIG[s].adds);
99
+ };
100
+ exports.getAllTemplatesBySize = getAllTemplatesBySize;
101
+ /**
102
+ * .what = check if a template is included in a given size level
103
+ *
104
+ * .why = used to filter templates in behavior initialization
105
+ *
106
+ * .note = handles guard variants: '1.vision.guard' matches '1.vision.guard.light'
107
+ */
108
+ const isTemplateInSize = (input) => {
109
+ const templates = (0, exports.getAllTemplatesBySize)({ size: input.size });
110
+ // direct match
111
+ if (templates.includes(input.templateName)) {
112
+ return true;
113
+ }
114
+ // check for guard variant match (e.g., '1.vision.guard.light' matches '1.vision.guard')
115
+ const baseName = input.templateName.replace(/\.(light|heavy)$/, '');
116
+ if (baseName !== input.templateName && templates.includes(baseName)) {
117
+ return true;
118
+ }
119
+ return false;
120
+ };
121
+ exports.isTemplateInSize = isTemplateInSize;
122
+ //# sourceMappingURL=getAllTemplatesBySize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllTemplatesBySize.js","sourceRoot":"","sources":["../../../../src/domain.operations/behavior/init/getAllTemplatesBySize.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;;;;;GAUG;AACH,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC;QACR,IAAI,EAAE;YACJ,WAAW;YACX,iDAAiD;YACjD,gBAAgB;YAChB,gBAAgB,EAAE,2BAA2B;YAC7C,kCAAkC;YAClC,kCAAkC,EAAE,2BAA2B;YAC/D,sBAAsB;YACtB,yCAAyC;YACzC,yCAAyC;SAC1C;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC;QACR,IAAI,EAAE;YACJ,6BAA6B;YAC7B,6BAA6B,EAAE,4CAA4C;YAC3E,oCAAoC;YACpC,sDAAsD;YACtD,sDAAsD;YACtD,2BAA2B;YAC3B,2BAA2B;SAC5B;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC;QACR,IAAI,EAAE;YACJ,8BAA8B;YAC9B,mDAAmD;YACnD,mDAAmD;YACnD,wDAAwD;YACxD,wDAAwD;YACxD,uDAAuD;YACvD,0CAA0C;YAC1C,0CAA0C;YAC1C,yBAAyB;YACzB,yBAAyB;YACzB,uBAAuB;YACvB,uBAAuB;SACxB;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC;QACR,IAAI,EAAE;YACJ,mDAAmD;YACnD,uDAAuD;YACvD,uDAAuD;YACvD,sDAAsD;YACtD,uDAAuD;YACvD,sDAAsD;YACtD,qDAAqD;YACrD,oDAAoD;YACpD,+BAA+B;YAC/B,+BAA+B;YAC/B,yCAAyC;YACzC,kCAAkC;SACnC;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,EAAE,EAAE,4DAA4D;KACvE;CAC4E,CAAC;AAoDvE,oDAAoB;AA/C7B,4DAA4D;AAC5D,MAAM,mBAAmB,GACvB,MAAM,CAAC,IAAI,CAAC,oBAAoB,CACjC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AA4CjD,kDAAmB;AA1ClD;;;;GAIG;AACI,MAAM,qBAAqB,GAAG,CAAC,KAErC,EAAY,EAAE;IACb,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CACpC,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC;AAEF;;;;;;GAMG;AACI,MAAM,gBAAgB,GAAG,CAAC,KAGhC,EAAW,EAAE;IACZ,MAAM,SAAS,GAAG,IAAA,6BAAqB,EAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9D,eAAe;IACf,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wFAAwF;IACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,QAAQ,KAAK,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B"}
@@ -1,3 +1,4 @@
1
+ import { type BehaviorSizeLevel } from './getAllTemplatesBySize';
1
2
  /**
2
3
  * .what = initialize a behavior directory with template files
3
4
  *
@@ -5,14 +6,16 @@
5
6
  *
6
7
  * guarantee:
7
8
  * - creates behavior directory if not found
8
- * - findserts all template files (creates if not found, skips if exists)
9
+ * - findserts all template files (creates if not found, skips if extant)
9
10
  * - replaces $BEHAVIOR_DIR_REL in template content
11
+ * - selects templates based on size level (nano → giga)
10
12
  * - selects guard templates based on guard level (light or heavy)
11
13
  * - idempotent: safe to rerun
12
14
  */
13
15
  export declare const initBehaviorDir: (input: {
14
16
  behaviorDir: string;
15
17
  behaviorDirRel: string;
18
+ size?: BehaviorSizeLevel;
16
19
  guard?: 'light' | 'heavy';
17
20
  }) => {
18
21
  created: string[];
@@ -3,7 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initBehaviorDir = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
+ const getAllTemplatesBySize_1 = require("./getAllTemplatesBySize");
6
7
  const TEMPLATES_DIR = (0, path_1.join)(__dirname, 'templates');
8
+ /**
9
+ * .what = recursively read all files in a directory
10
+ * .why = templates may be in subdirectories (e.g., refs/)
11
+ */
12
+ const getAllFilesRecursive = (dir, prefix = '') => {
13
+ const entries = (0, fs_1.readdirSync)(dir, { withFileTypes: true });
14
+ const files = [];
15
+ for (const entry of entries) {
16
+ const relPath = prefix ? `${prefix}/${entry.name}` : entry.name;
17
+ if (entry.isDirectory()) {
18
+ files.push(...getAllFilesRecursive((0, path_1.join)(dir, entry.name), relPath));
19
+ }
20
+ else {
21
+ files.push(relPath);
22
+ }
23
+ }
24
+ return files;
25
+ };
7
26
  /**
8
27
  * .what = initialize a behavior directory with template files
9
28
  *
@@ -11,28 +30,36 @@ const TEMPLATES_DIR = (0, path_1.join)(__dirname, 'templates');
11
30
  *
12
31
  * guarantee:
13
32
  * - creates behavior directory if not found
14
- * - findserts all template files (creates if not found, skips if exists)
33
+ * - findserts all template files (creates if not found, skips if extant)
15
34
  * - replaces $BEHAVIOR_DIR_REL in template content
35
+ * - selects templates based on size level (nano → giga)
16
36
  * - selects guard templates based on guard level (light or heavy)
17
37
  * - idempotent: safe to rerun
18
38
  */
19
39
  const initBehaviorDir = (input) => {
20
40
  const created = [];
21
41
  const kept = [];
42
+ const sizeLevel = input.size ?? 'medi';
22
43
  const guardLevel = input.guard ?? 'light';
23
44
  // create behavior directory (idempotent)
24
45
  (0, fs_1.mkdirSync)(input.behaviorDir, { recursive: true });
25
- // read all template files
26
- const templateFiles = (0, fs_1.readdirSync)(TEMPLATES_DIR);
46
+ // read all template files (recursive to include subdirectories like refs/)
47
+ const templateFiles = getAllFilesRecursive(TEMPLATES_DIR);
27
48
  // determine which templates to process
28
49
  const templatesToProcess = computeTemplatesToProcess({
29
50
  templateFiles,
51
+ sizeLevel,
30
52
  guardLevel,
31
53
  });
32
54
  for (const { templateName, targetName } of templatesToProcess) {
33
55
  const templatePath = (0, path_1.join)(TEMPLATES_DIR, templateName);
34
56
  const targetPath = (0, path_1.join)(input.behaviorDir, targetName);
35
- // findsert: skip if exists
57
+ // create parent directory if needed (for refs/ subdirectory)
58
+ const targetDir = (0, path_1.dirname)(targetPath);
59
+ if (targetDir !== input.behaviorDir) {
60
+ (0, fs_1.mkdirSync)(targetDir, { recursive: true });
61
+ }
62
+ // findsert: skip if extant
36
63
  if ((0, fs_1.existsSync)(targetPath)) {
37
64
  kept.push(targetName);
38
65
  continue;
@@ -48,10 +75,10 @@ const initBehaviorDir = (input) => {
48
75
  };
49
76
  exports.initBehaviorDir = initBehaviorDir;
50
77
  /**
51
- * .what = compute which templates to process based on guard level
78
+ * .what = compute which templates to process based on size and guard level
52
79
  *
53
- * .why = guard files come in .light and .heavy variants; this selects
54
- * the appropriate variant and maps it to the base filename
80
+ * .why = templates are filtered by size level first (nano giga),
81
+ * then guard files select the .light or .heavy variant
55
82
  */
56
83
  const computeTemplatesToProcess = (input) => {
57
84
  const result = [];
@@ -66,14 +93,15 @@ const computeTemplatesToProcess = (input) => {
66
93
  !templateName.endsWith(guardLevelChosenSuffix)) {
67
94
  continue;
68
95
  }
69
- // handle guard templates with level suffix - strip suffix for target name
70
- if (templateName.endsWith(guardLevelChosenSuffix)) {
71
- const targetName = templateName.slice(0, -guardLevelChosenSuffix.length);
72
- result.push({ templateName, targetName });
96
+ // compute target name (strip guard level suffix if present)
97
+ const targetName = templateName.endsWith(guardLevelChosenSuffix)
98
+ ? templateName.slice(0, -guardLevelChosenSuffix.length)
99
+ : templateName;
100
+ // skip templates not in size level
101
+ if (!(0, getAllTemplatesBySize_1.isTemplateInSize)({ templateName: targetName, size: input.sizeLevel })) {
73
102
  continue;
74
103
  }
75
- // regular templates (no suffix) - use as-is
76
- result.push({ templateName, targetName: templateName });
104
+ result.push({ templateName, targetName });
77
105
  }
78
106
  return result;
79
107
  };
@@ -1 +1 @@
1
- {"version":3,"file":"initBehaviorDir.js","sourceRoot":"","sources":["../../../../src/domain.operations/behavior/init/initBehaviorDir.ts"],"names":[],"mappings":";;;AAAA,2BAMY;AACZ,+BAA4B;AAE5B,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEnD;;;;;;;;;;;GAWG;AACI,MAAM,eAAe,GAAG,CAAC,KAI/B,EAAyC,EAAE;IAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC;IAE1C,yCAAyC;IACzC,IAAA,cAAS,EAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,0BAA0B;IAC1B,MAAM,aAAa,GAAG,IAAA,gBAAW,EAAC,aAAa,CAAC,CAAC;IAEjD,uCAAuC;IACvC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;QACnD,aAAa;QACb,UAAU;KACX,CAAC,CAAC;IAEH,KAAK,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,kBAAkB,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEvD,2BAA2B;QAC3B,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAEvE,sBAAsB;QACtB,IAAA,kBAAa,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC;AAzCW,QAAA,eAAe,mBAyC1B;AAEF;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAGlC,EAAuD,EAAE;IACxD,MAAM,MAAM,GAAwD,EAAE,CAAC;IACvE,MAAM,sBAAsB,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;IAEtD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/C,mDAAmD;QACnD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,oBAAoB,GAAG,cAAc,IAAI,cAAc,CAAC;QAE9D,2DAA2D;QAC3D,IACE,oBAAoB;YACpB,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAC9C,CAAC;YACD,SAAS;QACX,CAAC;QAED,0EAA0E;QAC1E,IAAI,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,4CAA4C;QAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"initBehaviorDir.js","sourceRoot":"","sources":["../../../../src/domain.operations/behavior/init/initBehaviorDir.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ reviews:
2
+ self:
3
+ - slug: has-ubiquitous-language
4
+ say: |
5
+ double-check: did you define the ubiquitous language?
6
+
7
+ for each domain term:
8
+ - is it clearly defined? can a newcomer understand it?
9
+ - are there any synonyms that should be eliminated?
10
+ - are there any terms that mean different facts in different contexts?
11
+
12
+ ubiquitous language reduces cognitive load. each ambiguity
13
+ becomes a bug, a support ticket, or hours of confused discussion.
14
+
15
+ - slug: has-bounded-contexts
16
+ say: |
17
+ double-check: did you identify the bounded contexts?
18
+
19
+ - which concepts belong together?
20
+ - where are the natural boundaries between contexts?
21
+ - what are the relationships between contexts?
22
+
23
+ bounded contexts prevent the "big ball of mud" — where all pieces
24
+ depend on all other pieces. clear boundaries enable parallel work.
25
+
26
+ - slug: has-core-domain-identified
27
+ say: |
28
+ double-check: did you identify the core domain?
29
+
30
+ - what is the heart of the business problem?
31
+ - what differentiates this system from a generic solution?
32
+ - where should we invest the most care and attention?
33
+
34
+ the core domain is where competitive advantage lives.
35
+ generic code can be bought or borrowed. core domain code must be crafted.
@@ -216,7 +216,7 @@ OUTPUT_FILE="$BEHAVIOR_DIR/7.1.review.behavior.per_${TARGETS_SLUG}.[feedback].[g
216
216
  OUTPUT_FILE_REL=$(realpath --relative-to="$TARGET_DIR" "$OUTPUT_FILE")
217
217
 
218
218
  # feedback template path (relative to TARGET_DIR where claude runs)
219
- TEMPLATE_FILE="$BEHAVIOR_DIR/.ref.[feedback].v1.[given].by_human.md"
219
+ TEMPLATE_FILE="$BEHAVIOR_DIR/refs/template.[feedback].v1.[given].by_human.md"
220
220
  TEMPLATE_FILE_REL=$(realpath --relative-to="$TARGET_DIR" "$TEMPLATE_FILE")
221
221
 
222
222
  # build prompt (asks claude to output review to stdout, script writes to file)
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "rhachet-roles-bhuild",
3
3
  "author": "ehmpathy",
4
4
  "description": "roles for building resilient systems, via rhachet",
5
- "version": "0.14.6",
5
+ "version": "0.15.0",
6
6
  "repository": "ehmpathy/rhachet-roles-bhuild",
7
7
  "homepage": "https://github.com/ehmpathy/rhachet-roles-bhuild",
8
8
  "keywords": [
@@ -35,7 +35,7 @@
35
35
  "fix": "npm run fix:format && npm run fix:lint",
36
36
  "build:clean": "chmod -R u+w dist 2>/dev/null; rm -rf dist/",
37
37
  "build:compile": "tsc -p ./tsconfig.build.json && tsc-alias -p ./tsconfig.build.json",
38
- "build:complete:dist": "rsync -a --prune-empty-dirs --include='*/' --exclude='**/.route/**' --exclude='**/.scratch/**' --exclude='**/.behavior/**' --exclude='**/*.test.sh' --include='**/readme.md' --include='**/*.template.md' --include='**/briefs/**/*.md' --include='**/briefs/*.md' --include='**/skills/**/*.sh' --include='**/skills/*.sh' --include='**/skills/**/*.jsonc' --include='**/skills/*.jsonc' --include='**/inits/**/*.sh' --include='**/inits/*.sh' --include='**/inits/**/*.jsonc' --include='**/inits/*.jsonc' --include='**/templates/*.md' --include='**/templates/*.stone' --include='**/templates/*.guard' --include='**/templates/*.guard.*' --exclude='*' src/ dist/",
38
+ "build:complete:dist": "rsync -a --prune-empty-dirs --include='*/' --exclude='**/.route/**' --exclude='**/.scratch/**' --exclude='**/.behavior/**' --exclude='**/*.test.sh' --include='**/readme.md' --include='**/*.template.md' --include='**/briefs/**/*.md' --include='**/briefs/*.md' --include='**/skills/**/*.sh' --include='**/skills/*.sh' --include='**/skills/**/*.jsonc' --include='**/skills/*.jsonc' --include='**/inits/**/*.sh' --include='**/inits/*.sh' --include='**/inits/**/*.jsonc' --include='**/inits/*.jsonc' --include='**/templates/**/*.md' --include='**/templates/*.md' --include='**/templates/*.stone' --include='**/templates/*.guard' --include='**/templates/*.guard.*' --exclude='*' src/ dist/",
39
39
  "build:complete:permissions": "find dist -name '*.sh' -type f -exec chmod +x {} \\;",
40
40
  "build:complete:repo": "npx rhachet repo introspect",
41
41
  "build:complete": "npm run build:complete:dist && npm run build:complete:permissions && npm run build:complete:repo",
@@ -89,11 +89,11 @@
89
89
  "esbuild-register": "3.6.0",
90
90
  "husky": "8.0.3",
91
91
  "jest": "30.2.0",
92
- "rhachet": "1.38.1",
92
+ "rhachet": "1.39.0",
93
93
  "rhachet-brains-anthropic": "0.4.0",
94
- "rhachet-roles-bhrain": "0.23.9",
94
+ "rhachet-roles-bhrain": "0.23.10",
95
95
  "rhachet-roles-bhuild": "link:.",
96
- "rhachet-roles-ehmpathy": "1.34.9",
96
+ "rhachet-roles-ehmpathy": "1.34.11",
97
97
  "tsc-alias": "1.8.10",
98
98
  "tsx": "4.20.6",
99
99
  "typescript": "5.4.5",