Skip to content

Kropiunig/penumbra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PENUMBRA

A Multi-Agent Consensus Substrate for Iterative Discovery of Unknown Unknowns

From a single intent, an expanding lattice of inquiry.

Submission to the Optimization Arena Automated Research Hackathon — Projects Track — hosted by Paradigm.


Abstract

Automated research today optimizes against the known. The frontier — and the failure mode — is the unknown unknown: the hypothesis no one thought to test, the regime no benchmark covers, the assumption silently load-bearing the entire result. PENUMBRA is an abstract framework for a multi-agent consensus system that ingests a smart intent — a compressed, under-specified statement of research desire — and iteratively unfolds it into a self-revising frontier of investigation. Rather than converging on an answer, PENUMBRA converges on the shape of its own ignorance, surfacing latent variables, adversarial framings, and orthogonal hypotheses that no individual agent could have proposed alone.


The Framework — Five Layers

1. Intent Crystallization — Oracle Layer

A smart intent — terse, ambiguous, often a single sentence — is parsed into a latent objective manifold: a probabilistic field of possible interpretations, each weighted by epistemic plausibility. The intent is never "resolved." It is held in superposition.

2. Heterogeneous Agent Ensemble — Chorus Layer

A diverse council of agents — each instantiated with deliberately divergent priors, toolchains, and epistemic temperaments (skeptic, generator, falsifier, analogist, cartographer, devil) — operate in parallel against the manifold. Diversity is not decorative; it is the sole mechanism by which unknown unknowns become locally visible.

3. Dissensus Mining — Penumbra Layer

Conventional ensembles collapse disagreement. PENUMBRA mines it. Where agents diverge, a dissensus signal is recorded — these are the system's coordinates of ignorance. Agreement is cheap; productive disagreement is the gradient along which the unknown becomes known.

4. Consensus Distillation — Crucible Layer

A weighted Byzantine-fault-tolerant aggregation, modulated by calibrated confidence and adversarial cross-examination, distills provisional consensus — explicitly tagged with the dissensus residue that did not resolve. Every conclusion carries its own shadow.

5. Recursive Re-Intent — Ouroboros Layer

The unresolved residue is re-encoded as a new smart intent and fed back to the Oracle. The system iterates — not toward an answer, but toward closure of the epistemic frontier. Termination is not convergence; it is the exhaustion of productive surprise.


Why PENUMBRA

  • Aligned with the hackathon thesis: automated research is bottlenecked by hypothesis generation, not execution. PENUMBRA attacks the bottleneck directly.
  • Track-agnostic substrate: the framework can wrap the Negotiation, Prediction Market, and Attention Kernel tracks as downstream optimizers — agents propose strategies, dissensus mining surfaces unexplored regions of strategy space.
  • Demonstrable: an MVP harness with 5 agents, a dissensus logger, and a recursive intent loop fits inside hackathon scope.

Repository Layout

penumbra/
  intent.py        # Oracle  — crystallizes intent into a latent objective manifold
  agents.py        # Chorus  — heterogeneous temperaments (Skeptic, Generator,
                   #           Falsifier, Analogist, Cartographer, Devil)
  chorus.py        # Chorus orchestration (parallel, isolated within a round)
  dissensus.py     # Penumbra layer — mines productive disagreement,
                   #                  blindspot frontier, orphan questions
  crucible.py     # Byzantine-tolerant consensus distillation that *preserves*
                   # its own dissensus residue
  ouroboros.py    # Recursive re-intent loop + frontier-exhaustion termination
  core.py          # Top-level Penumbra orchestrator
  llm.py           # Backend abstraction (Anthropic + offline MockBackend)
  cli.py           # `penumbra "your intent"` CLI
examples/run_demo.py
tests/test_smoke.py

Quickstart

pip install -e .

# Offline (mock backend, deterministic) — works without any API key
python examples/run_demo.py

# With Claude
export ANTHROPIC_API_KEY=sk-ant-...
penumbra "Find the regime in which our automated-research agents stop improving."

Design Notes

  • Diversity is the only mechanism for unknown-unknown discovery. The six default temperaments are chosen to span epistemic moves (skepticism, generation, falsification, analogy, cartography, reframing), not to maximize average answer quality.
  • Dissensus is signal, not noise. The DissensusMiner weighs lexical divergence by minimum agent confidence: two confused agents disagreeing is noise; two confident agents disagreeing is signal.
  • Every consensus carries its shadow. The Crucible is Byzantine- tolerant but never discards the residue — it tags every conclusion with the disagreement that survived aggregation.
  • Termination is exhaustion of productive surprise, not convergence. The Ouroboros halts when blindspot novelty stays low for patience cycles, not when the chorus agrees.

Tests

pytest tests/

PENUMBRA does not answer questions. It teaches the question to ask itself.

About

A Multi-Agent Consensus Substrate for Iterative Discovery of Unknown Unknowns — Optimization Arena Hackathon submission

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages