Repository navigation
fork fleet: desk pool docs, a neutral example, the fork's pc pool on the desk link (D12) - #238
scuttletoby wants to merge 4 commits into
Conversation
0f9ca11 to
bb65599
Compare
e7c3fe6 to
f6b1bf0
Compare
bb65599 to
fbf95e3
Compare
f6b1bf0 to
821a225
Compare
…n the desk link (D12) The fork's own `pc` pool now launches through the desk link (fork-fleet-desk.py launch pc) instead of the never-made launch-pc wrapper. The runbook gets a made-up desk pool entry any project can copy, and the desk kit's README a five-step path from nothing to a working pool. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fbf95e3 to
ec41bd8
Compare
821a225 to
6a2c09b
Compare
|
Review round 1 at 6a2c09b (lens238): SAFE WITH NITS. Merging the
Checked fine: the example entry is neutral; |
Host step 3 installs the key tool and the README's step 2 names it; the example entry sits after the key line's paragraph; a host with an old pc dispatcher stops it and lets its runners finish first; the desk-key test drops the release's pc pool by name; the refresh test lists the desk link's files, not launch-pc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Fix round 1 (commit 6678d64; D11b's round 1 merged in at 6bd6f2e and e7090ff; head e7090ff). Tests: desk-key 20 OK, refresh 43 OK (1 skipped), desk-seed 30 OK, desk 42 OK, desk-agent 31 OK, walls-wsl2 15 OK, install 28 OK, windows 11 OK (1 skipped, no pwsh), free_contract 13 OK, machine_file 17 OK.
The docs follow the fixed stack: per-pool seed path, the desktop's own limits, uninstall and drop-ins (merged from the lower branches). PR body updated. Still draft. |
|
Re-check lens 238 r1 at e7090ff: SAFE WITH NITS Earlier findings 1-5 FIXED: key tool installed in host step 3 ( The Nits:
def test_the_releases_pc_pool_is_a_desk_pool(self):
self.assertEqual(dk.desk_pools(dk.ff.load()), ['pc'])
Tests: desk-key 20, desk-seed 30, desk 42 OK; refresh |
Row D12 of the desktop pool plan, the last one: the docs that join D1 to D11 into one path from nothing to a working desk pool, a made-up example entry, and the fork's own
pcpool moved onto the desk link. Stacked on #237 (D11b).Why
The pieces are all there now (link, walls, agent, setup pack, Windows starter, free contract, seeds). What was missing:
pcpool using themUntil now, the
pcpool'slaunchpointed at a hand-made/opt/fork-fleet/launch-pcwrapper that runs commands over plain ssh. That wrapper was never part of the fork..github/fork-fleet.json: thepcpool'slaunchis nowpython3 -I /opt/fork-fleet/fork-fleet-desk.py launch pc, the same as any desk pool. Its_docsays so..github/fork-fleet.md:pcpool paragraph now says it is a desk pool, what turns it on (its dispatcher unit and the PC's desk key), and what happens while the PC sleeps (launchexits 3 at once, and its jobs go elsewhere).pcdispatcher on the wrapper first stops it and lets its runners finish (this config'scleanup skips a pool that is down, so it would never stop them); then it may delete the wrapper.
fork-fleet-desk-key.pywith the other desk files.waits: falseandslotsmean for a desktop.fork-kit/desk/README.md: "From nothing to a working pool" in five steps (project config, host once: host step 3then the desk link, desktop install, add the key, check).
What happens when this runs again, stops half-way, or meets existing, old or empty state?
routenever counts it and no job waits for it.pcruns with the new config, it calls the desk link instead of the oldlaunch-pcwrapper. The wrapper is then unused; the docs say to stop the oldpcdispatcher and let its runners finish first, then delete it. Until the PC's desk agent is installed and its key added,launchexits 3 and jobs go to other pools, the same as when the PC is off.pcpool with no dispatcher stays off, as before.General vs project
desktopandfleet-desktop-example) and the paragraph onwaits/slots.pcpool entry in.github/fork-fleet.json, which is this repository's own fleet config. No personal names, addresses or machine ids are in it.Upstream fit
Only fork-only files (
.github/fork-fleet.*,fork-kit/desk/README.md) change. Nothing in upstream T3 changes.It also lists the stack in
FORK_CHANGES.md(new on main since #223):deskin the host kits row with #225, and#229, #230, #236, #237 and #238 in the fleet runners row.
Tests
No new test file. The changed config is checked by the existing tests:
.github/scripts/fork-fleet.test.pyloads.github/fork-fleet.json, andcheck_configfinds no problems.fork-fleet-desk-seed.test.pyandfork-fleet-desk-key.test.pyread the pool list from it.Local run (the whole stack merged in):
.github/scripts/fork-fleet-desk-key.test.py: 20 OK.github/scripts/fork-fleet-refresh.test.py: 43 OK (1 skipped).github/scripts/fork-fleet-desk-seed.test.py: 30 OK.github/scripts/fork-fleet-desk.test.py: 42 OK.github/scripts/fork-fleet-desk-agent.test.py: 31 OK.github/scripts/fork-fleet-walls-wsl2.test.py: 15 OKfork-kit/desk/tests/install.test.py: 28 OKfork-kit/desk/tests/windows.test.py: 11 OK (1 skipped: no pwsh here)fork-kit/common/tests/free_contract.test.py: 13 OKfork-kit/common/tests/machine_file.test.py: 17 OKRound 1: the desk-key test drops the release's own desk pool by name (
pc), not with the function under test, andasserts
vmstays;fork-fleet-refresh.test.py's list of root-run files names the desk link's files instead oflaunch-pc.Red-checks
None: config and docs only, with no new rule to break.
🤖 Generated with Claude Code