Commit Graph
485 Commits
Author SHA1 Message Date
abkslm bf95452566 Merge nucleic/humble-fern-egret-60xo into dev 2026-07-28 22:33:20 -07:00
abkslm d43df49313 Merge nucleic/humble-fern-egret-60xo into dev 2026-07-28 21:35:20 -07:00
abkslm f58e52fa64 Merge nucleic/humble-fern-egret-60xo into dev 2026-07-28 21:27:59 -07:00
abkslm f2c9a19897 Merge nucleic/humble-fern-egret-60xo into dev 2026-07-28 20:48:24 -07:00
abkslm 742e59c6be Merge nucleic/olive-jade-civet-rznt into dev 2026-07-28 20:41:28 -07:00
abkslm 9c3bbb49d2 Merge nucleic/humble-fern-egret-60xo into dev 2026-07-28 20:19:42 -07:00
abkslm 7b13e0ae54 Merge nucleic/olive-iris-yak-q2qm into dev 2026-07-28 19:24:22 -07:00
abkslmandClaude Fable 5 b925c29df8 Incrementalize the summary pass and bound per-tick cost of long subagent runs
Two O(N)-per-tick refolds remained on the MainActor after the 0.4s throttle
and structural toolGroupSignature landed:

1. AppStore.regenerateToolGroupSummaries (and its staleness guards +
   open-time history baseline) re-derived summarizable units by refolding
   the ENTIRE open transcript per invocation — 10-100ms+ on 30k-event
   sessions. The store now owns a dedicated IncrementalTranscriptProjection
   and derives units via summarizableUnits(events:), a second lazily-primed
   consumer of the projector's existing seam: every display-valid seal seam
   is units-valid (the units fold breaks tool runs at strictly more rows,
   and seams only ever land after hard separators common to both folds).
   Each consumer folds only when requested, so the view's instance never
   folds units and the store's never folds display items or lock lines.

2. IncrementalTranscriptProjection capped its watermark at an open subagent
   Task span's firstRef, so a long run refolded its whole (unbounded) scope
   on every display tick — O(scope²) across the run. Three additions bound
   the per-read cost to what actually changed:
   - TailCache: the unsealed tail's partition (topLevel/byParent/parentOf)
     is appended to per read instead of rebuilt.
   - ScopeChildProjection: each subagent scope seals its provably closed
     children (result-fenced tools, superseded messages) under the same
     seam rules, recursively for nested scopes; sealed cards' descendant
     scopes are cursor-snapshotted and a late event into a result-fenced
     scope triggers a scope-local self-healing refold.
   - WatermarkHint: when a full scan seals nothing, it records the pinning
     open entities; later reads validate only new events against the pins
     (sealed-id fence and seq monotonicity still checked per event), so a
     pinned seam costs O(new) instead of O(tail) per tick. The fast path
     never seals, so a missed trigger can only delay sealing, never corrupt
     output.

