Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
9771509
feat(scheduler): implement pull-based scheduler phases 1 & 2
seefeldb Dec 12, 2025
1f8e3f4
refactor(scheduler): simplify pull-based scheduling execution model
seefeldb Dec 12, 2025
72917ff
refactor(scheduler): remove legacy boolean signature from subscribe()
seefeldb Dec 12, 2025
9cb9c68
remove "phase 1" "phase 2" comments
seefeldb Dec 12, 2025
7b7f504
lint, fmt
seefeldb Dec 12, 2025
e541277
docs(scheduler): update implementation plan for Phase 2 refactoring
seefeldb Dec 12, 2025
dfab5b9
feat(scheduler): implement Phase 3 cycle-aware convergence
seefeldb Dec 12, 2025
b8cd338
feat(scheduler): implement Phase 4 debounce and throttle
seefeldb Dec 12, 2025
d2257cd
docs(scheduler): add Phase 5 push-triggered filtering plan
seefeldb Dec 12, 2025
74eaaf9
feat(scheduler): implement Phase 5 push-triggered filtering
seefeldb Dec 12, 2025
a3fa7ae
Update docs/specs/pull-based-scheduler/scheduler-implementation-plan.md
seefeldb Dec 12, 2025
12f0555
fix(scheduler): fix fast cycle convergence and add missing test asser…
seefeldb Dec 12, 2025
d7875dd
fmt
seefeldb Dec 12, 2025
7c9d4b3
feat(cell): add pull() method for demand-driven value retrieval
seefeldb Dec 12, 2025
75faec0
lint
seefeldb Dec 12, 2025
29b9b3a
feat(scheduler): enable pull mode by default and fix tests
seefeldb Dec 12, 2025
f35c432
Fix pull scheduler dirty propagation and dependents
seefeldb Dec 12, 2025
a2547a4
feat(scheduler): disable pull mode by default and migrate tests to us…
seefeldb Dec 12, 2025
c06e865
lint
seefeldb Dec 13, 2025
a6f6cee
remove debugging output
seefeldb Dec 13, 2025
d8d191a
change fetch test to pull result to trigger action
seefeldb Dec 13, 2025
e653baa
fix(scheduler): improve pull mode cycle detection and error recovery
seefeldb Dec 13, 2025
5c96ab7
feat(runner): pull handler-returned recipes and add persistent effect…
seefeldb Dec 13, 2025
5a28ce0
feat(runner): track potential writes in ReactivityLog for diffAndUpdate
seefeldb Dec 15, 2025
26f4197
update mightWrite with potential writes as well
seefeldb Dec 15, 2025
b7721fe
docs(scheduler): add Phase 5b for parent-child action ordering
seefeldb Dec 15, 2025
7e9aad3
feat(scheduler): implement Phase 5b parent-child action ordering
seefeldb Dec 15, 2025
1120e91
feat(scheduler): enable pull mode by default and fix handler-returned…
seefeldb Dec 15, 2025
cfb0fad
fix(tests): add sinks to keep charms reactive in pull mode
seefeldb Dec 15, 2025
487ef74
fix(tests): use pull() in pattern harness for pull mode compatibility
seefeldb Dec 15, 2025
4f6d31a
fix(scheduler): use mightWrite for dependency chain and topological sort
seefeldb Dec 15, 2025
a344414
fmt
seefeldb Dec 15, 2025
68e0706
feat(builtins): add isEffect option to raw() for effect built-ins
seefeldb Dec 15, 2025
4074ab2
feat(llm-dialog): mark as effect and pull dependencies in startRequest
seefeldb Dec 15, 2025
ccdd430
feat(llm-dialog): mark as effect for pull mode support
seefeldb Dec 15, 2025
7a2bea1
refactor(llm-dialog): decouple startRequest from handler transaction
seefeldb Dec 15, 2025
5e93ec9
docs(specs): add userland handler pull design for pull-based scheduler
seefeldb Dec 15, 2025
606a70b
feat(scheduler): pull handler dependencies before running in pull mode
seefeldb Dec 15, 2025
a60b9f4
fmt
seefeldb Dec 15, 2025
bbe379a
test(scheduler): add tests for handler dependency pulling
seefeldb Dec 15, 2025
b80843e
test(scheduler): add test for handler A triggering lift read by handl…
seefeldb Dec 16, 2025
c1dea32
fix(scheduler): check mightWrite to find actions that write to depend…
seefeldb Dec 16, 2025
292c335
feat(scheduler): pass event to populateDependencies callback
seefeldb Dec 16, 2025
9dfb4df
fix(runner): include event in populateDependencies for handler depend…
seefeldb Dec 16, 2025
9311d36
refactor(scheduler): rename scheduleImmediately to rescheduling with …
seefeldb Dec 16, 2025
2841ab2
feat(scheduler): implement pull-based scheduling for lazy computations
seefeldb Dec 16, 2025
eecb844
fix(scheduler): properly handle pull-based scheduling with event depe…
seefeldb Dec 16, 2025
38a1d61
feat(scheduler): complete pull-based scheduling with dynamic dependen…
seefeldb Dec 18, 2025
40e642c
refactor(scheduler): remove redundant pushTriggered filtering
seefeldb Dec 18, 2025
cb9c355
feat(scheduler): track throttled actions in filterStats
seefeldb Dec 18, 2025
afc19af
refactor(scheduler): remove redundant .writes fallbacks
seefeldb Dec 18, 2025
0b6a25f
docs(scheduler): clarify mightWrite vs dependencies.writes distinction
seefeldb Dec 18, 2025
89d3a1b
feat(module): attach source location to function implementations
seefeldb Dec 18, 2025
91668f0
refactor(scheduler): replace Tarjan's cycle detection with settle loop
seefeldb Dec 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Run ALL pending actions in order

1. **Immediate scheduling**: When registering actions (scheduler.ts:1187):
```typescript
this.runtime.scheduler.subscribe(wrappedAction, { reads, writes }, true);
this.runtime.scheduler.subscribe(wrappedAction, { reads, writes }, { scheduleImmediately: true });
// ^^^^
// scheduleImmediately = true → action runs even if nothing observes output
```
Expand Down
Loading
Loading