@fingerskier/augment 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -20
- package/dist/cli.d.ts +9 -6
- package/dist/cli.js +9 -43
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -1
- package/dist/daemon/client.d.ts +10 -2
- package/dist/daemon/client.js +30 -4
- package/dist/daemon/client.js.map +1 -1
- package/dist/daemon/http.js +163 -28
- package/dist/daemon/http.js.map +1 -1
- package/dist/db.d.ts +1 -0
- package/dist/db.js +35 -4
- package/dist/db.js.map +1 -1
- package/dist/decoction.d.ts +51 -0
- package/dist/decoction.js +184 -0
- package/dist/decoction.js.map +1 -0
- package/dist/install.d.ts +2 -0
- package/dist/install.js +68 -5
- package/dist/install.js.map +1 -1
- package/dist/mcp/apps.js +0 -16
- package/dist/mcp/apps.js.map +1 -1
- package/dist/mcp/insights.d.ts +4 -6
- package/dist/mcp/insights.js +4 -11
- package/dist/mcp/insights.js.map +1 -1
- package/dist/mcp/server.js +124 -21
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory/files.js +32 -2
- package/dist/memory/files.js.map +1 -1
- package/dist/memory/git.d.ts +5 -1
- package/dist/memory/git.js +7 -3
- package/dist/memory/git.js.map +1 -1
- package/dist/memory/project.d.ts +3 -0
- package/dist/memory/project.js +20 -0
- package/dist/memory/project.js.map +1 -1
- package/dist/pi/extension.d.ts +10 -2
- package/dist/pi/extension.js +82 -46
- package/dist/pi/extension.js.map +1 -1
- package/dist/proposals.d.ts +42 -0
- package/dist/proposals.js +180 -0
- package/dist/proposals.js.map +1 -0
- package/dist/recall-log.d.ts +21 -0
- package/dist/recall-log.js +24 -0
- package/dist/recall-log.js.map +1 -0
- package/dist/recall.d.ts +1 -1
- package/dist/service.d.ts +197 -2
- package/dist/service.js +770 -42
- package/dist/service.js.map +1 -1
- package/dist/types.d.ts +26 -2
- package/docs/FEATURES.md +247 -33
- package/docs/verify-memory-flow.md +132 -131
- package/integrations/claude/skills/augment-context/SKILL.md +74 -0
- package/integrations/claude/skills/augment-decoction/SKILL.md +36 -0
- package/integrations/claude/skills/augment-dream/SKILL.md +34 -0
- package/integrations/claude/skills/augment-dream/agents/openai.yaml +4 -0
- package/integrations/claude/skills/augment-sleep/SKILL.md +26 -0
- package/integrations/codex/SKILL.md +33 -0
- package/integrations/pi/skills/augment-decoction/SKILL.md +37 -0
- package/integrations/pi/skills/augment-dream/SKILL.md +36 -0
- package/package.json +16 -15
- package/dist/tally.d.ts +0 -46
- package/dist/tally.js +0 -94
- package/dist/tally.js.map +0 -1
package/dist/tally.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Phase-2 dogfood tally (council 2026-06-30): ~30 human-scored datapoints over
|
|
3
|
-
* ~2 weeks of real use, per injection surface, never a CI gate. Data lives as
|
|
4
|
-
* JSONL under `<stateDir>/tally/` — deliberately OUTSIDE the memory corpus so
|
|
5
|
-
* the corpus Phase 2 measures stays clean.
|
|
6
|
-
*/
|
|
7
|
-
export declare const TALLY_TARGET = 30;
|
|
8
|
-
export declare const TALLY_VERDICTS: readonly ["helpful", "harmless", "harmful", "correct-abstention"];
|
|
9
|
-
export type TallyVerdict = (typeof TALLY_VERDICTS)[number];
|
|
10
|
-
/** One human rating of a recall outcome. */
|
|
11
|
-
export interface TallyRating {
|
|
12
|
-
ts: string;
|
|
13
|
-
verdict: TallyVerdict;
|
|
14
|
-
/** Injection surface being rated: user-prompt-submit | pre-tool-use | mcp-search | cli-recall | unknown. */
|
|
15
|
-
surface: string;
|
|
16
|
-
note?: string;
|
|
17
|
-
}
|
|
18
|
-
/** One automatically-logged injection event (what search actually returned). */
|
|
19
|
-
export interface TallyEvent {
|
|
20
|
-
ts: string;
|
|
21
|
-
surface: string;
|
|
22
|
-
project?: string;
|
|
23
|
-
/** Query text, truncated by the writer — context for later audit, not for ranking. */
|
|
24
|
-
query: string;
|
|
25
|
-
abstained: boolean;
|
|
26
|
-
result_count: number;
|
|
27
|
-
top_score?: number;
|
|
28
|
-
/** Durable relative paths of the memories injected. */
|
|
29
|
-
paths: string[];
|
|
30
|
-
}
|
|
31
|
-
export interface TallySummary {
|
|
32
|
-
total: number;
|
|
33
|
-
target: number;
|
|
34
|
-
by_verdict: Record<TallyVerdict, number>;
|
|
35
|
-
by_surface: Record<string, number>;
|
|
36
|
-
first_at?: string;
|
|
37
|
-
last_at?: string;
|
|
38
|
-
}
|
|
39
|
-
export declare function isTallyVerdict(value: unknown): value is TallyVerdict;
|
|
40
|
-
export declare function ratingsPath(stateDir: string): string;
|
|
41
|
-
export declare function eventsPath(stateDir: string): string;
|
|
42
|
-
export declare function appendTallyRating(stateDir: string, rating: TallyRating): Promise<void>;
|
|
43
|
-
export declare function appendTallyEvent(stateDir: string, event: TallyEvent): Promise<void>;
|
|
44
|
-
export declare function readTallyRatings(stateDir: string): Promise<TallyRating[]>;
|
|
45
|
-
export declare function summarizeTally(ratings: TallyRating[]): TallySummary;
|
|
46
|
-
export declare function renderTallySummary(summary: TallySummary): string;
|
package/dist/tally.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { appendFile, mkdir, readFile } from "node:fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
/**
|
|
4
|
-
* Phase-2 dogfood tally (council 2026-06-30): ~30 human-scored datapoints over
|
|
5
|
-
* ~2 weeks of real use, per injection surface, never a CI gate. Data lives as
|
|
6
|
-
* JSONL under `<stateDir>/tally/` — deliberately OUTSIDE the memory corpus so
|
|
7
|
-
* the corpus Phase 2 measures stays clean.
|
|
8
|
-
*/
|
|
9
|
-
export const TALLY_TARGET = 30;
|
|
10
|
-
export const TALLY_VERDICTS = ["helpful", "harmless", "harmful", "correct-abstention"];
|
|
11
|
-
export function isTallyVerdict(value) {
|
|
12
|
-
return typeof value === "string" && TALLY_VERDICTS.includes(value);
|
|
13
|
-
}
|
|
14
|
-
export function ratingsPath(stateDir) {
|
|
15
|
-
return path.join(stateDir, "tally", "ratings.jsonl");
|
|
16
|
-
}
|
|
17
|
-
export function eventsPath(stateDir) {
|
|
18
|
-
return path.join(stateDir, "tally", "events.jsonl");
|
|
19
|
-
}
|
|
20
|
-
async function appendLine(file, record) {
|
|
21
|
-
await mkdir(path.dirname(file), { recursive: true });
|
|
22
|
-
await appendFile(file, `${JSON.stringify(record)}\n`, "utf8");
|
|
23
|
-
}
|
|
24
|
-
export async function appendTallyRating(stateDir, rating) {
|
|
25
|
-
await appendLine(ratingsPath(stateDir), rating);
|
|
26
|
-
}
|
|
27
|
-
export async function appendTallyEvent(stateDir, event) {
|
|
28
|
-
await appendLine(eventsPath(stateDir), event);
|
|
29
|
-
}
|
|
30
|
-
export async function readTallyRatings(stateDir) {
|
|
31
|
-
let raw;
|
|
32
|
-
try {
|
|
33
|
-
raw = await readFile(ratingsPath(stateDir), "utf8");
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
|
-
const ratings = [];
|
|
39
|
-
for (const line of raw.split("\n")) {
|
|
40
|
-
if (!line.trim()) {
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
try {
|
|
44
|
-
const parsed = JSON.parse(line);
|
|
45
|
-
if (isTallyVerdict(parsed.verdict)) {
|
|
46
|
-
ratings.push(parsed);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
// A corrupt line loses one datapoint, never the tally.
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return ratings;
|
|
54
|
-
}
|
|
55
|
-
export function summarizeTally(ratings) {
|
|
56
|
-
const by_verdict = {
|
|
57
|
-
helpful: 0,
|
|
58
|
-
harmless: 0,
|
|
59
|
-
harmful: 0,
|
|
60
|
-
"correct-abstention": 0,
|
|
61
|
-
};
|
|
62
|
-
const by_surface = {};
|
|
63
|
-
for (const rating of ratings) {
|
|
64
|
-
by_verdict[rating.verdict] += 1;
|
|
65
|
-
by_surface[rating.surface || "unknown"] = (by_surface[rating.surface || "unknown"] ?? 0) + 1;
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
total: ratings.length,
|
|
69
|
-
target: TALLY_TARGET,
|
|
70
|
-
by_verdict,
|
|
71
|
-
by_surface,
|
|
72
|
-
...(ratings.length > 0
|
|
73
|
-
? { first_at: ratings[0].ts, last_at: ratings[ratings.length - 1].ts }
|
|
74
|
-
: {}),
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
export function renderTallySummary(summary) {
|
|
78
|
-
const lines = [
|
|
79
|
-
`Dogfood tally: ${summary.total}/${summary.target} datapoints`,
|
|
80
|
-
` helpful: ${summary.by_verdict.helpful} harmless: ${summary.by_verdict.harmless} ` +
|
|
81
|
-
`harmful: ${summary.by_verdict.harmful} correct-abstention: ${summary.by_verdict["correct-abstention"]}`,
|
|
82
|
-
];
|
|
83
|
-
const surfaces = Object.entries(summary.by_surface)
|
|
84
|
-
.map(([surface, count]) => `${surface}:${count}`)
|
|
85
|
-
.join(" ");
|
|
86
|
-
if (surfaces) {
|
|
87
|
-
lines.push(` by surface: ${surfaces}`);
|
|
88
|
-
}
|
|
89
|
-
if (summary.first_at && summary.last_at) {
|
|
90
|
-
lines.push(` window: ${summary.first_at} .. ${summary.last_at}`);
|
|
91
|
-
}
|
|
92
|
-
return lines.join("\n");
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=tally.js.map
|
package/dist/tally.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tally.js","sourceRoot":"","sources":["../src/tally.ts"],"names":[],"mappings":"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"}
|