@plurnk/plurnk-service 0.26.0 → 0.28.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 (98) hide show
  1. package/SPEC.md +36 -34
  2. package/dist/Paths.d.ts +0 -1
  3. package/dist/Paths.d.ts.map +1 -1
  4. package/dist/Paths.js +3 -6
  5. package/dist/Paths.js.map +1 -1
  6. package/dist/content/path-mimetype.js +2 -2
  7. package/dist/content/path-mimetype.js.map +1 -1
  8. package/dist/core/ChannelWrite.d.ts +17 -2
  9. package/dist/core/ChannelWrite.d.ts.map +1 -1
  10. package/dist/core/ChannelWrite.js +11 -5
  11. package/dist/core/ChannelWrite.js.map +1 -1
  12. package/dist/core/Engine.d.ts +4 -5
  13. package/dist/core/Engine.d.ts.map +1 -1
  14. package/dist/core/Engine.js +113 -49
  15. package/dist/core/Engine.js.map +1 -1
  16. package/dist/core/ExecutorRegistry.d.ts +3 -0
  17. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  18. package/dist/core/ExecutorRegistry.js +8 -1
  19. package/dist/core/ExecutorRegistry.js.map +1 -1
  20. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  21. package/dist/core/SchemeRegistry.js +39 -15
  22. package/dist/core/SchemeRegistry.js.map +1 -1
  23. package/dist/core/caps/DbNotifyCaps.d.ts.map +1 -1
  24. package/dist/core/caps/DbNotifyCaps.js +4 -1
  25. package/dist/core/caps/DbNotifyCaps.js.map +1 -1
  26. package/dist/core/caps/DbSubscriptionCaps.d.ts +1 -1
  27. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  28. package/dist/core/caps/DbSubscriptionCaps.js +2 -2
  29. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  30. package/dist/core/git-membership.d.ts.map +1 -1
  31. package/dist/core/git-membership.js +51 -25
  32. package/dist/core/git-membership.js.map +1 -1
  33. package/dist/core/packet-wire.js +5 -5
  34. package/dist/core/packet-wire.js.map +1 -1
  35. package/dist/core/plugin-trust.d.ts +4 -0
  36. package/dist/core/plugin-trust.d.ts.map +1 -0
  37. package/dist/core/plugin-trust.js +23 -0
  38. package/dist/core/plugin-trust.js.map +1 -0
  39. package/dist/schemes/Exec.d.ts.map +1 -1
  40. package/dist/schemes/Exec.js +78 -20
  41. package/dist/schemes/Exec.js.map +1 -1
  42. package/dist/schemes/File.d.ts.map +1 -1
  43. package/dist/schemes/File.js +15 -12
  44. package/dist/schemes/File.js.map +1 -1
  45. package/dist/schemes/Log.js +6 -6
  46. package/dist/schemes/Log.js.map +1 -1
  47. package/dist/schemes/Plurnk.js +4 -4
  48. package/dist/schemes/Plurnk.js.map +1 -1
  49. package/dist/schemes/_entry-chunk.d.ts +11 -0
  50. package/dist/schemes/_entry-chunk.d.ts.map +1 -0
  51. package/dist/schemes/_entry-chunk.js +100 -0
  52. package/dist/schemes/_entry-chunk.js.map +1 -0
  53. package/dist/schemes/_entry-find.d.ts.map +1 -1
  54. package/dist/schemes/_entry-find.js +6 -2
  55. package/dist/schemes/_entry-find.js.map +1 -1
  56. package/dist/schemes/_entry-graph.js +1 -1
  57. package/dist/schemes/_entry-graph.js.map +1 -1
  58. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  59. package/dist/schemes/_entry-manifest.js +14 -6
  60. package/dist/schemes/_entry-manifest.js.map +1 -1
  61. package/dist/schemes/_entry-ops.js +2 -2
  62. package/dist/schemes/_entry-ops.js.map +1 -1
  63. package/dist/schemes/_entry-semantic.d.ts +22 -2
  64. package/dist/schemes/_entry-semantic.d.ts.map +1 -1
  65. package/dist/schemes/_entry-semantic.js +96 -9
  66. package/dist/schemes/_entry-semantic.js.map +1 -1
  67. package/dist/schemes/exec-env.d.ts +5 -0
  68. package/dist/schemes/exec-env.d.ts.map +1 -0
  69. package/dist/schemes/exec-env.js +29 -0
  70. package/dist/schemes/exec-env.js.map +1 -0
  71. package/dist/server/Daemon.d.ts +1 -1
  72. package/dist/server/Daemon.d.ts.map +1 -1
  73. package/dist/server/Daemon.js +11 -1
  74. package/dist/server/Daemon.js.map +1 -1
  75. package/dist/server/methods/entry_read.d.ts.map +1 -1
  76. package/dist/server/methods/entry_read.js +29 -7
  77. package/dist/server/methods/entry_read.js.map +1 -1
  78. package/dist/server/methods/loop_inject.d.ts +5 -0
  79. package/dist/server/methods/loop_inject.d.ts.map +1 -0
  80. package/dist/server/methods/loop_inject.js +58 -0
  81. package/dist/server/methods/loop_inject.js.map +1 -0
  82. package/dist/server/methods/loop_run.js +2 -2
  83. package/dist/server/methods/loop_run.js.map +1 -1
  84. package/dist/server/methods/op_edit.js +1 -1
  85. package/dist/server/methods/op_edit.js.map +1 -1
  86. package/dist/server/methods/op_find.js +1 -1
  87. package/dist/server/methods/op_find.js.map +1 -1
  88. package/dist/server/methods/run_fork.d.ts +5 -0
  89. package/dist/server/methods/run_fork.d.ts.map +1 -0
  90. package/dist/server/methods/run_fork.js +42 -0
  91. package/dist/server/methods/run_fork.js.map +1 -0
  92. package/dist/server/methods/session_create.d.ts +1 -0
  93. package/dist/server/methods/session_create.d.ts.map +1 -1
  94. package/dist/server/methods/session_create.js +32 -0
  95. package/dist/server/methods/session_create.js.map +1 -1
  96. package/migrations/0000-00-00.01_schema.sql +22 -10
  97. package/package.json +108 -111
  98. package/requirements.md +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"loop_run.js","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop_run.js","sourceRoot":"","sources":["../../../src/server/methods/loop_run.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export default class OpEditMethod {
12
12
  },
13
13
  description: "EDIT — write or update an entry's body.",
14
14
  params: {
15
- target: "string — entry path (e.g. known://france/capital)",
15
+ target: "string — entry path (e.g. known:///france/capital)",
16
16
  content: "string? — entry body (empty/omitted clears)",
17
17
  tags: "string[]? — tag set",
18
18
  lineRange: "LineMarker? — insertion point or replace range",
@@ -1 +1 @@
1
- {"version":3,"file":"op_edit.js","sourceRoot":"","sources":["../../../src/server/methods/op_edit.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACrH,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE;gBACJ,MAAM,EAAE,mDAAmD;gBAC3D,OAAO,EAAE,6CAA6C;gBACtD,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE,gDAAgD;aAC9D;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"op_edit.js","sourceRoot":"","sources":["../../../src/server/methods/op_edit.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACrH,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YACD,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE;gBACJ,MAAM,EAAE,oDAAoD;gBAC5D,OAAO,EAAE,6CAA6C;gBACtD,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE,gDAAgD;aAC9D;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -12,7 +12,7 @@ export default class OpFindMethod {
12
12
  },
13
13
  description: "FIND — search within a scope by tags and/or matcher.",
14
14
  params: {
15
- scope: "string — path-scope (e.g. known://)",
15
+ scope: "string — path-scope (e.g. known:///)",
16
16
  matcher: "string? — body matcher (glob/regex/xpath/jsonpath; dialect determined by leading chars)",
17
17
  tags: "string[]? — tag filter",
18
18
  lineRange: "LineMarker? — result range",
@@ -1 +1 @@
1
- {"version":3,"file":"op_find.js","sourceRoot":"","sources":["../../../src/server/methods/op_find.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAClH,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YACD,WAAW,EAAE,sDAAsD;YACnE,MAAM,EAAE;gBACJ,KAAK,EAAE,qCAAqC;gBAC5C,OAAO,EAAE,yFAAyF;gBAClG,IAAI,EAAE,wBAAwB;gBAC9B,SAAS,EAAE,4BAA4B;aAC1C;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"op_find.js","sourceRoot":"","sources":["../../../src/server/methods/op_find.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAClH,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YACD,WAAW,EAAE,sDAAsD;YACnE,MAAM,EAAE;gBACJ,KAAK,EAAE,sCAAsC;gBAC7C,OAAO,EAAE,yFAAyF;gBAClG,IAAI,EAAE,wBAAwB;gBAC9B,SAAS,EAAE,4BAA4B;aAC1C;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,5 @@
1
+ import type MethodRegistry from "../MethodRegistry.ts";
2
+ export default class RunForkMethod {
3
+ static register(registry: MethodRegistry): void;
4
+ }
5
+ //# sourceMappingURL=run_fork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run_fork.d.ts","sourceRoot":"","sources":["../../../src/server/methods/run_fork.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAQvD,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CA0BlD"}
@@ -0,0 +1,42 @@
1
+ // run.fork — branch a run's log into a new run in the same session (#228). Wraps
2
+ // Fork.fork: deep-copies loops/turns/entries (fold-state + attribution intact)
3
+ // into a parent_run_id-lineaged branch that SHARES the session's world (entries +
4
+ // overlay), copying nothing of it. Defaults to the session's model run (the
5
+ // conversation); the conversation client (e.g. :AI????) forks it, then reads the
6
+ // branch via log.read({runId}).
7
+ import Fork from "../../core/fork.js";
8
+ export default class RunForkMethod {
9
+ static register(registry) {
10
+ registry.registerMethod("run.fork", {
11
+ handler: async (params, ctx) => {
12
+ if (ctx.session === null)
13
+ throw new Error("run.fork requires an attached session");
14
+ const p = params;
15
+ let runId = p.runId;
16
+ if (runId === undefined) {
17
+ if (ctx.session.modelRunId === null)
18
+ throw new Error("run.fork: no model run to fork — start one with loop.run, or pass runId");
19
+ runId = ctx.session.modelRunId;
20
+ }
21
+ else {
22
+ if (typeof runId !== "number" || !Number.isInteger(runId))
23
+ throw new Error("run.fork: runId must be an integer");
24
+ const owner = await ctx.db.envelope_get_run_by_id.get({ id: runId });
25
+ if (owner === undefined)
26
+ throw new Error(`run.fork: run ${runId} not found`);
27
+ if (owner.session_id !== ctx.session.sessionId)
28
+ throw new Error(`run.fork: run ${runId} is not in this session`);
29
+ }
30
+ const branchRunId = await Fork.fork(ctx.db, runId);
31
+ const branch = await ctx.db.envelope_get_run_by_id.get({ id: branchRunId });
32
+ return { runId: branchRunId, runName: branch?.name ?? null, parentRunId: runId };
33
+ },
34
+ description: "Fork a run — branch its log into a new run in the same session (parent_run_id lineage), sharing the session's world (entries + overlay), copying nothing of it. Defaults to the session's model run (the conversation); an explicit runId forks any run in the session (ownership-checked). Returns the new run's {runId, runName}; a conversation client reads it via log.read({runId}). §machine-processes / #228.",
35
+ params: {
36
+ runId: "number? — the run to fork; defaults to the session's current model run (the conversation)",
37
+ },
38
+ requiresInit: true,
39
+ });
40
+ }
41
+ }
42
+ //# sourceMappingURL=run_fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run_fork.js","sourceRoot":"","sources":["../../../src/server/methods/run_fork.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,4EAA4E;AAC5E,iFAAiF;AACjF,gCAAgC;AAIhC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAMtC,MAAM,CAAC,OAAO,OAAO,aAAa;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE;YAChC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACnF,MAAM,CAAC,GAAG,MAAgB,CAAC;gBAC3B,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;gBACpB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;oBAChI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACJ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACjH,MAAM,KAAK,GAAG,MAAO,GAAG,CAAC,EAAE,CAAC,sBAAqC,CAAC,GAAG,CAAyB,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC7G,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,YAAY,CAAC,CAAC;oBAC7E,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,yBAAyB,CAAC,CAAC;gBACrH,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAO,GAAG,CAAC,EAAE,CAAC,sBAAqC,CAAC,GAAG,CAAmB,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC9G,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YACrF,CAAC;YACD,WAAW,EAAE,sZAAsZ;YACna,MAAM,EAAE;gBACJ,KAAK,EAAE,2FAA2F;aACrG;YACD,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,5 +1,6 @@
1
1
  import type MethodRegistry from "../MethodRegistry.ts";
2
2
  export default class SessionCreateMethod {
3
+ #private;
3
4
  static register(registry: MethodRegistry): void;
4
5
  }
5
6
  //# sourceMappingURL=session_create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session_create.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAiDlD"}
1
+ {"version":3,"file":"session_create.d.ts","sourceRoot":"","sources":["../../../src/server/methods/session_create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAUvD,MAAM,CAAC,OAAO,OAAO,mBAAmB;;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CA2ElD"}
@@ -1,5 +1,10 @@
1
1
  import { isAbsolute } from "node:path";
2
2
  import Envelope from "../envelope.js";
3
+ import GitMembership from "../../core/git-membership.js";
4
+ // #200 — membership-overlay effects, mirroring session.constrain (pick admits a
5
+ // file git misses / the sole source when headless; hide drops a tracked match;
6
+ // view admits a member read-only).
7
+ const CONSTRAINT_EFFECTS = new Set(["pick", "hide", "view"]);
3
8
  export default class SessionCreateMethod {
4
9
  static register(registry) {
5
10
  registry.registerMethod("session.create", {
@@ -18,7 +23,17 @@ export default class SessionCreateMethod {
18
23
  if (persona !== null && typeof persona !== "string") {
19
24
  throw new Error("session.create: persona must be a string or null");
20
25
  }
26
+ // #200 — seed the membership overlay atomically with the session so
27
+ // turn-1's manifest already reflects it (no follow-up session.constrain
28
+ // RPC race). Same effects/semantics as session.constrain.
29
+ const constraints = SessionCreateMethod.#parseConstraints(p.constraints);
21
30
  const envelope = await Envelope.createClientEnvelope(ctx.db, { name: p.name, projectRoot, persona });
31
+ if (constraints.length > 0) {
32
+ for (const { effect, glob } of constraints) {
33
+ await ctx.db.crud_insert_session_constraint.run({ session_id: envelope.sessionId, effect, glob });
34
+ }
35
+ await GitMembership.resolveGitMembership(ctx.db, envelope.sessionId, undefined);
36
+ }
22
37
  ctx.attachSession(envelope);
23
38
  ctx.notify("all", "session/created", {
24
39
  id: envelope.sessionId,
@@ -37,6 +52,7 @@ export default class SessionCreateMethod {
37
52
  name: "string? — session name (auto-generated if omitted)",
38
53
  projectRoot: "string? — absolute path to the client's workspace; null/omitted = headless mode (no disk side-effects on file ops)",
39
54
  persona: "string? — session-level persona (text/markdown); cascades as: loops.persona > runs.persona > sessions.persona > PLURNK_PERSONA file",
55
+ constraints: "array? — [{effect, glob}] membership overlay seeded atomically at creation so turn-1's manifest is right with no follow-up RPC. effect: pick (admit a file git misses / the sole source when headless) | hide (drop a tracked match) | view (read-only). glob: node:path glob vs workspace-relative paths.",
40
56
  },
41
57
  });
42
58
  registry.registerNotification("session/created", {
@@ -49,5 +65,21 @@ export default class SessionCreateMethod {
49
65
  },
50
66
  });
51
67
  }
68
+ static #parseConstraints(raw) {
69
+ if (raw === undefined || raw === null)
70
+ return [];
71
+ if (!Array.isArray(raw))
72
+ throw new Error("session.create: constraints must be an array");
73
+ return raw.map((c, i) => {
74
+ const e = c;
75
+ if (typeof e.effect !== "string" || !CONSTRAINT_EFFECTS.has(e.effect)) {
76
+ throw new Error(`session.create: constraints[${i}].effect must be one of pick | hide | view`);
77
+ }
78
+ if (typeof e.glob !== "string" || e.glob.length === 0) {
79
+ throw new Error(`session.create: constraints[${i}].glob must be a non-empty string`);
80
+ }
81
+ return { effect: e.effect, glob: e.glob };
82
+ });
83
+ }
52
84
  }
53
85
  //# sourceMappingURL=session_create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session_create.js","sourceRoot":"","sources":["../../../src/server/methods/session_create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,MAAM,CAAC,QAAQ,CAAC,QAAwB;QACpC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE;YACtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,MAAiF,CAAC;gBAC5F,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC;gBAC1C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBACvB,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC9D,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;oBACtF,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC3B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;oBAC5E,CAAC;gBACL,CAAC;gBACD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;gBAClC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;gBACrG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC5B,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE;oBACjC,EAAE,EAAE,QAAQ,CAAC,SAAS;oBACtB,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAC1B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,OAAO,EAAE,QAAQ,CAAC,cAAc;iBACnC,CAAC,CAAC;gBACH,OAAO;oBACH,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,WAAW;oBAClD,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO;oBAChD,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc;iBACtE,CAAC;YACN,CAAC;YACD,WAAW,EAAE,0QAA0Q;YACvR,MAAM,EAAE;gBACJ,IAAI,EAAE,oDAAoD;gBAC1D,WAAW,EAAE,oHAAoH;gBACjI,OAAO,EAAE,qIAAqI;aACjJ;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,oBAAoB,CAAC,iBAAiB,EAAE;YAC7C,WAAW,EAAE,qEAAqE;YAClF,MAAM,EAAE;gBACJ,EAAE,EAAE,qBAAqB;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,mEAAmE;gBAChF,OAAO,EAAE,iFAAiF;aAC7F;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"session_create.js","sourceRoot":"","sources":["../../../src/server/methods/session_create.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,11 @@ CREATE TABLE IF NOT EXISTS entries (
109
109
  -- embeddings, later) ONLY when this differs from the current body hash — an
110
110
  -- unchanged entry is skipped, never re-metadatafied every turn.
111
111
  deep_hash TEXT,
112
+ -- SPEC §membership-change-gated-sync — the per-member sync stat-detect:
113
+ -- "<mtimeMs>:<size>" of the disk file at its last materialization. The pre-turn
114
+ -- sync stat()s every member but re-reads/re-tokenizes/rewrites only one whose
115
+ -- signature changed; an unchanged member is a no-op. NULL = never synced.
116
+ synced_sig TEXT,
112
117
  CHECK ((scope = 'agent' AND session_id IS NULL)
113
118
  OR (scope = 'session' AND session_id IS NOT NULL)),
114
119
  FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
@@ -185,18 +190,25 @@ CREATE INDEX IF NOT EXISTS symbol_refs_source ON symbol_refs (session_id, entry_
185
190
  -- hook alongside symbol_defs/refs: re-indexed only when body content changes.
186
191
  CREATE VIRTUAL TABLE IF NOT EXISTS entry_fts USING fts5(content);
187
192
 
188
- -- INIT: entry_embeddings (~semantic vector half — plurnk-service#186)
189
- -- One Float32 vector per entry (scalar-shaped), stored as a BLOB the cosine()
190
- -- SqlRite function reads. Supplied by the mimetypes `embedding` projection at the
191
- -- gated manifest-add hook (mimetypes#23); the fusion (semantic_rank) cosine-ranks
192
- -- the FTS-narrowed candidates over these. CASCADE-deleted with the entry.
193
+ -- INIT: entry_embeddings (~semantic vector half — plurnk-service#186; Project
194
+ -- Semantics chunking). One Float32 vector per CHUNK: an entry tiles into N chunks,
195
+ -- each addressed by its <L> line range (line_start..line_end) and embedded
196
+ -- separately, so a large body is fully searchable instead of truncated at the
197
+ -- embedder's window. line_start/line_end are stored for Project Findings to expose;
198
+ -- the rank currently max-pools an entry's chunks to its pathname. Supplied at the
199
+ -- gated manifest-add hook; the fusion (semantic_rank) FTS-narrows then cosine-ranks
200
+ -- these. CASCADE-deleted with the entry.
193
201
  CREATE TABLE IF NOT EXISTS entry_embeddings (
194
- entry_id INTEGER NOT NULL PRIMARY KEY,
202
+ entry_id INTEGER NOT NULL,
203
+ chunk_seq INTEGER NOT NULL,
204
+ line_start INTEGER NOT NULL,
205
+ line_end INTEGER NOT NULL,
195
206
  vector BLOB NOT NULL,
196
- -- The model id that produced this vector (mimetypes' `embeddingModel`, e.g.
197
- -- "Xenova/all-MiniLM-L6-v2@751bff37"). Stored per row as the staleness detector:
198
- -- a future model swap re-embeds rows whose model differs from the current one.
207
+ -- The model id that produced this vector (mimetypes' `embeddingModel`). Stored
208
+ -- per row as the dimension/staleness guard: rank filters by the current model so
209
+ -- a swap never cosine-compares mismatched dimensions.
199
210
  embedding_model TEXT NOT NULL,
211
+ PRIMARY KEY (entry_id, chunk_seq),
200
212
  FOREIGN KEY (entry_id) REFERENCES entries(id) ON DELETE CASCADE
201
213
  ) STRICT;
202
214
 
@@ -207,7 +219,7 @@ CREATE TABLE IF NOT EXISTS entry_embeddings (
207
219
  -- status⊥state: status is the HTTP outcome, state is where in the
208
220
  -- lifecycle the entry sits. Most rows write 'resolved' directly;
209
221
  -- proposing schemes transition 'proposed' → resolved/failed/cancelled.
210
- -- indexed: per-row visibility for OPEN/FOLD via the log:// scheme.
222
+ -- indexed: per-row visibility for OPEN/FOLD via the log:/// scheme.
211
223
  CREATE TABLE IF NOT EXISTS log_entries (
212
224
  id INTEGER NOT NULL PRIMARY KEY,
213
225
  version INTEGER NOT NULL DEFAULT 0 CHECK (version >= 0),
package/package.json CHANGED
@@ -1,114 +1,111 @@
1
1
  {
2
- "name": "@plurnk/plurnk-service",
3
- "version": "0.26.0",
4
- "description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-grammar contract.",
5
- "type": "module",
6
- "license": "MIT",
7
- "engines": {
8
- "node": ">=25"
9
- },
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.ts",
13
- "default": "./dist/index.js"
2
+ "name": "@plurnk/plurnk-service",
3
+ "version": "0.28.0",
4
+ "description": "Plurnk agent runtime — the server / engine / core. Implements the @plurnk/plurnk-grammar contract.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "engines": {
8
+ "node": ">=25"
14
9
  },
15
- "./package.json": "./package.json"
16
- },
17
- "bin": {
18
- "plurnk-service": "./bin/plurnk-service.ts"
19
- },
20
- "files": [
21
- "bin/plurnk-service.ts",
22
- "dist/**/*",
23
- "migrations/**/*.sql",
24
- "persona.md",
25
- "requirements.md",
26
- "README.md",
27
- "SPEC.md"
28
- ],
29
- "publishConfig": {
30
- "access": "public"
31
- },
32
- "scripts": {
33
- "start": "node bin/plurnk-service.ts",
34
- "test:lint": "tsc --noEmit",
35
- "test:unit": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-timeout=30000 src/**/*.test.ts",
36
- "test:intg": "npm run test:clean-tmp && node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-timeout=30000 test/intg/*.test.ts",
37
- "test:live": "npm run test:clean-tmp && node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/live/*.test.ts",
38
- "test:demo": "npm run test:clean-tmp && node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/demo/*.test.ts",
39
- "test:all": "npm run test:lint && npm run test:unit && npm run test:intg && npm run test:demo",
40
- "test:digest": "node bin/digest.ts",
41
- "test:clean-tmp": "rm -rf test/intg/.tmp",
42
- "dev:digest": "node bin/digest.ts",
43
- "build:dist": "tsc -p tsconfig.build.json",
44
- "build": "npm run build:dist",
45
- "prepare": "npm run build"
46
- },
47
- "dependencies": {
48
- "@plurnk/plurnk-execs": "0.4.3",
49
- "@plurnk/plurnk-execs-common": "0.2.1",
50
- "@plurnk/plurnk-execs-git": "0.1.1",
51
- "@plurnk/plurnk-execs-search": "0.2.3",
52
- "@plurnk/plurnk-execs-sqlite": "0.1.4",
53
- "@plurnk/plurnk-execs-wasm": "0.1.2",
54
- "@plurnk/plurnk-grammar": "0.36.0",
55
- "@plurnk/plurnk-mimetypes": "0.15.9",
56
- "@plurnk/plurnk-mimetypes-embeddings": "0.1.0",
57
- "@plurnk/plurnk-providers": "0.2.4",
58
- "@plurnk/plurnk-schemes": "0.6.0",
59
- "@plurnk/plurnk-schemes-http": "0.1.0",
60
- "@possumtech/sqlrite": "5.1.1",
61
- "diff": "^9.0.0",
62
- "ws": "^8.20.1"
63
- },
64
- "devDependencies": {
65
- "@plurnk/plurnk-mimetypes-application-pdf": "0.6.2",
66
- "@plurnk/plurnk-mimetypes-text-clojure": "0.2.2",
67
- "@plurnk/plurnk-mimetypes-text-cmake": "0.2.2",
68
- "@plurnk/plurnk-mimetypes-text-common-lisp": "0.2.2",
69
- "@plurnk/plurnk-mimetypes-text-csharp": "0.2.3",
70
- "@plurnk/plurnk-mimetypes-text-datalog": "0.3.2",
71
- "@plurnk/plurnk-mimetypes-text-erlang": "0.2.2",
72
- "@plurnk/plurnk-mimetypes-text-graphql": "0.2.2",
73
- "@plurnk/plurnk-mimetypes-text-mariadb": "0.3.3",
74
- "@plurnk/plurnk-mimetypes-text-plsql": "0.2.3",
75
- "@plurnk/plurnk-mimetypes-text-postgresql": "0.3.3",
76
- "@plurnk/plurnk-mimetypes-text-prolog": "0.2.2",
77
- "@plurnk/plurnk-mimetypes-text-protobuf": "0.3.2",
78
- "@plurnk/plurnk-mimetypes-text-redis": "0.3.2",
79
- "@plurnk/plurnk-mimetypes-text-sparql": "0.2.2",
80
- "@plurnk/plurnk-mimetypes-text-sqlite": "0.3.3",
81
- "@plurnk/plurnk-mimetypes-text-swift": "0.1.2",
82
- "@plurnk/plurnk-mimetypes-text-terraform": "1.0.3",
83
- "@plurnk/plurnk-mimetypes-text-tsql": "0.2.3",
84
- "@tree-sitter-grammars/tree-sitter-kotlin": "^1.1.0",
85
- "@tree-sitter-grammars/tree-sitter-lua": "^0.4.1",
86
- "@tree-sitter-grammars/tree-sitter-toml": "^0.7.0",
87
- "@tree-sitter-grammars/tree-sitter-yaml": "^0.7.1",
88
- "@tree-sitter-grammars/tree-sitter-zig": "^1.1.2",
89
- "@types/diff": "^7.0.2",
90
- "@types/node": "^25.8.0",
91
- "@types/ws": "^8.18.1",
92
- "tree-sitter-bash": "^0.25.1",
93
- "tree-sitter-c": "^0.24.1",
94
- "tree-sitter-cpp": "^0.23.4",
95
- "tree-sitter-dart": "^1.0.0",
96
- "tree-sitter-elixir": "^0.3.5",
97
- "tree-sitter-fsharp": "^0.1.0",
98
- "tree-sitter-go": "^0.25.0",
99
- "tree-sitter-haskell": "^0.23.1",
100
- "tree-sitter-java": "^0.23.5",
101
- "tree-sitter-javascript": "^0.25.0",
102
- "tree-sitter-julia": "^0.23.1",
103
- "tree-sitter-make": "^1.1.1",
104
- "tree-sitter-ocaml": "^0.24.2",
105
- "tree-sitter-odin": "^1.3.0",
106
- "tree-sitter-php": "^0.24.2",
107
- "tree-sitter-python": "^0.25.0",
108
- "tree-sitter-ruby": "^0.23.1",
109
- "tree-sitter-rust": "^0.24.0",
110
- "tree-sitter-scala": "^0.24.0",
111
- "tree-sitter-typescript": "^0.23.2",
112
- "typescript": "^6.0.3"
113
- }
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "./package.json": "./package.json"
16
+ },
17
+ "bin": {
18
+ "plurnk-service": "./bin/plurnk-service.ts"
19
+ },
20
+ "files": [
21
+ "bin/plurnk-service.ts",
22
+ "dist/**/*",
23
+ "migrations/**/*.sql",
24
+ "persona.md",
25
+ "requirements.md",
26
+ "README.md",
27
+ "SPEC.md"
28
+ ],
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "scripts": {
33
+ "start": "node bin/plurnk-service.ts",
34
+ "test:lint": "tsc --noEmit",
35
+ "test:unit": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-timeout=30000 src/**/*.test.ts",
36
+ "test:intg": "npm run test:clean-tmp && node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-timeout=30000 test/intg/*.test.ts",
37
+ "test:live": "npm run test:clean-tmp && node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/live/*.test.ts",
38
+ "test:demo": "npm run test:clean-tmp && node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.test --test --test-concurrency=1 test/demo/*.test.ts",
39
+ "test:all": "npm run test:lint && npm run test:unit && npm run test:intg && npm run test:demo",
40
+ "test:digest": "node bin/digest.ts",
41
+ "test:clean-tmp": "rm -rf test/intg/.tmp",
42
+ "dev:digest": "node bin/digest.ts",
43
+ "build:dist": "tsc -p tsconfig.build.json",
44
+ "build": "npm run build:dist",
45
+ "prepare": "npm run build"
46
+ },
47
+ "dependencies": {
48
+ "@plurnk/plurnk-execs": "0.4.6",
49
+ "@plurnk/plurnk-execs-all": "0.1.5",
50
+ "@plurnk/plurnk-grammar": "0.44.0",
51
+ "@plurnk/plurnk-mimetypes": "0.15.15",
52
+ "@plurnk/plurnk-mimetypes-embeddings": "0.2.0",
53
+ "@plurnk/plurnk-providers": "0.3.0",
54
+ "@plurnk/plurnk-providers-all": "0.1.0",
55
+ "@plurnk/plurnk-schemes": "0.7.0",
56
+ "@plurnk/plurnk-schemes-http": "0.2.0",
57
+ "@possumtech/sqlrite": "5.1.1",
58
+ "diff": "^9.0.0",
59
+ "ws": "^8.20.1"
60
+ },
61
+ "devDependencies": {
62
+ "@plurnk/plurnk-mimetypes-application-pdf": "0.6.2",
63
+ "@plurnk/plurnk-mimetypes-text-clojure": "0.2.2",
64
+ "@plurnk/plurnk-mimetypes-text-cmake": "0.2.2",
65
+ "@plurnk/plurnk-mimetypes-text-common-lisp": "0.2.2",
66
+ "@plurnk/plurnk-mimetypes-text-csharp": "0.2.3",
67
+ "@plurnk/plurnk-mimetypes-text-datalog": "0.3.2",
68
+ "@plurnk/plurnk-mimetypes-text-erlang": "0.2.2",
69
+ "@plurnk/plurnk-mimetypes-text-graphql": "0.2.2",
70
+ "@plurnk/plurnk-mimetypes-text-mariadb": "0.3.3",
71
+ "@plurnk/plurnk-mimetypes-text-plsql": "0.2.3",
72
+ "@plurnk/plurnk-mimetypes-text-postgresql": "0.3.3",
73
+ "@plurnk/plurnk-mimetypes-text-prolog": "0.2.2",
74
+ "@plurnk/plurnk-mimetypes-text-protobuf": "0.3.2",
75
+ "@plurnk/plurnk-mimetypes-text-redis": "0.3.2",
76
+ "@plurnk/plurnk-mimetypes-text-sparql": "0.2.2",
77
+ "@plurnk/plurnk-mimetypes-text-sqlite": "0.3.3",
78
+ "@plurnk/plurnk-mimetypes-text-swift": "0.1.2",
79
+ "@plurnk/plurnk-mimetypes-text-terraform": "1.0.4",
80
+ "@plurnk/plurnk-mimetypes-text-tsql": "0.2.3",
81
+ "@tree-sitter-grammars/tree-sitter-kotlin": "^1.1.0",
82
+ "@tree-sitter-grammars/tree-sitter-lua": "^0.4.1",
83
+ "@tree-sitter-grammars/tree-sitter-toml": "^0.7.0",
84
+ "@tree-sitter-grammars/tree-sitter-yaml": "^0.7.1",
85
+ "@tree-sitter-grammars/tree-sitter-zig": "^1.1.2",
86
+ "@types/diff": "^7.0.2",
87
+ "@types/node": "^25.8.0",
88
+ "@types/ws": "^8.18.1",
89
+ "tree-sitter-bash": "^0.25.1",
90
+ "tree-sitter-c": "^0.24.1",
91
+ "tree-sitter-cpp": "^0.23.4",
92
+ "tree-sitter-dart": "^1.0.0",
93
+ "tree-sitter-elixir": "^0.3.5",
94
+ "tree-sitter-fsharp": "^0.1.0",
95
+ "tree-sitter-go": "^0.25.0",
96
+ "tree-sitter-haskell": "^0.23.1",
97
+ "tree-sitter-java": "^0.23.5",
98
+ "tree-sitter-javascript": "^0.25.0",
99
+ "tree-sitter-julia": "^0.23.1",
100
+ "tree-sitter-make": "^1.1.1",
101
+ "tree-sitter-ocaml": "^0.24.2",
102
+ "tree-sitter-odin": "^1.3.0",
103
+ "tree-sitter-php": "^0.24.2",
104
+ "tree-sitter-python": "^0.25.0",
105
+ "tree-sitter-ruby": "^0.23.1",
106
+ "tree-sitter-rust": "^0.24.0",
107
+ "tree-sitter-scala": "^0.24.0",
108
+ "tree-sitter-typescript": "^0.23.2",
109
+ "typescript": "^6.0.3"
110
+ }
114
111
  }
package/requirements.md CHANGED
@@ -1,10 +1,9 @@
1
1
  Syntax: <<OPsuffix[signal]?(target)?<Line/Result>?:body?:OPsuffix
2
2
 
3
- YOU MUST NOT use shell commands for actions that can be performed with Extended HEREDOC Plurnk Operations.
3
+ YOU MUST NOT use EXEC commands for actions that can be performed with Extended HEREDOC Plurnk Operations.
4
4
  YOU MUST ONLY communicate with SEND, not with free text between operations.
5
5
  YOU MUST document all relevant questions and uncertainties into taxonomized, tagged, and topical unknown entries.
6
6
  YOU MUST ONLY populate known entries with source entry information, never with model training.
7
- YOU SHOULD prefer deterministic calculations and retrievals over model training or speculation.
8
7
  YOU SHOULD manage your own context to maximize signal, as irrelevant tokens degrade reasoning.
9
8
  YOU SHOULD leverage folksonomic path names, tags, and bulk pattern operations to optimize for context relevance.
10
9
  YOU MUST use OPEN and FOLD to keep your context budget healthy, optimized, and topical, below the `tokensFree` limit.