briefops 2.0.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +40 -1
  3. package/dist/cli.js +4 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/doctor.js +27 -0
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/harness.d.ts +2 -0
  8. package/dist/commands/harness.js +56 -0
  9. package/dist/commands/harness.js.map +1 -0
  10. package/dist/commands/memory.js +20 -3
  11. package/dist/commands/memory.js.map +1 -1
  12. package/dist/commands/obs.d.ts +2 -0
  13. package/dist/commands/obs.js +51 -0
  14. package/dist/commands/obs.js.map +1 -0
  15. package/dist/core/codexPlugin.js +40 -0
  16. package/dist/core/codexPlugin.js.map +1 -1
  17. package/dist/core/harness.d.ts +27 -0
  18. package/dist/core/harness.js +342 -0
  19. package/dist/core/harness.js.map +1 -0
  20. package/dist/core/lock.d.ts +1 -0
  21. package/dist/core/lock.js +18 -4
  22. package/dist/core/lock.js.map +1 -1
  23. package/dist/core/memory.d.ts +4 -1
  24. package/dist/core/memory.js +54 -2
  25. package/dist/core/memory.js.map +1 -1
  26. package/dist/core/memoryHygiene.d.ts +11 -0
  27. package/dist/core/memoryHygiene.js +93 -0
  28. package/dist/core/memoryHygiene.js.map +1 -1
  29. package/dist/core/memoryProposal.js +21 -8
  30. package/dist/core/memoryProposal.js.map +1 -1
  31. package/dist/core/observability.d.ts +36 -0
  32. package/dist/core/observability.js +70 -0
  33. package/dist/core/observability.js.map +1 -0
  34. package/dist/core/securityDoctor.js +3 -5
  35. package/dist/core/securityDoctor.js.map +1 -1
  36. package/dist/core/strictDoctor.d.ts +22 -0
  37. package/dist/core/strictDoctor.js +95 -0
  38. package/dist/core/strictDoctor.js.map +1 -0
  39. package/dist/schemas/memory.d.ts +100 -0
  40. package/dist/schemas/memory.js +9 -1
  41. package/dist/schemas/memory.js.map +1 -1
  42. package/dist/schemas/memoryProposal.d.ts +115 -0
  43. package/dist/schemas/memoryProposal.js +2 -1
  44. package/dist/schemas/memoryProposal.js.map +1 -1
  45. package/dist/version.d.ts +1 -1
  46. package/dist/version.js +1 -1
  47. package/docs/compatibility.md +7 -3
  48. package/docs/file-format.md +3 -1
  49. package/docs/impact-report.md +140 -0
  50. package/docs/integrations/harnesses.md +9 -0
  51. package/docs/master-harness.md +610 -0
  52. package/docs/privacy-model.md +2 -0
  53. package/docs/quickstart.md +17 -0
  54. package/docs/release-checklist.md +16 -2
  55. package/docs/roadmap.md +12 -5
  56. package/docs/token-budget.md +8 -0
  57. package/package.json +2 -2
  58. package/plugins/briefops-codex/.codex-plugin/plugin.json +2 -1
  59. package/plugins/briefops-codex/README.md +2 -0
  60. package/plugins/briefops-codex/skills/briefops-route-task/SKILL.md +33 -0
@@ -37,6 +37,86 @@ function findDuplicateLike(items) {
37
37
  content: group[0].content
38
38
  }));
39
39
  }
