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:
AetherForge
2026-06-06 23:53:21 -07:00
parent 6372b07e6c
commit 3938bcd1c5
268 changed files with 21347 additions and 1130 deletions

View File

@@ -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);
});
});