@trazum/core 1.50.11 → 1.51.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/annual.d.ts +122 -0
- package/dist/annual.d.ts.map +1 -0
- package/dist/annual.js +101 -0
- package/dist/annual.js.map +1 -0
- package/dist/conform.d.ts +1 -1
- package/dist/conform.d.ts.map +1 -1
- package/dist/conform.js +72 -0
- package/dist/conform.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/annual.ts +191 -0
- package/src/conform.ts +112 -1
- package/src/index.ts +2 -0
package/dist/annual.d.ts
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The year, assembled from what was already written down.
|
|
3
|
+
*
|
|
4
|
+
* The last chapter of the arc, and the one that turns this product's argument
|
|
5
|
+
* into something a stranger can audit. Everything below comes from the store
|
|
6
|
+
* and the plans a team already keeps: **no new data, and nothing computed that
|
|
7
|
+
* could not be checked against a document that already exists.**
|
|
8
|
+
*
|
|
9
|
+
* That constraint is the whole design. An annual report is the document most
|
|
10
|
+
* likely to be quoted out of the room it was written in, and the one nobody
|
|
11
|
+
* goes back to verify. So it may not contain a single figure that this tool
|
|
12
|
+
* would refuse to print anywhere else — which means it is mostly a summing
|
|
13
|
+
* exercise with a great many refusals attached.
|
|
14
|
+
*
|
|
15
|
+
* ## Four questions, and the fourth is the one that matters
|
|
16
|
+
*
|
|
17
|
+
* What was spent. What was planned. What arrived. **And what could not be
|
|
18
|
+
* told** — which in a normal annual report is silently folded into one of the
|
|
19
|
+
* other three, almost always into the flattering one.
|
|
20
|
+
*
|
|
21
|
+
* `verify` has kept those three outcomes apart since 1.39. A year is where the
|
|
22
|
+
* temptation to collapse them is strongest, because "eleven of fourteen
|
|
23
|
+
* actions arrived" reads better than "eleven arrived, one did not, and two
|
|
24
|
+
* could not be judged" — and the second sentence is the one that tells
|
|
25
|
+
* somebody their measurement has a hole in it.
|
|
26
|
+
*
|
|
27
|
+
* ## It reports the record, not the team
|
|
28
|
+
*
|
|
29
|
+
* No per-person anything, no velocity, no ranking of who planned well. The
|
|
30
|
+
* doctrine rule from 1.44, and it matters most here: an annual document is
|
|
31
|
+
* exactly where a cost tool starts being used for performance review, and the
|
|
32
|
+
* way to not be is to hold no data that could be.
|
|
33
|
+
*/
|
|
34
|
+
import type { PlanDocument } from './plan.js';
|
|
35
|
+
import type { PlanVerification } from './verify.js';
|
|
36
|
+
import type { OutcomeReport } from './outcome.js';
|
|
37
|
+
/** One period the year is built from, as the caller sliced it. */
|
|
38
|
+
export interface AnnualPeriod {
|
|
39
|
+
/** `YYYY-MM`. */
|
|
40
|
+
month: string;
|
|
41
|
+
usd: number;
|
|
42
|
+
calls: number;
|
|
43
|
+
/** The plan made for this period, when one was. */
|
|
44
|
+
plan?: PlanDocument;
|
|
45
|
+
/** The verification of the previous plan, when one was run. */
|
|
46
|
+
verification?: PlanVerification;
|
|
47
|
+
/** Outcomes recorded in this period, when any were. */
|
|
48
|
+
outcomes?: OutcomeReport;
|
|
49
|
+
}
|
|
50
|
+
export interface AnnualRecord {
|
|
51
|
+
schemaVersion: 1;
|
|
52
|
+
year: string;
|
|
53
|
+
/** Months present, oldest first. Gaps are named rather than interpolated. */
|
|
54
|
+
months: Array<{
|
|
55
|
+
month: string;
|
|
56
|
+
usd: number;
|
|
57
|
+
calls: number;
|
|
58
|
+
}>;
|
|
59
|
+
/**
|
|
60
|
+
* Months of the year with no record at all.
|
|
61
|
+
*
|
|
62
|
+
* Named, never filled. A year report that quietly covers nine months and
|
|
63
|
+
* prints an annual total is wrong by a quarter and says nothing about it.
|
|
64
|
+
*/
|
|
65
|
+
missingMonths: string[];
|
|
66
|
+
totalUsd: number;
|
|
67
|
+
totalCalls: number;
|
|
68
|
+
/**
|
|
69
|
+
* What was planned and what became of it — three outcomes, never two.
|
|
70
|
+
*
|
|
71
|
+
* `cannotTell` is the field an ordinary annual report does not have, and its
|
|
72
|
+
* absence is how a year of unmeasurable promises turns into a year of kept
|
|
73
|
+
* ones.
|
|
74
|
+
*/
|
|
75
|
+
promises: {
|
|
76
|
+
planned: number;
|
|
77
|
+
arrived: number;
|
|
78
|
+
notArrived: number;
|
|
79
|
+
cannotTell: number;
|
|
80
|
+
/**
|
|
81
|
+
* Dollars the plans projected, summed.
|
|
82
|
+
*
|
|
83
|
+
* **There is deliberately no `arrivedUsd` beside it**, and the reason is
|
|
84
|
+
* worth the paragraph: a verification says whether each action *arrived*,
|
|
85
|
+
* and its `observed` map carries where the money sits now — but the
|
|
86
|
+
* document has never carried a per-action figure for the saving that
|
|
87
|
+
* actually landed. Summing one out of the observations would mean deciding
|
|
88
|
+
* which of several numbers per action is "the saving", which is a
|
|
89
|
+
* judgement the verification refused to make and this module has no
|
|
90
|
+
* standing to make on its behalf.
|
|
91
|
+
*
|
|
92
|
+
* So the year says what was promised and how many promises were kept, and
|
|
93
|
+
* says plainly that it cannot put a dollar figure on the kept ones. The
|
|
94
|
+
* alternative — a plausible number assembled here — is precisely the
|
|
95
|
+
* annual-report arithmetic this document exists to replace.
|
|
96
|
+
*/
|
|
97
|
+
projectedUsd: number;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* The year's outcome coverage, or null when nothing recorded one.
|
|
101
|
+
*
|
|
102
|
+
* Null rather than a rate of zero, for the reason it has been null
|
|
103
|
+
* everywhere since 1.50.4: an uninstrumented year and a failing year are
|
|
104
|
+
* different sentences.
|
|
105
|
+
*/
|
|
106
|
+
outcomes: {
|
|
107
|
+
recorded: number;
|
|
108
|
+
parsed: number;
|
|
109
|
+
/** Share of the year's spend that carried no outcome. */
|
|
110
|
+
unrecordedUsd: number;
|
|
111
|
+
} | null;
|
|
112
|
+
/**
|
|
113
|
+
* Everything this record cannot say, named.
|
|
114
|
+
*
|
|
115
|
+
* The section an annual report is usually missing, and the reason this one
|
|
116
|
+
* is worth trusting: a document that lists its own blind spots is a document
|
|
117
|
+
* somebody can act on the rest of.
|
|
118
|
+
*/
|
|
119
|
+
cannotSay: string[];
|
|
120
|
+
}
|
|
121
|
+
export declare function annualRecord(year: string, periods: readonly AnnualPeriod[]): AnnualRecord;
|
|
122
|
+
//# sourceMappingURL=annual.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annual.d.ts","sourceRoot":"","sources":["../src/annual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D;;;;;OAKG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB;;;;;;;;;;;;;;;;WAgBG;QACH,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,yDAAyD;QACzD,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI,CAAC;IACT;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AASD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,CA+DzF"}
|
package/dist/annual.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The year, assembled from what was already written down.
|
|
3
|
+
*
|
|
4
|
+
* The last chapter of the arc, and the one that turns this product's argument
|
|
5
|
+
* into something a stranger can audit. Everything below comes from the store
|
|
6
|
+
* and the plans a team already keeps: **no new data, and nothing computed that
|
|
7
|
+
* could not be checked against a document that already exists.**
|
|
8
|
+
*
|
|
9
|
+
* That constraint is the whole design. An annual report is the document most
|
|
10
|
+
* likely to be quoted out of the room it was written in, and the one nobody
|
|
11
|
+
* goes back to verify. So it may not contain a single figure that this tool
|
|
12
|
+
* would refuse to print anywhere else — which means it is mostly a summing
|
|
13
|
+
* exercise with a great many refusals attached.
|
|
14
|
+
*
|
|
15
|
+
* ## Four questions, and the fourth is the one that matters
|
|
16
|
+
*
|
|
17
|
+
* What was spent. What was planned. What arrived. **And what could not be
|
|
18
|
+
* told** — which in a normal annual report is silently folded into one of the
|
|
19
|
+
* other three, almost always into the flattering one.
|
|
20
|
+
*
|
|
21
|
+
* `verify` has kept those three outcomes apart since 1.39. A year is where the
|
|
22
|
+
* temptation to collapse them is strongest, because "eleven of fourteen
|
|
23
|
+
* actions arrived" reads better than "eleven arrived, one did not, and two
|
|
24
|
+
* could not be judged" — and the second sentence is the one that tells
|
|
25
|
+
* somebody their measurement has a hole in it.
|
|
26
|
+
*
|
|
27
|
+
* ## It reports the record, not the team
|
|
28
|
+
*
|
|
29
|
+
* No per-person anything, no velocity, no ranking of who planned well. The
|
|
30
|
+
* doctrine rule from 1.44, and it matters most here: an annual document is
|
|
31
|
+
* exactly where a cost tool starts being used for performance review, and the
|
|
32
|
+
* way to not be is to hold no data that could be.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* The twelve months of a year, so a gap is a fact rather than an absence.
|
|
36
|
+
*/
|
|
37
|
+
function monthsOf(year) {
|
|
38
|
+
return Array.from({ length: 12 }, (_, i) => `${year}-${String(i + 1).padStart(2, '0')}`);
|
|
39
|
+
}
|
|
40
|
+
export function annualRecord(year, periods) {
|
|
41
|
+
const inYear = [...periods]
|
|
42
|
+
.filter((p) => p.month.startsWith(`${year}-`))
|
|
43
|
+
.sort((a, b) => a.month.localeCompare(b.month));
|
|
44
|
+
const present = new Set(inYear.map((p) => p.month));
|
|
45
|
+
const missingMonths = monthsOf(year).filter((m) => !present.has(m));
|
|
46
|
+
let planned = 0;
|
|
47
|
+
let arrived = 0;
|
|
48
|
+
let notArrived = 0;
|
|
49
|
+
let cannotTell = 0;
|
|
50
|
+
let projectedUsd = 0;
|
|
51
|
+
for (const period of inYear) {
|
|
52
|
+
if (period.plan !== undefined) {
|
|
53
|
+
planned += period.plan.actions.length;
|
|
54
|
+
projectedUsd += period.plan.projectedSavingUsd;
|
|
55
|
+
}
|
|
56
|
+
if (period.verification !== undefined) {
|
|
57
|
+
arrived += period.verification.arrived;
|
|
58
|
+
notArrived += period.verification.notArrived;
|
|
59
|
+
cannotTell += period.verification.cannotTell;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const withOutcomes = inYear.filter((p) => p.outcomes !== undefined);
|
|
63
|
+
const outcomes = withOutcomes.length === 0
|
|
64
|
+
? null
|
|
65
|
+
: {
|
|
66
|
+
recorded: withOutcomes.reduce((sum, p) => sum + (p.outcomes?.coverage.recorded ?? 0), 0),
|
|
67
|
+
parsed: withOutcomes.reduce((sum, p) => sum + (p.outcomes?.coverage.parsed ?? 0), 0),
|
|
68
|
+
unrecordedUsd: withOutcomes.reduce((sum, p) => sum + (p.outcomes?.coverage.unrecordedUsd ?? 0), 0),
|
|
69
|
+
};
|
|
70
|
+
const cannotSay = [];
|
|
71
|
+
if (missingMonths.length > 0)
|
|
72
|
+
cannotSay.push('months-missing');
|
|
73
|
+
if (planned === 0)
|
|
74
|
+
cannotSay.push('nothing-was-planned');
|
|
75
|
+
else if (arrived + notArrived + cannotTell === 0)
|
|
76
|
+
cannotSay.push('nothing-was-verified');
|
|
77
|
+
if (cannotTell > 0)
|
|
78
|
+
cannotSay.push('some-promises-unjudgeable');
|
|
79
|
+
/**
|
|
80
|
+
* Named every time there is anything to verify, because it is a permanent
|
|
81
|
+
* limit of the record rather than a gap in this particular year.
|
|
82
|
+
*/
|
|
83
|
+
if (arrived > 0)
|
|
84
|
+
cannotSay.push('arrived-savings-not-quantified');
|
|
85
|
+
if (outcomes === null)
|
|
86
|
+
cannotSay.push('no-outcomes-recorded');
|
|
87
|
+
else if (outcomes.recorded < outcomes.parsed)
|
|
88
|
+
cannotSay.push('outcome-coverage-partial');
|
|
89
|
+
return {
|
|
90
|
+
schemaVersion: 1,
|
|
91
|
+
year,
|
|
92
|
+
months: inYear.map((p) => ({ month: p.month, usd: p.usd, calls: p.calls })),
|
|
93
|
+
missingMonths,
|
|
94
|
+
totalUsd: inYear.reduce((sum, p) => sum + p.usd, 0),
|
|
95
|
+
totalCalls: inYear.reduce((sum, p) => sum + p.calls, 0),
|
|
96
|
+
promises: { planned, arrived, notArrived, cannotTell, projectedUsd },
|
|
97
|
+
outcomes,
|
|
98
|
+
cannotSay,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=annual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annual.js","sourceRoot":"","sources":["../src/annual.ts"],"names":[],"mappings":"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"}
|
package/dist/conform.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* nobody upgrades. Only *absent* required fields and *wrong* types fail.
|
|
26
26
|
*/
|
|
27
27
|
/** The documents this project emits, and their names. */
|
|
28
|
-
export type ContractName = 'usage-log' | 'profile' | 'plan' | 'verification' | 'history' | 'connected' | 'cost-answer';
|
|
28
|
+
export type ContractName = 'usage-log' | 'profile' | 'plan' | 'verification' | 'history' | 'connected' | 'cost-answer' | 'outcome-report' | 'annual-record';
|
|
29
29
|
export interface ConformanceProblem {
|
|
30
30
|
/** Where: `line 12` for a log, or a dotted path inside a document. */
|
|
31
31
|
at: string;
|
package/dist/conform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conform.d.ts","sourceRoot":"","sources":["../src/conform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,yDAAyD;AACzD,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,SAAS,GACT,MAAM,GACN,cAAc,GACd,SAAS,GACT,WAAW,GACX,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"conform.d.ts","sourceRoot":"","sources":["../src/conform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,yDAAyD;AACzD,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,SAAS,GACT,MAAM,GACN,cAAc,GACd,SAAS,GACT,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,eAAe,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI;IACF,kCAAkC;IAChC,SAAS;IACX,qDAAqD;OACnD,YAAY;IACd,qEAAqE;OACnE,iBAAiB;IACnB,2DAA2D;OACzD,YAAY,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,CAAC,CAAC;IACjB,gEAAgE;IAChE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA+SD,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,iBAAiB,CAwIrF"}
|
package/dist/conform.js
CHANGED
|
@@ -182,12 +182,73 @@ const DOCUMENT_RULES = {
|
|
|
182
182
|
rule('total', 'an object', isObject),
|
|
183
183
|
rule('unavailable', 'an array of findings this source cannot support', isArray),
|
|
184
184
|
],
|
|
185
|
+
/**
|
|
186
|
+
* The outcome chapter — the standard is only worth something if its
|
|
187
|
+
* refusals travel with it.
|
|
188
|
+
*
|
|
189
|
+
* Another tool emitting this format has to handle a **missing numerator**
|
|
190
|
+
* the same way this one does: a rate that is `null` rather than `0` when
|
|
191
|
+
* nothing was recorded, a `noRate` beside it saying which of the two reasons
|
|
192
|
+
* applies, and undeclared values kept in their own list rather than folded
|
|
193
|
+
* into the failures. A format that carried the fields and lost the refusals
|
|
194
|
+
* would be worse than no format, because it would look interoperable.
|
|
195
|
+
*/
|
|
196
|
+
'outcome-report': [
|
|
197
|
+
rule('slices', 'an array of declared outcome values, dearest first', isArray),
|
|
198
|
+
rule('undeclared', 'an array — named, never counted as failures', isArray),
|
|
199
|
+
rule('coverage', 'an object with recorded, parsed and unrecordedUsd', isObject),
|
|
200
|
+
rule('successShareOfRecordedUsd', 'a number, or **null** when nothing was recorded — never 0, which is a real and terrible measurement rather than an absence',
|
|
201
|
+
// `absence-as-zero` is detected from the word "null" in the expected
|
|
202
|
+
// text, so a tool emitting 0 here is told it emitted an absence as a
|
|
203
|
+
// measurement rather than merely getting a type wrong.
|
|
204
|
+
(v) => v === null || isNumber(v)),
|
|
205
|
+
rule('noRate', 'a string saying why there is no rate, or null when there is one — a refusal never arrives bare', (v) => v === null || typeof v === 'string'),
|
|
206
|
+
],
|
|
207
|
+
'annual-record': [
|
|
208
|
+
rule('months', 'an array, oldest first', isArray),
|
|
209
|
+
rule('missingMonths', 'an array — named, never interpolated', isArray),
|
|
210
|
+
rule('promises', 'an object with planned, arrived, notArrived and cannotTell', isObject),
|
|
211
|
+
rule('outcomes', 'an object, or null when nothing recorded one', (v) => v === null || isObject(v)),
|
|
212
|
+
rule('cannotSay', 'an array of what this record cannot answer', isArray),
|
|
213
|
+
],
|
|
185
214
|
'cost-answer': [
|
|
186
215
|
rule('verdict', 'one of within, over, cannot-tell', (v) => v === 'within' || v === 'over' || v === 'cannot-tell'),
|
|
187
216
|
rule('call', 'an object, or null when nothing was described', (v) => v === null || isObject(v)),
|
|
188
217
|
rule('budget', 'an object, or null when there is no budget', (v) => v === null || isObject(v)),
|
|
189
218
|
],
|
|
190
219
|
};
|
|
220
|
+
const CROSS_RULES = {
|
|
221
|
+
'outcome-report': [
|
|
222
|
+
{
|
|
223
|
+
at: 'successShareOfRecordedUsd',
|
|
224
|
+
kind: 'absence-as-zero',
|
|
225
|
+
ok: (doc) => {
|
|
226
|
+
const coverage = doc.coverage;
|
|
227
|
+
const recorded = typeof coverage?.recorded === 'number' ? coverage.recorded : null;
|
|
228
|
+
if (recorded !== 0)
|
|
229
|
+
return true;
|
|
230
|
+
return doc.successShareOfRecordedUsd === null;
|
|
231
|
+
},
|
|
232
|
+
detail: 'nothing was recorded, so the rate must be null — 0 is a real and terrible measurement and this is an absence',
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
at: 'noRate',
|
|
236
|
+
kind: 'missing',
|
|
237
|
+
ok: (doc) => (doc.successShareOfRecordedUsd === null ? doc.noRate !== null : doc.noRate === null),
|
|
238
|
+
detail: 'a null rate needs a reason beside it and a stated rate must not carry one — a refusal never arrives bare, and a reason attached to an answer is two answers',
|
|
239
|
+
},
|
|
240
|
+
],
|
|
241
|
+
'annual-record': [
|
|
242
|
+
{
|
|
243
|
+
at: 'cannotSay',
|
|
244
|
+
kind: 'missing',
|
|
245
|
+
ok: (doc) => !Array.isArray(doc.missingMonths) ||
|
|
246
|
+
doc.missingMonths.length === 0 ||
|
|
247
|
+
(Array.isArray(doc.cannotSay) && doc.cannotSay.includes('months-missing')),
|
|
248
|
+
detail: 'months are missing and cannotSay does not say so — a year that quietly covers nine months and prints an annual total is wrong by a quarter',
|
|
249
|
+
},
|
|
250
|
+
],
|
|
251
|
+
};
|
|
191
252
|
/**
|
|
192
253
|
* Which contract a document is claiming to be.
|
|
193
254
|
*
|
|
@@ -198,6 +259,10 @@ const DOCUMENT_RULES = {
|
|
|
198
259
|
function contractOf(doc) {
|
|
199
260
|
if (Array.isArray(doc.byLabelAndModel))
|
|
200
261
|
return 'profile';
|
|
262
|
+
if (Array.isArray(doc.missingMonths) && isObject(doc.promises))
|
|
263
|
+
return 'annual-record';
|
|
264
|
+
if (Array.isArray(doc.undeclared) && isObject(doc.coverage))
|
|
265
|
+
return 'outcome-report';
|
|
201
266
|
if (Array.isArray(doc.periods) && Array.isArray(doc.runs))
|
|
202
267
|
return 'history';
|
|
203
268
|
if (Array.isArray(doc.actions) && typeof doc.arrived === 'number')
|
|
@@ -329,6 +394,13 @@ export function conform(text, options = {}) {
|
|
|
329
394
|
});
|
|
330
395
|
}
|
|
331
396
|
}
|
|
397
|
+
// Relational rules last, so a document with a missing field is told about the
|
|
398
|
+
// field before it is told about a relationship that field is half of.
|
|
399
|
+
for (const cross of CROSS_RULES[contract] ?? []) {
|
|
400
|
+
if (!cross.ok(doc)) {
|
|
401
|
+
problems.push({ at: cross.at, kind: cross.kind, detail: cross.detail });
|
|
402
|
+
}
|
|
403
|
+
}
|
|
332
404
|
return {
|
|
333
405
|
schemaVersion: 1,
|
|
334
406
|
contract,
|
package/dist/conform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conform.js","sourceRoot":"","sources":["../src/conform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conform.js","sourceRoot":"","sources":["../src/conform.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export { verifySemanticProposals, semanticPassCost, SEMANTIC_SYSTEM_PROMPT, ALRE
|
|
|
23
23
|
export type { SemanticFinding, SemanticKind, SemanticProposal, SemanticRejection, SemanticResult, } from './semantic.js';
|
|
24
24
|
export { replayCommitment, coversTheTerm, MIN_MONTHS_FOR_REPLAY } from './commitment.js';
|
|
25
25
|
export type { CommitmentReplay, CommitmentTerms, CommitmentUnknown, MeasuredMonth, MonthReplay, } from './commitment.js';
|
|
26
|
+
export { annualRecord } from './annual.js';
|
|
27
|
+
export type { AnnualPeriod, AnnualRecord } from './annual.js';
|
|
26
28
|
export { allocate, validateOwners } from './owners.js';
|
|
27
29
|
export type { Allocation, LabelSpend, OwnerLine, OwnerProblem, OwnersConfig, OwnerVerdict, SharedSplit, } from './owners.js';
|
|
28
30
|
export { runExperiment } from './experiment.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,6 +24,7 @@ export { buildHistory, storedReportFrom, MIN_RUN } from './history.js';
|
|
|
24
24
|
export { outcomeReport, judgeOutcome, OUTCOME_UNLOCKS } from './outcome.js';
|
|
25
25
|
export { verifySemanticProposals, semanticPassCost, SEMANTIC_SYSTEM_PROMPT, ALREADY_DETECTED_SIMILARITY, } from './semantic.js';
|
|
26
26
|
export { replayCommitment, coversTheTerm, MIN_MONTHS_FOR_REPLAY } from './commitment.js';
|
|
27
|
+
export { annualRecord } from './annual.js';
|
|
27
28
|
export { allocate, validateOwners } from './owners.js';
|
|
28
29
|
export { runExperiment } from './experiment.js';
|
|
29
30
|
export { qualityGate, MIN_OUTCOMES_EACH_SIDE, MAX_MODEL_MIX_DRIFT, MAX_VOLUME_RATIO, MAX_COVERAGE_DRIFT, } from './quality-gate.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trazum/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.51.0",
|
|
4
4
|
"description": "Trazum core: priced advisories for LLM prompts (caching, model tier, batching, schemas), plus deterministic trimming, token counting and pricing.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "David Mu\u00f1oz Rey",
|
package/src/annual.ts
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The year, assembled from what was already written down.
|
|
3
|
+
*
|
|
4
|
+
* The last chapter of the arc, and the one that turns this product's argument
|
|
5
|
+
* into something a stranger can audit. Everything below comes from the store
|
|
6
|
+
* and the plans a team already keeps: **no new data, and nothing computed that
|
|
7
|
+
* could not be checked against a document that already exists.**
|
|
8
|
+
*
|
|
9
|
+
* That constraint is the whole design. An annual report is the document most
|
|
10
|
+
* likely to be quoted out of the room it was written in, and the one nobody
|
|
11
|
+
* goes back to verify. So it may not contain a single figure that this tool
|
|
12
|
+
* would refuse to print anywhere else — which means it is mostly a summing
|
|
13
|
+
* exercise with a great many refusals attached.
|
|
14
|
+
*
|
|
15
|
+
* ## Four questions, and the fourth is the one that matters
|
|
16
|
+
*
|
|
17
|
+
* What was spent. What was planned. What arrived. **And what could not be
|
|
18
|
+
* told** — which in a normal annual report is silently folded into one of the
|
|
19
|
+
* other three, almost always into the flattering one.
|
|
20
|
+
*
|
|
21
|
+
* `verify` has kept those three outcomes apart since 1.39. A year is where the
|
|
22
|
+
* temptation to collapse them is strongest, because "eleven of fourteen
|
|
23
|
+
* actions arrived" reads better than "eleven arrived, one did not, and two
|
|
24
|
+
* could not be judged" — and the second sentence is the one that tells
|
|
25
|
+
* somebody their measurement has a hole in it.
|
|
26
|
+
*
|
|
27
|
+
* ## It reports the record, not the team
|
|
28
|
+
*
|
|
29
|
+
* No per-person anything, no velocity, no ranking of who planned well. The
|
|
30
|
+
* doctrine rule from 1.44, and it matters most here: an annual document is
|
|
31
|
+
* exactly where a cost tool starts being used for performance review, and the
|
|
32
|
+
* way to not be is to hold no data that could be.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
import type { PlanDocument } from './plan.js';
|
|
36
|
+
import type { PlanVerification } from './verify.js';
|
|
37
|
+
import type { OutcomeReport } from './outcome.js';
|
|
38
|
+
|
|
39
|
+
/** One period the year is built from, as the caller sliced it. */
|
|
40
|
+
export interface AnnualPeriod {
|
|
41
|
+
/** `YYYY-MM`. */
|
|
42
|
+
month: string;
|
|
43
|
+
usd: number;
|
|
44
|
+
calls: number;
|
|
45
|
+
/** The plan made for this period, when one was. */
|
|
46
|
+
plan?: PlanDocument;
|
|
47
|
+
/** The verification of the previous plan, when one was run. */
|
|
48
|
+
verification?: PlanVerification;
|
|
49
|
+
/** Outcomes recorded in this period, when any were. */
|
|
50
|
+
outcomes?: OutcomeReport;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface AnnualRecord {
|
|
54
|
+
schemaVersion: 1;
|
|
55
|
+
year: string;
|
|
56
|
+
/** Months present, oldest first. Gaps are named rather than interpolated. */
|
|
57
|
+
months: Array<{ month: string; usd: number; calls: number }>;
|
|
58
|
+
/**
|
|
59
|
+
* Months of the year with no record at all.
|
|
60
|
+
*
|
|
61
|
+
* Named, never filled. A year report that quietly covers nine months and
|
|
62
|
+
* prints an annual total is wrong by a quarter and says nothing about it.
|
|
63
|
+
*/
|
|
64
|
+
missingMonths: string[];
|
|
65
|
+
totalUsd: number;
|
|
66
|
+
totalCalls: number;
|
|
67
|
+
/**
|
|
68
|
+
* What was planned and what became of it — three outcomes, never two.
|
|
69
|
+
*
|
|
70
|
+
* `cannotTell` is the field an ordinary annual report does not have, and its
|
|
71
|
+
* absence is how a year of unmeasurable promises turns into a year of kept
|
|
72
|
+
* ones.
|
|
73
|
+
*/
|
|
74
|
+
promises: {
|
|
75
|
+
planned: number;
|
|
76
|
+
arrived: number;
|
|
77
|
+
notArrived: number;
|
|
78
|
+
cannotTell: number;
|
|
79
|
+
/**
|
|
80
|
+
* Dollars the plans projected, summed.
|
|
81
|
+
*
|
|
82
|
+
* **There is deliberately no `arrivedUsd` beside it**, and the reason is
|
|
83
|
+
* worth the paragraph: a verification says whether each action *arrived*,
|
|
84
|
+
* and its `observed` map carries where the money sits now — but the
|
|
85
|
+
* document has never carried a per-action figure for the saving that
|
|
86
|
+
* actually landed. Summing one out of the observations would mean deciding
|
|
87
|
+
* which of several numbers per action is "the saving", which is a
|
|
88
|
+
* judgement the verification refused to make and this module has no
|
|
89
|
+
* standing to make on its behalf.
|
|
90
|
+
*
|
|
91
|
+
* So the year says what was promised and how many promises were kept, and
|
|
92
|
+
* says plainly that it cannot put a dollar figure on the kept ones. The
|
|
93
|
+
* alternative — a plausible number assembled here — is precisely the
|
|
94
|
+
* annual-report arithmetic this document exists to replace.
|
|
95
|
+
*/
|
|
96
|
+
projectedUsd: number;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* The year's outcome coverage, or null when nothing recorded one.
|
|
100
|
+
*
|
|
101
|
+
* Null rather than a rate of zero, for the reason it has been null
|
|
102
|
+
* everywhere since 1.50.4: an uninstrumented year and a failing year are
|
|
103
|
+
* different sentences.
|
|
104
|
+
*/
|
|
105
|
+
outcomes: {
|
|
106
|
+
recorded: number;
|
|
107
|
+
parsed: number;
|
|
108
|
+
/** Share of the year's spend that carried no outcome. */
|
|
109
|
+
unrecordedUsd: number;
|
|
110
|
+
} | null;
|
|
111
|
+
/**
|
|
112
|
+
* Everything this record cannot say, named.
|
|
113
|
+
*
|
|
114
|
+
* The section an annual report is usually missing, and the reason this one
|
|
115
|
+
* is worth trusting: a document that lists its own blind spots is a document
|
|
116
|
+
* somebody can act on the rest of.
|
|
117
|
+
*/
|
|
118
|
+
cannotSay: string[];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* The twelve months of a year, so a gap is a fact rather than an absence.
|
|
123
|
+
*/
|
|
124
|
+
function monthsOf(year: string): string[] {
|
|
125
|
+
return Array.from({ length: 12 }, (_, i) => `${year}-${String(i + 1).padStart(2, '0')}`);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export function annualRecord(year: string, periods: readonly AnnualPeriod[]): AnnualRecord {
|
|
129
|
+
const inYear = [...periods]
|
|
130
|
+
.filter((p) => p.month.startsWith(`${year}-`))
|
|
131
|
+
.sort((a, b) => a.month.localeCompare(b.month));
|
|
132
|
+
|
|
133
|
+
const present = new Set(inYear.map((p) => p.month));
|
|
134
|
+
const missingMonths = monthsOf(year).filter((m) => !present.has(m));
|
|
135
|
+
|
|
136
|
+
let planned = 0;
|
|
137
|
+
let arrived = 0;
|
|
138
|
+
let notArrived = 0;
|
|
139
|
+
let cannotTell = 0;
|
|
140
|
+
let projectedUsd = 0;
|
|
141
|
+
|
|
142
|
+
for (const period of inYear) {
|
|
143
|
+
if (period.plan !== undefined) {
|
|
144
|
+
planned += period.plan.actions.length;
|
|
145
|
+
projectedUsd += period.plan.projectedSavingUsd;
|
|
146
|
+
}
|
|
147
|
+
if (period.verification !== undefined) {
|
|
148
|
+
arrived += period.verification.arrived;
|
|
149
|
+
notArrived += period.verification.notArrived;
|
|
150
|
+
cannotTell += period.verification.cannotTell;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const withOutcomes = inYear.filter((p) => p.outcomes !== undefined);
|
|
155
|
+
const outcomes =
|
|
156
|
+
withOutcomes.length === 0
|
|
157
|
+
? null
|
|
158
|
+
: {
|
|
159
|
+
recorded: withOutcomes.reduce((sum, p) => sum + (p.outcomes?.coverage.recorded ?? 0), 0),
|
|
160
|
+
parsed: withOutcomes.reduce((sum, p) => sum + (p.outcomes?.coverage.parsed ?? 0), 0),
|
|
161
|
+
unrecordedUsd: withOutcomes.reduce(
|
|
162
|
+
(sum, p) => sum + (p.outcomes?.coverage.unrecordedUsd ?? 0),
|
|
163
|
+
0,
|
|
164
|
+
),
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
const cannotSay: string[] = [];
|
|
168
|
+
if (missingMonths.length > 0) cannotSay.push('months-missing');
|
|
169
|
+
if (planned === 0) cannotSay.push('nothing-was-planned');
|
|
170
|
+
else if (arrived + notArrived + cannotTell === 0) cannotSay.push('nothing-was-verified');
|
|
171
|
+
if (cannotTell > 0) cannotSay.push('some-promises-unjudgeable');
|
|
172
|
+
/**
|
|
173
|
+
* Named every time there is anything to verify, because it is a permanent
|
|
174
|
+
* limit of the record rather than a gap in this particular year.
|
|
175
|
+
*/
|
|
176
|
+
if (arrived > 0) cannotSay.push('arrived-savings-not-quantified');
|
|
177
|
+
if (outcomes === null) cannotSay.push('no-outcomes-recorded');
|
|
178
|
+
else if (outcomes.recorded < outcomes.parsed) cannotSay.push('outcome-coverage-partial');
|
|
179
|
+
|
|
180
|
+
return {
|
|
181
|
+
schemaVersion: 1,
|
|
182
|
+
year,
|
|
183
|
+
months: inYear.map((p) => ({ month: p.month, usd: p.usd, calls: p.calls })),
|
|
184
|
+
missingMonths,
|
|
185
|
+
totalUsd: inYear.reduce((sum, p) => sum + p.usd, 0),
|
|
186
|
+
totalCalls: inYear.reduce((sum, p) => sum + p.calls, 0),
|
|
187
|
+
promises: { planned, arrived, notArrived, cannotTell, projectedUsd },
|
|
188
|
+
outcomes,
|
|
189
|
+
cannotSay,
|
|
190
|
+
};
|
|
191
|
+
}
|
package/src/conform.ts
CHANGED
|
@@ -33,7 +33,9 @@ export type ContractName =
|
|
|
33
33
|
| 'verification'
|
|
34
34
|
| 'history'
|
|
35
35
|
| 'connected'
|
|
36
|
-
| 'cost-answer'
|
|
36
|
+
| 'cost-answer'
|
|
37
|
+
| 'outcome-report'
|
|
38
|
+
| 'annual-record';
|
|
37
39
|
|
|
38
40
|
export interface ConformanceProblem {
|
|
39
41
|
/** Where: `line 12` for a log, or a dotted path inside a document. */
|
|
@@ -249,6 +251,46 @@ const DOCUMENT_RULES: Record<Exclude<ContractName, 'usage-log'>, FieldRule[]> =
|
|
|
249
251
|
rule('total', 'an object', isObject),
|
|
250
252
|
rule('unavailable', 'an array of findings this source cannot support', isArray),
|
|
251
253
|
],
|
|
254
|
+
/**
|
|
255
|
+
* The outcome chapter — the standard is only worth something if its
|
|
256
|
+
* refusals travel with it.
|
|
257
|
+
*
|
|
258
|
+
* Another tool emitting this format has to handle a **missing numerator**
|
|
259
|
+
* the same way this one does: a rate that is `null` rather than `0` when
|
|
260
|
+
* nothing was recorded, a `noRate` beside it saying which of the two reasons
|
|
261
|
+
* applies, and undeclared values kept in their own list rather than folded
|
|
262
|
+
* into the failures. A format that carried the fields and lost the refusals
|
|
263
|
+
* would be worse than no format, because it would look interoperable.
|
|
264
|
+
*/
|
|
265
|
+
'outcome-report': [
|
|
266
|
+
rule('slices', 'an array of declared outcome values, dearest first', isArray),
|
|
267
|
+
rule('undeclared', 'an array — named, never counted as failures', isArray),
|
|
268
|
+
rule('coverage', 'an object with recorded, parsed and unrecordedUsd', isObject),
|
|
269
|
+
rule(
|
|
270
|
+
'successShareOfRecordedUsd',
|
|
271
|
+
'a number, or **null** when nothing was recorded — never 0, which is a real and terrible measurement rather than an absence',
|
|
272
|
+
// `absence-as-zero` is detected from the word "null" in the expected
|
|
273
|
+
// text, so a tool emitting 0 here is told it emitted an absence as a
|
|
274
|
+
// measurement rather than merely getting a type wrong.
|
|
275
|
+
(v) => v === null || isNumber(v),
|
|
276
|
+
),
|
|
277
|
+
rule(
|
|
278
|
+
'noRate',
|
|
279
|
+
'a string saying why there is no rate, or null when there is one — a refusal never arrives bare',
|
|
280
|
+
(v) => v === null || typeof v === 'string',
|
|
281
|
+
),
|
|
282
|
+
],
|
|
283
|
+
'annual-record': [
|
|
284
|
+
rule('months', 'an array, oldest first', isArray),
|
|
285
|
+
rule('missingMonths', 'an array — named, never interpolated', isArray),
|
|
286
|
+
rule('promises', 'an object with planned, arrived, notArrived and cannotTell', isObject),
|
|
287
|
+
rule(
|
|
288
|
+
'outcomes',
|
|
289
|
+
'an object, or null when nothing recorded one',
|
|
290
|
+
(v) => v === null || isObject(v),
|
|
291
|
+
),
|
|
292
|
+
rule('cannotSay', 'an array of what this record cannot answer', isArray),
|
|
293
|
+
],
|
|
252
294
|
'cost-answer': [
|
|
253
295
|
rule('verdict', 'one of within, over, cannot-tell', (v) =>
|
|
254
296
|
v === 'within' || v === 'over' || v === 'cannot-tell'),
|
|
@@ -257,6 +299,65 @@ const DOCUMENT_RULES: Record<Exclude<ContractName, 'usage-log'>, FieldRule[]> =
|
|
|
257
299
|
],
|
|
258
300
|
};
|
|
259
301
|
|
|
302
|
+
/**
|
|
303
|
+
* Rules that read more than one field, because the refusals worth carrying are
|
|
304
|
+
* relational.
|
|
305
|
+
*
|
|
306
|
+
* A per-field contract can say "a number or null". It cannot say **"null when
|
|
307
|
+
* nothing was recorded, and a number otherwise"** — and that is the whole
|
|
308
|
+
* refusal. A rate of `0` is perfectly valid when calls were recorded and none
|
|
309
|
+
* of them succeeded; it is a lie when nothing was recorded at all, and the
|
|
310
|
+
* difference is in a different field.
|
|
311
|
+
*
|
|
312
|
+
* This was found while writing the outcome chapter: the per-field rule accepted
|
|
313
|
+
* `0` for the rate because zero is a finite number, so the strongest promise in
|
|
314
|
+
* the format was going uncarried. A standard that shipped the fields and lost
|
|
315
|
+
* that would be worse than no standard, because it would look interoperable.
|
|
316
|
+
*/
|
|
317
|
+
interface CrossRule {
|
|
318
|
+
at: string;
|
|
319
|
+
kind: ConformanceProblem['kind'];
|
|
320
|
+
/** True when the document is fine. */
|
|
321
|
+
ok: (doc: Record<string, unknown>) => boolean;
|
|
322
|
+
detail: string;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
const CROSS_RULES: Partial<Record<Exclude<ContractName, 'usage-log'>, CrossRule[]>> = {
|
|
326
|
+
'outcome-report': [
|
|
327
|
+
{
|
|
328
|
+
at: 'successShareOfRecordedUsd',
|
|
329
|
+
kind: 'absence-as-zero',
|
|
330
|
+
ok: (doc) => {
|
|
331
|
+
const coverage = doc.coverage as { recorded?: unknown } | undefined;
|
|
332
|
+
const recorded = typeof coverage?.recorded === 'number' ? coverage.recorded : null;
|
|
333
|
+
if (recorded !== 0) return true;
|
|
334
|
+
return doc.successShareOfRecordedUsd === null;
|
|
335
|
+
},
|
|
336
|
+
detail:
|
|
337
|
+
'nothing was recorded, so the rate must be null — 0 is a real and terrible measurement and this is an absence',
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
at: 'noRate',
|
|
341
|
+
kind: 'missing',
|
|
342
|
+
ok: (doc) => (doc.successShareOfRecordedUsd === null ? doc.noRate !== null : doc.noRate === null),
|
|
343
|
+
detail:
|
|
344
|
+
'a null rate needs a reason beside it and a stated rate must not carry one — a refusal never arrives bare, and a reason attached to an answer is two answers',
|
|
345
|
+
},
|
|
346
|
+
],
|
|
347
|
+
'annual-record': [
|
|
348
|
+
{
|
|
349
|
+
at: 'cannotSay',
|
|
350
|
+
kind: 'missing',
|
|
351
|
+
ok: (doc) =>
|
|
352
|
+
!Array.isArray(doc.missingMonths) ||
|
|
353
|
+
doc.missingMonths.length === 0 ||
|
|
354
|
+
(Array.isArray(doc.cannotSay) && doc.cannotSay.includes('months-missing')),
|
|
355
|
+
detail:
|
|
356
|
+
'months are missing and cannotSay does not say so — a year that quietly covers nine months and prints an annual total is wrong by a quarter',
|
|
357
|
+
},
|
|
358
|
+
],
|
|
359
|
+
};
|
|
360
|
+
|
|
260
361
|
/**
|
|
261
362
|
* Which contract a document is claiming to be.
|
|
262
363
|
*
|
|
@@ -266,6 +367,8 @@ const DOCUMENT_RULES: Record<Exclude<ContractName, 'usage-log'>, FieldRule[]> =
|
|
|
266
367
|
*/
|
|
267
368
|
function contractOf(doc: Record<string, unknown>): Exclude<ContractName, 'usage-log'> | null {
|
|
268
369
|
if (Array.isArray(doc.byLabelAndModel)) return 'profile';
|
|
370
|
+
if (Array.isArray(doc.missingMonths) && isObject(doc.promises)) return 'annual-record';
|
|
371
|
+
if (Array.isArray(doc.undeclared) && isObject(doc.coverage)) return 'outcome-report';
|
|
269
372
|
if (Array.isArray(doc.periods) && Array.isArray(doc.runs)) return 'history';
|
|
270
373
|
if (Array.isArray(doc.actions) && typeof doc.arrived === 'number') return 'verification';
|
|
271
374
|
if (Array.isArray(doc.actions)) return 'plan';
|
|
@@ -406,6 +509,14 @@ export function conform(text: string, options: ConformOptions = {}): Conformance
|
|
|
406
509
|
}
|
|
407
510
|
}
|
|
408
511
|
|
|
512
|
+
// Relational rules last, so a document with a missing field is told about the
|
|
513
|
+
// field before it is told about a relationship that field is half of.
|
|
514
|
+
for (const cross of CROSS_RULES[contract] ?? []) {
|
|
515
|
+
if (!cross.ok(doc)) {
|
|
516
|
+
problems.push({ at: cross.at, kind: cross.kind, detail: cross.detail });
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
|
|
409
520
|
return {
|
|
410
521
|
schemaVersion: 1,
|
|
411
522
|
contract,
|
package/src/index.ts
CHANGED
|
@@ -71,6 +71,8 @@ export type {
|
|
|
71
71
|
MeasuredMonth,
|
|
72
72
|
MonthReplay,
|
|
73
73
|
} from './commitment.js';
|
|
74
|
+
export { annualRecord } from './annual.js';
|
|
75
|
+
export type { AnnualPeriod, AnnualRecord } from './annual.js';
|
|
74
76
|
export { allocate, validateOwners } from './owners.js';
|
|
75
77
|
export type {
|
|
76
78
|
Allocation,
|