@sellable/mcp 0.1.906 → 0.1.907-wip.refill-source-run-scope.202608261712

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.
@@ -515,6 +515,8 @@ type RefillV3ContinueProductionOwners = {
515
515
  getRefillV3WorldStateTool: typeof getRefillV3WorldStateTool;
516
516
  readSourceCycle?: (input: {
517
517
  workspaceId: string;
518
+ runToken: string;
519
+ scopeFingerprint: string;
518
520
  campaignId: string;
519
521
  senderId: string;
520
522
  date: string;
@@ -526,10 +528,7 @@ type RefillV3ContinueProductionOwners = {
526
528
  }>;
527
529
  recordSourceCycle?: (input: {
528
530
  workspaceId: string;
529
- /**
530
- * V32-CONT-001: a RECORD is a durable ledger write, so it carries the run
531
- * fact every other receipt writer does. Reads stay tokenless.
532
- */
531
+ /** Both reads and writes are scoped to this exact refill run. */
533
532
  runToken: string;
534
533
  scopeFingerprint: string;
535
534
  campaignId: string;
@@ -735,18 +735,17 @@ export async function runRefillV3CampaignWorkWithProductionOwners(input, owners
735
735
  family: input.packet.evidence.leadSourceFamily,
736
736
  protectedFitDigest,
737
737
  };
738
- // V32-CONT-001 · the run fact travels with WRITES only.
739
- //
740
- // Deliberately not folded into `sourceCycleScope`: that object is also
741
- // handed to `readSourceCycle`, and a read is not a durable write. It
742
- // needs no run, and requiring one there would make an observation fail
743
- // for want of authority it never uses.
738
+ // The run fact scopes both sides of reconciliation: writes are stamped
739
+ // with it and reads recover only this run's bounded discovery cycle.
744
740
  const sourceCycleRunFact = {
745
741
  runToken: input.runToken,
746
742
  scopeFingerprint: input.scopeFingerprint,
747
743
  };
748
744
  const storedCycle = owners.readSourceCycle
749
- ? await owners.readSourceCycle(sourceCycleScope)
745
+ ? await owners.readSourceCycle({
746
+ ...sourceCycleScope,
747
+ ...sourceCycleRunFact,
748
+ })
750
749
  : { records: [] };
751
750
  // The attention packet's sourceLineage is server-loaded from the
752
751
  // bounded inventory owner. These inventory identities prove that
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/mcp",
3
- "version": "0.1.906",
3
+ "version": "0.1.907-wip.refill-source-run-scope.202608261712",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code, Codex, and Hermes campaign workflows",
6
6
  "main": "dist/index.js",