Exact-output preserved: the equivalence suite now also asserts
summarizableUnits(prefix) == TranscriptProjection.summarizableUnits(prefix)
for every prefix on both a shared and a units-only instance, plus new
scenarios (long open scope with sealing/full-scan hooks, fan-out straggler,
open grandchild recursion, late-event self-heal, late units priming, root
flip leaving units intact) and open-scope fuzz. 27/27 projection tests green.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-28 16:55:17 -07:00
abkslm 15b17204f2 Merge nucleic/olive-jade-civet-rznt into dev 2026-07-28 04:22:30 -07:00
abkslmandClaude Fable 5 1579ccba41 Nucleic: Windows Port — adopt BLAKESLEE MSIX publisher identity
Ports the pending edit from the dev checkout (ABKSLM.Nucleic → BLAKESLEE.Nucleic in the
§12 packaging details) so the merge into dev carries it.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-28 10:46:51 +00:00
abkslm 0532cc7a6b Nucleic: Windows Port 1 2026-07-28 03:40:43 -07:00
abkslm 5a5d94a2ca Merge nucleic/keen-maple-heron-yzg3 into dev 2026-07-28 03:29:41 -07:00
abkslm 3f538098f7 Merge nucleic/keen-maple-heron-yzg3 into dev 2026-07-28 02:09:46 -07:00
abkslm fc39af033d Merge nucleic/keen-maple-heron-yzg3 into dev 2026-07-28 01:26:18 -07:00
abkslm c99ce6c883 Merge nucleic/keen-maple-heron-yzg3 into dev 2026-07-27 23:46:19 -07:00
abkslm c0d19068d8 Merge nucleic/keen-maple-heron-yzg3 into dev 2026-07-27 23:09:20 -07:00
abkslm 5240f9a7ff Merge nucleic/olive-willow-newt-96nb into dev 2026-07-27 21:20:25 -07:00
abkslm 20c2c31cf3 Merge nucleic/frosty-ember-raven-da8d into dev 2026-07-27 20:43:17 -07:00
abkslm 7182673446 Merge nucleic/zesty-ancient-koala-i9if into dev 2026-07-27 18:31:14 -07:00
abkslm 2c1b830619 Merge nucleic/lucid-north-weasel-ofmy into dev 2026-07-27 17:58:16 -07:00
abkslm 148c66e0f7 Merge nucleic/zesty-opal-robin-p6sk into dev 2026-07-27 17:56:49 -07:00
abkslm 80b5858d53 Merge nucleic/dusky-feather-gecko-smqq into dev 2026-07-27 16:43:20 -07:00
abkslm 5128019d99 Merge nucleic/dusky-feather-gecko-smqq into dev 2026-07-27 15:52:47 -07:00
abkslm a839fd7d06 Merge nucleic/dusky-feather-gecko-smqq into dev 2026-07-27 03:41:49 -07:00
abkslm 816b8b5213 Merge nucleic/rustic-meadow-koala-wtwq into dev 2026-07-27 02:26:30 -07:00
abkslm 32ec319a6f Merge nucleic/bold-willow-marten-axeo into dev 2026-07-27 02:18:59 -07:00
abkslm c412fc9493 Merge nucleic/brisk-yarn-dingo-50se into dev 2026-07-26 21:33:53 -07:00
abkslm 1c0abd2bcb Merge nucleic/hazy-feather-koala-ws6s into dev 2026-07-26 21:27:23 -07:00
abkslm 1051e1c607 Merge nucleic/olive-iris-panda-dfdi into dev 2026-07-26 21:03:13 -07:00
abkslm a0b09825df Merge nucleic/brisk-yarn-dingo-50se into dev 2026-07-26 20:50:09 -07:00
abkslm 64a1acdba3 Merge nucleic/bold-grove-lynx-dpel into dev 2026-07-26 19:37:30 -07:00
abkslm d9788e441a Merge nucleic/tidy-glass-civet-jb5l into dev 2026-07-26 19:22:43 -07:00
abkslm 351a06cc77 Merge nucleic/tidy-jade-urchin-tt1j into dev 2026-07-26 19:17:39 -07:00
abkslm ff9adffdef Merge nucleic/amber-velvet-heron-bvre into dev 2026-07-26 18:59:40 -07:00
abkslm db3455b3e2 Merge nucleic/hazy-cedar-badger-mzt0 into dev 2026-07-26 18:42:41 -07:00
abkslm 190b97a4b5 Merge nucleic/clever-glass-gecko-szux into dev 2026-07-25 21:37:30 -07:00
abkslm ee9cc208f0 Nucleic: MDM Provisioning 5 2026-07-25 20:54:52 -07:00
abkslm c7ca0ecc04 Nucleic: MDM Provisioning 5 2026-07-25 20:38:25 -07:00
abkslm 420704c8ca Nucleic: MDM Provisioning 5 2026-07-25 20:27:43 -07:00
abkslm e0cedee249 Nucleic: MDM Provisioning 5 2026-07-25 20:10:17 -07:00
abkslm 6743348e24 Merge nucleic/humble-north-panda-xrtg into dev 2026-07-25 18:55:42 -07:00
abkslm 25dd7219c8 Merge nucleic/humble-north-panda-xrtg into dev 2026-07-25 16:35:14 -07:00
abkslm 32172ce4ba Nucleic: MDM Provisioning 3 2026-07-25 02:26:04 -07:00
abkslm c3130f77da Nucleic: MDM Provisioning 3 2026-07-24 23:24:53 -07:00
abkslm 6d4ed5ad9b Merge nucleic/ivory-slate-koala-w5ud into dev 2026-07-24 21:58:12 -07:00
abkslm 6b0cee8f02 Merge nucleic/ivory-slate-koala-w5ud into dev 2026-07-24 21:31:27 -07:00
abkslm 825f5af59b Merge nucleic/ivory-slate-koala-w5ud into dev 2026-07-24 21:19:46 -07:00
abkslm fc5b178905 Merge nucleic/ivory-slate-koala-w5ud into dev 2026-07-24 20:48:36 -07:00
abkslm 5099f8158c Merge nucleic/ivory-slate-koala-w5ud into dev 2026-07-24 20:13:25 -07:00
abkslm 4b3829ac92 Merge nucleic/ivory-slate-koala-w5ud into dev 2026-07-24 19:24:27 -07:00