@codyswann/lisa 4.62.4 → 4.64.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.
Files changed (150) hide show
  1. package/all/copy-contents/.gitattributes +1 -0
  2. package/all/copy-contents/gitignore +1 -0
  3. package/dist/cli/effectiveness-cmd.d.ts +8 -0
  4. package/dist/cli/effectiveness-cmd.d.ts.map +1 -0
  5. package/dist/cli/effectiveness-cmd.js +40 -0
  6. package/dist/cli/effectiveness-cmd.js.map +1 -0
  7. package/dist/cli/index.d.ts.map +1 -1
  8. package/dist/cli/index.js +4 -10
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/ui-cmd.d.ts +24 -0
  11. package/dist/cli/ui-cmd.d.ts.map +1 -1
  12. package/dist/cli/ui-cmd.js +40 -13
  13. package/dist/cli/ui-cmd.js.map +1 -1
  14. package/dist/cli/ui-health.d.ts.map +1 -1
  15. package/dist/cli/ui-health.js +1 -40
  16. package/dist/cli/ui-health.js.map +1 -1
  17. package/dist/cli/ui-request-origin.d.ts +8 -0
  18. package/dist/cli/ui-request-origin.d.ts.map +1 -0
  19. package/dist/cli/ui-request-origin.js +41 -0
  20. package/dist/cli/ui-request-origin.js.map +1 -0
  21. package/dist/cli/ui-starter-sync.d.ts +17 -0
  22. package/dist/cli/ui-starter-sync.d.ts.map +1 -0
  23. package/dist/cli/ui-starter-sync.js +75 -0
  24. package/dist/cli/ui-starter-sync.js.map +1 -0
  25. package/dist/cli/update-check-hook.js +1 -0
  26. package/dist/cli/update-check-hook.js.map +1 -1
  27. package/dist/core/effectiveness-store.d.ts +104 -0
  28. package/dist/core/effectiveness-store.d.ts.map +1 -0
  29. package/dist/core/effectiveness-store.js +237 -0
  30. package/dist/core/effectiveness-store.js.map +1 -0
  31. package/dist/core/learnings-merge-driver.d.ts.map +1 -1
  32. package/dist/core/learnings-merge-driver.js +1 -0
  33. package/dist/core/learnings-merge-driver.js.map +1 -1
  34. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  35. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  36. package/dist/core/upstream-evidence-manifest.js +43 -10
  37. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  38. package/dist/utils/effectiveness.d.ts +72 -0
  39. package/dist/utils/effectiveness.d.ts.map +1 -0
  40. package/dist/utils/effectiveness.js +183 -0
  41. package/dist/utils/effectiveness.js.map +1 -0
  42. package/dist/utils/usage-accounting.d.ts +2 -0
  43. package/dist/utils/usage-accounting.d.ts.map +1 -1
  44. package/dist/utils/usage-accounting.js +24 -2
  45. package/dist/utils/usage-accounting.js.map +1 -1
  46. package/package.json +4 -4
  47. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  49. package/plugins/lisa/.codex-plugin/skills/lisa-learnings-audit/SKILL.md +10 -1
  50. package/plugins/lisa/.codex-plugin/skills/lisa-queue-status/SKILL.md +10 -0
  51. package/plugins/lisa/.codex-plugin/skills/lisa-setup-automations/SKILL.md +20 -0
  52. package/plugins/lisa/.codex-plugin/skills/lisa-starter-sync/SKILL.md +35 -0
  53. package/plugins/lisa/.codex-plugin/skills/lisa-starter-sync/agents/openai.yaml +4 -0
  54. package/plugins/lisa/.codex-plugin/skills/lisa-usage-accounting/SKILL.md +9 -0
  55. package/plugins/lisa/.codex-plugin/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  56. package/plugins/lisa/commands/starter-sync.md +6 -0
  57. package/plugins/lisa/rules/reference/usage-accounting.md +5 -1
  58. package/plugins/lisa/scripts/automation-status-expected-fleet.mjs +15 -0
  59. package/plugins/lisa/skills/lisa-learnings-audit/SKILL.md +10 -1
  60. package/plugins/lisa/skills/lisa-queue-status/SKILL.md +10 -0
  61. package/plugins/lisa/skills/lisa-setup-automations/SKILL.md +20 -0
  62. package/plugins/lisa/skills/lisa-starter-sync/SKILL.md +35 -0
  63. package/plugins/lisa/skills/lisa-starter-sync/agents/openai.yaml +4 -0
  64. package/plugins/lisa/skills/lisa-usage-accounting/SKILL.md +9 -0
  65. package/plugins/lisa/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  66. package/plugins/lisa-agy/commands/lisa/starter-sync.md +6 -0
  67. package/plugins/lisa-agy/plugin.json +1 -1
  68. package/plugins/lisa-agy/scripts/automation-status-expected-fleet.mjs +15 -0
  69. package/plugins/lisa-agy/skills/lisa-learnings-audit/SKILL.md +10 -1
  70. package/plugins/lisa-agy/skills/lisa-queue-status/SKILL.md +10 -0
  71. package/plugins/lisa-agy/skills/lisa-setup-automations/SKILL.md +20 -0
  72. package/plugins/lisa-agy/skills/lisa-starter-sync/SKILL.md +35 -0
  73. package/plugins/lisa-agy/skills/lisa-usage-accounting/SKILL.md +9 -0
  74. package/plugins/lisa-agy/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  75. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  77. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  78. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-copilot/commands/lisa/starter-sync.md +6 -0
  82. package/plugins/lisa-copilot/rules/reference/usage-accounting.md +5 -1
  83. package/plugins/lisa-copilot/scripts/automation-status-expected-fleet.mjs +15 -0
  84. package/plugins/lisa-copilot/skills/lisa-learnings-audit/SKILL.md +10 -1
  85. package/plugins/lisa-copilot/skills/lisa-queue-status/SKILL.md +10 -0
  86. package/plugins/lisa-copilot/skills/lisa-setup-automations/SKILL.md +20 -0
  87. package/plugins/lisa-copilot/skills/lisa-starter-sync/SKILL.md +35 -0
  88. package/plugins/lisa-copilot/skills/lisa-usage-accounting/SKILL.md +9 -0
  89. package/plugins/lisa-copilot/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  90. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-cursor/commands/lisa/starter-sync.md +6 -0
  92. package/plugins/lisa-cursor/rules/usage-accounting-reference.mdc +5 -1
  93. package/plugins/lisa-cursor/scripts/automation-status-expected-fleet.mjs +15 -0
  94. package/plugins/lisa-cursor/skills/lisa-learnings-audit/SKILL.md +10 -1
  95. package/plugins/lisa-cursor/skills/lisa-queue-status/SKILL.md +10 -0
  96. package/plugins/lisa-cursor/skills/lisa-setup-automations/SKILL.md +20 -0
  97. package/plugins/lisa-cursor/skills/lisa-starter-sync/SKILL.md +35 -0
  98. package/plugins/lisa-cursor/skills/lisa-usage-accounting/SKILL.md +9 -0
  99. package/plugins/lisa-cursor/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  100. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  101. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  102. package/plugins/lisa-expo-agy/plugin.json +1 -1
  103. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  105. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  106. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  107. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  108. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  110. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  111. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  112. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  113. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  115. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  116. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  117. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  118. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  119. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  120. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  121. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  122. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  123. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  124. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  125. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  126. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  127. package/plugins/lisa-rails-agy/plugin.json +1 -1
  128. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  129. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  130. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  131. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  132. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  133. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  134. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  135. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  136. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  137. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  138. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  139. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  140. package/plugins/src/base/commands/starter-sync.md +6 -0
  141. package/plugins/src/base/rules/reference/usage-accounting.md +5 -1
  142. package/plugins/src/base/scripts/automation-status-expected-fleet.mjs +15 -0
  143. package/plugins/src/base/skills/lisa-learnings-audit/SKILL.md +10 -1
  144. package/plugins/src/base/skills/lisa-queue-status/SKILL.md +10 -0
  145. package/plugins/src/base/skills/lisa-setup-automations/SKILL.md +20 -0
  146. package/plugins/src/base/skills/lisa-starter-sync/SKILL.md +35 -0
  147. package/plugins/src/base/skills/lisa-usage-accounting/SKILL.md +9 -0
  148. package/plugins/src/base/skills/lisa-usage-accounting/references/effectiveness.md +63 -0
  149. package/ui/README.md +30 -0
  150. package/ui/index.html +129 -12