40
+ const conflictPositivePattern = /\b(always|must|required|require|requires|allow|allowed|approve|enable|use|prefer)\b/i;
41
+ const conflictNegativePattern = /\b(never|avoid|block|blocked|reject|disable|forbid|forbidden|disallow|do not|don't|must not)\b/i;
42
+ function conflictTerms(value) {
43
+ return new Set(normalizeContent(value)
44
+ .split(" ")
45
+ .filter((word) => word.length >= 4)
46
+ .filter((word) => ![
47
+ "always",
48
+ "must",
49
+ "required",
50
+ "require",
51
+ "requires",
52
+ "allow",
53
+ "allowed",
54
+ "approve",
55
+ "enable",
56
+ "never",
57
+ "avoid",
58
+ "block",
59
+ "blocked",
60
+ "reject",
61
+ "disable",
62
+ "forbid",
63
+ "forbidden",
64
+ "disallow"
65
+ ].includes(word)));
66
+ }
67
+ function polarity(value) {
68
+ const positive = conflictPositivePattern.test(value);
69
+ const negative = conflictNegativePattern.test(value);
70
+ if (negative) {
71
+ return "negative";
72
+ }
73
+ if (positive) {
74
+ return "positive";
75
+ }
76
+ return "neutral";
77
+ }
78
+ function findPotentialConflicts(items) {
79
+ const decisions = items.filter((item) => item.type === "decision" && item.status === "active");
80
+ const conflicts = [];
81
+ for (let leftIndex = 0; leftIndex < decisions.length; leftIndex += 1) {
82
+ for (let rightIndex = leftIndex + 1; rightIndex < decisions.length; rightIndex += 1) {
83
+ const left = decisions[leftIndex];
84
+ const right = decisions[rightIndex];
85
+ if (left.project !== right.project || left.skill !== right.skill) {
86
+ continue;
87
+ }
88
+ const leftPolarity = polarity(left.content);
89
+ const rightPolarity = polarity(right.content);
90
+ const opposite = (leftPolarity === "positive" && rightPolarity === "negative") ||
91
+ (leftPolarity === "negative" && rightPolarity === "positive");
92
+ if (!opposite) {
93
+ continue;
94
+ }
95
+ const leftTerms = conflictTerms(left.content);
96
+ const sharedTerms = [...conflictTerms(right.content)].filter((term) => leftTerms.has(term));
97
+ if (sharedTerms.length < 2) {
98
+ continue;
99
+ }
100
+ conflicts.push({
101
+ ids: [left.id, right.id],
102
+ sharedTerms: sharedTerms.slice(0, 5),
103
+ first: left.content,
104
+ second: right.content
105
+ });
106
+ }
107
+ }
108
+ return conflicts;
109
+ }
110
+ function activeAgeDays(item, now = Date.now()) {
111
+ if (item.status !== "active") {
112
+ return undefined;
113
+ }
114
+ const created = Date.parse(item.created_at);
115
+ if (Number.isNaN(created)) {
116
+ return undefined;
117
+ }
118
+ return Math.floor((now - created) / 86_400_000);
119
+ }
40
120
  export async function inspectMemoryHygiene(options = {}) {
41
121
  const cwd = options.cwd ?? process.cwd();
42
122
  const active = await listMemory({ cwd, status: "active" });
@@ -46,6 +126,11 @@ export async function inspectMemoryHygiene(options = {}) {
46
126
  active.filter((item) => item.type === categoryTypes[category]).length
47
127
  ]));
48
128
  const duplicateLike = findDuplicateLike(active);
129
+ const potentialConflicts = findPotentialConflicts(active);
130
+ const oldActiveThreshold = options.oldActiveDays ?? 180;
131
+ const oldActive = active
132
+ .map((item) => ({ item, ageDays: activeAgeDays(item) }))
133
+ .filter((entry) => entry.ageDays !== undefined && entry.ageDays >= oldActiveThreshold);
49
134
  const stale = all.filter((item) => item.status === "stale");
50
135
  const deprecated = all.filter((item) => item.status === "deprecated" || item.type === "deprecated");
51
136
  const warnings = [];
