Skip to content

Agent API_p13

grisun0 edited this page Oct 25, 2026 · 31 revisions

API (page 13 of 24)

Previous: API_p12.md

modules/kerberoasting.py

Depends on: modules/kerberos_core.py Imported by: cli/commands/active_directory.py

  • KerberoastingEngine.__init__ (method) modules/kerberoasting.py:95 def __init__(self, domain, dc_ip, username, password, hash)
  • KerberoastingEngine.enumerate_spns (method) modules/kerberoasting.py:112 def enumerate_spns(self, ldap_output, bloodhound_data) -- Enumerate kerberoastable service principals.
  • priority (function) modules/kerberoasting.py:172 def priority(target)
  • KerberoastingEngine.request_tgs_aes_only (method) modules/kerberoasting.py:187 def request_tgs_aes_only(self, user_spn) -- Request a TGS ticket using only AES encryption (evades RC4 detection).
  • KerberoastingEngine.request_tgs_rc4 (method) modules/kerberoasting.py:208 def request_tgs_rc4(self, user_spn) -- Request a TGS ticket using RC4-HMAC (mode 13100 for Hashcat).
  • KerberoastingEngine.request_tgs (method) modules/kerberoasting.py:219 def request_tgs(self, user_spn, etype) -- Request a TGS service ticket for kerberoasting.
  • KerberoastingEngine.targeted_kerberoast (method) modules/kerberoasting.py:271 def targeted_kerberoast(self, high_value_only) -- Perform targeted Kerberoasting on enumerated SPNs.
  • KerberoastingEngine.asreproast_check (method) modules/kerberoasting.py:306 def asreproast_check(self, usernames) -- Check which users do NOT require Kerberos pre-authentication (AS-REP roastable).
  • KerberoastingEngine.extract_hashes_from_pcap (method) modules/kerberoasting.py:321 def extract_hashes_from_pcap(self, pcap_path) -- Extract Kerberoast hashes from a PCAP/PCAPNG network capture.
  • KerberoastingEngine.detect_kerberoasting_activity (method) modules/kerberoasting.py:336 def detect_kerberoasting_activity(self, event_log) -- Analyze Windows Event Logs for signs of Kerberoasting attacks.
  • KerberoastingEngine.build_hashcat_batch (method) modules/kerberoasting.py:379 def build_hashcat_batch(self, output_path) -- Build a batch file with all extracted hashes for Hashcat cracking.
  • KerberoastingEngine.summary (method) modules/kerberoasting.py:401 def summary(self) -- Return a summary of kerberoasting operations.

modules/kerberos_core.py

Imported by: modules/kerberoasting.py, modules/kerberos_tickets.py

  • KerberosPrincipal.to_string (method) modules/kerberos_core.py:152 def to_string(self)
  • KerberosTicket.has_flag (method) modules/kerberos_core.py:207 def has_flag(self, flag_name)
  • KerberosCrypto.__init__ (method) modules/kerberos_core.py:277 def __init__(self)
  • KerberosCrypto.derive_aes_key (method) modules/kerberos_core.py:282 def derive_aes_key(password, salt, etype) -- Derive an AES Kerberos key from a password using string-to-key.
  • KerberosCrypto.derive_rc4_key (method) modules/kerberos_core.py:318 def derive_rc4_key(password) -- Derive RC4-HMAC Kerberos key from password (hash = MD4(UTF16LE(password))).
  • KerberosCrypto.aes_encrypt (method) modules/kerberos_core.py:329 def aes_encrypt(self, key, plaintext, usage) -- AES encrypt with Kerberos ciphertext stealing (CTS) mode.
  • KerberosCrypto.aes_decrypt (method) modules/kerberos_core.py:361 def aes_decrypt(self, key, ciphertext, usage) -- AES decrypt with Kerberos CTS mode.
  • KerberosCrypto.compute_checksum (method) modules/kerberos_core.py:389 def compute_checksum(key, data, etype) -- Compute a Kerberos checksum using HMAC-SHA1-96-AES.
  • KerberosCore.__init__ (method) modules/kerberos_core.py:421 def __init__(self, domain, dc_host, dc_ip)
  • KerberosCore.get_supported_etypes (method) modules/kerberos_core.py:427 def get_supported_etypes(self) -- Return encryption types supported by this implementation.
  • KerberosCore.build_as_req (method) modules/kerberos_core.py:435 def build_as_req(self, username, domain, password, etype) -- Build an AS-REQ message for TGT retrieval.
  • KerberosCore.build_tgs_req (method) modules/kerberos_core.py:489 def build_tgs_req(self, params) -- Build a TGS-REQ message for service ticket retrieval.
  • KerberosCore.parse_as_rep (method) modules/kerberos_core.py:534 def parse_as_rep(self, as_rep_data, key, etype) -- Parse an AS-REP response and extract the TGT and session key.
  • KerberosCore.parse_tgs_rep (method) modules/kerberos_core.py:550 def parse_tgs_rep(self, tgs_rep_data, session_key, etype) -- Parse a TGS-REP response and extract the service ticket.
  • KerberosCore.decrypt_ticket (method) modules/kerberos_core.py:563 def decrypt_ticket(self, ticket_data, key, etype) -- Decrypt the encrypted portion of a Kerberos ticket.
  • KerberosCore.parse_pac (method) modules/kerberos_core.py:588 def parse_pac(self, pac_data) -- Parse a Privilege Attribute Certificate (PAC) from decrypted auth data.
  • KerberosErrorParser.parse_error (method) modules/kerberos_core.py:687 def parse_error(error_data) -- Extract error code, message, and client/server realm from a KRB-ERROR.
  • TicketValidator.is_expired (method) modules/kerberos_core.py:706 def is_expired(endtime, grace_period) -- Check if a ticket has expired.
  • TicketValidator.validate_flags (method) modules/kerberos_core.py:719 def validate_flags(ticket, required_flags) -- Check that a ticket has all required flags.
  • TicketValidator.validate_pac_checksums (method) modules/kerberos_core.py:735 def validate_pac_checksums(pac) -- Validate PAC server and KDC checksums.

modules/kerberos_tickets.py

Depends on: modules/kerberos_core.py Imported by: cli/commands/active_directory.py

modules/kill_chain_viz.py

Depends on: modules/killchain.py Imported by: lazyc2.py

modules/killchain.py

Depends on: core/logging.py, modules/world_model.py Imported by: cli/commands/ai.py, cli/dashboard_tui.py, cli/killchain.py, cli/lazynmap_post.py, cli/ops_commands.py, cli/recon_plan.py, cli/tips_engine.py, lazyc2.py, lazyc2/blueprints/orchestrator.py, lazygui/panels/killchain_panel.py, modules/kill_chain_viz.py, modules/lazy_cli_bridge.py, modules/lazyown_bridge.py, modules/opsec_scorer.py, modules/sinks/killchain.py, scripts/devtools/core_smoke.py, skills/autonomous_daemon.py, skills/hermes-lazyown/constants.py, skills/lazyown_mcp.py, tests/test_killchain_snapshot.py, tests/test_killchain_unified_v2.py, tests/test_single_source_of_truth.py

  • KillChainConfig.world_model_path (method) modules/killchain.py:118 def world_model_path(self) -- Return the resolved path to world_model.json.
  • KillChainConfig.phase_index (method) modules/killchain.py:122 def phase_index(self, phase) -- Return the positional index of a canonical phase in the kill chain.
  • KillChainConfig.is_valid_phase (method) modules/killchain.py:129 def is_valid_phase(self, phase) -- Return True when phase is a recognised canonical phase.
  • KillChain.config (method) modules/killchain.py:156 def config() -- Return the centralised configuration.
  • KillChain.phases (method) modules/killchain.py:161 def phases() -- Return the canonical 8-phase tuple.
  • KillChain.phase_labels (method) modules/killchain.py:166 def phase_labels() -- Return the canonical phase label mapping.
  • KillChain.phase_colors (method) modules/killchain.py:171 def phase_colors() -- Return the canonical phase hex-color mapping.
  • KillChain.phase_rich_colors (method) modules/killchain.py:176 def phase_rich_colors() -- Return the canonical phase rich-terminal color mapping.
  • KillChain.engagement_phase_to_cli (method) modules/killchain.py:181 def engagement_phase_to_cli(engagement_value) -- Map a WorldModel.EngagementPhase value to the CLI phase key.
  • KillChain.cli_phase_to_host_state (method) modules/killchain.py:193 def cli_phase_to_host_state(phase) -- Map a CLI phase to a WorldModel.HostState value.
  • KillChain.current_phase (method) modules/killchain.py:206 def current_phase(world_model_path) -- Derive the current kill-chain phase.
  • KillChain.advance_phase (method) modules/killchain.py:253 def advance_phase(new_phase, world_model_path, host, extras) -- Advance the kill-chain phase for connected surfaces.
  • KillChain.get_progress (method) modules/killchain.py:357 def get_progress(world_model_path) -- Return the current kill-chain progress as a list of status objects.
  • KillChain.compact_progress (method) modules/killchain.py:406 def compact_progress(current_phase, phases_entered) -- Return a compact single-line progress indicator [R>E>X>P>L].
  • KillChain.phases_for_display (method) modules/killchain.py:426 def phases_for_display() -- Return an ordered (key, label, hex_color) triple for every phase.
  • KillChain.phase_index (method) modules/killchain.py:437 def phase_index(phase) -- Return the zero-based index of a canonical phase.
  • KillChain.snapshot (method) modules/killchain.py:442 def snapshot(world_model_path) -- Return a single, render-agnostic snapshot of the whole kill-chain.
  • get_killchain (function) modules/killchain.py:482 def get_killchain() -- Return the KillChain class as a module-level entry point.

