opensquid 0.5.407 → 0.5.426

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 (154) hide show
  1. package/dist/cli.js +5 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/functions/event.d.ts.map +1 -1
  4. package/dist/functions/event.js +30 -0
  5. package/dist/functions/event.js.map +1 -1
  6. package/dist/functions/handoff_session_start.d.ts.map +1 -1
  7. package/dist/functions/handoff_session_start.js +4 -6
  8. package/dist/functions/handoff_session_start.js.map +1 -1
  9. package/dist/functions/index.d.ts +4 -0
  10. package/dist/functions/index.d.ts.map +1 -1
  11. package/dist/functions/index.js +5 -0
  12. package/dist/functions/index.js.map +1 -1
  13. package/dist/functions/read_rubric.d.ts +27 -0
  14. package/dist/functions/read_rubric.d.ts.map +1 -0
  15. package/dist/functions/read_rubric.js +53 -0
  16. package/dist/functions/read_rubric.js.map +1 -0
  17. package/dist/functions/reset_scope_track_state.d.ts +20 -0
  18. package/dist/functions/reset_scope_track_state.d.ts.map +1 -0
  19. package/dist/functions/reset_scope_track_state.js +53 -0
  20. package/dist/functions/reset_scope_track_state.js.map +1 -0
  21. package/dist/functions/rubric_pre_inject.d.ts +22 -0
  22. package/dist/functions/rubric_pre_inject.d.ts.map +1 -0
  23. package/dist/functions/rubric_pre_inject.js +58 -0
  24. package/dist/functions/rubric_pre_inject.js.map +1 -0
  25. package/dist/functions/session_tool_history.d.ts +3 -3
  26. package/dist/functions/session_tool_history.js +1 -1
  27. package/dist/functions/session_tool_history.js.map +1 -1
  28. package/dist/functions/shell_parse.d.ts +41 -0
  29. package/dist/functions/shell_parse.d.ts.map +1 -0
  30. package/dist/functions/shell_parse.js +185 -0
  31. package/dist/functions/shell_parse.js.map +1 -0
  32. package/dist/functions/staged_docs_only.d.ts +23 -0
  33. package/dist/functions/staged_docs_only.d.ts.map +1 -0
  34. package/dist/functions/staged_docs_only.js +57 -0
  35. package/dist/functions/staged_docs_only.js.map +1 -0
  36. package/dist/mcp/server.js +14 -1
  37. package/dist/mcp/server.js.map +1 -1
  38. package/dist/mcp/tools/ralph.d.ts +21 -0
  39. package/dist/mcp/tools/ralph.d.ts.map +1 -0
  40. package/dist/mcp/tools/ralph.js +18 -0
  41. package/dist/mcp/tools/ralph.js.map +1 -0
  42. package/dist/mcp/tools/workgraph.d.ts +11 -0
  43. package/dist/mcp/tools/workgraph.d.ts.map +1 -1
  44. package/dist/mcp/tools/workgraph.js +7 -0
  45. package/dist/mcp/tools/workgraph.js.map +1 -1
  46. package/dist/rag/backend_factory.d.ts.map +1 -1
  47. package/dist/rag/backend_factory.js +4 -0
  48. package/dist/rag/backend_factory.js.map +1 -1
  49. package/dist/rag/backends/libsql_lexical.d.ts.map +1 -1
  50. package/dist/rag/backends/libsql_lexical.js +21 -5
  51. package/dist/rag/backends/libsql_lexical.js.map +1 -1
  52. package/dist/rag/backends/libsql_store.d.ts.map +1 -1
  53. package/dist/rag/backends/libsql_store.js +33 -6
  54. package/dist/rag/backends/libsql_store.js.map +1 -1
  55. package/dist/rag/backends/perfile_source.d.ts.map +1 -1
  56. package/dist/rag/backends/perfile_source.js +3 -0
  57. package/dist/rag/backends/perfile_source.js.map +1 -1
  58. package/dist/rag/memory/consolidate.d.ts +3 -2
  59. package/dist/rag/memory/consolidate.d.ts.map +1 -1
  60. package/dist/rag/memory/consolidate.js +7 -4
  61. package/dist/rag/memory/consolidate.js.map +1 -1
  62. package/dist/rag/types.d.ts +2 -0
  63. package/dist/rag/types.d.ts.map +1 -1
  64. package/dist/rag/types.js.map +1 -1
  65. package/dist/runtime/bootstrap.d.ts.map +1 -1
  66. package/dist/runtime/bootstrap.js +8 -0
  67. package/dist/runtime/bootstrap.js.map +1 -1
  68. package/dist/runtime/coding_flow_keys.d.ts +17 -0
  69. package/dist/runtime/coding_flow_keys.d.ts.map +1 -0
  70. package/dist/runtime/coding_flow_keys.js +21 -0
  71. package/dist/runtime/coding_flow_keys.js.map +1 -0
  72. package/dist/runtime/handoff/collect.d.ts.map +1 -1
  73. package/dist/runtime/handoff/collect.js +3 -1
  74. package/dist/runtime/handoff/collect.js.map +1 -1
  75. package/dist/runtime/hooks/session-start.js +5 -1
  76. package/dist/runtime/hooks/session-start.js.map +1 -1
  77. package/dist/runtime/hooks/session_id.d.ts +7 -0
  78. package/dist/runtime/hooks/session_id.d.ts.map +1 -1
  79. package/dist/runtime/hooks/session_id.js +30 -12
  80. package/dist/runtime/hooks/session_id.js.map +1 -1
  81. package/dist/runtime/protected_paths.d.ts +18 -0
  82. package/dist/runtime/protected_paths.d.ts.map +1 -0
  83. package/dist/runtime/protected_paths.js +18 -0
  84. package/dist/runtime/protected_paths.js.map +1 -0
  85. package/dist/runtime/ralph/decision_classifier.d.ts +18 -0
  86. package/dist/runtime/ralph/decision_classifier.d.ts.map +1 -0
  87. package/dist/runtime/ralph/decision_classifier.js +72 -0
  88. package/dist/runtime/ralph/decision_classifier.js.map +1 -0
  89. package/dist/runtime/ralph/escalate_lap.d.ts +31 -0
  90. package/dist/runtime/ralph/escalate_lap.d.ts.map +1 -0
  91. package/dist/runtime/ralph/escalate_lap.js +22 -0
  92. package/dist/runtime/ralph/escalate_lap.js.map +1 -0
  93. package/dist/runtime/ralph/escalator.d.ts +34 -0
  94. package/dist/runtime/ralph/escalator.d.ts.map +1 -0
  95. package/dist/runtime/ralph/escalator.js +19 -0
  96. package/dist/runtime/ralph/escalator.js.map +1 -0
  97. package/dist/runtime/ralph/lap_outcome.d.ts +43 -0
  98. package/dist/runtime/ralph/lap_outcome.d.ts.map +1 -0
  99. package/dist/runtime/ralph/lap_outcome.js +119 -0
  100. package/dist/runtime/ralph/lap_outcome.js.map +1 -0
  101. package/dist/runtime/ralph/orchestrator.d.ts +71 -0
  102. package/dist/runtime/ralph/orchestrator.d.ts.map +1 -0
  103. package/dist/runtime/ralph/orchestrator.js +74 -0
  104. package/dist/runtime/ralph/orchestrator.js.map +1 -0
  105. package/dist/runtime/ralph/ralph_template.d.ts +18 -0
  106. package/dist/runtime/ralph/ralph_template.d.ts.map +1 -0
  107. package/dist/runtime/ralph/ralph_template.js +61 -0
  108. package/dist/runtime/ralph/ralph_template.js.map +1 -0
  109. package/dist/runtime/ralph/supervisor.d.ts +30 -0
  110. package/dist/runtime/ralph/supervisor.d.ts.map +1 -0
  111. package/dist/runtime/ralph/supervisor.js +24 -0
  112. package/dist/runtime/ralph/supervisor.js.map +1 -0
  113. package/dist/runtime/session_state.d.ts +9 -1
  114. package/dist/runtime/session_state.d.ts.map +1 -1
  115. package/dist/runtime/session_state.js +25 -3
  116. package/dist/runtime/session_state.js.map +1 -1
  117. package/dist/runtime/wedge/compression_deps.d.ts.map +1 -1
  118. package/dist/runtime/wedge/compression_deps.js +9 -1
  119. package/dist/runtime/wedge/compression_deps.js.map +1 -1
  120. package/dist/setup/cli/gate.d.ts +7 -2
  121. package/dist/setup/cli/gate.d.ts.map +1 -1
  122. package/dist/setup/cli/gate.js +7 -3
  123. package/dist/setup/cli/gate.js.map +1 -1
  124. package/dist/setup/cli/ralph.d.ts +20 -0
  125. package/dist/setup/cli/ralph.d.ts.map +1 -0
  126. package/dist/setup/cli/ralph.js +168 -0
  127. package/dist/setup/cli/ralph.js.map +1 -0
  128. package/dist/setup/wizard/ralph_writer.d.ts +98 -0
  129. package/dist/setup/wizard/ralph_writer.d.ts.map +1 -0
  130. package/dist/setup/wizard/ralph_writer.js +114 -0
  131. package/dist/setup/wizard/ralph_writer.js.map +1 -0
  132. package/dist/workgraph/audience.d.ts +12 -0
  133. package/dist/workgraph/audience.d.ts.map +1 -0
  134. package/dist/workgraph/audience.js +10 -0
  135. package/dist/workgraph/audience.js.map +1 -0
  136. package/dist/workgraph/events.d.ts.map +1 -1
  137. package/dist/workgraph/events.js +34 -0
  138. package/dist/workgraph/events.js.map +1 -1
  139. package/dist/workgraph/store.d.ts.map +1 -1
  140. package/dist/workgraph/store.js +86 -12
  141. package/dist/workgraph/store.js.map +1 -1
  142. package/dist/workgraph/types.d.ts +33 -2
  143. package/dist/workgraph/types.d.ts.map +1 -1
  144. package/docs/rubric/author.md +17 -0
  145. package/docs/rubric/scope.md +16 -0
  146. package/package.json +3 -2
  147. package/packs/builtin/coding-flow/skills/entry-and-handoffs/skill.yaml +15 -0
  148. package/packs/builtin/coding-flow/skills/execute-gate/skill.yaml +9 -10
  149. package/packs/builtin/coding-flow/skills/scope-lifecycle/skill.yaml +72 -51
  150. package/packs/builtin/default-discipline/manifest.yaml +6 -3
  151. package/packs/builtin/default-discipline/skills/workflow/skill.yaml +19 -6
  152. package/packs/builtin/pack-architect/SKILL.md +10 -0
  153. package/packs/builtin/pack-architect/skills/skill-yaml-author-walkthrough/skill.yaml +7 -0
  154. package/packs/builtin/scope-architect/team.yaml +5 -2
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Quote-aware shell tokenizer + git-invocation predicate. Pure, deterministic, total.
3
+ *
4
+ * Backs the `command_invokes` event primitive (src/functions/event.ts), which gates on a
5
+ * REAL git invocation instead of a raw-string match against the whole command — the
6
+ * false-fire root cause (wg-52e57e2ed252: `git commit` inside a grep pattern / echo arg /
7
+ * quoted subprocess prompt tripped the substring matcher).
8
+ *
9
+ * Threat model (load-bearing — pre-research §0): best-effort, honest-agent self-discipline,
10
+ * NOT adversary-proof. An agent controls its own shell and could evade any in-session check;
11
+ * the HARD boundary is the owned git pre-commit/pre-push hook reading the real staged diff.
12
+ * So this handles the command forms an honest agent actually types (quotes, compound
13
+ * `&&`/`||`/`|`/`;`, git globals `-C`/`-c`), not obfuscated evasion (command substitution,
14
+ * heredocs) — those are out of scope here and caught at the commit boundary.
15
+ *
16
+ * Contrast with `isReadOnlyBash` (src/runtime/session_state.ts:146): that splitter is
17
+ * quote-BLIND (`split(/\|\||&&|;|\|/)`), acceptable there because it is fail-closed and
18
+ * additive. A gate's mis-split is the bug, so this tokenizer is quote-aware.
19
+ *
20
+ * Imported by: src/functions/event.ts (the `command_invokes` primitive).
21
+ */
22
+ // Bound input length (DoS / step-cap hygiene; matches the expression-fn ~10k convention,
23
+ // src/runtime/evaluator/expression/functions.ts:16).
24
+ const MAX_LEN = 10_000;
25
+ // git global options that consume a SEPARATE following token. Parity with the existing
26
+ // matchers' `(?:-[cC]\s+\S+\s+)*` sub-pattern (precedent: execute-gate/skill.yaml:27) and
27
+ // git(1)'s `git [<options>] <command>` grammar. The full version-dependent separate-value
28
+ // global set (--git-dir <p>, --work-tree <p>, …) is DELIBERATELY not enumerated: an
29
+ // un-handled one yields only a rare false-NEGATIVE (its value mis-read as the subcommand),
30
+ // backstopped by the owned git hook for the phase gates — see the module header + §4.2.
31
+ const GIT_VALUE_GLOBALS = new Set(['-C', '-c']);
32
+ /**
33
+ * Tokenize a shell command into segments (argv arrays), splitting on UNQUOTED control
34
+ * operators (`&& || | ; & newline`) and UNQUOTED whitespace, stripping quotes. Single
35
+ * quotes are literal; double quotes honor `\` escapes for `" \ $ ` (backtick); an unquoted
36
+ * `\` escapes the next char. Returns `[]` for non-string / empty / over-long input.
37
+ */
38
+ export function tokenizeShell(command) {
39
+ if (typeof command !== 'string' || command.length === 0 || command.length > MAX_LEN) {
40
+ return [];
41
+ }
42
+ const segments = [];
43
+ let argv = [];
44
+ let word = '';
45
+ let hasWord = false;
46
+ let i = 0;
47
+ let quote = null;
48
+ const n = command.length;
49
+ const endWord = () => {
50
+ if (hasWord) {
51
+ argv.push(word);
52
+ word = '';
53
+ hasWord = false;
54
+ }
55
+ };
56
+ const endSeg = () => {
57
+ endWord();
58
+ if (argv.length > 0) {
59
+ segments.push(argv);
60
+ argv = [];
61
+ }
62
+ };
63
+ while (i < n) {
64
+ const ch = command[i];
65
+ if (quote === "'") {
66
+ if (ch === "'")
67
+ quote = null;
68
+ else {
69
+ word += ch;
70
+ hasWord = true;
71
+ }
72
+ i++;
73
+ continue;
74
+ }
75
+ if (quote === '"') {
76
+ if (ch === '"') {
77
+ quote = null;
78
+ i++;
79
+ continue;
80
+ }
81
+ if (ch === '\\' && i + 1 < n && '"\\$`'.includes(command[i + 1])) {
82
+ word += command[i + 1];
83
+ hasWord = true;
84
+ i += 2;
85
+ continue;
86
+ }
87
+ word += ch;
88
+ hasWord = true;
89
+ i++;
90
+ continue;
91
+ }
92
+ // unquoted
93
+ if (ch === "'" || ch === '"') {
94
+ quote = ch;
95
+ hasWord = true; // an empty quoted string is still a (empty) word
96
+ i++;
97
+ continue;
98
+ }
99
+ if (ch === '\\' && i + 1 < n) {
100
+ word += command[i + 1];
101
+ hasWord = true;
102
+ i += 2;
103
+ continue;
104
+ }
105
+ if (ch === '&' && command[i + 1] === '&') {
106
+ endSeg();
107
+ i += 2;
108
+ continue;
109
+ }
110
+ if (ch === '|' && command[i + 1] === '|') {
111
+ endSeg();
112
+ i += 2;
113
+ continue;
114
+ }
115
+ if (ch === ';' || ch === '|' || ch === '&' || ch === '\n') {
116
+ endSeg();
117
+ i++;
118
+ continue;
119
+ }
120
+ if (ch === ' ' || ch === '\t' || ch === '\r') {
121
+ endWord();
122
+ i++;
123
+ continue;
124
+ }
125
+ word += ch;
126
+ hasWord = true;
127
+ i++;
128
+ }
129
+ endSeg();
130
+ return segments;
131
+ }
132
+ /** Basename of a program token (`/usr/bin/git` → `git`). */
133
+ function basename(p) {
134
+ const slash = p.lastIndexOf('/');
135
+ return slash === -1 ? p : p.slice(slash + 1);
136
+ }
137
+ /**
138
+ * Is `flag` present in an invocation's args? Long `--f` = exact or `--f=…`; short `-x` =
139
+ * exact or inside a pure short-flag cluster `-axb` (NOT a value-glued token). A literal
140
+ * (neither `--` nor a 2-char `-x`) matches only exactly.
141
+ */
142
+ function flagPresent(args, flag) {
143
+ const isShort = flag.length === 2 && flag.startsWith('-') && /[A-Za-z]/.test(flag[1]);
144
+ for (const a of args) {
145
+ if (flag.startsWith('--')) {
146
+ if (a === flag || a.startsWith(flag + '='))
147
+ return true;
148
+ }
149
+ else if (isShort) {
150
+ if (a === flag || (/^-[A-Za-z]+$/.test(a) && a.includes(flag[1])))
151
+ return true;
152
+ }
153
+ else if (a === flag) {
154
+ return true;
155
+ }
156
+ }
157
+ return false;
158
+ }
159
+ /**
160
+ * True iff some real shell segment invokes `program` (basename match) AND — if `subcommand`
161
+ * is given — its first positional (after skipping git global options and `-C`/`-c` values)
162
+ * equals it AND — if `flagAny` is given — at least one listed flag is present in that
163
+ * invocation's args.
164
+ */
165
+ export function commandInvokes(command, q) {
166
+ for (const argv of tokenizeShell(command)) {
167
+ if (argv.length === 0 || basename(argv[0]) !== q.program)
168
+ continue;
169
+ if (q.subcommand === undefined)
170
+ return true;
171
+ // Resolve the subcommand: skip leading global options (and -C/-c separate values).
172
+ let j = 1;
173
+ while (j < argv.length && argv[j].startsWith('-')) {
174
+ j += GIT_VALUE_GLOBALS.has(argv[j]) ? 2 : 1;
175
+ }
176
+ if (j >= argv.length || argv[j] !== q.subcommand)
177
+ continue;
178
+ if (q.flagAny === undefined)
179
+ return true;
180
+ if (q.flagAny.some((f) => flagPresent(argv.slice(j + 1), f)))
181
+ return true;
182
+ }
183
+ return false;
184
+ }
185
+ //# sourceMappingURL=shell_parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell_parse.js","sourceRoot":"","sources":["../../src/functions/shell_parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * `staged_docs_only` primitive — true iff the commit's STAGED diff is docs-only (non-code),
3
+ * by the same `isDocsOnly` predicate the hard EXECUTE gate uses (predicate parity).
4
+ *
5
+ * Lets the in-session `phase-logged-before-commit` nudge MIRROR the git-owned boundary
6
+ * (gate.ts allows docs-only commits): without this the nudge over-blocks a zero-phase
7
+ * `docs/` commit the hard gate would pass.
8
+ *
9
+ * Uses FIXED-argv git (`execFile('git', ['diff','--cached','--name-only'])`) — no shell, no
10
+ * user-controlled tokens, so it is categorically unlike `shell_exec`'s ARBITRARY command
11
+ * string and does not reopen the shell_exec/AUTO.5 capability decision. Same mechanism
12
+ * gate.ts (gate.ts:78) and handoff/collect.ts (:166) already ship.
13
+ *
14
+ * Fails TOWARD `false` (= not docs-only = the nudge STILL fires) on any error / non-tool_call
15
+ * event / absent cwd: the advisory layer must never falsely SUPPRESS a real code-commit warning.
16
+ *
17
+ * Imports from: node:child_process, node:util, zod, ../runtime/result.js,
18
+ * ../runtime/protected_paths.js, ./registry.js.
19
+ * Imported by: src/functions/index.ts (registry wiring via bootstrap).
20
+ */
21
+ import type { FunctionRegistry } from './registry.js';
22
+ export declare function registerStagedDocsOnlyFunction(registry: FunctionRegistry): void;
23
+ //# sourceMappingURL=staged_docs_only.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staged_docs_only.d.ts","sourceRoot":"","sources":["../../src/functions/staged_docs_only.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKtD,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAyB/E"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * `staged_docs_only` primitive — true iff the commit's STAGED diff is docs-only (non-code),
3
+ * by the same `isDocsOnly` predicate the hard EXECUTE gate uses (predicate parity).
4
+ *
5
+ * Lets the in-session `phase-logged-before-commit` nudge MIRROR the git-owned boundary
6
+ * (gate.ts allows docs-only commits): without this the nudge over-blocks a zero-phase
7
+ * `docs/` commit the hard gate would pass.
8
+ *
9
+ * Uses FIXED-argv git (`execFile('git', ['diff','--cached','--name-only'])`) — no shell, no
10
+ * user-controlled tokens, so it is categorically unlike `shell_exec`'s ARBITRARY command
11
+ * string and does not reopen the shell_exec/AUTO.5 capability decision. Same mechanism
12
+ * gate.ts (gate.ts:78) and handoff/collect.ts (:166) already ship.
13
+ *
14
+ * Fails TOWARD `false` (= not docs-only = the nudge STILL fires) on any error / non-tool_call
15
+ * event / absent cwd: the advisory layer must never falsely SUPPRESS a real code-commit warning.
16
+ *
17
+ * Imports from: node:child_process, node:util, zod, ../runtime/result.js,
18
+ * ../runtime/protected_paths.js, ./registry.js.
19
+ * Imported by: src/functions/index.ts (registry wiring via bootstrap).
20
+ */
21
+ import { execFile } from 'node:child_process';
22
+ import { promisify } from 'node:util';
23
+ import { z } from 'zod';
24
+ import { ok } from '../runtime/result.js';
25
+ import { isDocsOnly } from '../runtime/protected_paths.js';
26
+ const execFileP = promisify(execFile);
27
+ const EmptyArgs = z.object({}).strict();
28
+ export function registerStagedDocsOnlyFunction(registry) {
29
+ registry.register({
30
+ name: 'staged_docs_only',
31
+ argSchema: EmptyArgs,
32
+ durable: false,
33
+ // NOT memoizable: output depends on git/filesystem state outside the args.
34
+ memoizable: false,
35
+ costEstimateMs: 20,
36
+ execute: async (_args, ctx) => {
37
+ if (ctx.event.kind !== 'tool_call')
38
+ return ok(false);
39
+ const cwd = ctx.event.cwd;
40
+ if (cwd === undefined || cwd === '')
41
+ return ok(false);
42
+ try {
43
+ const { stdout } = await execFileP('git', ['diff', '--cached', '--name-only'], { cwd });
44
+ const files = stdout
45
+ .split('\n')
46
+ .map((l) => l.trim())
47
+ .filter(Boolean);
48
+ return ok(isDocsOnly(files));
49
+ }
50
+ catch {
51
+ // git error / not a repo / detached → cannot prove docs-only → let the nudge fire.
52
+ return ok(false);
53
+ }
54
+ },
55
+ });
56
+ }
57
+ //# sourceMappingURL=staged_docs_only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staged_docs_only.js","sourceRoot":"","sources":["../../src/functions/staged_docs_only.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAExC,MAAM,UAAU,8BAA8B,CAAC,QAA0B;IACvE,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,2EAA2E;QAC3E,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;gBAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxF,MAAM,KAAK,GAAG,MAAM;qBACjB,KAAK,CAAC,IAAI,CAAC;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnB,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,mFAAmF;gBACnF,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -60,7 +60,8 @@ import { handleReadState } from './tools/read-state.js';
60
60
  import { handleReadViolations } from './tools/read-violations.js';