@@ -57,6 +142,12 @@ export async function inspectMemoryHygiene(options = {}) {
57
142
  if (duplicateLike.length > 0) {
58
143
  warnings.push("duplicate-like memories detected.");
59
144
  }
145
+ if (potentialConflicts.length > 0) {
146
+ warnings.push("potentially conflicting decisions detected.");
147
+ }
148
+ if (oldActive.length > 0) {
149
+ warnings.push("old active memory should be reviewed.");
150
+ }
60
151
  if (stale.length > 0) {
61
152
  warnings.push("stale memory exists.");
62
153
  }
@@ -67,6 +158,8 @@ export async function inspectMemoryHygiene(options = {}) {
67
158
  counts,
68
159
  warnings,
69
160
  duplicateLike,
161
+ potentialConflicts,
162
+ oldActive,
70
163
  stale,
71
164
  deprecated
72
165
  };
@@ -1 +1 @@
1
- {"version":3,"file":"memoryHygiene.js","sourceRoot":"","sources":["../../src/core/memoryHygiene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryHygiene.js","sourceRoot":"","sources":["../../src/core/memoryHygiene.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import path from "node:path";
3
3
  import { BriefOpsError } from "./errors.js";
4
4
  import { readWorkLog } from "./log.js";
5
5
  import { withWorkspaceLock } from "./lock.js";
6
- import { addMemoryIfMissingUnlocked } from "./memory.js";
6
+ import { addMemoryIfMissingUnlocked, parseMemoryEvidenceRefs } from "./memory.js";
7
7
  import { formatDateStamp, normalizeName, slugForFilename, workspacePaths } from "./paths.js";
8
8
  import { listFilesBySuffix, readTextFile, writeYamlFile } from "./storage.js";
9
9
  import { requireWorkspace } from "./workspace.js";
@@ -51,6 +51,7 @@ function extractPrefixedNotes(notes, prefix) {
51
51
  tags: tagsFromText(content),
52
52
  visibility: "private",
53
53
  exportable: false,
54
+ evidence: [],
54
55
  rationale: `Extracted from work log note prefix: ${prefix}.`
55
56
  }));
56
57
  }
@@ -77,9 +78,13 @@ function entry(options) {
77
78
  tags: tagsFromText(options.content),
78
79
  visibility: "private",
79
80
  exportable: false,
81
+ evidence: options.evidence ?? [],
80
82
  rationale: options.rationale
81
83
  };
82
84
  }
85
+ function evidenceFromLogFiles(files) {
86
+ return parseMemoryEvidenceRefs(files.slice(0, 6));
87
+ }
83
88
  async function writeProposal(cwd, proposal) {
84
89
  const filePath = path.join(workspacePaths(cwd).memoryProposals, `${proposal.id}-${slugForFilename(proposal.project ?? "global")}-${slugForFilename(proposal.worker ?? proposal.skill ?? "memory")}.memory-proposal.yaml`);
85
90
  await writeYamlFile(filePath, proposal);
@@ -97,30 +102,35 @@ async function proposeMemoryFromLogUnlocked(options) {
97
102
  await requireWorkspace(cwd);
98
103
  const log = await readWorkLog(cwd, options.fromLog);
99
104
  const createdAt = new Date().toISOString();
105
+ const evidence = evidenceFromLogFiles(log.files_changed);
100
106
  const proposals = [
101
107
  ...log.lessons.map((lesson) => entry({
102
108
  type: "lesson",
103
109
  content: lesson,
104
110
  source: log.id,
105
- rationale: "Extracted from work log lesson."
111
+ rationale: "Extracted from work log lesson.",
112
+ evidence
106
113
  })),
107
114
  ...log.open_risks.map((risk) => entry({
108
115
  type: "incident",
109
116
  content: risk,
110
117
  source: log.id,
111
- rationale: "Extracted from work log open risk."
118
+ rationale: "Extracted from work log open risk.",
119
+ evidence
112
120
  })),
113
121
  ...log.decisions.map((decision) => entry({
114
122
  type: "decision",
115
123
  content: decision,
116
124
  source: log.id,
117
- rationale: "Extracted from work log decision."
125
+ rationale: "Extracted from work log decision.",
126
+ evidence
118
127
  })),
119
128
  ...log.incidents.map((incident) => entry({
120
129
  type: "incident",
121
130
  content: incident,
122
131
  source: log.id,
123
- rationale: "Extracted from work log incident."
132
+ rationale: "Extracted from work log incident.",
133
+ evidence
124
134
  })),
125
135
  ...log.next_steps
126
136
  .filter(isNormativeNextStep)
@@ -128,7 +138,8 @@ async function proposeMemoryFromLogUnlocked(options) {
128
138
  type: "decision",
129
139
  content: step,
130
140
  source: log.id,
131
- rationale: "Extracted from normative work log next step."
141
+ rationale: "Extracted from normative work log next step.",
142
+ evidence
132
143
  })),
133
144
  ...extractPrefixedNotes(log.notes, "decision"),
134
145
  ...extractPrefixedNotes(log.notes, "fact")
@@ -138,7 +149,8 @@ async function proposeMemoryFromLogUnlocked(options) {
138
149
  type: "incident",
139
150
  content: log.result,
140
151
  source: log.id,
141
- rationale: "Extracted from work log result because it contains failure/risk language."
152
+ rationale: "Extracted from work log result because it contains failure/risk language.",
153
+ evidence
142
154
  }));
