greprag 5.54.0 → 5.55.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.
@@ -10,6 +10,7 @@ export declare function buildOpenCodeEnv(params: {
10
10
  current: string;
11
11
  latest: string;
12
12
  } | null;
13
+ procedureAnnounces?: string[];
13
14
  }): ReminderEnv;
14
15
  /** POINTER — opencode chip bootloader (not in global registry — Claude Code's
15
16
  * interrupt system stays untouched). Points at the copyable bootloader template
@@ -12,6 +12,7 @@ const OPENCODE_MODULE_IDS = new Set([
12
12
  'setup-warning',
13
13
  'version-upgrade',
14
14
  'memory-primer',
15
+ 'procedure-announce',
15
16
  'collision',
16
17
  ]);
17
18
  exports.opencodeRegistry = reminder_registry_1.REGISTRY.filter(m => OPENCODE_MODULE_IDS.has(m.id));
@@ -26,6 +27,7 @@ function buildOpenCodeEnv(params) {
26
27
  setupWarning: params.setupWarning ?? null,
27
28
  corpusApiDocs: params.corpusApiDocs ?? [],
28
29
  updateAvailable: params.updateAvailable ?? null,
30
+ procedureAnnounces: params.procedureAnnounces ?? [],
29
31
  };
30
32
  }
31
33
  /** POINTER — opencode chip bootloader (not in global registry — Claude Code's
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-interrupt.js","sourceRoot":"","sources":["../../src/commands/opencode-interrupt.ts"],"names":[],"mappings":";;;AAiBA,4CAmBC;AAUD,oDAEC;AAED,oDAEC;AAnDD,2DAAmF;AAEnF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,cAAc;IACd,aAAa;IACb,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,WAAW;CACZ,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAqB,4BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9B,CAAC;AAEF,SAAgB,gBAAgB,CAAC,MAOhC;IACC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;QACzC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;QACzC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;KAChD,CAAC;AACJ,CAAC;AAED;;;6CAG6C;AAChC,QAAA,gCAAgC,GAC3C,8FAA8F;IAC9F,wNAAwN,CAAC;AAE3N,SAAgB,oBAAoB,CAAC,GAAgB;IACnD,OAAO,CAAC,GAAG,IAAA,oCAAgB,EAAC,GAAG,EAAE,wBAAgB,CAAC,EAAE,wCAAgC,CAAC,CAAC;AACxF,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAgB;IACnD,OAAO,IAAA,oCAAgB,EAAC,GAAG,EAAE,wBAAgB,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"opencode-interrupt.js","sourceRoot":"","sources":["../../src/commands/opencode-interrupt.ts"],"names":[],"mappings":";;;AAkBA,4CAqBC;AAUD,oDAEC;AAED,oDAEC;AAtDD,2DAAmF;AAEnF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,cAAc;IACd,aAAa;IACb,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,oBAAoB;IACpB,WAAW;CACZ,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAqB,4BAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9B,CAAC;AAEF,SAAgB,gBAAgB,CAAC,MAQhC;IACC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;QACzC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;QACzC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;KACpD,CAAC;AACJ,CAAC;AAED;;;6CAG6C;AAChC,QAAA,gCAAgC,GAC3C,8FAA8F;IAC9F,wNAAwN,CAAC;AAE3N,SAAgB,oBAAoB,CAAC,GAAgB;IACnD,OAAO,CAAC,GAAG,IAAA,oCAAgB,EAAC,GAAG,EAAE,wBAAgB,CAAC,EAAE,wCAAgC,CAAC,CAAC;AACxF,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAgB;IACnD,OAAO,IAAA,oCAAgB,EAAC,GAAG,EAAE,wBAAgB,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** Generic Procedure System SessionStart announce. Active procedure installs
2
+ * provide concise definition-owned summaries; this one module renders them.
3
+ * Deep method stays behind `greprag procedure show <id>` — no per-procedure
4
+ * Interrupt module and no duplicate `greprag load` entry.
5
+ * adr/procedure-install-control-plane.md */
6
+ import { ReminderModule } from './reminder-types';
7
+ export declare function buildProcedureAnnounce(lines: string[] | undefined): string | null;
8
+ export declare const procedureAnnounceModule: ReminderModule;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /** Generic Procedure System SessionStart announce. Active procedure installs
3
+ * provide concise definition-owned summaries; this one module renders them.
4
+ * Deep method stays behind `greprag procedure show <id>` — no per-procedure
5
+ * Interrupt module and no duplicate `greprag load` entry.
6
+ * adr/procedure-install-control-plane.md */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.procedureAnnounceModule = void 0;
9
+ exports.buildProcedureAnnounce = buildProcedureAnnounce;
10
+ function buildProcedureAnnounce(lines) {
11
+ const active = (lines ?? []).map(s => s.trim()).filter(Boolean);
12
+ if (!active.length)
13
+ return null;
14
+ return [
15
+ '[greprag procedures — active project procedures:]',
16
+ ...active.map(line => `• ${line}`),
17
+ ].join('\n');
18
+ }
19
+ exports.procedureAnnounceModule = {
20
+ id: 'procedure-announce',
21
+ // ship-through references peer coordination taught by the inbox primer.
22
+ dependsOn: ['inbox-primer'],
23
+ detect: (_env) => ({ tier: 'silent' }),
24
+ announce: (env) => buildProcedureAnnounce(env.procedureAnnounces),
25
+ reminder: () => null,
26
+ };
27
+ //# sourceMappingURL=procedure-reminder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure-reminder.js","sourceRoot":"","sources":["../../src/commands/procedure-reminder.ts"],"names":[],"mappings":";AAAA;;;;6CAI6C;;;AAI7C,wDAOC;AAPD,SAAgB,sBAAsB,CAAC,KAA2B;IAChE,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO;QACL,mDAAmD;QACnD,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;KACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAEY,QAAA,uBAAuB,GAAmB;IACrD,EAAE,EAAE,oBAAoB;IACxB,wEAAwE;IACxE,SAAS,EAAE,CAAC,cAAc,CAAC;IAC3B,MAAM,EAAE,CAAC,IAAiB,EAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9D,QAAQ,EAAE,CAAC,GAAgB,EAAiB,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC7F,QAAQ,EAAE,GAAkB,EAAE,CAAC,IAAI;CACpC,CAAC"}
@@ -16,6 +16,7 @@
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.runProcedure = runProcedure;
18
18
  const procedure_1 = require("../procedure");
