@codyswann/lisa 4.84.7 → 4.84.8
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/all/copy-overwrite/scripts/lib/completion-authorization.mjs +282 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-adapters.mjs +213 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-conformance.mjs +115 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-content.mjs +408 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-errors.mjs +16 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-github.mjs +233 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-markdown.mjs +70 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-projection.mjs +169 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-publisher.mjs +238 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-reader.mjs +175 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-shape.mjs +374 -0
- package/all/copy-overwrite/scripts/lib/completion-proof-source.mjs +174 -0
- package/all/copy-overwrite/scripts/lib/history-secret-scanner.mjs +20 -5
- package/all/copy-overwrite/scripts/lib/npm-update-helper-inventory.mjs +15 -0
- package/all/copy-overwrite/scripts/lib/usage-effectiveness.d.mts +27 -0
- package/all/copy-overwrite/scripts/lib/usage-effectiveness.mjs +156 -0
- package/all/copy-overwrite/scripts/lib/usage-ledger-integrity.d.mts +8 -0
- package/all/copy-overwrite/scripts/lib/usage-ledger-integrity.mjs +141 -0
- package/all/copy-overwrite/scripts/lib/usage-ledger.d.mts +89 -0
- package/all/copy-overwrite/scripts/lib/usage-ledger.mjs +206 -0
- package/all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh +3 -1
- package/all/copy-overwrite/scripts/lisa-work-item.mjs +255 -39
- package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +141 -3
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +186 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +101 -12
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/opencode/plugin-templates/parity-safety-net.sh +3 -1
- package/dist/utils/effectiveness.d.ts +4 -41
- package/dist/utils/effectiveness.d.ts.map +1 -1
- package/dist/utils/effectiveness.js +2 -126
- package/dist/utils/effectiveness.js.map +1 -1
- package/dist/utils/usage-accounting.d.ts +5 -100
- package/dist/utils/usage-accounting.d.ts.map +1 -1
- package/dist/utils/usage-accounting.js +4 -287
- package/dist/utils/usage-accounting.js.map +1 -1
- package/package.json +4 -4
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-tracker-evidence/SKILL.md +7 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
- package/plugins/lisa/hooks/parity-safety-net.sh +3 -1
- package/plugins/lisa/rules/eager/00-rule-index.md +1 -0
- package/plugins/lisa/rules/reference/completion-authorization.md +10 -0
- package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
- package/plugins/lisa/skills/lisa-tracker-evidence/SKILL.md +7 -1
- package/plugins/lisa/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
- package/plugins/lisa-agy/hooks/parity-safety-net.sh +3 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
- package/plugins/lisa-agy/skills/lisa-tracker-evidence/SKILL.md +7 -1
- package/plugins/lisa-agy/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/hooks/parity-safety-net.sh +3 -1
- package/plugins/lisa-copilot/rules/eager/00-rule-index.md +1 -0
- package/plugins/lisa-copilot/rules/reference/completion-authorization.md +10 -0
- package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-evidence/SKILL.md +7 -1
- package/plugins/lisa-copilot/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/hooks/parity-safety-net.sh +3 -1
- package/plugins/lisa-cursor/rules/00-rule-index.mdc +1 -0
- package/plugins/lisa-cursor/rules/completion-authorization-reference.mdc +15 -0
- package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-evidence/SKILL.md +7 -1
- package/plugins/lisa-cursor/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
- package/plugins/lisa-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-devin/hooks/parity-safety-net.sh +3 -1
- package/plugins/lisa-devin/rules/eager/00-rule-index.md +1 -0
- package/plugins/lisa-devin/rules/reference/completion-authorization.md +10 -0
- package/plugins/lisa-devin/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
- package/plugins/lisa-devin/skills/lisa-tracker-evidence/SKILL.md +7 -1
- package/plugins/lisa-devin/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/src/base/hooks/parity-safety-net.sh +3 -1
- package/plugins/src/base/rules/eager/00-rule-index.md +1 -0
- package/plugins/src/base/rules/reference/completion-authorization.md +10 -0
- package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +15 -1
- package/plugins/src/base/skills/lisa-tracker-evidence/SKILL.md +7 -1
- package/plugins/src/base/skills/lisa-tracker-evidence/references/completion-authorization.md +193 -0
- package/scripts/two-channel-couplings.json +2 -2
- package/typescript/copy-overwrite/.prettierignore +15 -0
- package/typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs +32 -0
|
@@ -1,68 +1,11 @@
|
|
|
1
|
+
import { LISA_USAGE_HEADING, parseLisaUsageSection, } from "../../all/copy-overwrite/scripts/lib/usage-ledger.mjs";
|
|
2
|
+
import { verifyLisaUsageSectionIntegrity } from "../../all/copy-overwrite/scripts/lib/usage-ledger-integrity.mjs";
|
|
3
|
+
export { LISA_USAGE_HEADING, parseLisaUsageSection, verifyLisaUsageSectionIntegrity, };
|
|
1
4
|
/* eslint-disable max-lines -- Usage ledger parsing, rendering, and rollup helpers share one public utility surface. */
|
|
2
5
|
import { collectLisaUsageChildArtifacts } from "./usage-accounting-rollup.js";
|
|
3
6
|
import { sumNullableDecimals } from "./decimal-sum.js";
|
|
4
|
-
import {
|
|
5
|
-
export const LISA_USAGE_HEADING = "## Lisa Usage";
|
|
6
|
-
const ENTRY_TOKEN_PATTERN = /<!-- lisa:usage-entry [^\r\n]*? -->/g;
|
|
7
|
-
const LEGACY_ENTRY_PATTERN = /^<!-- lisa:usage-entry entry_id=(\S+) flow=(\S+) run_id=(\S+) provider=(\S+) model=(\S+) source=(\S+) input_tokens=(\S+) cached_input_tokens=(\S+) output_tokens=(\S+) reasoning_tokens=(\S+) total_tokens=(\S+) cost=(\S+) currency=(\S+) pricing_status=(\S+) pricing_source=(\S+) artifact_ref=(\S+) parent_artifact_ref=(\S*) -->$/;
|
|
8
|
-
const RELEASED_MIDDLE_FIELD_ENTRY_PATTERN = /^<!-- lisa:usage-entry entry_id=(\S+) flow=(\S+) run_id=(\S+) provider=(\S+) model=(\S+) source=(\S+) input_tokens=(\S+) cached_input_tokens=(\S+) output_tokens=(\S+) reasoning_tokens=(\S+) total_tokens=(\S+) measured_subset_tokens=(\S+) cost=(\S+) currency=(\S+) pricing_status=(\S+) pricing_source=(\S+) artifact_ref=(\S+) parent_artifact_ref=(\S*) -->$/;
|
|
9
|
-
const MEASURED_SUBSET_PATTERN = /<!-- lisa:usage-entry-measured-subset entry_id=(\S+) measured_subset_tokens=(\S+) -->/g;
|
|
10
|
-
const ROLLUP_PATTERN = /<!-- lisa:usage-rollup direct_entry_ids=(\S*) child_entry_ids=(\S*) child_refs=(\S*) direct_tokens=(\S+) child_tokens=(\S+) total_tokens=(\S+) direct_cost=(\S+) child_cost=(\S+) total_cost=(\S+) currency=(\S+)(?: child_currency=(\S+))? -->/;
|
|
11
|
-
const ROLLUP_TOKEN_STATUS_PATTERN = /<!-- lisa:usage-rollup-token-status child_tokens_incomplete=true -->/;
|
|
7
|
+
import { renderEffectivenessToken } from "./effectiveness.js";
|
|
12
8
|
const MIXED_CURRENCY = "mixed";
|
|
13
|
-
/**
|
|
14
|
-
* Parse a nullable numeric token field.
|
|
15
|
-
*
|
|
16
|
-
* @param value Serialized numeric token value.
|
|
17
|
-
* @returns The parsed number or null when the token is empty.
|
|
18
|
-
*/
|
|
19
|
-
function parseNullableNumber(value) {
|
|
20
|
-
if (value === "null" || value.length === 0) {
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
const parsed = Number(value);
|
|
24
|
-
if (!Number.isFinite(parsed)) {
|
|
25
|
-
throw new Error(`Invalid Lisa usage numeric token: ${value}`);
|
|
26
|
-
}
|
|
27
|
-
return parsed;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Parse the additive field from the published 2.222.0 marker. Legacy callers
|
|
31
|
-
* could serialize an omitted property as the literal `undefined`; no other
|
|
32
|
-
* numeric field receives this compatibility exception.
|
|
33
|
-
*
|
|
34
|
-
* @param value Transitional measured-subset token value.
|
|
35
|
-
* @returns The parsed subtotal, or null for the published undefined omission.
|
|
36
|
-
*/
|
|
37
|
-
function parseReleasedMeasuredSubset(value) {
|
|
38
|
-
return value === "undefined" ? null : parseNullableNumber(value);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Parse a nullable string token field.
|
|
42
|
-
*
|
|
43
|
-
* @param value Serialized string token value.
|
|
44
|
-
* @returns The parsed string or null when the token is empty.
|
|
45
|
-
*/
|
|
46
|
-
function parseNullableString(value) {
|
|
47
|
-
if (value === "null" || value.length === 0) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
return decodeTokenValue(value);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Decode a percent-encoded token field.
|
|
54
|
-
*
|
|
55
|
-
* @param value Serialized token field.
|
|
56
|
-
* @returns The decoded token value, or the original value for legacy tokens.
|
|
57
|
-
*/
|
|
58
|
-
function decodeTokenValue(value) {
|
|
59
|
-
try {
|
|
60
|
-
return decodeURIComponent(value);
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
return value;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
9
|
/**
|
|
67
10
|
* Serialize a token field so whitespace, delimiters, and HTML comment endings
|
|
68
11
|
* cannot corrupt the machine-readable comment on the next parse.
|
|
@@ -85,18 +28,6 @@ function renderNullable(value) {
|
|
|
85
28
|
}
|
|
86
29
|
return typeof value === "number" ? String(value) : encodeTokenValue(value);
|
|
87
30
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Parse a comma-separated token field into stable document order.
|
|
90
|
-
*
|
|
91
|
-
* @param value Serialized CSV token field.
|
|
92
|
-
* @returns The parsed item list.
|
|
93
|
-
*/
|
|
94
|
-
function parseCsv(value) {
|
|
95
|
-
if (value.length === 0) {
|
|
96
|
-
return [];
|
|
97
|
-
}
|
|
98
|
-
return value.split(",").map(decodeTokenValue);
|
|
99
|
-
}
|
|
100
31
|
/**
|
|
101
32
|
* Serialize a list as a comma-delimited token field with each item encoded
|
|
102
33
|
* independently, so commas inside item values are preserved.
|
|
@@ -143,31 +74,6 @@ function resolveDirectCostCurrency(entries) {
|
|
|
143
74
|
}
|
|
144
75
|
return currencies.values().next().value ?? null;
|
|
145
76
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Locate the current managed usage-section boundaries inside an artifact body.
|
|
148
|
-
*
|
|
149
|
-
* @param document Artifact markdown to inspect.
|
|
150
|
-
* @returns The start/end character offsets for the section, if present.
|
|
151
|
-
*/
|
|
152
|
-
function findUsageSectionRange(document) {
|
|
153
|
-
const heading = `${LISA_USAGE_HEADING}\n`;
|
|
154
|
-
const start = document.indexOf(heading);
|
|
155
|
-
if (start === -1) {
|
|
156
|
-
if (!document.endsWith(LISA_USAGE_HEADING)) {
|
|
157
|
-
return null;
|
|
158
|
-
}
|
|
159
|
-
return {
|
|
160
|
-
start: document.length - LISA_USAGE_HEADING.length,
|
|
161
|
-
end: document.length,
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
const afterHeading = start + heading.length;
|
|
165
|
-
const nextHeadingOffset = document.slice(afterHeading).search(/^##\s+/m);
|
|
166
|
-
const end = nextHeadingOffset === -1
|
|
167
|
-
? document.length
|
|
168
|
-
: afterHeading + nextHeadingOffset;
|
|
169
|
-
return { start, end };
|
|
170
|
-
}
|
|
171
77
|
/**
|
|
172
78
|
* Split an artifact body around the managed usage section.
|
|
173
79
|
*
|
|
@@ -417,195 +323,6 @@ export function renderLisaUsageSection(input) {
|
|
|
417
323
|
];
|
|
418
324
|
return `${lines.join("\n")}\n`;
|
|
419
325
|
}
|
|
420
|
-
/**
|
|
421
|
-
* Parse the managed rollup and its optional token-completeness extension.
|
|
422
|
-
*
|
|
423
|
-
* @param section Managed usage section text.
|
|
424
|
-
* @returns The parsed rollup, or null when the section has no rollup token.
|
|
425
|
-
*/
|
|
426
|
-
function parseLisaUsageRollup(section) {
|
|
427
|
-
const match = ROLLUP_PATTERN.exec(section);
|
|
428
|
-
if (match === null) {
|
|
429
|
-
return null;
|
|
430
|
-
}
|
|
431
|
-
return {
|
|
432
|
-
directEntryIds: parseCsv(match[1] ?? ""),
|
|
433
|
-
childEntryIds: parseCsv(match[2] ?? ""),
|
|
434
|
-
childRefs: parseCsv(match[3] ?? ""),
|
|
435
|
-
directTokens: parseNullableNumber(match[4] ?? ""),
|
|
436
|
-
childTokens: parseNullableNumber(match[5] ?? ""),
|
|
437
|
-
...(ROLLUP_TOKEN_STATUS_PATTERN.test(section)
|
|
438
|
-
? { childTokensIncomplete: true }
|
|
439
|
-
: {}),
|
|
440
|
-
totalTokens: parseNullableNumber(match[6] ?? ""),
|
|
441
|
-
directCost: parseNullableNumber(match[7] ?? ""),
|
|
442
|
-
childCost: parseNullableNumber(match[8] ?? ""),
|
|
443
|
-
totalCost: parseNullableNumber(match[9] ?? ""),
|
|
444
|
-
currency: parseNullableString(match[10] ?? ""),
|
|
445
|
-
childCurrency: parseNullableString(match[11] ?? ""),
|
|
446
|
-
};
|
|
447
|
-
}
|
|
448
|
-
/**
|
|
449
|
-
* Parse the managed usage section out of an artifact body or comment.
|
|
450
|
-
*
|
|
451
|
-
* @param document Artifact markdown to inspect.
|
|
452
|
-
* @returns Parsed direct entries, rollup token, and the located section range.
|
|
453
|
-
*/
|
|
454
|
-
export function parseLisaUsageSection(document) {
|
|
455
|
-
const range = findUsageSectionRange(document);
|
|
456
|
-
const section = range ? document.slice(range.start, range.end) : "";
|
|
457
|
-
const effectiveness = parseEffectivenessTokens(section);
|
|
458
|
-
const measuredSubsets = new Map(Array.from(section.matchAll(MEASURED_SUBSET_PATTERN), match => [
|
|
459
|
-
decodeTokenValue(match[1] ?? ""),
|
|
460
|
-
parseNullableNumber(match[2] ?? ""),
|
|
461
|
-
]));
|
|
462
|
-
const entries = Array.from(section.matchAll(ENTRY_TOKEN_PATTERN), tokenMatch => {
|
|
463
|
-
const token = tokenMatch[0];
|
|
464
|
-
const releasedMatch = RELEASED_MIDDLE_FIELD_ENTRY_PATTERN.exec(token);
|
|
465
|
-
const match = releasedMatch ?? LEGACY_ENTRY_PATTERN.exec(token);
|
|
466
|
-
if (match === null) {
|
|
467
|
-
throw new Error(`Invalid Lisa usage entry token: ${token}`);
|
|
468
|
-
}
|
|
469
|
-
const releasedFieldOffset = releasedMatch === null ? 0 : 1;
|
|
470
|
-
const entryId = decodeTokenValue(match[1] ?? "");
|
|
471
|
-
const embeddedMeasuredSubset = releasedMatch === null
|
|
472
|
-
? null
|
|
473
|
-
: parseReleasedMeasuredSubset(match[12] ?? "");
|
|
474
|
-
return {
|
|
475
|
-
entryId,
|
|
476
|
-
...(effectiveness.has(entryId)
|
|
477
|
-
? { effectiveness: effectiveness.get(entryId) }
|
|
478
|
-
: {}),
|
|
479
|
-
flow: decodeTokenValue(match[2] ?? ""),
|
|
480
|
-
runId: decodeTokenValue(match[3] ?? ""),
|
|
481
|
-
provider: decodeTokenValue(match[4] ?? ""),
|
|
482
|
-
model: decodeTokenValue(match[5] ?? ""),
|
|
483
|
-
source: decodeTokenValue(match[6] ?? ""),
|
|
484
|
-
inputTokens: parseNullableNumber(match[7] ?? ""),
|
|
485
|
-
cachedInputTokens: parseNullableNumber(match[8] ?? ""),
|
|
486
|
-
outputTokens: parseNullableNumber(match[9] ?? ""),
|
|
487
|
-
reasoningTokens: parseNullableNumber(match[10] ?? ""),
|
|
488
|
-
totalTokens: parseNullableNumber(match[11] ?? ""),
|
|
489
|
-
measuredSubsetTokens: measuredSubsets.has(entryId)
|
|
490
|
-
? (measuredSubsets.get(entryId) ?? null)
|
|
491
|
-
: embeddedMeasuredSubset,
|
|
492
|
-
cost: parseNullableNumber(match[12 + releasedFieldOffset] ?? ""),
|
|
493
|
-
currency: parseNullableString(match[13 + releasedFieldOffset] ?? ""),
|
|
494
|
-
pricingStatus: decodeTokenValue(match[14 + releasedFieldOffset] ?? ""),
|
|
495
|
-
pricingSource: parseNullableString(match[15 + releasedFieldOffset] ?? ""),
|
|
496
|
-
artifactRef: decodeTokenValue(match[16 + releasedFieldOffset] ?? ""),
|
|
497
|
-
parentArtifactRef: parseNullableString(match[17 + releasedFieldOffset] ?? ""),
|
|
498
|
-
};
|
|
499
|
-
});
|
|
500
|
-
const entryIds = new Set(entries.map(entry => entry.entryId));
|
|
501
|
-
for (const entryId of effectiveness.keys()) {
|
|
502
|
-
if (!entryIds.has(entryId)) {
|
|
503
|
-
throw new Error(`Effectiveness observation has no usage entry: ${entryId}`);
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
return { entries, rollup: parseLisaUsageRollup(section), range };
|
|
507
|
-
}
|
|
508
|
-
/**
|
|
509
|
-
* Sort ids so an integrity report is deterministic regardless of document order.
|
|
510
|
-
*
|
|
511
|
-
* @param ids Entry ids to normalize.
|
|
512
|
-
* @returns The ids in stable sorted order.
|
|
513
|
-
*/
|
|
514
|
-
function sortedIds(ids) {
|
|
515
|
-
return [...ids].sort((left, right) => left > right ? 1 : left < right ? -1 : 0);
|
|
516
|
-
}
|
|
517
|
-
/**
|
|
518
|
-
* Emit an issue only when it actually names something, so callers can compose
|
|
519
|
-
* checks by concatenation instead of conditional accumulation.
|
|
520
|
-
*
|
|
521
|
-
* @param code Stable issue code.
|
|
522
|
-
* @param entryIds Entry ids the issue is about.
|
|
523
|
-
* @param message Operator-readable description.
|
|
524
|
-
* @returns A zero- or one-element issue list.
|
|
525
|
-
*/
|
|
526
|
-
function reportIssue(code, entryIds, message) {
|
|
527
|
-
return entryIds.length === 0 ? [] : [{ code, entryIds, message }];
|
|
528
|
-
}
|
|
529
|
-
/**
|
|
530
|
-
* Report entries the caller just wrote that the stored surface cannot produce.
|
|
531
|
-
*
|
|
532
|
-
* @param expectedEntryIds Entry ids the caller believes it persisted.
|
|
533
|
-
* @param parsedEntryIds Entry ids actually parseable from the stored section.
|
|
534
|
-
* @returns Zero or one `missing-entry-token` issue.
|
|
535
|
-
*/
|
|
536
|
-
function findDroppedExpectedEntries(expectedEntryIds, parsedEntryIds) {
|
|
537
|
-
const missing = sortedIds(expectedEntryIds.filter(entryId => !parsedEntryIds.has(entryId)));
|
|
538
|
-
return reportIssue("missing-entry-token", missing, `Stored section does not contain a parseable lisa:usage-entry token for: ${missing.join(", ")}. The write surface dropped them.`);
|
|
539
|
-
}
|
|
540
|
-
/**
|
|
541
|
-
* Report rollup references that resolve to no direct entry in the same section.
|
|
542
|
-
*
|
|
543
|
-
* @param rollupEntryIds Entry ids named by the stored rollup token.
|
|
544
|
-
* @param parsedEntryIds Entry ids actually parseable from the stored section.
|
|
545
|
-
* @param alreadyReported Ids already reported as dropped caller expectations.
|
|
546
|
-
* @returns Zero or one `missing-entry-token` issue.
|
|
547
|
-
*/
|
|
548
|
-
function findUnresolvableRollupReferences(rollupEntryIds, parsedEntryIds, alreadyReported) {
|
|
549
|
-
const unresolvable = sortedIds(rollupEntryIds.filter(entryId => !parsedEntryIds.has(entryId) && !alreadyReported.includes(entryId)));
|
|
550
|
-
return reportIssue("missing-entry-token", unresolvable, `Rollup direct_entry_ids names entries that cannot be parsed from the same section: ${unresolvable.join(", ")}.`);
|
|
551
|
-
}
|
|
552
|
-
/**
|
|
553
|
-
* Report direct entries the stored rollup token fails to account for.
|
|
554
|
-
*
|
|
555
|
-
* @param rollup Stored rollup token, or null when the section carries none.
|
|
556
|
-
* @param parsedEntryIds Entry ids actually parseable from the stored section.
|
|
557
|
-
* @returns Zero or one issue describing the disagreement.
|
|
558
|
-
*/
|
|
559
|
-
function findRollupCoverageGaps(rollup, parsedEntryIds) {
|
|
560
|
-
const entryIds = sortedIds(parsedEntryIds);
|
|
561
|
-
if (rollup === null) {
|
|
562
|
-
// Every section Lisa writes carries a rollup token, even a child-only or
|
|
563
|
-
// fully empty ledger, so a missing token is always corruption -- report
|
|
564
|
-
// it unconditionally rather than routing through reportIssue(), which
|
|
565
|
-
// suppresses issues that name zero entries.
|
|
566
|
-
return [
|
|
567
|
-
{
|
|
568
|
-
code: "missing-rollup-token",
|
|
569
|
-
entryIds,
|
|
570
|
-
message: `Stored section has ${entryIds.length} direct entr${entryIds.length === 1 ? "y" : "ies"} but no lisa:usage-rollup token.`,
|
|
571
|
-
},
|
|
572
|
-
];
|
|
573
|
-
}
|
|
574
|
-
const recorded = new Set(rollup.directEntryIds);
|
|
575
|
-
const unrecorded = entryIds.filter(entryId => !recorded.has(entryId));
|
|
576
|
-
return reportIssue("unrecorded-entry", unrecorded, `Stored section contains direct entries absent from rollup direct_entry_ids: ${unrecorded.join(", ")}.`);
|
|
577
|
-
}
|
|
578
|
-
/**
|
|
579
|
-
* Verify that a STORED managed usage section is still a readable ledger.
|
|
580
|
-
*
|
|
581
|
-
* This exists because a write surface can accept a section, report success, and
|
|
582
|
-
* silently destroy part of it. Callers must run this against the bytes read back
|
|
583
|
-
* from the host, never against the payload they sent and never against the
|
|
584
|
-
* mutation's return value — trusting the mutation result is precisely what let a
|
|
585
|
-
* Linear description strip every entry token while reporting `success: true`.
|
|
586
|
-
*
|
|
587
|
-
* @param storedDocument Artifact body or comment body as read back from the host.
|
|
588
|
-
* @param expected Optional expectations from the write that was just performed.
|
|
589
|
-
* @param expected.entryIds Entry ids the caller believes it just persisted.
|
|
590
|
-
* @returns Whether the stored ledger is enumerable, plus every issue found.
|
|
591
|
-
*/
|
|
592
|
-
export function verifyLisaUsageSectionIntegrity(storedDocument, expected) {
|
|
593
|
-
const parsed = parseLisaUsageSection(storedDocument);
|
|
594
|
-
const expectedEntryIds = expected?.entryIds ?? [];
|
|
595
|
-
if (parsed.range === null) {
|
|
596
|
-
const missing = sortedIds(expectedEntryIds);
|
|
597
|
-
const issues = reportIssue("missing-section", missing, `Stored artifact has no ${LISA_USAGE_HEADING} section, but ${missing.length} usage entr${missing.length === 1 ? "y was" : "ies were"} written to it.`);
|
|
598
|
-
return { ok: issues.length === 0, issues };
|
|
599
|
-
}
|
|
600
|
-
const parsedEntryIds = new Set(parsed.entries.map(entry => entry.entryId));
|
|
601
|
-
const droppedExpected = findDroppedExpectedEntries(expectedEntryIds, parsedEntryIds);
|
|
602
|
-
const issues = [
|
|
603
|
-
...droppedExpected,
|
|
604
|
-
...findUnresolvableRollupReferences(parsed.rollup?.directEntryIds ?? [], parsedEntryIds, droppedExpected.flatMap(issue => issue.entryIds)),
|
|
605
|
-
...findRollupCoverageGaps(parsed.rollup, parsedEntryIds),
|
|
606
|
-
];
|
|
607
|
-
return { ok: issues.length === 0, issues };
|
|
608
|
-
}
|
|
609
326
|
/**
|
|
610
327
|
* Append or replace the canonical `## Lisa Usage` section in a markdown
|
|
611
328
|
* artifact while preserving prior entries that are not being refreshed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-accounting.js","sourceRoot":"","sources":["../../src/utils/usage-accounting.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usage-accounting.js","sourceRoot":"","sources":["../../src/utils/usage-accounting.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
"qs": "^6.16.0"
|
|
190
190
|
},
|
|
191
191
|
"name": "@codyswann/lisa",
|
|
192
|
-
"version": "4.84.
|
|
192
|
+
"version": "4.84.8",
|
|
193
193
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
194
194
|
"main": "dist/index.js",
|
|
195
195
|
"exports": {
|
|
@@ -347,7 +347,7 @@
|
|
|
347
347
|
"test": "tests"
|
|
348
348
|
},
|
|
349
349
|
"types": "./dist/index.d.ts",
|
|
350
|
-
"lisaReleaseCommit": "
|
|
351
|
-
"gitHead": "
|
|
352
|
-
"lisaReleaseTag": "v4.84.
|
|
350
|
+
"lisaReleaseCommit": "f886101a6189bbfc6c268bc128b9c6fd4bb7730f",
|
|
351
|
+
"gitHead": "f886101a6189bbfc6c268bc128b9c6fd4bb7730f",
|
|
352
|
+
"lisaReleaseTag": "v4.84.8"
|
|
353
353
|
}
|
|
@@ -1355,7 +1355,8 @@ Four properties make the command safe to run unconditionally:
|
|
|
1355
1355
|
above does, and for the same reason. A merged pull request is not evidence
|
|
1356
1356
|
on its own: the writer resolves `<baseRefName>` through `.lisa.config.json`
|
|
1357
1357
|
`deploy.branches` and applies only the role that base earned. A merge into
|
|
1358
|
-
the production deploy branch
|
|
1358
|
+
the production deploy branch becomes eligible for terminal completion only
|
|
1359
|
+
after canonical accepted-for-completion proof passes; a merge into a
|
|
1359
1360
|
branch mapping to a lower env records that env's role and leaves the item
|
|
1360
1361
|
open; a merge into a branch the project does not deploy at all — an
|
|
1361
1362
|
integration/stack branch — records nothing, closes nothing, and reports the
|
|
@@ -1377,6 +1378,19 @@ If the command refuses, do not close by hand. A refusal means the evidence is
|
|
|
1377
1378
|
not there, and a lifecycle step performed by hand is one nothing can verify
|
|
1378
1379
|
happened.
|
|
1379
1380
|
|
|
1381
|
+
`work-item pending-proof` is a normal nonterminal outcome: the merge does not
|
|
1382
|
+
prove the configured whole delivery run, runtime behavior, typed attachments,
|
|
1383
|
+
CONFORMS, canonical Verify usage, exact linkage and acceptance. Keep the item
|
|
1384
|
+
owned/open, finish canonical Verify and `lisa-tracker-evidence`, and use its
|
|
1385
|
+
shipped `publish-completion-proof` producer after actual uploads/readbacks.
|
|
1386
|
+
Then retry canonical completion. Read the sibling skill companion
|
|
1387
|
+
`../lisa-tracker-evidence/references/completion-authorization.md` relative to this
|
|
1388
|
+
skill directory; it is the portable `completion-authorization` reference.
|
|
1389
|
+
Publish an immutable required pending-state journey artifact first; append the
|
|
1390
|
+
real native terminal readback/acceptedAt afterward. Never require the future
|
|
1391
|
+
close event as its own authorization. A configured bot publisher's still-running
|
|
1392
|
+
pinned attempt keeps completion pending until that exact attempt succeeds.
|
|
1393
|
+
|
|
1380
1394
|
**The backstop, for the ones that still slip:** `lisa-work-item.mjs sweep`
|
|
1381
1395
|
reports every open item — in the **ready** lane as well as the **claimed** one —
|
|
1382
1396
|
that a commit on a deploy branch DECLARES via its `Work-Item:` trailer, and
|
|
@@ -16,6 +16,11 @@ Apply `lisa-tracker-sync` — **Agent attribution** when composing evidence comm
|
|
|
16
16
|
|
|
17
17
|
## Workflow
|
|
18
18
|
|
|
19
|
+
The portable accepted-completion contract is this skill's own
|
|
20
|
+
`references/completion-authorization.md` companion. Read that file when preparing
|
|
21
|
+
or publishing completion proof. It ships with the skill even on runtimes that
|
|
22
|
+
omit the plugin rules tree; do not assume a runtime-specific rules directory.
|
|
23
|
+
|
|
19
24
|
1. Resolve tracker config (same logic as `lisa-tracker-write`).
|
|
20
25
|
2. Missing / empty → stop and report `"No tracker configured in .lisa.config.json. Run /lisa:setup:jira, /lisa:setup:github, or /lisa:setup:linear first."`
|
|
21
26
|
3. Before dispatching, update the generated evidence artifact through `lisa-usage-accounting` so the comment body / PR evidence section carries a direct `lisa-verify` usage entry in the canonical `## Lisa Usage` section. If the originating work item's parentage or child refs are already known, prefer `record_and_rollup` so ancestor totals refresh in the same write; otherwise still write the direct entry, and if trustworthy runtime usage is unavailable, write `source: unavailable` with nullable token/cost fields instead of skipping the row.
|
|
@@ -24,7 +29,8 @@ Apply `lisa-tracker-sync` — **Agent attribution** when composing evidence comm
|
|
|
24
29
|
- `github` → invoke `lisa-github-evidence` with `$ARGUMENTS` verbatim. Arg shape: `<ISSUE_REF> <EVIDENCE_DIR> <PR_NUMBER>` where `ISSUE_REF` is `org/repo#<number>` or a GitHub issue URL.
|
|
25
30
|
- `linear` → invoke `lisa-linear-evidence` with `$ARGUMENTS` verbatim. Arg shape: `<IDENTIFIER> <EVIDENCE_DIR>` where `IDENTIFIER` is a Linear Issue identifier (e.g., `ENG-123`).
|
|
26
31
|
- Anything else → stop and report `"Unknown tracker '<value>' in .lisa.config.json. Expected 'jira', 'github', or 'linear'."`
|
|
27
|
-
5.
|
|
32
|
+
5. For supported GitHub/Linear production completion, after actual uploads and exact native readbacks, prepare the accepted-for-completion input from the observed source/delivery, schema2 verdicts, actual typed attachment pointers, complete requirement conjunction map, structured CONFORMS report, canonical Verify usage, linkage and explicit acceptance. Apply the shipped `completion-authorization` reference; the executable validates the contract in every installed host. Run `node scripts/lisa-work-item.mjs publish-completion-proof --ref <exact-work-item> --record <evidence-dir>/completion-record.json`. It uploads immutable hash-named acceptance bytes to the implementation repository's `pr-assets`, reads them back and publishes the exact-item native locator. Never construct a locator manually or treat a narrative evidence comment as acceptance. Jira completion remains unsupported.
|
|
33
|
+
6. Pass through both the vendor output and actual producer category. `published/pending-producer` means the pinned configured automation attempt must finish successfully before completion; do not rewrite the asset after the job or invent a successful future outcome. A User publisher does not require a producer workflow run. Only after accepted publication may the canonical lifecycle owner retry `complete`; pending proof preserves ownership and state and names the Verify/evidence action. Capture actual terminal readback/usage acceptedAt afterward, not as a circular publication prerequisite. A required pending-state journey artifact is immutable Phase-A proof captured before completion; the later actual terminal readback is a separate Phase-B supplement.
|
|
28
34
|
|
|
29
35
|
## Rules
|
|
30
36
|
|