@sellable/mcp 0.1.853 → 0.1.854

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.
@@ -57,13 +57,13 @@ export declare function refillV3CampaignWorkActionKey(params: {
57
57
  /**
58
58
  * A preparation launch must be recorded before its asynchronous work settles
59
59
  * so the selected lane remains owned. That pre-settlement receipt deliberately
60
- * makes no progress claim. When the authoritative post-settlement campaign
61
- * count increases, persist a SECOND run-scoped receipt under this derived key.
60
+ * makes no progress claim. When authoritative post-settlement campaign counts
61
+ * are available, persist a SECOND run-scoped receipt under this derived key;
62
+ * equal counts are an explicit settled/no-progress marker.
62
63
  *
63
64
  * Keeping the attestation additive matters: replaying the earlier ownership
64
- * write can never downgrade a real progress receipt back to no-progress, while
65
- * the original same-evidence receipt still suppresses an identical authority
66
- * replay.
65
+ * write can never downgrade or erase the settlement marker, while the original
66
+ * same-evidence receipt still suppresses an identical authority replay.
67
67
  */
68
68
  export declare function refillV3CampaignWorkSettlementProgressActionKey(params: {
69
69
  action: RefillV3CampaignWorkReceiptAction;
@@ -65,13 +65,13 @@ export function refillV3CampaignWorkActionKey(params) {
65
65
  /**
66
66
  * A preparation launch must be recorded before its asynchronous work settles
67
67
  * so the selected lane remains owned. That pre-settlement receipt deliberately
68
- * makes no progress claim. When the authoritative post-settlement campaign
69
- * count increases, persist a SECOND run-scoped receipt under this derived key.
68
+ * makes no progress claim. When authoritative post-settlement campaign counts
69
+ * are available, persist a SECOND run-scoped receipt under this derived key;
70
+ * equal counts are an explicit settled/no-progress marker.
70
71
  *
71
72
  * Keeping the attestation additive matters: replaying the earlier ownership
72
- * write can never downgrade a real progress receipt back to no-progress, while
73
- * the original same-evidence receipt still suppresses an identical authority
74
- * replay.
73
+ * write can never downgrade or erase the settlement marker, while the original
74
+ * same-evidence receipt still suppresses an identical authority replay.
75
75
  */
76
76
  export function refillV3CampaignWorkSettlementProgressActionKey(params) {
77
77
  return `${refillV3CampaignWorkActionKey(params)}:settlement-progress`;
@@ -432,8 +432,10 @@ export type RefillV3ContinueDependencies = {
432
432
  effectFingerprint: string;
433
433
  /**
434
434
  * Authoritative counts read around this exact authority's settlement.
435
- * Presence means the route writes an additive product-progress attestation;
436
- * absence means the original pre-settlement ownership/no-repeat receipt.
435
+ * Presence writes an additive settlement receipt: an increase remains
436
+ * useful campaign reporting, while an unchanged count proves the bounded
437
+ * cohort settled without campaign-message progress. Exact-lane usefulness
438
+ * is decided only by the next fresh world-state observation.
437
439
  */
438
440
  settlementProgress?: {
439
441
  generatedMessagesBefore: number;
@@ -1405,16 +1405,16 @@ async function executeRefillV3Continuation(input, dependencies) {
1405
1405
  const messageCountDelta = messageCountBefore === null || messageCountAfter === null
1406
1406
  ? null
1407
1407
  : messageCountAfter - messageCountBefore;
1408
- // V32-GALLEY-SETTLEMENT-PROGRESS-001: the receipt above MUST land before
1408
+ // V32-GALLEY-SETTLEMENT-PROGRESS-001 / LANE-PROGRESS-002: the receipt above MUST land before
1409
1409
  // settlement to retain lane ownership, so it cannot yet claim that an async
1410
1410
  // cohort produced anything. Once the same continuation has waited to idle
1411
- // and authoritative campaign counts prove an increase, write a separate
1412
- // progress attestation. The run-level futile-cycle bound resets from this
1413
- // receipt instead of falsely exhausting a campaign after three later
1414
- // placement refusals despite +3/+1/+1 newly generated messages.
1411
+ // and authoritative campaign counts are available, write a separate
1412
+ // settlement attestation. Campaign-wide message growth is reported here but
1413
+ // cannot by itself reset an exact sender/date/lane bound; the next advance's
1414
+ // fresh lane census decides whether the cohort produced placeable work.
1415
1415
  if (messageCountBefore !== null &&
1416
1416
  messageCountAfter !== null &&
1417
- messageCountAfter > messageCountBefore &&
1417
+ messageCountAfter >= messageCountBefore &&
1418
1418
  campaignWorkReceiptInput &&
1419
1419
  dependencies.persistCampaignWorkReceipt) {
1420
1420
  const progressReceiptInput = campaignWorkReceiptInput;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/mcp",
3
- "version": "0.1.853",
3
+ "version": "0.1.854",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code, Codex, and Hermes campaign workflows",
6
6
  "main": "dist/index.js",