Skip to main content

flameox

Bounded local runtime evidence for coding agents.

Flameox coordinates profilers, benchmark tools, trace processors, and direct local targets. It gives an agent a short path from an explicit native artifact or live command to bounded evidence, while keeping preservation optional.

Version 0.2 is a clean break. There is no workspace to initialize, no flameox.toml, no SQLite control plane, no durable job to poll, and no parent directory discovery. Existing artifacts remain usable by passing their exact paths and formats to analyze; old .diagnostics state is not migrated.

Quick start

uv sync --extra dev --extra memory --extra trace --extra cpu
uv run flameox capabilities discover --intent "CPU hotspots"
uv run flameox analyze artifact.preview /absolute/path/to/artifact.json
uv run flameox capture --provider direct -- python benchmark.py

The MCP server fixes its project root at startup. Manual launches default to the startup working directory:

uv run flameox mcp serve --project-root "$PWD"

flameox setup prints the equivalent stdio client configuration. Explicit --provider selections add the matching Python extras to a persistent uv tool environment without removing its existing provider extras. System and vendor tools are diagnosed with external install guidance. Setup never initializes the project or creates .flameox.

Authority model

explicit artifact paths / typed direct target
                    │
                    ▼
         bounded process-lifespan runtime
             │                │
             ▼                ▼
       inline evidence   session scratch/cache
                              │
                       explicit preservation
                              │
                              ▼
                    <project>/.flameox

Analysis and unpreserved capture make no durable Flameox writes. Capture artifacts stay in bounded session scratch until preservation or server shutdown. The first preserve_evidence call creates .flameox, stores native bytes and a canonical evidence bundle by SHA-256, and adds .flameox/ to the repository-local .git/info/exclude when applicable.

The agent owns hypotheses and narrative findings in its own notes. Flameox owns only observed inputs, effective requests, execution provenance, typed evidence, coverage, truncation, limitations, and optional immutable preservation.

MCP interface

The server exposes exactly six tools:

  • discover_capabilities
  • inspect_capabilities
  • analyze
  • capture_and_analyze
  • preserve_evidence
  • query_evidence

It exposes one resource template, flameox://evidence/{evidence_id}, for the digest-bound, redacted projection of the canonical immutable manifest. Full argv, environment values, working directories, and host paths remain available only through explicit local manifest inspection. Native artifact bytes are deliberately not available as MCP resources.

Direct capture accepts an argv array, a project-contained cwd, bounded environment overrides, provider and analysis arguments, and limits. Shell strings are never accepted. Work remains owned by the live MCP request, so SDK progress and cancellation apply directly; there are no detached or restart-surviving tasks.

Managed external collectors such as py-spy execute from Flameox's uv tool environment. In-process collectors such as coverage.py and Memray are verified in, and run with, the workload's declared Python interpreter. Flameox does not substitute one Python runtime for the other.

Evidence quality

An investigation still follows:

symptom → capture or explicit artifact → bounded evidence → hypothesis
        → discriminating experiment → supported, refuted, or inconclusive finding

A profile supports exploration, not causality. Confirmatory claims require a representative target, declared metric and estimand, compatible identities, preserved samples, a practical threshold, and an appropriate semantic oracle.

See architecture, storage and evidence, interfaces, runtime safety, and investigations for the contracts.

Development

Flameox requires Python 3.12 or newer and uses the committed uv.lock.

uv run ruff check src tests tools
uv run ruff format --check src tests tools
uv run mypy src tests tools
uv run lint-imports
uv run pytest -q

The project is licensed under the MIT License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flameox-0.2.2.tar.gz (15.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flameox-0.2.2-py3-none-any.whl (174.3 kB view details)

Uploaded Python 3

File details

Details for the file flameox-0.2.2.tar.gz.

File metadata

  • Download URL: flameox-0.2.2.tar.gz
  • Upload date:
  • Size: 15.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for flameox-0.2.2.tar.gz
Algorithm Hash digest
SHA256 2c9572ea5aba884ce0e53003a0a96b222b1990a076fa2c8efeb3802846d6b6e3
MD5 b6d116649d2ea2f68cbc30887abf2210
BLAKE2b-256 3a251d6cdbcc4a501ac707caade70ab90da35a574b4340ba12bf41587cd7e9d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for flameox-0.2.2.tar.gz:

Publisher: release.yml on morluto/flameox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flameox-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: flameox-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 174.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for flameox-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2c7ac20e9341df796cb61d5a3a333000e163a98e077380f0d3a106e16cd91065
MD5 3b05bfc62987ab4de78396e87d6dc859
BLAKE2b-256 cf30272f6e8c7f1ecc9c2995f43539181c40bd5ffcc28498330e904668070650

See more details on using hashes here.

Provenance

The following attestation bundles were made for flameox-0.2.2-py3-none-any.whl:

Publisher: release.yml on morluto/flameox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

This release

0.2.2 This release

2 files

0.2.1

2 files

0.1.15

2 files

0.1.14

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page