@@ -0,0 +1,72 @@
1
+ /** Four independent clocks and their provenance for one usage row. */
2
+ export interface EffectivenessObservation {
3
+ readonly schema: 1;
4
+ readonly lisaVersion: string | null;
5
+ readonly workerConfigRevision: string | null;
6
+ readonly workerWallMs: number | null;
7
+ readonly feedbackMs: readonly number[] | null;
8
+ readonly workerSource: string | null;
9
+ readonly attention: readonly {
10
+ readonly id: string;
11
+ readonly source: string;
12
+ }[] | null;
13
+ readonly readyAt: string | null;
14
+ readonly acceptedAt: string | null;
15
+ readonly lifecycleSources: readonly string[] | null;
16
+ readonly reworkSources: readonly string[] | null;
17
+ }
18
+ /**
19
+ * Normalize and hash exactly as the gardener does, independent of ledger entry versions.
20
+ * @param invariant - Rule whose recurrence is being measured
21
+ * @returns Twelve-character SHA-256 prefix
22
+ */
23
+ export declare function invariantFingerprint(invariant: string): string;
24
+ /**
25
+ * Require a nonempty evidence identifier.
26
+ * @param value - Untrusted field
27
+ * @returns Whether this is a nonempty string
28
+ */
29
+ export declare function isEvidenceString(value: unknown): value is string;
30
+ /**
31
+ * Require an unambiguous UTC instant rather than a locale-dependent date.
32
+ * @param value - Untrusted timestamp
33
+ * @returns Whether this is a canonical UTC instant
34
+ */
35
+ export declare function isEvidenceTime(value: unknown): value is string;
36
+ /**
37
+ * Parse additive observation data, refusing malformed measurements rather than guessing.
38
+ * @param value - JSON-compatible input
39
+ * @returns Validated observation
40
+ */
41
+ export declare function parseEffectiveness(value: unknown): EffectivenessObservation;
42
+ /**
43
+ * Summarize a run without combining distinct clocks or extrapolating missing evidence.
44
+ * @param observation - Validated run observations
45
+ * @returns Clock summaries and observed human event count
46
+ */
47
+ export declare function summarizeEffectiveness(observation: EffectivenessObservation): {
48
+ feedback: {
49
+ count: number;
50
+ minMs: number | null;
51
+ medianMs: number | null;
52
+ p95Ms: number | null;
53
+ maxMs: number | null;
54
+ } | null;
55
+ workerWallMs: number | null;
56
+ humanInterventions: number | null;
57
+ readyToAcceptedMs: number | null;
58
+ };
59
+ /**
60
+ * Render an adjacent extension; the released primary usage token never changes.
61
+ * @param entryId - Correlated usage entry identity
62
+ * @param observation - Optional effectiveness observation
63
+ * @returns Extension token or empty text for legacy entries
64
+ */
65
+ export declare function renderEffectivenessToken(entryId: string, observation?: EffectivenessObservation): string;
66
+ /**
67
+ * Read correlated extensions and reject ambiguous repeated values.
68
+ * @param section - Managed usage markdown
69
+ * @returns Observation keyed by usage entry identity
70
+ */
71
+ export declare function parseEffectivenessTokens(section: string): ReadonlyMap<string, EffectivenessObservation>;
72
+ //# sourceMappingURL=effectiveness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectiveness.d.ts","sourceRoot":"","sources":["../../src/utils/effectiveness.ts"],"names":[],"mappings":"AAGA,sEAAsE;AACtE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,SAAS,EACd,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAC3D,IAAI,CAAC;IACT,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAClD;AAgBD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAM9D;AAoED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAuB3E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,wBAAwB;;;;;;;;;;;EAgC3E;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,wBAAwB,GACrC,MAAM,CAGR;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GACd,WAAW,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAyB/C"}
@@ -0,0 +1,183 @@
1
+ /** Observations, not scores. Unknown clocks stay null and evidence stays explicit. */
2
+ import { createHash } from "node:crypto";
3
+ const FIELDS = [
4
+ "schema",
5
+ "lisaVersion",
6
+ "workerConfigRevision",
7
+ "workerWallMs",
8
+ "feedbackMs",
9
+ "workerSource",
10
+ "attention",
11
+ "readyAt",
12
+ "acceptedAt",
13
+ "lifecycleSources",
14
+ "reworkSources",
15
+ ];
16
+ /**
17
+ * Normalize and hash exactly as the gardener does, independent of ledger entry versions.
18
+ * @param invariant - Rule whose recurrence is being measured
19
+ * @returns Twelve-character SHA-256 prefix
20
+ */
21
+ export function invariantFingerprint(invariant) {
22
+ return createHash("sha256")
23
+ .update(invariant.trim().replace(/\s+/gu, " ").toLowerCase())
24
+ .digest("hex")
25
+ .slice(0, 12);
26
+ }
27
+ /**
28
+ * Require a nonempty evidence identifier.
29
+ * @param value - Untrusted field
30
+ * @returns Whether this is a nonempty string
31
+ */
32
+ export function isEvidenceString(value) {
33
+ return typeof value === "string" && value.trim().length > 0;
34
+ }
35
+ /**
36
+ * Require an unambiguous UTC instant rather than a locale-dependent date.
37
+ * @param value - Untrusted timestamp
38
+ * @returns Whether this is a canonical UTC instant
39
+ */
40
+ export function isEvidenceTime(value) {
41
+ return (typeof value === "string" &&
42
+ Number.isFinite(Date.parse(value)) &&
43
+ new Date(value).toISOString() === value);
44
+ }
45
+ /**
46
+ * Validate a duration without converting missing values to zero.
47
+ * @param value - Untrusted duration
48
+ * @returns Whether duration is finite and nonnegative
49
+ */
50
+ function isDuration(value) {
51
+ return typeof value === "number" && Number.isFinite(value) && value >= 0;
52
+ }
53
+ /**
54
+ * Validate optional source lists.
55
+ * @param value - Untrusted sources
56
+ * @returns Whether sources are valid or explicitly unavailable
57
+ */
58
+ function isSources(value) {
59
+ return (value === null || (Array.isArray(value) && value.every(isEvidenceString)));
60
+ }
61
+ /**
62
+ * Validate observed human interventions; timestamps cannot imply minutes of work.
63
+ * @param value - Untrusted events
64
+ * @returns Whether all events carry stable identity and source
65
+ */
66
+ function isAttention(value) {
67
+ return (value === null ||
68
+ (Array.isArray(value) &&
69
+ value.every(event => event !== null &&
70
+ typeof event === "object" &&
71
+ Object.keys(event).length === 2 &&
72
+ isEvidenceString(event.id) &&
73
+ isEvidenceString(event.source))));
74
+ }
75
+ /**
76
+ * Check nullable clock fields and the evidence needed to interpret them.
77
+ * @param row - Candidate observation
78
+ * @returns Whether clocks are valid and sourced
79
+ */
80
+ function validClocks(row) {
81
+ const durations = (row.workerWallMs === null || isDuration(row.workerWallMs)) &&
82
+ (row.feedbackMs === null ||
83
+ (Array.isArray(row.feedbackMs) && row.feedbackMs.every(isDuration)));
84
+ const sourcedWorker = (row.workerWallMs === null && row.feedbackMs === null) ||
85
+ isEvidenceString(row.workerSource);
86
+ const times = [row.readyAt, row.acceptedAt].every(value => value === null || isEvidenceTime(value));
87
+ const sourcedLifecycle = (row.readyAt === null && row.acceptedAt === null) ||
88
+ (Array.isArray(row.lifecycleSources) && row.lifecycleSources.length > 0);
89
+ const ordered = !isEvidenceTime(row.readyAt) ||
90
+ !isEvidenceTime(row.acceptedAt) ||
91
+ Date.parse(row.acceptedAt) >= Date.parse(row.readyAt);
92
+ return durations && sourcedWorker && times && sourcedLifecycle && ordered;
93
+ }
94
+ /**
95
+ * Parse additive observation data, refusing malformed measurements rather than guessing.
96
+ * @param value - JSON-compatible input
97
+ * @returns Validated observation
98
+ */
99
+ export function parseEffectiveness(value) {
100
+ if (value === null || typeof value !== "object" || Array.isArray(value))
101
+ throw new Error("Invalid effectiveness observation");
102
+ const row = value;
103
+ const shape = Object.keys(row).length === FIELDS.length &&
104
+ FIELDS.every(key => Object.hasOwn(row, key));
105
+ const tags = [
106
+ row.lisaVersion,
107
+ row.workerConfigRevision,
108
+ row.workerSource,
109
+ ].every(tag => tag === null || isEvidenceString(tag));
110
+ if (!shape ||
111
+ row.schema !== 1 ||
112
+ !tags ||
113
+ !isAttention(row.attention) ||
114
+ !isSources(row.lifecycleSources) ||
115
+ !isSources(row.reworkSources) ||
116
+ !validClocks(row))
117
+ throw new Error("Invalid or unsourced effectiveness observation");
118
+ return value;
119
+ }
120
+ /**
121
+ * Summarize a run without combining distinct clocks or extrapolating missing evidence.
122
+ * @param observation - Validated run observations
123
+ * @returns Clock summaries and observed human event count
124
+ */
125
+ export function summarizeEffectiveness(observation) {
126
+ const row = parseEffectiveness(observation);
127
+ const samples = row.feedbackMs === null ? null : [...row.feedbackMs].sort((a, b) => a - b);
128
+ const percentile = (fraction) => samples?.[Math.max(0, Math.ceil(samples.length * fraction) - 1)] ?? null;
129
+ return {
130
+ feedback: samples === null
131
+ ? null
132
+ : {
133
+ count: samples.length,
134
+ minMs: samples[0] ?? null,
135
+ medianMs: samples.length === 0
136
+ ? null
137
+ : ((samples[Math.floor((samples.length - 1) / 2)] ?? 0) +
138
+ (samples[Math.floor(samples.length / 2)] ?? 0)) /
139
+ 2,
140
+ p95Ms: percentile(0.95),
141
+ maxMs: samples.at(-1) ?? null,
142
+ },
143
+ workerWallMs: row.workerWallMs,
144
+ humanInterventions: row.attention === null
145
+ ? null
146
+ : new Set(row.attention.map(event => event.id)).size,
147
+ readyToAcceptedMs: row.readyAt === null || row.acceptedAt === null
148
+ ? null
149
+ : Date.parse(row.acceptedAt) - Date.parse(row.readyAt),
150
+ };
151
+ }
152
+ /**
153
+ * Render an adjacent extension; the released primary usage token never changes.
154
+ * @param entryId - Correlated usage entry identity
155
+ * @param observation - Optional effectiveness observation
156
+ * @returns Extension token or empty text for legacy entries
157
+ */
158
+ export function renderEffectivenessToken(entryId, observation) {
159
+ if (observation === undefined)
160
+ return "";
161
+ return ` <!-- lisa:usage-effectiveness entry_id=${encodeURIComponent(entryId)} data=${encodeURIComponent(JSON.stringify(parseEffectiveness(observation)))} -->`;
162
+ }
163
+ /**
164
+ * Read correlated extensions and reject ambiguous repeated values.
165
+ * @param section - Managed usage markdown
166
+ * @returns Observation keyed by usage entry identity
167
+ */
168
+ export function parseEffectivenessTokens(section) {
169
+ const rows = Array.from(section.matchAll(/<!-- lisa:usage-effectiveness [^\r\n]*? -->/gu), token => {
170
+ const match = /^<!-- lisa:usage-effectiveness entry_id=(\S+) data=(\S+) -->$/u.exec(token[0]);
171
+ if (match === null)
172
+ throw new Error("Invalid effectiveness extension");
173
+ return [
174
+ decodeURIComponent(match[1] ?? ""),
175
+ parseEffectiveness(JSON.parse(decodeURIComponent(match[2] ?? ""))),
176
+ ];
177
+ });
178
+ const entries = new Map(rows);
179
+ if (rows.some(([id, row]) => JSON.stringify(entries.get(id)) !== JSON.stringify(row)))
180
+ throw new Error("Conflicting effectiveness extensions");
181
+ return entries;
182
+ }
183
+ //# sourceMappingURL=effectiveness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectiveness.js","sourceRoot":"","sources":["../../src/utils/effectiveness.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type EffectivenessObservation } from "./effectiveness.js";
1
2
  export declare const LISA_USAGE_HEADING = "## Lisa Usage";