61
61
  import { handleRecall } from './tools/recall.js';
62
62
  import { handleStoreLesson, StoreLessonSchema, } from './tools/store-lesson.js';
63
- import { WgAddEdgeSchema, WgCreateSchema, WgIdSchema, WgListSchema, WgReadySchema, WgUpdateSchema, handleWgAddEdge, handleWgCreate, handleWgEvents, handleWgGet, handleWgList, handleWgReady, handleWgUpdate, } from './tools/workgraph.js';
63
+ import { WgAddEdgeSchema, WgClaimSchema, WgCreateSchema, WgIdSchema, WgListSchema, WgReadySchema, WgUpdateSchema, handleWgAddEdge, handleWgClaim, handleWgCreate, handleWgEvents, handleWgGet, handleWgList, handleWgReady, handleWgUpdate, } from './tools/workgraph.js';
64
+ import { DecisionClassifySchema, handleDecisionClassify } from './tools/ralph.js';
64
65
  /**
65
66
  * Lazy wedge lesson-store singleton (retire-Rust RES-3c — store_lesson no longer
66
67
  * touches the Rust engine). Constructed + `init()`ed once per MCP-server process;
@@ -182,6 +183,14 @@ const ToolHandlers = {
182
183
  schema: WgIdSchema,
183
184
  handle: async (a) => handleWgEvents(a, await getWorkGraph()),
184
185
  },
186
+ workgraph_claim: {
187
+ schema: WgClaimSchema,
188
+ handle: async (a) => handleWgClaim(a, await getWorkGraph()),
189
+ },
190
+ decision_classify: {
191
+ schema: DecisionClassifySchema,
192
+ handle: (a) => Promise.resolve(handleDecisionClassify(a)),
193
+ },
185
194
  };
186
195
  // T-MCP-TOOL-ANNOTATIONS: honest MCP behavior hints, emitted in tools/list so
187
196
  // annotation-aware hosts (codex's requires_mcp_tool_approval is the verified
@@ -215,6 +224,8 @@ const toolAnnotations = {
215
224
  workgraph_create_issue: LOCAL_WRITE,
216
225
  workgraph_update_issue: LOCAL_WRITE,
217
226
  workgraph_add_edge: LOCAL_WRITE,
227
+ workgraph_claim: LOCAL_WRITE,
228
+ decision_classify: READ_ONLY,
218
229
  // The one genuinely destructive tool: deletes a memory (tools/forget.ts).
219
230
  forget: { readOnlyHint: false, destructiveHint: true, openWorldHint: false },
220
231
  };
@@ -241,6 +252,8 @@ const descriptions = {
241
252
  workgraph_get: 'Get one work-graph issue by id (or null).',
242
253
  workgraph_list: 'List work-graph issues, optionally filtered by status {status?}.',
243
254
  workgraph_events: 'List the append-only op-log (history) for an issue by id.',
255
+ workgraph_claim: 'Atomically claim a work-graph issue {id, ttlSec?} for exclusive work (exactly-once). Stamps the calling harness as audience. Returns {won, expiresAt}; won:false means another runner holds it. An expired claim is reclaimable.',
256
+ decision_classify: 'Classify an in-lap decision {decision} as DECIDE / ESCALATE / DEFER (gated-ralph, deterministic-first). DECIDE = settle by principles and proceed; ESCALATE = irreversible/outward boundary or genuine fork (emit HUMAN_REQUIRED, stamping this verdict in the payload); DEFER = no signal, the agent decides (Inv 3 → DECIDE). Returns {verdict, confidence, source, matched}.',
244
257
  };
245
258
  /**
246
259
  * Read the published package version at runtime. T.1.H fix: the prior
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * GR.4 — the lap-side decision classifier MCP tool (`decision_classify`).
3
+ *
4
+ * Exposes GR.2's deterministic `classifyDecision` to the in-lap `claude -p` agent so it can consult the
5
+ * cheap DECIDE-vs-ESCALATE heuristic mid-execution (the single-home for the classifier: it runs LAP-SIDE,
6
+ * never in the orchestrator). READ-only — pure function, no state mutation. The lap stamps the returned
7
+ * verdict into its `HUMAN_REQUIRED` payload on an ESCALATE so the escalation carries the heuristic verdict
8
+ * (the input the post-hoc `recordMisclassification` override path compares against).
9
+ *
10
+ * Imports from: zod, ../../runtime/ralph/decision_classifier.js.
11
+ */
12
+ import { z } from 'zod';
13
+ export declare const DecisionClassifySchema: z.ZodObject<{
14
+ decision: z.ZodString;
15
+ }, "strip", z.ZodTypeAny, {
16
+ decision: string;
17
+ }, {
18
+ decision: string;
19
+ }>;
20
+ export declare const handleDecisionClassify: (a: z.infer<typeof DecisionClassifySchema>) => string;
21
+ //# sourceMappingURL=ralph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/ralph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,GAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,KAAG,MACrC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * GR.4 — the lap-side decision classifier MCP tool (`decision_classify`).
3
+ *
4
+ * Exposes GR.2's deterministic `classifyDecision` to the in-lap `claude -p` agent so it can consult the
5
+ * cheap DECIDE-vs-ESCALATE heuristic mid-execution (the single-home for the classifier: it runs LAP-SIDE,
6
+ * never in the orchestrator). READ-only — pure function, no state mutation. The lap stamps the returned
7
+ * verdict into its `HUMAN_REQUIRED` payload on an ESCALATE so the escalation carries the heuristic verdict
8
+ * (the input the post-hoc `recordMisclassification` override path compares against).
9
+ *
10
+ * Imports from: zod, ../../runtime/ralph/decision_classifier.js.
11
+ */
12
+ import { z } from 'zod';
13
+ import { classifyDecision } from '../../runtime/ralph/decision_classifier.js';
14
+ export const DecisionClassifySchema = z.object({
15
+ decision: z.string().min(1),
16
+ });
17
+ export const handleDecisionClassify = (a) => JSON.stringify(classifyDecision(a.decision));
18
+ //# sourceMappingURL=ralph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../../src/mcp/tools/ralph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAyC,EAAU,EAAE,CAC1F,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC"}
@@ -64,6 +64,16 @@ export declare const WgListSchema: z.ZodObject<{
64
64
  status?: "closed" | "in_progress" | "open" | undefined;
65
65
  }>;
