rhachet-roles-ehmpathy 1.8.0 → 1.9.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.
Files changed (40) hide show
  1. package/dist/logic/roles/architect/.briefs/criteria.given_when_then.[seed].v3.md +87 -0
  2. package/dist/logic/roles/mechanic/.briefs/architecture/directional-dependencies.md +49 -40
  3. package/dist/logic/roles/mechanic/.briefs/criteria.practices/require.knowledge.externalized.md +17 -0
  4. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.contract.inputs.nameargs/bad-practice/forbid.positional-args.md +43 -0
  5. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.contract.inputs.nameargs/best-practice/require.namedargs.md +6 -0
  6. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.declarative/.readme.md +0 -0
  7. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.declarative/best-practice/declastruct.[demo].md +485 -0
  8. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.has.attributes.nullable.md +13 -0
  9. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.has.attributes.undefined.md +15 -0
  10. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.refs.immuatble.md +9 -0
  11. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/best-practice/ref.package.domain-objects.[readme].md +585 -0
  12. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.operations/best-practice/require.sync.names.md +14 -0
  13. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/bad-practices/forbid.hide_errors.md +13 -0
  14. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/best-practice/require.fail_fast.[demo].shell.md +17 -0
  15. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/best-practice/require.fail_fast.md +28 -0
  16. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.repo.structure/best-practice/directional-dependencies.md +82 -0
  17. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.repo.structure/best-practice/dot-test-and-dot-temp.md +20 -0
  18. package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.typescript.utils/best-practice/ref.package.as-command.[tips].md +7 -0
  19. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.acceptance/best-practice/blackbox.md +5 -0
  20. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.run.[lesson].md +18 -0
  21. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.use.[lesson].md +20 -0
  22. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].md +3 -0
  23. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].on_scope.for_integ.md +8 -0
  24. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].on_scope.for_units.md +9 -0
  25. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.bdd.[lesson].md +280 -0
  26. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/prefer.datadriven.md +41 -0
  27. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/ref.test-fns.[readme].md +185 -0
  28. package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/whento.snapshots.[lesson].md +23 -0
  29. package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/.readme.md +1 -0
  30. package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/domain=practices.terms=forbid_prefer_desire_require.md +13 -0
  31. package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/domain=software.terms=prodcode_vs_testcode.md +7 -0
  32. package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/.readme.md +3 -0
  33. package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/prefer.chill-nature.md +0 -0
  34. package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/prefer.lowercase.md +0 -0
  35. package/dist/logic/roles/mechanic/getMechanicRole.js +1 -1
  36. package/dist/logic/roles/mechanic/getMechanicRole.js.map +1 -1
  37. package/package.json +2 -2
  38. package/dist/logic/roles/architect/.briefs/criteria.given_when_then.[seed].[idea].md +0 -35
  39. package/dist/logic/roles/architect/.briefs/criteria.given_when_then.[seed].md +0 -20
  40. /package/dist/logic/roles/architect/.briefs/{criteria.practices → practices}/prefer.env_access.prep_over_dev.md +0 -0
