chore(integration): snapshot local main worktree

This commit is contained in:
inman
2026-08-31 10:23:21 +08:00
parent 48a9189939
commit 33fb31fb28
116 changed files with 8108 additions and 3026 deletions

View File

@@ -148,6 +148,38 @@ class FakeWorker implements PiConversationWorker {
}
describe('Pi worker pool', () => {
it('does not charge logical threads as OS processes in shared-server mode', async () => {
const processBudget = new PiProcessBudget(1);
const workers: FakeWorker[] = [];
const pool = new PiWorkerPool({
processMode: 'shared',
processBudget,
maxIdle: 4,
openWorker: async ({ conversation: input }) => {
const worker = new FakeWorker(`thread-${input.conversationId}`);
workers.push(worker);
return {
worker,
session: {
piSessionId: `session-${input.conversationId}`,
sessionKey: `key-${input.conversationId}`,
},
};
},
});
await Promise.all([
pool.prepare(conversation('conversation-a')),
pool.prepare(conversation('conversation-b')),
pool.prepare(conversation('conversation-c')),
]);
expect(processBudget.activeCount).toBe(0);
expect(workers).toHaveLength(3);
await pool.shutdown();
expect(workers.every((worker) => worker.stopped)).toBe(true);
});
it('retains top-level ownership after a mutation confirmation timeout', async () => {
const workers = new Map<string, FakeWorker>();
const pool = new PiWorkerPool({