greprag 5.62.0 → 5.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/codex-chip-hooks.js +2 -1
  2. package/dist/codex-chip-hooks.js.map +1 -1
  3. package/dist/commands/arm-reminder.js +5 -0
  4. package/dist/commands/arm-reminder.js.map +1 -1
  5. package/dist/commands/codex-chip/prompt.js +1 -1
  6. package/dist/commands/codex-chip/prompt.js.map +1 -1
  7. package/dist/commands/fix.js +116 -0
  8. package/dist/commands/fix.js.map +1 -1
  9. package/dist/commands/inbox-primer-reminder.js +10 -2
  10. package/dist/commands/inbox-primer-reminder.js.map +1 -1
  11. package/dist/commands/load-primer-reminder.d.ts +6 -0
  12. package/dist/commands/load-primer-reminder.js +22 -2
  13. package/dist/commands/load-primer-reminder.js.map +1 -1
  14. package/dist/commands/mechanic-spawn.js +34 -7
  15. package/dist/commands/mechanic-spawn.js.map +1 -1
  16. package/dist/commands/opencode-interrupt.d.ts +15 -5
  17. package/dist/commands/opencode-interrupt.js +22 -20
  18. package/dist/commands/opencode-interrupt.js.map +1 -1
  19. package/dist/commands/os-primer-reminder.js +5 -2
  20. package/dist/commands/os-primer-reminder.js.map +1 -1
  21. package/dist/commands/parity.d.ts +20 -0
  22. package/dist/commands/parity.js +265 -0
  23. package/dist/commands/parity.js.map +1 -0
  24. package/dist/commands/reminder-registry.d.ts +7 -0
  25. package/dist/commands/reminder-registry.js +9 -1
  26. package/dist/commands/reminder-registry.js.map +1 -1
  27. package/dist/commands/reminder-types.d.ts +13 -1
  28. package/dist/guard.d.ts +9 -5
  29. package/dist/guard.js +9 -5
  30. package/dist/guard.js.map +1 -1
  31. package/dist/index.js +4 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/opencode-plugin.bundle.js +50 -20
  34. package/dist/opencode-plugin.js +14 -0
  35. package/dist/opencode-plugin.js.map +1 -1
  36. package/package.json +2 -2
  37. package/skill/greprag/docs/codex-chip.md +5 -0
  38. package/skill/mechanic/SKILL.md +5 -0
  39. package/skill/templates/codex-chip-spawn.md +23 -0
@@ -15,8 +15,11 @@ exports.osPrimerModule = void 0;
15
15
  exports.buildOsPrimer = buildOsPrimer;