@@ -0,0 +1,23 @@
1
+ use snapshots whenever output artifacts are created
2
+
3
+ why?
4
+ - makes it easier to review in prs what is actually being produced
5
+ - e.g., visual spotcheck, make sure it looks good
6
+ - especially important when the output is userfacing (e.g., codegen, comms, etc)
7
+
8
+ - makes it easier to detect exactly what the impact of a change is
9
+ - most of the time its intended and the snapshot can just be updated
10
+ - sometimes though, the snapshot diff exposes critical differences that are blockers or nitpicks that need to be addressed
11
+
12
+
13
+ ---
14
+
15
+ critical:
16
+
17
+ use both
18
+ - a snapshot
19
+ - AND
20
+ - explicit assertions before the snapshot
21
+
22
+ snapshot is for observability in code reviews and aesthetic verification
23
+ assertions are for functional verification
@@ -0,0 +1 @@
1
+ practices on which terms to use to promote a ubiquitous language go here
@@ -0,0 +1,13 @@
1
+ these are the terms we use to describe how to use practices
2
+
3
+ forbid = search to ensure this was not done
4
+ - it's a bad practice
5
+ - it's a BLOCKER if detected
6
+
7
+ prefer = search for opportunities to do this
8
+ - it's a best practice, but not mandatory
9
+ - it's a NITPICK if detected
10
+
11
+ require = search for opportunities to do this
12
+ - it's a best practice, and is mandatory
13
+ - it's a BLOCKER if detected
@@ -0,0 +1,7 @@
1
+ prodcode = the product's code
2
+ - the code that produces the behavior users experience
3
+ - the code that gets shipped to production
4
+
5
+ testcode = the builder's code
6
+ - the code that verifies the behaviors users experience
7
+ - the code that runs at build time to protect production
@@ -0,0 +1,3 @@
1
+ briefs on what tones to use in writing goes here
2
+
3
+ tones impact how things are thought about, so they are important to curate
@@ -19,7 +19,7 @@ Used to write and revise the actual logic that runs the system.
19
19
  `.trim(),
20
20
  traits: [],
21
21
  skills: {
22
- dirs: [],
22
+ dirs: [{ uri: __dirname + '/.skills' }],
23
23
  refs: [loopWrite_skill_1.SKILL_WRITE, getSkillCodePropose_1.SKILL_CODE_PROPOSE],
24
24
  },
25
25
  briefs: {
@@ -1 +1 @@
1
- {"version":3,"file":"getMechanicRole.js","sourceRoot":"","sources":["../../../../src/logic/roles/mechanic/getMechanicRole.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAE/B,sEAAkE;AAClE,6DAAsD;AAEzC,QAAA,aAAa,GAAG,cAAI,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE;;;;;;;;GAQP,CAAC,IAAI,EAAE;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC,6BAAW,EAAE,wCAAkB,CAAC;KACxC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,EAAE,CAAC;KACxC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"getMechanicRole.js","sourceRoot":"","sources":["../../../../src/logic/roles/mechanic/getMechanicRole.ts"],"names":[],"mappings":";;;AAAA,qCAA+B;AAE/B,sEAAkE;AAClE,6DAAsD;AAEzC,QAAA,aAAa,GAAG,cAAI,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE;;;;;;;;GAQP,CAAC,IAAI,EAAE;IACR,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,EAAE,CAAC;QACvC,IAAI,EAAE,CAAC,6BAAW,EAAE,wCAAkB,CAAC;KACxC;IACD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,EAAE,CAAC;KACxC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "rhachet-roles-ehmpathy",
3
3
  "author": "ehmpathy",
4
4
  "description": "empathetic software construction roles and skills, via rhachet",
5
- "version": "1.8.0",
5
+ "version": "1.9.0",
6
6
  "repository": "ehmpathy/rhachet-roles-ehmpathy",
7
7
  "homepage": "https://github.com/ehmpathy/rhachet-roles-ehmpathy",
8
8
  "keywords": [
@@ -57,7 +57,7 @@
57
57
  "helpful-errors": "1.3.8",
58
58
  "inquirer": "12.7.0",
59
59
  "openai": "5.8.2",
60
- "rhachet": "1.11.0",
60
+ "rhachet": "1.12.1",
61
61
  "rhachet-artifact": "1.0.0",
62
62
  "rhachet-artifact-git": "1.1.0",
63
63
  "serde-fns": "1.2.0",
@@ -1,35 +0,0 @@
1
- [idea] = nest then's within sothat? when many thens support the same sothat?
2
-
3
- when([t4] bastion IAM instance profile is provisioned via terraform)
4
- sothat(SSM sessions can be established to bastion)
5
- then(instance profile includes AmazonSSMManagedInstanceCore policy)
6
- then(instance profile allows ssm:StartSession action)
7
- sothat(auto-pause can detect when bastion is idle)
8
- then(instance profile allows ec2:StopInstances for self-stop)
9
- then(instance profile allows ec2:DescribeInstances to check instance state)
10
- then(instance profile allows ssm:DescribeSessions to detect active sessions)
11
- then(instance profile allows ssm:GetConnectionStatus to verify session state)
12
-
13
-
14
- i.e.,
15
-
16
-
17
- given(scene)
18
- when(cause)
19
- sothat(benefit)
20
- then(effect.1)
21
- then(effect.2)
22
-
23
-
24
- ---
25
-
26
-
27
- e.g.,
28
-
29
- given(its dinner time)
30
- when(dinner is served)
31
- sothat(we can eat with cleanly)
32
- then(we should have cutlery appropriate to the dish)
33
- then(we should have plates appropriate to the dish)
34
- then(we should have napkins to clean with)
35
-
@@ -1,20 +0,0 @@
1
- criteria is best written in behavior-driven-development format
2
-
3
- e.g.,
4
-
5
- given(scene)
6
- when([t0] nochange)
7
- then(assert initial condition)
8
- ...
9
- when([t1] cause)
10
- then(effect)
11
- sothat(benefit) # optional
12
- ...
13
- when([t2] cause)
14
- then(effect)
15
- sothat(benefit) # optional
16
- ...
17
-
18
-
19
- dont forget that given and when can nest inside eachother; but then() goes at the root
20
-