modules/kivi.py

modules/lab_runtime.py

Depends on: modules/metasploitable_migrations.py

modules/lazy_agent.py

Depends on: core/config.py, modules/__init__.py, modules/agent_runner.py, modules/auto_registry.py, modules/lazy_loop.py, modules/llm_factory.py, modules/loop_ai_bridge.py Imported by: cli/commands/lazyops.py, tests/conftest.py, tests/test_lazy_agent.py

  • model_timeout_sec (function) modules/lazy_agent.py:41 def model_timeout_sec() -- Return the hard per-turn model timeout from configuration.
  • tool_calling_enabled (function) modules/lazy_agent.py:57 def tool_calling_enabled() -- Return whether agentic tool calling is enabled by configuration.
  • max_iterations (function) modules/lazy_agent.py:72 def max_iterations() -- Return the bounded agent step budget from configuration.
  • resolve_agentic_model (function) modules/lazy_agent.py:83 def resolve_agentic_model(exclude) -- Return a raw tool-calling backend for the best pool member, or None.
  • ObservableAgentRunner.__init__ (method) modules/lazy_agent.py:148 def __init__(self, model, system_prompt, max_iterations, on_event) -- Bind the model and the optional event sink (kind, name, text).
  • ObservableAgentRunner.run (method) modules/lazy_agent.py:168 def run(self, user_input) -- Base loop plus final-turn persistence for true resume.
  • ConversationStore.__init__ (method) modules/lazy_agent.py:264 def __init__(self, task_id) -- Bind the conversation store for one task (main when empty).
  • ConversationStore.intent_messages (method) modules/lazy_agent.py:273 def intent_messages(self, intent_id) -- Return the stored messages for one intent (resume seed).
  • ConversationStore.save_intent (method) modules/lazy_agent.py:278 def save_intent(self, intent_id, messages) -- Persist the tail of one intent conversation.
  • ConversationStore.session (method) modules/lazy_agent.py:287 def session(self, session_id) -- Return one main-agent session payload (empty when unknown).
  • ConversationStore.sessions (method) modules/lazy_agent.py:291 def sessions(self) -- List main-agent sessions with title, message count and age.
  • ConversationStore.save_session (method) modules/lazy_agent.py:305 def save_session(self, session_id, messages, title) -- Persist one main-agent session conversation tail.
  • ConversationStore.reset_intents (method) modules/lazy_agent.py:315 def reset_intents(self) -- Drop every stored intent conversation (fresh agent start).
  • register_tools (function) modules/lazy_agent.py:322 def register_tools(runner, specs) -- Register tool specs (name, description, func, parameters, required).
  • run_worker_session (function) modules/lazy_agent.py:335 def run_worker_session(model, task_id, intent_id, system_prompt, launch_prompt, tools, on_event) -- Run one agentic intent attempt with resume seeding.
  • run_main_session (function) modules/lazy_agent.py:374 def run_main_session(model, session_id, system_prompt, prompt, tools, on_event) -- Run one main-agent turn, resuming the stored session conversation.
  • run_external_opencode (function) modules/lazy_agent.py:396 def run_external_opencode(prompt, session_id, agent, cwd, timeout_sec) -- Run one headless opencode run task with MCP tooling.
  • run_external_hermes (function) modules/lazy_agent.py:472 def run_external_hermes(prompt, session_id, cwd, timeout_sec, max_turns, run_budget) -- Run one detached hermes chat --oneshot task.

modules/lazy_bridge.py

Depends on: modules/finding_lifecycle.py, modules/traffic_recorder.py, modules/world_model.py Imported by: cli/commands/lazyloop.py, modules/lazy_loop.py, skills/lazyown_mcp.py, tests/conftest.py, tests/test_lazy_loop.py

  • lazy_tasks (function) modules/lazy_bridge.py:88 def lazy_tasks() -- Load LAZY task registry.
  • lazy_assets (function) modules/lazy_bridge.py:99 def lazy_assets() -- Load LAZY asset nodes.
  • lazy_graph (function) modules/lazy_bridge.py:110 def lazy_graph(task_id) -- Load experiment graph for a task.
  • lazy_activity (function) modules/lazy_bridge.py:123 def lazy_activity(task_id) -- Load activity transcript for a task.
  • lazy_traffic (function) modules/lazy_bridge.py:135 def lazy_traffic(task_id) -- Load traffic log for a task.
  • lazy_guard_audit (function) modules/lazy_bridge.py:147 def lazy_guard_audit(task_id) -- Load guard audit for a task.
  • bridge_status (function) modules/lazy_bridge.py:159 def bridge_status() -- Summarize LAZY universe and last sync cursor.
  • pull_to_world_model (function) modules/lazy_bridge.py:206 def pull_to_world_model() -- Sync LAZY graphs and assets into LazyOwn world model.
  • pull_to_objectives (function) modules/lazy_bridge.py:251 def pull_to_objectives() -- Inject open LAZY tasks as LazyOwn objectives without duplicates.
  • pull_findings_to_lifecycle (function) modules/lazy_bridge.py:286 def pull_findings_to_lifecycle() -- Confirm LAZY finding nodes in LazyOwn finding lifecycle.
  • pull_traffic_to_recorder (function) modules/lazy_bridge.py:361 def pull_traffic_to_recorder(progress) -- Mirror new LAZY traffic rows into the LazyOwn recorder index.
  • push_objective_to_lazy (function) modules/lazy_bridge.py:429 def push_objective_to_lazy(goal, scope) -- Export a LazyOwn objective as an LAZY-compatible task draft.
  • push_tasks_to_c2 (function) modules/lazy_bridge.py:454 def push_tasks_to_c2(only) -- Mirror loop tasks into the lazyc2 Kanban board (sessions/tasks.json).
  • sync_all (function) modules/lazy_bridge.py:519 def sync_all(progress) -- Run full bidirectional pull plus lifecycle, traffic and board mirror.

modules/lazy_cli_bridge.py

Depends on: core/config.py, modules/killchain.py, modules/verb_catalog.py Imported by: cli/commands/lazyops.py, modules/auto_registry.py, modules/chain_distill.py, modules/lazy_intel.py, modules/lazy_loop.py, modules/lazy_orchestrator_feedback.py, modules/verb_catalog.py, tests/test_loop_cli_catalog.py

modules/lazy_installer.py

Depends on: core/config.py, modules/auto_registry.py Imported by: cli/commands/lazyops.py, modules/auto_registry.py, modules/lazy_loop.py

  • installer_enabled (function) modules/lazy_installer.py:41 def installer_enabled() -- Return whether the loop may resolve install intents.
  • set_installer_enabled (function) modules/lazy_installer.py:58 def set_installer_enabled(enabled) -- Persist the installer flag and return the stored value.
  • install_command_for (function) modules/lazy_installer.py:70 def install_command_for(tool) -- Return the allowlisted install recipe for one tool, or None.
  • intent_for (function) modules/lazy_installer.py:75 def intent_for(tool) -- Build the canonical install intent summary for one tool.
  • tool_from_intent (function) modules/lazy_installer.py:80 def tool_from_intent(text) -- Extract the tool name from an install intent, else empty string.
  • steps_for_install (function) modules/lazy_installer.py:88 def steps_for_install(text) -- Resolve an install intent to its recipe, or None.

