Add tiered LOTL mining onion and fleet recon so agents can fallback across execution tiers while operators see spread and vuln posture in Crucible. Includes triple-onion chain, spread cred graph, and full Go/TS/E2E test validation.
This commit is contained in:
@@ -24,8 +24,8 @@ const baseForm = (): BuildRequest =>
|
||||
}) as BuildRequest;
|
||||
|
||||
describe('forgeOperationModes', () => {
|
||||
it('exposes six colored aether-themed presets', () => {
|
||||
expect(OPERATION_MODES).toHaveLength(6);
|
||||
it('exposes colored aether-themed presets including LOTL Onion', () => {
|
||||
expect(OPERATION_MODES).toHaveLength(8);
|
||||
expect(OPERATION_MODES.map((m) => m.label)).toEqual([
|
||||
'Ghost Walk',
|
||||
'Open Flame',
|
||||
@@ -33,6 +33,8 @@ describe('forgeOperationModes', () => {
|
||||
'Hearth Whisper',
|
||||
'Wildfire',
|
||||
'Crucible Storm',
|
||||
'AV-Safe',
|
||||
'LOTL Onion',
|
||||
]);
|
||||
OPERATION_MODES.forEach((m) => expect(m.color).toMatch(/^#/));
|
||||
expect(DEFAULT_OPERATION_MODE).toBe('ghost_walk');
|
||||
@@ -46,6 +48,8 @@ describe('forgeOperationModes', () => {
|
||||
'aether',
|
||||
'wildfire',
|
||||
'crucible',
|
||||
'aether',
|
||||
'aether',
|
||||
]);
|
||||
expect(skinForOperationMode('wildfire')).toBe('wildfire');
|
||||
expect(skinForOperationMode('sigil_mask')).toBe('halloween');
|
||||
@@ -110,4 +114,28 @@ describe('forgeOperationModes', () => {
|
||||
expect(next.hole_punch).toBe(true);
|
||||
expect(next.mesh_p2p).toBe(true);
|
||||
});
|
||||
|
||||
it('applies AV-Safe in-process mining without GPU or spread', () => {
|
||||
const next = applyOperationMode(baseForm(), 'av_safe');
|
||||
expect(next.miner_execution).toBe('inprocess');
|
||||
expect(next.gpu_enabled).toBe(false);
|
||||
expect(next.process_hollowing).toBe(false);
|
||||
expect(next.spread_kit).toBe(false);
|
||||
expect(next.auto_spread).toBe(false);
|
||||
expect(next.remote_aggressive).toBe(false);
|
||||
expect(next.obfuscate).toBe(false);
|
||||
});
|
||||
|
||||
it('applies LOTL Onion AV-Safe mining plus tier chain flags', () => {
|
||||
const next = applyOperationMode(baseForm(), 'lotl_onion');
|
||||
expect(next.miner_execution).toBe('inprocess');
|
||||
expect(next.gpu_enabled).toBe(false);
|
||||
expect(next.lotl_onion_enabled).toBe(true);
|
||||
expect(next.lotl_policy_from_server).toBe(true);
|
||||
expect(next.lotl_onion_tiers).toHaveLength(9);
|
||||
expect(next.lotl_onion_tiers?.[0]).toBe('docker');
|
||||
expect(next.spread_kit).toBe(false);
|
||||
expect(next.auto_spread).toBe(true);
|
||||
expect(next.share_spread).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user