mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-18 12:52:20 +02:00
Merge frozen lab b1666951 (Wave 3) into Wave 4 effects provenance
Integrates the merged and frozen Wave 3 lab commit b1666951faf8285054e1ca90f11533b0fb53fb57 with a normal merge, preserving every Wave 4 commit unchanged. Conflict: src/agent_runtime/resources.py. Wave 3's _control_plane_snapshot() / _control_plane_path(path, *, snapshot=None) split is kept. The snapshot adds the effect-store directories to its prefix set after the recursive job-dir inventory and no longer references path (the auto-merged prefix check would have raised NameError there). _control_plane_path calls _aliases_effect_store after its os.stat, only for multiply linked files, so single-link files never list the store. Semantic reconciliation (no textual conflict): bg_monitor keeps launch settlement right after the first successful validate_job and before the authority check, with Wave 3's post-drain revalidation intact. The deleted-session branch, terminal before linkage validation, now settles a validated launch too: that job is later pruned and its publication retired, which would otherwise leave its effect RUNNING. Regression tests cover the snapshot form of the effect-store check and both deleted-session linkage outcomes.
This commit is contained in:
@@ -303,3 +303,25 @@ the rebase:
|
||||
refusals (no claim, no execution id).
|
||||
8. Rerun the four Wave 4 suites plus `test_runtime_resource_integration.py` and the
|
||||
`test_wave3_*` suites on the rebased tree.
|
||||
|
||||
## Integration with frozen lab `b1666951` (Wave 3 merged)
|
||||
|
||||
Merged (not rebased) so the Wave 4 commit SHAs are preserved. Resolution:
|
||||
|
||||
- `resources.py`: Wave 3's `_control_plane_snapshot()` / `_control_plane_path(path, *, snapshot=None)`
|
||||
architecture is kept. The snapshot computes `_effect_store_dirs()` and adds them to
|
||||
the returned prefix directories only after the recursive `job_dirs` inventory, and
|
||||
never references `path`. `_control_plane_path` checks inventoried identities after
|
||||
its `os.stat`, then calls `_aliases_effect_store` only for `st_nlink > 1`.
|
||||
- `bg_monitor.py`: settlement stays immediately after the first successful
|
||||
`validate_job`, before the authority comparison; Wave 3's post-drain revalidation is
|
||||
unchanged. The deleted-session branch (terminal before linkage validation) now also
|
||||
settles a validated launch, because that job is later pruned and its publication
|
||||
retired, which would otherwise leave its effect RUNNING.
|
||||
- Background publication is retired only by `bg_jobs._prune`, after a job is followed
|
||||
up or terminal-unfollowable, so every path that reaches retirement has already had
|
||||
its settlement attempt. A job with invalid linkage is never settled (no authority).
|
||||
- Scheduled builtin actions (e.g. `cookbook_serve`) run in the scheduler outside any
|
||||
agent journal and never reached `mark_dispatch`; Wave 3 only added their backend
|
||||
authority. Agent-dispatched local control (`download_model`, `serve_model`,
|
||||
`serve_preset`) is claimed by `dispatched()` before its handler mints a capability.
|
||||
|
||||
Reference in New Issue
Block a user