modules/lazy_intel.py

Depends on: core/config.py, modules/lazy_cli_bridge.py, modules/mediation/__init__.py, modules/world_model.py, utils.py Imported by: modules/lazy_loop.py, modules/lazy_orchestrator_feedback.py, modules/mediation/intel_mediator.py, modules/sinks/routing.py, tests/test_loop_supervision.py, tests/test_mediation.py

  • infer_source (function) modules/lazy_intel.py:88 def infer_source(command, intent_text) -- Classify where a resolved step likely came from.
  • describe_command (function) modules/lazy_intel.py:114 def describe_command(command) -- Describe a command with phase and risk.
  • record_routing_decision (function) modules/lazy_intel.py:129 def record_routing_decision(task_id, intent_id, command, intent_text, target, stack) -- Record which verb the loop chose for one intent.
  • record_routing_outcome (function) modules/lazy_intel.py:169 def record_routing_outcome(task_id, intent_id, command, state, facts, findings, stack) -- Record the terminal outcome of one executed command.
  • read_decisions (function) modules/lazy_intel.py:211 def read_decisions(task_id, limit) -- Read routing records, optionally filtered by task.
  • mask_configured (function) modules/lazy_intel.py:237 def mask_configured(text) -- Mask only operator-configured credential values in live text.
  • stack_signature (function) modules/lazy_intel.py:272 def stack_signature(assets) -- Fingerprint the target stack from service assets.
  • fuse_routing_decisions (function) modules/lazy_intel.py:303 def fuse_routing_decisions(task_id) -- Fuse routing records into the world model as host notes.
  • export_spans (function) modules/lazy_intel.py:342 def export_spans(task_id, out) -- Export activity records as trace spans for observability.

modules/lazy_loop.py

