marla.knowledge
Deterministic, non-learned retrieval over the static Plan Maker knowledge base – no vector database, no embeddings.
Deterministic lightweight RAG over the static NASimEmu knowledge base (spec section 8).
No vector database, no embeddings, no learned retrieval: rules are matched
by evaluating fixed boolean predicates over the request’s visible
observation summary and the current legal action types, and returned in
the knowledge file’s own stable order. Nothing here changes across runs
given the same inputs, and nothing here is learned or updated from
previous MARLA runs.
- class marla.knowledge.retriever.KnowledgeBase(version: 'str', rules: 'tuple[KnowledgeRule, ...]')[source]
Bases:
object- Parameters:
version (str)
rules (tuple[KnowledgeRule, ...])
- rules: tuple[KnowledgeRule, ...]
- class marla.knowledge.retriever.KnowledgeRule(id: 'str', observation_flags: 'tuple[str, ...]', legal_action_types: 'tuple[str, ...]', text: 'str')[source]
Bases:
object- Parameters:
- marla.knowledge.retriever.compute_observation_flags(observation)[source]
Derive boolean observation flags from the request’s visible observation summary.
observationis the JSON summary built byenvironment.observation_summary.build_observation_summary: a dict with ahostslist (each host carryingaccess,reachable, and theknown_services/known_processes/known_osname lists – all visible-only) plus the scenario-widesensitive_hosts_total/sensitive_hosts_with_root_accesscapture-target progress counts.
- marla.knowledge.retriever.resolve_knowledge_path(path)[source]
Resolve a
package://marla/...or plain filesystem knowledge path reference.
- marla.knowledge.retriever.retrieve_rules(knowledge_base, observation, legal_action_types)[source]
Deterministic predicate evaluation; returns a stable ordered subset.
A rule matches when ALL of its
observation_flagsare currently active (vacuously true if empty) AND at least one of itslegal_action_typesis present among the current legal actions (vacuously true if empty, i.e. the rule applies regardless of type).- Parameters:
- Return type: