@medicine-wheel/community-review 0.2.2
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/README.md +117 -0
- package/dist/accountability.d.ts +52 -0
- package/dist/accountability.d.ts.map +1 -0
- package/dist/accountability.js +140 -0
- package/dist/accountability.js.map +1 -0
- package/dist/circle.d.ts +38 -0
- package/dist/circle.d.ts.map +1 -0
- package/dist/circle.js +86 -0
- package/dist/circle.js.map +1 -0
- package/dist/consensus.d.ts +43 -0
- package/dist/consensus.d.ts.map +1 -0
- package/dist/consensus.js +128 -0
- package/dist/consensus.js.map +1 -0
- package/dist/elder.d.ts +30 -0
- package/dist/elder.d.ts.map +1 -0
- package/dist/elder.js +77 -0
- package/dist/elder.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/dist/outcomes.d.ts +27 -0
- package/dist/outcomes.d.ts.map +1 -0
- package/dist/outcomes.js +76 -0
- package/dist/outcomes.js.map +1 -0
- package/dist/schemas.d.ts +371 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +69 -0
- package/dist/schemas.js.map +1 -0
- package/dist/types.d.ts +108 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/package.json +44 -0
package/dist/elder.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/community-review — Elder Validation
|
|
3
|
+
*
|
|
4
|
+
* Wilson describes research validation not through peer review
|
|
5
|
+
* but through community review — Elders validate whether research
|
|
6
|
+
* honors relational accountability.
|
|
7
|
+
*/
|
|
8
|
+
import type { ReviewCircle } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Request Elder validation for a review circle.
|
|
11
|
+
* Sets the elderValidator field and transitions to 'deliberating'.
|
|
12
|
+
*/
|
|
13
|
+
export declare function requestElderValidation(circle: ReviewCircle, elderId: string): ReviewCircle;
|
|
14
|
+
/**
|
|
15
|
+
* Get Elder's guidance for the circle based on voices heard so far.
|
|
16
|
+
* Returns a summary of what the Elder should consider.
|
|
17
|
+
*/
|
|
18
|
+
export declare function elderGuidance(circle: ReviewCircle): {
|
|
19
|
+
artifactType: string;
|
|
20
|
+
voicesHeard: number;
|
|
21
|
+
directionsRepresented: string[];
|
|
22
|
+
wilsonAlignment: number;
|
|
23
|
+
suggestions: string[];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Record an Elder's blessing on the review circle.
|
|
27
|
+
* The blessing is added to the talking circle log and stored as Elder validation.
|
|
28
|
+
*/
|
|
29
|
+
export declare function elderBlessing(circle: ReviewCircle, elderId: string, blessing: string): ReviewCircle;
|
|
30
|
+
//# sourceMappingURL=elder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elder.d.ts","sourceRoot":"","sources":["../src/elder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,GACd,YAAY,CAWd;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CA8BA;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,YAAY,CAkBd"}
|
package/dist/elder.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @medicine-wheel/community-review — Elder Validation
|
|
4
|
+
*
|
|
5
|
+
* Wilson describes research validation not through peer review
|
|
6
|
+
* but through community review — Elders validate whether research
|
|
7
|
+
* honors relational accountability.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.requestElderValidation = requestElderValidation;
|
|
11
|
+
exports.elderGuidance = elderGuidance;
|
|
12
|
+
exports.elderBlessing = elderBlessing;
|
|
13
|
+
/**
|
|
14
|
+
* Request Elder validation for a review circle.
|
|
15
|
+
* Sets the elderValidator field and transitions to 'deliberating'.
|
|
16
|
+
*/
|
|
17
|
+
function requestElderValidation(circle, elderId) {
|
|
18
|
+
if (circle.status !== 'reviewing') {
|
|
19
|
+
throw new Error(`Cannot request Elder validation — circle is '${circle.status}', must be 'reviewing'`);
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
...circle,
|
|
23
|
+
elderValidator: elderId,
|
|
24
|
+
status: 'deliberating',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get Elder's guidance for the circle based on voices heard so far.
|
|
29
|
+
* Returns a summary of what the Elder should consider.
|
|
30
|
+
*/
|
|
31
|
+
function elderGuidance(circle) {
|
|
32
|
+
const directions = new Set(circle.talkingCircleLog
|
|
33
|
+
.filter((e) => e.direction !== undefined)
|
|
34
|
+
.map((e) => e.direction));
|
|
35
|
+
const allDirections = ['east', 'south', 'west', 'north'];
|
|
36
|
+
const missing = allDirections.filter((d) => !directions.has(d));
|
|
37
|
+
const suggestions = [];
|
|
38
|
+
if (missing.length > 0) {
|
|
39
|
+
suggestions.push(`Voices from ${missing.join(', ')} have not yet been heard`);
|
|
40
|
+
}
|
|
41
|
+
if (circle.wilsonAlignment < 0.5) {
|
|
42
|
+
suggestions.push('Wilson alignment is below threshold — consider deeper reflection');
|
|
43
|
+
}
|
|
44
|
+
if (!circle.ocapCompliant) {
|
|
45
|
+
suggestions.push('OCAP® compliance has not been confirmed');
|
|
46
|
+
}
|
|
47
|
+
if (circle.reviewers.length < 3) {
|
|
48
|
+
suggestions.push('Small circle — consider whether all perspectives are represented');
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
artifactType: circle.artifactType,
|
|
52
|
+
voicesHeard: circle.talkingCircleLog.length,
|
|
53
|
+
directionsRepresented: [...directions],
|
|
54
|
+
wilsonAlignment: circle.wilsonAlignment,
|
|
55
|
+
suggestions,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Record an Elder's blessing on the review circle.
|
|
60
|
+
* The blessing is added to the talking circle log and stored as Elder validation.
|
|
61
|
+
*/
|
|
62
|
+
function elderBlessing(circle, elderId, blessing) {
|
|
63
|
+
if (circle.elderValidator !== elderId) {
|
|
64
|
+
throw new Error(`Elder '${elderId}' is not the assigned validator for this circle`);
|
|
65
|
+
}
|
|
66
|
+
const entry = {
|
|
67
|
+
speakerId: elderId,
|
|
68
|
+
role: 'elder',
|
|
69
|
+
voice: blessing,
|
|
70
|
+
timestamp: new Date().toISOString(),
|
|
71
|
+
};
|
|
72
|
+
return {
|
|
73
|
+
...circle,
|
|
74
|
+
talkingCircleLog: [...circle.talkingCircleLog, entry],
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=elder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elder.js","sourceRoot":"","sources":["../src/elder.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAQH,wDAcC;AAMD,sCAoCC;AAMD,sCAsBC;AAxFD;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,MAAoB,EACpB,OAAe;IAEf,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,gDAAgD,MAAM,CAAC,MAAM,wBAAwB,CACtF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,cAAc,EAAE,OAAO;QACvB,MAAM,EAAE,cAAc;KACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,MAAoB;IAOhD,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,MAAM,CAAC,gBAAgB;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAU,CAAC,CAC5B,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,WAAW,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,WAAW,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IACvF,CAAC;IAED,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,MAAM;QAC3C,qBAAqB,EAAE,CAAC,GAAG,UAAU,CAAC;QACtC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,MAAoB,EACpB,OAAe,EACf,QAAgB;IAEhB,IAAI,MAAM,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,UAAU,OAAO,iDAAiD,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAuB;QAChC,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,OAAO;QACL,GAAG,MAAM;QACT,gBAAgB,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC;KACtD,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/community-review
|
|
3
|
+
*
|
|
4
|
+
* Community-based ceremonial review protocol — implements Wilson's
|
|
5
|
+
* validation through Elder review circles, consensus-seeking,
|
|
6
|
+
* and relational accountability assessment.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
export type { PersonRole, ArtifactType, ReviewCircleStatus, ReviewOutcomeType, ReviewCircle, Reviewer, ReviewOutcome, WilsonCheck, TalkingCircleEntry, } from './types.js';
|
|
11
|
+
export { PersonRoleSchema, ArtifactTypeSchema, ReviewCircleStatusSchema, ReviewOutcomeTypeSchema, ReviewerSchema, TalkingCircleEntrySchema, WilsonCheckSchema, ReviewOutcomeSchema, ReviewCircleSchema, } from './schemas.js';
|
|
12
|
+
export type { ValidatedReviewer, ValidatedTalkingCircleEntry, ValidatedWilsonCheck, ValidatedReviewOutcome, ValidatedReviewCircle, } from './schemas.js';
|
|
13
|
+
export { createReviewCircle, addReviewer, submitForReview, closeCircle, circleStatus, } from './circle.js';
|
|
14
|
+
export { requestElderValidation, elderGuidance, elderBlessing, } from './elder.js';
|
|
15
|
+
export { seekConsensus, talkingCircle, recordVoices, resolveDisagreement, } from './consensus.js';
|
|
16
|
+
export { reviewerAccountability, reviewAgainstWilson, reviewAgainstOcap, relationalHealthReview, } from './accountability.js';
|
|
17
|
+
export { approveWithBlessings, requestDeepening, returnToCircle, ceremonialHold, } from './outcomes.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,WAAW,EACX,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @medicine-wheel/community-review
|
|
4
|
+
*
|
|
5
|
+
* Community-based ceremonial review protocol — implements Wilson's
|
|
6
|
+
* validation through Elder review circles, consensus-seeking,
|
|
7
|
+
* and relational accountability assessment.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ceremonialHold = exports.returnToCircle = exports.requestDeepening = exports.approveWithBlessings = exports.relationalHealthReview = exports.reviewAgainstOcap = exports.reviewAgainstWilson = exports.reviewerAccountability = exports.resolveDisagreement = exports.recordVoices = exports.talkingCircle = exports.seekConsensus = exports.elderBlessing = exports.elderGuidance = exports.requestElderValidation = exports.circleStatus = exports.closeCircle = exports.submitForReview = exports.addReviewer = exports.createReviewCircle = exports.ReviewCircleSchema = exports.ReviewOutcomeSchema = exports.WilsonCheckSchema = exports.TalkingCircleEntrySchema = exports.ReviewerSchema = exports.ReviewOutcomeTypeSchema = exports.ReviewCircleStatusSchema = exports.ArtifactTypeSchema = exports.PersonRoleSchema = void 0;
|
|
13
|
+
// ── Zod Schemas ─────────────────────────────────────────────────────────────
|
|
14
|
+
var schemas_js_1 = require("./schemas.js");
|
|
15
|
+
Object.defineProperty(exports, "PersonRoleSchema", { enumerable: true, get: function () { return schemas_js_1.PersonRoleSchema; } });
|
|
16
|
+
Object.defineProperty(exports, "ArtifactTypeSchema", { enumerable: true, get: function () { return schemas_js_1.ArtifactTypeSchema; } });
|
|
17
|
+
Object.defineProperty(exports, "ReviewCircleStatusSchema", { enumerable: true, get: function () { return schemas_js_1.ReviewCircleStatusSchema; } });
|
|
18
|
+
Object.defineProperty(exports, "ReviewOutcomeTypeSchema", { enumerable: true, get: function () { return schemas_js_1.ReviewOutcomeTypeSchema; } });
|
|
19
|
+
Object.defineProperty(exports, "ReviewerSchema", { enumerable: true, get: function () { return schemas_js_1.ReviewerSchema; } });
|
|
20
|
+
Object.defineProperty(exports, "TalkingCircleEntrySchema", { enumerable: true, get: function () { return schemas_js_1.TalkingCircleEntrySchema; } });
|
|
21
|
+
Object.defineProperty(exports, "WilsonCheckSchema", { enumerable: true, get: function () { return schemas_js_1.WilsonCheckSchema; } });
|
|
22
|
+
Object.defineProperty(exports, "ReviewOutcomeSchema", { enumerable: true, get: function () { return schemas_js_1.ReviewOutcomeSchema; } });
|
|
23
|
+
Object.defineProperty(exports, "ReviewCircleSchema", { enumerable: true, get: function () { return schemas_js_1.ReviewCircleSchema; } });
|
|
24
|
+
// ── Circle Management ───────────────────────────────────────────────────────
|
|
25
|
+
var circle_js_1 = require("./circle.js");
|
|
26
|
+
Object.defineProperty(exports, "createReviewCircle", { enumerable: true, get: function () { return circle_js_1.createReviewCircle; } });
|
|
27
|
+
Object.defineProperty(exports, "addReviewer", { enumerable: true, get: function () { return circle_js_1.addReviewer; } });
|
|
28
|
+
Object.defineProperty(exports, "submitForReview", { enumerable: true, get: function () { return circle_js_1.submitForReview; } });
|
|
29
|
+
Object.defineProperty(exports, "closeCircle", { enumerable: true, get: function () { return circle_js_1.closeCircle; } });
|
|
30
|
+
Object.defineProperty(exports, "circleStatus", { enumerable: true, get: function () { return circle_js_1.circleStatus; } });
|
|
31
|
+
// ── Elder Validation ────────────────────────────────────────────────────────
|
|
32
|
+
var elder_js_1 = require("./elder.js");
|
|
33
|
+
Object.defineProperty(exports, "requestElderValidation", { enumerable: true, get: function () { return elder_js_1.requestElderValidation; } });
|
|
34
|
+
Object.defineProperty(exports, "elderGuidance", { enumerable: true, get: function () { return elder_js_1.elderGuidance; } });
|
|
35
|
+
Object.defineProperty(exports, "elderBlessing", { enumerable: true, get: function () { return elder_js_1.elderBlessing; } });
|
|
36
|
+
// ── Consensus & Talking Circle ──────────────────────────────────────────────
|
|
37
|
+
var consensus_js_1 = require("./consensus.js");
|
|
38
|
+
Object.defineProperty(exports, "seekConsensus", { enumerable: true, get: function () { return consensus_js_1.seekConsensus; } });
|
|
39
|
+
Object.defineProperty(exports, "talkingCircle", { enumerable: true, get: function () { return consensus_js_1.talkingCircle; } });
|
|
40
|
+
Object.defineProperty(exports, "recordVoices", { enumerable: true, get: function () { return consensus_js_1.recordVoices; } });
|
|
41
|
+
Object.defineProperty(exports, "resolveDisagreement", { enumerable: true, get: function () { return consensus_js_1.resolveDisagreement; } });
|
|
42
|
+
// ── Accountability ──────────────────────────────────────────────────────────
|
|
43
|
+
var accountability_js_1 = require("./accountability.js");
|
|
44
|
+
Object.defineProperty(exports, "reviewerAccountability", { enumerable: true, get: function () { return accountability_js_1.reviewerAccountability; } });
|
|
45
|
+
Object.defineProperty(exports, "reviewAgainstWilson", { enumerable: true, get: function () { return accountability_js_1.reviewAgainstWilson; } });
|
|
46
|
+
Object.defineProperty(exports, "reviewAgainstOcap", { enumerable: true, get: function () { return accountability_js_1.reviewAgainstOcap; } });
|
|
47
|
+
Object.defineProperty(exports, "relationalHealthReview", { enumerable: true, get: function () { return accountability_js_1.relationalHealthReview; } });
|
|
48
|
+
// ── Outcomes ────────────────────────────────────────────────────────────────
|
|
49
|
+
var outcomes_js_1 = require("./outcomes.js");
|
|
50
|
+
Object.defineProperty(exports, "approveWithBlessings", { enumerable: true, get: function () { return outcomes_js_1.approveWithBlessings; } });
|
|
51
|
+
Object.defineProperty(exports, "requestDeepening", { enumerable: true, get: function () { return outcomes_js_1.requestDeepening; } });
|
|
52
|
+
Object.defineProperty(exports, "returnToCircle", { enumerable: true, get: function () { return outcomes_js_1.returnToCircle; } });
|
|
53
|
+
Object.defineProperty(exports, "ceremonialHold", { enumerable: true, get: function () { return outcomes_js_1.ceremonialHold; } });
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAeH,+EAA+E;AAC/E,2CAUsB;AATpB,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,sHAAA,wBAAwB,OAAA;AACxB,qHAAA,uBAAuB,OAAA;AACvB,4GAAA,cAAc,OAAA;AACd,sHAAA,wBAAwB,OAAA;AACxB,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAWpB,+EAA+E;AAC/E,yCAMqB;AALnB,+GAAA,kBAAkB,OAAA;AAClB,wGAAA,WAAW,OAAA;AACX,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AACX,yGAAA,YAAY,OAAA;AAGd,+EAA+E;AAC/E,uCAIoB;AAHlB,kHAAA,sBAAsB,OAAA;AACtB,yGAAA,aAAa,OAAA;AACb,yGAAA,aAAa,OAAA;AAGf,+EAA+E;AAC/E,+CAKwB;AAJtB,6GAAA,aAAa,OAAA;AACb,6GAAA,aAAa,OAAA;AACb,4GAAA,YAAY,OAAA;AACZ,mHAAA,mBAAmB,OAAA;AAGrB,+EAA+E;AAC/E,yDAK6B;AAJ3B,2HAAA,sBAAsB,OAAA;AACtB,wHAAA,mBAAmB,OAAA;AACnB,sHAAA,iBAAiB,OAAA;AACjB,2HAAA,sBAAsB,OAAA;AAGxB,+EAA+E;AAC/E,6CAKuB;AAJrB,mHAAA,oBAAoB,OAAA;AACpB,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @medicine-wheel/community-review — Outcomes
|
|
3
|
+
*
|
|
4
|
+
* Functions for producing review outcomes — the final decisions
|
|
5
|
+
* of the community review circle.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReviewCircle, ReviewOutcome } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Approve the artifact with blessings.
|
|
10
|
+
* Requires Elder blessing and Wilson alignment.
|
|
11
|
+
*/
|
|
12
|
+
export declare function approveWithBlessings(circle: ReviewCircle, blessing: string): ReviewOutcome;
|
|
13
|
+
/**
|
|
14
|
+
* Request deepening — the artifact needs more work in specific areas.
|
|
15
|
+
*/
|
|
16
|
+
export declare function requestDeepening(circle: ReviewCircle, areas: string[]): ReviewOutcome;
|
|
17
|
+
/**
|
|
18
|
+
* Return the artifact to the circle for revision.
|
|
19
|
+
* The artifact needs significant rework.
|
|
20
|
+
*/
|
|
21
|
+
export declare function returnToCircle(circle: ReviewCircle, reason: string): ReviewOutcome;
|
|
22
|
+
/**
|
|
23
|
+
* Place the artifact on ceremonial hold.
|
|
24
|
+
* Further ceremonial attention is needed before the review can proceed.
|
|
25
|
+
*/
|
|
26
|
+
export declare function ceremonialHold(circle: ReviewCircle, reason: string): ReviewOutcome;
|
|
27
|
+
//# sourceMappingURL=outcomes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcomes.d.ts","sourceRoot":"","sources":["../src/outcomes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAC;AAGjF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,GACf,aAAa,CAcf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,MAAM,EAAE,GACd,aAAa,CAWf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACb,aAAa,CAWf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACb,aAAa,CAWf"}
|
package/dist/outcomes.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @medicine-wheel/community-review — Outcomes
|
|
4
|
+
*
|
|
5
|
+
* Functions for producing review outcomes — the final decisions
|
|
6
|
+
* of the community review circle.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.approveWithBlessings = approveWithBlessings;
|
|
10
|
+
exports.requestDeepening = requestDeepening;
|
|
11
|
+
exports.returnToCircle = returnToCircle;
|
|
12
|
+
exports.ceremonialHold = ceremonialHold;
|
|
13
|
+
const accountability_js_1 = require("./accountability.js");
|
|
14
|
+
/**
|
|
15
|
+
* Approve the artifact with blessings.
|
|
16
|
+
* Requires Elder blessing and Wilson alignment.
|
|
17
|
+
*/
|
|
18
|
+
function approveWithBlessings(circle, blessing) {
|
|
19
|
+
const { wilsonCheck, score } = (0, accountability_js_1.reviewAgainstWilson)(circle);
|
|
20
|
+
return {
|
|
21
|
+
type: 'approved-with-blessings',
|
|
22
|
+
consensus: true,
|
|
23
|
+
voices: [...circle.talkingCircleLog],
|
|
24
|
+
wilsonCheck,
|
|
25
|
+
elderBlessing: blessing,
|
|
26
|
+
conditions: [],
|
|
27
|
+
nextAction: score >= 0.67
|
|
28
|
+
? 'Artifact is approved and may proceed with community blessing.'
|
|
29
|
+
: 'Artifact is approved but Wilson alignment should be strengthened in future work.',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Request deepening — the artifact needs more work in specific areas.
|
|
34
|
+
*/
|
|
35
|
+
function requestDeepening(circle, areas) {
|
|
36
|
+
const { wilsonCheck } = (0, accountability_js_1.reviewAgainstWilson)(circle);
|
|
37
|
+
return {
|
|
38
|
+
type: 'deepen-required',
|
|
39
|
+
consensus: true,
|
|
40
|
+
voices: [...circle.talkingCircleLog],
|
|
41
|
+
wilsonCheck,
|
|
42
|
+
conditions: areas,
|
|
43
|
+
nextAction: `Deepen the artifact in these areas: ${areas.join('; ')}. Return to the circle when ready.`,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Return the artifact to the circle for revision.
|
|
48
|
+
* The artifact needs significant rework.
|
|
49
|
+
*/
|
|
50
|
+
function returnToCircle(circle, reason) {
|
|
51
|
+
const { wilsonCheck } = (0, accountability_js_1.reviewAgainstWilson)(circle);
|
|
52
|
+
return {
|
|
53
|
+
type: 'return-to-circle',
|
|
54
|
+
consensus: false,
|
|
55
|
+
voices: [...circle.talkingCircleLog],
|
|
56
|
+
wilsonCheck,
|
|
57
|
+
conditions: [reason],
|
|
58
|
+
nextAction: `Artifact returned to circle: ${reason}. Please revise and resubmit.`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Place the artifact on ceremonial hold.
|
|
63
|
+
* Further ceremonial attention is needed before the review can proceed.
|
|
64
|
+
*/
|
|
65
|
+
function ceremonialHold(circle, reason) {
|
|
66
|
+
const { wilsonCheck } = (0, accountability_js_1.reviewAgainstWilson)(circle);
|
|
67
|
+
return {
|
|
68
|
+
type: 'ceremonial-hold',
|
|
69
|
+
consensus: false,
|
|
70
|
+
voices: [...circle.talkingCircleLog],
|
|
71
|
+
wilsonCheck,
|
|
72
|
+
conditions: [reason],
|
|
73
|
+
nextAction: `Ceremonial hold: ${reason}. The artifact requires ceremonial attention before review can continue.`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=outcomes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcomes.js","sourceRoot":"","sources":["../src/outcomes.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AASH,oDAiBC;AAKD,4CAcC;AAMD,wCAcC;AAMD,wCAcC;AAlFD,2DAA0D;AAE1D;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,MAAoB,EACpB,QAAgB;IAEhB,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAA,uCAAmB,EAAC,MAAM,CAAC,CAAC;IAE3D,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,WAAW;QACX,aAAa,EAAE,QAAQ;QACvB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,KAAK,IAAI,IAAI;YACvB,CAAC,CAAC,+DAA+D;YACjE,CAAC,CAAC,kFAAkF;KACvF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,MAAoB,EACpB,KAAe;IAEf,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,uCAAmB,EAAC,MAAM,CAAC,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,WAAW;QACX,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,uCAAuC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC;KACxG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,MAAoB,EACpB,MAAc;IAEd,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,uCAAmB,EAAC,MAAM,CAAC,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,WAAW;QACX,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,UAAU,EAAE,gCAAgC,MAAM,+BAA+B;KAClF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,MAAoB,EACpB,MAAc;IAEd,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,uCAAmB,EAAC,MAAM,CAAC,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,WAAW;QACX,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,UAAU,EAAE,oBAAoB,MAAM,0EAA0E;KACjH,CAAC;AACJ,CAAC"}
|