Luc1 is not a scanner and not a chatbot. It is a memory-backed operating layer for authorized red teams: local models, local tools, specialist lanes, and evidence that survives between stages.

The shape is simple: Scout, Judge, Act, Remember. Scout maps services, HTTP behavior, APIs, files, identities, binaries, and campaign context. Judge compresses evidence and asks stronger reasoning what matters. Act validates inside the operator’s tool environment and Rules of Engagement. Remember carries findings, outputs, decisions, and prior context forward so the operation does not restart after every turn.

It is built for environments where sending assessment data to a cloud service is a non-starter. Models run locally through the operator stack. Tools run locally. Evidence stays in the operator environment. The specialist lanes - web and network, identity and cloud, forensics, reverse engineering, malware analysis, social-engineering simulation, and reporting - reflect how real teams divide work.

The current system has demonstrated an end-to-end chain with local models, local tooling, shared memory, and operator-owned targets. The build remains pre-release while broader lanes, reporting, and deployment surfaces continue to harden.

cat redacted-results.log sanitized logs

Benchmark run summary

redacted aggregate

Benchmark output is reduced to aggregate run data while preserving the shape of the test.

sanitized-output
suite: XBEN-redacted
target_profile: local lab
model_path: local Ollama via LiteLLM
runs_completed: 88
successful_chains: 71
median_duration: 11m 42s
median_tokens: 58,900
cloud_calls: 0
raw_flags_published: false

Operation memory excerpt

redacted trace

The useful proof is the handoff: recon facts become judged evidence, then scoped action.

sanitized-output
scout.finding[12]:
  service: https
  host: target-[REDACTED].lab
  evidence: login panel + exposed API schema
judge.decision:
  priority: high
  reason: auth boundary likely testable within ROE
act.result:
  tool: local sandbox
  status: validated
  preserved_to_memory: true