greprag 5.67.1 → 5.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/capture-manifest.d.ts +6 -3
- package/dist/capture-manifest.js +18 -5
- package/dist/capture-manifest.js.map +1 -1
- package/dist/commands/parity.js +5 -0
- package/dist/commands/parity.js.map +1 -1
- package/dist/hook.js +9 -59
- package/dist/hook.js.map +1 -1
- package/dist/inline-atom-episode.d.ts +72 -0
- package/dist/inline-atom-episode.js +380 -0
- package/dist/inline-atom-episode.js.map +1 -0
- package/dist/inline-atom-hook.d.ts +19 -0
- package/dist/inline-atom-hook.js +89 -0
- package/dist/inline-atom-hook.js.map +1 -0
- package/dist/inline-atom.d.ts +13 -13
- package/dist/inline-atom.js +15 -62
- package/dist/inline-atom.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
/** Capture Manifest — one registry row per Capture System consumer.
|
|
2
2
|
* Documentation names the system; this manifest gives tests and future
|
|
3
|
-
* installers a concrete contract to inspect.
|
|
4
|
-
|
|
3
|
+
* installers a concrete contract to inspect.
|
|
4
|
+
* adr: adr/capture-episodes.md */
|
|
5
|
+
export type CaptureShape = 'point' | 'episode';
|
|
5
6
|
export type CaptureJudgeProvider = 'greprag-flash-lite' | 'harness-cheap-or-greprag';
|
|
6
|
-
export type
|
|
7
|
+
export type CaptureDistillerProvider = 'greprag-flash';
|
|
8
|
+
export type CaptureSurface = 'SessionStart' | 'UserPromptSubmit' | 'PreToolUse' | 'Stop' | 'cron';
|
|
7
9
|
export interface CaptureConsumerManifest {
|
|
8
10
|
id: string;
|
|
9
11
|
shape: CaptureShape;
|
|
10
12
|
detect: CaptureSurface;
|
|
11
13
|
judge: CaptureJudgeProvider;
|
|
14
|
+
distill?: CaptureDistillerProvider;
|
|
12
15
|
register: string;
|
|
13
16
|
inject: CaptureSurface;
|
|
14
17
|
statuses: string[];
|
package/dist/capture-manifest.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/** Capture Manifest — one registry row per Capture System consumer.
|
|
3
3
|
* Documentation names the system; this manifest gives tests and future
|
|
4
|
-
* installers a concrete contract to inspect.
|
|
4
|
+
* installers a concrete contract to inspect.
|
|
5
|
+
* adr: adr/capture-episodes.md */
|
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
7
|
exports.CAPTURE_MANIFEST = void 0;
|
|
7
8
|
exports.captureConsumer = captureConsumer;
|
|
@@ -17,31 +18,43 @@ exports.CAPTURE_MANIFEST = [
|
|
|
17
18
|
},
|
|
18
19
|
{
|
|
19
20
|
id: 'procedure',
|
|
20
|
-
shape: '
|
|
21
|
+
shape: 'episode',
|
|
21
22
|
detect: 'UserPromptSubmit',
|
|
22
23
|
judge: 'greprag-flash-lite',
|
|
24
|
+
distill: 'greprag-flash',
|
|
23
25
|
register: 'local procedures-${projectId}.json store',
|
|
24
26
|
inject: 'UserPromptSubmit',
|
|
25
27
|
statuses: ['seeded', 'discovered', 'learned', 'confirmed', 'stale'],
|
|
26
28
|
},
|
|
27
29
|
{
|
|
28
30
|
id: 'skillgain',
|
|
29
|
-
shape: '
|
|
31
|
+
shape: 'episode',
|
|
30
32
|
detect: 'cron',
|
|
31
33
|
judge: 'greprag-flash-lite',
|
|
34
|
+
distill: 'greprag-flash',
|
|
32
35
|
register: 'per-project kind=skillgain store',
|
|
33
36
|
inject: 'SessionStart',
|
|
34
37
|
statuses: ['pending', 'landed', 'rejected'],
|
|
35
38
|
},
|
|
36
39
|
{
|
|
37
40
|
id: 'inline-atom',
|
|
38
|
-
shape: '
|
|
41
|
+
shape: 'episode',
|
|
39
42
|
detect: 'Stop',
|
|
40
43
|
judge: 'harness-cheap-or-greprag',
|
|
41
|
-
|
|
44
|
+
distill: 'greprag-flash',
|
|
45
|
+
register: 'local episode journal + inline-atom-schemas-${projectId}.json registry',
|
|
42
46
|
inject: 'UserPromptSubmit',
|
|
43
47
|
statuses: ['seeded', 'learned', 'confirmed', 'stale'],
|
|
44
48
|
},
|
|
49
|
+
{
|
|
50
|
+
id: 'parity-drift',
|
|
51
|
+
shape: 'point',
|
|
52
|
+
detect: 'Stop',
|
|
53
|
+
judge: 'greprag-flash-lite',
|
|
54
|
+
register: 'per-tenant kind=parity store auto system-delta units',
|
|
55
|
+
inject: 'PreToolUse',
|
|
56
|
+
statuses: ['learned', 'confirmed', 'stale'],
|
|
57
|
+
},
|
|
45
58
|
];
|
|
46
59
|
function captureConsumer(id) {
|
|
47
60
|
return exports.CAPTURE_MANIFEST.find(c => c.id === id) ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture-manifest.js","sourceRoot":"","sources":["../src/capture-manifest.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"capture-manifest.js","sourceRoot":"","sources":["../src/capture-manifest.ts"],"names":[],"mappings":";AAAA;;;mCAGmC;;;AAqEnC,0CAEC;AArDY,QAAA,gBAAgB,GAA8B;IACzD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,+BAA+B;QACzC,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAC/B;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,0CAA0C;QACpD,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC;KACpE;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,kCAAkC;QAC5C,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;KAC5C;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,wEAAwE;QAClF,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC;KACtD;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,sDAAsD;QAChE,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC;KAC5C;CACF,CAAC;AAEF,SAAgB,eAAe,CAAC,EAAU;IACxC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;AACzD,CAAC"}
|
package/dist/commands/parity.js
CHANGED
|
@@ -232,6 +232,11 @@ async function tableCmd(args) {
|
|
|
232
232
|
? `${u.canonical.source} revision ${u.canonical.revision}`
|
|
233
233
|
: 'no lead stamped yet';
|
|
234
234
|
console.log(`## ${u.name}`);
|
|
235
|
+
if (u.delta) {
|
|
236
|
+
console.log(` system: ${u.delta.systemTitle} / ${u.delta.slug} (${u.delta.scope})`);
|
|
237
|
+
if (u.delta.summary)
|
|
238
|
+
console.log(` summary: ${u.delta.summary}`);
|
|
239
|
+
}
|
|
235
240
|
console.log(` lead: ${leadStr}`);
|
|
236
241
|
if (u.divergedHint) {
|
|
237
242
|
console.log(` ⚠ diverged? lead flipped onto a stale copy ${u.divergedHint.at.slice(0, 10)} — two-sided advancement candidate; arbitrate via memory recap, never most-recent-wins`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parity.js","sourceRoot":"","sources":["../../src/commands/parity.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;qEAkBqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"parity.js","sourceRoot":"","sources":["../../src/commands/parity.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;qEAkBqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+QrE,8BAQC;AArRD,4CAA8B;AAC9B,gDAAkC;AAElC,SAAS,SAAS;IAChB,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB;QAChE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG;;;;;;;;;;;;;;gEAcmD,CAAC;AAgBjE,MAAM,UAAU,GAAgE;IAC9E;QACE,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,8BAA8B,EAAE;YACrE,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,4CAA4C,EAAE;YACnF,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,kDAAkD,EAAE;YACnF,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE;YAC3D,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gJAAgJ,EAAE;SACjM;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,sCAAsC,EAAE;YAC7E,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,oCAAoC,EAAE,IAAI,EAAE,kEAAkE,EAAE;YACrJ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,oFAAoF,EAAE;YACjI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,uFAAuF,EAAE;SACxI;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,qBAAqB,EAAE;YAC5D,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACrD,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,8BAA8B,EAAE;SACnE;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,2BAA2B,EAAE;YAClE,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,2CAA2C,EAAE;YAClF,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,oDAAoD,EAAE,IAAI,EAAE,mFAAmF,EAAE;YAChL,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,iDAAiD,EAAE;SACtF;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,sCAAsC,EAAE;YAC7E,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,wEAAwE,EAAE;YACrH,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,2EAA2E,EAAE;SAC5H;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gDAAgD,EAAE;YACvF,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,iDAAiD,EAAE;YACrF,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,oDAAoD,EAAE,IAAI,EAAE,mDAAmD,EAAE;SACjJ;KACF;CACF,CAAC;AAEF,iFAAiF;AAEjF,SAAS,OAAO;IACd,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED;;iCAEiC;AACjC,SAAS,eAAe,CAAC,SAAiB,EAAE,QAAgB;IAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,MAAM;QAChB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AASD;qDACqD;AACrD,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAqB;oBACpE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1C,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACrF,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,YAAqB;gBAC7D,IAAI,EAAE,wCAAwC,CAAC,CAAC,SAAS,EAAE;aAC5D,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,sBAAsB,QAAQ,+BAA+B,UAAU,cAAc,CAAC,CAAC;IAC1H,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,iBAAiB,EAAE;QACtD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACxF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;KAChC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAE/C,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,qBAAqB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,OAAO,kCAAkC,CAAC,CAAC;AACzG,CAAC;AAyBD,KAAK,UAAU,QAAQ,CAAC,IAAc;IACpC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,iBAAiB,EAAE;QACtD,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE;KACrD,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAE/C,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,qBAAqB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,8BAA8B,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI;YACpB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YAC5F,CAAC,CAAC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,aAAa,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC1D,CAAC,CAAC,qBAAqB,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YACxF,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,wFAAwF,CAAC,CAAC;QACtL,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;QACvE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,yGAAyG,CAAC,CAAC;AACzH,CAAC;AAED,mFAAmF;AAE5E,KAAK,UAAU,SAAS,CAAC,IAAc;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
package/dist/hook.js
CHANGED
|
@@ -123,11 +123,11 @@ const inbox_drain_1 = require("./commands/inbox-drain");
|
|
|
123
123
|
const procedure_1 = require("./procedure");
|
|
124
124
|
const ship_through_gate_1 = require("./commands/ship-through-gate");
|
|
125
125
|
// Procedure System LEARN leg (docs/procedure-system.md §V1 LEARN-leg build
|
|
126
|
-
// spec): the
|
|
126
|
+
// spec): the episode watch — opened at UserPromptSubmit (procedureCheck), observed
|
|
127
127
|
// per turn by the Stop hook (observeProcedureTurn), closed by negative
|
|
128
128
|
// continuity, distilled server-side, transitions applied to the local store.
|
|
129
129
|
const procedure_watch_1 = require("./procedure-watch");
|
|
130
|
-
const
|
|
130
|
+
const inline_atom_hook_1 = require("./inline-atom-hook");
|
|
131
131
|
const skill_landing_1 = require("./skill-landing");
|
|
132
132
|
const skill_mirror_client_1 = require("./skill-mirror-client");
|
|
133
133
|
const equipped_loadouts_cache_1 = require("./equipped-loadouts-cache");
|
|
@@ -950,42 +950,6 @@ async function observeProcedureTurn(cfg, anchor, turn, cwd, redaction) {
|
|
|
950
950
|
}
|
|
951
951
|
(0, procedure_watch_1.writeProcedureWatch)(anchor.projectId, next);
|
|
952
952
|
}
|
|
953
|
-
async function observeInlineAtoms(cfg, anchor, turn, sessionId, userPrompt, agentResponse) {
|
|
954
|
-
const atoms = (0, inline_atom_1.mergeInlineAtoms)(userPrompt, agentResponse);
|
|
955
|
-
if (atoms.length === 0)
|
|
956
|
-
return;
|
|
957
|
-
// Provider policy:
|
|
958
|
-
// - auto/greprag: portable command-hook path, costed to GrepRAG Flash-Lite.
|
|
959
|
-
// - harness: reserved for Claude Code's native Haiku prompt-hook bridge. Until
|
|
960
|
-
// that bridge can write the same local state file, fall back to GrepRAG.
|
|
961
|
-
// - off: disable the detector.
|
|
962
|
-
const provider = (process.env.GREPRAG_INLINE_ATOM_JUDGE || 'auto').toLowerCase();
|
|
963
|
-
if (provider === 'off')
|
|
964
|
-
return;
|
|
965
|
-
let verdicts = [];
|
|
966
|
-
try {
|
|
967
|
-
const res = await fetch(`${cfg.apiUrl}/v1/inline-atom/${anchor.projectId}/judge`, {
|
|
968
|
-
method: 'POST',
|
|
969
|
-
headers: { 'Authorization': `Bearer ${cfg.apiKey}`, 'Content-Type': 'application/json' },
|
|
970
|
-
body: JSON.stringify({
|
|
971
|
-
projectName: anchor.projectName,
|
|
972
|
-
user: userPrompt,
|
|
973
|
-
assistant: agentResponse,
|
|
974
|
-
atoms,
|
|
975
|
-
provider: provider === 'harness' ? 'greprag-fallback' : 'greprag',
|
|
976
|
-
}),
|
|
977
|
-
});
|
|
978
|
-
if (res.ok) {
|
|
979
|
-
const data = await res.json();
|
|
980
|
-
verdicts = Array.isArray(data.verdicts) ? data.verdicts : [];
|
|
981
|
-
}
|
|
982
|
-
}
|
|
983
|
-
catch { /* detector is best-effort */ }
|
|
984
|
-
(0, inline_atom_1.promoteInlineAtomResolutions)(anchor.projectId, (0, session_id_1.truncateSessionId)(sessionId) || null, verdicts);
|
|
985
|
-
if (verdicts.some(v => v.label === 'friction')) {
|
|
986
|
-
(0, inline_atom_1.writeInlineAtomFriction)(anchor.projectId, (0, session_id_1.truncateSessionId)(sessionId) || null, verdicts);
|
|
987
|
-
}
|
|
988
|
-
}
|
|
989
953
|
/** SessionStart fetch: the live enrichment-health verdict (fix c2eb8777).
|
|
990
954
|
* Null = healthy OR unreachable — the outage announce only fires on a
|
|
991
955
|
* POSITIVE probe failure, so an API blip never cries wolf. The worker
|
|
@@ -1249,7 +1213,7 @@ async function store(input, source = 'claude-code') {
|
|
|
1249
1213
|
}
|
|
1250
1214
|
catch { /* best-effort — a docptr outage never fails the Stop hook */ }
|
|
1251
1215
|
}
|
|
1252
|
-
// Procedure System
|
|
1216
|
+
// Procedure System episode observer (docs/procedure-system.md V1 LEARN leg):
|
|
1253
1217
|
// gated on "a watch file exists" — zero cost when no watch is open. One
|
|
1254
1218
|
// synchronous flash-lite continuity call per observed turn; close/watchdog
|
|
1255
1219
|
// logic is pure in procedure-watch.ts. Best-effort, never throws.
|
|
@@ -1259,12 +1223,11 @@ async function store(input, source = 'claude-code') {
|
|
|
1259
1223
|
}
|
|
1260
1224
|
catch { /* fail-open — a procedure outage never fails the Stop hook */ }
|
|
1261
1225
|
}
|
|
1262
|
-
// Inline-Atom
|
|
1263
|
-
//
|
|
1264
|
-
//
|
|
1265
|
-
// directive. Best-effort, never blocks capture.
|
|
1226
|
+
// Inline-Atom Episode Capture (docs/capture-system.md): new backtick
|
|
1227
|
+
// candidates, active episodes, and replay receipts share one Flash-Lite
|
|
1228
|
+
// observation call. Closed episodes alone reach the Flash distiller.
|
|
1266
1229
|
try {
|
|
1267
|
-
await observeInlineAtoms(cfg, anchor,
|
|
1230
|
+
await (0, inline_atom_hook_1.observeInlineAtoms)(cfg, anchor, input.session_id, userPrompt, agentResponse, toolCalls);
|
|
1268
1231
|
}
|
|
1269
1232
|
catch { /* fail-open — an inline-atom miss never fails the Stop hook */ }
|
|
1270
1233
|
// Skill mirror (docs/load-system.md Tier 3): a skill-load turn shadows that
|
|
@@ -1929,7 +1892,7 @@ async function notify(input, source = 'claude-code', chipContext) {
|
|
|
1929
1892
|
excludeMessageIds: liveMessageId ? [liveMessageId] : [],
|
|
1930
1893
|
});
|
|
1931
1894
|
const reminders = await injectReminders(input, cfg, short, 'codex');
|
|
1932
|
-
const inlineAtoms = buildPendingInlineAtomContext(input, short);
|
|
1895
|
+
const inlineAtoms = (0, inline_atom_hook_1.buildPendingInlineAtomContext)(input, short);
|
|
1933
1896
|
const parts = [duplicateDelegation, chipContext, context, reminders, inlineAtoms].filter((p) => !!p);
|
|
1934
1897
|
if (parts.length)
|
|
1935
1898
|
writeAdditionalContext('UserPromptSubmit', parts.join('\n\n'));
|
|
@@ -1941,24 +1904,11 @@ async function notify(input, source = 'claude-code', chipContext) {
|
|
|
1941
1904
|
// subcommand reaching the operator's settings. Fires whatever's deficient (stacking),
|
|
1942
1905
|
// and auto-silences each module the instant its deficiency resolves.
|
|
1943
1906
|
const reminders = await injectReminders(input, cfg, short);
|
|
1944
|
-
const inlineAtoms = buildPendingInlineAtomContext(input, short);
|
|
1907
|
+
const inlineAtoms = (0, inline_atom_hook_1.buildPendingInlineAtomContext)(input, short);
|
|
1945
1908
|
const parts = [reminders, inlineAtoms].filter((p) => !!p);
|
|
1946
1909
|
if (parts.length)
|
|
1947
1910
|
writeAdditionalContext('UserPromptSubmit', parts.join('\n\n'));
|
|
1948
1911
|
}
|
|
1949
|
-
function buildPendingInlineAtomContext(input, short) {
|
|
1950
|
-
try {
|
|
1951
|
-
const anchor = (0, project_anchor_1.readAnchor)(input.cwd || process.cwd());
|
|
1952
|
-
if (!anchor.projectId)
|
|
1953
|
-
return null;
|
|
1954
|
-
const records = (0, inline_atom_1.readAndClearInlineAtomFriction)(anchor.projectId, short);
|
|
1955
|
-
const prompt = typeof input.prompt === 'string' ? input.prompt : '';
|
|
1956
|
-
return (0, inline_atom_1.buildInlineAtomContext)({ projectId: anchor.projectId, prompt, records });
|
|
1957
|
-
}
|
|
1958
|
-
catch {
|
|
1959
|
-
return null;
|
|
1960
|
-
}
|
|
1961
|
-
}
|
|
1962
1912
|
/** Has the operator hit the Mechanic kill switch (`mechanic off` → the D8 panic
|
|
1963
1913
|
* switch file the guard dispatcher also checks first)? When set, the active-
|
|
1964
1914
|
* Mechanic pair (SessionStart announce + per-turn friction reminder) stays quiet,
|