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.
- package/dist/cli.js +5 -4
- package/dist/cli.js.map +1 -1
- package/dist/functions/event.d.ts.map +1 -1
- package/dist/functions/event.js +30 -0
- package/dist/functions/event.js.map +1 -1
- package/dist/functions/handoff_session_start.d.ts.map +1 -1
- package/dist/functions/handoff_session_start.js +4 -6
- package/dist/functions/handoff_session_start.js.map +1 -1
- package/dist/functions/index.d.ts +4 -0
- package/dist/functions/index.d.ts.map +1 -1
- package/dist/functions/index.js +5 -0
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/read_rubric.d.ts +27 -0
- package/dist/functions/read_rubric.d.ts.map +1 -0
- package/dist/functions/read_rubric.js +53 -0
- package/dist/functions/read_rubric.js.map +1 -0
- package/dist/functions/reset_scope_track_state.d.ts +20 -0
- package/dist/functions/reset_scope_track_state.d.ts.map +1 -0
- package/dist/functions/reset_scope_track_state.js +53 -0
- package/dist/functions/reset_scope_track_state.js.map +1 -0
- package/dist/functions/rubric_pre_inject.d.ts +22 -0
- package/dist/functions/rubric_pre_inject.d.ts.map +1 -0
- package/dist/functions/rubric_pre_inject.js +58 -0
- package/dist/functions/rubric_pre_inject.js.map +1 -0
- package/dist/functions/session_tool_history.d.ts +3 -3
- package/dist/functions/session_tool_history.js +1 -1
- package/dist/functions/session_tool_history.js.map +1 -1
- package/dist/functions/shell_parse.d.ts +41 -0
- package/dist/functions/shell_parse.d.ts.map +1 -0
- package/dist/functions/shell_parse.js +185 -0
- package/dist/functions/shell_parse.js.map +1 -0
- package/dist/functions/staged_docs_only.d.ts +23 -0
- package/dist/functions/staged_docs_only.d.ts.map +1 -0
- package/dist/functions/staged_docs_only.js +57 -0
- package/dist/functions/staged_docs_only.js.map +1 -0
- package/dist/mcp/server.js +14 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/ralph.d.ts +21 -0
- package/dist/mcp/tools/ralph.d.ts.map +1 -0
- package/dist/mcp/tools/ralph.js +18 -0
- package/dist/mcp/tools/ralph.js.map +1 -0
- package/dist/mcp/tools/workgraph.d.ts +11 -0
- package/dist/mcp/tools/workgraph.d.ts.map +1 -1
- package/dist/mcp/tools/workgraph.js +7 -0
- package/dist/mcp/tools/workgraph.js.map +1 -1
- package/dist/rag/backend_factory.d.ts.map +1 -1
- package/dist/rag/backend_factory.js +4 -0
- package/dist/rag/backend_factory.js.map +1 -1
- package/dist/rag/backends/libsql_lexical.d.ts.map +1 -1
- package/dist/rag/backends/libsql_lexical.js +21 -5
- package/dist/rag/backends/libsql_lexical.js.map +1 -1
- package/dist/rag/backends/libsql_store.d.ts.map +1 -1
- package/dist/rag/backends/libsql_store.js +33 -6
- package/dist/rag/backends/libsql_store.js.map +1 -1
- package/dist/rag/backends/perfile_source.d.ts.map +1 -1
- package/dist/rag/backends/perfile_source.js +3 -0
- package/dist/rag/backends/perfile_source.js.map +1 -1
- package/dist/rag/memory/consolidate.d.ts +3 -2
- package/dist/rag/memory/consolidate.d.ts.map +1 -1
- package/dist/rag/memory/consolidate.js +7 -4
- package/dist/rag/memory/consolidate.js.map +1 -1
- package/dist/rag/types.d.ts +2 -0
- package/dist/rag/types.d.ts.map +1 -1
- package/dist/rag/types.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts.map +1 -1
- package/dist/runtime/bootstrap.js +8 -0
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/coding_flow_keys.d.ts +17 -0
- package/dist/runtime/coding_flow_keys.d.ts.map +1 -0
- package/dist/runtime/coding_flow_keys.js +21 -0
- package/dist/runtime/coding_flow_keys.js.map +1 -0
- package/dist/runtime/handoff/collect.d.ts.map +1 -1
- package/dist/runtime/handoff/collect.js +3 -1
- package/dist/runtime/handoff/collect.js.map +1 -1
- package/dist/runtime/hooks/session-start.js +5 -1
- package/dist/runtime/hooks/session-start.js.map +1 -1
- package/dist/runtime/hooks/session_id.d.ts +7 -0
- package/dist/runtime/hooks/session_id.d.ts.map +1 -1
- package/dist/runtime/hooks/session_id.js +30 -12
- package/dist/runtime/hooks/session_id.js.map +1 -1
- package/dist/runtime/protected_paths.d.ts +18 -0
- package/dist/runtime/protected_paths.d.ts.map +1 -0
- package/dist/runtime/protected_paths.js +18 -0
- package/dist/runtime/protected_paths.js.map +1 -0
- package/dist/runtime/ralph/decision_classifier.d.ts +18 -0
- package/dist/runtime/ralph/decision_classifier.d.ts.map +1 -0
- package/dist/runtime/ralph/decision_classifier.js +72 -0
- package/dist/runtime/ralph/decision_classifier.js.map +1 -0
- package/dist/runtime/ralph/escalate_lap.d.ts +31 -0
- package/dist/runtime/ralph/escalate_lap.d.ts.map +1 -0
- package/dist/runtime/ralph/escalate_lap.js +22 -0
- package/dist/runtime/ralph/escalate_lap.js.map +1 -0
- package/dist/runtime/ralph/escalator.d.ts +34 -0
- package/dist/runtime/ralph/escalator.d.ts.map +1 -0
- package/dist/runtime/ralph/escalator.js +19 -0
- package/dist/runtime/ralph/escalator.js.map +1 -0
- package/dist/runtime/ralph/lap_outcome.d.ts +43 -0
- package/dist/runtime/ralph/lap_outcome.d.ts.map +1 -0
- package/dist/runtime/ralph/lap_outcome.js +119 -0
- package/dist/runtime/ralph/lap_outcome.js.map +1 -0
- package/dist/runtime/ralph/orchestrator.d.ts +71 -0
- package/dist/runtime/ralph/orchestrator.d.ts.map +1 -0
- package/dist/runtime/ralph/orchestrator.js +74 -0
- package/dist/runtime/ralph/orchestrator.js.map +1 -0
- package/dist/runtime/ralph/ralph_template.d.ts +18 -0
- package/dist/runtime/ralph/ralph_template.d.ts.map +1 -0
- package/dist/runtime/ralph/ralph_template.js +61 -0
- package/dist/runtime/ralph/ralph_template.js.map +1 -0
- package/dist/runtime/ralph/supervisor.d.ts +30 -0
- package/dist/runtime/ralph/supervisor.d.ts.map +1 -0
- package/dist/runtime/ralph/supervisor.js +24 -0
- package/dist/runtime/ralph/supervisor.js.map +1 -0
- package/dist/runtime/session_state.d.ts +9 -1
- package/dist/runtime/session_state.d.ts.map +1 -1
- package/dist/runtime/session_state.js +25 -3
- package/dist/runtime/session_state.js.map +1 -1
- package/dist/runtime/wedge/compression_deps.d.ts.map +1 -1
- package/dist/runtime/wedge/compression_deps.js +9 -1
- package/dist/runtime/wedge/compression_deps.js.map +1 -1
- package/dist/setup/cli/gate.d.ts +7 -2
- package/dist/setup/cli/gate.d.ts.map +1 -1
- package/dist/setup/cli/gate.js +7 -3
- package/dist/setup/cli/gate.js.map +1 -1
- package/dist/setup/cli/ralph.d.ts +20 -0
- package/dist/setup/cli/ralph.d.ts.map +1 -0
- package/dist/setup/cli/ralph.js +168 -0
- package/dist/setup/cli/ralph.js.map +1 -0
- package/dist/setup/wizard/ralph_writer.d.ts +98 -0
- package/dist/setup/wizard/ralph_writer.d.ts.map +1 -0
- package/dist/setup/wizard/ralph_writer.js +114 -0
- package/dist/setup/wizard/ralph_writer.js.map +1 -0
- package/dist/workgraph/audience.d.ts +12 -0
- package/dist/workgraph/audience.d.ts.map +1 -0
- package/dist/workgraph/audience.js +10 -0
- package/dist/workgraph/audience.js.map +1 -0
- package/dist/workgraph/events.d.ts.map +1 -1
- package/dist/workgraph/events.js +34 -0
- package/dist/workgraph/events.js.map +1 -1
- package/dist/workgraph/store.d.ts.map +1 -1
- package/dist/workgraph/store.js +86 -12
- package/dist/workgraph/store.js.map +1 -1
- package/dist/workgraph/types.d.ts +33 -2
- package/dist/workgraph/types.d.ts.map +1 -1
- package/docs/rubric/author.md +17 -0
- package/docs/rubric/scope.md +16 -0
- package/package.json +3 -2
- package/packs/builtin/coding-flow/skills/entry-and-handoffs/skill.yaml +15 -0
- package/packs/builtin/coding-flow/skills/execute-gate/skill.yaml +9 -10
- package/packs/builtin/coding-flow/skills/scope-lifecycle/skill.yaml +72 -51
- package/packs/builtin/default-discipline/manifest.yaml +6 -3
- package/packs/builtin/default-discipline/skills/workflow/skill.yaml +19 -6
- package/packs/builtin/pack-architect/SKILL.md +10 -0
- package/packs/builtin/pack-architect/skills/skill-yaml-author-walkthrough/skill.yaml +7 -0
- package/packs/builtin/scope-architect/team.yaml +5 -2
package/dist/cli.js
CHANGED
|
@@ -43,6 +43,7 @@ import { registerLimits } from './setup/cli/limits.js';
|
|
|
43
43
|
import { registerSetupWizardMcp } from './setup/cli/mcp.js';
|
|
44
44
|
import { registerMemory } from './setup/cli/memory.js';
|
|
45
45
|
import { registerPermissions } from './setup/cli/permissions.js';
|
|
46
|
+
import { registerRalph } from './setup/cli/ralph.js';
|
|
46
47
|
import { registerSchedule } from './setup/cli/schedule.js';
|
|
47
48
|
import { registerTraceCommand } from './setup/cli/trace.js';
|
|
48
49
|
import { registerTriggers } from './setup/cli/triggers.js';
|
|
@@ -165,6 +166,7 @@ function runCli() {
|
|
|
165
166
|
// declared in pack manifests). No dispatcher wired here yet — `run` records
|
|
166
167
|
// a force-fire entry and the daemon picks it up via subsequent integration.
|
|
167
168
|
registerSchedule(program);
|
|
169
|
+
registerRalph(program);
|
|
168
170
|
// OBSERVE.2 — `opensquid trace <runId> | tail | export <runId>`.
|
|
169
171
|
// Registered via a sibling module to keep the verb tree's commander wiring
|
|
170
172
|
// + libsql client lifecycle ownership out of `cli.ts`.
|
|
@@ -347,13 +349,12 @@ function runCli() {
|
|
|
347
349
|
.option('--narrate', 'add the LLM narrative layer (one reasoning call; never load-bearing)', false)
|
|
348
350
|
.action(async (opts) => {
|
|
349
351
|
const { runHandoff } = await import('./runtime/handoff/index.js');
|
|
350
|
-
const {
|
|
351
|
-
const { resolveProjectUuid } = await import('./runtime/paths.js');
|
|
352
|
+
const { readSessionPointer } = await import('./runtime/hooks/session_id.js');
|
|
352
353
|
const cwd = process.cwd();
|
|
353
354
|
let sid = opts.session ?? process.env.CLAUDE_CODE_SESSION_ID ?? null;
|
|
354
355
|
if (sid === null || sid === undefined || sid === '') {
|
|
355
|
-
|
|
356
|
-
sid =
|
|
356
|
+
// wg-16803ed82901: the one canonical pointer read (CLAUDE_PROJECT_DIR ?? cwd).
|
|
357
|
+
sid = await readSessionPointer(cwd, process.env);
|
|
357
358
|
}
|
|
358
359
|
if (sid === null || sid === '') {
|
|
359
360
|
process.stderr.write('opensquid handoff: no session id (pass --session <id>)\n');
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/functions/event.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/functions/event.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA2CtD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAuHvE"}
|
package/dist/functions/event.js
CHANGED
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
*/
|
|
33
33
|
import { z } from 'zod';
|
|
34
34
|
import { err, ok } from '../runtime/result.js';
|
|
35
|
+
import { commandInvokes } from './shell_parse.js';
|
|
35
36
|
// ---------------------------------------------------------------------------
|
|
36
37
|
// Zod arg schemas — `.strict()` on EmptyArgs so unexpected keys become
|
|
37
38
|
// `arg_invalid` at registry-call time (better than silently ignoring typos
|
|
@@ -43,6 +44,15 @@ const MatchCommandArgs = z.object({
|
|
|
43
44
|
pattern: z.string(),
|
|
44
45
|
target: z.string().optional(),
|
|
45
46
|
});
|
|
47
|
+
// command_invokes args: gate on a real `program` invocation (+ optional subcommand /
|
|
48
|
+
// flag). `.strict()` so a YAML typo surfaces as arg_invalid (matches EmptyArgs).
|
|
49
|
+
const CommandInvokesArgs = z
|
|
50
|
+
.object({
|
|
51
|
+
program: z.string(),
|
|
52
|
+
subcommand: z.string().optional(),
|
|
53
|
+
flag_any: z.array(z.string()).optional(),
|
|
54
|
+
})
|
|
55
|
+
.strict();
|
|
46
56
|
// ---------------------------------------------------------------------------
|
|
47
57
|
// resolveCommandField — shallow `tool_args.<field>` lookup for match_command.
|
|
48
58
|
//
|
|
@@ -160,5 +170,25 @@ export function registerEventFunctions(registry) {
|
|
|
160
170
|
return ok(regex.test(command));
|
|
161
171
|
},
|
|
162
172
|
});
|
|
173
|
+
// command_invokes — the STRUCTURAL replacement for the git-matcher use of
|
|
174
|
+
// `match_command` (wg-52e57e2ed252). Instead of regex-testing the raw command
|
|
175
|
+
// string (which false-fires on `git commit` inside a grep pattern / echo arg /
|
|
176
|
+
// quoted subprocess prompt), it parses the command into real shell segments
|
|
177
|
+
// and gates on whether any segment INVOKES `program` (basename) with the
|
|
178
|
+
// optional subcommand + flag. Pure delegate to `shell_parse.commandInvokes`.
|
|
179
|
+
// Wrong-kind → ok(false), matching `match_command`.
|
|
180
|
+
registry.register({
|
|
181
|
+
name: 'command_invokes',
|
|
182
|
+
argSchema: CommandInvokesArgs,
|
|
183
|
+
durable: false,
|
|
184
|
+
memoizable: false,
|
|
185
|
+
costEstimateMs: 0.1,
|
|
186
|
+
execute: async ({ program, subcommand, flag_any }, ctx) => {
|
|
187
|
+
if (ctx.event.kind !== 'tool_call')
|
|
188
|
+
return ok(false);
|
|
189
|
+
const command = resolveCommandField(ctx.event.args, undefined);
|
|
190
|
+
return ok(commandInvokes(command, { program, subcommand, flagAny: flag_any }));
|
|
191
|
+
},
|
|
192
|
+
});
|
|
163
193
|
}
|
|
164
194
|
//# sourceMappingURL=event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/functions/event.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/functions/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff_session_start.d.ts","sourceRoot":"","sources":["../../src/functions/handoff_session_start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,QAAA,MAAM,MAAM,iDAAwB,CAAC;AAErC,UAAU,YAAY;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"handoff_session_start.d.ts","sourceRoot":"","sources":["../../src/functions/handoff_session_start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,QAAA,MAAM,MAAM,iDAAwB,CAAC;AAErC,UAAU,YAAY;IACpB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAwDxF,CAAC"}
|
|
@@ -21,8 +21,8 @@ import { z } from 'zod';
|
|
|
21
21
|
import { handoverDocPath, renderInjection, runHandoff, umbrellaRootFor, } from '../runtime/handoff/index.js';
|
|
22
22
|
import { hasResumableState } from '../runtime/handoff/substance.js';
|
|
23
23
|
import { isSessionPlausible } from '../runtime/hooks/session_liveness.js';
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
24
|
+
import { readSessionPointer } from '../runtime/hooks/session_id.js';
|
|
25
|
+
import { sessionStateFile } from '../runtime/paths.js';
|
|
26
26
|
import { ok } from '../runtime/result.js';
|
|
27
27
|
const NoArgs = z.object({}).strict();
|
|
28
28
|
async function mtimeOf(path) {
|
|
@@ -42,10 +42,8 @@ export const HandoffSessionStart = {
|
|
|
42
42
|
execute: async (_args, ctx) => {
|
|
43
43
|
try {
|
|
44
44
|
const cwd = ctx.event.kind === 'session_start' ? (ctx.event.cwd ?? process.cwd()) : process.cwd();
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return ok(null);
|
|
48
|
-
const deadSid = await readProjectCurrentSession(uuid);
|
|
45
|
+
// wg-16803ed82901: the one canonical pointer read (CLAUDE_PROJECT_DIR ?? cwd).
|
|
46
|
+
const deadSid = await readSessionPointer(cwd, process.env);
|
|
49
47
|
if (deadSid === null || deadSid === ctx.sessionId)
|
|
50
48
|
return ok(null);
|
|
51
49
|
// Once per fresh session.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff_session_start.js","sourceRoot":"","sources":["../../src/functions/handoff_session_start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,eAAe,EACf,eAAe,EACf,UAAU,EACV,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handoff_session_start.js","sourceRoot":"","sources":["../../src/functions/handoff_session_start.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export { registerLessonFunctions } from './lessons.js';
|
|
|
14
14
|
export { registerLlmFunctions } from './llm.js';
|
|
15
15
|
export { registerRagFunctions } from './rag.js';
|
|
16
16
|
export { registerRecallPreInjectFunction } from './recall_pre_inject.js';
|
|
17
|
+
export { registerReadRubric, readRubricContent } from './read_rubric.js';
|
|
18
|
+
export { registerRubricPreInject } from './rubric_pre_inject.js';
|
|
17
19
|
export { registerStateFunctions } from './state.js';
|
|
18
20
|
export { registerVerdictFunctions } from './verdict.js';
|
|
19
21
|
export { registerDestinationCheckFunction, type CheckDestinationResult, } from './destination_check.js';
|
|
@@ -21,4 +23,6 @@ export { registerSubagentFunction, type RegisterSubagentOptions, type SpawnSubag
|
|
|
21
23
|
export { registerFileWriteFunction } from './file_write.js';
|
|
22
24
|
export { registerShellExecFunction } from './shell_exec.js';
|
|
23
25
|
export { registerHttpRequestFunction } from './http_request.js';
|
|
26
|
+
export { registerStagedDocsOnlyFunction } from './staged_docs_only.js';
|
|
27
|
+
export { registerResetScopeTrackStateFunction } from './reset_scope_track_state.js';
|
|
24
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dist/functions/index.js
CHANGED
|
@@ -14,6 +14,8 @@ export { registerLessonFunctions } from './lessons.js';
|
|
|
14
14
|
export { registerLlmFunctions } from './llm.js';
|
|
15
15
|
export { registerRagFunctions } from './rag.js';
|
|
16
16
|
export { registerRecallPreInjectFunction } from './recall_pre_inject.js';
|
|
17
|
+
export { registerReadRubric, readRubricContent } from './read_rubric.js';
|
|
18
|
+
export { registerRubricPreInject } from './rubric_pre_inject.js';
|
|
17
19
|
export { registerStateFunctions } from './state.js';
|
|
18
20
|
export { registerVerdictFunctions } from './verdict.js';
|
|
19
21
|
export { registerDestinationCheckFunction, } from './destination_check.js';
|
|
@@ -25,4 +27,7 @@ export { registerSubagentFunction, } from './subagent.js';
|
|
|
25
27
|
export { registerFileWriteFunction } from './file_write.js';
|
|
26
28
|
export { registerShellExecFunction } from './shell_exec.js';
|
|
27
29
|
export { registerHttpRequestFunction } from './http_request.js';
|
|
30
|
+
// Fixed-argv git read (no shell, no injection) — NOT a gated stub like the two above.
|
|
31
|
+
export { registerStagedDocsOnlyFunction } from './staged_docs_only.js';
|
|
32
|
+
export { registerResetScopeTrackStateFunction } from './reset_scope_track_state.js';
|
|
28
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gCAAgC,GAEjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,GAMzB,MAAM,eAAe,CAAC;AACvB,4EAA4E;AAC5E,sEAAsE;AACtE,sEAAsE;AACtE,uDAAuD;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,gCAAgC,GAEjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,GAMzB,MAAM,eAAe,CAAC;AACvB,4EAA4E;AAC5E,sEAAsE;AACtE,sEAAsE;AACtE,uDAAuD;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,sFAAsF;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `read_rubric` primitive + the bare `readRubricContent` reader (T-transfer-audit-rubric TR.A,
|
|
3
|
+
* wg-2d1d8698f563).
|
|
4
|
+
*
|
|
5
|
+
* Single-sources the coding-flow audit rubric: the canonical criteria live in `docs/rubric/{scope,author}.md`
|
|
6
|
+
* (shipped via package.json `files[]`), read WHOLE by name. The guess/spec audits interpolate `{{rubric}}`
|
|
7
|
+
* from this (de-duping the former hardcoded prompt copy — docs/lexicon.md:40), and `rubric_pre_inject` (TR.B)
|
|
8
|
+
* delivers the same content to the agent before authoring. Edit a fragment → both reflect it (the audit's
|
|
9
|
+
* sha256(prompt) cache invalidates because the rubric content is interpolated INTO the prompt).
|
|
10
|
+
*
|
|
11
|
+
* Resolution is MODULE-RELATIVE to the opensquid package (precedent: src/runtime/paths.ts,
|
|
12
|
+
* src/runtime/update_check.ts use fileURLToPath(import.meta.url)) — NOT cwd / CLAUDE_PROJECT_DIR, so the
|
|
13
|
+
* recurring sub-repo-vs-umbrella cwd split cannot misresolve it. Compiled to dist/functions/read_rubric.js,
|
|
14
|
+
* so `../..` is the package root, where the shipped `docs/rubric/` lives.
|
|
15
|
+
*
|
|
16
|
+
* FAIL-LOUD: on file-miss / path-misresolve / over-cap the reader returns `null` — it NEVER throws and NEVER
|
|
17
|
+
* truncates. Callers fail loud: the audit blocks via a `rubric == null` precondition (so it never runs
|
|
18
|
+
* rubric-less); the injection injects nothing. (project-memory-scope-isolation: fail-loud, not silent.)
|
|
19
|
+
*/
|
|
20
|
+
import type { FunctionRegistry } from './registry.js';
|
|
21
|
+
/**
|
|
22
|
+
* Bare reader — reused by `rubric_pre_inject` (TR.B) and wrapped by the primitive below. Returns the whole
|
|
23
|
+
* fragment, or `null` on file-miss / path-misresolve / over-cap. Never throws, never truncates.
|
|
24
|
+
*/
|
|
25
|
+
export declare function readRubricContent(name: 'scope' | 'author'): Promise<string | null>;
|
|
26
|
+
export declare function registerReadRubric(registry: FunctionRegistry): void;
|
|
27
|
+
//# sourceMappingURL=read_rubric.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read_rubric.d.ts","sourceRoot":"","sources":["../../src/functions/read_rubric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAUtD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CASnE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `read_rubric` primitive + the bare `readRubricContent` reader (T-transfer-audit-rubric TR.A,
|
|
3
|
+
* wg-2d1d8698f563).
|
|
4
|
+
*
|
|
5
|
+
* Single-sources the coding-flow audit rubric: the canonical criteria live in `docs/rubric/{scope,author}.md`
|
|
6
|
+
* (shipped via package.json `files[]`), read WHOLE by name. The guess/spec audits interpolate `{{rubric}}`
|
|
7
|
+
* from this (de-duping the former hardcoded prompt copy — docs/lexicon.md:40), and `rubric_pre_inject` (TR.B)
|
|
8
|
+
* delivers the same content to the agent before authoring. Edit a fragment → both reflect it (the audit's
|
|
9
|
+
* sha256(prompt) cache invalidates because the rubric content is interpolated INTO the prompt).
|
|
10
|
+
*
|
|
11
|
+
* Resolution is MODULE-RELATIVE to the opensquid package (precedent: src/runtime/paths.ts,
|
|
12
|
+
* src/runtime/update_check.ts use fileURLToPath(import.meta.url)) — NOT cwd / CLAUDE_PROJECT_DIR, so the
|
|
13
|
+
* recurring sub-repo-vs-umbrella cwd split cannot misresolve it. Compiled to dist/functions/read_rubric.js,
|
|
14
|
+
* so `../..` is the package root, where the shipped `docs/rubric/` lives.
|
|
15
|
+
*
|
|
16
|
+
* FAIL-LOUD: on file-miss / path-misresolve / over-cap the reader returns `null` — it NEVER throws and NEVER
|
|
17
|
+
* truncates. Callers fail loud: the audit blocks via a `rubric == null` precondition (so it never runs
|
|
18
|
+
* rubric-less); the injection injects nothing. (project-memory-scope-isolation: fail-loud, not silent.)
|
|
19
|
+
*/
|
|
20
|
+
import { readFile } from 'node:fs/promises';
|
|
21
|
+
import { dirname, join } from 'node:path';
|
|
22
|
+
import { fileURLToPath } from 'node:url';
|
|
23
|
+
import { z } from 'zod';
|
|
24
|
+
import { ok } from '../runtime/result.js';
|
|
25
|
+
/** Generous sanity ceiling, well above the few-KB prose rubric; over-cap → null (never a partial read). */
|
|
26
|
+
const MAX_RUBRIC = 64_000;
|
|
27
|
+
const ReadRubricArgs = z.object({ name: z.enum(['scope', 'author']) }).strict();
|
|
28
|
+
// dist/functions/read_rubric.js → ../.. = the package root (where the shipped docs/rubric/ lives).
|
|
29
|
+
const PKG_ROOT = join(dirname(fileURLToPath(import.meta.url)), '..', '..');
|
|
30
|
+
/**
|
|
31
|
+
* Bare reader — reused by `rubric_pre_inject` (TR.B) and wrapped by the primitive below. Returns the whole
|
|
32
|
+
* fragment, or `null` on file-miss / path-misresolve / over-cap. Never throws, never truncates.
|
|
33
|
+
*/
|
|
34
|
+
export async function readRubricContent(name) {
|
|
35
|
+
try {
|
|
36
|
+
const content = await readFile(join(PKG_ROOT, 'docs', 'rubric', `${name}.md`), 'utf8');
|
|
37
|
+
return content.length > MAX_RUBRIC ? null : content;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function registerReadRubric(registry) {
|
|
44
|
+
registry.register({
|
|
45
|
+
name: 'read_rubric',
|
|
46
|
+
argSchema: ReadRubricArgs,
|
|
47
|
+
durable: false,
|
|
48
|
+
memoizable: false, // re-read each call so a rubric edit is reflected (S-C)
|
|
49
|
+
costEstimateMs: 1,
|
|
50
|
+
execute: async ({ name }) => ok(await readRubricContent(name)),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=read_rubric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read_rubric.js","sourceRoot":"","sources":["../../src/functions/read_rubric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAI1C,2GAA2G;AAC3G,MAAM,UAAU,GAAG,MAAM,CAAC;AAE1B,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEhF,mGAAmG;AACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAA0B;IAC3D,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK,EAAE,wDAAwD;QAC3E,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `reset_scope_track_state` primitive — clear the per-track scope state as a UNIT when a
|
|
3
|
+
* new track begins (the `scope_start` re-arm). Without it, a shipped track's
|
|
4
|
+
* pre-research/spec/design pointers leak into the next track: the handover renderer re-fires
|
|
5
|
+
* the finished track's artifacts, and the AUTHOR coverage audit reads the stale design
|
|
6
|
+
* (wg-4c48ef1b9969).
|
|
7
|
+
*
|
|
8
|
+
* The cleared set is `SCOPE_TRACK_STATE_KEYS` (one home — adding a future per-track key there
|
|
9
|
+
* keeps the renderer's read and this reset in sync). Writes JSON `null` so `read_state` returns
|
|
10
|
+
* `null` directly. Best-effort: a clear failure must NEVER abort the re-arm rule (the rule orders
|
|
11
|
+
* this AFTER `advance_fsm`), so every write is individually try/caught and the primitive always
|
|
12
|
+
* resolves `ok(null)`.
|
|
13
|
+
*
|
|
14
|
+
* Imports from: zod, ../runtime/result.js, ../runtime/coding_flow_keys.js,
|
|
15
|
+
* ../runtime/paths.js, ../runtime/atomic_write.js, ./registry.js.
|
|
16
|
+
* Imported by: src/functions/index.ts (registry wiring via bootstrap).
|
|
17
|
+
*/
|
|
18
|
+
import type { FunctionRegistry } from './registry.js';
|
|
19
|
+
export declare function registerResetScopeTrackStateFunction(registry: FunctionRegistry): void;
|
|
20
|
+
//# sourceMappingURL=reset_scope_track_state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset_scope_track_state.d.ts","sourceRoot":"","sources":["../../src/functions/reset_scope_track_state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAyBrF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `reset_scope_track_state` primitive — clear the per-track scope state as a UNIT when a
|
|
3
|
+
* new track begins (the `scope_start` re-arm). Without it, a shipped track's
|
|
4
|
+
* pre-research/spec/design pointers leak into the next track: the handover renderer re-fires
|
|
5
|
+
* the finished track's artifacts, and the AUTHOR coverage audit reads the stale design
|
|
6
|
+
* (wg-4c48ef1b9969).
|
|
7
|
+
*
|
|
8
|
+
* The cleared set is `SCOPE_TRACK_STATE_KEYS` (one home — adding a future per-track key there
|
|
9
|
+
* keeps the renderer's read and this reset in sync). Writes JSON `null` so `read_state` returns
|
|
10
|
+
* `null` directly. Best-effort: a clear failure must NEVER abort the re-arm rule (the rule orders
|
|
11
|
+
* this AFTER `advance_fsm`), so every write is individually try/caught and the primitive always
|
|
12
|
+
* resolves `ok(null)`.
|
|
13
|
+
*
|
|
14
|
+
* Imports from: zod, ../runtime/result.js, ../runtime/coding_flow_keys.js,
|
|
15
|
+
* ../runtime/paths.js, ../runtime/atomic_write.js, ./registry.js.
|
|
16
|
+
* Imported by: src/functions/index.ts (registry wiring via bootstrap).
|
|
17
|
+
*/
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
import { atomicWriteFile } from '../runtime/atomic_write.js';
|
|
20
|
+
import { SCOPE_TRACK_STATE_KEYS } from '../runtime/coding_flow_keys.js';
|
|
21
|
+
import { sessionStateFile } from '../runtime/paths.js';
|
|
22
|
+
import { ok } from '../runtime/result.js';
|
|
23
|
+
import { resetScopeWindow } from '../runtime/session_state.js';
|
|
24
|
+
const EmptyArgs = z.object({}).strict();
|
|
25
|
+
export function registerResetScopeTrackStateFunction(registry) {
|
|
26
|
+
registry.register({
|
|
27
|
+
name: 'reset_scope_track_state',
|
|
28
|
+
argSchema: EmptyArgs,
|
|
29
|
+
durable: false,
|
|
30
|
+
memoizable: false,
|
|
31
|
+
costEstimateMs: 5,
|
|
32
|
+
execute: async (_args, ctx) => {
|
|
33
|
+
for (const key of SCOPE_TRACK_STATE_KEYS) {
|
|
34
|
+
try {
|
|
35
|
+
await atomicWriteFile(sessionStateFile(ctx.sessionId, key), JSON.stringify(null));
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
/* best-effort: a clear failure must never block the scope_start arm */
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// wg-3e241144f441: the per-track research window is also per-track scope state —
|
|
42
|
+
// zero it on the same re-arm. Own try/catch so a ledger failure never blocks the arm.
|
|
43
|
+
try {
|
|
44
|
+
await resetScopeWindow(ctx.sessionId);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
/* best-effort */
|
|
48
|
+
}
|
|
49
|
+
return ok(null);
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=reset_scope_track_state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset_scope_track_state.js","sourceRoot":"","sources":["../../src/functions/reset_scope_track_state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAI/D,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAExC,MAAM,UAAU,oCAAoC,CAAC,QAA0B;IAC7E,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpF,CAAC;gBAAC,MAAM,CAAC;oBACP,uEAAuE;gBACzE,CAAC;YACH,CAAC;YACD,iFAAiF;YACjF,sFAAsF;YACtF,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `rubric_pre_inject` primitive (T-transfer-audit-rubric TR.B, wg-2d1d8698f563).
|
|
3
|
+
*
|
|
4
|
+
* Delivers the coding-flow quality rubric to the agent BEFORE it authors — the fix for the
|
|
5
|
+
* "blind first draft" root cause. Modeled on `recall_pre_inject`: on a `prompt_submit` event, when the
|
|
6
|
+
* coding-flow FSM is in an active SCOPE/AUTHOR phase, it returns a `{ kind: 'inject_context', content }`
|
|
7
|
+
* payload that `dispatch.ts` emits as Claude Code's `hookSpecificOutput.additionalContext` at UserPromptSubmit.
|
|
8
|
+
*
|
|
9
|
+
* Injects the FULL rubric (BOTH scope + author), NOT phase-gated to one: `prompt_submit` fires per USER PROMPT
|
|
10
|
+
* while phases advance MID-TURN on writes, so under run-to-exhaustion the whole SCOPE→AUTHOR flow is one turn
|
|
11
|
+
* with no intervening prompt — one injection must cover every phase the turn will traverse. The hosting rule
|
|
12
|
+
* is ordered AFTER `enter-scoping` in `entry-and-handoffs` so the cold kickoff turn's just-armed `scoping` is
|
|
13
|
+
* visible (rules walk file-order). If the flow isn't armed (idle / non-coding), nothing injects — and no audit
|
|
14
|
+
* fires either, so no rubric is owed.
|
|
15
|
+
*
|
|
16
|
+
* Reuses `readRubricContent` (TR.A) — ONE canonical source for the audit AND the agent. Fail-loud has no
|
|
17
|
+
* meaning here (this is advisory injection, not a gate): a null fragment simply injects nothing; the audit
|
|
18
|
+
* (the blocker) fail-louds on the same condition.
|
|
19
|
+
*/
|
|
20
|
+
import type { FunctionRegistry } from './registry.js';
|
|
21
|
+
export declare function registerRubricPreInject(registry: FunctionRegistry): void;
|
|
22
|
+
//# sourceMappingURL=rubric_pre_inject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rubric_pre_inject.d.ts","sourceRoot":"","sources":["../../src/functions/rubric_pre_inject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAQtD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CA0BxE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `rubric_pre_inject` primitive (T-transfer-audit-rubric TR.B, wg-2d1d8698f563).
|
|
3
|
+
*
|
|
4
|
+
* Delivers the coding-flow quality rubric to the agent BEFORE it authors — the fix for the
|
|
5
|
+
* "blind first draft" root cause. Modeled on `recall_pre_inject`: on a `prompt_submit` event, when the
|
|
6
|
+
* coding-flow FSM is in an active SCOPE/AUTHOR phase, it returns a `{ kind: 'inject_context', content }`
|
|
7
|
+
* payload that `dispatch.ts` emits as Claude Code's `hookSpecificOutput.additionalContext` at UserPromptSubmit.
|
|
8
|
+
*
|
|
9
|
+
* Injects the FULL rubric (BOTH scope + author), NOT phase-gated to one: `prompt_submit` fires per USER PROMPT
|
|
10
|
+
* while phases advance MID-TURN on writes, so under run-to-exhaustion the whole SCOPE→AUTHOR flow is one turn
|
|
11
|
+
* with no intervening prompt — one injection must cover every phase the turn will traverse. The hosting rule
|
|
12
|
+
* is ordered AFTER `enter-scoping` in `entry-and-handoffs` so the cold kickoff turn's just-armed `scoping` is
|
|
13
|
+
* visible (rules walk file-order). If the flow isn't armed (idle / non-coding), nothing injects — and no audit
|
|
14
|
+
* fires either, so no rubric is owed.
|
|
15
|
+
*
|
|
16
|
+
* Reuses `readRubricContent` (TR.A) — ONE canonical source for the audit AND the agent. Fail-loud has no
|
|
17
|
+
* meaning here (this is advisory injection, not a gate): a null fragment simply injects nothing; the audit
|
|
18
|
+
* (the blocker) fail-louds on the same condition.
|
|
19
|
+
*/
|
|
20
|
+
import { z } from 'zod';
|
|
21
|
+
import { readFsmStateRaw } from '../runtime/fsm_state.js';
|
|
22
|
+
import { ok } from '../runtime/result.js';
|
|
23
|
+
import { readRubricContent } from './read_rubric.js';
|
|
24
|
+
// Active SCOPE/AUTHOR authoring phases (packs/builtin/coding-flow/fsm.yaml:15-18). `researched` is the
|
|
25
|
+
// pre-spec-write window where the first spec is authored (spec_drafted fires ON the write).
|
|
26
|
+
const ACTIVE = new Set(['scoping', 'researching', 'researched', 'spec_authored']);
|
|
27
|
+
const EmptyArgs = z.object({}).strict();
|
|
28
|
+
export function registerRubricPreInject(registry) {
|
|
29
|
+
registry.register({
|
|
30
|
+
name: 'rubric_pre_inject',
|
|
31
|
+
argSchema: EmptyArgs,
|
|
32
|
+
durable: false,
|
|
33
|
+
memoizable: false,
|
|
34
|
+
costEstimateMs: 2,
|
|
35
|
+
execute: async (_args, ctx) => {
|
|
36
|
+
if (ctx.event.kind !== 'prompt_submit')
|
|
37
|
+
return ok(null);
|
|
38
|
+
const st = await readFsmStateRaw(ctx.sessionId, 'coding-flow'); // null on unstarted/unreadable
|
|
39
|
+
if (st === null || !ACTIVE.has(st))
|
|
40
|
+
return ok(null); // FSM-active gate
|
|
41
|
+
const scope = await readRubricContent('scope');
|
|
42
|
+
const author = await readRubricContent('author');
|
|
43
|
+
if (scope === null && author === null)
|
|
44
|
+
return ok(null);
|
|
45
|
+
const content = [
|
|
46
|
+
'## Coding-flow quality rubric — the bar the SCOPE/AUTHOR gates will apply (hold it BEFORE you author)',
|
|
47
|
+
'',
|
|
48
|
+
'### SCOPE (pre-research / scope artifacts)',
|
|
49
|
+
scope ?? '_(scope rubric unavailable)_',
|
|
50
|
+
'',
|
|
51
|
+
'### AUTHOR (task specs)',
|
|
52
|
+
author ?? '_(author rubric unavailable)_',
|
|
53
|
+
].join('\n');
|
|
54
|
+
return ok({ kind: 'inject_context', content });
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=rubric_pre_inject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rubric_pre_inject.js","sourceRoot":"","sources":["../../src/functions/rubric_pre_inject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,uGAAuG;AACvG,4FAA4F;AAC5F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AAElF,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAExC,MAAM,UAAU,uBAAuB,CAAC,QAA0B;IAChE,QAAQ,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,+BAA+B;YAC/F,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;YACvE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG;gBACd,uGAAuG;gBACvG,EAAE;gBACF,4CAA4C;gBAC5C,KAAK,IAAI,8BAA8B;gBACvC,EAAE;gBACF,yBAAyB;gBACzB,MAAM,IAAI,+BAA+B;aAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAyB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -28,13 +28,13 @@
|
|
|
28
28
|
import { z } from 'zod';
|
|
29
29
|
import type { FunctionDef } from './registry.js';
|
|
30
30
|
export declare const SessionToolHistoryArgs: z.ZodObject<{
|
|
31
|
-
scope: z.ZodDefault<z.ZodEnum<["current_turn", "session"]>>;
|
|
31
|
+
scope: z.ZodDefault<z.ZodEnum<["current_turn", "session", "since_scope_start"]>>;
|
|
32
32
|
filter_names: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
33
33
|
}, "strict", z.ZodTypeAny, {
|
|
34
|
-
scope: "session" | "current_turn";
|
|
34
|
+
scope: "session" | "current_turn" | "since_scope_start";
|
|
35
35
|
filter_names?: string[] | undefined;
|
|
36
36
|
}, {
|
|
37
|
-
scope?: "session" | "current_turn" | undefined;
|
|
37
|
+
scope?: "session" | "current_turn" | "since_scope_start" | undefined;
|
|
38
38
|
filter_names?: string[] | undefined;
|
|
39
39
|
}>;
|
|
40
40
|
interface SessionToolHistoryResult {
|
|
@@ -30,7 +30,7 @@ import { ok } from '../runtime/result.js';
|
|
|
30
30
|
import { readSessionToolLedger } from '../runtime/session_state.js';
|
|
31
31
|
export const SessionToolHistoryArgs = z
|
|
32
32
|
.object({
|
|
33
|
-
scope: z.enum(['current_turn', 'session']).default('current_turn'),
|
|
33
|
+
scope: z.enum(['current_turn', 'session', 'since_scope_start']).default('current_turn'),
|
|
34
34
|
filter_names: z.array(z.string()).optional(),
|
|
35
35
|
})
|
|
36
36
|
.strict();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_tool_history.js","sourceRoot":"","sources":["../../src/functions/session_tool_history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"session_tool_history.js","sourceRoot":"","sources":["../../src/functions/session_tool_history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAIpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACvF,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAOZ,MAAM,CAAC,MAAM,kBAAkB,GAG3B;IACF,IAAI,EAAE,sBAAsB;IAC5B,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,CAAC;IACjB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY;YAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
/**
|
|
23
|
+
* Tokenize a shell command into segments (argv arrays), splitting on UNQUOTED control
|
|
24
|
+
* operators (`&& || | ; & newline`) and UNQUOTED whitespace, stripping quotes. Single
|
|
25
|
+
* quotes are literal; double quotes honor `\` escapes for `" \ $ ` (backtick); an unquoted
|
|
26
|
+
* `\` escapes the next char. Returns `[]` for non-string / empty / over-long input.
|
|
27
|
+
*/
|
|
28
|
+
export declare function tokenizeShell(command: string): string[][];
|
|
29
|
+
export interface InvokeQuery {
|
|
30
|
+
program: string;
|
|
31
|
+
subcommand?: string | undefined;
|
|
32
|
+
flagAny?: string[] | undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* True iff some real shell segment invokes `program` (basename match) AND — if `subcommand`
|
|
36
|
+
* is given — its first positional (after skipping git global options and `-C`/`-c` values)
|
|
37
|
+
* equals it AND — if `flagAny` is given — at least one listed flag is present in that
|
|
38
|
+
* invocation's args.
|
|
39
|
+
*/
|
|
40
|
+
export declare function commandInvokes(command: string, q: InvokeQuery): boolean;
|
|
41
|
+
//# sourceMappingURL=shell_parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell_parse.d.ts","sourceRoot":"","sources":["../../src/functions/shell_parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAcH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CA8FzD;AA2BD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,OAAO,CAcvE"}
|