@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 +59 -0
- package/README.md +59 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/package.json +50 -0
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
|
package/dist/index.d.ts
ADDED
|
@@ -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
|
+
}
|