rhachet-roles-ehmpathy 1.12.1 → 1.13.1
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/_topublish/rhachet-roles-bhrain/src/domain/objects/Focus.d.ts +2 -2
- package/dist/contract/sdk/index.d.ts +1 -1
- package/dist/contract/sdk/index.js +3 -3
- package/dist/contract/sdk/index.js.map +1 -1
- package/dist/data/sdk/sdkOpenAi.d.ts +2 -2
- package/dist/domain/constants.d.ts +3 -0
- package/dist/domain/constants.js +5 -0
- package/dist/domain/constants.js.map +1 -0
- package/dist/logic/artifact/genLoopFeedback.d.ts +3 -3
- package/dist/logic/artifact/genStepArtDel.d.ts +4 -4
- package/dist/logic/artifact/genStepArtDel.js.map +1 -1
- package/dist/logic/artifact/genStepArtSet.d.ts +4 -4
- package/dist/logic/artifact/genStepArtSet.js.map +1 -1
- package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.d.ts +4 -4
- package/dist/logic/artifact/genStepResetFeedback.d.ts +4 -4
- package/dist/logic/artifact/genStepResetFeedback.js.map +1 -1
- package/dist/logic/artifact/genStepSwapArtifact.d.ts +3 -3
- package/dist/logic/artifact/setSkillOutputSrc.d.ts +1 -1
- package/dist/logic/context/genStitchStreamToDisk.d.ts +1 -1
- package/dist/logic/context/genStitchStreamToDisk.js +1 -0
- package/dist/logic/context/genStitchStreamToDisk.js.map +1 -1
- package/dist/logic/hooks/execTranslateDocOutputPath.d.ts +2 -2
- package/dist/logic/hooks/getInvokeHooks.d.ts +1 -1
- package/dist/logic/roles/architect/getArchitectRole.d.ts +1 -1
- package/dist/logic/roles/architect/getArchitectRole.js.map +1 -1
- package/dist/logic/roles/bhrain/brief.articulate/stepArticulate.d.ts +6 -6
- package/dist/logic/roles/bhrain/brief.articulate/stepArticulate.js.map +1 -1
- package/dist/logic/roles/bhrain/brief.articulate/stepArticulate.skill.d.ts +1 -1
- package/dist/logic/roles/bhrain/brief.catalogize/stepCatalogize.d.ts +6 -6
- package/dist/logic/roles/bhrain/brief.catalogize/stepCatalogize.skill.d.ts +1 -1
- package/dist/logic/roles/bhrain/brief.demonstrate/stepDemonstrate.d.ts +6 -6
- package/dist/logic/roles/bhrain/brief.demonstrate/stepDemonstrate.js.map +1 -1
- package/dist/logic/roles/bhrain/brief.demonstrate/stepDemonstrate.skill.d.ts +1 -1
- package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.d.ts +1 -1
- package/dist/logic/roles/bhrain/getBhrainBrief.d.ts +3 -3
- package/dist/logic/roles/bhrain/getBhrainBrief.js.map +1 -1
- package/dist/logic/roles/bhrain/getBhrainRole.d.ts +1 -1
- package/dist/logic/roles/bhrain/getBhrainRole.js.map +1 -1
- package/dist/logic/roles/bhrain/khue.cluster/stepCluster.d.ts +6 -6
- package/dist/logic/roles/bhrain/khue.cluster/stepCluster.js.map +1 -1
- package/dist/logic/roles/bhrain/khue.cluster/stepCluster.skill.d.ts +1 -1
- package/dist/logic/roles/bhrain/khue.diverge/stepDiverge.d.ts +6 -6
- package/dist/logic/roles/bhrain/khue.diverge/stepDiverge.js.map +1 -1
- package/dist/logic/roles/bhrain/khue.diverge/stepDiverge.skill.d.ts +1 -1
- package/dist/logic/roles/bhrain/khue.instantiate/stepInstantiate.d.ts +6 -6
- package/dist/logic/roles/bhrain/khue.instantiate/stepInstantiate.js.map +1 -1
- package/dist/logic/roles/bhrain/khue.instantiate/stepInstantiate.skill.d.ts +1 -1
- package/dist/logic/roles/bhrain/khue.instantiate/stepInstantiate.skill.js.map +1 -1
- package/dist/logic/roles/bhrain/khue.triage/stepTriage.d.ts +6 -6
- package/dist/logic/roles/bhrain/khue.triage/stepTriage.js.map +1 -1
- package/dist/logic/roles/bhrain/khue.triage/stepTriage.skill.d.ts +1 -1
- package/dist/logic/roles/designer/getDesignerBrief.Options.codegen.d.ts +1 -1
- package/dist/logic/roles/designer/getDesignerBrief.d.ts +3 -3
- package/dist/logic/roles/designer/getDesignerBrief.js.map +1 -1
- package/dist/logic/roles/designer/outlineDistilisys/loopOutlineDistilisys.d.ts +4 -4
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.d.ts +4 -4
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.js.map +1 -1
- package/dist/logic/roles/designer/outlineRoadmap/loopOutlineRoadmap.d.ts +4 -4
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.d.ts +4 -4
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.js.map +1 -1
- package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.d.ts +1 -1
- package/dist/logic/roles/ecologist/getEcologistBrief.d.ts +3 -3
- package/dist/logic/roles/ecologist/getEcologistBrief.js.map +1 -1
- package/dist/logic/roles/ecologist/getEcologistRole.d.ts +1 -1
- package/dist/logic/roles/ecologist/getEcologistRole.js.map +1 -1
- package/dist/logic/roles/mechanic/codediff/getRefOrgPatterns.d.ts +2 -2
- package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.d.ts +4 -4
- package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.js.map +1 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReview.d.ts +4 -4
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.d.ts +4 -4
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.js.map +1 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewBehavior.d.ts +4 -4
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewBehavior.js.map +1 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.d.ts +4 -4
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.js.map +1 -1
- package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.d.ts +4 -4
- package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.js.map +1 -1
- package/dist/logic/roles/mechanic/codediff/routeMechanicCodeIterate.d.ts +4 -4
- package/dist/logic/roles/mechanic/codediff/routeMechanicCodePropose.d.ts +5 -5
- package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.d.ts +1 -1
- package/dist/logic/roles/mechanic/getMechanicBrief.d.ts +3 -3
- package/dist/logic/roles/mechanic/getMechanicBrief.js.map +1 -1
- package/dist/logic/roles/mechanic/getMechanicRole.d.ts +1 -1
- package/dist/logic/roles/mechanic/getMechanicRole.js.map +1 -1
- package/dist/logic/roles/mechanic/skills/getSkillCodePropose.d.ts +3 -2
- package/dist/logic/roles/mechanic/skills/getSkillCodePropose.js.map +1 -1
- package/dist/logic/roles/mechanic/study/routeStudyAsk.d.ts +4 -4
- package/dist/logic/roles/mechanic/study/routeStudyAsk.js.map +1 -1
- package/dist/logic/roles/mechanic/write/loopWrite.d.ts +1 -1
- package/dist/logic/roles/mechanic/write/loopWrite.skill.d.ts +1 -1
- package/dist/logic/roles/mechanic/write/loopWrite.skill.js.map +1 -1
- package/dist/logic/roles/mechanic/write/stepWrite.d.ts +4 -4
- package/dist/logic/roles/mechanic/write/stepWrite.js.map +1 -1
- package/dist/logic/roles/terminal.commander/command.exec/stepExecCommand.d.ts +4 -4
- package/dist/logic/roles/terminal.commander/command.exec/stepExecCommand.js.map +1 -1
- package/dist/logic/roles/terminal.commander/command.exec/stepExecCommand.skill.d.ts +1 -1
- package/dist/logic/roles/terminal.commander/command.plan/stepPlanCommand.d.ts +6 -6
- package/dist/logic/roles/terminal.commander/command.plan/stepPlanCommand.skill.d.ts +1 -1
- package/dist/logic/roles/terminal.commander/getCommanderRole.d.ts +1 -1
- package/dist/logic/roles/terminal.commander/getCommanderRole.js.map +1 -1
- package/license.md +21 -0
- package/package.json +38 -38
- package/dist/contract/cases/mechanicGoalStubout.integration.test.d.ts +0 -0
- package/dist/contract/cases/mechanicGoalStubout.integration.test.js +0 -2
- package/dist/contract/cases/mechanicGoalStubout.integration.test.js.map +0 -1
- package/dist/contract/cases/mechanicStubFillout.integration.test.d.ts +0 -0
- package/dist/contract/cases/mechanicStubFillout.integration.test.js +0 -2
- package/dist/contract/cases/mechanicStubFillout.integration.test.js.map +0 -1
- package/dist/logic/artifact/genStepArtSet.integration.test.d.ts +0 -1
- package/dist/logic/artifact/genStepArtSet.integration.test.js +0 -142
- package/dist/logic/artifact/genStepArtSet.integration.test.js.map +0 -1
- package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.integration.test.d.ts +0 -1
- package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.integration.test.js +0 -97
- package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.integration.test.js.map +0 -1
- package/dist/logic/artifact/genStepSwapArtifact.test.d.ts +0 -1
- package/dist/logic/artifact/genStepSwapArtifact.test.js +0 -131
- package/dist/logic/artifact/genStepSwapArtifact.test.js.map +0 -1
- package/dist/logic/hooks/decodeDocOutputPath.test.d.ts +0 -1
- package/dist/logic/hooks/decodeDocOutputPath.test.js +0 -146
- package/dist/logic/hooks/decodeDocOutputPath.test.js.map +0 -1
- package/dist/logic/hooks/execTranslateDocOutputPath.test.d.ts +0 -1
- package/dist/logic/hooks/execTranslateDocOutputPath.test.js +0 -528
- package/dist/logic/hooks/execTranslateDocOutputPath.test.js.map +0 -1
- package/dist/logic/hooks/relateDocOutputPath.test.d.ts +0 -1
- package/dist/logic/hooks/relateDocOutputPath.test.js +0 -111
- package/dist/logic/hooks/relateDocOutputPath.test.js.map +0 -1
- package/dist/logic/roles/architect/.briefs/criteria.given_when_then.[seed].v3.md +0 -87
- package/dist/logic/roles/architect/.briefs/practices/prefer.env_access.prep_over_dev.md +0 -12
- package/dist/logic/roles/architect/.briefs/ubiqlang.ambiguous-from-overload.md +0 -1
- package/dist/logic/roles/bhrain/.briefs/cognition/cog000.overview.and.premise.md +0 -115
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.coordinates.spherical.md +0 -69
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.metaphor.cauliflorous.md +0 -44
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.metaphor.galactic_spacetravel.[article].md +0 -42
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.metaphor.galactic_spacetravel.[lesson].md +0 -60
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.structs.catalog.md +0 -51
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.structs.treestruct.md +0 -85
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.structs.vector.md +0 -112
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.definition.md +0 -115
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct._.md +0 -112
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.coords.1.spherical.md +0 -80
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.coords.2.abstractive.md +0 -59
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.coords.3.descriptive.md +0 -64
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.1.perspectives.md +0 -88
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.2.universal.md +0 -82
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.3.relative.md +0 -106
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.4.fractal.md +0 -83
- package/dist/logic/roles/bhrain/.briefs/cognition/cog151.concept.treestruct.gravity.md +0 -89
- package/dist/logic/roles/bhrain/.briefs/cognition/cog201.cortal.focus.p1.definition.md +0 -231
- package/dist/logic/roles/bhrain/.briefs/cognition/cog201.cortal.focus.p1.examples.cont.md +0 -82
- package/dist/logic/roles/bhrain/.briefs/cognition/cog201.cortal.focus.p2.acuity.md +0 -134
- package/dist/logic/roles/bhrain/.briefs/cognition/cog201.cortal.focus.p2.breadth.md +0 -151
- package/dist/logic/roles/bhrain/.briefs/cognition/cog201.cortal.focus.p2.depth.md +0 -147
- package/dist/logic/roles/bhrain/.briefs/cognition/cog251.cortal.focus.p3.fabric.md +0 -96
- package/dist/logic/roles/bhrain/.briefs/cognition/cog251.cortal.focus.p3.mode.md +0 -68
- package/dist/logic/roles/bhrain/.briefs/cognition/cog251.cortal.focus.p3.rythm.md +0 -56
- package/dist/logic/roles/bhrain/.briefs/cognition/cog251.cortal.focus.p3.usecases.md +0 -76
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.traversal.1.motion.primitives._.md +0 -155
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.traversal.1.motion.primitives.acuity.md +0 -94
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.traversal.1.motion.primitives.breadth.md +0 -114
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.traversal.1.motion.primitives.breadth.vary.md +0 -105
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.traversal.1.motion.primitives.depth.md +0 -132
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.traversal.2.motion.composites._.md +0 -106
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.traversal.2.motion.composites.grammar.md +0 -105
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.._.md +0 -209
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.1.persp.as.berries.md +0 -168
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.1.persp.as.vectors.md +0 -74
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.1.persp.has.precision.tunable.md +0 -80
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.2.1.primitives.rough._.md +0 -99
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.2.1.primitives.rough.interrogative.md +0 -108
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.2.1.primitives.rough.why.[article].md +0 -55
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.2.2.composite.smooth._.md +0 -83
- package/dist/logic/roles/bhrain/.briefs/cognition/cog401.questions.2.2.composite.smooth.examples.md +0 -101
- package/dist/logic/roles/bhrain/.briefs/cognition/cog501.cortal.assemblylang.1.primitives._.md +0 -134
- package/dist/logic/roles/bhrain/.briefs/cognition/cog501.cortal.assemblylang.1.primitives.recall.md +0 -149
- package/dist/logic/roles/bhrain/.briefs/cognition/cog501.cortal.assemblylang.1.primitives.steer.md +0 -146
- package/dist/logic/roles/bhrain/.briefs/cognition/cog501.cortal.assemblylang.1.primitives.think.md +0 -141
- package/dist/logic/roles/bhrain/.briefs/cognition/cog501.cortal.assemblylang.2.composites.zoom.md +0 -127
- package/dist/logic/roles/bhrain/.briefs/cognition/cog501.cortal.assemblylang.3.catalogs.md +0 -107
- package/dist/logic/roles/bhrain/.briefs/cognition/cog501.cortal.assemblylang.3.grammar.md +0 -124
- package/dist/logic/roles/bhrain/.briefs/cognition/cog501.cortal.assemblylang_.md +0 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/inflight/concept.vs.idea.md +0 -70
- package/dist/logic/roles/bhrain/.briefs/cognition/inflight/core.concept.adjectives.md +0 -8
- package/dist/logic/roles/bhrain/.briefs/distilisys.grammar.compressed.md +0 -19
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.1.why.common.[article].md +0 -32
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.1.why.term_smells.[article].md +0 -36
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.1.why.term_smells.detection.[lesson].md +0 -73
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.2.tactic.eliminate.[article].md +0 -55
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.2.tactic.eliminate.[lesson].md +0 -41
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.3.eliminator.[trait]._.md +0 -66
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.3.eliminator.[trait].balance.md +0 -36
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.3.eliminator.[trait].bane.md +0 -34
- package/dist/logic/roles/bhrain/.briefs/grammar/gerunds.3.eliminator.[trait].boon.md +0 -35
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno101.primitives.1.ontology.[article].frame.docs_as_materializations.md +0 -63
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno101.primitives.1.ontology.[article].frame.docs_as_references.md +0 -45
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno101.primitives.2.rel.many_to_many.[article].md +0 -37
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno101.primitives.3.instances.[article].md +0 -39
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno101.primitives.4.documents.[article].md +0 -37
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno101.primitives.5.concepts.[article].md +0 -39
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno201.documents._.[article].md +0 -48
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno201.documents._.[catalog].md +0 -52
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno201.documents.articles.[article].md +0 -40
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno201.documents.catalogs.[article].md +0 -41
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno201.documents.demos.[article].md +0 -42
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno201.documents.lessons.[article].md +0 -42
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.compression.1.refs._.[article].md +0 -41
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.compression.2.kernels._.[article].i1.md +0 -50
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.compression.3.briefs._.[article].md +0 -40
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.compression._.[article].md +0 -90
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.compression._.[catalog].persp.garden.md +0 -64
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.1.from_instances.[article].md +0 -45
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].algorithm.md +0 -54
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].color.md +0 -56
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].empathy.md +0 -54
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].entropy.md +0 -54
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].gravity.md +0 -54
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].joke.md +0 -56
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.1.from_instances.[demo].value.md +0 -54
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2._.[catalog].md +0 -43
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2.articulate.[article].md +0 -27
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2.articulate.[lesson].md +0 -49
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2.catalogize.[article].md +0 -27
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2.catalogize.[lesson].md +0 -54
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2.demonstrate.[article].md +0 -26
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2.demonstrate.[lesson].md +0 -49
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2.lessonize.[article].md +0 -26
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.enbrief.2.lessonize.[lesson].md +0 -54
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.kernelize._.[article].md +0 -58
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno301.doc.kernelize._.[lesson].md +0 -88
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno351.docs.are_instances.[article].md +0 -34
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno351.docs.recursion.[catalog].md +0 -44
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno401.actors.1.role.author.[article].md +0 -36
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno401.actors.1.role.librarian.[article].md +0 -40
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno401.actors.2.interdependence.[article].md +0 -52
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno501.doc.enbrief.catalog.structure1.[article].md +0 -53
- package/dist/logic/roles/bhrain/.briefs/knowledge/kno501.doc.enbrief.catalog.structure1.[lesson].template.md +0 -101
- package/dist/logic/roles/bhrain/.briefs/librarian.context/article.variant.vision.[article].md +0 -60
- package/dist/logic/roles/bhrain/.briefs/librarian.context/term.expectation.vs_assumption._.md +0 -60
- package/dist/logic/roles/bhrain/.briefs/librarian.context/term.frame.vs_perspective.[article].md +0 -96
- package/dist/logic/roles/bhrain/.briefs/librarian.context/term.invariant.[article].md +0 -29
- package/dist/logic/roles/bhrain/.briefs/librarian.context/term.lesson._vs_article.[article].md +0 -36
- package/dist/logic/roles/bhrain/.briefs/librarian.context/term.ref._vs_brief.md +0 -90
- package/dist/logic/roles/bhrain/.briefs/librarian.context/term.referent.[article].md +0 -43
- package/dist/logic/roles/bhrain/.briefs/librarian.context/usage.lesson_vs_article.[lesson].md +0 -31
- package/dist/logic/roles/bhrain/.briefs/librarian.context/usage.lesson_vs_article_vs_demo.[lesson].md +0 -37
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/.readme.md +0 -12
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>._.[article].frame.cognitive.md +0 -33
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>._.[article].frame.tactical.md +0 -45
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>.tactic.[catalog].md +0 -83
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>.tactic.concept_dimension.examples.[article][seed].md +0 -4
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>.tactic.concept_dimension.invariants.[article].md +0 -36
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>.tactic.from.examples.md +0 -44
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>.tactic.from.seed.md +0 -48
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>.tactic.with.templates.[article].md +0 -57
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>.tactic.with.templates.[gallery][review].effective.md +0 -1
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<articulate>.tone.bluecollar.[article][seed].md +0 -5
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<catalogize>._.[article][seed].md +0 -3
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<catalogize>.observation.via_clusterage_over_via_imagination.[seed].md +0 -6
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<catalogize>.vs_diverge.[article].persp.save_compute.md +0 -46
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>._.[article].frame.colloquial.i2.by_grok.md +0 -64
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.[catalog].md +0 -106
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.contrast.[demo].usecase.vs_userjourney.by_chatgpt.md +0 -45
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.counter.[demo].usecase.flyer.by_chargpt.md +0 -38
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.counter.[demo].walkability.phoenix.by_chargpt.md +0 -41
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.example.[demo].shear_force.scissors.by_grok.md +0 -52
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.example.[demo].tea.darjeeling.by_grok.md +0 -50
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.example.[demo].usecase.book_flight.by_grok.md +0 -54
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.example.[demo].usecase.order_food.by_chatgpt.md +0 -40
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.example.[demo].walkability.portland.by_chatgpt.i3.md +0 -42
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.example.[demo].walkability.portland.by_grok.i2.md +0 -49
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.example.[lesson].howto.md +0 -28
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.example.structure.[article].i2.md +0 -73
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.narrative.[demo].usecase.order_online.by_chatgpt.md +0 -34
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/<demonstrate>.variants.walkthrough.[demo].usecase.book_online.by_chatgpt.md +0 -47
- package/dist/logic/roles/bhrain/.briefs/librarian.tactics/[brief].verbiage.outline.over.narrative.md +0 -55
- package/dist/logic/roles/bhrain/.briefs/logistics/term.logistics.[article].md +0 -21
- package/dist/logic/roles/bhrain/.briefs/logistics/term.logistics.of_information.[article].md +0 -22
- package/dist/logic/roles/bhrain/.briefs/logistics/term.logistics.of_knowledge.[article].md +0 -29
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.acuity.md +0 -77
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.breadth.md +0 -74
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.depth.md +0 -77
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.distance.md +0 -92
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.tradeoffs.md +0 -107
- package/dist/logic/roles/bhrain/.briefs/tactician/tactics.compose.traits_and_skills.[article].md +0 -76
- package/dist/logic/roles/bhrain/.briefs/tactician/trait.articulation.[article].md +0 -67
- package/dist/logic/roles/bhrain/.briefs/tactician/trait.purpose.[article].md +0 -56
- package/dist/logic/roles/bhrain/.briefs/tactician/trait.vs_skill.[article].md +0 -55
- package/dist/logic/roles/bhrain/.briefs/tactician/trait.vs_tactic.[article].md +0 -70
- package/dist/logic/roles/bhrain/.briefs/terms.motive.intent.goal.md +0 -46
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<cluster>._.[article].frame.tactical._.md +0 -85
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<cluster>.vs_<diverge>.duality.[article].md +0 -43
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<diverge>._.[article].frame.cognitive.[seed].md +0 -4
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<diverge>._.[article].frame.tactical.md +0 -89
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<elaborate>_vs_<elucidate>.[seed].md +0 -1
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<enquestion>._.[article].md +0 -113
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<enquestion>._.[gallery].plumber.diagnose.md +0 -130
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<enquestion>._.[gallery].thinker.enquestion.md +0 -125
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<enquestion>.tactic.perspectives.[article].md +0 -36
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<triage>._.[article].frame.tactical.md +0 -85
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<triage>.persp.grades_from_context.[article].md +0 -48
- package/dist/logic/roles/bhrain/.briefs/thinker.tactics/<triage>.persp.implicit_question.[article].md +0 -65
- package/dist/logic/roles/bhrain/.briefs/trait.chillnature.md +0 -14
- package/dist/logic/roles/bhrain/.briefs/trait.ocd.md +0 -5
- package/dist/logic/roles/bhrain/.briefs/worders/core.matmuls_vecmuls_elemuls.md +0 -93
- package/dist/logic/roles/bhrain/.briefs/worders/core.transformers.as_origin.md +0 -62
- package/dist/logic/roles/bhrain/.briefs/worders/core.transformers.self_attention.[article].md +0 -93
- package/dist/logic/roles/bhrain/.briefs/worders/core.transformers.self_attention.[demo].ambig.bank.md +0 -80
- package/dist/logic/roles/bhrain/.briefs/worders/core.transformers.self_attention.[demo].cat_sat.md +0 -67
- package/dist/logic/roles/bhrain/.briefs/worders/force.repeat_input_structures.md +0 -48
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.interdependence.[article].md +0 -37
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.interdependence.[demo].domain.physics.md +0 -30
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.internal_vs_external.[article].artist_vs_librarian.md +0 -44
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.internal_vs_external.[demo].artist_vs_librarian.md +0 -37
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.internal_vs_external.[demo].domain.physics.md +0 -39
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.internalized.[article].md +0 -35
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.internalized.[demo].artist.md +0 -36
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.internalized.[demo].neural.md +0 -37
- package/dist/logic/roles/bhrain/.briefs/worders/knowledge.internalized.[demo].pianist.md +0 -34
- package/dist/logic/roles/bhrain/.briefs/worders/limits.rhyme.md +0 -46
- package/dist/logic/roles/bhrain/.briefs/worders/limits.spell.md +0 -49
- package/dist/logic/roles/bhrain/.briefs/worders/teach.via.library.examples.md +0 -28
- package/dist/logic/roles/bhrain/.briefs/worders/teach.via.library.explanations_vs_examples.md +0 -40
- package/dist/logic/roles/bhrain/.briefs/worders/trend.prefer_reuse.[seed].md +0 -10
- package/dist/logic/roles/bhrain/brief.articulate/stepArticulate.integration.test.d.ts +0 -1
- package/dist/logic/roles/bhrain/brief.articulate/stepArticulate.integration.test.js +0 -92
- package/dist/logic/roles/bhrain/brief.articulate/stepArticulate.integration.test.js.map +0 -1
- package/dist/logic/roles/bhrain/brief.articulate/stepArticulate.template.md +0 -120
- package/dist/logic/roles/bhrain/brief.catalogize/stepCatalogize.integration.test.d.ts +0 -1
- package/dist/logic/roles/bhrain/brief.catalogize/stepCatalogize.integration.test.js +0 -118
- package/dist/logic/roles/bhrain/brief.catalogize/stepCatalogize.integration.test.js.map +0 -1
- package/dist/logic/roles/bhrain/brief.demonstrate/stepDemonstrate.integration.test.d.ts +0 -1
- package/dist/logic/roles/bhrain/brief.demonstrate/stepDemonstrate.integration.test.js +0 -119
- package/dist/logic/roles/bhrain/brief.demonstrate/stepDemonstrate.integration.test.js.map +0 -1
- package/dist/logic/roles/bhrain/brief.demonstrate/stepDemonstrate.template.md +0 -135
- package/dist/logic/roles/bhrain/khue.cluster/stepCluster.integration.test.d.ts +0 -1
- package/dist/logic/roles/bhrain/khue.cluster/stepCluster.integration.test.js +0 -140
- package/dist/logic/roles/bhrain/khue.cluster/stepCluster.integration.test.js.map +0 -1
- package/dist/logic/roles/bhrain/khue.cluster/stepCluster.template.md +0 -134
- package/dist/logic/roles/bhrain/khue.diverge/stepDiverge.integration.test.d.ts +0 -1
- package/dist/logic/roles/bhrain/khue.diverge/stepDiverge.integration.test.js +0 -115
- package/dist/logic/roles/bhrain/khue.diverge/stepDiverge.integration.test.js.map +0 -1
- package/dist/logic/roles/bhrain/khue.diverge/stepDiverge.template.md +0 -110
- package/dist/logic/roles/bhrain/khue.instantiate/stepInstantiate.integration.test.d.ts +0 -1
- package/dist/logic/roles/bhrain/khue.instantiate/stepInstantiate.integration.test.js +0 -119
- package/dist/logic/roles/bhrain/khue.instantiate/stepInstantiate.integration.test.js.map +0 -1
- package/dist/logic/roles/bhrain/khue.instantiate/stepInstantiate.template.md +0 -73
- package/dist/logic/roles/bhrain/khue.triage/stepTriage.integration.test.d.ts +0 -1
- package/dist/logic/roles/bhrain/khue.triage/stepTriage.integration.test.js +0 -143
- package/dist/logic/roles/bhrain/khue.triage/stepTriage.integration.test.js.map +0 -1
- package/dist/logic/roles/bhrain/khue.triage/stepTriage.template.md +0 -128
- package/dist/logic/roles/coach/.briefs/claude.context-caching.md +0 -76
- package/dist/logic/roles/designer/.briefs/declarative-over-imperative.md +0 -79
- package/dist/logic/roles/designer/.briefs/declarative-over-imperative.stub.md +0 -14
- package/dist/logic/roles/designer/.briefs/pit-of-success.md +0 -70
- package/dist/logic/roles/designer/.briefs/pit-of-success.stub.md +0 -3
- package/dist/logic/roles/designer/outlineDistilisys/loopOutlineDistilisys.integration.test.d.ts +0 -1
- package/dist/logic/roles/designer/outlineDistilisys/loopOutlineDistilisys.integration.test.js +0 -77
- package/dist/logic/roles/designer/outlineDistilisys/loopOutlineDistilisys.integration.test.js.map +0 -1
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.integration.test.d.ts +0 -1
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.integration.test.js +0 -142
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.integration.test.js.map +0 -1
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.template.md +0 -173
- package/dist/logic/roles/designer/outlineRoadmap/loopOutlineRoadmap.integration.test.d.ts +0 -1
- package/dist/logic/roles/designer/outlineRoadmap/loopOutlineRoadmap.integration.test.js +0 -71
- package/dist/logic/roles/designer/outlineRoadmap/loopOutlineRoadmap.integration.test.js.map +0 -1
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.integration.test.d.ts +0 -1
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.integration.test.js +0 -130
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.integration.test.js.map +0 -1
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.template.md +0 -88
- package/dist/logic/roles/designer/outlineVision/stepOutlineVision.template.md +0 -47
- package/dist/logic/roles/ecologist/.briefs/.readme.md +0 -17
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys101.distilisys.grammar.md +0 -221
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive._.summary.md +0 -82
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p1.reversibility.entropy.md +0 -39
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p2.option.chance.choice.md +0 -140
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p3.chance.motive.polarity.threat.md +0 -72
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p4.motive.horizon.md +0 -101
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p5.motive.grammar.md +0 -131
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources._.primitives.summary.md +0 -108
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt1.primitive.time.md +0 -56
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt2.primitive.energy.md +0 -69
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt3.primitive.space.md +0 -85
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt4.primitive.claim.md +0 -113
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt5.composites.md +0 -146
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys231.actor.claims.p1.primitive.exchange.md +0 -130
- package/dist/logic/roles/ecologist/.briefs/ecology/.eco001.origin.prompt.md +0 -11
- package/dist/logic/roles/ecologist/.briefs/ecology/eco001.overview.md +0 -44
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.core-system-understanding.md +0 -70
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p1.ecosystem-structure.md +0 -62
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p2.trophic-dynamics.md +0 -59
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p3.population-ecology.md +0 -71
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p4.community-interactions.md +0 -78
- package/dist/logic/roles/ecologist/.briefs/ecology/eco505.systems-thinking.md +0 -62
- package/dist/logic/roles/ecologist/.briefs/economy/econ001.overview.md +0 -65
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.core-mechanics.md +0 -65
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p1.supply-and-demand.md +0 -76
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p2.opportunity-cost.md +0 -106
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p3.marginal-analysis.md +0 -79
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p4.rational-choice.md +0 -81
- package/dist/logic/roles/ecologist/.briefs/economy/econ201.market-structures-and-failures.md +0 -81
- package/dist/logic/roles/ecologist/.briefs/economy/econ301.production-and-growth.md +0 -71
- package/dist/logic/roles/ecologist/.briefs/economy/econ401.macro-systems.md +0 -92
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.global-and-institutional.md +0 -85
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.p1.game-theory.md +0 -142
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.p4.behavioral-economics.md +0 -146
- package/dist/logic/roles/ecologist/.briefs/product/user.journey._.[article].i1.md +0 -68
- package/dist/logic/roles/ecologist/.briefs/product/user.journey._.[article].md +0 -0
- package/dist/logic/roles/ecologist/.briefs/product/user.journey.purpose.[article].i1.md +0 -52
- package/dist/logic/roles/ecologist/.briefs/product/user.journey.purpose.[article].md +0 -52
- package/dist/logic/roles/ecologist/.briefs/term.distillation.md +0 -93
- package/dist/logic/roles/mechanic/.briefs/architecture/bounded-contexts.md +0 -61
- package/dist/logic/roles/mechanic/.briefs/architecture/directional-dependencies.md +0 -82
- package/dist/logic/roles/mechanic/.briefs/architecture/domain-driven-design.md +0 -61
- package/dist/logic/roles/mechanic/.briefs/architecture/ubiqlang.md +0 -37
- package/dist/logic/roles/mechanic/.briefs/codestyle/_mech.compressed.md +0 -57
- package/dist/logic/roles/mechanic/.briefs/codestyle/_mech.compressed.prompt.md +0 -5
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.failfast.md +0 -37
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.idempotency.md +0 -63
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.immutability.md +0 -48
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.narratives.md +0 -74
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.single-responsibility.md +0 -67
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.transformers_over_conditionals.[lesson].md +0 -97
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.args.input-context.md +0 -61
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.args.input-inline.md +0 -63
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.arrowonly.md +0 -47
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.clear-contracts.md +0 -53
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.tests.given-when-then.md +0 -62
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.what-why.md +0 -88
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.what-why.v2.md +0 -98
- package/dist/logic/roles/mechanic/.briefs/codestyle/pit-of-success.via.minimize-surface-area.md +0 -58
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/never.term.script.md +0 -7
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/prefer.emojis.chill_nature.md +0 -24
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/prefer.jq.over_alt.[demo].md +0 -29
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/prefer.terraform.[criteria].md +0 -4
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/prefer.terraform.[seed].md +0 -17
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/require.dependency.pinned_versions.md +0 -3
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/require.idempotency.md +0 -33
- package/dist/logic/roles/mechanic/.briefs/criteria.practices/require.knowledge.externalized.md +0 -17
- package/dist/logic/roles/mechanic/.briefs/engineer/dependency-injection.md +0 -118
- package/dist/logic/roles/mechanic/.briefs/engineer/dependency-injection.stub.md +0 -11
- package/dist/logic/roles/mechanic/.briefs/lessons/code.prod.typescript.types/bivariance_vs_contravariance.[lesson].md +0 -95
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.contract.inputs.nameargs/bad-practice/forbid.positional-args.md +0 -43
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.contract.inputs.nameargs/best-practice/require.namedargs.md +0 -6
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.declarative/.readme.md +0 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.declarative/best-practice/declastruct.[demo].md +0 -485
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.has.attributes.nullable.md +0 -13
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.has.attributes.undefined.md +0 -15
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/bad-practices/blocker.refs.immuatble.md +0 -9
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.objects/best-practice/ref.package.domain-objects.[readme].md +0 -585
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.domain.operations/best-practice/require.sync.names.md +0 -14
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/bad-practices/forbid.failhide.md +0 -19
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/bad-practices/forbid.hide_errors.md +0 -13
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/best-practice/prefer.HelpfulError.wrap.md +0 -54
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/best-practice/require.fail_fast.[demo].shell.md +0 -17
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.errors.failfast/best-practice/require.fail_fast.md +0 -28
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.narrative/bad-practices/forbid.else.md +0 -54
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.narrative/best-practice/early-returns.named-checks.[demo].md +0 -181
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.repo.structure/bad-practices/forbid.barrel.exports.ts.md +0 -41
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.repo.structure/bad-practices/forbid.index.ts.md +0 -3
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.repo.structure/best-practice/directional-dependencies.md +0 -82
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.repo.structure/best-practice/dot-test-and-dot-temp.md +0 -20
- package/dist/logic/roles/mechanic/.briefs/patterns/code.prod.typescript.utils/best-practice/ref.package.as-command.[tips].md +0 -7
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.acceptance/best-practice/blackbox.md +0 -5
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.diagnose.[lesson].md +0 -14
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.run.[lesson].md +0 -18
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.use.[lesson].md +0 -20
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].md +0 -3
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].on_scope.for_integ.md +0 -8
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.[lesson].on_scope.for_units.md +0 -9
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/howto.write.bdd.[lesson].md +0 -280
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/prefer.datadriven.md +0 -41
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/ref.test-fns.[readme].md +0 -185
- package/dist/logic/roles/mechanic/.briefs/patterns/code.test.howto/best-practice/whento.snapshots.[lesson].md +0 -23
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/.readme.md +0 -1
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/bad-practices/forbid.term=existing.md +0 -10
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/best-practice/require.order.noun_adj.md +0 -39
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/domain=practices.terms=forbid_prefer_desire_require.md +0 -13
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.terms/domain=software.terms=prodcode_vs_testcode.md +0 -7
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/.readme.md +0 -3
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/prefer.chill-nature.md +0 -0
- package/dist/logic/roles/mechanic/.briefs/patterns/lang.tones/prefer.lowercase.md +0 -0
- package/dist/logic/roles/mechanic/.briefs/style.compressed.md +0 -29
- package/dist/logic/roles/mechanic/.briefs/style.compressed.prompt.md +0 -5
- package/dist/logic/roles/mechanic/.briefs/style.names.treestruct.md +0 -48
- package/dist/logic/roles/mechanic/.briefs/style.names.ubiqlang.md +0 -37
- package/dist/logic/roles/mechanic/.briefs/style.words.lowercase.md +0 -36
- package/dist/logic/roles/mechanic/.briefs/terms/badpractice/script.md +0 -9
- package/dist/logic/roles/mechanic/.briefs/terms/plan.exec_vs_apply.md +0 -45
- package/dist/logic/roles/mechanic/.skills/claude.hooks/check.pretooluse.permissions.sh +0 -235
- package/dist/logic/roles/mechanic/.skills/declapract.upgrade.sh +0 -50
- package/dist/logic/roles/mechanic/.skills/git.worktree.common.sh +0 -58
- package/dist/logic/roles/mechanic/.skills/git.worktree.del.sh +0 -51
- package/dist/logic/roles/mechanic/.skills/git.worktree.get.sh +0 -51
- package/dist/logic/roles/mechanic/.skills/git.worktree.set.sh +0 -108
- package/dist/logic/roles/mechanic/.skills/git.worktree.sh +0 -46
- package/dist/logic/roles/mechanic/.skills/init.bhuild.sh +0 -260
- package/dist/logic/roles/mechanic/.skills/init.claude.hooks.pretooluse.sh +0 -118
- package/dist/logic/roles/mechanic/.skills/init.claude.hooks.sessionstart.sh +0 -113
- package/dist/logic/roles/mechanic/.skills/init.claude.hooks.sh +0 -24
- package/dist/logic/roles/mechanic/.skills/init.claude.permissions.sh +0 -134
- package/dist/logic/roles/mechanic/.skills/init.claude.sh +0 -35
- package/dist/logic/roles/mechanic/.skills/link.claude.transcripts.sh +0 -43
- package/dist/logic/roles/mechanic/.skills/test.integration.sh +0 -50
- package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.integration.test.js +0 -246
- package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.template.md +0 -46
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReview.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReview.integration.test.js +0 -144
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReview.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.integration.test.js +0 -138
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.template.md +0 -78
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.integration.test.js +0 -294
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.template.md +0 -75
- package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.integration.test.js +0 -162
- package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.template.md +0 -67
- package/dist/logic/roles/mechanic/codediff/routeMechanicCodeIterate.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/codediff/routeMechanicCodeIterate.integration.test.js +0 -169
- package/dist/logic/roles/mechanic/codediff/routeMechanicCodeIterate.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/codediff/routeMechanicCodePropose.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/codediff/routeMechanicCodePropose.integration.test.js +0 -203
- package/dist/logic/roles/mechanic/codediff/routeMechanicCodePropose.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/study/routeStudyAsk.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/study/routeStudyAsk.integration.test.js +0 -98
- package/dist/logic/roles/mechanic/study/routeStudyAsk.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/study/routeStudyAsk.template.md +0 -73
- package/dist/logic/roles/mechanic/write/.test/prior.template.md +0 -21
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.js +0 -57
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.d.ts +0 -1
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.js +0 -189
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.js.map +0 -1
- package/dist/logic/roles/mechanic/write/stepWrite.template.md +0 -38
- package/dist/logic/roles/terminal.commander/command.exec/stepExecCommand.integration.test.d.ts +0 -1
- package/dist/logic/roles/terminal.commander/command.exec/stepExecCommand.integration.test.js +0 -76
- package/dist/logic/roles/terminal.commander/command.exec/stepExecCommand.integration.test.js.map +0 -1
- package/dist/logic/roles/terminal.commander/command.plan/stepPlanCommand.integration.test.d.ts +0 -1
- package/dist/logic/roles/terminal.commander/command.plan/stepPlanCommand.integration.test.js +0 -97
- package/dist/logic/roles/terminal.commander/command.plan/stepPlanCommand.integration.test.js.map +0 -1
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
.tactic = name:treestruct
|
|
2
|
-
|
|
3
|
-
.what = enforce `[verb][...noun]` for mechanisms and `[...noun][state]?` for resources
|
|
4
|
-
.where:
|
|
5
|
-
- `verb` = exactly one leading verb (e.g., `gen`, `set`, `get`, `map`)
|
|
6
|
-
- `...noun` = hierarchy of nouns reflecting the domain treestruct
|
|
7
|
-
- `state` = optional suffix representing state or outcome (e.g., `Updated`, `Found`, `After`, `Draft`)
|
|
8
|
-
- this tactic applies to all named functions, types, files, folders, and slugs
|
|
9
|
-
|
|
10
|
-
.why:
|
|
11
|
-
- maximizes autocomplete grouping by domain or action
|
|
12
|
-
- enables tree-sorted navigation in IDEs and file explorers
|
|
13
|
-
- avoids ambiguity and naming drift across boundaries (design, dev, product)
|
|
14
|
-
|
|
15
|
-
.how:
|
|
16
|
-
.rules:
|
|
17
|
-
- For **mechanisms** (functions, generators, procedures):
|
|
18
|
-
- use format: `[Verb][...NounHierarchy]`
|
|
19
|
-
- the verb must come **first**, and be **exactly one** action (e.g., `gen`, `set`, `get`, `map`, `submit`)
|
|
20
|
-
- e.g., `genStepImagineViaTemplate`, `setCustomerPhone`, `mapJobQuoteToEstimate`
|
|
21
|
-
- For **resources** (stateful data, outcomes, snapshots):
|
|
22
|
-
- use format: `[...NounHierarchy][State]?`
|
|
23
|
-
- the optional `State` suffix:
|
|
24
|
-
- is used when disambiguating multiple forms (e.g., `InvoiceDraft` vs `InvoiceFinal`)
|
|
25
|
-
- is typically a past participle or state label (e.g., `Found`, `After`, `Draft`)
|
|
26
|
-
- may be omitted if the base noun already implies a single clear meaning
|
|
27
|
-
- e.g., `contentFound`, `customer`, `invoiceDraft`
|
|
28
|
-
|
|
29
|
-
.examples:
|
|
30
|
-
.positive:
|
|
31
|
-
// mechanisms
|
|
32
|
-
- `genStepImagineViaTemplate` // generates a StitchStepImagine from a template
|
|
33
|
-
- `setCustomerPhone` // sets the customer's phone number
|
|
34
|
-
- `mapGitRepoToWorkspace` // maps a Git repo into a workspace domain
|
|
35
|
-
- `getInvoiceFinalizedState` // retrieves the final state of an invoice
|
|
36
|
-
|
|
37
|
-
// resources
|
|
38
|
-
- `contentFound` // content retrieved from a source
|
|
39
|
-
- `customer` // single canonical term for a user of services
|
|
40
|
-
- `invoiceDraft` // invoice in editable state
|
|
41
|
-
- `invoice` // base noun with implicit meaning
|
|
42
|
-
|
|
43
|
-
.negative:
|
|
44
|
-
- `stepImagineGenFromTemplate` // ⛔ wrong order — verb must come first
|
|
45
|
-
- `customerSet` // ⛔ vague mechanism — better as `setCustomer` or `setCustomerPhone`
|
|
46
|
-
- `FoundContent` // ⛔ reversed word order and PascalCase — should be `contentFound`
|
|
47
|
-
- `submitQuoteJob` // ⛔ noun hierarchy flipped — should be `submitJobQuote`
|
|
48
|
-
- `update()` // ⛔ unscoped verb — must include noun domain (e.g., `updateInvoice`)
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
.tactic = name:ubiqlang
|
|
2
|
-
|
|
3
|
-
.what = enforce a rigorous, domain-driven naming system rooted in ubiquitous language
|
|
4
|
-
.where:
|
|
5
|
-
- ubiquitous language = the shared, unambiguous vocabulary used by both domain experts and developers
|
|
6
|
-
- this tactic applies to all names: types, variables, functions, slugs, and folders
|
|
7
|
-
|
|
8
|
-
.why:
|
|
9
|
-
- eliminates ambiguity and cognitive friction
|
|
10
|
-
- ensures that everyone speaks the same language — in code, UI, tests, and docs
|
|
11
|
-
- prevents synonym drift (e.g., "client" vs "customer") and overload traps (e.g., "update" meaning 3 things)
|
|
12
|
-
|
|
13
|
-
.how:
|
|
14
|
-
- eliminate synonyms
|
|
15
|
-
- choose one canonical word per concept (e.g., always use `customer`, never `client`, `user`, or `account`)
|
|
16
|
-
- eliminate overloads
|
|
17
|
-
- each term must refer to one concept only (e.g., avoid using `update` for both "save data" and "fetch latest")
|
|
18
|
-
- use consistent term stacking across all code (e.g., `customerPhoneUpdate`, not `editPhoneNumber`)
|
|
19
|
-
- whenever a new term is introduced:
|
|
20
|
-
- define its interface, expected shape, and role
|
|
21
|
-
- document its meaning clearly and visibly (ideally in context or hover docs)
|
|
22
|
-
- ensure its usage is verified across type definitions, business rules, and communication flows
|
|
23
|
-
|
|
24
|
-
.examples:
|
|
25
|
-
.positive:
|
|
26
|
-
- `customer` instead of `client`, `user`, or `buyer`
|
|
27
|
-
- `jobQuote` as the single term for estimates/proposals
|
|
28
|
-
- `leadCapture` as the canonical action for inbound lead collection
|
|
29
|
-
- `customerPhoneUpdate` for updating a phone number
|
|
30
|
-
- `invoiceDraft` and `invoiceFinal` for two distinct invoice states
|
|
31
|
-
|
|
32
|
-
.negative:
|
|
33
|
-
- `client`, `user`, `account`, `buyer` all referring to the same actor
|
|
34
|
-
- `editCustomerPhone`, `changePhone`, `updateNumber` used interchangeably
|
|
35
|
-
- `job` used for both a requested service and a completed one
|
|
36
|
-
- `update()` overloaded to mean save, patch, sync, or refresh
|
|
37
|
-
- `quote`, `estimate`, `proposal`, and `bid` all floating without clear hierarchy
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
.tactic = words:lowercase
|
|
2
|
-
|
|
3
|
-
.what = enforce lowercase for all words unless capitalization is required by code or naming convention
|
|
4
|
-
.where:
|
|
5
|
-
- applies to comments, docstrings, markdown, logs, and prompt copy
|
|
6
|
-
- only exceptions are code constructs (e.g., class names) and proper nouns (e.g., OpenAI)
|
|
7
|
-
|
|
8
|
-
.why:
|
|
9
|
-
- keeps language neutral, minimal, and machine-aligned
|
|
10
|
-
- prevents inconsistent or performative emphasis via caps
|
|
11
|
-
- improves scanability and reduces visual noise across surfaces
|
|
12
|
-
|
|
13
|
-
.how:
|
|
14
|
-
.rules:
|
|
15
|
-
- do not capitalize the first word of a sentence
|
|
16
|
-
- only use capitalization when:
|
|
17
|
-
- referencing a class, type, or constant (e.g., `StitchStepImagine`, `GitRepo`)
|
|
18
|
-
- writing a proper noun or brand (e.g., OpenAI, GitHub, AWS)
|
|
19
|
-
- never capitalize:
|
|
20
|
-
- generic nouns (`customer`, `invoice`, `step`)
|
|
21
|
-
- verbs (`set`, `get`, `submit`, `handle`)
|
|
22
|
-
- system comments or instructions, even at the beginning of a line
|
|
23
|
-
|
|
24
|
-
.examples:
|
|
25
|
-
.positive:
|
|
26
|
-
- `// returns a new invoice if customer exists`
|
|
27
|
-
- `// handled in gitrepo.init()`
|
|
28
|
-
- `// fallback if no customer was found`
|
|
29
|
-
- `// pass into StitchStepImagine to generate`
|
|
30
|
-
- `// openai prompt requires flattened string`
|
|
31
|
-
.negative:
|
|
32
|
-
- `// Returns a new invoice` // ⛔ capitalized sentence start
|
|
33
|
-
- `// This is handled in GitRepo` // ⛔ capitalized sentence + verb
|
|
34
|
-
- `// Submit the job for approval` // ⛔ capitalized imperative
|
|
35
|
-
- `// Customer must exist first` // ⛔ capitalized domain noun
|
|
36
|
-
- `// GitHub Repository` // ⛔ capitalized generic noun
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Execute vs Apply
|
|
2
|
-
|
|
3
|
-
## ⚙️ Execute
|
|
4
|
-
**Meaning:**
|
|
5
|
-
To **carry out** or **perform** something, especially a plan, command, or program.
|
|
6
|
-
|
|
7
|
-
**Connotation:**
|
|
8
|
-
Focuses on the **act of doing** — actually running the instructions.
|
|
9
|
-
|
|
10
|
-
**Examples:**
|
|
11
|
-
- The computer **executes** the program.
|
|
12
|
-
- She **executed** the plan perfectly.
|
|
13
|
-
- The database will **execute** this SQL query.
|
|
14
|
-
|
|
15
|
-
**Key idea:** "Do it."
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## 🖐️ Apply
|
|
20
|
-
**Meaning:**
|
|
21
|
-
To **put something into use** or **bring it into effect** on a target or situation.
|
|
22
|
-
|
|
23
|
-
**Connotation:**
|
|
24
|
-
Focuses on **using something that already exists** (a tool, rule, concept, method, etc.) to affect something else.
|
|
25
|
-
|
|
26
|
-
**Examples:**
|
|
27
|
-
- Please **apply** the paint evenly.
|
|
28
|
-
- We can **apply** this algorithm to the data.
|
|
29
|
-
- He **applied** the brakes.
|
|
30
|
-
|
|
31
|
-
**Key idea:** "Use it (on something)."
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## 🧠 How They Differ
|
|
36
|
-
|
|
37
|
-
| | **Execute** | **Apply** |
|
|
38
|
-
|------------|------------------------------|----------------------------------|
|
|
39
|
-
| **Focus** | Performing an action or plan | Using something in a situation |
|
|
40
|
-
| **Implied object** | A plan, command, task | A method, tool, concept |
|
|
41
|
-
| **Example** | Execute a script | Apply a formula |
|
|
42
|
-
|
|
43
|
-
**Memory trick:**
|
|
44
|
-
- **Execute = do**
|
|
45
|
-
- **Apply = use**
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
######################################################################
|
|
3
|
-
# .what = PreToolUse hook to encourage reuse of existing permissions
|
|
4
|
-
#
|
|
5
|
-
# .why = when Claude attempts a command not covered by pre-approved
|
|
6
|
-
# permissions, this hook asks it to reconsider whether an
|
|
7
|
-
# existing permission could accomplish the same task.
|
|
8
|
-
#
|
|
9
|
-
# this reduces permission prompts and encourages consistent
|
|
10
|
-
# command patterns across the project.
|
|
11
|
-
#
|
|
12
|
-
# .how = reads JSON from stdin (per Claude Code docs), extracts
|
|
13
|
-
# tool_input.command, checks against allowed patterns.
|
|
14
|
-
# if no match, behavior depends on mode.
|
|
15
|
-
#
|
|
16
|
-
# usage:
|
|
17
|
-
# configure in .claude/settings.local.json under hooks.PreToolUse
|
|
18
|
-
#
|
|
19
|
-
# flags:
|
|
20
|
-
# --mode HARDNUDGE (default) blocks on first attempt, allows on retry
|
|
21
|
-
# tracks attempts in .claude/permissions.attempted.json
|
|
22
|
-
# forces Claude to consciously decide to request
|
|
23
|
-
# a new permission rather than doing so automatically
|
|
24
|
-
#
|
|
25
|
-
# --mode SOFTNUDGE outputs guidance but doesn't block (exit 0)
|
|
26
|
-
# Claude sees the message but can proceed immediately
|
|
27
|
-
#
|
|
28
|
-
# guarantee:
|
|
29
|
-
# ✔ HARDNUDGE (default): blocks first attempt, allows retry
|
|
30
|
-
# ✔ SOFTNUDGE: non-blocking, feedback only
|
|
31
|
-
# ✔ fast: simple pattern matching
|
|
32
|
-
# ✔ helpful: shows available alternatives
|
|
33
|
-
######################################################################
|
|
34
|
-
|
|
35
|
-
set -euo pipefail
|
|
36
|
-
|
|
37
|
-
# Parse flags
|
|
38
|
-
MODE="HARDNUDGE" # default
|
|
39
|
-
HARDNUDGE_WINDOW_SECONDS=60 # default: 60 seconds
|
|
40
|
-
while [[ $# -gt 0 ]]; do
|
|
41
|
-
case "$1" in
|
|
42
|
-
--mode)
|
|
43
|
-
MODE="${2:-HARDNUDGE}"
|
|
44
|
-
shift 2
|
|
45
|
-
;;
|
|
46
|
-
--window)
|
|
47
|
-
HARDNUDGE_WINDOW_SECONDS="${2:-60}"
|
|
48
|
-
shift 2
|
|
49
|
-
;;
|
|
50
|
-
*)
|
|
51
|
-
shift
|
|
52
|
-
;;
|
|
53
|
-
esac
|
|
54
|
-
done
|
|
55
|
-
|
|
56
|
-
# Read JSON from stdin (Claude Code passes input via stdin, not env var)
|
|
57
|
-
STDIN_INPUT=$(cat)
|
|
58
|
-
|
|
59
|
-
# failfast: if no input received, something is wrong
|
|
60
|
-
if [[ -z "$STDIN_INPUT" ]]; then
|
|
61
|
-
echo "ERROR: PreToolUse hook received no input via stdin" >&2
|
|
62
|
-
exit 2 # exit 2 = blocking error per Claude Code docs
|
|
63
|
-
fi
|
|
64
|
-
|
|
65
|
-
# Extract command from stdin JSON
|
|
66
|
-
# Claude passes: {"tool_name": "Bash", "tool_input": {"command": "..."}}
|
|
67
|
-
COMMAND=$(echo "$STDIN_INPUT" | jq -r '.tool_input.command // empty' 2>/dev/null || echo "")
|
|
68
|
-
|
|
69
|
-
# Skip if not a Bash command or empty
|
|
70
|
-
if [[ -z "$COMMAND" ]]; then
|
|
71
|
-
exit 0
|
|
72
|
-
fi
|
|
73
|
-
|
|
74
|
-
# Find the .claude directory (search upward from current directory)
|
|
75
|
-
find_claude_dir() {
|
|
76
|
-
local dir="$PWD"
|
|
77
|
-
while [[ "$dir" != "/" ]]; do
|
|
78
|
-
if [[ -d "$dir/.claude" ]]; then
|
|
79
|
-
echo "$dir/.claude"
|
|
80
|
-
return 0
|
|
81
|
-
fi
|
|
82
|
-
dir="$(dirname "$dir")"
|
|
83
|
-
done
|
|
84
|
-
return 1
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
# Find the settings file (search upward from current directory)
|
|
88
|
-
find_settings_file() {
|
|
89
|
-
local claude_dir
|
|
90
|
-
claude_dir=$(find_claude_dir) || return 1
|
|
91
|
-
local settings_file="$claude_dir/settings.local.json"
|
|
92
|
-
if [[ -f "$settings_file" ]]; then
|
|
93
|
-
echo "$settings_file"
|
|
94
|
-
return 0
|
|
95
|
-
fi
|
|
96
|
-
return 1
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
SETTINGS_FILE=$(find_settings_file) || {
|
|
100
|
-
# No settings file found, allow command to proceed
|
|
101
|
-
exit 0
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
# Extract Bash permissions from settings file
|
|
105
|
-
# Patterns look like: "Bash(npm run test:*)" -> extract "npm run test:*"
|
|
106
|
-
mapfile -t ALLOWED_PATTERNS < <(
|
|
107
|
-
jq -r '.permissions.allow // [] | .[] | select(startswith("Bash(")) | sub("^Bash\\("; "") | sub("\\)$"; "")' "$SETTINGS_FILE" 2>/dev/null
|
|
108
|
-
)
|
|
109
|
-
|
|
110
|
-
# Check if command matches any allowed pattern
|
|
111
|
-
match_pattern() {
|
|
112
|
-
local cmd="$1"
|
|
113
|
-
local pattern="$2"
|
|
114
|
-
|
|
115
|
-
# Handle Claude Code's :* suffix matcher
|
|
116
|
-
# :* means "optionally match colon and anything after"
|
|
117
|
-
# e.g., "npm run test:*" matches "npm run test", "npm run test:", "npm run test:unit"
|
|
118
|
-
|
|
119
|
-
# First, escape regex special chars except * and :
|
|
120
|
-
local escaped_pattern
|
|
121
|
-
escaped_pattern=$(printf '%s' "$pattern" | sed 's/[.^$+?{}()[\]|\\]/\\&/g')
|
|
122
|
-
|
|
123
|
-
# Convert :* to placeholder first (to avoid * -> .* conversion interfering)
|
|
124
|
-
# Using a unique placeholder that won't appear in commands
|
|
125
|
-
escaped_pattern="${escaped_pattern//:\*/__COLON_STAR_PLACEHOLDER__}"
|
|
126
|
-
|
|
127
|
-
# Convert remaining * to .* (glob-style wildcard)
|
|
128
|
-
escaped_pattern="${escaped_pattern//\*/.*}"
|
|
129
|
-
|
|
130
|
-
# Now replace placeholder with the actual regex for :*
|
|
131
|
-
# (:.*)? matches: nothing, ":", ":foo", ":foo:bar"
|
|
132
|
-
escaped_pattern="${escaped_pattern//__COLON_STAR_PLACEHOLDER__/(:.*)?}"
|
|
133
|
-
|
|
134
|
-
# Build final regex
|
|
135
|
-
local regex="^${escaped_pattern}$"
|
|
136
|
-
|
|
137
|
-
if [[ "$cmd" =~ $regex ]]; then
|
|
138
|
-
return 0
|
|
139
|
-
fi
|
|
140
|
-
return 1
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
# Transform raw permission pattern to compact bracket notation for display
|
|
144
|
-
format_pattern() {
|
|
145
|
-
local pattern="$1"
|
|
146
|
-
|
|
147
|
-
# Check if pattern ends with :*
|
|
148
|
-
if [[ "$pattern" == *":*" ]]; then
|
|
149
|
-
# Remove :* suffix and format with [p]: label (prefix match)
|
|
150
|
-
local prefix="${pattern%:*}"
|
|
151
|
-
echo "[p]: $prefix"
|
|
152
|
-
else
|
|
153
|
-
# Exact match - format with [e]: label
|
|
154
|
-
echo "[e]: $pattern"
|
|
155
|
-
fi
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
for pattern in "${ALLOWED_PATTERNS[@]}"; do
|
|
159
|
-
if match_pattern "$COMMAND" "$pattern"; then
|
|
160
|
-
exit 0 # Command matches an allowed pattern
|
|
161
|
-
fi
|
|
162
|
-
done
|
|
163
|
-
|
|
164
|
-
# Command not matched - handle based on mode
|
|
165
|
-
|
|
166
|
-
# SOFTNUDGE mode: provide guidance but don't block (early return)
|
|
167
|
-
# Output plain text - no hookSpecificOutput so normal permission flow continues
|
|
168
|
-
if [[ "$MODE" == "SOFTNUDGE" ]]; then
|
|
169
|
-
echo ""
|
|
170
|
-
echo "⚠️ This command is not covered by existing pre-approved permissions."
|
|
171
|
-
echo ""
|
|
172
|
-
echo "Before requesting user approval, check if you can accomplish this task using one of these pre-approved patterns:"
|
|
173
|
-
echo ""
|
|
174
|
-
echo "([e] = exact match, [p] = prefix match)"
|
|
175
|
-
echo ""
|
|
176
|
-
for pattern in "${ALLOWED_PATTERNS[@]}"; do
|
|
177
|
-
echo " • $(format_pattern "$pattern")"
|
|
178
|
-
done
|
|
179
|
-
echo ""
|
|
180
|
-
echo "([e] = exact match, [p] = prefix match)"
|
|
181
|
-
echo ""
|
|
182
|
-
echo "If an existing permission pattern can solve your task, use that instead."
|
|
183
|
-
echo "If not, proceed with requesting approval."
|
|
184
|
-
echo ""
|
|
185
|
-
exit 0
|
|
186
|
-
fi
|
|
187
|
-
|
|
188
|
-
# HARDNUDGE mode (default): block on first attempt, allow on retry
|
|
189
|
-
CLAUDE_DIR=$(find_claude_dir) || {
|
|
190
|
-
echo "ERROR: No .claude directory found. This hook requires a .claude directory." >&2
|
|
191
|
-
exit 1
|
|
192
|
-
}
|
|
193
|
-
ATTEMPTED_FILE="$CLAUDE_DIR/permission.nudges.local.json"
|
|
194
|
-
|
|
195
|
-
# Ensure the file exists with valid JSON
|
|
196
|
-
if [[ ! -f "$ATTEMPTED_FILE" ]]; then
|
|
197
|
-
echo '{}' > "$ATTEMPTED_FILE"
|
|
198
|
-
fi
|
|
199
|
-
|
|
200
|
-
# Check if this command was recently attempted
|
|
201
|
-
now=$(date +%s)
|
|
202
|
-
last_attempt=$(jq -r --arg cmd "$COMMAND" '.[$cmd] // 0' "$ATTEMPTED_FILE" 2>/dev/null || echo "0")
|
|
203
|
-
elapsed=$((now - last_attempt))
|
|
204
|
-
|
|
205
|
-
if [[ $elapsed -lt $HARDNUDGE_WINDOW_SECONDS ]]; then
|
|
206
|
-
# Claude already tried within the window - they've thought twice
|
|
207
|
-
# Exit silently with 0 so normal permission flow continues (user gets prompted)
|
|
208
|
-
exit 0
|
|
209
|
-
fi
|
|
210
|
-
|
|
211
|
-
# First attempt - record timestamp and block
|
|
212
|
-
# Use a temp file for atomic update
|
|
213
|
-
tmp_file=$(mktemp)
|
|
214
|
-
jq --arg cmd "$COMMAND" --argjson ts "$now" '. + {($cmd): $ts}' "$ATTEMPTED_FILE" > "$tmp_file" 2>/dev/null && mv "$tmp_file" "$ATTEMPTED_FILE"
|
|
215
|
-
|
|
216
|
-
# Output block message to stderr and exit 2 to deny
|
|
217
|
-
{
|
|
218
|
-
echo ""
|
|
219
|
-
echo "🛑 BLOCKED: This command is not covered by existing pre-approved permissions."
|
|
220
|
-
echo ""
|
|
221
|
-
echo "Before requesting user approval, check if you can accomplish this task using one of these pre-approved patterns:"
|
|
222
|
-
echo ""
|
|
223
|
-
echo "([e] = exact match, [p] = prefix match)"
|
|
224
|
-
echo ""
|
|
225
|
-
for pattern in "${ALLOWED_PATTERNS[@]}"; do
|
|
226
|
-
echo " • $(format_pattern "$pattern")"
|
|
227
|
-
done
|
|
228
|
-
echo ""
|
|
229
|
-
echo "([e] = exact match, [p] = prefix match)"
|
|
230
|
-
echo ""
|
|
231
|
-
echo "If an existing permission pattern can solve your task, use that instead."
|
|
232
|
-
echo "If you've considered the alternatives and still need this specific command, retry it."
|
|
233
|
-
echo ""
|
|
234
|
-
} >&2
|
|
235
|
-
exit 2 # Exit 2 = block with error message
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
######################################################################
|
|
3
|
-
# .what = upgrade declapract and apply latest best practices
|
|
4
|
-
#
|
|
5
|
-
# .why = declapract manages development best practices and tooling
|
|
6
|
-
# configuration across projects, ensuring consistency and
|
|
7
|
-
# enabling easy upgrades to latest standards.
|
|
8
|
-
#
|
|
9
|
-
# this skill upgrades declapract packages and reapplies
|
|
10
|
-
# practices, then validates the build still passes.
|
|
11
|
-
#
|
|
12
|
-
# guarantee:
|
|
13
|
-
# ✔ verifies declapract.use.yml exists before proceeding
|
|
14
|
-
# ✔ upgrades to latest declapract packages
|
|
15
|
-
# ✔ applies practices twice (ensures idempotency)
|
|
16
|
-
# ✔ reinstalls dependencies after application
|
|
17
|
-
# ✔ fail-fast on any error
|
|
18
|
-
######################################################################
|
|
19
|
-
|
|
20
|
-
set -euo pipefail
|
|
21
|
-
|
|
22
|
-
PROJECT_ROOT="$PWD"
|
|
23
|
-
CONFIG_FILE="$PROJECT_ROOT/declapract.use.yml"
|
|
24
|
-
|
|
25
|
-
# Verify declapract config exists
|
|
26
|
-
if [[ ! -f "$CONFIG_FILE" ]]; then
|
|
27
|
-
echo "❌ no declapract.use.yml found in project root"
|
|
28
|
-
echo " $CONFIG_FILE"
|
|
29
|
-
echo "➡️ first configure declapract for this project"
|
|
30
|
-
exit 1
|
|
31
|
-
fi
|
|
32
|
-
|
|
33
|
-
echo "📦 upgrading declapract packages..."
|
|
34
|
-
npm install --save-dev declapract@latest declapract-typescript-ehmpathy@latest
|
|
35
|
-
|
|
36
|
-
echo ""
|
|
37
|
-
echo "✨ applying best practices..."
|
|
38
|
-
npx declapract apply && npx declapract apply
|
|
39
|
-
|
|
40
|
-
echo ""
|
|
41
|
-
echo "📦 reinstalling dependencies..."
|
|
42
|
-
npm install
|
|
43
|
-
|
|
44
|
-
echo ""
|
|
45
|
-
echo "✅ declapract upgrade complete!"
|
|
46
|
-
echo ""
|
|
47
|
-
echo "⚠️ next steps:"
|
|
48
|
-
echo " 1. verify build passes: npm run test:types && npm run build"
|
|
49
|
-
echo " 2. review changes for breaking updates"
|
|
50
|
-
echo " 3. test that all still behaves as expected"
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
######################################################################
|
|
3
|
-
# .what = shared helpers for git worktree management
|
|
4
|
-
#
|
|
5
|
-
# .why = centralizes path resolution and branch sanitization logic
|
|
6
|
-
# used by git.worktree.{get,set,del}.sh scripts
|
|
7
|
-
#
|
|
8
|
-
# .how = source this file to get access to:
|
|
9
|
-
# - resolve_worktrees_dir: computes $REPO_WORKTREES_DIR
|
|
10
|
-
# - sanitize_branch_name: converts branch to worktree name
|
|
11
|
-
# - get_repo_name: extracts repo name from gitroot
|
|
12
|
-
#
|
|
13
|
-
# guarantee:
|
|
14
|
-
# - works from root repo or from within a worktree
|
|
15
|
-
# - consistent path resolution across all worktree scripts
|
|
16
|
-
######################################################################
|
|
17
|
-
|
|
18
|
-
# resolve the worktrees directory for this repo
|
|
19
|
-
# handles both root repo and worktree contexts
|
|
20
|
-
resolve_worktrees_dir() {
|
|
21
|
-
local gitroot
|
|
22
|
-
gitroot="$(git rev-parse --show-toplevel)"
|
|
23
|
-
|
|
24
|
-
local reponame
|
|
25
|
-
reponame="$(basename "$gitroot")"
|
|
26
|
-
|
|
27
|
-
# detect if we're in a worktree (path contains _worktrees)
|
|
28
|
-
if [[ "$gitroot" == *"_worktrees"* ]]; then
|
|
29
|
-
# we're in a worktree - reuse same _worktrees/$reponame dir
|
|
30
|
-
echo "${gitroot%/*}"
|
|
31
|
-
else
|
|
32
|
-
# root repo - compute sibling _worktrees dir
|
|
33
|
-
echo "$(dirname "$gitroot")/_worktrees/$reponame"
|
|
34
|
-
fi
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
# sanitize branch name for use as directory name
|
|
38
|
-
# vlad/practs => vlad.practs
|
|
39
|
-
sanitize_branch_name() {
|
|
40
|
-
local branch="$1"
|
|
41
|
-
echo "${branch//\//.}"
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
# get the repo name (works from root repo or worktree)
|
|
45
|
-
get_repo_name() {
|
|
46
|
-
local gitroot
|
|
47
|
-
gitroot="$(git rev-parse --show-toplevel)"
|
|
48
|
-
|
|
49
|
-
# detect if we're in a worktree (path contains _worktrees)
|
|
50
|
-
if [[ "$gitroot" == *"_worktrees"* ]]; then
|
|
51
|
-
# extract repo name from _worktrees/$reponame/$worktree path
|
|
52
|
-
# gitroot = /path/to/_worktrees/$reponame/$worktree
|
|
53
|
-
local worktrees_parent="${gitroot%/*}" # /path/to/_worktrees/$reponame
|
|
54
|
-
basename "$worktrees_parent"
|
|
55
|
-
else
|
|
56
|
-
basename "$gitroot"
|
|
57
|
-
fi
|
|
58
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
######################################################################
|
|
3
|
-
# .what = remove a git worktree
|
|
4
|
-
#
|
|
5
|
-
# .why = clean up worktrees no longer needed
|
|
6
|
-
#
|
|
7
|
-
# .how = removes worktree at @gitroot/../_worktrees/$reponame/$branch
|
|
8
|
-
#
|
|
9
|
-
# usage:
|
|
10
|
-
# git.worktree.del.sh <branch>
|
|
11
|
-
#
|
|
12
|
-
# guarantee:
|
|
13
|
-
# - idempotent: [DELETE] if exists, [SKIP] if not found
|
|
14
|
-
# - works from root repo or from within a worktree
|
|
15
|
-
######################################################################
|
|
16
|
-
|
|
17
|
-
set -euo pipefail
|
|
18
|
-
|
|
19
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
20
|
-
|
|
21
|
-
# source shared helpers
|
|
22
|
-
source "$SCRIPT_DIR/git.worktree.common.sh"
|
|
23
|
-
|
|
24
|
-
# parse arguments
|
|
25
|
-
BRANCH="${1:-}"
|
|
26
|
-
|
|
27
|
-
# validate branch argument
|
|
28
|
-
if [[ -z "$BRANCH" ]]; then
|
|
29
|
-
echo "error: branch name required"
|
|
30
|
-
echo "usage: git.worktree.del.sh <branch>"
|
|
31
|
-
exit 1
|
|
32
|
-
fi
|
|
33
|
-
|
|
34
|
-
# resolve paths
|
|
35
|
-
REPO_WORKTREES_DIR="$(resolve_worktrees_dir)"
|
|
36
|
-
WORKTREE_NAME="$(sanitize_branch_name "$BRANCH")"
|
|
37
|
-
WORKTREE_PATH="$REPO_WORKTREES_DIR/$WORKTREE_NAME"
|
|
38
|
-
|
|
39
|
-
# delete logic
|
|
40
|
-
if [[ -d "$WORKTREE_PATH" ]]; then
|
|
41
|
-
# remove worktree via git
|
|
42
|
-
git worktree remove "$WORKTREE_PATH" --force 2>/dev/null || {
|
|
43
|
-
# fallback: manual removal if git worktree remove fails
|
|
44
|
-
rm -rf "$WORKTREE_PATH"
|
|
45
|
-
git worktree prune
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
echo "[DELETE] $WORKTREE_NAME"
|
|
49
|
-
else
|
|
50
|
-
echo "[SKIP] $WORKTREE_NAME (not found)"
|
|
51
|
-
fi
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
######################################################################
|
|
3
|
-
# .what = list git worktrees for this repo
|
|
4
|
-
#
|
|
5
|
-
# .why = discover existing worktrees managed by git.worktree.sh
|
|
6
|
-
#
|
|
7
|
-
# .how = lists worktrees at @gitroot/../_worktrees/$reponame/
|
|
8
|
-
#
|
|
9
|
-
# usage:
|
|
10
|
-
# git.worktree.get.sh
|
|
11
|
-
#
|
|
12
|
-
# guarantee:
|
|
13
|
-
# - works from root repo or from within a worktree
|
|
14
|
-
# - shows "(no worktrees)" if none exist
|
|
15
|
-
######################################################################
|
|
16
|
-
|
|
17
|
-
set -euo pipefail
|
|
18
|
-
|
|
19
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
20
|
-
|
|
21
|
-
# source shared helpers
|
|
22
|
-
source "$SCRIPT_DIR/git.worktree.common.sh"
|
|
23
|
-
|
|
24
|
-
# resolve worktrees directory
|
|
25
|
-
REPO_WORKTREES_DIR="$(resolve_worktrees_dir)"
|
|
26
|
-
REPO_NAME="$(get_repo_name)"
|
|
27
|
-
|
|
28
|
-
# check if worktrees directory exists
|
|
29
|
-
if [[ ! -d "$REPO_WORKTREES_DIR" ]]; then
|
|
30
|
-
echo "(no worktrees)"
|
|
31
|
-
exit 0
|
|
32
|
-
fi
|
|
33
|
-
|
|
34
|
-
# list worktrees
|
|
35
|
-
WORKTREES=()
|
|
36
|
-
for dir in "$REPO_WORKTREES_DIR"/*/; do
|
|
37
|
-
[[ -d "$dir" ]] && WORKTREES+=("$dir")
|
|
38
|
-
done
|
|
39
|
-
|
|
40
|
-
# handle empty
|
|
41
|
-
if [[ ${#WORKTREES[@]} -eq 0 ]]; then
|
|
42
|
-
echo "(no worktrees)"
|
|
43
|
-
exit 0
|
|
44
|
-
fi
|
|
45
|
-
|
|
46
|
-
# output worktree list
|
|
47
|
-
echo "worktrees for $REPO_NAME:"
|
|
48
|
-
for dir in "${WORKTREES[@]}"; do
|
|
49
|
-
name="$(basename "$dir")"
|
|
50
|
-
echo " $name => $dir"
|
|
51
|
-
done
|