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.
- package/dist/contract/cli/init.behavior.js +2 -0
- package/dist/contract/cli/init.behavior.js.map +1 -1
- package/dist/domain.operations/behavior/feedback/giveFeedback.js +1 -1
- package/dist/domain.operations/behavior/feedback/giveFeedback.js.map +1 -1
- package/dist/domain.operations/behavior/init/getAllTemplatesBySize.d.ts +61 -0
- package/dist/domain.operations/behavior/init/getAllTemplatesBySize.js +122 -0
- package/dist/domain.operations/behavior/init/getAllTemplatesBySize.js.map +1 -0
- package/dist/domain.operations/behavior/init/initBehaviorDir.d.ts +4 -1
- package/dist/domain.operations/behavior/init/initBehaviorDir.js +41 -13
- package/dist/domain.operations/behavior/init/initBehaviorDir.js.map +1 -1
- package/dist/domain.operations/behavior/init/templates/3.2.distill.domain._.v1.guard +35 -0
- package/dist/domain.roles/behaver/skills/review.deliverable.sh +1 -1
- package/package.json +5 -5
- /package/dist/domain.operations/behavior/init/templates/{.ref.[feedback].v1.[given].by_human.md → refs/template.[feedback].v1.[given].by_human.md} +0 -0
|
@@ -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, '.
|
|
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,
|
|
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
|
|
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
|
|
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 = (
|
|
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
|
-
//
|
|
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 =
|
|
54
|
-
*
|
|
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
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
-
|
|
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,+
|
|
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
|
|
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.
|
|
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.
|
|
92
|
+
"rhachet": "1.39.0",
|
|
93
93
|
"rhachet-brains-anthropic": "0.4.0",
|
|
94
|
-
"rhachet-roles-bhrain": "0.23.
|
|
94
|
+
"rhachet-roles-bhrain": "0.23.10",
|
|
95
95
|
"rhachet-roles-bhuild": "link:.",
|
|
96
|
-
"rhachet-roles-ehmpathy": "1.34.
|
|
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",
|