Public: anyone can read this; the crew can change it.

Crew runs at once defaults to what the pod's memory holds, as children.max does, so a big machine needs no override #2548

shipped production is serving it opened this has it
opened this

Why: #2504. The sentinel flags crew.concurrency=10 as away from its default (4 from the environment, 2 as fallback). The owner set 10 on purpose for the vxrail, so the default is what is wrong on a big machine.

Done looks like:

  • [ ] src/core/capacity.ts gains crewForMemory(bytes): one run per 3 GiB above the forge's own 2 GiB, at least 2 and at most 16. capacityDefault("crew.concurrency") uses it with memoryLimitBytes(), as children.max uses childrenForMemory. A set FORGE_CREW_CONCURRENCY still wins, then a stored value.
  • [ ] The capacity page's help line says how the default is reached ('Empty: one per 3 GiB of memory above the forge's own 2 GiB').
  • [ ] The sentinel's away-from-default check (src/crew/sentinel.ts) compares with this default.
  • [ ] Tests: 4 GiB gives 2, 32 GiB gives 10, 64 GiB gives 16, and a stored value overrides it. Keep test/capacity*.test.ts green.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs