@medicine-wheel/creative-problem-solving 0.5.4

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/ALPHA.md ADDED
@@ -0,0 +1,59 @@
1
+ # This suite is experimental alpha
2
+
3
+ **Read this before depending on anything here.**
4
+
5
+ The Medicine Wheel Developer Suite is under active development and is published
6
+ in the open so the work can be examined, discussed, and improved. It is not
7
+ finished software. Publishing early is deliberate — but so is telling you what
8
+ you are installing.
9
+
10
+ ## What that means concretely
11
+
12
+ - **APIs change between patch versions.** All packages move in lockstep, so a
13
+ bump you would normally read as "nothing changed for me" may still change
14
+ what you depend on. Pin exact versions.
15
+ - **Packages appear, and their boundaries move.** Three packages were added in
16
+ `0.5.3`. Where a responsibility lives is still being decided.
17
+ - **Some packages are intentionally small first cuts.** They express an
18
+ intention with a working minimum rather than a finished surface. Their
19
+ READMEs say so where it applies.
20
+ - **Storage shapes are still settling.** Records written by one version may
21
+ need repair by a later one. Do not treat any store here as an archive of
22
+ record yet.
23
+ - **Test coverage is real but uneven.** 210 tests pass at `0.5.3`; that is a
24
+ floor, not a claim of completeness.
25
+
26
+ ## What it does *not* mean
27
+
28
+ It does not mean the work is careless. Defects found are fixed and written
29
+ down, specifications are versioned alongside the code in `rispecs/`, and
30
+ sessions are chronicled. The alpha label is about **stability of contract**,
31
+ not about standard of care.
32
+
33
+ ## Cultural material
34
+
35
+ Parts of this suite encode Indigenous relational research methodology —
36
+ Four Directions structure, ceremony protocol, OCAP® compliance surfaces,
37
+ relational accountability. That material is included because the software is
38
+ *for* that way of working, not as decoration.
39
+
40
+ If you are building on those parts, please read them as an invitation to work
41
+ relationally rather than as a finished implementation of anyone's protocol.
42
+ Where a design question is properly a knowledge holder's decision rather than
43
+ an engineer's, the specs try to say so. Where we have got that wrong, telling
44
+ us is a contribution.
45
+
46
+ ## If you are evaluating this
47
+
48
+ The most useful things to read first:
49
+
50
+ - `rispecs/` — the specifications, versioned with the code
51
+ - `README.md` — what the suite is
52
+ - Open issues — where the known edges are, stated plainly
53
+
54
+ Feedback is genuinely wanted at this stage, including "this boundary is wrong"
55
+ and "this should not be software".
56
+
57
+ ## License
58
+
59
+ MIT — see `LICENSE`.
package/README.md ADDED
@@ -0,0 +1,59 @@
1
+ # @medicine-wheel/creative-problem-solving
2
+
3
+ You arrived here looking for creative problem solving. One question first:
4
+
5
+ > **Is there a prior state you are restoring?**
6
+
7
+ **Yes — you can name it and it genuinely existed.** This is a fire, and
8
+ [`@medicine-wheel/gap-analysis`](https://www.npmjs.com/package/@medicine-wheel/gap-analysis)
9
+ is the right instrument: baseline with evidence, observation, the difference
10
+ between them, and elimination steps you can verify. That is correct work for
11
+ this situation. It carries no apology and needs no other name.
12
+
13
+ **No — nothing existed that you are returning to.** You are creating, and
14
+ structural tension is the instrument. Difference-closing language will mislead
15
+ you here, because there is no baseline to return toward: an outcome phrased as
16
+ removal optimises against a list of known failures rather than toward the state
17
+ you actually want.
18
+
19
+ A feeling of urgency is not evidence. Under pressure every situation feels like
20
+ a fire — which is why the question is asked at the door rather than afterward.
21
+
22
+ ## This package is a signpost
23
+
24
+ It holds no logic and never will. Every export here comes from
25
+ [`@medicine-wheel/creative-orientation`](https://www.npmjs.com/package/@medicine-wheel/creative-orientation),
26
+ which is where the question is actually answered. Import either name — the
27
+ surface is identical. This one exists because it is the name you were looking
28
+ for.
29
+
30
+ ```ts
31
+ import { readOrientation, THE_QUESTION } from '@medicine-wheel/creative-problem-solving';
32
+
33
+ THE_QUESTION; // 'Is there a prior state you are restoring?'
34
+
35
+ readOrientation({
36
+ outcome: 'catch cross-service contract breaks',
37
+ restores: null,
38
+ }).route; // 'structural-tension' — nothing is being restored
39
+
40
+ readOrientation({
41
+ outcome: 'the published image matches the published packages',
42
+ restores: 'true through 0.5.0',
43
+ evidence: 'tagged 2026-07-17',
44
+ }).route; // 'gap-analysis' — a named, evidenced baseline
45
+ ```
46
+
47
+ The baseline claim decides the route. Vocabulary only ever contributes signals,
48
+ because `reduce latency` is a correct outcome during an incident and a symptom
49
+ worth surfacing as a product vision.
50
+
51
+ > [!WARNING]
52
+ > **Experimental alpha.** Part of the Medicine Wheel Developer Suite, which is
53
+ > under active development. APIs change between patch versions and all packages
54
+ > move in lockstep — pin exact versions. See
55
+ > [ALPHA.md](https://github.com/jgwill/medicine-wheel/blob/main/ALPHA.md).
56
+
57
+ ## License
58
+
59
+ MIT
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @medicine-wheel/creative-problem-solving
3
+ *
4
+ * You arrived here looking for creative problem solving. This package is a
5
+ * signpost, not a door — it holds no logic of its own and never will. It
6
+ * carries one question and then sends you one of two ways.
7
+ *
8
+ * **Is there a prior state you are restoring?**
9
+ *
10
+ * Name it and it genuinely existed — this is a fire, and `gap-analysis` is the
11
+ * right instrument. Baseline, observation, difference, elimination steps you
12
+ * can verify. That work is correct work; there is nothing to apologise for and
13
+ * nothing to rename.
14
+ *
15
+ * Name none — you are creating, and structural tension is the instrument.
16
+ * Difference-closing language will mislead you here, because there is no
17
+ * baseline to return toward: an outcome phrased as removal optimises against a
18
+ * list of known failures rather than toward the state you actually want.
19
+ *
20
+ * A feeling of urgency is not evidence. Under pressure every situation feels
21
+ * like a fire, which is why the question is asked before the work rather than
22
+ * after it.
23
+ *
24
+ * Everything exported here comes from `@medicine-wheel/creative-orientation` —
25
+ * the package that answers the question. Import either name; they are the same
26
+ * surface. This one exists because it is the name you were looking for.
27
+ *
28
+ * @packageDocumentation
29
+ */
30
+ export * from '@medicine-wheel/creative-orientation';
31
+ /** The question this package exists to ask, before any of the work begins. */
32
+ export declare const THE_QUESTION: "Is there a prior state you are restoring?";
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,cAAc,sCAAsC,CAAC;AAErD,8EAA8E;AAC9E,eAAO,MAAM,YAAY,EAAG,2CAAoD,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * @medicine-wheel/creative-problem-solving
4
+ *
5
+ * You arrived here looking for creative problem solving. This package is a
6
+ * signpost, not a door — it holds no logic of its own and never will. It
7
+ * carries one question and then sends you one of two ways.
8
+ *
9
+ * **Is there a prior state you are restoring?**
10
+ *
11
+ * Name it and it genuinely existed — this is a fire, and `gap-analysis` is the
12
+ * right instrument. Baseline, observation, difference, elimination steps you
13
+ * can verify. That work is correct work; there is nothing to apologise for and
14
+ * nothing to rename.
15
+ *
16
+ * Name none — you are creating, and structural tension is the instrument.
17
+ * Difference-closing language will mislead you here, because there is no
18
+ * baseline to return toward: an outcome phrased as removal optimises against a
19
+ * list of known failures rather than toward the state you actually want.
20
+ *
21
+ * A feeling of urgency is not evidence. Under pressure every situation feels
22
+ * like a fire, which is why the question is asked before the work rather than
23
+ * after it.
24
+ *
25
+ * Everything exported here comes from `@medicine-wheel/creative-orientation` —
26
+ * the package that answers the question. Import either name; they are the same
27
+ * surface. This one exists because it is the name you were looking for.
28
+ *
29
+ * @packageDocumentation
30
+ */
31
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
32
+ if (k2 === undefined) k2 = k;
33
+ var desc = Object.getOwnPropertyDescriptor(m, k);
34
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
35
+ desc = { enumerable: true, get: function() { return m[k]; } };
36
+ }
37
+ Object.defineProperty(o, k2, desc);
38
+ }) : (function(o, m, k, k2) {
39
+ if (k2 === undefined) k2 = k;
40
+ o[k2] = m[k];
41
+ }));
42
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
43
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.THE_QUESTION = void 0;
47
+ __exportStar(require("@medicine-wheel/creative-orientation"), exports);
48
+ /** The question this package exists to ask, before any of the work begins. */
49
+ exports.THE_QUESTION = 'Is there a prior state you are restoring?';
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;;;;;;;;;;;;;;;;AAEH,uEAAqD;AAErD,8EAA8E;AACjE,QAAA,YAAY,GAAG,2CAAoD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@medicine-wheel/creative-problem-solving",
3
+ "version": "0.5.4",
4
+ "description": "Creative problem solving, routed at the door: name the prior state you are restoring. Named one — this is a fire, and gap analysis is the right instrument. Named none — you are creating, and structural tension is. Re-exports @medicine-wheel/creative-orientation.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "sideEffects": false,
16
+ "files": [
17
+ "dist",
18
+ "README.md",
19
+ "ALPHA.md"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc",
23
+ "clean": "rm -rf dist",
24
+ "prepublishOnly": "npm run clean && npm run build"
25
+ },
26
+ "keywords": [
27
+ "creative-problem-solving",
28
+ "problem-solving",
29
+ "creative-thinking",
30
+ "ideation",
31
+ "orientation",
32
+ "structural-tension",
33
+ "gap-analysis",
34
+ "robert-fritz",
35
+ "medicine-wheel"
36
+ ],
37
+ "author": "jgwill",
38
+ "license": "MIT",
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/jgwill/medicine-wheel.git",
42
+ "directory": "src/creative-problem-solving"
43
+ },
44
+ "dependencies": {
45
+ "@medicine-wheel/creative-orientation": "^0.5.4"
46
+ },
47
+ "devDependencies": {
48
+ "typescript": "^5.7.0"
49
+ }
50
+ }