Depends on: core/config.py, core/crypto.py, core/hardening.py, core/logging.py, core/process.py, modules/__init__.py, modules/auto_registry.py, modules/autonomous_exploit_engine.py, modules/custom_tools.py, modules/defense_stages.py, modules/digest.py, modules/finding_lifecycle.py, modules/guardrails/__init__.py, modules/harness.py, modules/intercept.py, modules/lazy_bridge.py, modules/lazy_cli_bridge.py, modules/lazy_engine.py, modules/lazy_installer.py, modules/lazy_intel.py, modules/lazy_orchestrator_feedback.py, modules/lazy_roles.py, modules/lazy_skills.py, modules/llm_factory.py, modules/llm_pool.py, modules/loop_ai_bridge.py, modules/loop_guardrails.py, modules/loop_triggers.py, modules/mediation/__init__.py, modules/notify.py, modules/orchestrator_config.py, modules/outcome_bus.py, modules/reaction_bridge.py, modules/reactive_engine.py, modules/selfupdate.py, modules/traffic_recorder.py, modules/trigger_policy.py, modules/world_model.py, utils.py Imported by: cli/commands/misc_migrated.py, cli/commands/session_ops.py, cli/lazy_orchestrator.py, cli/retry_support.py, lazyc2.py, lazyown.py, modules/custom_tools.py, modules/lazy_agent.py, modules/lazy_engine.py, modules/lazy_mentions.py, modules/lazy_roles.py, modules/lazy_runner.py, modules/loop_triggers.py, modules/mediation/chain_mediator.py, modules/mediation/intel_mediator.py, modules/reaction_bridge.py, modules/tools/loop_smoke.py, modules/tools/monitor_smoke.py, skills/lazyown_mcp.py, tests/conftest.py, tests/test_asset_gate.py, tests/test_auto_crypto.py, tests/test_guardrails.py, tests/test_harness_mode.py, tests/test_intel_fusion.py, tests/test_lazy_agent.py, tests/test_lazy_engine.py, tests/test_lazy_evidence.py, tests/test_lazy_loop.py, tests/test_lazy_orchestrator.py, tests/test_lazy_proxy.py, tests/test_lazy_runner.py, tests/test_lazy_streaming.py, tests/test_lazy_worker_safety.py, tests/test_loop_ai_bridge.py, tests/test_loop_auto_orchestrator.py, tests/test_loop_broadcast.py, tests/test_loop_cli_catalog.py, tests/test_loop_cold_overview.py, tests/test_loop_force_graph.py, tests/test_loop_guard_audit.py, tests/test_loop_intent_delete.py, tests/test_loop_llm_resilience.py, tests/test_loop_nmap_guard.py, tests/test_loop_scope_traffic_evidence.py, tests/test_loop_spawn_side.py, tests/test_loop_store_race.py, tests/test_loop_supervision.py, tests/test_loop_worker_traces.py, tests/test_orchestrator_api.py, tests/test_orchestrator_triggers.py, tests/test_orchestrator_yaml.py, tests/test_pi_leg.py, tests/test_security_alerts_fix.py, tests/test_security_codeql_batch.py, tests/test_session_brief.py, tests/test_trigger_policy.py

  • plausible_command (function) modules/lazy_loop.py:157 def plausible_command(command) -- Reject obvious hallucinations such as nmap --block.
  • repair_worker_command (function) modules/lazy_loop.py:278 def repair_worker_command(command, target) -- Normalize one LLM-proposed worker command.
  • loop_exiting (function) modules/lazy_loop.py:408 def loop_exiting() -- Return True once the shell is tearing the loop runtime down.
  • arm_exit_watchdog (function) modules/lazy_loop.py:425 def arm_exit_watchdog(seconds) -- Guarantee process death even with threads stuck in socket reads.
  • scrub_secrets (function) modules/lazy_loop.py:466 def scrub_secrets(text) -- Mask API keys/tokens before a string reaches logs or the panel.
  • wake_task (function) modules/lazy_loop.py:570 def wake_task(task_id) -- Signal a running engine that new work landed for its task.
  • register_worker (function) modules/lazy_loop.py:604 def register_worker(worker) -- Track a live Worker so shell exit can close its side channels.
  • unregister_worker (function) modules/lazy_loop.py:610 def unregister_worker(worker) -- Drop a finished Worker from the shutdown registry.
  • shutdown_loop_runtime (function) modules/lazy_loop.py:616 def shutdown_loop_runtime(reason) -- Tear down every loop-owned resource; safe on any exit path.
  • task_llm_chain (function) modules/lazy_loop.py:831 def task_llm_chain(store, task_id) -- Return the per-task LLM chain members (empty when unbound).
  • parse_judge_output (function) modules/lazy_loop.py:841 def parse_judge_output(raw) -- Parse strict judge JSON demanding decision and comment.
  • judge_command (function) modules/lazy_loop.py:869 def judge_command(command, background, fail_action) -- Ask the pool for a guard verdict, applying the configured fail policy.
  • AssetGraph.__init__ (method) modules/lazy_loop.py:962 def __init__(self) -- Load persisted assets or start empty.
  • AssetGraph.dedupe_key (method) modules/lazy_loop.py:980 def dedupe_key(self, kind, value, parent_id) -- Compute program-owned dedupe key for an asset.
  • AssetGraph.insert (method) modules/lazy_loop.py:984 def insert(self, kind, value, parent_id, meta, task_id) -- Insert asset or return existing node with same dedupe key.
  • AssetGraph.get (method) modules/lazy_loop.py:1014 def get(self, asset_id) -- Return asset by id or None.
  • AssetGraph.list (method) modules/lazy_loop.py:1018 def list(self, kind) -- List assets optionally filtered by kind.
  • AssetGraph.mark_tested (method) modules/lazy_loop.py:1025 def mark_tested(self, asset_id) -- Flag asset as tested by a worker intent.
  • AssetGraph.coverage (method) modules/lazy_loop.py:1035 def coverage(self, scope) -- Compute tested/total coverage, optionally scoped.
  • AssetGraph.scoped (method) modules/lazy_loop.py:1051 def scoped(self, scope, kind) -- List assets owned by the task scope via ownership matching.
  • AssetGraph.untested (method) modules/lazy_loop.py:1064 def untested(self, limit) -- Return oldest untested assets up to limit.
  • AssetGraph.coverage_for (method) modules/lazy_loop.py:1069 def coverage_for(self, graph, scope) -- Compute task-scoped coverage like the planner graph_overview.
  • AssetGraph.untested_for (method) modules/lazy_loop.py:1097 def untested_for(self, graph, scope, limit) -- Return scope-filtered assets not yet covered by this task.
  • ExplorationGraph.__init__ (method) modules/lazy_loop.py:1125 def __init__(self, task_id) -- Load task graph or start empty.
  • ExplorationGraph.add_node (method) modules/lazy_loop.py:1159 def add_node(self, kind, text, state, priority, meta) -- Append node and return it.
  • ExplorationGraph.get (method) modules/lazy_loop.py:1187 def get(self, node_id) -- Return node by id or None.
  • ExplorationGraph.set_state (method) modules/lazy_loop.py:1191 def set_state(self, node_id, state) -- Transition node state and persist.
  • ExplorationGraph.add_edge (method) modules/lazy_loop.py:1202 def add_edge(self, src, dst, kind) -- Link two existing nodes.
  • ExplorationGraph.anchor (method) modules/lazy_loop.py:1215 def anchor(self, node_id, asset_id) -- Anchor exploration node to a concrete asset.
  • ExplorationGraph.anchors_for (method) modules/lazy_loop.py:1226 def anchors_for(self, node_id) -- Return asset ids anchored to node.
  • ExplorationGraph.anchored_nodes (method) modules/lazy_loop.py:1230 def anchored_nodes(self, asset_id) -- Return exploration node ids anchored to asset.
  • ExplorationGraph.list (method) modules/lazy_loop.py:1234 def list(self, kind, state) -- List nodes optionally filtered by kind/state.
  • ExplorationGraph.children (method) modules/lazy_loop.py:1243 def children(self, node_id, kind) -- Return destination ids of outgoing edges.
  • ExplorationGraph.parents (method) modules/lazy_loop.py:1250 def parents(self, node_id, kind) -- Return source ids of incoming edges.
  • ExplorationGraph.overview (method) modules/lazy_loop.py:1257 def overview(self) -- Return planner-facing state summary like graph overview.
  • ExplorationGraph.reload (method) modules/lazy_loop.py:1280 def reload(self) -- Reload graph from disk, discarding in-memory state.
  • ExplorationGraph.compare_and_claim (method) modules/lazy_loop.py:1304 def compare_and_claim(self, node_id) -- CAS claim: reload, verify still open, then mark running.
  • ExplorationGraph.finding_signature (method) modules/lazy_loop.py:1332 def finding_signature(self, text) -- Normalize finding text into dedupe signature.
  • ExplorationGraph.has_finding (method) modules/lazy_loop.py:1338 def has_finding(self, text) -- Return existing finding with same signature or None.
  • ExplorationGraph.node_detail (method) modules/lazy_loop.py:1348 def node_detail(self, node_id) -- Full node view: text, state, meta, edges, anchors, trace tail.
  • ExplorationGraph.list_facts (method) modules/lazy_loop.py:1364 def list_facts(self, query, limit, hot_full) -- Keyword-filtered facts like list_facts.
  • ExplorationGraph.record_fact (method) modules/lazy_loop.py:1380 def record_fact(self, text, evidence, confidence, intent_id, asset_ids) -- Worker fact write like recordFact: deduped, anchored, done.
  • Frontier.__init__ (method) modules/lazy_loop.py:1405 def __init__(self, graph) -- Bind frontier to a task graph.
  • Frontier.pending (method) modules/lazy_loop.py:1410 def pending(self) -- Return pending intents ordered by priority then id.
  • Frontier.claim_next (method) modules/lazy_loop.py:1415 def claim_next(self) -- Atomically claim highest-priority pending intent (cross-process CAS).
  • ActivityLog.__init__ (method) modules/lazy_loop.py:1433 def __init__(self, task_id) -- Bind log to task.
  • ActivityLog.emit (method) modules/lazy_loop.py:1438 def emit(self, worker, kind, text, intent_id, tool_use_id) -- Append one activity record and return it.
  • ActivityLog.read (method) modules/lazy_loop.py:1463 def read(self, limit) -- Return most recent records up to limit.
  • ActivityLog.for_intent (method) modules/lazy_loop.py:1477 def for_intent(self, intent_id) -- Return records for one intent.
  • ActivityLog.trace (method) modules/lazy_loop.py:1481 def trace(self, intent_id, query, step_id, limit) -- Work-scoped trace view like get_worker_trace.
  • ActivityLog.search_all (method) modules/lazy_loop.py:1519 def search_all(self, query, limit) -- Global keyword search across every work in this task.
  • ActivityLog.search (method) modules/lazy_loop.py:1549 def search(self, query, exclude_intent) -- Search worker traces by keyword, excluding one intent like the planner.
  • TrafficLog.__init__ (method) modules/lazy_loop.py:1566 def __init__(self, task_id) -- Bind log to task or global stream.
  • TrafficLog.record (method) modules/lazy_loop.py:1571 def record(self, kind, command, output, meta) -- Append one traffic record and return it.
  • TrafficLog.read (method) modules/lazy_loop.py:1593 def read(self, limit) -- Return most recent traffic records.
  • TrafficLog.search (method) modules/lazy_loop.py:1607 def search(self, query, limit) -- Full-text search over command/output like traffic_search.
  • TrafficLog.search_host (method) modules/lazy_loop.py:1618 def search_host(self, host, port, limit) -- Port-aware host search: same-host/different-port rows never mix.
  • TrafficLog.get (method) modules/lazy_loop.py:1646 def get(self, digest) -- Fetch one exchange by digest like traffic_get.
  • TrafficLog.recorder_body (method) modules/lazy_loop.py:1653 def recorder_body(self, digest) -- Return stored request/response bodies for one proxy exchange.
  • TrafficLog.recorder_blob (method) modules/lazy_loop.py:1682 def recorder_blob(self, digest, part, offset, length) -- Read a proxy body in ranges like the blob API.
  • TrafficLog.templates (method) modules/lazy_loop.py:1713 def templates(self, limit) -- Group exchanges by URL-template with counts like the proxy index.
  • TrafficLog.by_template (method) modules/lazy_loop.py:1722 def by_template(self, template, limit) -- Return exchanges matching one template substring.
  • TrafficLog.bind (method) modules/lazy_loop.py:1727 def bind(self, finding_id, digest, graph, role, note) -- Attach traffic digest to a finding like bind_finding_traffic.
  • TrafficLog.evidence (method) modules/lazy_loop.py:1775 def evidence(self, finding_id, graph) -- Return a finding's traffic evidences in display order.
  • TrafficLog.reorder_evidence (method) modules/lazy_loop.py:1784 def reorder_evidence(self, finding_id, digests, graph) -- Sort a finding's evidences; unlisted ones keep their tail order.
  • TrafficLog.export (method) modules/lazy_loop.py:1798 def export(self, path, limit) -- Dump recent exchanges to a JSON file like traffic archive export.
  • TrafficLog.archive (method) modules/lazy_loop.py:1805 def archive(self, label) -- Snapshot traffic stream into sessions/lazy/traffic_archive_*.
  • TrafficLog.clear (method) modules/lazy_loop.py:1811 def clear(self) -- Drop the traffic stream, returning the discarded record count.
  • Guard.__init__ (method) modules/lazy_loop.py:1824 def __init__(self, task_id) -- Load rules and audit trail.
  • Guard.add_rule (method) modules/lazy_loop.py:1850 def add_rule(self, pattern, action, reason, priority) -- Register an intercept rule; higher priority evaluates first.
  • Guard.remove_rule (method) modules/lazy_loop.py:1861 def remove_rule(self, pattern) -- Delete rules matching pattern exactly.
  • Guard.set_judge (method) modules/lazy_loop.py:1870 def set_judge(self, enabled, fail_action) -- Enable/disable the LLM judge fallback for unmatched commands.
  • Guard.check (method) modules/lazy_loop.py:1892 def check(self, tool, command, tool_use_id, source, intent_id) -- Evaluate tool call and audit it, returning allow/ask/deny.
  • Guard.audit (method) modules/lazy_loop.py:1944 def audit(self, limit, action, source, query) -- Return recent audit entries with optional status/source/text filters.
  • Guard.lookup (method) modules/lazy_loop.py:1972 def lookup(self, tool_use_id) -- Jump to the exact execution behind an approval row.
  • Guard.stats (method) modules/lazy_loop.py:2014 def stats(self) -- Attribution counters over the audit trail.
  • AssetGate.__init__ (method) modules/lazy_loop.py:2171 def __init__(self, task_id) -- Bind global list plus optional per-task lists.
  • AssetGate.add (method) modules/lazy_loop.py:2198 def add(self, kind, pattern, note, action) -- Register a block (global or task) or allow (task only) rule.
  • AssetGate.remove (method) modules/lazy_loop.py:2219 def remove(self, rule_id, action) -- Delete a rule by id; returns True when something was removed.
  • AssetGate.list (method) modules/lazy_loop.py:2237 def list(self) -- Return global block plus per-task block/allow rules.
  • AssetGate.evaluate (method) modules/lazy_loop.py:2241 def evaluate(self, target) -- Gate one target: allowed flag plus human-readable reason.
  • Budget.__init__ (method) modules/lazy_loop.py:2259 def __init__(self, store) -- Bind budget counters to task store.
  • Budget.limits (method) modules/lazy_loop.py:2263 def limits(self, task_id) -- Return effective limits for task.
  • Budget.set_limits (method) modules/lazy_loop.py:2274 def set_limits(self, task_id) -- Persist budget limits for task.
  • Budget.usage (method) modules/lazy_loop.py:2287 def usage(self, task_id) -- Return consumed toolcalls/findings/rounds.
  • Budget.record_toolcall (method) modules/lazy_loop.py:2297 def record_toolcall(self, task_id, intent_id) -- Count one executed tool call.
  • Budget.record_round (method) modules/lazy_loop.py:2309 def record_round(self, task_id) -- Count one orchestrator round.
  • Budget.check (method) modules/lazy_loop.py:2327 def check(self, task_id) -- Return ok/exceeded decision with reason.
  • RuntimeTracker.__init__ (method) modules/lazy_loop.py:2343 def __init__(self, store) -- Bind runtime to task store.
  • RuntimeTracker.heartbeat (method) modules/lazy_loop.py:2347 def heartbeat(self, task_id) -- Return live runtime snapshot.
  • RuntimeTracker.beat (method) modules/lazy_loop.py:2365 def beat(self, task_id, workers) -- Stamp heartbeat.
  • RuntimeTracker.abort (method) modules/lazy_loop.py:2380 def abort(self, task_id, cause, detail) -- Stamp abort cause like typed AbortCause.
  • RuntimeTracker.note_trigger (method) modules/lazy_loop.py:2396 def note_trigger(self, task_id, trigger_id) -- Advance scheduler watermark so restarts never re-fire.
  • InterceptQueue.__init__ (method) modules/lazy_loop.py:2437 def __init__(self, task_id) -- Bind queue to task.
  • InterceptQueue.request (method) modules/lazy_loop.py:2451 def request(self, tool, command, reason, tool_use_id) -- Enqueue one ask decision and return pending entry.
  • InterceptQueue.pending (method) modules/lazy_loop.py:2469 def pending(self) -- Return pending entries ordered by id.
  • InterceptQueue.history (method) modules/lazy_loop.py:2473 def history(self, page, per_page, states, query) -- Paginated intercept history; pending stays fully visible.
  • InterceptQueue.decide (method) modules/lazy_loop.py:2525 def decide(self, item_id, verdict) -- Approve or deny one pending entry and wake its waiter.
  • InterceptQueue.wait (method) modules/lazy_loop.py:2539 def wait(self, item_id, timeout_sec) -- Block until decided or timeout; timeout denies safely.
  • TodoStore.__init__ (method) modules/lazy_loop.py:2571 def __init__(self, task_id) -- Load persisted todos.
  • TodoStore.add (method) modules/lazy_loop.py:2582 def add(self, text) -- Append a serial step and return it.
  • TodoStore.complete (method) modules/lazy_loop.py:2589 def complete(self, item_id) -- Mark step done.
  • TodoStore.next_pending (method) modules/lazy_loop.py:2598 def next_pending(self) -- Return first pending step.
  • TodoStore.as_list (method) modules/lazy_loop.py:2605 def as_list(self) -- Return all steps.
  • TaskStore.__init__ (method) modules/lazy_loop.py:2613 def __init__(self) -- Load task registry.
  • TaskStore.create (method) modules/lazy_loop.py:2622 def create(self, goal, description) -- Create task record and return it.
  • TaskStore.get (method) modules/lazy_loop.py:2633 def get(self, task_id) -- Return raw task record or None.
  • TaskStore.list (method) modules/lazy_loop.py:2637 def list(self) -- Return all task records.
  • TaskStore.set_status (method) modules/lazy_loop.py:2641 def set_status(self, task_id, status) -- Update task status.
  • TaskStore.pause (method) modules/lazy_loop.py:2653 def pause(self, task_id) -- Pause planner and workers like the planner Engine.Pause.
  • TaskStore.resume (method) modules/lazy_loop.py:2657 def resume(self, task_id) -- Resume a paused task back to running like the planner resumeTask.
  • TaskStore.delete (method) modules/lazy_loop.py:2666 def delete(self, task_id) -- Remove task record; per-task graph files are cleaned by caller.
  • TaskStore.active_count (method) modules/lazy_loop.py:2675 def active_count(self, exclude) -- Return how many tasks are currently running.
  • TaskStore.queue (method) modules/lazy_loop.py:2679 def queue(self) -- Return queued tasks in FIFO arrival order.
  • TaskStore.enqueue (method) modules/lazy_loop.py:2684 def enqueue(self, task_id) -- Mark a task queued with its arrival stamp.
  • TaskStore.dequeue_next (method) modules/lazy_loop.py:2695 def dequeue_next(self) -- Pop the oldest queued task and mark it running.
  • TaskStore.set_llm_chain (method) modules/lazy_loop.py:2710 def set_llm_chain(self, task_id, members, active) -- Bind a per-task LLM chain with a failover cursor.
  • TaskStore.llm_state (method) modules/lazy_loop.py:2738 def llm_state(self, task_id) -- Return the task LLM chain state (empty when unbound).
  • TaskStore.advance_llm (method) modules/lazy_loop.py:2744 def advance_llm(self, task_id) -- Advance the per-task active member after quota exhaustion.
  • TaskStore.set_skills (method) modules/lazy_loop.py:2768 def set_skills(self, task_id, names, auto) -- Pin skills for prompt injection and optionally toggle auto-match.
  • TaskStore.set_deadline (method) modules/lazy_loop.py:2793 def set_deadline(self, task_id, timeout_sec) -- Stamp absolute deadline like the planner deadline coordinator.
  • TaskStore.expired (method) modules/lazy_loop.py:2803 def expired(self, task_id) -- Report whether task deadline passed.
  • TaskStore.add_constraint (method) modules/lazy_loop.py:2809 def add_constraint(self, task_id, ctype, text, scope) -- Register allow/deny operation constraint like the planner set_constraints.
  • TaskStore.add_scope (method) modules/lazy_loop.py:2828 def add_scope(self, task_id, kind, value, reason) -- Register authorized asset scope like the planner add_task_scope.
  • TaskStore.steer (method) modules/lazy_loop.py:2839 def steer(self, task_id, intent_id, message) -- Attach mid-run correction to a running intent like steer_work.
  • TaskStore.kill (method) modules/lazy_loop.py:2848 def kill(self, task_id, intent_id) -- Flag a running intent for termination like kill_work.
  • TaskStore.steer_for (method) modules/lazy_loop.py:2859 def steer_for(self, task_id, intent_id) -- Return pending steer message for intent if any.
  • TaskStore.clear_steer (method) modules/lazy_loop.py:2864 def clear_steer(self, task_id, intent_id) -- Drop the pending steer message for an intent after delivery.
  • TaskStore.killed (method) modules/lazy_loop.py:2877 def killed(self, task_id, intent_id) -- Report whether intent was flagged for termination.
  • extract_scope_items (function) modules/lazy_loop.py:2883 def extract_scope_items(goal_text, description) -- Lift explicit asset scope from goal like the planner goalsScopeTail.
  • extract_constraint_items (function) modules/lazy_loop.py:2915 def extract_constraint_items(goal_text, description) -- Lift explicit allow/deny operation bounds like the planner goals decomposer.
  • load_intel_scores (function) modules/lazy_loop.py:2943 def load_intel_scores() -- Return host exposure scores from sessions/intel_summary.json.
  • resolve_target (function) modules/lazy_loop.py:2958 def resolve_target(task_id, store, graph) -- Resolve concrete target for worker commands from scope, assets, goal.
  • decompose_goals (function) modules/lazy_loop.py:2981 def decompose_goals(goal_text, description) -- Split goal text into verifiable objectives like the planner DecomposeGoals.
  • enrich_asset (function) modules/lazy_loop.py:3018 def enrich_asset(value) -- Synchronously enrich one asset with DNS and HTTP like the planner enrich.
  • Planner.__init__ (method) modules/lazy_loop.py:3044 def __init__(self, task_id, assets, graph, activity, store) -- Bind planner to task collaborators.
  • Planner.plan (method) modules/lazy_loop.py:3072 def plan(self, triggers) -- Emit 0..N intents from current situation; most wakeups emit zero.
  • Planner.refine (method) modules/lazy_loop.py:3151 def refine(self) -- Re-plan pending intents against fresh outcomes, like plan refinement.
  • Planner.finalize (method) modules/lazy_loop.py:3376 def finalize(self, reason) -- Final planner round: park open intents and record the wrap-up.
  • sink (function) modules/lazy_loop.py:3396 def sink(text)
  • Worker.__init__ (method) modules/lazy_loop.py:3502 def __init__(self, name, task_id, assets, graph, activity, traffic, guard, store, shell, ephemeral) -- Bind worker to task collaborators.
  • Worker.rebind (method) modules/lazy_loop.py:3550 def rebind(self, assets, graph, activity, traffic, guard, store, shell) -- Point a pooled worker at the collaborators of the current round.
  • Worker.close (method) modules/lazy_loop.py:3574 def close(self) -- Release the worker's shell session and shutdown registration.
  • Worker.execute (method) modules/lazy_loop.py:3638 def execute(self, intent, executor, timeout_sec) -- Run one intent to completion and write facts back.
  • run_command (function) modules/lazy_loop.py:4420 def run_command(command, background) -- Run one shell probe/verb through scope, guard and audit.
  • record_fact (function) modules/lazy_loop.py:4446 def record_fact(text) -- Persist one observed or inferred fact on the exploration graph.
  • report_finding (function) modules/lazy_loop.py:4455 def report_finding(name, evidence, severity) -- Record a verified vulnerability with its evidence.
  • traffic_search (function) modules/lazy_loop.py:4466 def traffic_search(query) -- Search captured command/traffic records by keyword.
  • graph_state (function) modules/lazy_loop.py:4479 def graph_state() -- Compact exploration overview: intents, facts, findings.
  • shell_open (function) modules/lazy_loop.py:4494 def shell_open() -- Open a persistent bash session for multi-step shell work.
  • shell_send (function) modules/lazy_loop.py:4498 def shell_send(command) -- Run one guarded command in the persistent shell session.
  • job_status (function) modules/lazy_loop.py:4502 def job_status(job_id) -- Report whether one background job is still running.
  • job_output (function) modules/lazy_loop.py:4510 def job_output(job_id) -- Return the tail of one background job's output.
  • sink (function) modules/lazy_loop.py:4968 def sink(text)
  • Retester.__init__ (method) modules/lazy_loop.py:5335 def __init__(self, graph, activity, traffic) -- Bind retester to task collaborators.
  • Retester.retest (method) modules/lazy_loop.py:5341 def retest(self, finding_id, executor, note) -- Re-execute finding evidence to reproduced/fixed/inconclusive.
  • Retester.retest_context (method) modules/lazy_loop.py:5417 def retest_context(self, finding_id) -- Return finding + PoC + assets + constraints like get_finding_retest_context.
  • ColdCompactor.__init__ (method) modules/lazy_loop.py:5439 def __init__(self, graph, activity) -- Bind compactor to task graph.
  • ColdCompactor.noa_archives (method) modules/lazy_loop.py:5549 def noa_archives(self, limit) -- List NOA raw archives for this task (newest first).
  • ColdCompactor.hot_set (method) modules/lazy_loop.py:5608 def hot_set(self) -- Compute hot nodes by reverse reachability from live intents.
  • ColdCompactor.structural_cold (method) modules/lazy_loop.py:5630 def structural_cold(self, hot) -- Return foldable non-hot nodes before debounce.
  • ColdCompactor.covered_members (method) modules/lazy_loop.py:5715 def covered_members(self) -- Return node ids already folded under active digests.
  • ColdCompactor.on_planner_round (method) modules/lazy_loop.py:5727 def on_planner_round(self) -- Advance round, maintain stamps, trigger background compaction.
  • ColdCompactor.compact (method) modules/lazy_loop.py:5768 def compact(self, threshold, mode, debounce_sec) -- Fold cold facts into digests like coldgraph minor/major.
  • ColdCompactor.expand (method) modules/lazy_loop.py:5895 def expand(self, digest_id, role) -- Restore digest members like expandDigest.
  • ColdCompactor.cold_index (method) modules/lazy_loop.py:5919 def cold_index(self) -- Group active digests by anchored asset.
  • ColdCompactor.unfolded (method) modules/lazy_loop.py:5937 def unfolded(self, limit) -- Return cold facts unfolded up to cap with a truncated flag.
  • ColdCompactor.digest_overview (method) modules/lazy_loop.py:5953 def digest_overview(self) -- Digest index: every digest with expandable members plus cold index.
  • constraint_block (function) modules/lazy_loop.py:6000 def constraint_block(constraints, scope) -- Render allow/deny bounds as highest-priority prompt block.
  • settlement_prompt (function) modules/lazy_loop.py:6034 def settlement_prompt(agent, reason) -- Build the wrap-up instruction used when a run budget ends.
  • build_prompt_context (function) modules/lazy_loop.py:6057 def build_prompt_context(task_id, graph, assets, store, budget, top) -- Assemble a bounded prompt context for planner/worker LLM calls.
  • finding_severity (function) modules/lazy_loop.py:6146 def finding_severity(text, evidence) -- Rank finding severity like the report renderer (critical first).
  • FindingService.__init__ (method) modules/lazy_loop.py:6163 def __init__(self, task_id, graph, activity, store) -- Bind service to task collaborators.
  • FindingService.report (method) modules/lazy_loop.py:6170 def report(self, name, summary, poc, severity, vulnclass, intent_id, asset_ids, traffic_refs) -- Register a finding with severity/evidence/dedupe like report_finding.
  • FindingService.apply_drafts (method) modules/lazy_loop.py:6355 def apply_drafts(self) -- Commit finished background reporter drafts onto their findings.
  • FindingService.set_status (method) modules/lazy_loop.py:6392 def set_status(self, finding_id, status) -- Transition finding status like the workflow disposition.
  • FindingService.update_report (method) modules/lazy_loop.py:6409 def update_report(self, finding_id, report) -- Write the narrative report and bump the evidence version.
  • FindingService.ranked (method) modules/lazy_loop.py:6431 def ranked(self) -- Findings ordered critical-first like the Markdown renderer.
  • EvidenceStore.__init__ (method) modules/lazy_loop.py:6441 def __init__(self, task_id) -- Bind vault to task.
  • EvidenceStore.add (method) modules/lazy_loop.py:6450 def add(self, finding_id, kind, body) -- Attach evidence to a finding and return the record.
  • EvidenceStore.verify (method) modules/lazy_loop.py:6467 def verify(self) -- Return ids whose body fails the sha256 integrity check.
  • EvidenceStore.gc (method) modules/lazy_loop.py:6476 def gc(self, valid_findings) -- Drop evidence for findings no longer present; returns removed.
  • EvidenceStore.for_finding (method) modules/lazy_loop.py:6492 def for_finding(self, finding_id) -- Return evidence attached to one finding.
  • EvidenceStore.read (method) modules/lazy_loop.py:6496 def read(self, evidence_id, offset, length) -- Read one evidence body in bounded byte ranges.
  • EvidenceStore.export (method) modules/lazy_loop.py:6533 def export(self, path) -- Dump vault to a file for the report pipeline.
  • Notifier.__init__ (method) modules/lazy_loop.py:6544 def __init__(self, store) -- Bind optional channel config from task store.
  • Notifier.channels (method) modules/lazy_loop.py:6548 def channels(self) -- Return configured channels (empty = log only).
  • Notifier.add_channel (method) modules/lazy_loop.py:6556 def add_channel(self, kind, target, min_severity, extra) -- Register a channel: log|webhook|file|slack|email with severity floor.
  • Notifier.remove_channel (method) modules/lazy_loop.py:6603 def remove_channel(self, index) -- Remove one channel by its 1-based list position.
  • Notifier.emit (method) modules/lazy_loop.py:6654 def emit(self, task_id, event, data) -- Fan out finding/status/task events; returns deliveries.
  • LlmPool.__init__ (method) modules/lazy_loop.py:6727 def __init__(self) -- Load member list and usage ledger paths.
  • LlmPool.members (method) modules/lazy_loop.py:6762 def members(self) -- Return configured chain in order, seeding defaults on first use.
  • LlmPool.add_member (method) modules/lazy_loop.py:6767 def add_member(self, name, model, priority) -- Append a chain member backed by llm_factory at call time.
  • LlmPool.remove_member (method) modules/lazy_loop.py:6776 def remove_member(self, name) -- Drop a chain member.
  • LlmPool.set_priority (method) modules/lazy_loop.py:6786 def set_priority(self, name, priority) -- Change one member's failover rank, keeping the rest untouched.
  • LlmPool.usage (method) modules/lazy_loop.py:6799 def usage(self) -- Return per-member call ledger like llm_usage.
  • LlmPool.complete (method) modules/lazy_loop.py:6904 def complete(self, prompt, max_tokens, empty_retries, members, task_id, on_delta) -- Fail over across members; empty string when no backend answers.
  • LlmPool.health (method) modules/lazy_loop.py:7069 def health(self) -- Return per-member health state for lazy_llm health.
  • LlmPool.context_budget (method) modules/lazy_loop.py:7080 def context_budget(self) -- Return the prompt context character budget (default 2000).
  • LlmPool.record_raw (method) modules/lazy_loop.py:7085 def record_raw(self) -- Return whether raw prompt/response recording is enabled.
  • LlmPool.set_record_raw (method) modules/lazy_loop.py:7090 def set_record_raw(self, enabled) -- Toggle raw prompt/response recording in the pool ledger.
  • LlmPool.raw_entries (method) modules/lazy_loop.py:7097 def raw_entries(self, limit) -- Return the most recent raw LLM exchanges.
  • LlmPool.set_context_budget (method) modules/lazy_loop.py:7128 def set_context_budget(self, chars) -- Persist the prompt context character budget.
  • ToolCatalog.__init__ (method) modules/lazy_loop.py:7146 def __init__(self) -- Load binding table.
  • ToolCatalog.bindings (method) modules/lazy_loop.py:7163 def bindings(self, agent) -- Return bindings for one agent or the whole table.
  • ToolCatalog.bind (method) modules/lazy_loop.py:7168 def bind(self, agent, tool) -- Opt a tool into an agent lane.
  • ToolCatalog.unbind (method) modules/lazy_loop.py:7177 def unbind(self, agent, tool) -- Remove a tool from an agent lane.
  • SideQuestions.ask (method) modules/lazy_loop.py:7197 def ask(self, task_id, question, pool, session) -- Answer from graph overview + recent trace within a char budget.
  • SideQuestions.history (method) modules/lazy_loop.py:7243 def history(self, task_id, session, limit) -- Return persisted side exchanges, optionally one session only.
  • SideQuestions.sessions (method) modules/lazy_loop.py:7251 def sessions(self, task_id) -- Return side-question session names for a task.
  • CompanyScope.__init__ (method) modules/lazy_loop.py:7264 def __init__(self) -- Load company table.
  • CompanyScope.add (method) modules/lazy_loop.py:7272 def add(self, name, scope) -- Register a company with an optional scope pattern.
  • CompanyScope.list (method) modules/lazy_loop.py:7281 def list(self) -- Return companies with asset counts.
  • CompanyScope.match (method) modules/lazy_loop.py:7285 def match(self, value) -- Return companies whose scope substring hits the value.
  • TaskArchive.save (method) modules/lazy_loop.py:7294 def save(self, task_id) -- Snapshot task record + graph + activity tail into one archive.
  • TaskArchive.list (method) modules/lazy_loop.py:7315 def list(self) -- Return archive snapshots with task + node counts.
  • TaskArchive.restore (method) modules/lazy_loop.py:7337 def restore(self, path) -- Restore one archive as a NEW task; returns the new task id.
  • TaskArchive.stats (method) modules/lazy_loop.py:7404 def stats(self) -- Aggregate counts across archives like archive aggregate stats.
  • TaskTemplate.__init__ (method) modules/lazy_loop.py:7413 def __init__(self) -- Bind template table.
  • TaskTemplate.list (method) modules/lazy_loop.py:7421 def list(self) -- Return all templates.
  • TaskTemplate.add (method) modules/lazy_loop.py:7425 def add(self, name, goal) -- Register a template; names are unique (overwrite on clash).
  • TaskTemplate.remove (method) modules/lazy_loop.py:7435 def remove(self, name) -- Delete a template by name.
  • TaskTemplate.get (method) modules/lazy_loop.py:7445 def get(self, name) -- Return one template by name or None.
  • TaskCategory.__init__ (method) modules/lazy_loop.py:7456 def __init__(self, store) -- Bind optional task store.
  • TaskCategory.set (method) modules/lazy_loop.py:7461 def set(self, task_id, category) -- Label a task; returns the mapping.
  • TaskCategory.get (method) modules/lazy_loop.py:7468 def get(self, task_id) -- Return the category for a task or empty string.
  • TaskCategory.list (method) modules/lazy_loop.py:7472 def list(self, category) -- Return task->category rows, optionally filtered.
  • TaskChat.say (method) modules/lazy_loop.py:7487 def say(self, task_id, text, pool, session) -- Append a human turn and answer from task context; returns both.
  • TaskChat.log (method) modules/lazy_loop.py:7530 def log(self, task_id, limit, session) -- Return recent conversation turns, optionally one session only.
  • TaskChat.sessions (method) modules/lazy_loop.py:7546 def sessions(self, task_id) -- Return session names active in a task.
  • TaskChat.clear (method) modules/lazy_loop.py:7555 def clear(self, task_id, session) -- Drop one session's turns, or the whole log when session is empty.
  • LazyLoopEngine.__init__ (method) modules/lazy_loop.py:7610 def __init__(self, shell) -- Load shared stores.
  • LazyLoopEngine.apply_profile (method) modules/lazy_loop.py:7645 def apply_profile(self, name) -- Apply one orchestrator profile to this engine.
  • LazyLoopEngine.bind_shell (method) modules/lazy_loop.py:7680 def bind_shell(self, shell) -- Attach the live shell so workers route auto/addon verbs via it.
  • LazyLoopEngine.ensure_target (method) modules/lazy_loop.py:7764 def ensure_target(self, task_id, target, reason) -- Register scope + asset for target like lazy_scope/lazy_asset.
  • LazyLoopEngine.orchestrate (method) modules/lazy_loop.py:7791 def orchestrate(self, goal, task_id, target, max_rounds, workers, timeout_sec, executor) -- Single entry for lazy_loop + auto_loop: create, scope, run, report.
  • LazyLoopEngine.create_task (method) modules/lazy_loop.py:7819 def create_task(self, goal, description) -- Create task, decompose goals, register scope, return summary.
  • LazyLoopEngine.spawn_task (method) modules/lazy_loop.py:7848 def spawn_task(self, goal, source_task_ids, description) -- Create a task read-only inheriting assets and findings.
  • LazyLoopEngine.list_tasks (method) modules/lazy_loop.py:7898 def list_tasks(self) -- Fleet view: every task with live intent/fact/finding counters.
  • LazyLoopEngine.pause_task (method) modules/lazy_loop.py:7926 def pause_task(self, task_id, reason) -- Pause another task from here (cross-task control).
  • LazyLoopEngine.resume_task (method) modules/lazy_loop.py:7937 def resume_task(self, task_id) -- Resume a paused task from here (cross-task control).
  • LazyLoopEngine.task_graph (method) modules/lazy_loop.py:7947 def task_graph(self, task_id) -- Graph overview of another task (get_task_graph parity).
  • LazyLoopEngine.task_findings (method) modules/lazy_loop.py:7953 def task_findings(self, task_id) -- Findings of another task with severity, status and report size.
  • LazyLoopEngine.task_traces (method) modules/lazy_loop.py:7972 def task_traces(self, task_id, query, limit) -- Worker traces of another task, keyword-filtered when asked.
  • LazyLoopEngine.task_node_detail (method) modules/lazy_loop.py:7981 def task_node_detail(self, task_id, node_id) -- Full node view of another task (get_task_node_detail parity).
  • LazyLoopEngine.update_finding_report (method) modules/lazy_loop.py:7987 def update_finding_report(self, task_id, finding_id, report) -- Write the narrative report of another task's finding.
  • LazyLoopEngine.broadcast_events (method) modules/lazy_loop.py:7999 def broadcast_events(self, task_id, cursor, batch) -- Return activity records after a line cursor (SSE resume parity).
  • LazyLoopEngine.add_hint (method) modules/lazy_loop.py:8032 def add_hint(self, task_id, text) -- Inject human steering hint read by the next planner round.
  • LazyLoopEngine.add_intent (method) modules/lazy_loop.py:8050 def add_intent(self, task_id, summary, asset_ids, parent_ids, priority) -- Directly inject high-priority intent like the planner main-agent add_intent.
  • LazyLoopEngine.set_goals (method) modules/lazy_loop.py:8075 def set_goals(self, task_id, specs) -- Replace/append decomposed objectives like set_goals; wakes the task.
  • LazyLoopEngine.edit_goal (method) modules/lazy_loop.py:8092 def edit_goal(self, task_id, goal_id, text) -- Edit a goal node like the goals manager.
  • LazyLoopEngine.delete_goal (method) modules/lazy_loop.py:8104 def delete_goal(self, task_id, goal_id) -- Delete a goal node; done tasks with no goals left stay done.
  • LazyLoopEngine.preview_delete_intent (method) modules/lazy_loop.py:8115 def preview_delete_intent(self, task_id, intent_id) -- Estimate hard-delete cascade without mutating anything.
  • LazyLoopEngine.delete_intent (method) modules/lazy_loop.py:8138 def delete_intent(self, task_id, intent_id, mode, reason) -- Delete an intent in soft (fake) or hard (true) mode.
  • LazyLoopEngine.pause_intent (method) modules/lazy_loop.py:8283 def pause_intent(self, task_id, intent_id) -- Pause a runnable intent like the lazy worker interrupt.
  • LazyLoopEngine.resume_intent (method) modules/lazy_loop.py:8308 def resume_intent(self, task_id, intent_id) -- Resume a paused intent back to the claimable queue.
  • LazyLoopEngine.send_worker_message (method) modules/lazy_loop.py:8331 def send_worker_message(self, task_id, intent_id, message, request_id) -- Continue a paused worker intent with a human message.
  • LazyLoopEngine.goal_met (method) modules/lazy_loop.py:8379 def goal_met(self, task_id, reason) -- Declare the whole task complete like goal_met (weighted, audited).
  • LazyLoopEngine.record_fact (method) modules/lazy_loop.py:8389 def record_fact(self, task_id, text, evidence, intent_id) -- Operator-visible fact write like recordFact.
  • LazyLoopEngine.record_verdict (method) modules/lazy_loop.py:8396 def record_verdict(self, task_id, finding_id, verdict, note) -- Record an operator retest verdict on one finding.
  • LazyLoopEngine.run_round (method) modules/lazy_loop.py:8485 def run_round(self, task_id, workers, executor, pool) -- Run one orchestrated round invoking every subsystem in order.
  • stage_enabled (function) modules/lazy_loop.py:8536 def stage_enabled(_name)
  • LazyLoopEngine.run (method) modules/lazy_loop.py:8980 def run(self, task_id, max_rounds, workers, executor, timeout_sec) -- Drive rounds until goals met, frontier drains, or budget exhausts.
  • LazyLoopEngine.prove_goal (method) modules/lazy_loop.py:9225 def prove_goal(self, task_id, goal_id, evidence_id, reason) -- Mark goal met with finding/fact evidence like the planner prove_goal.
  • LazyLoopEngine.delete_task (method) modules/lazy_loop.py:9271 def delete_task(self, task_id) -- Delete a task record plus every store file scoped to it.
  • LazyLoopEngine.proxy_start (method) modules/lazy_loop.py:9305 def proxy_start(self, host, port, task_id, trust, upstream) -- Start the shared recorder proxy and apply its trust environment.
  • LazyLoopEngine.proxy_stop (method) modules/lazy_loop.py:9341 def proxy_stop(self) -- Stop the recorder proxy and clear its trust environment.
  • LazyLoopEngine.proxy_status (method) modules/lazy_loop.py:9349 def proxy_status(self) -- Return recorder proxy state (running, address, CA, exchanges).
  • LazyLoopEngine.proxy_env (method) modules/lazy_loop.py:9355 def proxy_env(self) -- Return the environment overrides that route tools via proxy.
  • LazyLoopEngine.set_concurrency (method) modules/lazy_loop.py:9364 def set_concurrency(self, limit) -- Cap concurrently running tasks; 0 disables admission control.
  • LazyLoopEngine.admission_check (method) modules/lazy_loop.py:9385 def admission_check(self, task_id) -- Return whether a task may run now, queueing it when capped.
  • LazyLoopEngine.drain_queue (method) modules/lazy_loop.py:9404 def drain_queue(self, max_tasks) -- Run queued tasks FIFO while the concurrency cap allows.
  • LazyLoopEngine.ingest_proxy_traffic (method) modules/lazy_loop.py:9432 def ingest_proxy_traffic(self, task_id, limit) -- Mirror new recorder exchanges into the task traffic log.
  • LazyLoopEngine.search_proxy_body (method) modules/lazy_loop.py:9486 def search_proxy_body(self, task_id, query, limit) -- Full-text search proxy bodies scoped to one task's exchanges.
  • LazyLoopEngine.export_task_traffic (method) modules/lazy_loop.py:9578 def export_task_traffic(self, task_id) -- Export the task's proxy exchanges next to its archive.
  • LazyLoopEngine.export_evidence (method) modules/lazy_loop.py:9607 def export_evidence(self, task_id, dest) -- Freeze every task artefact into a hash-manifested zip package.
  • LazyLoopEngine.export_findings_report (method) modules/lazy_loop.py:9666 def export_findings_report(self, task_id, path, fmt) -- Render the severity-ranked report to Markdown, JSON or CSV.
  • LazyLoopEngine.status (method) modules/lazy_loop.py:9781 def status(self, task_id) -- Return full inspectable state for one task.
  • LazyLoopEngine.graph_overview (method) modules/lazy_loop.py:9801 def graph_overview(self, task_id) -- Return planner-facing overview plus coverage and scope.
  • LazyLoopEngine.broadcast (method) modules/lazy_loop.py:9863 def broadcast(self, task_id, kinds, query, order, page, per_page, states) -- Paginated exploration timeline like the lazy broadcast board.
  • LazyLoopEngine.loop_graph (method) modules/lazy_loop.py:9987 def loop_graph(self, task_id) -- Return task graphs as ForceGraph-ready nodes/links.
  • LazyLoopEngine.graph_context (method) modules/lazy_loop.py:10056 def graph_context(self, task_id, top) -- Rank exploration topology to steer planner actions.

modules/lazy_mentions.py

Depends on: modules/lazy_loop.py Imported by: cli/commands/lazyloop.py, lazyc2.py, skills/lazyown_mcp.py, tests/test_security_codeql_batch.py

  • search_mentions_page (function) modules/lazy_mentions.py:193 def search_mentions_page(kind, query, cursor) -- Search one scroll page of mention candidates.
  • parse_mentions (function) modules/lazy_mentions.py:237 def parse_mentions(message) -- Parse @[kind#id] tokens trusting type plus numeric id only.
  • compose_message (function) modules/lazy_mentions.py:268 def compose_message(message) -- Append server-read snapshots for referenced records as data.

modules/lazy_orchestrator_feedback.py

Depends on: modules/lazy_cli_bridge.py, modules/lazy_intel.py Imported by: modules/auto_registry.py, modules/lazy_loop.py, modules/mediation/feedback_mediator.py, tests/test_loop_supervision.py, tests/test_mediation.py

Next: API_p14.md

Start

Wiki

Agent Docs

Recipes

Clone this wiki locally