19
+ const procedure_run_1 = require("../procedure-run");
19
20
  const project_anchor_1 = require("../project-anchor");
20
21
  function getFlag(args, flag) {
21
22
  const idx = args.indexOf(flag);
@@ -32,19 +33,70 @@ function collectFlags(args, flag) {
32
33
  }
33
34
  return out;
34
35
  }
36
+ function parseSettingValue(raw) {
37
+ if (raw === 'true')
38
+ return true;
39
+ if (raw === 'false')
40
+ return false;
41
+ if (raw === 'null')
42
+ return null;
43
+ if (/^-?\d+(?:\.\d+)?$/.test(raw))
44
+ return Number(raw);
45
+ return raw;
46
+ }
47
+ function parseSettingPairs(raw) {
48
+ const out = {};
49
+ for (const pair of raw) {
50
+ const at = pair.indexOf('=');
51
+ if (at <= 0)
52
+ throw new Error(`setting must be key=value: ${pair}`);
53
+ out[pair.slice(0, at)] = parseSettingValue(pair.slice(at + 1));
54
+ }
55
+ return out;
56
+ }
35
57
  function resolveProjectId() {
36
58
  const anchor = (0, project_anchor_1.readAnchor)(process.cwd());
37
59
  return { projectId: anchor.projectId, projectName: anchor.projectName };
38
60
  }
