@githolon/dsl 0.112.12 → 0.113.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.
Binary file
package/dart/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ ## 0.67.0
2
+
3
+ - A write sent over the live link has its receipt converge on the custodian's admission: the live desk reports the
4
+ admitted intent ids of its own batch, so `receipt.converged` resolves (CAP-656).
5
+ - Warm restarts do less work: background command and closure warms yield to an application's open, the kernel's
6
+ boot laws stay out of durable custody, and the controller law is verified from cache by content address.
7
+ - A connected workspace confirms local writes from the custodian's sealed admission returned over its live link
8
+ (CAP-656). It no longer probes the frontier or re-offers the same writes over HTTP; that round runs only when the
9
+ link is closed or the admission does not arrive within 10 seconds.
10
+
1
11
  ## 0.66.14
2
12
 
3
13
  - Retain the completed browser runtime: durable custody receipts, independent WebSocket follows, correct admission of HTTP-relayed sealed offers, and no upstream reconciliation triggered by received work.
@@ -65,6 +65,13 @@ final class ApplicationStatus {
65
65
  final int retryingWorkspaces;
66
66
  final String? preparationActivity;
67
67
 
68
+ /// Live stream progress summed across followed workspaces: local changes not yet sent to
69
+ /// their custodian, and changes sent whose acceptance has not yet come back. Zero when idle.
70
+ int get unsentChanges =>
71
+ workspaceFollows.fold(0, (total, follow) => total + (follow.unsent ?? 0));
72
+ int get unacknowledgedChanges => workspaceFollows.fold(
73
+ 0, (total, follow) => total + (follow.unacknowledged ?? 0));
74
+
68
75
  bool get isUsable => phase != ApplicationStatusPhase.attention;
69
76
  bool get isCurrent =>
70
77
  phase == ApplicationStatusPhase.current &&
@@ -162,6 +162,8 @@ final class ReceptionEventDesk {
162
162
  }
163
163
 
164
164
  void markReady() {
165
+ // ignore: avoid_print
166
+ if (!_ready.isCompleted) print('[nomos-host] event plane ready');
165
167
  if (!_ready.isCompleted) _ready.complete();
166
168
  }
167
169
 
@@ -76,9 +76,16 @@ final class WorkspacePreparationReport {
76
76
  WorkspacePreparationStep.complete,
77
77
  _ => WorkspacePreparationStep.preparingWorkspace,
78
78
  };
79
+ // Packing Git custody after writes, or upkeep merely scheduled because this peer's own
80
+ // writes were admitted, never holds a read or a write: the workspace is ready meanwhile.
81
+ final upkeep = step == WorkspacePreparationStep.preparingCustody ||
82
+ (kernel == null &&
83
+ progress.cause ==
84
+ protocol.ReadMaintenanceCause.READ_MAINTENANCE_CAUSE_ADMITTED_OFFER);
79
85
  return WorkspacePreparationReport(
80
86
  step: step,
81
87
  active: retry == null &&
88
+ !upkeep &&
82
89
  !progress.stopped &&
83
90
  !progress.satisfiedByRead &&
84
91
  (kernel == null || kernel.maintenancePending),