agentera 3.0.0-dev.21 → 3.0.0-dev.22
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/bundle/CHANGELOG.md +9 -0
- package/bundle/references/analysis/evidence-tier-authority.yaml +516 -0
- package/bundle/references/artifacts/verbosity-budget-authority.yaml +42 -0
- package/bundle/skills/agentera/capabilities/profile/schemas/validation.yaml +31 -3
- package/bundle/skills/agentera/schemas/artifacts/changelog.yaml +1 -0
- package/bundle/skills/agentera/schemas/artifacts/design.yaml +1 -0
- package/bundle/skills/agentera/schemas/artifacts/todo.yaml +1 -0
- package/dist/analytics/extractCorpus/cli.js +33 -5
- package/dist/analytics/extractCorpus/cli.js.map +1 -1
- package/dist/analytics/extractCorpus/evidenceTiers.js +561 -0
- package/dist/analytics/extractCorpus/evidenceTiers.js.map +1 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js +1 -0
- package/dist/analytics/extractCorpus/extractCorpusParity.js.map +1 -1
- package/dist/analytics/extractCorpus/index.js +3 -0
- package/dist/analytics/extractCorpus/index.js.map +1 -1
- package/dist/analytics/extractCorpus/tierReader.js +109 -0
- package/dist/analytics/extractCorpus/tierReader.js.map +1 -0
- package/dist/analytics/profileSignals.js +212 -0
- package/dist/analytics/profileSignals.js.map +1 -0
- package/dist/analytics/usageStats.js +104 -20
- package/dist/analytics/usageStats.js.map +1 -1
- package/dist/capabilities/profile/instructions.js +1 -1
- package/dist/capabilities/profile/instructions.js.map +1 -1
- package/dist/cli/capabilityContext/shared.js +1 -1
- package/dist/cli/capabilityContext/shared.js.map +1 -1
- package/dist/cli/commands/lint.js +10 -2
- package/dist/cli/commands/lint.js.map +1 -1
- package/dist/cli/commands/prime/collectOrientationState.js +3 -0
- package/dist/cli/commands/prime/collectOrientationState.js.map +1 -1
- package/dist/cli/commands/report.js +55 -15
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/orientation/corpusCoverage.js +32 -0
- package/dist/cli/orientation/corpusCoverage.js.map +1 -1
- package/dist/registries/evidenceTierContract.js +362 -0
- package/dist/registries/evidenceTierContract.js.map +1 -0
- package/dist/registries/verbosityBudgetContract.js +206 -0
- package/dist/registries/verbosityBudgetContract.js.map +1 -0
- package/dist/state/startupAnalysis/benchmark.js +70 -8
- package/dist/state/startupAnalysis/benchmark.js.map +1 -1
- package/dist/state/startupAnalysis/threshold.js +13 -0
- package/dist/state/startupAnalysis/threshold.js.map +1 -1
- package/dist/validate/selfAudit.js +38 -43
- package/dist/validate/selfAudit.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { compatibilityStates, evidenceTierBounds, } from "../../registries/evidenceTierContract.js";
|
|
4
|
+
import { defaultTiersDir, evidenceTierCompatibility, iterTierRecords, readSignalTier, readTierCorpusMetadata, } from "./evidenceTiers.js";
|
|
5
|
+
/**
|
|
6
|
+
* Bounded tier reader for analytics consumers (plan Task 3).
|
|
7
|
+
*
|
|
8
|
+
* Task 2 publishes bounded full-evidence shards and a bounded signal tier with
|
|
9
|
+
* an atomic generation pointer. This module is the consumer-side surface that
|
|
10
|
+
* projects the contract's compatibility states and recovery guidance, resolves
|
|
11
|
+
* the tiers directory from a corpus path, and exposes bounded reads (full-evidence
|
|
12
|
+
* records one shard at a time; metadata/signal reads without full records). It does
|
|
13
|
+
* not duplicate the tier map, source families, bounds, or compatibility outcomes —
|
|
14
|
+
* those are projected from `evidenceTierContract` and `evidenceTiers`.
|
|
15
|
+
*
|
|
16
|
+
* Consumers preserve their JSON output shape and exit codes. A non-current tier
|
|
17
|
+
* degrades with actionable, contract-projected recovery rather than indefinitely
|
|
18
|
+
* loading an oversized monolithic corpus envelope. `incomplete` is a degrade
|
|
19
|
+
* outcome: consumers analyze available sources and surface the coverage gap, so a
|
|
20
|
+
* host missing some runtimes still gets useful analysis instead of a hard failure.
|
|
21
|
+
*/
|
|
22
|
+
/** A corpus path's co-located tiers directory (`<intermediate>/tiers`). */
|
|
23
|
+
export function tiersDirForCorpusPath(corpusPath) {
|
|
24
|
+
return path.join(path.dirname(corpusPath), "tiers");
|
|
25
|
+
}
|
|
26
|
+
/** Canonical tiers directory for the stats profile. */
|
|
27
|
+
export function resolveTiersDir(env = process.env, platform = process.platform) {
|
|
28
|
+
return defaultTiersDir(env, platform);
|
|
29
|
+
}
|
|
30
|
+
/** Whether a compatibility state still permits analysis of available sources. */
|
|
31
|
+
export function isAnalyzable(state) {
|
|
32
|
+
return state === "current" || state === "incomplete";
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Actionable recovery guidance projected from the authority contract for a
|
|
36
|
+
* compatibility state. The contract owns the recovery text; this never
|
|
37
|
+
* duplicates it. Returns `null` for states that proceed (current/incomplete).
|
|
38
|
+
*/
|
|
39
|
+
export function recoveryForState(state) {
|
|
40
|
+
if (state === "current" || state === "incomplete")
|
|
41
|
+
return null;
|
|
42
|
+
const states = compatibilityStates();
|
|
43
|
+
const def = states.find((s) => s.state_id === state);
|
|
44
|
+
return def?.recovery ?? null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Assess the tiers directory against the contract's compatibility states. When a
|
|
48
|
+
* legacy corpus envelope is supplied, a missing tier with an existing envelope
|
|
49
|
+
* surfaces as `legacy` (refresh guidance) rather than a bare missing state.
|
|
50
|
+
*/
|
|
51
|
+
export function assessTiers(tiersDir, corpusPath) {
|
|
52
|
+
const compat = evidenceTierCompatibility(tiersDir, corpusPath);
|
|
53
|
+
const assessment = {
|
|
54
|
+
state: compat.state,
|
|
55
|
+
analyzable: isAnalyzable(compat.state),
|
|
56
|
+
tiersDir,
|
|
57
|
+
corpusPath,
|
|
58
|
+
recovery: recoveryForState(compat.state) ?? undefined,
|
|
59
|
+
};
|
|
60
|
+
if (compat.state === "incomplete")
|
|
61
|
+
assessment.coverageGaps = compat.detail;
|
|
62
|
+
if (compat.state === "oversized")
|
|
63
|
+
assessment.artifact = compat.artifact;
|
|
64
|
+
if (compat.state === "current")
|
|
65
|
+
assessment.generation = compat.generation;
|
|
66
|
+
return assessment;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Read bounded metadata for signal-tier consumers (report status, prime
|
|
70
|
+
* coverage). Reads the manifest and the bounded signal tier only — never the
|
|
71
|
+
* full-evidence shards — so metadata consumers stay bounded at real scale. The
|
|
72
|
+
* signal tier is bounded by construction; a defensively oversized signal tier is
|
|
73
|
+
* reported as null so the caller degrades with the assessment's recovery.
|
|
74
|
+
*/
|
|
75
|
+
export function readBoundedMetadata(tiersDir) {
|
|
76
|
+
const signal = readSignalTier(tiersDir);
|
|
77
|
+
const corpusMetadata = readTierCorpusMetadata(tiersDir);
|
|
78
|
+
const bounds = evidenceTierBounds();
|
|
79
|
+
if (signal && signal.bytes > bounds.signalByteCap) {
|
|
80
|
+
return { corpusMetadata: null, signal: null, manifest: signal.manifest };
|
|
81
|
+
}
|
|
82
|
+
return { corpusMetadata, signal, manifest: signal?.manifest ?? null };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Iterate full-evidence records for the current generation, one bounded shard at
|
|
86
|
+
* a time. Full-record consumers (usage analytics, startup analysis) use this so
|
|
87
|
+
* they never materialize the monolithic corpus envelope. Returns `null` when no
|
|
88
|
+
* current generation exists; callers report the assessment instead.
|
|
89
|
+
*/
|
|
90
|
+
export function iterBoundedRecords(tiersDir) {
|
|
91
|
+
return iterTierRecords(tiersDir);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Legacy fallback: a small monolithic corpus envelope may still be read for
|
|
95
|
+
* backward compatibility when no tiers were published. Oversized legacy state
|
|
96
|
+
* is never loaded whole — it returns `false` so the caller emits refresh guidance.
|
|
97
|
+
*/
|
|
98
|
+
export function legacyCorpusReadable(corpusPath) {
|
|
99
|
+
if (!corpusPath || !fs.existsSync(corpusPath))
|
|
100
|
+
return false;
|
|
101
|
+
const bounds = evidenceTierBounds();
|
|
102
|
+
try {
|
|
103
|
+
return fs.statSync(corpusPath).size <= bounds.readerByteCap;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=tierReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tierReader.js","sourceRoot":"","sources":["../../../src/analytics/extractCorpus/tierReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { PROFILE_SIGNAL_TYPES, profileSufficiency, } from "../registries/evidenceTierContract.js";
|
|
3
|
+
import { readCurrentPointer, readSignalTier, resolveEvidenceAnchor, } from "./extractCorpus/evidenceTiers.js";
|
|
4
|
+
import { assessTiers, recoveryForState, resolveTiersDir, } from "./extractCorpus/tierReader.js";
|
|
5
|
+
const PROFILE_TYPES_SET = new Set(PROFILE_SIGNAL_TYPES);
|
|
6
|
+
/** Resolve the absolute signal tier file path from the current generation. */
|
|
7
|
+
function signalTierPath(tiersDir) {
|
|
8
|
+
const pointer = readCurrentPointer(tiersDir);
|
|
9
|
+
if (!pointer)
|
|
10
|
+
return null;
|
|
11
|
+
return path.join(tiersDir, "generations", pointer.generation, "signal.json");
|
|
12
|
+
}
|
|
13
|
+
/** Resolve the co-located corpus path for legacy compatibility assessment. */
|
|
14
|
+
function corpusPathFromTiersDir(tiersDir) {
|
|
15
|
+
const idx = tiersDir.lastIndexOf(path.sep + "tiers");
|
|
16
|
+
if (idx === -1)
|
|
17
|
+
return undefined;
|
|
18
|
+
return path.join(tiersDir.slice(0, idx), "corpus.json");
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Assess whether the retained profile-relevant signal distribution is
|
|
22
|
+
* sufficient against the contract threshold. The prior intended distribution
|
|
23
|
+
* is reconstructed from the signal tier's selection report (total per
|
|
24
|
+
* family); the retained distribution from the published signal records.
|
|
25
|
+
* No separate full-corpus read is needed — the selection report carries both.
|
|
26
|
+
*
|
|
27
|
+
* When the tier is uncapped, retained == total, so the bounded and intended
|
|
28
|
+
* distributions are identical and sufficiency is trivially met. When capped,
|
|
29
|
+
* the selection report's per-family total/retained is the authoritative prior
|
|
30
|
+
* distribution; the profile-relevant intended count is scaled from the
|
|
31
|
+
* retained profile-relevant count by the family's overall retention ratio.
|
|
32
|
+
*/
|
|
33
|
+
export function assessProfileSufficiency(selection, signals, contractPath) {
|
|
34
|
+
const suff = profileSufficiency(contractPath);
|
|
35
|
+
const threshold = suff.minimumFamilyRetention;
|
|
36
|
+
const profileRetainedPerFamily = new Map();
|
|
37
|
+
for (const sig of signals) {
|
|
38
|
+
const family = sig.source_product || "unknown";
|
|
39
|
+
profileRetainedPerFamily.set(family, (profileRetainedPerFamily.get(family) ?? 0) + 1);
|
|
40
|
+
}
|
|
41
|
+
const profileIntendedPerFamily = new Map();
|
|
42
|
+
if (!selection.capped) {
|
|
43
|
+
// Uncapped: retained == intended, so the retained counts ARE the intended.
|
|
44
|
+
for (const [family, retained] of profileRetainedPerFamily) {
|
|
45
|
+
profileIntendedPerFamily.set(family, retained);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// Capped: the selection report's per_family is the authoritative source
|
|
50
|
+
// of which families had records. For families with profile-relevant
|
|
51
|
+
// retained signals, scale the intended count by the family's overall
|
|
52
|
+
// retention ratio. For families where all records were capped
|
|
53
|
+
// (retained=0, total>0), flag them as insufficient — no data survived
|
|
54
|
+
// to contribute to the profile.
|
|
55
|
+
for (const sel of selection.per_family) {
|
|
56
|
+
if (sel.total === 0)
|
|
57
|
+
continue;
|
|
58
|
+
const profileRetained = profileRetainedPerFamily.get(sel.family) ?? 0;
|
|
59
|
+
if (sel.retained > 0 && profileRetained > 0) {
|
|
60
|
+
profileIntendedPerFamily.set(sel.family, Math.round(profileRetained * (sel.total / sel.retained)));
|
|
61
|
+
}
|
|
62
|
+
else if (sel.retained === 0 && sel.total > 0) {
|
|
63
|
+
// All records for this family were capped — insufficient by definition.
|
|
64
|
+
profileIntendedPerFamily.set(sel.family, sel.total);
|
|
65
|
+
}
|
|
66
|
+
// If sel.retained > 0 but profileRetained == 0, the family's retained
|
|
67
|
+
// records were simply non-profile-relevant; leave it as sufficient.
|
|
68
|
+
}
|
|
69
|
+
// Also include any family that appears in retained signals but not in the
|
|
70
|
+
// selection report (should not normally happen, but handle gracefully).
|
|
71
|
+
for (const [family, retained] of profileRetainedPerFamily) {
|
|
72
|
+
if (!profileIntendedPerFamily.has(family)) {
|
|
73
|
+
profileIntendedPerFamily.set(family, retained);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const perFamily = [];
|
|
78
|
+
const allFamilies = new Set([...profileIntendedPerFamily.keys(), ...profileRetainedPerFamily.keys()]);
|
|
79
|
+
for (const family of [...allFamilies].sort()) {
|
|
80
|
+
const intended = profileIntendedPerFamily.get(family) ?? 0;
|
|
81
|
+
const retained = profileRetainedPerFamily.get(family) ?? 0;
|
|
82
|
+
const retention = intended > 0 ? retained / intended : 1;
|
|
83
|
+
const sufficient = intended === 0 || retention >= threshold;
|
|
84
|
+
perFamily.push({ family, intended, retained, retention, sufficient });
|
|
85
|
+
}
|
|
86
|
+
const insufficientFamilies = perFamily.filter((f) => !f.sufficient);
|
|
87
|
+
const sufficient = !selection.capped || insufficientFamilies.length === 0;
|
|
88
|
+
const reason = sufficient
|
|
89
|
+
? selection.capped
|
|
90
|
+
? "signal tier capped but per-family retention meets threshold"
|
|
91
|
+
: "signal tier uncapped; bounded and intended distributions identical"
|
|
92
|
+
: `insufficient retention for families: ${insufficientFamilies.map((f) => `${f.family} (${f.retained}/${f.intended}, ${(f.retention * 100).toFixed(0)}%)`).join(", ")}`;
|
|
93
|
+
return { sufficient, reason, threshold, capped: selection.capped, per_family: perFamily };
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Read the bounded signal tier and return profile-relevant signals with a
|
|
97
|
+
* sufficiency assessment. This is the bounded profile-synthesis input: it
|
|
98
|
+
* loads only the signal tier (bounded by construction), never the full-
|
|
99
|
+
* evidence shards. Each signal's `evidence_anchor` resolves to retained full
|
|
100
|
+
* evidence via resolveProfileEvidence.
|
|
101
|
+
*/
|
|
102
|
+
export function readProfileSignals(tiersDir, corpusPath, contractPath) {
|
|
103
|
+
const assessment = assessTiers(tiersDir, corpusPath);
|
|
104
|
+
const recovery = recoveryForState(assessment.state);
|
|
105
|
+
const threshold = profileSufficiency(contractPath).minimumFamilyRetention;
|
|
106
|
+
if (!assessment.analyzable) {
|
|
107
|
+
return {
|
|
108
|
+
state: assessment.state,
|
|
109
|
+
tiers_dir: tiersDir,
|
|
110
|
+
signal_path: null,
|
|
111
|
+
signals: [],
|
|
112
|
+
profile_signal_count: 0,
|
|
113
|
+
sufficiency: {
|
|
114
|
+
sufficient: false,
|
|
115
|
+
reason: assessment.state === "missing"
|
|
116
|
+
? "no evidence tiers published"
|
|
117
|
+
: assessment.state === "legacy"
|
|
118
|
+
? "legacy monolithic state; refresh required"
|
|
119
|
+
: `tier state ${assessment.state}; ${recovery ?? "recovery unavailable"}`,
|
|
120
|
+
threshold,
|
|
121
|
+
capped: false,
|
|
122
|
+
per_family: [],
|
|
123
|
+
},
|
|
124
|
+
recovery,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
const tier = readSignalTier(tiersDir);
|
|
128
|
+
if (!tier) {
|
|
129
|
+
return {
|
|
130
|
+
state: "corrupt",
|
|
131
|
+
tiers_dir: tiersDir,
|
|
132
|
+
signal_path: null,
|
|
133
|
+
signals: [],
|
|
134
|
+
profile_signal_count: 0,
|
|
135
|
+
sufficiency: {
|
|
136
|
+
sufficient: false,
|
|
137
|
+
reason: "signal tier unreadable or not found",
|
|
138
|
+
threshold,
|
|
139
|
+
capped: false,
|
|
140
|
+
per_family: [],
|
|
141
|
+
},
|
|
142
|
+
recovery,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
const profileSignals = tier.records.filter((s) => PROFILE_TYPES_SET.has(s.signal_type));
|
|
146
|
+
const sufficiency = assessProfileSufficiency(tier.manifest.signal.selection, profileSignals, contractPath);
|
|
147
|
+
return {
|
|
148
|
+
state: assessment.state,
|
|
149
|
+
tiers_dir: tiersDir,
|
|
150
|
+
signal_path: signalTierPath(tiersDir),
|
|
151
|
+
signals: profileSignals,
|
|
152
|
+
profile_signal_count: profileSignals.length,
|
|
153
|
+
sufficiency,
|
|
154
|
+
recovery,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Resolve a synthesized claim's evidence anchor to its retained full-evidence
|
|
159
|
+
* record. Loads only the owning shard, never the whole tier. Returns null
|
|
160
|
+
* when the anchor does not resolve (the claim cannot be checked).
|
|
161
|
+
*/
|
|
162
|
+
export function resolveProfileEvidence(anchor, tiersDir) {
|
|
163
|
+
return resolveEvidenceAnchor(anchor, tiersDir);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Lightweight status for profile_context — assesses the tiers, reads the
|
|
167
|
+
* signal tier, and computes sufficiency. The signal records are counted but
|
|
168
|
+
* not returned in the status payload (the synthesis step reads them via
|
|
169
|
+
* readProfileSignals or the signal_path). This status tells the agent
|
|
170
|
+
* whether synthesis can proceed and where to read.
|
|
171
|
+
*/
|
|
172
|
+
export function profileSignalsStatus(env = process.env, platform = process.platform, contractPath) {
|
|
173
|
+
const tiersDir = resolveTiersDir(env, platform);
|
|
174
|
+
const corpusPath = corpusPathFromTiersDir(tiersDir);
|
|
175
|
+
const assessment = assessTiers(tiersDir, corpusPath);
|
|
176
|
+
const recovery = recoveryForState(assessment.state);
|
|
177
|
+
if (!assessment.analyzable) {
|
|
178
|
+
return {
|
|
179
|
+
state: assessment.state,
|
|
180
|
+
tiers_dir: tiersDir,
|
|
181
|
+
signal_path: null,
|
|
182
|
+
signal_count: 0,
|
|
183
|
+
profile_signal_count: 0,
|
|
184
|
+
sufficiency: null,
|
|
185
|
+
recovery,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
const tier = readSignalTier(tiersDir);
|
|
189
|
+
if (!tier) {
|
|
190
|
+
return {
|
|
191
|
+
state: "corrupt",
|
|
192
|
+
tiers_dir: tiersDir,
|
|
193
|
+
signal_path: null,
|
|
194
|
+
signal_count: 0,
|
|
195
|
+
profile_signal_count: 0,
|
|
196
|
+
sufficiency: null,
|
|
197
|
+
recovery,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
const profileSignals = tier.records.filter((s) => PROFILE_TYPES_SET.has(s.signal_type));
|
|
201
|
+
const sufficiency = assessProfileSufficiency(tier.manifest.signal.selection, profileSignals, contractPath);
|
|
202
|
+
return {
|
|
203
|
+
state: assessment.state,
|
|
204
|
+
tiers_dir: tiersDir,
|
|
205
|
+
signal_path: signalTierPath(tiersDir),
|
|
206
|
+
signal_count: tier.records.length,
|
|
207
|
+
profile_signal_count: profileSignals.length,
|
|
208
|
+
sufficiency,
|
|
209
|
+
recovery,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=profileSignals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileSignals.js","sourceRoot":"","sources":["../../src/analytics/profileSignals.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import os from "node:os";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { resolveProfileDirOverride, resolveXdgDataHome } from "../core/envPaths.js";
|
|
5
5
|
import { expanduser } from "../core/paths.js";
|
|
6
|
+
import { tiersDirForCorpusPath, assessTiers, iterBoundedRecords, readTierCorpusMetadata } from "./extractCorpus/index.js";
|
|
6
7
|
export const EXIT_STATUSES = new Set(["complete", "flagged", "stuck", "waiting"]);
|
|
7
8
|
export const TRIGGER_SLASH = "slash";
|
|
8
9
|
export const TRIGGER_NATURAL = "natural";
|
|
@@ -242,22 +243,63 @@ function activeAnalyticsRecord(record) {
|
|
|
242
243
|
}
|
|
243
244
|
export function analyzeCorpus(corpus, projectFilter = null, sourceView = "active") {
|
|
244
245
|
const rawRecords = (isMapping(corpus) ? (corpus.records ?? []) : []); // cast: corpus records from JSON.parse IO boundary
|
|
245
|
-
|
|
246
|
-
|
|
246
|
+
return analyzeRecords(rawRecords, projectFilter, sourceView);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Single-pass analysis over a record iterable. Bounded consumers feed the
|
|
250
|
+
* tiered shard iterator here so non-conversation records (instruction documents,
|
|
251
|
+
* project config signals, tool calls) are counted for provenance and discarded
|
|
252
|
+
* rather than materialized; only conversation turns are retained as the analysis
|
|
253
|
+
* working set. Mirrors `analyzeCorpus` exactly when given the full record array.
|
|
254
|
+
*/
|
|
255
|
+
export function analyzeRecords(records, projectFilter = null, sourceView = "active") {
|
|
247
256
|
const provenanceCounts = new Map();
|
|
257
|
+
const userTurnsByConv = new Map();
|
|
258
|
+
const assistantByConv = new Map();
|
|
248
259
|
for (const record of records) {
|
|
249
|
-
|
|
260
|
+
if (!isMapping(record))
|
|
261
|
+
continue;
|
|
262
|
+
const isActive = activeAnalyticsRecord(record);
|
|
263
|
+
if (sourceView === "active" && !isActive)
|
|
264
|
+
continue;
|
|
265
|
+
if (projectFilter !== null) {
|
|
266
|
+
const pid = record.project_id ?? "";
|
|
267
|
+
if (!(typeof pid === "string" && projectMatch(pid, projectFilter)))
|
|
268
|
+
continue;
|
|
269
|
+
}
|
|
270
|
+
const sourceClass = String(record.source_class ?? (isActive ? "active_runtime" : "historical_import"));
|
|
250
271
|
const sourceProduct = String(record.source_product ?? record.runtime ?? "unknown");
|
|
251
|
-
const activeRuntime =
|
|
272
|
+
const activeRuntime = isActive;
|
|
252
273
|
const key = `${sourceClass}\0${sourceProduct}\0${activeRuntime}`;
|
|
253
274
|
const current = provenanceCounts.get(key) ?? { source_class: sourceClass, source_product: sourceProduct, active_runtime: activeRuntime, records: 0 };
|
|
254
275
|
current.records += 1;
|
|
255
276
|
provenanceCounts.set(key, current);
|
|
277
|
+
if (record.source_kind !== "conversation_turn")
|
|
278
|
+
continue;
|
|
279
|
+
const data = record.data;
|
|
280
|
+
if (!isMapping(data))
|
|
281
|
+
continue;
|
|
282
|
+
const ckey = conversationKey(record);
|
|
283
|
+
if (ckey === null)
|
|
284
|
+
continue;
|
|
285
|
+
const actor = data.actor;
|
|
286
|
+
if (actor === "user") {
|
|
287
|
+
if (!userTurnsByConv.has(ckey))
|
|
288
|
+
userTurnsByConv.set(ckey, []);
|
|
289
|
+
userTurnsByConv.get(ckey).push(record);
|
|
290
|
+
}
|
|
291
|
+
else if (actor === "assistant") {
|
|
292
|
+
if (!assistantByConv.has(ckey))
|
|
293
|
+
assistantByConv.set(ckey, []);
|
|
294
|
+
assistantByConv.get(ckey).push(record);
|
|
295
|
+
}
|
|
256
296
|
}
|
|
257
|
-
const
|
|
258
|
-
|
|
297
|
+
for (const items of userTurnsByConv.values())
|
|
298
|
+
stableSortByTimestamp(items);
|
|
299
|
+
for (const items of assistantByConv.values())
|
|
300
|
+
stableSortByTimestamp(items);
|
|
259
301
|
const invocations = [];
|
|
260
|
-
for (const [sid, turns] of
|
|
302
|
+
for (const [sid, turns] of assistantByConv) {
|
|
261
303
|
const tsToProject = new Map();
|
|
262
304
|
for (const t of turns) {
|
|
263
305
|
tsToProject.set(String(t.timestamp ?? ""), String(t.project_id ?? ""));
|
|
@@ -299,7 +341,7 @@ export function analyzeCorpus(corpus, projectFilter = null, sourceView = "active
|
|
|
299
341
|
};
|
|
300
342
|
}
|
|
301
343
|
// --- Paths -----------------------------------------------------------------
|
|
302
|
-
export const CORPUS_GUIDANCE = "
|
|
344
|
+
export const CORPUS_GUIDANCE = "Publish bounded tiers with `agentera stats refresh --consent local-history`; `--corpus PATH` points at a legacy corpus.json whose sibling `tiers/` is preferred when published.";
|
|
303
345
|
function homeDir(env) {
|
|
304
346
|
return env.HOME ?? os.homedir();
|
|
305
347
|
}
|
|
@@ -349,7 +391,7 @@ export function corpusTooLargeReason(corpusPath) {
|
|
|
349
391
|
const size = fs.statSync(corpusPath).size;
|
|
350
392
|
if (size <= MAX_CORPUS_READ_BYTES)
|
|
351
393
|
return null;
|
|
352
|
-
return `corpus is too large to load (${size} bytes; max ${MAX_CORPUS_READ_BYTES}).
|
|
394
|
+
return `corpus is too large to load (${size} bytes; max ${MAX_CORPUS_READ_BYTES}). Refresh bounded tiers with agentera stats refresh --consent local-history, or pass --corpus PATH to a smaller legacy extract (its sibling tiers/ is preferred when published).`;
|
|
353
395
|
}
|
|
354
396
|
catch {
|
|
355
397
|
return null;
|
|
@@ -526,21 +568,51 @@ export function usageMain(argv, io = {}) {
|
|
|
526
568
|
}
|
|
527
569
|
}
|
|
528
570
|
const corpusPath = corpus ?? defaultCorpusPath(env, platform);
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
571
|
+
// Bounded tier path: analyze real-scale evidence by streaming one bounded
|
|
572
|
+
// shard at a time instead of materializing the monolithic corpus envelope.
|
|
573
|
+
// Falls back to the legacy corpus.json read only when no tiers were published
|
|
574
|
+
// (legacy state) so existing small-envelope consumers keep working.
|
|
575
|
+
const tiersDir = tiersDirForCorpusPath(corpusPath);
|
|
576
|
+
const assessment = assessTiers(tiersDir, corpusPath);
|
|
577
|
+
let analysis;
|
|
578
|
+
let extractedAt = null;
|
|
579
|
+
if (assessment.analyzable) {
|
|
580
|
+
const records = iterBoundedRecords(tiersDir);
|
|
581
|
+
if (records === null) {
|
|
582
|
+
err(tierUnavailableMessage(assessment, corpusPath));
|
|
536
583
|
return 2;
|
|
537
584
|
}
|
|
538
|
-
|
|
585
|
+
analysis = analyzeRecords(records, project, sourceView);
|
|
586
|
+
const metadata = readTierCorpusMetadata(tiersDir);
|
|
587
|
+
extractedAt = metadata?.extracted_at ?? null;
|
|
588
|
+
}
|
|
589
|
+
else if (assessment.state === "corrupt" || assessment.state === "oversized") {
|
|
590
|
+
// Tier-level failure: the published tier is unreadable or a shard exceeds the
|
|
591
|
+
// reader cap. Project actionable recovery from the authority contract rather
|
|
592
|
+
// than silently falling back to the corpus envelope.
|
|
593
|
+
err(tierUnavailableMessage(assessment, corpusPath));
|
|
594
|
+
return 2;
|
|
595
|
+
}
|
|
596
|
+
else {
|
|
597
|
+
// Legacy or missing: delegate to the corpus-envelope reader, which preserves
|
|
598
|
+
// the existing too-large / not-found degradation and message contract.
|
|
599
|
+
let corpusData;
|
|
600
|
+
try {
|
|
601
|
+
corpusData = loadCorpusOrRaise(corpusPath);
|
|
602
|
+
}
|
|
603
|
+
catch (e) {
|
|
604
|
+
if (e instanceof CorpusUnavailable) {
|
|
605
|
+
err(String(e.message));
|
|
606
|
+
return 2;
|
|
607
|
+
}
|
|
608
|
+
throw e;
|
|
609
|
+
}
|
|
610
|
+
analysis = analyzeCorpus(corpusData, project, sourceView);
|
|
611
|
+
const md = corpusData.metadata;
|
|
612
|
+
extractedAt =
|
|
613
|
+
md && typeof md === "object" && !Array.isArray(md) ? (md.extracted_at ?? null) : null;
|
|
539
614
|
}
|
|
540
|
-
const analysis = analyzeCorpus(corpusData, project, sourceView);
|
|
541
615
|
const generatedAt = nowIso();
|
|
542
|
-
const md = corpusData.metadata;
|
|
543
|
-
const extractedAt = md && typeof md === "object" && !Array.isArray(md) ? (md.extracted_at ?? null) : null;
|
|
544
616
|
if (emitJson) {
|
|
545
617
|
out(renderJson(analysis, { generatedAt, extractedAt }));
|
|
546
618
|
return 0;
|
|
@@ -550,4 +622,16 @@ export function usageMain(argv, io = {}) {
|
|
|
550
622
|
out(renderStdoutSummary(analysis, { generatedAt, extractedAt, reportPath: outPath }));
|
|
551
623
|
return 0;
|
|
552
624
|
}
|
|
625
|
+
/** Compose the degrade message for a non-analyzable tier state. */
|
|
626
|
+
function tierUnavailableMessage(assessment, corpusPath) {
|
|
627
|
+
const recovery = assessment.recovery;
|
|
628
|
+
const where = `tiers at ${assessment.tiersDir}${corpusPath ? ` (corpus=${corpusPath})` : ""}`;
|
|
629
|
+
if (assessment.state === "oversized") {
|
|
630
|
+
return `evidence tier is oversized at ${assessment.artifact ?? where}. ${recovery ?? ""}`.trim();
|
|
631
|
+
}
|
|
632
|
+
if (assessment.state === "corrupt") {
|
|
633
|
+
return `evidence tier is unreadable at ${where}. ${recovery ?? ""}`.trim();
|
|
634
|
+
}
|
|
635
|
+
return `evidence tier is ${assessment.state} at ${where}. ${recovery ?? ""}`.trim();
|
|
636
|
+
}
|
|
553
637
|
//# sourceMappingURL=usageStats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usageStats.js","sourceRoot":"","sources":["../../src/analytics/usageStats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usageStats.js","sourceRoot":"","sources":["../../src/analytics/usageStats.ts"],"names":[],"mappings":"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"}
|