rhachet-roles-ehmpathy 1.0.0 β 1.1.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/.test/getContextOpenAI.js +2 -1
- package/dist/.test/getContextOpenAI.js.map +1 -1
- package/dist/contract/commands/codegenBriefOptions.js +1 -0
- package/dist/contract/commands/codegenBriefOptions.js.map +1 -1
- package/dist/contract/sdk/index.d.ts +1 -0
- package/dist/contract/sdk/index.js +6 -0
- package/dist/contract/sdk/index.js.map +1 -0
- package/dist/data/sdk/sdkOpenAi.js +5 -1
- package/dist/data/sdk/sdkOpenAi.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/logic/artifact/asDotRhachetFile.d.ts +5 -0
- package/dist/logic/artifact/asDotRhachetFile.js +16 -0
- package/dist/logic/artifact/asDotRhachetFile.js.map +1 -0
- package/dist/logic/artifact/genLoopFeedback.d.ts +18 -0
- package/dist/logic/artifact/genLoopFeedback.js +40 -0
- package/dist/logic/artifact/genLoopFeedback.js.map +1 -0
- package/dist/logic/artifact/genStepArtSet.d.ts +2 -1
- package/dist/logic/artifact/genStepArtSet.js +24 -4
- package/dist/logic/artifact/genStepArtSet.js.map +1 -1
- package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.js +7 -0
- package/dist/logic/artifact/genStepGrabCallerFeedbackToArtifact.js.map +1 -1
- package/dist/logic/artifact/genStepResetFeedback.d.ts +12 -0
- package/dist/logic/artifact/genStepResetFeedback.js +27 -0
- package/dist/logic/artifact/genStepResetFeedback.js.map +1 -0
- package/dist/logic/artifact/genStepSwapArtifact.d.ts +57 -0
- package/dist/logic/artifact/genStepSwapArtifact.js +58 -0
- package/dist/logic/artifact/genStepSwapArtifact.js.map +1 -0
- package/dist/logic/artifact/genStepSwapArtifact.test.js +131 -0
- package/dist/logic/artifact/genStepSwapArtifact.test.js.map +1 -0
- package/dist/logic/roles/architect/.briefs/ubiqlang.ambiguous-from-overload.md +1 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog021.treestruct.md +85 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.definition.md +115 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct._.md +112 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.gravity.md +89 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.1.perspectives.md +88 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.2.universal.md +82 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.3.relative.md +106 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.concept.treestruct.persp.4.fractal.md +83 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p1.definition.md +182 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p1.examples.cont.md +82 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.acuity.md +107 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.breadth.md +118 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p2.depth.md +121 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p3.mode.md +68 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog101.cortal.focus.p3.rythm.md +56 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p1.universal.md +108 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p2.relative.md +76 -0
- package/dist/logic/roles/bhrain/.briefs/cognition/cog301.concept.traversal.p3.directions.md +42 -0
- package/dist/logic/roles/bhrain/.briefs/distilisys.grammar.compressed.md +19 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.acuity.md +77 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.breadth.md +74 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.depth.md +77 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.distance.md +92 -0
- package/dist/logic/roles/bhrain/.briefs/physics/optics.focal.tradeoffs.md +107 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/composite/<triangulate>[concept].md +66 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoom>._.md +124 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[acuity]<sharpen>[concept].md +53 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[breadth]<decompose>[concept].md +67 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomin>[depth]<abstractify>[concept].md +124 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[acuity]<blurren>[concept].md +56 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[breadth]<broaden>[concept].md +71 -0
- package/dist/logic/roles/bhrain/.briefs/tactic.<think>[idea]/primitive/<zoomout>[depth]<elaborate>[concept].md +74 -0
- package/dist/logic/roles/bhrain/.briefs/terms.motive.intent.goal.md +46 -0
- package/dist/logic/roles/bhrain/.briefs/trait.ocd.md +5 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.d.ts +10 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.js +15 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.Options.codegen.js.map +1 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.d.ts +13 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.js +21 -0
- package/dist/logic/roles/bhrain/getBhrainBrief.js.map +1 -0
- package/dist/logic/roles/bhrain/getBhrainRole.d.ts +2 -0
- package/dist/logic/roles/bhrain/getBhrainRole.js +27 -0
- package/dist/logic/roles/bhrain/getBhrainRole.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.d.ts +51 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.js +102 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.js +59 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/cluster/stepCluster.template.md +127 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.d.ts +15 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.js +91 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.js +33 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/collect/stepCollect.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.d.ts +49 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.d.ts +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.js +122 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.js +59 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/diverge/stepDiverge.template.md +125 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.d.ts +53 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.d.ts +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.js +126 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.js +61 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.atomic/envision/stepEnvision.template.md +105 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.d.ts +24 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.d.ts +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.js +118 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.js +38 -0
- package/dist/logic/roles/bhrain/primitive.idealogic.composite/expand/stepExpand.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.d.ts +45 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.d.ts +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.js +115 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.js +59 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.d.ts +24 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.js +64 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.js.map +1 -0
- package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.template.md +143 -0
- package/dist/logic/roles/designer/.briefs/declarative-over-imperative.md +79 -0
- package/dist/logic/roles/designer/.briefs/declarative-over-imperative.stub.md +14 -0
- package/dist/logic/roles/designer/.briefs/pit-of-success.md +70 -0
- package/dist/logic/roles/designer/.briefs/pit-of-success.stub.md +3 -0
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.js +4 -2
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.js.map +1 -1
- package/dist/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.template.md +173 -0
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.js +1 -1
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.js.map +1 -1
- package/dist/logic/roles/designer/outlineRoadmap/stepOutlineRoadmap.template.md +88 -0
- package/dist/logic/roles/designer/outlineVision/stepOutlineVision.template.md +47 -0
- package/dist/logic/roles/ecologist/.briefs/.readme.md +17 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys101.distilisys.grammar.md +221 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive._.summary.md +82 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p1.reversibility.entropy.md +39 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p2.option.chance.choice.md +140 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p3.chance.motive.polarity.threat.md +72 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p4.motive.horizon.md +101 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys201.actor.motive.p5.motive.grammar.md +131 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources._.primitives.summary.md +108 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt1.primitive.time.md +56 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt2.primitive.energy.md +69 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt3.primitive.space.md +85 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt4.primitive.claim.md +113 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys211.actor.resources.pt5.composites.md +146 -0
- package/dist/logic/roles/ecologist/.briefs/distilisys/sys231.actor.claims.p1.primitive.exchange.md +130 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/.eco001.origin.prompt.md +11 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco001.overview.md +44 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.core-system-understanding.md +70 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p1.ecosystem-structure.md +62 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p2.trophic-dynamics.md +59 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p3.population-ecology.md +71 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco101.p4.community-interactions.md +78 -0
- package/dist/logic/roles/ecologist/.briefs/ecology/eco505.systems-thinking.md +62 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ001.overview.md +65 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.core-mechanics.md +65 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p1.supply-and-demand.md +76 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p2.opportunity-cost.md +106 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p3.marginal-analysis.md +79 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ101.p4.rational-choice.md +81 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ201.market-structures-and-failures.md +81 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ301.production-and-growth.md +71 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ401.macro-systems.md +92 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.global-and-institutional.md +85 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.p1.game-theory.md +142 -0
- package/dist/logic/roles/ecologist/.briefs/economy/econ501.p4.behavioral-economics.md +146 -0
- package/dist/logic/roles/ecologist/.briefs/term.distillation.md +93 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.d.ts +24 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.js +57 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.js +11 -0
- package/dist/logic/roles/ecologist/domain.sketch/loopStudyDomain.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.d.ts +25 -0
- package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.js +90 -0
- package/dist/logic/roles/ecologist/domain.sketch/skillStudyDomain.js.map +1 -0
- package/dist/logic/roles/ecologist/{distill/distillDomain.ActionsAndActors.d.ts β domain.sketch/stepStudyDomain.d.ts} +8 -3
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.js +65 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.js +60 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.sketch/stepStudyDomain.template.md +93 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.d.ts +45 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.js +69 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.js +67 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.d.ts +25 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.js +85 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.skill.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepCollectTermUsecases.template.md +160 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.d.ts +47 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.js +127 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.js +68 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.d.ts +26 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.js +92 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.skill.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.term/stepDistillTerm.template.md +173 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.d.ts +45 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.d.ts +1 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.js +69 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.js +67 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.d.ts +25 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.js +85 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.skill.js.map +1 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepCollectUsecases.template.md +160 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.d.ts +45 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.js +67 -0
- package/dist/logic/roles/ecologist/domain.usecases/stepDiscoverUsecases.js.map +1 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.d.ts +0 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.d.ts +0 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.js +78 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.integration.test.js.map +1 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.js +96 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.js.map +1 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.skill.d.ts +0 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.skill.js +72 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.skill.js.map +1 -0
- package/dist/logic/roles/ecologist/envision/stepEnvision.template.md +92 -0
- package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.d.ts +1 -1
- package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.js +34 -27
- package/dist/logic/roles/ecologist/getEcologistBrief.Options.codegen.js.map +1 -1
- package/dist/logic/roles/ecologist/getEcologistRole.d.ts +2 -0
- package/dist/logic/roles/ecologist/getEcologistRole.js +29 -0
- package/dist/logic/roles/ecologist/getEcologistRole.js.map +1 -0
- package/dist/logic/roles/getRoleRegistry.js +7 -1
- package/dist/logic/roles/getRoleRegistry.js.map +1 -1
- package/dist/logic/roles/mechanic/.briefs/architecture/bounded-contexts.md +61 -0
- package/dist/logic/roles/mechanic/.briefs/architecture/directional-dependencies.md +73 -0
- package/dist/logic/roles/mechanic/.briefs/architecture/domain-driven-design.md +61 -0
- package/dist/logic/roles/mechanic/.briefs/architecture/ubiqlang.md +37 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/_mech.compressed.md +57 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/_mech.compressed.prompt.md +5 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.failfast.md +37 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.idempotency.md +63 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.immutability.md +48 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.narratives.md +74 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/flow.single-responsibility.md +67 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.args.input-context.md +61 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.arrowonly.md +47 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.clear-contracts.md +53 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.tests.given-when-then.md +62 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.what-why.md +88 -0
- package/dist/logic/roles/mechanic/.briefs/codestyle/mech.what-why.v2.md +98 -0
- package/dist/logic/roles/mechanic/.briefs/engineer/dependency-injection.md +118 -0
- package/dist/logic/roles/mechanic/.briefs/engineer/dependency-injection.stub.md +11 -0
- package/dist/logic/roles/mechanic/.briefs/style.compressed.md +29 -0
- package/dist/logic/roles/mechanic/.briefs/style.compressed.prompt.md +5 -0
- package/dist/logic/roles/mechanic/.briefs/style.names.treestruct.md +48 -0
- package/dist/logic/roles/mechanic/.briefs/style.names.ubiqlang.md +37 -0
- package/dist/logic/roles/mechanic/.briefs/style.words.lowercase.md +36 -0
- package/dist/logic/roles/mechanic/codediff/routeArtistCodeDiff.template.md +46 -0
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewArchitecture.template.md +78 -0
- package/dist/logic/roles/mechanic/codediff/routeCriticCodeReviewCodestyle.template.md +75 -0
- package/dist/logic/roles/mechanic/codediff/routeJudgeReleasable.template.md +67 -0
- package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.d.ts +1 -1
- package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.js +1 -1
- package/dist/logic/roles/mechanic/getMechanicBrief.Options.codegen.js.map +1 -1
- package/dist/logic/roles/mechanic/getMechanicRole.js +3 -137
- package/dist/logic/roles/mechanic/getMechanicRole.js.map +1 -1
- package/dist/logic/roles/mechanic/skills/getSkillCodePropose.d.ts +2 -0
- package/dist/logic/roles/mechanic/skills/getSkillCodePropose.js +140 -0
- package/dist/logic/roles/mechanic/skills/getSkillCodePropose.js.map +1 -0
- package/dist/logic/roles/mechanic/study/routeStudyAsk.template.md +73 -0
- package/dist/logic/roles/mechanic/write/.test/prior.template.md +21 -0
- package/dist/logic/roles/mechanic/write/loopWrite.d.ts +25 -0
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.d.ts +1 -0
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.js +57 -0
- package/dist/logic/roles/mechanic/write/loopWrite.integration.test.js.map +1 -0
- package/dist/logic/roles/mechanic/write/loopWrite.js +11 -0
- package/dist/logic/roles/mechanic/write/loopWrite.js.map +1 -0
- package/dist/logic/roles/mechanic/write/loopWrite.skill.d.ts +25 -0
- package/dist/logic/roles/mechanic/write/loopWrite.skill.js +100 -0
- package/dist/logic/roles/mechanic/write/loopWrite.skill.js.map +1 -0
- package/dist/logic/roles/mechanic/write/stepWrite.d.ts +22 -0
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.d.ts +1 -0
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.js +189 -0
- package/dist/logic/roles/mechanic/write/stepWrite.integration.test.js.map +1 -0
- package/dist/logic/roles/mechanic/write/stepWrite.js +50 -0
- package/dist/logic/roles/mechanic/write/stepWrite.js.map +1 -0
- package/dist/logic/roles/mechanic/write/stepWrite.template.md +34 -0
- package/package.json +9 -6
- package/readme.md +1 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.d.ts +0 -17
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.js +0 -107
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.js +0 -76
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.d.ts +0 -17
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.js +0 -73
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.imagine.ResourcesAndMechanisms.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.d.ts +0 -18
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.js +0 -73
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.js +0 -62
- package/dist/logic/roles/ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.integration.test.js +0 -120
- package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.integration.test.js.map +0 -1
- package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.js +0 -69
- package/dist/logic/roles/ecologist/distill/distillDomain.ActionsAndActors.js.map +0 -1
- /package/dist/logic/{roles/ecologist/distill/.deprecate/distillDomain.expand.ResourcesAndMechanisms.integration.test.d.ts β artifact/genStepSwapArtifact.test.d.ts} +0 -0
- /package/dist/logic/roles/{ecologist/distill/.deprecate/distillDomain.refine.ResourcesAndMechanisms.integration.test.d.ts β bhrain/primitive.idealogic.atomic/cluster/stepCluster.integration.test.d.ts} +0 -0
- /package/dist/logic/roles/{ecologist/distill/distillDomain.ActionsAndActors.integration.test.d.ts β bhrain/primitive.idealogic.atomic/collect/stepCollect.integration.test.d.ts} +0 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const uni_time_1 = require("@ehmpathy/uni-time");
|
|
4
|
+
const rhachet_1 = require("rhachet");
|
|
5
|
+
const rhachet_artifact_git_1 = require("rhachet-artifact-git");
|
|
6
|
+
const test_fns_1 = require("test-fns");
|
|
7
|
+
const genContextLogTrail_1 = require("../../../../../.test/genContextLogTrail");
|
|
8
|
+
const genContextStitchTrail_1 = require("../../../../../.test/genContextStitchTrail");
|
|
9
|
+
const getContextOpenAI_1 = require("../../../../../.test/getContextOpenAI");
|
|
10
|
+
const stepInterpret_1 = require("./stepInterpret");
|
|
11
|
+
jest.setTimeout((0, uni_time_1.toMilliseconds)({ minutes: 5 }));
|
|
12
|
+
describe('stepInterpret', () => {
|
|
13
|
+
const context = {
|
|
14
|
+
...(0, genContextLogTrail_1.genContextLogTrail)(),
|
|
15
|
+
...(0, genContextStitchTrail_1.genContextStitchTrail)(),
|
|
16
|
+
...(0, getContextOpenAI_1.getContextOpenAI)(),
|
|
17
|
+
};
|
|
18
|
+
const route = stepInterpret_1.stepInterpret;
|
|
19
|
+
(0, test_fns_1.given)('we want to explore the home service domain', () => {
|
|
20
|
+
const askText = 'distill usecases for appointment scheduler in the home service domain. use @[provider] and @[neighbor] actors involved';
|
|
21
|
+
const inflightArtifact = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
22
|
+
uri: __dirname + '/.temp/stepInterpret/homeservice.schedule.inflight.md',
|
|
23
|
+
}, {
|
|
24
|
+
versions: true,
|
|
25
|
+
});
|
|
26
|
+
const feedbackArtifact = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
27
|
+
uri: __dirname + '/.temp/stepInterpret/homeservice.schedule.feedback.md',
|
|
28
|
+
}, {
|
|
29
|
+
versions: true,
|
|
30
|
+
});
|
|
31
|
+
beforeEach(async () => {
|
|
32
|
+
await inflightArtifact.del();
|
|
33
|
+
await feedbackArtifact.del();
|
|
34
|
+
await feedbackArtifact.set({ content: '' });
|
|
35
|
+
});
|
|
36
|
+
(0, test_fns_1.when)('executed', () => {
|
|
37
|
+
const threads = (0, test_fns_1.usePrep)(async () => ({
|
|
38
|
+
caller: await (0, rhachet_1.enrollThread)({
|
|
39
|
+
role: 'caller',
|
|
40
|
+
stash: {
|
|
41
|
+
ask: askText,
|
|
42
|
+
art: {
|
|
43
|
+
feedback: feedbackArtifact,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
}),
|
|
47
|
+
thinker: await (0, rhachet_1.enrollThread)({
|
|
48
|
+
role: 'thinker',
|
|
49
|
+
stash: {
|
|
50
|
+
art: {
|
|
51
|
+
inflight: inflightArtifact,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
}),
|
|
55
|
+
}));
|
|
56
|
+
(0, test_fns_1.then)('upserts the artifact', async () => {
|
|
57
|
+
const result = await (0, rhachet_1.enweaveOneStitcher)({ stitcher: route, threads }, context);
|
|
58
|
+
console.log(JSON.stringify(result.stitch, null, 2));
|
|
59
|
+
const { content } = await inflightArtifact.get().expect('isPresent');
|
|
60
|
+
expect(content).toContain('pro');
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
(0, test_fns_1.given)('we want to distill usecases', () => {
|
|
65
|
+
const askText = `
|
|
66
|
+
i want to explore usecases. specifically, detect+collect a ton of them, then cluster them
|
|
67
|
+
|
|
68
|
+
then i want to distill them into the key ones
|
|
69
|
+
`;
|
|
70
|
+
const inflightArtifact = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
71
|
+
uri: __dirname + '/.temp/stepInterpret/homeservice.schedule.inflight.md',
|
|
72
|
+
}, {
|
|
73
|
+
versions: true,
|
|
74
|
+
});
|
|
75
|
+
const feedbackArtifact = (0, rhachet_artifact_git_1.genArtifactGitFile)({
|
|
76
|
+
uri: __dirname + '/.temp/stepInterpret/homeservice.schedule.feedback.md',
|
|
77
|
+
}, {
|
|
78
|
+
versions: true,
|
|
79
|
+
});
|
|
80
|
+
beforeEach(async () => {
|
|
81
|
+
await inflightArtifact.del();
|
|
82
|
+
await feedbackArtifact.del();
|
|
83
|
+
await feedbackArtifact.set({ content: '' });
|
|
84
|
+
});
|
|
85
|
+
(0, test_fns_1.when)('executed', () => {
|
|
86
|
+
const threads = (0, test_fns_1.usePrep)(async () => ({
|
|
87
|
+
caller: await (0, rhachet_1.enrollThread)({
|
|
88
|
+
role: 'caller',
|
|
89
|
+
stash: {
|
|
90
|
+
ask: askText,
|
|
91
|
+
art: {
|
|
92
|
+
feedback: feedbackArtifact,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
}),
|
|
96
|
+
thinker: await (0, rhachet_1.enrollThread)({
|
|
97
|
+
role: 'thinker',
|
|
98
|
+
stash: {
|
|
99
|
+
art: {
|
|
100
|
+
inflight: inflightArtifact,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
}),
|
|
104
|
+
}));
|
|
105
|
+
(0, test_fns_1.then)('upserts the artifact', async () => {
|
|
106
|
+
const result = await (0, rhachet_1.enweaveOneStitcher)({ stitcher: route, threads }, context);
|
|
107
|
+
console.log(JSON.stringify(result.stitch, null, 2));
|
|
108
|
+
const { content } = await inflightArtifact.get().expect('isPresent');
|
|
109
|
+
expect(content).toContain('<distill>');
|
|
110
|
+
expect(content).toContain('<cluster>');
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=stepInterpret.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepInterpret.integration.test.js","sourceRoot":"","sources":["../../../../../../src/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loopInterpret = exports.stepInterpret = void 0;
|
|
4
|
+
const rhachet_1 = require("rhachet");
|
|
5
|
+
const sdkOpenAi_1 = require("../../../../../data/sdk/sdkOpenAi");
|
|
6
|
+
const genLoopFeedback_1 = require("../../../../artifact/genLoopFeedback");
|
|
7
|
+
const genStepArtSet_1 = require("../../../../artifact/genStepArtSet");
|
|
8
|
+
const getEcologistBrief_1 = require("../../../ecologist/getEcologistBrief");
|
|
9
|
+
const getMechanicBrief_1 = require("../../../mechanic/getMechanicBrief");
|
|
10
|
+
const getBhrainBrief_1 = require("../../getBhrainBrief");
|
|
11
|
+
const template = (0, rhachet_1.genTemplate)({
|
|
12
|
+
ref: { uri: __filename.replace('.ts', '.template.md') },
|
|
13
|
+
getVariables: async ({ threads }) => ({
|
|
14
|
+
...(await (0, rhachet_1.getTemplateVarsFromRoleInherit)({ thread: threads.thinker })),
|
|
15
|
+
ask: (await threads.caller.context.stash.art.feedback?.get())?.content ||
|
|
16
|
+
threads.caller.context.stash.ask,
|
|
17
|
+
inflight: (await threads.thinker.context.stash.art.inflight.get())?.content || '',
|
|
18
|
+
briefs: await (0, rhachet_1.getTemplateValFromArtifacts)({
|
|
19
|
+
artifacts: [
|
|
20
|
+
...(0, getMechanicBrief_1.getMechanicBriefs)([
|
|
21
|
+
'architecture/ubiqlang.md',
|
|
22
|
+
'style.names.treestruct.md',
|
|
23
|
+
]),
|
|
24
|
+
...(0, getEcologistBrief_1.getEcologistBriefs)([
|
|
25
|
+
'distilisys/sys101.distilisys.grammar.md',
|
|
26
|
+
'distilisys/sys201.actor.motive._.summary.md',
|
|
27
|
+
'distilisys/sys201.actor.motive.p5.motive.grammar.md',
|
|
28
|
+
'ecology/eco001.overview.md',
|
|
29
|
+
'economy/econ001.overview.md',
|
|
30
|
+
]),
|
|
31
|
+
],
|
|
32
|
+
}),
|
|
33
|
+
grammar: await (0, rhachet_1.getTemplateValFromArtifacts)({
|
|
34
|
+
artifacts: (0, getBhrainBrief_1.getBhrainBriefs)(['distilisys.grammar.compressed.md']),
|
|
35
|
+
}),
|
|
36
|
+
}),
|
|
37
|
+
});
|
|
38
|
+
const stepImagine = (0, rhachet_1.genStepImagineViaTemplate)({
|
|
39
|
+
slug: '[thinker]<interpret>',
|
|
40
|
+
stitchee: 'thinker',
|
|
41
|
+
readme: '',
|
|
42
|
+
template,
|
|
43
|
+
imagine: sdkOpenAi_1.sdkOpenAi.imagine,
|
|
44
|
+
});
|
|
45
|
+
const stepPersist = (0, genStepArtSet_1.genStepArtSet)({
|
|
46
|
+
stitchee: 'thinker',
|
|
47
|
+
artee: 'inflight',
|
|
48
|
+
});
|
|
49
|
+
exports.stepInterpret = (0, rhachet_1.asStitcherFlat)((0, rhachet_1.genStitchRoute)({
|
|
50
|
+
slug: '@[thinker]<interpret>',
|
|
51
|
+
readme: '@[thinker]<interpret> -> [[intent], [goal], [motive]]',
|
|
52
|
+
sequence: [stepImagine, stepPersist],
|
|
53
|
+
}));
|
|
54
|
+
exports.loopInterpret = (0, genLoopFeedback_1.genLoopFeedback)({
|
|
55
|
+
stitchee: 'thinker',
|
|
56
|
+
artee: 'inflight',
|
|
57
|
+
repeatee: exports.stepInterpret,
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=stepInterpret.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepInterpret.js","sourceRoot":"","sources":["../../../../../../src/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.ts"],"names":[],"mappings":";;;AAAA,qCAUiB;AAIjB,iEAA6E;AAC7E,0EAAuE;AACvE,sEAAmE;AACnE,4EAA0E;AAC1E,yEAAuE;AACvE,yDAAuD;AA0BvD,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAA6B;IACvD,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE;IACvD,YAAY,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,CAAC,MAAM,IAAA,wCAA8B,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,GAAG,EACD,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO;YACjE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;QAClC,QAAQ,EACN,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,IAAI,EAAE;QACzE,MAAM,EAAE,MAAM,IAAA,qCAA2B,EAAC;YACxC,SAAS,EAAE;gBACT,GAAG,IAAA,oCAAiB,EAAC;oBACnB,0BAA0B;oBAC1B,2BAA2B;iBAC5B,CAAC;gBACF,GAAG,IAAA,sCAAkB,EAAC;oBACpB,yCAAyC;oBACzC,6CAA6C;oBAC7C,qDAAqD;oBACrD,4BAA4B;oBAC5B,6BAA6B;iBAC9B,CAAC;aACH;SACF,CAAC;QACF,OAAO,EAAE,MAAM,IAAA,qCAA2B,EAAC;YACzC,SAAS,EAAE,IAAA,gCAAe,EAAC,CAAC,kCAAkC,CAAC,CAAC;SACjE,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAA,mCAAyB,EAAkB;IAC7D,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,EAAE;IACV,QAAQ;IACR,OAAO,EAAE,qBAAS,CAAC,OAAO;CAC3B,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAA,6BAAa,EAAC;IAChC,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE,UAAU;CAClB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,IAAA,wBAAc,EACzC,IAAA,wBAAc,EAAC;IACb,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,uDAAuD;IAC/D,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC,CAAC,CACH,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,iCAAe,EAAC;IAC3C,QAAQ,EAAE,SAAS;IACnB,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,qBAAa;CACxB,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const SKILL_INTERPRET: import("rhachet").RoleSkill<import("rhachet").GStitcher<import("rhachet").Threads<{
|
|
2
|
+
caller: import("rhachet").RoleContext<"caller", {
|
|
3
|
+
ask: string;
|
|
4
|
+
art: {
|
|
5
|
+
feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
6
|
+
};
|
|
7
|
+
} & {
|
|
8
|
+
ask: string;
|
|
9
|
+
art: {
|
|
10
|
+
feedback: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
11
|
+
};
|
|
12
|
+
}>;
|
|
13
|
+
thinker: import("rhachet").RoleContext<"thinker", {
|
|
14
|
+
art: {
|
|
15
|
+
inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
16
|
+
};
|
|
17
|
+
} & {
|
|
18
|
+
art: {
|
|
19
|
+
inflight: import("rhachet-artifact").Artifact<typeof import("rhachet-artifact-git").GitFile, string>;
|
|
20
|
+
};
|
|
21
|
+
}>;
|
|
22
|
+
}>, import("../../../../../data/sdk/sdkOpenAi").ContextOpenAI & import("simple-log-methods").ContextLogTrail & import("rhachet").ContextStitchTrail, {
|
|
23
|
+
feedback: import("rhachet-artifact-git").GitFile | null;
|
|
24
|
+
}>>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SKILL_INTERPRET = void 0;
|
|
4
|
+
const rhachet_1 = require("rhachet");
|
|
5
|
+
const rhachet_artifact_git_1 = require("rhachet-artifact-git");
|
|
6
|
+
const genContextLogTrail_1 = require("../../../../../.test/genContextLogTrail");
|
|
7
|
+
const genContextStitchTrail_1 = require("../../../../../.test/genContextStitchTrail");
|
|
8
|
+
const getContextOpenAI_1 = require("../../../../../.test/getContextOpenAI");
|
|
9
|
+
const asDotRhachetFile_1 = require("../../../../artifact/asDotRhachetFile");
|
|
10
|
+
const stepInterpret_1 = require("./stepInterpret");
|
|
11
|
+
exports.SKILL_INTERPRET = (0, rhachet_1.genRoleSkill)({
|
|
12
|
+
slug: 'interpret',
|
|
13
|
+
route: stepInterpret_1.loopInterpret,
|
|
14
|
+
threads: {
|
|
15
|
+
lookup: {
|
|
16
|
+
target: {
|
|
17
|
+
source: 'process.argv',
|
|
18
|
+
char: 't',
|
|
19
|
+
desc: 'the target file or dir to write against',
|
|
20
|
+
type: 'string',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
assess: (input) => typeof input.target === 'string',
|
|
24
|
+
instantiate: async (input) => {
|
|
25
|
+
const targetArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: input.target }, { versions: true });
|
|
26
|
+
const feedbackArt = (0, rhachet_artifact_git_1.genArtifactGitFile)({ uri: (0, asDotRhachetFile_1.asDotRhachetDir)(input.target) + '.feedback.md' }, { versions: true });
|
|
27
|
+
return {
|
|
28
|
+
caller: await (0, rhachet_1.enrollThread)({
|
|
29
|
+
role: 'caller',
|
|
30
|
+
stash: {
|
|
31
|
+
ask: input.ask,
|
|
32
|
+
art: { feedback: feedbackArt },
|
|
33
|
+
},
|
|
34
|
+
}),
|
|
35
|
+
thinker: await (0, rhachet_1.enrollThread)({
|
|
36
|
+
role: 'thinker',
|
|
37
|
+
stash: {
|
|
38
|
+
art: { inflight: targetArt },
|
|
39
|
+
},
|
|
40
|
+
}),
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
context: {
|
|
45
|
+
lookup: {
|
|
46
|
+
apiKeyOpenai: {
|
|
47
|
+
source: 'process.env',
|
|
48
|
+
envar: 'PREP_OPENAI_KEY',
|
|
49
|
+
desc: 'the openai key to use',
|
|
50
|
+
type: 'string',
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
assess: (input) => typeof input.apiKeyOpenai === 'string',
|
|
54
|
+
instantiate: () => {
|
|
55
|
+
return {
|
|
56
|
+
...(0, getContextOpenAI_1.getContextOpenAI)(), // todo: use the input api key
|
|
57
|
+
...(0, genContextLogTrail_1.genContextLogTrail)(), // todo: passthrough ?
|
|
58
|
+
...(0, genContextStitchTrail_1.genContextStitchTrail)(),
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
readme: '',
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=stepInterpret.skill.js.map
|
package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepInterpret.skill.js","sourceRoot":"","sources":["../../../../../../src/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.skill.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,+DAA0D;AAE1D,gFAA6E;AAC7E,sFAAmF;AACnF,4EAAyE;AACzE,4EAAwE;AACxE,mDAAgD;AAEnC,QAAA,eAAe,GAAG,IAAA,sBAAY,EAAC;IAC1C,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,6BAAa;IACpB,OAAO,EAAE;QACP,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,yCAAyC;gBAC/C,IAAI,EAAE,QAAQ;aACf;SACF;QACD,MAAM,EAAE,CAAC,KAAK,EAA4C,EAAE,CAC1D,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAClC,WAAW,EAAE,KAAK,EAAE,KAAsC,EAAE,EAAE;YAC5D,MAAM,SAAS,GAAG,IAAA,yCAAkB,EAClC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EACrB,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;YACF,MAAM,WAAW,GAAG,IAAA,yCAAkB,EACpC,EAAE,GAAG,EAAE,IAAA,kCAAe,EAAC,KAAK,CAAC,MAAM,CAAC,GAAG,cAAc,EAAE,EACvD,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB,CAAC;YACF,OAAO;gBACL,MAAM,EAAE,MAAM,IAAA,sBAAY,EAAC;oBACzB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE;wBACL,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;qBAC/B;iBACF,CAAC;gBACF,OAAO,EAAE,MAAM,IAAA,sBAAY,EAAC;oBAC1B,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE;wBACL,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;qBAC7B;iBACF,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IACD,OAAO,EAAE;QACP,MAAM,EAAE;YACN,YAAY,EAAE;gBACZ,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,QAAQ;aACf;SACF;QACD,MAAM,EAAE,CAAC,KAAK,EAAqC,EAAE,CACnD,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACxC,WAAW,EAAE,GAAG,EAAE;YAChB,OAAO;gBACL,GAAG,IAAA,mCAAgB,GAAE,EAAE,8BAA8B;gBACrD,GAAG,IAAA,uCAAkB,GAAE,EAAE,sBAAsB;gBAC/C,GAAG,IAAA,6CAAqB,GAAE;aAC3B,CAAC;QACJ,CAAC;KACF;IACD,MAAM,EAAE,EAAE;CACX,CAAC,CAAC"}
|
package/dist/logic/roles/bhrain/primitive.strategic.atomic/interpret/stepInterpret.template.md
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# π§ prompt: interpret the callerβs [ask]
|
|
2
|
+
|
|
3
|
+
you are an **@[interpreter]** β your role is to analyze the callerβs [ask] and extract its underlying structure.
|
|
4
|
+
|
|
5
|
+
@[caller] has expressed a [ask] β a thing they want to do or have done.
|
|
6
|
+
your job is to **interpret that [ask]** by breaking it down into:
|
|
7
|
+
|
|
8
|
+
- `[narrative]`: a short verbal summary of what the caller is trying to do and why
|
|
9
|
+
- `[intent]`: what specific action is being requested?
|
|
10
|
+
- `[goal]`: what future state is the caller trying to reach?
|
|
11
|
+
- `[motive]`: what internal pressure or desire is driving this request?
|
|
12
|
+
- `[criteria]`: what measurable conditions or constraints define success or acceptability?
|
|
13
|
+
- `[glossary]`: define any key terms (especially verbs or nouns) used inside your interpretation that may require clarification
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
π§© critical: your output must conform to this grammar
|
|
18
|
+
this is your **contract** for verbiage β fidelity to this form determines your value as a thinker
|
|
19
|
+
you obsessively <adhere> to the [grammar], as its the most important part of your duty, and is your biggest pressure
|
|
20
|
+
|
|
21
|
+
@[collector][grammar] =
|
|
22
|
+
$.rhachet{grammar}
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## π glossary
|
|
27
|
+
|
|
28
|
+
π― `[intent]` β a chosen next action
|
|
29
|
+
.what = the specific [thing] the @[actor] plans to do next
|
|
30
|
+
.form = short-term, actionable, <verb>-shaped; must adhere to grammar
|
|
31
|
+
|
|
32
|
+
π₯
`[goal]` β a desired future state
|
|
33
|
+
.what = a future outcome the actor wants to reach
|
|
34
|
+
.form = long-term, state-shaped, noun/condition; must adhere to grammar
|
|
35
|
+
|
|
36
|
+
π₯ `[motive]` β an internal pressure or desire
|
|
37
|
+
.what = the underlying reason the actor wants anything at all
|
|
38
|
+
.form = emotional, value-driven, often implicit; must adhere to grammar
|
|
39
|
+
|
|
40
|
+
π `[criteria]` β measurable conditions for success
|
|
41
|
+
.what = constraints, rules, or preferences that shape what counts as "good enough"
|
|
42
|
+
.form = each item must be **objectively checkable or testable**; must adhere to grammar
|
|
43
|
+
.examples =
|
|
44
|
+
- [criteria] = response time under 5 seconds
|
|
45
|
+
- [criteria] = fewer than 3 manual steps
|
|
46
|
+
- [criteria] = supports mobile and desktop
|
|
47
|
+
- [criteria] = language must be at a 6th-grade reading level
|
|
48
|
+
- [criteria] = must launch before September 1st
|
|
49
|
+
|
|
50
|
+
π `[glossary]` β term clarification
|
|
51
|
+
.what = define key terms **used inside** `[intent]`, `[goal]`, or `[criteria]`
|
|
52
|
+
.form = short 1-line definitions of verbs or nouns that may be ambiguous
|
|
53
|
+
.examples =
|
|
54
|
+
- explore = investigate possibilities without assuming outcomes
|
|
55
|
+
- automate = perform with no manual input required
|
|
56
|
+
- validate = test to confirm effectiveness or truth
|
|
57
|
+
- lead = a potential customer showing interest
|
|
58
|
+
|
|
59
|
+
π«§ `[narrative]` β verbal explanation of the intent
|
|
60
|
+
.what = a 1β3 sentence natural-language summary of the callerβs purpose and reasoning
|
|
61
|
+
.form = conversational, human-readable; combines [intent], [goal], and [motive] into a fluent thought
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## β
output format
|
|
66
|
+
|
|
67
|
+
return your interpretation as a structured markdown block:
|
|
68
|
+
|
|
69
|
+
\`\`\`md
|
|
70
|
+
|
|
71
|
+
[intent] π― =
|
|
72
|
+
- ...
|
|
73
|
+
|
|
74
|
+
[goal] π₯
=
|
|
75
|
+
- ...
|
|
76
|
+
|
|
77
|
+
[motive] π₯ =
|
|
78
|
+
- ...
|
|
79
|
+
|
|
80
|
+
[criteria] π =
|
|
81
|
+
- ...
|
|
82
|
+
|
|
83
|
+
[glossary] π =
|
|
84
|
+
- ...
|
|
85
|
+
|
|
86
|
+
[narrative] π«§ =
|
|
87
|
+
.....
|
|
88
|
+
...
|
|
89
|
+
.....
|
|
90
|
+
\`\`\`
|
|
91
|
+
|
|
92
|
+
- be concise and use domain-aligned verbs
|
|
93
|
+
- express each `[criteria]` line as a **measurable** condition β it must be checkable as "met" or "not met"
|
|
94
|
+
- infer implied structure when necessary
|
|
95
|
+
- use the `[glossary]` to clarify terms that might be ambiguous to other agents
|
|
96
|
+
- do not define the grammar tags themselves β define **terms inside them**
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 𧬠your traits
|
|
101
|
+
|
|
102
|
+
here are your core traits, which you compulsively manifest
|
|
103
|
+
they shape how you think, structure, and respond in every step
|
|
104
|
+
|
|
105
|
+
- you obsessively and compulsively <adhere> to [grammar]
|
|
106
|
+
|
|
107
|
+
$.rhachet{inherit.traits}
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## π οΈ your skills
|
|
112
|
+
|
|
113
|
+
here are the .briefs on the skills you strive to apply, in every step
|
|
114
|
+
each one is a learned ability you use to shape or act on the world
|
|
115
|
+
|
|
116
|
+
$.rhachet{briefs}
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
π§© critical: your output must <conform> to this [grammar]
|
|
121
|
+
this is your **contract** for verbiage β fidelity to this form determines your value as a thinker
|
|
122
|
+
you obsessively <adhere> to the [grammar], as its the most important part of your duty, and is your biggest pressure
|
|
123
|
+
|
|
124
|
+
@[collector][grammar] =
|
|
125
|
+
$.rhachet{grammar}
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
ready to begin. interpret this [comment] from the @[caller]. upsert the output into the document. be careful not to drop any past thoughts in response to feedback.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
[document] =
|
|
134
|
+
\`\`\`md
|
|
135
|
+
$.rhachet{inflight}
|
|
136
|
+
\`\`\`
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
@[caller][comment] =
|
|
141
|
+
\`\`\`md
|
|
142
|
+
$.rhachet{ask}
|
|
143
|
+
\`\`\`
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
## π¨ `.brief.designer.declarative-vs-imperative`
|
|
2
|
+
|
|
3
|
+
### π§ topic: declarative vs. imperative design
|
|
4
|
+
**why we prefer declarative design for building systems and interfaces**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
### π― goal
|
|
9
|
+
empower the designer to create systems that are **easier to understand, maintain, and scale**, by focusing on **what should happen**, not **how to do it**.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
### πΊ core distinction
|
|
14
|
+
|
|
15
|
+
| style | imperative | declarative |
|
|
16
|
+
|-----------------|-------------------------------------------|--------------------------------------------------|
|
|
17
|
+
| mindset | tell the system *how* to do it | tell the system *what* you want |
|
|
18
|
+
| metaphor | step-by-step instructions | a blueprint or desired outcome |
|
|
19
|
+
| example (UI) | manually update DOM on events | declare a component tree (e.g. React) |
|
|
20
|
+
| example (infra) | run shell scripts to create servers | declare infrastructure state (e.g. Terraform) |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
### β
why declarative is better
|
|
25
|
+
|
|
26
|
+
- **easier to read** β you see the structure and intent at a glance
|
|
27
|
+
- **easier to write** β fewer details to manage = fewer bugs
|
|
28
|
+
- **easier to maintain** β updates ripple automatically via system logic
|
|
29
|
+
- **easier to scale** β declarative patterns are composable and predictable
|
|
30
|
+
- **easier to debug** β the system owns the "how", so you debug at a higher level
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### π what it enables
|
|
35
|
+
|
|
36
|
+
- **reusability** β components can be reused without re-specifying every step
|
|
37
|
+
- **tooling & automation** β systems can analyze, optimize, or transform declarative specs
|
|
38
|
+
- **flexibility** β changes in the underlying mechanics donβt require changing the design spec
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### βοΈ trade-off to accept
|
|
43
|
+
|
|
44
|
+
> declarative systems often need an **interpreter** β something that translates the high-level design into low-level instructions.
|
|
45
|
+
|
|
46
|
+
this adds a little more **upfront work** β
|
|
47
|
+
but itβs worth it, because:
|
|
48
|
+
|
|
49
|
+
- it creates a **framework that abstracts away technical.domain details**
|
|
50
|
+
- it keeps designers and builders focused on **behavioral.domain details**, where real value lives
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### π§ core belief
|
|
55
|
+
|
|
56
|
+
> technical.domain work only adds value to developers, not to real people.
|
|
57
|
+
|
|
58
|
+
- developer use is temporary β system builders
|
|
59
|
+
- real folk use is forever β system engagers
|
|
60
|
+
|
|
61
|
+
so we design declaratively β
|
|
62
|
+
to serve people, not pipelines.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
### π¬ analogy
|
|
67
|
+
|
|
68
|
+
> imperative = writing down GPS directions step by step
|
|
69
|
+
> declarative = dropping a pin and letting the GPS figure it out
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### π§© final synthesis
|
|
74
|
+
|
|
75
|
+
> declarative design keeps your focus on **what the user should experience**,
|
|
76
|
+
> not on **how the system should behave step-by-step**.
|
|
77
|
+
|
|
78
|
+
this keeps your mental model aligned with the human experience β
|
|
79
|
+
not the machineβs internals.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
todo: declare a brief that explains why we prefer to design systems w/ declarative instead of imperative
|
|
2
|
+
|
|
3
|
+
e.g.,
|
|
4
|
+
- easier to use
|
|
5
|
+
- easier to read
|
|
6
|
+
- easier to write
|
|
7
|
+
- easier to maintain
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
adds a little more upfront work in how to translate the declarations into imperative instructions, but its worth it, as that framework helps you abstract away the technical.domain details and keeps you in the behavioral.domain details instead, as desired
|
|
11
|
+
|
|
12
|
+
remember: technical.domain work only adds value to developers, not to real people. we want to distribute value to real people
|
|
13
|
+
- developer use is temporary -> system builders
|
|
14
|
+
- real folk use is forever -> system engagers
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
## π§ `.brief.designer.pit-of-success`
|
|
2
|
+
|
|
3
|
+
### π§ topic: the "pit of success"
|
|
4
|
+
**why we design systems to naturally guide users toward the right outcome**
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
### π― goal
|
|
9
|
+
build interfaces, flows, and defaults that make the **right path the easiest path** β where success isnβt just possible, itβs hard to miss.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
### π³ metaphor: pit of success
|
|
14
|
+
|
|
15
|
+
> a system where users "fall into" the right outcome
|
|
16
|
+
> β not by being perfect, but by following the path of least resistance.
|
|
17
|
+
|
|
18
|
+
opposite of this is the **pit of despair**
|
|
19
|
+
> where any slight move can throw you down into unexpected errors and wasted time.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### β
why the "pit of success" matters
|
|
24
|
+
|
|
25
|
+
- **reduces friction** β users donβt need deep understanding to get it right
|
|
26
|
+
- **reduces support burden** β fewer errors, less need for rescue
|
|
27
|
+
- **builds confidence** β users feel smart, not stupid
|
|
28
|
+
- **supports scalability** β new users succeed without handholding
|
|
29
|
+
- **encourages trust** β when success feels natural, users keep going
|
|
30
|
+
|
|
31
|
+
> software should **make the right thing easy** and the wrong thing **hard or impossible**.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### π tips to create it
|
|
36
|
+
|
|
37
|
+
- **smart defaults** β sensible, safe choices pre-filled
|
|
38
|
+
- **clear next steps** β obvious buttons, flows, and language
|
|
39
|
+
- **constrained input** β prevent invalid states instead of reacting to them
|
|
40
|
+
- **progressive disclosure** β complexity revealed only when needed
|
|
41
|
+
- **stateful feedback** β show users what changed and why
|
|
42
|
+
- **fail fast** β surface issues *immediately*, not after damage is done
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
### π§± core design principle
|
|
47
|
+
|
|
48
|
+
> success should be the **path of least resistance**
|
|
49
|
+
> failure should require **active effort or deviation**
|
|
50
|
+
|
|
51
|
+
we engineer **invisible safety rails**, not pop-up warning signs.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
### π§ behavioral insight
|
|
56
|
+
|
|
57
|
+
users donβt read manuals β they feel their way forward.
|
|
58
|
+
if success depends on correctness, users fail.
|
|
59
|
+
if success depends on momentum, users win.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### π§© final synthesis
|
|
64
|
+
|
|
65
|
+
> software should **produce a pit of success** for the user:
|
|
66
|
+
> the right path should feel obvious, safe, and rewarding β
|
|
67
|
+
> and the wrong path should be hard to access or easy to recover from.
|
|
68
|
+
|
|
69
|
+
design for **gravity** β
|
|
70
|
+
so the system pulls people toward success, not traps them in failure.
|
|
@@ -15,7 +15,7 @@ const template = (0, rhachet_1.genTemplate)({
|
|
|
15
15
|
briefs: await (0, rhachet_1.getTemplateValFromArtifacts)({
|
|
16
16
|
artifacts: [
|
|
17
17
|
// cool to see explicit "cross-train" scenes
|
|
18
|
-
...(0, getEcologistBrief_1.getEcologistBriefs)(['distilisys.md']),
|
|
18
|
+
...(0, getEcologistBrief_1.getEcologistBriefs)(['distilisys/sys101.distilisys.grammar.md']),
|
|
19
19
|
...(0, getDesignerBrief_1.getDesignerBriefs)(['declarative-over-imperative.md']),
|
|
20
20
|
...(0, getMechanicBrief_1.getMechanicBriefs)([
|
|
21
21
|
'architecture/ubiqlang.md',
|
|
@@ -27,7 +27,9 @@ const template = (0, rhachet_1.genTemplate)({
|
|
|
27
27
|
}),
|
|
28
28
|
brief: {
|
|
29
29
|
distilisys: await (0, rhachet_1.getTemplateValFromArtifacts)({
|
|
30
|
-
artifacts: [
|
|
30
|
+
artifacts: [
|
|
31
|
+
...(0, getEcologistBrief_1.getEcologistBriefs)(['distilisys/sys101.distilisys.grammar.md']),
|
|
32
|
+
],
|
|
31
33
|
}),
|
|
32
34
|
},
|
|
33
35
|
feedback: (await threads.caller.context.stash.art.feedback.get())?.content ?? '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepOutlineDistilisys.js","sourceRoot":"","sources":["../../../../../src/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.ts"],"names":[],"mappings":";;;AAAA,qCAUiB;AAIjB,8DAA0E;AAC1E,mEAAgE;AAChE,yEAAuE;AACvE,sEAAoE;AACpE,0DAAwD;AA2BxD,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAA6B;IACvD,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE;IACvD,YAAY,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,CAAC,MAAM,IAAA,wCAA8B,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;QACrC,MAAM,EAAE,MAAM,IAAA,qCAA2B,EAAC;YACxC,SAAS,EAAE;gBACT,4CAA4C;gBAC5C,GAAG,IAAA,sCAAkB,EAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"stepOutlineDistilisys.js","sourceRoot":"","sources":["../../../../../src/logic/roles/designer/outlineDistilisys/stepOutlineDistilisys.ts"],"names":[],"mappings":";;;AAAA,qCAUiB;AAIjB,8DAA0E;AAC1E,mEAAgE;AAChE,yEAAuE;AACvE,sEAAoE;AACpE,0DAAwD;AA2BxD,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAA6B;IACvD,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE;IACvD,YAAY,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,CAAC,MAAM,IAAA,wCAA8B,EAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;QACrC,MAAM,EAAE,MAAM,IAAA,qCAA2B,EAAC;YACxC,SAAS,EAAE;gBACT,4CAA4C;gBAC5C,GAAG,IAAA,sCAAkB,EAAC,CAAC,yCAAyC,CAAC,CAAC;gBAClE,GAAG,IAAA,oCAAiB,EAAC,CAAC,gCAAgC,CAAC,CAAC;gBACxD,GAAG,IAAA,oCAAiB,EAAC;oBACnB,0BAA0B;oBAC1B,2BAA2B;oBAC3B,0CAA0C;oBAC1C,kCAAkC;iBACnC,CAAC;aACH;SACF,CAAC;QACF,KAAK,EAAE;YACL,UAAU,EAAE,MAAM,IAAA,qCAA2B,EAAC;gBAC5C,SAAS,EAAE;oBACT,GAAG,IAAA,sCAAkB,EAAC,CAAC,yCAAyC,CAAC,CAAC;iBACnE;aACF,CAAC;SACH;QACD,QAAQ,EACN,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,IAAI,EAAE;QACxE,QAAQ,EACN,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO;YACpE,EAAE;QACJ,OAAO,EACL,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,IAAI,EAAE;KAC1E,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAA,mCAAyB,EAAkB;IAC7D,IAAI,EAAE,0CAA0C;IAChD,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,kDAAkD;IAC1D,QAAQ;IACR,OAAO,EAAE,qBAAS,CAAC,OAAO;CAC3B,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAC;IAC/B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,YAAY;CACpB,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,IAAA,wBAAc,EACjD,IAAA,wBAAc,EAAC;IACb,IAAI,EAAE,iCAAiC;IACvC,MAAM,EAAE,kDAAkD;IAC1D,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;CACpC,CAAC,CACH,CAAC"}
|