2
3
  /**
3
4
  *
@@ -8,6 +9,7 @@ export interface LisaUsageEntry {
8
9
  cost: number | null;
9
10
  currency: string | null;
10
11
  entryId: string;
12
+ effectiveness?: EffectivenessObservation;
11
13
  flow: string;
12
14
  inputTokens: number | null;
13
15
  measuredSubsetTokens?: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"usage-accounting.d.ts","sourceRoot":"","sources":["../../src/utils/usage-accounting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-accounting.d.ts","sourceRoot":"","sources":["../../src/utils/usage-accounting.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable max-lines -- Usage ledger parsing, rendering, and rollup helpers share one public utility surface. */
2
2
  import { collectLisaUsageChildArtifacts } from "./usage-accounting-rollup.js";
3
3
  import { sumNullableDecimals } from "./decimal-sum.js";
4
+ import { parseEffectivenessTokens, renderEffectivenessToken, } from "./effectiveness.js";
4
5
  export const LISA_USAGE_HEADING = "## Lisa Usage";
5
6
  const ENTRY_TOKEN_PATTERN = /<!-- lisa:usage-entry [^\r\n]*? -->/g;
6
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*) -->$/;
@@ -230,7 +231,18 @@ function formatCost(value, currency) {
230
231
  */
231
232
  export function mergeLisaUsageEntries(existingEntries, nextEntries) {
232
233
  const incoming = new Map(nextEntries.map(entry => [entry.entryId, entry]));
233
- const mergedExisting = existingEntries.map(entry => incoming.get(entry.entryId) ?? entry);
234
+ const mergedExisting = existingEntries.map(entry => {
235
+ const next = incoming.get(entry.entryId);
236
+ return next === undefined
237
+ ? entry
238
+ : {
239
+ ...next,
240
+ ...(next.effectiveness === undefined &&
241
+ entry.effectiveness !== undefined
242
+ ? { effectiveness: entry.effectiveness }
243
+ : {}),
244
+ };
245
+ });
234
246
  const appended = nextEntries.filter(entry => !existingEntries.some(existing => existing.entryId === entry.entryId));
235
247
  return [...mergedExisting, ...appended];
236
248
  }
@@ -352,7 +364,7 @@ export function createLisaUsageRollup(entries, previousRollup, childArtifacts) {
352
364
  export function renderLisaUsageEntryToken(entry) {
353
365
  const primaryToken = `<!-- lisa:usage-entry entry_id=${encodeTokenValue(entry.entryId)} flow=${encodeTokenValue(entry.flow)} run_id=${encodeTokenValue(entry.runId)} provider=${encodeTokenValue(entry.provider)} model=${encodeTokenValue(entry.model)} source=${encodeTokenValue(entry.source)} input_tokens=${renderNullable(entry.inputTokens)} cached_input_tokens=${renderNullable(entry.cachedInputTokens)} output_tokens=${renderNullable(entry.outputTokens)} reasoning_tokens=${renderNullable(entry.reasoningTokens)} total_tokens=${renderNullable(entry.totalTokens)} cost=${renderNullable(entry.cost)} currency=${renderNullable(entry.currency)} pricing_status=${encodeTokenValue(entry.pricingStatus)} pricing_source=${renderNullable(entry.pricingSource)} artifact_ref=${encodeTokenValue(entry.artifactRef)} parent_artifact_ref=${entry.parentArtifactRef === null ? "" : encodeTokenValue(entry.parentArtifactRef)} -->`;
354
366
  const measuredSubsetToken = `<!-- lisa:usage-entry-measured-subset entry_id=${encodeTokenValue(entry.entryId)} measured_subset_tokens=${renderNullable(entry.measuredSubsetTokens ?? null)} -->`;
355
- return `${primaryToken} ${measuredSubsetToken}`;
367
+ return `${primaryToken} ${measuredSubsetToken}${renderEffectivenessToken(entry.entryId, entry.effectiveness)}`;
356
368
  }
357
369
  /**
358
370
  * Render the machine-readable rollup token for a managed usage section.
@@ -442,6 +454,7 @@ function parseLisaUsageRollup(section) {
442
454
  export function parseLisaUsageSection(document) {
443
455
  const range = findUsageSectionRange(document);
444
456
  const section = range ? document.slice(range.start, range.end) : "";
457
+ const effectiveness = parseEffectivenessTokens(section);
445
458
  const measuredSubsets = new Map(Array.from(section.matchAll(MEASURED_SUBSET_PATTERN), match => [
446
459
  decodeTokenValue(match[1] ?? ""),
447
460
  parseNullableNumber(match[2] ?? ""),
@@ -460,6 +473,9 @@ export function parseLisaUsageSection(document) {
460
473
  : parseReleasedMeasuredSubset(match[12] ?? "");
461
474
  return {
462
475
  entryId,
476
+ ...(effectiveness.has(entryId)
477
+ ? { effectiveness: effectiveness.get(entryId) }
478
+ : {}),
463
479
  flow: decodeTokenValue(match[2] ?? ""),
464
480
  runId: decodeTokenValue(match[3] ?? ""),
465
481
  provider: decodeTokenValue(match[4] ?? ""),
@@ -481,6 +497,12 @@ export function parseLisaUsageSection(document) {
481
497
  parentArtifactRef: parseNullableString(match[17 + releasedFieldOffset] ?? ""),
482
498
  };
483
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
+ }
484
506
  return { entries, rollup: parseLisaUsageRollup(section), range };
485
507
  }
486
508
  /**
@@ -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
@@ -187,7 +187,7 @@
187
187
  "zod-validation-error": "^4.0.0"
188
188
  },
189
189
  "name": "@codyswann/lisa",
190
- "version": "4.62.4",
190
+ "version": "4.64.0",
191
191
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
192
192
  "main": "dist/index.js",
193
193
  "exports": {
@@ -336,7 +336,7 @@
336
336
  "test": "tests"
337
337
  },
338
338
  "types": "./dist/index.d.ts",
339
- "lisaReleaseCommit": "8719a1c8b417337e85e48399e43560302e219aa7",
340
- "gitHead": "8719a1c8b417337e85e48399e43560302e219aa7",
341
- "lisaReleaseTag": "v4.62.4"
339
+ "lisaReleaseCommit": "86cdab2dc9fc8ab36b55b5060cc9ef746dc8446e",
340
+ "gitHead": "86cdab2dc9fc8ab36b55b5060cc9ef746dc8446e",
341
+ "lisaReleaseTag": "v4.64.0"
342
342
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.62.4",
3
+ "version": "4.64.0",
4
4
  "description": "Universal governance — agents, skills, commands, hooks, and rules for all projects",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lisa",
3
- "version": "4.62.4",
3
+ "version": "4.64.0",
4
4
  "description": "Universal governance: agents, skills, commands, hooks, and rules for all projects.",
5
5
  "author": {
6
6
  "name": "Cody Swann"
@@ -260,11 +260,20 @@ computed **deterministically — never estimated by the model**:
260
260
 
261
261
  1. **Normalize** the invariant text: trim leading/trailing whitespace,
262
262
  collapse every internal whitespace run to a single space, lowercase.
263
- 2. **Hash** in Bash: `printf '%s' "$normalized" | shasum -a 256 | cut -c1-12`.
263
+ 2. **Hash** through the shared implementation: write the invariant to a text file
264
+ and run `lisa effectiveness fingerprint --input <file>`. This performs the
265
+ normalization above and returns the first 12 SHA-256 hex characters.
264
266
 
265
267
  The same knowledge item therefore always produces the same key across runs,
266
268
  regardless of which session computes it.
267
269
 
270
+ Read `lisa effectiveness report` for committed post-control recurrence counts by
271
+ the same `<surface>+<invariant-hash>` key. Cite the count and occurrence sources as
272
+ evidence when deciding whether a control helped. Missing history means unknown,
273
+ not a successful control. Counts do not automatically justify a new ticket: apply
274
+ the existing worth-doing judgment. The learning entry's content-version fingerprint
275
+ is a different identifier and must not be substituted for this invariant hash.
276
+
268
277
  Before filing anything, search the tracker for the marker in
269
278
  **open AND closed** issues — and key the search on the deterministic
270
279
  `<surface>` prefix **first**, using the hash as disambiguation only, so even
@@ -69,6 +69,16 @@ For each inspected queue, report:
69
69
 
70
70
  The report should stay terminal-first and immediately actionable: observable queue facts first, then the smallest useful next step.
71
71
 
72
+ ## Delivery effort
73
+
74
+ Alongside queue counts, run the read-only `lisa effectiveness report`. Show observed
75
+ human interventions per accepted outcome, its numerator/denominator, and evidence
76
+ sources. State that this covers locally observed outcomes; absent reports or null
77
+ attention mean **unknown**, not zero. If queue-wide coverage has not been verified,
78
+ do not imply the ratio describes the whole queue. Show the separate run clocks and
79
+ committed recurring-failure counts when present. Do not create reports, change
80
+ tracker state, or use PR/token counts as outcome-value proxies from this skill.
81
+
72
82
  ## Pull request arming (#3903)
73
83
 
74
84
  Alongside the two work queues, report the **arming state of the repo's open pull requests**. A PR whose `autoMergeRequest` is `null` is fully green and permanently unmergeable: every check passes, `mergeStateStatus` is green, nothing complains, and it waits forever. Green-and-unarmed and green-and-waiting read identically on every other surface, so this is the one place that asks the question.
@@ -197,6 +197,26 @@ closed by the next run's dedupe or the human), not mutual exclusion; manual
197
197
  runs should first confirm the cron is not due or running. Tear-down removes
198
198
  it with the rest of the `lisa-auto-<project>-*` set.
199
199
 
200
+ **Optional automation — starter sync.** Read `starter.sync.auto` from the
201
+ project's current config. Only the boolean `true` opts in (default **false**).
202
+ When true, reconcile exactly one `lisa-auto-<project>-starter-sync` registration
203
+ running `/lisa:starter-sync` once a **day** (`FREQ=DAILY;INTERVAL=1`) in the
204
+ verified durable project checkout. Use the current runtime's native scheduler
205
+ and update an existing registration by its exact name rather than duplicating
206
+ it. Its prompt must identify this as a scheduled invocation, require a fresh
207
+ check of `starter.sync.auto` before mutation, and carry the literal command on
208
+ its own line. The `lisa-starter-sync` skill calls the shipped CLI and preserves
209
+ its configured landing strategy; an open PR is not an applied update.
210
+
211
+ When false or absent, remove any exact `lisa-auto-<project>-starter-sync`
212
+ registration using that same native scheduler, leaving all other schedules
213
+ alone. Read the scheduler back after either operation and report the observed
214
+ name, target, cadence, or verified absence. Saving the console toggle only saves
215
+ config: run this reconciliation to change the registration. If scheduler access
216
+ is unavailable, report registration/removal as **unverified**, not successful;
217
+ do not write its backing files or install another scheduler. This representation
218
+ gap applies to any runtime without a native recurring-task tool.
219
+
200
220
  **Optional automation — the health cron.** When `health.schedule` in
201
221
  `.lisa.config.json` is `daily` or `weekly` (default **off**, which registers
202
222
  nothing), additionally create `lisa-auto-<project>-health-drift` running
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: lisa-starter-sync
3
+ description: "Run one starter sync using…"
4
+ allowed-tools: ["Bash", "Read", "Skill"]
5
+ ---
6
+
7
+ # Sync the project's starter
8
+
9
+ Run one `lisa starter sync --json` in the verified project checkout using the
10
+ installed Lisa CLI. The CLI owns diffing, ownership rules, isolated PR worktrees,
11
+ direct-when-clean refusal, and reuse of an existing PR. Do not reproduce them.
12
+
13
+ For a scheduled invocation, re-read `starter.sync.auto` from the project's
14
+ current config before any mutation. If it is not exactly `true`, report
15
+ `no-change — automatic starter sync is off` and stop. A stale registration must
16
+ not keep applying changes after the operator turns the setting off.
17
+
18
+ Use a real existing work item when supplied (`--work-item <ref>`) and the actual
19
+ runtime's identity with `--co-author <identity>`. Never invent attribution,
20
+ disable hooks, or open a ticket merely to make an empty sync pass. If project
21
+ commit policy needs attribution that is unavailable, surface that requirement.
22
+
23
+ Report the returned outcome accurately:
24
+
25
+ - `current`: **nothing to do**; no changes landed.
26
+ - `committed`: name the resulting commit.
27
+ - `pull-request`: link the existing or newly opened PR; it is awaiting review,
28
+ not merged and not an advanced consumer baseline. Continue the existing
29
+ `lisa-drive-pr-to-merge` review workflow with `auto_merge=false` when available.
30
+ - Nonzero exit or malformed output: report the actual failure and any retained
31
+ worktree location. Do not reset or delete those recovery files.
32
+
33
+ Never write to the starter repository. Never enable auto-merge as part of this
34
+ command. The same skill is distributed to all six agent runtimes; native slash
35
+ commands use `/lisa:starter-sync`, and Codex uses `$lisa-starter-sync`.
@@ -0,0 +1,4 @@
1
+ display_name: "Starter Sync"
2
+ short_description: "Run one starter sync using…"
3
+ default_prompt:
4
+ - "Use $lisa-starter-sync: Run one starter sync using…."
@@ -140,6 +140,15 @@ the managed comment path.
140
140
 
141
141
  ### Step 3 — Apply the requested operation
142
142
 
143
+ For lifecycle rows, include the optional `effectiveness` observations defined in
144
+ [portable effectiveness reference](references/effectiveness.md): four separate clocks, explicit unknowns, sourced human
145
+ events, Lisa version, and worker configuration revision. Preserve extensions on old
146
+ rows. After the canonical host write passes readback, mirror the row through
147
+ `lisa effectiveness record --input <json-file>` for local status reports. On a
148
+ confirmed recurrence after its control shipped, use `lisa effectiveness recurrence
149
+ --input <json-file>` with the stable source event identity; commit that history
150
+ through normal checks. Do not infer human minutes or invent missing runtime telemetry.
151
+
143
152
  All three operations use the shared utilities and rule contract; they differ only in which inputs
144
153
  they require and whether they recompute child totals:
145
154