16
16
  function buildOsPrimer(env) {
17
17
  // The chip-spawn method is per-harness (Codex never sees the Claude entry —
18
- // the same wall the codex-chip-spawn pointer module enforces).
19
- const spawnEntry = env?.platform === 'codex' ? 'codex-chip-spawn' : 'chip-spawn';
18
+ // the same wall the codex-chip-spawn pointer module enforces; opencode's
19
+ // vehicle is the chip-bootloader entry: native `greprag opencode chip` spawn).
20
+ const spawnEntry = env?.platform === 'codex' ? 'codex-chip-spawn'
21
+ : env?.platform === 'opencode' ? 'chip-bootloader'
22
+ : 'chip-spawn';
20
23
  return [
21
24
  '[grepragOS — the operating laws. Full doctrine: `greprag load os`.]',
22
25
  '• Doctrine vs state: methods ship in the CLI (`greprag load`); live state lives in the repo. A skill that depends on repo state carries a "STATE — read these first" block naming exact paths.',
@@ -1 +1 @@
1
- {"version":3,"file":"os-primer-reminder.js","sourceRoot":"","sources":["../../src/commands/os-primer-reminder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;4EAU4E;;;AAI5E,sCAYC;AAZD,SAAgB,aAAa,CAAC,GAAmC;IAC/D,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,UAAU,GAAG,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC;IACjF,OAAO;QACL,qEAAqE;QACrE,gMAAgM;QAChM,2QAA2Q;QAC3Q,oJAAoJ;QACpJ,kPAAkP,UAAU,uLAAuL;QACnb,mJAAmJ;KACpJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAEY,QAAA,cAAc,GAAmB;IAC5C,EAAE,EAAE,WAAW;IACf,MAAM,EAAE,CAAC,IAAiB,EAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,uBAAuB;IACvF,QAAQ,EAAE,CAAC,GAAG,EAAiB,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC;IACpD,QAAQ,EAAE,GAAkB,EAAE,CAAC,IAAI;CACpC,CAAC"}
1
+ {"version":3,"file":"os-primer-reminder.js","sourceRoot":"","sources":["../../src/commands/os-primer-reminder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;4EAU4E;;;AAI5E,sCAeC;AAfD,SAAgB,aAAa,CAAC,GAAmC;IAC/D,4EAA4E;IAC5E,yEAAyE;IACzE,+EAA+E;IAC/E,MAAM,UAAU,GAAG,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB;QAC/D,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB;YAClD,CAAC,CAAC,YAAY,CAAC;IACjB,OAAO;QACL,qEAAqE;QACrE,gMAAgM;QAChM,2QAA2Q;QAC3Q,oJAAoJ;QACpJ,kPAAkP,UAAU,uLAAuL;QACnb,mJAAmJ;KACpJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAEY,QAAA,cAAc,GAAmB;IAC5C,EAAE,EAAE,WAAW;IACf,MAAM,EAAE,CAAC,IAAiB,EAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,uBAAuB;IACvF,QAAQ,EAAE,CAAC,GAAG,EAAiB,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC;IACpD,QAAQ,EAAE,GAAkB,EAAE,CAAC,IAAI;CACpC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /** greprag parity — the Parity System's operator verbs
2
+ * (docs/parity-system.md Phase 1; adr/parity-system.md).
3
+ *
4
+ * parity [--format json]
5
+ * The on-demand table: unit · lead (harness/session/date) · stale
6
+ * followers · open parity fix · last reconcile. Operator visibility is
7
+ * PULL, not push — there is no announce (field law: unscoped announces
8
+ * are never taken up).
9
+ *
10
+ * parity seed [--dry-run]
11
+ * Hand-seed the operator-ratified doctrine units (the v1 six). Each
12
+ * candidate follower path is VERIFIED against this machine's
13
+ * filesystem before it enters the manifest — an unverifiable candidate
14
+ * is stored as {path: null, status: 'unresolved'} with the candidate
15
+ * kept as a note. NEVER a guessed path. Idempotent upsert by unit
16
+ * name (existing stamps + lead survive re-seeding).
17
+ *
18
+ * Thin client over /v1/parity/{seed,list}; tenant-scoped (units span
19
+ * projects). Self-contained dispatcher + body (the CLI pattern). */
20
+ export declare function runParity(args: string[]): Promise<void>;
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ /** greprag parity — the Parity System's operator verbs
3
+ * (docs/parity-system.md Phase 1; adr/parity-system.md).
4
+ *
5
+ * parity [--format json]
6
+ * The on-demand table: unit · lead (harness/session/date) · stale
7
+ * followers · open parity fix · last reconcile. Operator visibility is
8
+ * PULL, not push — there is no announce (field law: unscoped announces
9
+ * are never taken up).
10
+ *
11
+ * parity seed [--dry-run]
12
+ * Hand-seed the operator-ratified doctrine units (the v1 six). Each
13
+ * candidate follower path is VERIFIED against this machine's
14
+ * filesystem before it enters the manifest — an unverifiable candidate
15
+ * is stored as {path: null, status: 'unresolved'} with the candidate
16
+ * kept as a note. NEVER a guessed path. Idempotent upsert by unit
17
+ * name (existing stamps + lead survive re-seeding).
18
+ *
19
+ * Thin client over /v1/parity/{seed,list}; tenant-scoped (units span
20
+ * projects). Self-contained dispatcher + body (the CLI pattern). */
21
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ var desc = Object.getOwnPropertyDescriptor(m, k);
24
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
25
+ desc = { enumerable: true, get: function() { return m[k]; } };
26
+ }
27
+ Object.defineProperty(o, k2, desc);
28
+ }) : (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ o[k2] = m[k];
31
+ }));
32
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
33
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
34
+ }) : function(o, v) {
35
+ o["default"] = v;
36
+ });
37
+ var __importStar = (this && this.__importStar) || (function () {
38
+ var ownKeys = function(o) {
39
+ ownKeys = Object.getOwnPropertyNames || function (o) {
40
+ var ar = [];
41
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
42
+ return ar;
43
+ };
44
+ return ownKeys(o);
45
+ };
46
+ return function (mod) {
47
+ if (mod && mod.__esModule) return mod;
48
+ var result = {};
49
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
50
+ __setModuleDefault(result, mod);
51
+ return result;
52
+ };
53
+ })();
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.runParity = runParity;
56
+ const fs = __importStar(require("node:fs"));
57
+ const path = __importStar(require("node:path"));
58
+ function getConfig() {
59
+ return {
60
+ apiUrl: process.env.GREPRAG_API_URL || 'https://api.greprag.com',
61
+ apiKey: process.env.GREPRAG_API_KEY || '',
62
+ };
63
+ }
64
+ const HELP = `greprag parity — drift-from-canon over per-harness doctrine (docs/parity-system.md)
65
+
66
+ USAGE
67
+ greprag parity [--format json] The parity table: unit · lead · stale
68
+ followers · open parity fix · last reconcile.
69
+ greprag parity seed [--dry-run] Hand-seed the operator-ratified doctrine
70
+ units. Paths are verified on THIS machine;
71
+ unverifiable candidates enter as unresolved
72
+ (never guessed). Idempotent.
73
+
74
+ HOW DRIFT IS DETECTED (no action needed here)
75
+ Worthy edits to tracked follower files are stamped off the Stop hook's
76
+ filesTouched stream (Flash-Lite judge, write-time only). Editing a STALE
77
+ copy triggers the PreToolUse guard with a directive; the lead copy gets a
78
+ note. Reconcile is a parity fix chip — hand-fired in Phase 1.`;
79
+ const SEED_UNITS = [
80
+ {
81
+ name: 'chip-spawn',
82
+ followers: [
83
+ { harness: 'claude-code', candidate: '~/.claude/docs/chip-spawn.md' },
84
+ { harness: 'claude-code', candidate: 'packages/cli/skill/templates/chip-spawn.md' },
85
+ { harness: 'codex', candidate: 'packages/cli/skill/templates/codex-chip-spawn.md' },
86
+ { harness: 'codex', candidate: 'docs/codex-chip-spawn.md' },
87
+ { harness: 'opencode', candidate: null, note: 'no dedicated opencode chip-spawn doc found — chips ride greprag opencode chip + templates/chip-leader-opencode.md covers the leader shape only' },
88
+ ],
89
+ },
90
+ {
91
+ name: 'mechanic-fix-doctrine',
92
+ followers: [
93
+ { harness: 'claude-code', candidate: 'packages/cli/skill/mechanic/SKILL.md' },
94
+ { harness: 'claude-code', candidate: '~/.claude/skills/mechanic/SKILL.md', note: 'install artifact of the repo source — greprag init overwrites it' },
95
+ { harness: 'codex', candidate: null, note: 'codex consumes fix doctrine via buildFixMission (code) — no markdown copy to track' },
96
+ { harness: 'opencode', candidate: null, note: 'opencode consumes fix doctrine via the interrupt registry — no markdown copy to track' },
97
+ ],
98
+ },
99
+ {
100
+ name: 'claude-md-machinery',
101
+ followers: [
102
+ { harness: 'claude-code', candidate: '~/.claude/CLAUDE.md' },
103
+ { harness: 'codex', candidate: '~/.codex/AGENTS.md' },
104
+ { harness: 'opencode', candidate: '~/.config/opencode/AGENTS.md' },
105
+ ],
106
+ },
107
+ {
108
+ name: 'watcher-arm',
109
+ followers: [
110
+ { harness: 'claude-code', candidate: 'adr/monitor-resilience.md' },
111
+ { harness: 'claude-code', candidate: 'packages/cli/src/commands/arm-reminder.ts' },
112
+ { harness: 'codex', candidate: 'packages/cli/src/commands/codex-startup.ts' },
113
+ { harness: 'opencode', candidate: 'packages/cli/src/commands/opencode-interrupt.ts' },
114
+ ],
115
+ },
116
+ {
117
+ name: 'secrets-convention',
118
+ followers: [
119
+ { harness: 'claude-code', candidate: '~/.claude/docs/secrets-convention.md' },
120
+ { harness: 'codex', candidate: null, note: 'convention referenced from global CLAUDE.md only — no codex copy found' },
121
+ { harness: 'opencode', candidate: null, note: 'convention referenced from global CLAUDE.md only — no opencode copy found' },
122
+ ],
123
+ },
124
+ {
125
+ name: 'opencode-interrupt-registry',
126
+ followers: [
127
+ { harness: 'claude-code', candidate: 'packages/cli/src/commands/reminder-registry.ts' },
128
+ { harness: 'opencode', candidate: 'packages/cli/src/commands/opencode-interrupt.ts' },
129
+ { harness: 'codex', candidate: 'packages/cli/src/commands/codex-startup.ts', note: 'codex startup announce surface — the registry sibling' },
130
+ ],
131
+ },
132
+ ];
133
+ // ---------- Seed: verify candidates on this machine ---------------------------
134
+ function homeDir() {
135
+ return process.env.HOME || process.env.USERPROFILE || '';
136
+ }
137
+ /** Verify one candidate on this machine. `~/` resolves against HOME; other
138
+ * paths resolve against the repo root (cwd). Returns the portable stored
139
+ * path on hit, null on miss. */
140
+ function verifyCandidate(candidate, repoRoot) {
141
+ const isHome = candidate.startsWith('~/');
142
+ const abs = isHome
143
+ ? path.join(homeDir(), candidate.slice(2))
144
+ : path.join(repoRoot, candidate);
145
+ try {
146
+ return fs.existsSync(abs) ? candidate : null;
147
+ }
148
+ catch {
149
+ return null;
150
+ }
151
+ }
152
+ /** Resolve every candidate → verified path or unresolved. Exported shape used
153
+ * by the dry-run render and the POST body alike. */
154
+ function resolveSeedUnits(repoRoot) {
155
+ return SEED_UNITS.map((u) => ({
156
+ name: u.name,
157
+ followers: u.followers.map((f) => {
158
+ if (f.candidate === null) {
159
+ return { harness: f.harness, path: null, status: 'unresolved',
160
+ ...(f.note ? { note: f.note } : {}) };
161
+ }
162
+ const verified = verifyCandidate(f.candidate, repoRoot);
163
+ if (verified) {
164
+ return { harness: f.harness, path: verified, ...(f.note ? { note: f.note } : {}) };
165
+ }
166
+ return {
167
+ harness: f.harness, path: null, status: 'unresolved',
168
+ note: `candidate not found on this machine: ${f.candidate}`,
169
+ };
170
+ }),
171
+ }));
172
+ }
173
+ async function seedCmd(args) {
174
+ const cfg = getConfig();
175
+ if (!cfg.apiKey) {
176
+ console.error('GREPRAG_API_KEY not set — run `greprag init` first.');
177
+ process.exit(1);
178
+ }
179
+ const units = resolveSeedUnits(process.cwd());
180
+ const verified = units.flatMap(u => u.followers).filter(f => f.path).length;
181
+ const unresolved = units.flatMap(u => u.followers).filter(f => !f.path).length;
182
+ console.log(`Seeding ${units.length} doctrine unit(s): ${verified} verified follower path(s), ${unresolved} unresolved.`);
183
+ for (const u of units) {
184
+ console.log(` ${u.name}`);
185
+ for (const f of u.followers) {
186
+ console.log(` ${f.path ? '✓' : '∅'} ${f.harness}: ${f.path ?? `unresolved${f.note ? ` (${f.note})` : ''}`}`);
187
+ }
188
+ }
189
+ if (args.includes('--dry-run')) {
190
+ console.log('\n--dry-run: nothing posted.');
191
+ return;
192
+ }
193
+ const res = await fetch(`${cfg.apiUrl}/v1/parity/seed`, {
194
+ method: 'POST',
195
+ headers: { 'Authorization': `Bearer ${cfg.apiKey}`, 'Content-Type': 'application/json' },
196
+ body: JSON.stringify({ units }),
197
+ });
198
+ const body = (await res.json().catch(() => ({})));
199
+ if (!res.ok || !body.ok) {
200
+ throw new Error(body.error || `seed failed (HTTP ${res.status})`);
201
+ }
202
+ console.log(`\nManifest updated: ${body.seeded} new, ${body.updated} refreshed. View: greprag parity`);
203
+ }
204
+ async function tableCmd(args) {
205
+ const cfg = getConfig();
206
+ if (!cfg.apiKey) {
207
+ console.error('GREPRAG_API_KEY not set — run `greprag init` first.');
208
+ process.exit(1);
209
+ }
210
+ const format = (args[args.indexOf('--format') + 1] || 'text').toLowerCase();
211
+ const res = await fetch(`${cfg.apiUrl}/v1/parity/list`, {
212
+ headers: { 'Authorization': `Bearer ${cfg.apiKey}` },
213
+ });
214
+ const body = (await res.json().catch(() => ({})));
215
+ if (!res.ok || !body.ok || !body.units) {
216
+ throw new Error(body.error || `list failed (HTTP ${res.status})`);
217
+ }
218
+ const units = body.units;
219
+ if (args.includes('--format') && format === 'json') {
220
+ console.log(JSON.stringify({ units }, null, 2));
221
+ return;
222
+ }
223
+ if (units.length === 0) {
224
+ console.log('No doctrine units in the parity manifest yet. Seed: greprag parity seed');
225
+ return;
226
+ }
227
+ console.log(`\n${units.length} doctrine unit(s) tracked:\n`);
228
+ for (const u of units) {
229
+ const leadStr = u.lead
230
+ ? `${u.lead.harness} ${u.lead.ts.slice(0, 10)} (session ${u.lead.session}) — ${u.lead.path}`
231
+ : 'no lead stamped yet';
232
+ console.log(`## ${u.name}`);
233
+ console.log(` lead: ${leadStr}`);
234
+ if (u.divergedHint) {
235
+ 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`);
236
+ }
237
+ const stale = u.followers.filter((f) => f.state === 'stale');
238
+ if (stale.length > 0) {
239
+ console.log(` stale: ${stale.map((f) => `${f.harness}:${f.path}`).join(' · ')}`);
240
+ }
241
+ else {
242
+ console.log(` stale: none${u.lead ? '' : ' (nothing stamped)'}`);
243
+ }
244
+ const unresolved = u.followers.filter((f) => f.state === 'unresolved');
245
+ if (unresolved.length > 0) {
246
+ console.log(` unresolved: ${unresolved.map((f) => f.harness).join(', ')}`);
247
+ }
248
+ console.log(` open fix: ${u.openFix ? `[${u.openFix}]` : '—'}`);
249
+ console.log(` reconciled: ${u.lastReconcile ? u.lastReconcile.slice(0, 10) : 'never'}`);
250
+ console.log('');
251
+ }
252
+ console.log('Reconcile is hand-fired in Phase 1: greprag fix spawn "<unit> drift: <stale copies> behind <lead>"');
253
+ }
254
+ // ---------- Dispatch ------------------------------------------------------------
255
+ async function runParity(args) {
256
+ const sub = args[0];
257
+ if (sub === '--help' || sub === '-h' || sub === 'help') {
258
+ console.log(HELP);
259
+ return;
260
+ }
261
+ if (sub === 'seed')
262
+ return seedCmd(args.slice(1));
263
+ return tableCmd(args);
264
+ }
265
+ //# sourceMappingURL=parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parity.js","sourceRoot":"","sources":["../../src/commands/parity.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,13 @@ import { ReminderEnv, ReminderModule, Detection } from './reminder-types';
11
11
  * loud, action-first modules last (watcher-arm → mechanic) so they read most-recent at
12
12
  * SessionStart. Add a module here to wire it into BOTH surfaces at once. */
13
13
  export declare const REGISTRY: ReminderModule[];
14
+ /** Derive a harness's registry by EXCLUSION, never by include-list. A module with no
15
+ * `harnesses` declaration ships to every harness; a declared list scopes it. This is
16
+ * the whitelist-drift killer: adding a module to REGISTRY wires it into claude-code,
17
+ * codex, AND opencode in one move — a harness can only fall behind by an explicit,
18
+ * reviewable `harnesses:` tag on the module itself, never by someone forgetting to
19
+ * update a parallel id list. (Root-cause repair, chip/opencode-fix-chip-system-parity.) */
20
+ export declare const harnessModules: (harness: "claude-code" | "codex" | "opencode", registry?: ReminderModule[]) => ReminderModule[];
14
21
  /** Split the registry by READ surface (docs/reminder-interrupt.md). UserPromptSubmit
15
22
  * evaluates `prompt`-source modules (the default); PreToolUse evaluates `command`-source
16
23
  * modules (they read env.toolCommand). Announces are always prompt-side (SessionStart). */
@@ -5,7 +5,7 @@
5
5
  * PURE over ReminderEnv — the hook assembles env (i/o) and emits the returned lines;
6
6
  * a broken module never blocks a turn (fail-open per module). */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.compactReannounceModules = exports.commandModules = exports.promptModules = exports.REGISTRY = void 0;
8
+ exports.compactReannounceModules = exports.commandModules = exports.promptModules = exports.harnessModules = exports.REGISTRY = void 0;
9
9
  exports.collectReminders = collectReminders;
10
10
  exports.bootOrder = bootOrder;
11
11
  exports.collectAnnounces = collectAnnounces;
@@ -55,6 +55,14 @@ exports.REGISTRY = [
55
55
  friction_reminder_1.mechanicFrictionModule,
56
56
  collision_reminder_1.collisionMatchModule, // source: 'command' — evaluated at PreToolUse, not UserPromptSubmit
57
57
  ];
58
+ /** Derive a harness's registry by EXCLUSION, never by include-list. A module with no
59
+ * `harnesses` declaration ships to every harness; a declared list scopes it. This is
60
+ * the whitelist-drift killer: adding a module to REGISTRY wires it into claude-code,
61
+ * codex, AND opencode in one move — a harness can only fall behind by an explicit,
62
+ * reviewable `harnesses:` tag on the module itself, never by someone forgetting to
63
+ * update a parallel id list. (Root-cause repair, chip/opencode-fix-chip-system-parity.) */
64
+ const harnessModules = (harness, registry = exports.REGISTRY) => registry.filter((m) => !m.harnesses || m.harnesses.includes(harness));
65
+ exports.harnessModules = harnessModules;
58
66
  /** Split the registry by READ surface (docs/reminder-interrupt.md). UserPromptSubmit
59
67
  * evaluates `prompt`-source modules (the default); PreToolUse evaluates `command`-source
60
68
  * modules (they read env.toolCommand). Announces are always prompt-side (SessionStart). */
@@ -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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"}
@@ -42,7 +42,8 @@ export interface ReminderEnv {
42
42
  mechanicLive?: boolean;
43
43
  /** One-shot per role epoch: tell a non-mechanic source session where friction goes. */
44
44
  mechanicLiveNotice?: boolean;
45
- /** Platform/harness name: 'claude' | 'opencode' | 'codex'. Set by the hook. */
45
+ /** Platform/harness name: 'claude-code' | 'opencode' | 'codex' (the spellings
46
+ * call sites actually pass — hook.ts sends 'claude-code'). Set by the hook. */
46
47
  platform?: string | null;
47
48
  /** Project display name (for the checkpoint announce). */
48
49
  projectName?: string;
@@ -164,6 +165,17 @@ export interface ReminderModule {
164
165
  * PreToolUse, reading `env.toolCommand`. The call site filters the registry by source
165
166
  * so each hook event evaluates only its own modules. */
166
167
  source?: 'prompt' | 'command';
168
+ /** Harnesses whose registry renders this module. UNDEFINED = ALL harnesses — the
169
+ * default, so a new registry module flows to every harness automatically and a
170
+ * per-harness registry can never silently drift behind the canon (the
171
+ * whitelist-drift root cause this replaces: opencode's hand-maintained
172
+ * OPENCODE_MODULE_IDS include-list missed os-primer + mechanic-friction for
173
+ * weeks). Declare this ONLY when the module depends on a harness-specific
174
+ * mechanism — e.g. watcher-arm rides Claude Code's Monitor tool; opencode's
175
+ * relay self-arms in the plugin, so the arm poke is noise there. Values match
176
+ * the platform spellings the call sites pass ('claude-code' | 'codex' |
177
+ * 'opencode'). Derivation: reminder-registry.harnessModules(). */
178
+ harnesses?: Array<'claude-code' | 'codex' | 'opencode'>;
167
179
  /** Boot-sequence dependencies (docs/load-system.md §boot sequence): module ids whose
168
180
  * announce MUST be emitted before this one's. A primer that references a concept an
169
181
  * earlier primer establishes declares it here (e.g. the mechanic primer references chip
package/dist/guard.d.ts CHANGED
@@ -37,6 +37,9 @@ interface RepairObj {
37
37
  status?: string;
38
38
  /** Harness boundary: claude-code | codex | opencode | all. Missing = legacy claude-code row. */
39
39
  targetHarness?: string | null;
40
+ /** Explicit injection actionability tier (adr/skill-tuning-reflex.md upgrade
41
+ * path) — overrides the scope-derived tier; external trust still caps to note. */
42
+ tier?: string;
40
43
  trigger?: RepairTrigger;
41
44
  cadence?: string;
42
45
  resetScope?: string;
@@ -95,11 +98,12 @@ export declare const TRANSFORM_SENSITIVE_FIELDS: string[];
95
98
  * rows can NEVER reach directive tier (see injectionTier). */
96
99
  export declare function wrapStandingNote(text: string): string;
97
100
  export declare function wrapDirective(text: string): string;
98
- /** Actionability tier for a row's inject. Derived from scope + trust (no schema
99
- * field yet): skill-tuning-scoped first-party rows are directives; everything
100
- * else is a note. HARD CAP: trust:external can never be a directive — the
101
- * actionable channel must stay unreachable by laundering. Upgrade path: an
102
- * explicit repair.tier field overrides this once a second directive class ships. */
101
+ /** Actionability tier for a row's inject. An explicit repair.tier wins (the
102
+ * documented upgrade path, shipped with the second directive class: the
103
+ * parity guard's stale-copy rows docs/parity-system.md Channel 1);
104
+ * otherwise derived from scope (skill-tuning rows are directives). HARD CAP
105
+ * checked FIRST either way: trust:external can never be a directive the
106
+ * actionable channel must stay unreachable by laundering. */
103
107
  export declare function injectionTier(row: MatchsetRepair): 'note' | 'directive';
104
108
  export declare function readMatchsetCache(projectId: string): MatchsetCacheFile | null;
105
109
  /** Merge state values into the matchset cache (Adapter A). Single-writer; no cache yet → no-op. */
package/dist/guard.js CHANGED
@@ -105,14 +105,18 @@ function wrapStandingNote(text) {
105
105
  function wrapDirective(text) {
106
106
  return `[Mechanic directive — a harness instruction to act on this turn; not from the operator] ${text}`;
107
107
  }
108
- /** Actionability tier for a row's inject. Derived from scope + trust (no schema
109
- * field yet): skill-tuning-scoped first-party rows are directives; everything
110
- * else is a note. HARD CAP: trust:external can never be a directive — the
111
- * actionable channel must stay unreachable by laundering. Upgrade path: an
112
- * explicit repair.tier field overrides this once a second directive class ships. */
108
+ /** Actionability tier for a row's inject. An explicit repair.tier wins (the
109
+ * documented upgrade path, shipped with the second directive class: the
110
+ * parity guard's stale-copy rows docs/parity-system.md Channel 1);
111
+ * otherwise derived from scope (skill-tuning rows are directives). HARD CAP
112
+ * checked FIRST either way: trust:external can never be a directive the
113
+ * actionable channel must stay unreachable by laundering. */
113
114
  function injectionTier(row) {
114
115
  if (row.trust === 'external')
115
116
  return 'note';
117
+ const explicit = row.repair?.tier;
118
+ if (explicit === 'directive' || explicit === 'note')
119
+ return explicit;
116
120
  const scope = row.scope || '';
117
121
  if (scope === 'skill-tuning' || scope.startsWith('skill:'))
118
122
  return 'directive';
package/dist/guard.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -61,6 +61,7 @@ const project_1 = require("./commands/project");
61
61
  const procedure_1 = require("./commands/procedure");
62
62
  const skillgain_1 = require("./commands/skillgain");
63
63
  const docptr_1 = require("./commands/docptr");
64
+ const parity_1 = require("./commands/parity");
64
65
  const loadout_1 = require("./commands/loadout");
65
66
  const assistant_1 = require("./commands/assistant");
66
67
  const email_1 = require("./commands/email");
@@ -1261,6 +1262,8 @@ Commands:
1261
1262
  discover [--json] Tenant-wide structure: every project, per-shape row counts,
1262
1263
  activity ranges. For cross-project advisors.
1263
1264
  docptr <command> Document-pointer registry and reference backfill.
1265
+ parity [seed] Doctrine drift-from-canon: the parity table (unit ·
1266
+ lead · stale followers), plus the operator-run seed.
1264
1267
  doctor [--inspect] [--yes] Diagnose + repair orphan project_ids and identity drift
1265
1268
  desk [--json] Inspect the Agent Front Desk and live routing state.
1266
1269
  sms <command> Configure or inspect SMS front-desk routing.
@@ -1859,6 +1862,7 @@ async function main() {
1859
1862
  case 'procedure': return (0, procedure_1.runProcedure)(subArgs); // Procedure System: operational recipes (docs/procedure-system.md)
1860
1863
  case 'skillgain': return (0, skillgain_1.runSkillGain)(subArgs); // Skill Learning Loop: gain queue verbs (docs/skill-learning-loop.md)
1861
1864
  case 'docptr': return (0, docptr_1.runDocPtr)(subArgs); // Document Pointer System: backfill the doc registry (docs/doc-pointer-system.md)
1865
+ case 'parity': return (0, parity_1.runParity)(subArgs); // Parity System: doctrine drift table + manifest seed (docs/parity-system.md)
1862
1866
  case 'loadout': return (0, loadout_1.runLoadout)(subArgs); // Loadout: cross-tenant skill-bundle gifting (docs/loadout.md)
1863
1867
  case 'assistant': return (0, assistant_1.runAssistant)(subArgs); // designate this project as the tenant's Assistant (role flag)
1864
1868
  case 'opencode': return opencode(subArgs);