143
155
  }
144
156
  if (proposals.length === 0) {
@@ -243,7 +255,8 @@ export async function applyMemoryProposalUnlocked(options) {
243
255
  tags: entry.tags,
244
256
  source: entry.source ?? proposal.from_log,
245
257
  visibility: entry.visibility,
246
- exportable: entry.exportable
258
+ exportable: entry.exportable,
259
+ evidence: entry.evidence
247
260
  });
248
261
  if (result.created) {
249
262
  created += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"memoryProposal.js","sourceRoot":"","sources":["../../src/core/memoryProposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryProposal.js","sourceRoot":"","sources":["../../src/core/memoryProposal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type ContextComparison } from "./contextCompare.js";
2
+ import { type ExportPolicy } from "./exportPolicy.js";
3
+ export type ContinuityObservabilityOptions = {
4
+ cwd?: string;
5
+ worker?: string;
6
+ project?: string;
7
+ task: string;
8
+ maxTokens?: number;
9
+ exportPolicy?: ExportPolicy;
10
+ };
11
+ export type ContinuityObservability = {
12
+ ok: boolean;
13
+ worker: string;
14
+ project: string;
15
+ task: string;
16
+ context: ContextComparison;
17
+ continuity: {
18
+ readiness: string;
19
+ workLogs: number;
20
+ activeMemory: number;
21
+ };
22
+ queues: {
23
+ pendingMemoryProposals: number;
24
+ pendingSkillPatches: number;
25
+ openRisks: number;
26
+ };
27
+ hygiene: {
28
+ warnings: string[];
29
+ duplicateLike: number;
30
+ potentialConflicts: number;
31
+ oldActive: number;
32
+ stale: number;
33
+ deprecated: number;
34
+ };
35
+ };
36
+ export declare function inspectContinuityObservability(options: ContinuityObservabilityOptions): Promise<ContinuityObservability>;
@@ -0,0 +1,70 @@
1
+ import { compareContext } from "./contextCompare.js";
2
+ import { readBriefOpsConfig } from "./config.js";
3
+ import { BriefOpsError } from "./errors.js";
4
+ import { inspectContinuityHealth } from "./continuity.js";
5
+ import { normalizeExportPolicy } from "./exportPolicy.js";
6
+ import { getInboxSummary } from "./inbox.js";
7
+ import { inspectMemoryHygiene } from "./memoryHygiene.js";
8
+ import { readWorker } from "./worker.js";
9
+ export async function inspectContinuityObservability(options) {
10
+ const cwd = options.cwd ?? process.cwd();
11
+ const exportPolicy = normalizeExportPolicy(options.exportPolicy);
12
+ const config = await readBriefOpsConfig(cwd);
13
+ const workerName = options.worker ?? config.defaults.worker;
14
+ if (!workerName) {
15
+ throw new BriefOpsError("Continuity observability requires --worker or a default worker.");
16
+ }
17
+ const worker = await readWorker(cwd, workerName);
18
+ const project = options.project ?? worker.project ?? config.defaults.project;
19
+ if (!project) {
20
+ throw new BriefOpsError("Continuity observability requires --project when the worker has no default project.");
21
+ }
22
+ const [context, health, inbox, hygiene] = await Promise.all([
23
+ compareContext({
24
+ cwd,
25
+ worker: worker.name,
26
+ project,
27
+ task: options.task,
28
+ maxTokens: options.maxTokens,
29
+ exportPolicy
30
+ }),
31
+ inspectContinuityHealth({
32
+ cwd,
33
+ project,
34
+ worker: worker.name
35
+ }),
36
+ getInboxSummary({
37
+ cwd,
38
+ project,
39
+ worker: worker.name
40
+ }),
41
+ inspectMemoryHygiene({ cwd })
42
+ ]);
43
+ const activeMemory = Object.values(health.memory).reduce((sum, count) => sum + count, 0);
44
+ return {
45
+ ok: health.readiness !== "FAIL",
46
+ worker: worker.name,
47
+ project,
48
+ task: options.task,
49
+ context,
50
+ continuity: {
51
+ readiness: health.readiness,
52
+ workLogs: health.history.workLogs,
53
+ activeMemory
54
+ },
55
+ queues: {
56
+ pendingMemoryProposals: inbox.pendingMemoryProposals,
57
+ pendingSkillPatches: inbox.pendingSkillPatches,
58
+ openRisks: inbox.openRisks
59
+ },
60
+ hygiene: {
61
+ warnings: hygiene.warnings,
62
+ duplicateLike: hygiene.duplicateLike.length,
63
+ potentialConflicts: hygiene.potentialConflicts.length,
64
+ oldActive: hygiene.oldActive.length,
65
+ stale: hygiene.stale.length,
66
+ deprecated: hygiene.deprecated.length
67
+ }
68
+ };
69
+ }
70
+ //# sourceMappingURL=observability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../src/core/observability.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { promises as fs } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { readBriefOpsConfig } from "./config.js";
4
+ import { isStaleLockFile } from "./lock.js";
4
5
  import { listMemory } from "./memory.js";
5
6
  import { listMemoryProposals } from "./memoryProposal.js";
6
7
  import { memoryCategories, memoryFilePath, workspacePaths } from "./paths.js";
7
8
  import { listSkillPatches } from "./patch.js";
8
- import { pathExists, readTextFile, readYamlFile } from "./storage.js";
9
+ import { pathExists, readYamlFile } from "./storage.js";
9
10
  import { readWorker } from "./worker.js";
10
11
  import { memoryFileSchema } from "../schemas/memory.js";
11
12
  function check(name, status, detail) {
@@ -20,10 +21,7 @@ async function listStaleLocks(cwd, staleMs) {
20
21
  const stale = [];
21
22
  for (const entry of entries.filter((item) => item.endsWith(".lock"))) {
22
23
  const filePath = path.join(lockDir, entry);
23
- const raw = await readTextFile(filePath);
24
- const createdAt = raw.match(/^created_at: (.+)$/m)?.[1]?.trim();
25
- const created = createdAt ? Date.parse(createdAt) : Number.NaN;
26
- if (Number.isNaN(created) || Date.now() - created > staleMs) {
24
+ if (await isStaleLockFile(filePath, staleMs)) {
27
25
  stale.push(entry);
28
26
  }
29
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"securityDoctor.js","sourceRoot":"","sources":["../../src/core/securityDoctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"securityDoctor.js","sourceRoot":"","sources":["../../src/core/securityDoctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export type StrictDoctorStatus = "ok" | "warn" | "fail";
2
+ export type StrictDoctorCheck = {
3
+ source: "stability" | "security" | "privacy" | "memory-hygiene";
4
+ name: string;
5
+ status: StrictDoctorStatus;
6
+ detail: string;
7
+ };
8
+ export type StrictDoctorResult = {
9
+ ok: boolean;
10
+ releaseReady: boolean;
11
+ summary: {
12
+ checks: number;
13
+ ok: number;
14
+ warn: number;
15
+ fail: number;
16
+ };
17
+ checks: StrictDoctorCheck[];
18
+ };
19
+ export declare function runStrictDoctor(options?: {
20
+ cwd?: string;
21
+ maxExamples?: number;
22
+ }): Promise<StrictDoctorResult>;
@@ -0,0 +1,95 @@
1
+ import { inspectMemoryHygiene } from "./memoryHygiene.js";
2
+ import { runPrivacyDoctor } from "./privacyDoctor.js";
3
+ import { runSecurityDoctor } from "./securityDoctor.js";
4
+ import { runStabilityDoctor } from "./stabilityDoctor.js";
5
+ function summarize(checks) {
6
+ return {
7
+ checks: checks.length,
8
+ ok: checks.filter((check) => check.status === "ok").length,
9
+ warn: checks.filter((check) => check.status === "warn").length,
10
+ fail: checks.filter((check) => check.status === "fail").length
11
+ };
12
+ }
13
+ function failure(source, error) {
14
+ return {
15
+ source,
16
+ name: "Runtime",
17
+ status: "fail",
18
+ detail: error instanceof Error ? error.message : String(error)
19
+ };
20
+ }
21
+ export async function runStrictDoctor(options = {}) {
22
+ const cwd = options.cwd ?? process.cwd();
23
+ const checks = [];
24
+ try {
25
+ const stability = await runStabilityDoctor({
26
+ cwd,
27
+ maxExamples: options.maxExamples
28
+ });
29
+ checks.push(...stability.checks.map((check) => ({
30
+ source: "stability",
31
+ name: check.name,
32
+ status: check.status,
33
+ detail: check.detail
34
+ })));
35
+ }
36
+ catch (error) {
37
+ checks.push(failure("stability", error));
38
+ }
39
+ try {
40
+ const security = await runSecurityDoctor({ cwd });
41
+ checks.push(...security.checks.map((check) => ({
42
+ source: "security",
43
+ name: check.name,
44
+ status: check.status,
45
+ detail: check.detail
46
+ })));
47
+ }
48
+ catch (error) {
49
+ checks.push(failure("security", error));
50
+ }
51
+ try {
52
+ const privacy = await runPrivacyDoctor({ cwd });
53
+ checks.push(...privacy.checks.map((check) => ({
54
+ source: "privacy",
55
+ name: check.name,
56
+ status: check.status,
57
+ detail: check.detail
58
+ })));
59
+ }
60
+ catch (error) {
61
+ checks.push(failure("privacy", error));
62
+ }
63
+ try {
64
+ const hygiene = await inspectMemoryHygiene({ cwd });
65
+ checks.push({
66
+ source: "memory-hygiene",
67
+ name: "Memory hygiene",
68
+ status: hygiene.warnings.length > 0 ? "warn" : "ok",
69
+ detail: hygiene.warnings.length > 0 ? hygiene.warnings.join("; ") : "No memory hygiene warnings."
70
+ });
71
+ checks.push({
72
+ source: "memory-hygiene",
73
+ name: "Potential decision conflicts",
74
+ status: hygiene.potentialConflicts.length > 0 ? "warn" : "ok",
75
+ detail: `${hygiene.potentialConflicts.length} potential conflict(s).`
76
+ });
77
+ checks.push({
78
+ source: "memory-hygiene",
79
+ name: "Old active memory",
80
+ status: hygiene.oldActive.length > 0 ? "warn" : "ok",
81
+ detail: `${hygiene.oldActive.length} old active item(s).`
82
+ });
83
+ }
84
+ catch (error) {
85
+ checks.push(failure("memory-hygiene", error));
86
+ }
87
+ const summary = summarize(checks);
88
+ return {
89
+ ok: summary.fail === 0,
90
+ releaseReady: summary.fail === 0 && summary.warn === 0,
91
+ summary,
92
+ checks
93
+ };
94
+ }
95
+ //# sourceMappingURL=strictDoctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strictDoctor.js","sourceRoot":"","sources":["../../src/core/strictDoctor.ts"],"names":[],"mappings":"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"}