66
66
  export declare const WgReadySchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
67
+ export declare const WgClaimSchema: z.ZodObject<{
68
+ id: z.ZodString;
69
+ ttlSec: z.ZodDefault<z.ZodNumber>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ id: string;
72
+ ttlSec: number;
73
+ }, {
74
+ id: string;
75
+ ttlSec?: number | undefined;
76
+ }>;
67
77
  export declare const handleWgCreate: (a: z.infer<typeof WgCreateSchema>, s: WorkGraphStore) => Promise<string>;
68
78
  export declare const handleWgUpdate: (a: z.infer<typeof WgUpdateSchema>, s: WorkGraphStore) => Promise<string>;
69
79
  export declare const handleWgAddEdge: (a: z.infer<typeof WgAddEdgeSchema>, s: WorkGraphStore) => Promise<string>;
@@ -71,4 +81,5 @@ export declare const handleWgReady: (_a: z.infer<typeof WgReadySchema>, s: WorkG
71
81
  export declare const handleWgGet: (a: z.infer<typeof WgIdSchema>, s: WorkGraphStore) => Promise<string>;
72
82
  export declare const handleWgList: (a: z.infer<typeof WgListSchema>, s: WorkGraphStore) => Promise<string>;
73
83
  export declare const handleWgEvents: (a: z.infer<typeof WgIdSchema>, s: WorkGraphStore) => Promise<string>;
84
+ export declare const handleWgClaim: (a: z.infer<typeof WgClaimSchema>, s: WorkGraphStore) => Promise<string>;
74
85
  //# sourceMappingURL=workgraph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workgraph.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/workgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,eAAO,MAAM,cAAc;;;;;;;;;EAAsE,CAAC;AAClG,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AACH,eAAO,MAAM,UAAU;;;;;;EAAsC,CAAC;AAC9D,eAAO,MAAM,YAAY;;;;;;EAA0C,CAAC;AACpE,eAAO,MAAM,aAAa,gDAAe,CAAC;AAE1C,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAGd,CAAC;AAEJ,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAOd,CAAC;AAEJ,eAAO,MAAM,eAAe,GAC1B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,EAClC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAGhB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAAwC,CAAC;AAE1D,eAAO,MAAM,WAAW,GACtB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,EAC7B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAA2C,CAAC;AAE7D,eAAO,MAAM,YAAY,GACvB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,EAC/B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAC8E,CAAC;AAEhG,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,EAC7B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAA6C,CAAC"}
1
+ {"version":3,"file":"workgraph.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/workgraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,eAAO,MAAM,cAAc;;;;;;;;;EAAsE,CAAC;AAClG,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;EAI1B,CAAC;AACH,eAAO,MAAM,UAAU;;;;;;EAAsC,CAAC;AAC9D,eAAO,MAAM,YAAY;;;;;;EAA0C,CAAC;AACpE,eAAO,MAAM,aAAa,gDAAe,CAAC;AAC1C,eAAO,MAAM,aAAa;;;;;;;;;EAGxB,CAAC;AAEH,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAGd,CAAC;AAEJ,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAOd,CAAC;AAEJ,eAAO,MAAM,eAAe,GAC1B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,EAClC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAGhB,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,EACjC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAAwC,CAAC;AAE1D,eAAO,MAAM,WAAW,GACtB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,EAC7B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAA2C,CAAC;AAE7D,eAAO,MAAM,YAAY,GACvB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,EAC/B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAC8E,CAAC;AAEhG,eAAO,MAAM,cAAc,GACzB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,EAC7B,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAA6C,CAAC;AAG/D,eAAO,MAAM,aAAa,GACxB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,EAChC,GAAG,cAAc,KAChB,OAAO,CAAC,MAAM,CAAwE,CAAC"}
@@ -9,6 +9,7 @@
9
9
  * Imported by: src/mcp/server.ts (the ToolHandlers map).
10
10
  */
11
11
  import { z } from 'zod';
12
+ import { claimAudience } from '../../workgraph/audience.js';
12
13
  const Status = z.enum(['open', 'in_progress', 'closed']);
13
14
  const EdgeT = z.enum(['blocks', 'parent-child', 'discovered-from', 'related']);
14
15
  export const WgCreateSchema = z.object({ title: z.string().min(1), body: z.string().optional() });
@@ -26,6 +27,10 @@ export const WgAddEdgeSchema = z.object({
26
27
  export const WgIdSchema = z.object({ id: z.string().min(1) });
27
28
  export const WgListSchema = z.object({ status: Status.optional() });
28
29
  export const WgReadySchema = z.object({});
30
+ export const WgClaimSchema = z.object({
31
+ id: z.string().min(1),
32
+ ttlSec: z.number().int().positive().default(1800),
33
+ });
29
34
  export const handleWgCreate = async (a, s) => JSON.stringify(await s.createIssue({ title: a.title, ...(a.body === undefined ? {} : { body: a.body }) }));
30
35
  export const handleWgUpdate = async (a, s) => JSON.stringify(await s.updateIssue(a.id, {
31
36
  ...(a.status === undefined ? {} : { status: a.status }),
@@ -40,4 +45,6 @@ export const handleWgReady = async (_a, s) => JSON.stringify(await s.listReady()
40
45
  export const handleWgGet = async (a, s) => JSON.stringify(await s.getIssue(a.id));
41
46
  export const handleWgList = async (a, s) => JSON.stringify(await s.listIssues(a.status === undefined ? undefined : { status: a.status }));
42
47
  export const handleWgEvents = async (a, s) => JSON.stringify(await s.listEvents(a.id));
48
+ // GR.1 — atomic claim. Audience is stamped from the trusted env markers, NEVER from caller args.
49
+ export const handleWgClaim = async (a, s) => JSON.stringify(await s.claimIssue(a.id, claimAudience(), a.ttlSec));
43
50
  //# sourceMappingURL=workgraph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workgraph.js","sourceRoot":"","sources":["../../../src/mcp/tools/workgraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workgraph.js","sourceRoot":"","sources":["../../../src/mcp/tools/workgraph.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"backend_factory.d.ts","sourceRoot":"","sources":["../../src/rag/backend_factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IAKE,IAAI,EAAE,oBAAoB,CAAC;CAC5B,GACD;IAIE,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAyB/D;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CA0DrF"}
1
+ {"version":3,"file":"backend_factory.d.ts","sourceRoot":"","sources":["../../src/rag/backend_factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IAKE,IAAI,EAAE,oBAAoB,CAAC;CAC5B,GACD;IAIE,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAyB/D;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CA8DrF"}
@@ -120,6 +120,10 @@ export function libsqlQwen3WithLexicalFallback(opts) {
120
120
  async deleteLesson(id, opts) {
121
121
  return active.deleteLesson(id, opts);
122
122
  },
123
+ // wg-9e4f4eb2a40f: delegate demote to the active backend (no-op if it doesn't implement it).
124
+ async demoteLesson(id) {
125
+ return active.demoteLesson?.(id);
126
+ },
123
127
  };
124
128
  }
125
129
  //# sourceMappingURL=backend_factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend_factory.js","sourceRoot":"","sources":["../../src/rag/backend_factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend_factory.js","sourceRoot":"","sources":["../../src/rag/backend_factory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"libsql_lexical.d.ts","sourceRoot":"","sources":["../../../src/rag/backends/libsql_lexical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,KAAK,EAAoC,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CA4GxE"}
1
+ {"version":3,"file":"libsql_lexical.d.ts","sourceRoot":"","sources":["../../../src/rag/backends/libsql_lexical.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,KAAK,EAAoC,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAyHxE"}
@@ -44,13 +44,15 @@ export function libsqlLexicalBackend(opts) {
44
44
  author TEXT NOT NULL,
45
45
  created_at TEXT NOT NULL,
46
46
  tier TEXT NOT NULL DEFAULT 'shared',
47
- namespace TEXT
47
+ namespace TEXT,
48
+ retired_at TEXT
48
49
  );
49
50
  `);
50
51
  // Additive scope columns for a pre-existing (qwen3-initialized) table. Idempotent.
51
52
  for (const ddl of [
52
53
  `ALTER TABLE lessons ADD COLUMN tier TEXT NOT NULL DEFAULT 'shared'`,
53
54
  `ALTER TABLE lessons ADD COLUMN namespace TEXT`,
55
+ `ALTER TABLE lessons ADD COLUMN retired_at TEXT`,
54
56
  ]) {
55
57
  try {
56
58
  await client.execute(ddl);
@@ -76,9 +78,9 @@ export function libsqlLexicalBackend(opts) {
76
78
  return [];
77
79
  try {
78
80
  const rs = await client.execute({
79
- sql: `SELECT l.id, l.content, l.tags, l.source, l.author, l.created_at, l.tier, l.namespace
81
+ sql: `SELECT l.id, l.content, l.tags, l.source, l.author, l.created_at, l.tier, l.namespace, l.retired_at
80
82
  FROM lessons_fts f JOIN lessons l ON l.id = f.id
81
- WHERE lessons_fts MATCH ? AND (l.tier = 'shared' OR l.namespace = ?)
83
+ WHERE lessons_fts MATCH ? AND (l.tier = 'shared' OR l.namespace = ?) AND l.retired_at IS NULL
82
84
  LIMIT ?`,
83
85
  args: [safe, scope.namespace, k],
84
86
  });
@@ -100,8 +102,8 @@ export function libsqlLexicalBackend(opts) {
100
102
  throw new Error('libsql-lexical: not initialized');
101
103
  const tagsJson = JSON.stringify(lesson.tags);
102
104
  await client.execute({
103
- sql: `INSERT INTO lessons (id, content, tags, source, author, created_at, tier, namespace)
104
- VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
105
+ sql: `INSERT INTO lessons (id, content, tags, source, author, created_at, tier, namespace, retired_at)
106
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
105
107
  args: [
106
108
  lesson.id,
107
109
  lesson.content,
@@ -111,6 +113,7 @@ export function libsqlLexicalBackend(opts) {
111
113
  lesson.createdAt,
112
114
  (lesson.tier ?? 'shared'),
113
115
  lesson.namespace ?? null,
116
+ lesson.retired_at ?? null,
114
117
  ],
115
118
  });
116
119
  // Mirror into FTS5 — separate statement, not a trigger, to stay
@@ -137,6 +140,16 @@ export function libsqlLexicalBackend(opts) {
137
140
  await client.execute({ sql: `DELETE FROM lessons_fts WHERE id = ?`, args: [id] });
138
141
  return { deleted: true, forced: isUser && force };
139
142
  },
143
+ // wg-9e4f4eb2a40f: demote (retire) — DB-only here (this backend has no per-file source, so no
144
+ // rebuild concern). Leaves the row in `lessons`/`lessons_fts` (rollback floor), out of recall.
145
+ async demoteLesson(id) {
146
+ if (!client)
147
+ throw new Error('libsql-lexical: not initialized');
148
+ await client.execute({
149
+ sql: `UPDATE lessons SET retired_at = ? WHERE id = ?`,
150
+ args: [new Date().toISOString(), id],
151
+ });
152
+ },
140
153
  };
141
154
  }
142
155
  // Strip the two FTS5 syntax tokens most likely to be in casual queries.
@@ -159,6 +172,9 @@ function rowToLesson(r) {
159
172
  createdAt: s(r, 'created_at'),
160
173
  tier: s(r, 'tier') === 'project' ? 'project' : 'shared',
161
174
  namespace: typeof r.namespace === 'string' ? r.namespace : null,
175
+ ...(typeof r.retired_at === 'string' && r.retired_at !== ''
176
+ ? { retired_at: r.retired_at }
177
+ : {}),
162
178
  };
163
179
  }
164
180
  //# sourceMappingURL=libsql_lexical.js.map