39
- function printProcedure(p) {
61
+ function printProcedure(p, store) {
40
62
  const tag = p.destructive ? ' [DESTRUCTIVE — seed-only]' : '';
41
63
  console.log(` ${p.verb} (${p.status})${tag}`);
42
- console.log(` triggers: ${p.triggers.join(', ')}`);
64
+ console.log(` triggers: ${p.triggers.length ? p.triggers.join(', ') : '(session-governing)'}`);
43
65
  console.log(` steps: ${p.steps}`);
44
66
  if (p.caveats)
45
67
  console.log(` gate: ${p.caveats}`);
46
68
  if (p.endpoint)
47
69
  console.log(` endpoint: ${p.endpoint}`);
70
+ if (store) {
71
+ const i = (0, procedure_1.effectiveInstall)(store, p);
72
+ console.log(` install: ${i.state} · ${i.autonomy} · authority=${i.authority}`);
73
+ }
74
+ }
75
+ function printInstall(proc, install) {
76
+ console.log(`Procedure install: ${proc.verb}`);
77
+ console.log(` state: ${install.state}`);
78
+ console.log(` autonomy: ${install.autonomy}`);
79
+ console.log(` authority: ${install.authority}`);
80
+ console.log(` definition: v${install.definitionVersion}`);
81
+ if (Object.keys(install.settings).length) {
82
+ console.log(' settings:');
83
+ for (const [key, value] of Object.entries(install.settings))
84
+ console.log(` ${key}=${String(value)}`);
85
+ }
86
+ if (install.ratifiedAt)
87
+ console.log(` ratified: ${install.ratifiedAt} (${install.ratifiedBy || 'operator'})`);
88
+ }
89
+ function installForState(proc, current, state, settings = current.settings) {
90
+ const now = new Date().toISOString();
91
+ return {
92
+ ...current,
93
+ procedureId: proc.verb,
94
+ definitionVersion: proc.definitionVersion ?? 1,
95
+ state,
96
+ settings,
97
+ updatedAt: now,
98
+ ...(state === 'active' ? { ratifiedBy: 'operator', ratifiedAt: now } : { ratifiedBy: undefined, ratifiedAt: undefined }),
99
+ };
48
100
  }
49
101
  async function runProcedure(args) {
50
102
  const sub = args[0];
@@ -53,13 +105,10 @@ async function runProcedure(args) {
53
105
  switch (sub) {
54
106
  case 'list': {
55
107
  const store = (0, procedure_1.readProcedureStore)(projectId);
56
- if (store.procedures.length === 0) {
57
- console.log(`No procedures for ${projectName}. Seed the git set: greprag procedure seed --git`);
58
- return;
59
- }
60
- console.log(`Procedures for ${projectName} (${store.procedures.length}):`);
61
- for (const p of store.procedures)
62
- printProcedure(p);
108
+ const definitions = (0, procedure_1.listProcedureDefinitions)(store);
109
+ console.log(`Procedures for ${projectName} (${definitions.length}):`);
110
+ for (const p of definitions)
111
+ printProcedure(p, store);
63
112
  console.log(`\n store: ${(0, procedure_1.procedureStorePath)(projectId)}`);
64
113
  return;
65
114
  }
@@ -70,14 +119,254 @@ async function runProcedure(args) {
70
119
  process.exit(1);
71
120
  }
72
121
  const store = (0, procedure_1.readProcedureStore)(projectId);
73
- const p = store.procedures.find(x => x.verb === verb);
122
+ const p = (0, procedure_1.resolveProcedure)(store, verb);
74
123
  if (!p) {
75
124
  console.error(`No procedure "${verb}" for ${projectName}.`);
76
125
  process.exit(1);
77
126
  }
78
- printProcedure(p);
127
+ printProcedure(p, store);
79
128
  console.log(`\n --- injection text (what the agent sees) ---`);
80
129
  console.log((0, procedure_1.buildProcedureInjection)(p));
130
+ if (p.verb === 'ship-through') {
131
+ console.log('\n --- run evidence ---');
132
+ console.log(' greprag procedure begin ship-through');
133
+ console.log(' greprag procedure attest ship-through review --via peer|local --ref <reviewer>');
134
+ console.log(' greprag procedure attest ship-through checks --ref <command>');
135
+ console.log(' greprag procedure attest ship-through deploy --ref <version>');
136
+ console.log(' greprag procedure attest ship-through verify --ref <health/result>');
137
+ console.log(' greprag procedure complete ship-through succeeded');
138
+ }
139
+ return;
140
+ }
141
+ case 'status': {
142
+ const store = (0, procedure_1.readProcedureStore)(projectId);
143
+ const verb = rest[0];
144
+ if (verb) {
145
+ const proc = (0, procedure_1.resolveProcedure)(store, verb);
146
+ if (!proc) {
147
+ console.error(`No procedure "${verb}" for ${projectName}.`);
148
+ process.exit(1);
149
+ }
150
+ printInstall(proc, (0, procedure_1.effectiveInstall)(store, proc));
151
+ return;
152
+ }
153
+ console.log(`Procedure installs for ${projectName}:`);
154
+ for (const proc of (0, procedure_1.listProcedureDefinitions)(store)) {
155
+ const i = (0, procedure_1.effectiveInstall)(store, proc);
156
+ console.log(` ${proc.verb}: ${i.state} · ${i.autonomy} · authority=${i.authority}`);
157
+ }
158
+ return;
159
+ }
160
+ case 'enable': {
161
+ const verb = rest[0];
162
+ if (!verb) {
163
+ console.error('Usage: greprag procedure enable <id> [--set key=value ...]');
164
+ process.exit(1);
165
+ }
166
+ const store = (0, procedure_1.readProcedureStore)(projectId);
167
+ const proc = (0, procedure_1.resolveProcedure)(store, verb);
168
+ if (!proc) {
169
+ console.error(`No procedure "${verb}" for ${projectName}.`);
170
+ process.exit(1);
171
+ }
172
+ let overrides = {};
173
+ try {
174
+ overrides = parseSettingPairs(collectFlags(rest.slice(1), '--set'));
175
+ }
176
+ catch (e) {
177
+ console.error(e.message);
178
+ process.exit(1);
179
+ }
180
+ const current = (0, procedure_1.effectiveInstall)(store, proc);
181
+ const candidate = installForState(proc, {
182
+ ...current,
183
+ autonomy: current.state === 'disabled' && proc.defaultInstall ? proc.defaultInstall.autonomy : current.autonomy,
184
+ authority: current.state === 'disabled' && proc.defaultInstall ? proc.defaultInstall.authority : current.authority,
185
+ }, 'active', { ...current.settings, ...overrides });
186
+ const checked = (0, procedure_1.validateProcedureInstall)(proc, candidate);
187
+ if (!checked.ok) {
188
+ console.error(`Cannot enable ${verb}: ${checked.errors.join('; ')}`);
189
+ process.exit(1);
190
+ }
191
+ const install = { ...candidate, settings: checked.settings };
192
+ (0, procedure_1.writeProcedureStore)(projectId, (0, procedure_1.upsertProcedureInstall)(store, install));
193
+ console.log(`Enabled procedure "${verb}" for ${projectName}.`);
194
+ printInstall(proc, install);
195
+ if (proc.risk?.authorityScope?.length)
196
+ console.log(` scope: ${proc.risk.authorityScope.join('; ')}`);
197
+ return;
198
+ }
199
+ case 'disable':
200
+ case 'shadow': {
201
+ const verb = rest[0];
202
+ if (!verb) {
203
+ console.error(`Usage: greprag procedure ${sub} <id>`);
204
+ process.exit(1);
205
+ }
206
+ const store = (0, procedure_1.readProcedureStore)(projectId);
207
+ const proc = (0, procedure_1.resolveProcedure)(store, verb);
208
+ if (!proc) {
209
+ console.error(`No procedure "${verb}" for ${projectName}.`);
210
+ process.exit(1);
211
+ }
212
+ const next = installForState(proc, (0, procedure_1.effectiveInstall)(store, proc), sub === 'shadow' ? 'shadow' : 'disabled');
213
+ (0, procedure_1.writeProcedureStore)(projectId, (0, procedure_1.upsertProcedureInstall)(store, next));
214
+ console.log(`${sub === 'shadow' ? 'Shadowed' : 'Disabled'} procedure "${verb}" for ${projectName}.`);
215
+ return;
216
+ }
217
+ case 'settings': {
218
+ const verb = rest[0];
219
+ if (!verb) {
220
+ console.error('Usage: greprag procedure settings <id>');
221
+ process.exit(1);
222
+ }
223
+ const store = (0, procedure_1.readProcedureStore)(projectId);
224
+ const proc = (0, procedure_1.resolveProcedure)(store, verb);
225
+ if (!proc) {
226
+ console.error(`No procedure "${verb}" for ${projectName}.`);
227
+ process.exit(1);
228
+ }
229
+ const install = (0, procedure_1.effectiveInstall)(store, proc);
230
+ console.log(`Settings for ${verb}:`);
231
+ const schema = proc.settingsSchema ?? {};
232
+ if (!Object.keys(schema).length)
233
+ console.log(' (none)');
234
+ for (const [key, spec] of Object.entries(schema)) {
235
+ console.log(` ${key}=${String(install.settings[key])}${spec.enum ? ` [${spec.enum.join('|')}]` : ''}${spec.riskBearing ? ' (risk-bearing)' : ''}`);
236
+ if (spec.description)
237
+ console.log(` ${spec.description}`);
238
+ }
239
+ return;
240
+ }
241
+ case 'set': {
242
+ const verb = rest[0];
243
+ if (!verb || rest.length < 2) {
244
+ console.error('Usage: greprag procedure set <id> key=value [key=value ...]');
245
+ process.exit(1);
246
+ }
247
+ const store = (0, procedure_1.readProcedureStore)(projectId);
248
+ const proc = (0, procedure_1.resolveProcedure)(store, verb);
249
+ if (!proc) {
250
+ console.error(`No procedure "${verb}" for ${projectName}.`);
251
+ process.exit(1);
252
+ }
253
+ let overrides;
254
+ try {
255
+ overrides = parseSettingPairs(rest.slice(1));
256
+ }
257
+ catch (e) {
258
+ console.error(e.message);
259
+ process.exit(1);
260
+ }
261
+ const current = (0, procedure_1.effectiveInstall)(store, proc);
262
+ const checked = (0, procedure_1.validateProcedureInstall)(proc, { ...current, settings: { ...current.settings, ...overrides } });
263
+ if (!checked.ok) {
264
+ console.error(`Cannot update ${verb}: ${checked.errors.join('; ')}`);
265
+ process.exit(1);
266
+ }
267
+ const riskChanged = Object.keys(overrides).some(key => proc.settingsSchema?.[key]?.riskBearing);
268
+ const next = installForState(proc, current, riskChanged && current.state === 'active' ? 'disabled' : current.state, checked.settings);
269
+ (0, procedure_1.writeProcedureStore)(projectId, (0, procedure_1.upsertProcedureInstall)(store, next));
270
+ console.log(`Updated procedure "${verb}" settings.${riskChanged && current.state === 'active' ? ' Disabled until the operator re-enables it.' : ''}`);
271
+ printInstall(proc, next);
272
+ return;
273
+ }
274
+ case 'begin': {
275
+ const verb = rest[0];
276
+ if (!verb) {
277
+ console.error('Usage: greprag procedure begin <id>');
278
+ process.exit(1);
279
+ }
280
+ const store = (0, procedure_1.readProcedureStore)(projectId);
281
+ const proc = (0, procedure_1.resolveProcedure)(store, verb);
282
+ if (!proc) {
283
+ console.error(`No procedure "${verb}" for ${projectName}.`);
284
+ process.exit(1);
285
+ }
286
+ const install = (0, procedure_1.effectiveInstall)(store, proc);
287
+ if (install.state !== 'active') {
288
+ console.error(`Procedure "${verb}" is not active.`);
289
+ process.exit(1);
290
+ }
291
+ try {
292
+ const run = (0, procedure_run_1.beginProcedureRun)({ projectId, procedure: proc, install, cwd: process.cwd() });
293
+ console.log(`Started ${verb} run ${run.runId}.`);
294
+ console.log(` fingerprint: ${run.artifactFingerprint}`);
295
+ }
296
+ catch (e) {
297
+ console.error(e.message);
298
+ process.exit(1);
299
+ }
300
+ return;
301
+ }
302
+ case 'run-status': {
303
+ const verb = rest[0];
304
+ if (!verb) {
305
+ console.error('Usage: greprag procedure run-status <id>');
306
+ process.exit(1);
307
+ }
308
+ const run = (0, procedure_run_1.readProcedureRun)(projectId, verb);
309
+ if (!run) {
310
+ console.log(`No run for "${verb}".`);
311
+ return;
312
+ }
313
+ console.log(`Procedure run: ${verb} (${run.runId})`);
314
+ console.log(` started: ${run.startedAt}`);
315
+ console.log(` fingerprint: ${run.artifactFingerprint}`);
316
+ console.log(` outcome: ${run.outcome || 'active'}`);
317
+ console.log(' checkpoints:');
318
+ if (!run.checkpoints.length)
319
+ console.log(' (none)');
320
+ for (const c of run.checkpoints)
321
+ console.log(` ${c.kind} · ${c.via || '-'} · ${c.ref || '-'} · ${c.artifactFingerprint.slice(0, 12)}`);
322
+ return;
323
+ }
324
+ case 'attest': {
325
+ const verb = rest[0];
326
+ const kind = rest[1];
327
+ const validKinds = ['review', 'checks', 'commit', 'deploy', 'verify'];
328
+ if (!verb || !kind || !validKinds.includes(kind)) {
329
+ console.error('Usage: greprag procedure attest <id> <review|checks|commit|deploy|verify> [--via peer|local] [--ref text]');
330
+ process.exit(1);
331
+ }
332
+ const run = (0, procedure_run_1.readProcedureRun)(projectId, verb);
333
+ if (!run || run.outcome) {
334
+ console.error(`No active run for "${verb}". Run: greprag procedure begin ${verb}`);
335
+ process.exit(1);
336
+ }
337
+ const viaRaw = getFlag(rest.slice(2), '--via');
338
+ if (viaRaw && viaRaw !== 'peer' && viaRaw !== 'local') {
339
+ console.error('--via must be peer or local');
340
+ process.exit(1);
341
+ }
342
+ try {
343
+ const next = (0, procedure_run_1.attestProcedureCheckpoint)({
344
+ run, kind, cwd: process.cwd(), via: viaRaw,
345
+ ref: getFlag(rest.slice(2), '--ref'),
346
+ });
347
+ const c = next.checkpoints[next.checkpoints.length - 1];
348
+ console.log(`Attested ${verb}:${kind} for ${c.artifactFingerprint}.`);
349
+ }
350
+ catch (e) {
351
+ console.error(e.message);
352
+ process.exit(1);
353
+ }
354
+ return;
355
+ }
356
+ case 'complete': {
357
+ const verb = rest[0];
358
+ const outcome = rest[1];
359
+ if (!verb || !outcome || !['succeeded', 'failed', 'abandoned', 'stale'].includes(outcome)) {
360
+ console.error('Usage: greprag procedure complete <id> <succeeded|failed|abandoned|stale>');
361
+ process.exit(1);
362
+ }
363
+ const run = (0, procedure_run_1.readProcedureRun)(projectId, verb);
364
+ if (!run || run.outcome) {
365
+ console.error(`No active run for "${verb}".`);
366
+ process.exit(1);
367
+ }
368
+ const next = (0, procedure_run_1.completeProcedureRun)(run, outcome);
369
+ console.log(`Completed ${verb} run ${next.runId}: ${outcome}.`);
81
370
  return;
82
371
  }
83
372
  case 'seed': {
@@ -154,9 +443,19 @@ async function runProcedure(args) {
154
443
  return;
155
444
  }
156
445
  default:
157
- console.log('greprag procedure — operational recipes for this repo (docs/procedure-system.md)');
446
+ console.log('greprag procedure — operational recipes + project installs (docs/procedure-system.md)');
158
447
  console.log(' list list this project\'s procedures');
159
448
  console.log(' show <verb> print one + its injection text');
449
+ console.log(' status [id] show effective install state');
450
+ console.log(' enable <id> activate + operator-ratify a procedure');
451
+ console.log(' disable <id> turn a procedure off immediately');
452
+ console.log(' shadow <id> detect/tally only; no agent-facing effect');
453
+ console.log(' settings <id> show validated settings + choices');
454
+ console.log(' set <id> k=v [...] update settings (risk changes disable until re-enable)');
455
+ console.log(' begin <id> start a fingerprinted execution run');
456
+ console.log(' attest <id> <kind> record review/check/deploy/verify evidence');
457
+ console.log(' run-status <id> show latest run + evidence');
458
+ console.log(' complete <id> <outcome> close the current run');
160
459
  console.log(' seed --git write the git-ecosystem seed set');
161
460
  console.log(' register --verb ... hand-roll a procedure');
162
461
  console.log(' rm <verb> remove a procedure');
@@ -1 +1 @@
1
- {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../src/commands/procedure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../src/commands/procedure.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ const version_reminder_1 = require("./version-reminder");
24
24
  const enrichment_health_reminder_1 = require("./enrichment-health-reminder");
25
25
  const skill_gain_reminder_1 = require("./skill-gain-reminder");
26
26
  const skill_mirror_reminder_1 = require("./skill-mirror-reminder");
27
+ const procedure_reminder_1 = require("./procedure-reminder");
27
28
  /** Registry order = display order. THE single agent-facing announce/reminder assembly:
28
29
  * the hook does I/O → fills ReminderEnv → collectAnnounces (SessionStart) / collectReminders
29
30
  * (per turn) render every module here in this order. Order preserves the historical recap
@@ -39,6 +40,7 @@ exports.REGISTRY = [
39
40
  doc_pointer_reminder_1.docPointerAnnounceModule, // announce-only "core documents" list (docs/doc-pointer-system.md)
40
41
  skill_gain_reminder_1.skillGainAnnounceModule, // announce-only skill-gain landings (docs/skill-learning-loop.md)
41
42
  skill_mirror_reminder_1.skillMirrorAnnounceModule, // one-line Tier-3 pointer: your skills travel via greprag load (docs/load-system.md)
43
+ procedure_reminder_1.procedureAnnounceModule, // active project procedures, rendered generically from operator-owned installs
42
44
  setup_reminder_1.setupWarningModule,
43
45
  version_reminder_1.versionUpgradeModule, // Deficiency-gated announce — silent unless a newer release exists
44
46
  enrichment_health_reminder_1.enrichmentHealthModule, // Deficiency-gated announce — silent unless the Gemini probe fails (fix c2eb8777)
@@ -1 +1 @@
1
- {"version":3,"file":"reminder-registry.js","sourceRoot":"","sources":["../../src/commands/reminder-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reminder-registry.js","sourceRoot":"","sources":["../../src/commands/reminder-registry.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,10 @@ export interface ReminderEnv {
94
94
  count: number;
95
95
  names: string[];
96
96
  };
97
+ /** Concise summaries from ACTIVE project-scoped procedure installs. The hook
98
+ * reads the operator-owned procedure store; one generic announce module
99
+ * renders them. adr/procedure-install-control-plane.md */
100
+ procedureAnnounces?: string[];
97
101
  /** Auto-surfaced episodic-memory injection — the hook owns the recall-intent gate +
98
102
  * the search + the confidence gate + framing; the memory-reflex module routes the
99
103
  * framed string as its per-turn reminder. Null = nothing cleared the gate this turn. */
@@ -0,0 +1,16 @@
1
+ /** ship-through PreToolUse backstop. Pure policy over operator-owned install +
2
+ * fingerprinted run evidence; only artifact fingerprinting touches the repo.
3
+ * Returns a deny reason (agent-correctable, never a human approval request),
4
+ * `reviewed:true`, or inactive. adr/procedure-install-control-plane.md */
5
+ export interface ShipThroughGateResult {
6
+ active: boolean;
7
+ reviewed: boolean;
8
+ denyReason?: string;
9
+ }
10
+ export declare function evaluateShipThroughGate(params: {
11
+ projectId: string;
12
+ cwd: string;
13
+ actionKind: 'merge' | 'push' | 'deploy';
14
+ actionLabel: string;
15
+ peerShorts: string[];
16
+ }): ShipThroughGateResult;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /** ship-through PreToolUse backstop. Pure policy over operator-owned install +
3
+ * fingerprinted run evidence; only artifact fingerprinting touches the repo.
4
+ * Returns a deny reason (agent-correctable, never a human approval request),
5
+ * `reviewed:true`, or inactive. adr/procedure-install-control-plane.md */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.evaluateShipThroughGate = evaluateShipThroughGate;
8
+ const procedure_1 = require("../procedure");
9
+ const procedure_run_1 = require("../procedure-run");
10
+ function evaluateShipThroughGate(params) {
11
+ // ship-through never grants or alters standalone-push authority.
12
+ if (params.actionKind === 'push')
13
+ return { active: false, reviewed: false };
14
+ const store = (0, procedure_1.readProcedureStore)(params.projectId);
15
+ const proc = (0, procedure_1.resolveProcedure)(store, 'ship-through');
16
+ if (!proc)
17
+ return { active: false, reviewed: false };
18
+ const install = (0, procedure_1.effectiveInstall)(store, proc);
19
+ if (install.state !== 'active' || install.autonomy !== 'execute' || install.authority !== 'standing') {
20
+ return { active: false, reviewed: false };
21
+ }
22
+ const fingerprint = (0, procedure_run_1.currentArtifactFingerprint)(params.cwd);
23
+ const run = (0, procedure_run_1.readProcedureRun)(params.projectId, proc.verb);
24
+ const strategy = String(install.settings.review_strategy || 'peer-or-local');
25
+ const review = fingerprint && run && run.installRevision === (0, procedure_run_1.installRevision)(install)
26
+ ? (0, procedure_run_1.currentReviewEvidence)(run, fingerprint, strategy) : null;
27
+ if (fingerprint && review)
28
+ return { active: true, reviewed: true };
29
+ const peerHint = params.peerShorts.length
30
+ ? `Reachable same-project peer${params.peerShorts.length === 1 ? '' : 's'}: ${params.peerShorts.join(', ')}.`
31
+ : strategy === 'peer-required'
32
+ ? 'No same-project peer is reachable; peer-required cannot use the local fallback.'
33
+ : 'No same-project peer is reachable; use an independent local reviewer/subagent.';
34
+ const reason = [
35
+ `SHIP-THROUGH REVIEW REQUIRED before ${params.actionLabel}.`,
36
+ peerHint,
37
+ run ? '' : 'Start the run: `greprag procedure begin ship-through`.',
38
+ 'After review, bind it to the CURRENT artifact: `greprag procedure attest ship-through review --via peer|local --ref <reviewer>`.',
39
+ 'Then retry this command. Standing authority means do not ask the human for another routine deploy go-ahead.',
40
+ ].filter(Boolean).join(' ');
41
+ return { active: true, reviewed: false, denyReason: reason };
42
+ }
43
+ //# sourceMappingURL=ship-through-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-through-gate.js","sourceRoot":"","sources":["../../src/commands/ship-through-gate.ts"],"names":[],"mappings":";AAAA;;;2EAG2E;;AAgB3E,0DAqCC;AAnDD,4CAEsB;AACtB,oDAG0B;AAQ1B,SAAgB,uBAAuB,CAAC,MAMvC;IACC,iEAAiE;IACjE,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAA,8BAAkB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAA,4BAAgB,EAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,IAAA,4BAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QACrG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,0CAA0B,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAA,gCAAgB,EAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,IAAI,eAAe,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,WAAW,IAAI,GAAG,IAAI,GAAG,CAAC,eAAe,KAAK,IAAA,+BAAe,EAAC,OAAO,CAAC;QACnF,CAAC,CAAC,IAAA,qCAAqB,EAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,IAAI,WAAW,IAAI,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEnE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;QACvC,CAAC,CAAC,8BAA8B,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7G,CAAC,CAAC,QAAQ,KAAK,eAAe;YAC5B,CAAC,CAAC,iFAAiF;YACnF,CAAC,CAAC,gFAAgF,CAAC;IACvF,MAAM,MAAM,GAAG;QACb,uCAAuC,MAAM,CAAC,WAAW,GAAG;QAC5D,QAAQ;QACR,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wDAAwD;QACnE,kIAAkI;QAClI,6GAA6G;KAC9G,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC/D,CAAC"}