|
|
6af8468730
|
feat: Page element maps with MRO inheritance and typed dispatch
|
2026-07-07 22:48:18 -06:00 |
|
|
|
9e825ffd80
|
test: assert field pacing wiring; simplify NullField
|
2026-07-07 22:45:46 -06:00 |
|
|
|
807b91e902
|
feat: typed field wrappers with pacing (port of legacy fields.py)
|
2026-07-07 22:37:33 -06:00 |
|
|
|
14281a0774
|
fix: attach() closes executor on failure; guard session adoption
|
2026-07-07 22:35:44 -06:00 |
|
|
|
3cec3f647b
|
feat: session reattach via ReattachingRemote (adopts saved session id)
|
2026-07-07 22:25:33 -06:00 |
|
|
|
65d31e8821
|
fix: ManagedService terminates unresponsive drivers; stop_service reaps children
|
2026-07-07 22:23:09 -06:00 |
|
|
|
f82b77ae62
|
feat: ManagedService spawns detached driver services that outlive python
|
2026-07-07 22:08:32 -06:00 |
|
|
|
e9d307e020
|
fix: service_alive returns False for non-HTTP responders
|
2026-07-07 22:05:03 -06:00 |
|
|
|
99cfe0337c
|
feat: options builder, /status liveness check, ExternalServer host
|
2026-07-07 21:54:48 -06:00 |
|
|
|
1909eb621e
|
fix: harden SessionStore — per-record timestamp handling, atomic writes, robust quarantine
|
2026-07-07 21:49:05 -06:00 |
|
|
|
8a81f16d7d
|
feat: JSON SessionStore with stale eviction (replaces pickle persistence)
|
2026-07-07 21:39:11 -06:00 |
|
|
|
f5e358393d
|
test: assert pacing actually varies; document NoPacing as policy base
|
2026-07-07 21:37:33 -06:00 |
|
|
|
25aaa5d4da
|
feat: pacing policies (HumanPacing default behavior, NoPacing for tests)
|
2026-07-07 21:30:09 -06:00 |
|
|
|
afa47186cc
|
build: replace setup.py with uv project, src layout
|
2026-07-07 21:23:55 -06:00 |
|