praxis-stack
v1.6.0 package MIT license Tier 0 no backend required 26 operational traps multi-harness Claude · Codex · Grok OSS community cert

praxis-stack

Open-source megapraxis + metamegapraxis — a self-auditing session-bootstrap system for agentic coding harnesses. Install once. Orient every session from disk-verified truth. Name what you cannot decide.

Get started Read the white paper Download skills zip Live audit state
Distribution: site-served zip + dumb-HTTP git marketplace Sibling operant: intrikata.com (optional) Discovery: llms.txt
checking live audit snapshot… open Live State

Why this exists

Agentic coding sessions start cold: hundreds of skills and agents, multi-project memory, optional MCP backends, and no deterministic opening move. Teams invent counts, miss dark plugins, trust docs that never shipped, and declare “done” while undecidable gaps hide under green.

praxis-stack is the portable, open-source answer: two skills that bootstrap the session honestly, then audit the bootstrap itself — with a public site that shows scrubbed live state and a proven self-audit cycle with receipts.

1.6.0 convergence release

Current-snapshot closure now includes fail-closed frontmatter parsing, a provenance-preserving MGS convergence runner, a semantics-aware fixed-point fingerprint, compositional metamegapraxis phases, and the CodexCode assistant path. The unchanged repeat was proven to return the prior verdict without writing a new SwarmInvocation.

Machine-readable convergence certificate · target d7d96f62…d887 · 281 skills · 0 enabled unclassified

What you get

megapraxis

Session bootstrap: 7 modes, dark-plugin detection, truth-on-disk briefing. Filesystem-fallback is first-class.

metamegapraxis

Meta-auditor: 26 trap probes, compositional phases, bridge integrity, propose/apply, optional multi-lens SwarmInvocation.

Tarski honesty

Residuals named (decidable / semi-decidable / undecidable). Never silently absorbed into “complete”.

Bridge flywheel

Recurring reasoning compiles to short-circuits. Novel work still pays full price — residual load-bearing.

Multi-harness

Claude Code, OpenAI Codex, Grok Build, plus AGENTS.md / Cursor / Gemini adapters.

Local realize

Self-realizing cross-OS deploy of the white-paper architecture — skill + realize.py + optional Tier-1 stub.

Live transparency

Public D1 snapshots API + Proven Cycle demo with browser-side PASS/FAIL checks.

Self-realize locally (cross-agent · cross-OS)

Materialize megapraxis + metamegapraxis on this machine for Claude, Codex, and Grok — Windows, macOS, or Linux — without inventing success:

# Windows
iwr https://praxis-stack.pages.dev/scripts/realize.py -OutFile realize.py
py -3 realize.py --harness all --tier 0 --force

# macOS / Linux
curl -sL https://praxis-stack.pages.dev/scripts/realize.py -o realize.py
python3 realize.py --harness all --tier 0 --force

Skill: praxis-local-realize · optional Tier 1: --tier 1 --backend-dir ./praxis-backend · package 1.6.0

Get started in 60 seconds

Pick your harness. Proof of install is the running registry / a real briefing — not “files exist on disk.”

codex plugin marketplace add https://praxis-stack.pages.dev/git/praxis-stack.git
codex plugin add praxis@praxis-stack
Codex playbook Certificate

Relaunch Codex once, start a new task, invoke $praxis:megapraxis. Plugin = two instruction skills only (no MCP/hooks/auth).

curl -sL https://praxis-stack.pages.dev/pkg/praxis-stack-skills.zip -o praxis.zip
# unzip, then copy praxis/skills/* → ~/.claude/skills/
# or: python3 install.py --target ~/.claude/skills

Skills hot-reload next turn. Marketplace/plugin installs still need app restart (trap #2).

# Windows
iwr https://praxis-stack.pages.dev/pkg/praxis-stack-skills.zip -OutFile praxis.zip
# Expand-Archive; py install.py --target "%USERPROFILE%\.grok\skills"
# Then say: /megapraxis   (expect _via: filesystem_)

Verdict: converged-modulo-harness. Missing Pharosiraptor MCP is expected. Do not auto-run a 150K-token self-audit swarm on onboard.

git clone https://praxis-stack.pages.dev/git/praxis-stack.git
# or: https://praxis-stack.pages.dev/pkg/praxis-stack-skills.zip
python3 install.py --harness codex   # or --target ~/.claude/skills | ~/.grok/skills

Documentation map

Open source & community

Community kit

How to contribute

  1. Clone or unpack the package; install skills locally
  2. Run /megapraxis then /metamegapraxis
  3. Propose patches as artifacts / PRs with content-anchored evidence
  4. Never invent counts; name Tarski residuals on “complete” claims
  5. Rebuild package + validate before publishing distribution surfaces

Canonical distribution is this site (zip + dumb-HTTP git). Keep package version + SwarmInvocation provenance in forks.

Project principles

PrincipleMeaning
Truth-on-diskUnverified claims are dropped, never emitted
Content anchorsEvidence by symbol / grep-stable phrase — not line pins
Trap roll-call26 silent-failure classes with disk/runtime probes
Tarski honestyUndecidables named every audit; no silent defaults
Apply is explicitMeta-audit is read-only until operator says apply
Short-circuit ≠ skip residualNovelty still pays full price

Who is this for?

Named residual (distribution)

There may not be a single public GitHub “stars” upstream for every fork. The zip + site-served git tree are the canonical portable surfaces. Community discovery residual is mitigated by llms.txt, onboard certs, and this homepage — not claimed solved forever.

What this is

Claude Code (and peer harness) sessions start cold: hundreds of installed skills, agents, and MCP servers; memory spanning every project on a machine; no deterministic opening move. The praxis stack is a pair of skills that fixes this — and then audits itself.

megapraxis — the session bootstrap

megapraxis runs at session start. It detects one of seven modes from the working directory's shape and history, inventories skills/agents/MCP servers, flags silently-broken ("dark") plugins, reads project memory and git state, and emits a short dashboard briefing. Its contract: every line corresponds to a truth on disk — unverified claims are dropped, never emitted; counts that weren't computed render as count-skipped, never as guesses.

ModeFires when
hook-autoSessionStart hook; 3-line kernel briefing, no questions
active-projectcwd is a real project (git repo / manifest / memory)
containercwd holds multiple project subdirs
picker2+ sub-projects recently active — asks which one
machine-dashboard"show all projects" — machine-wide scan
coldno prior context; minimal catalog
resume"pick up where we left off" — replays the last unresolved thread

metamegapraxis — the meta-auditor

Where megapraxis briefs the session, metamegapraxis briefs megapraxis. It rolls through 26 documented operational traps (each with a disk-verifiable probe), checks the bridge manifest's referential integrity, computes coverage deltas, and — when single-lens auditing isn't enough — dispatches a four-agent audit swarm whose verdicts persist to a knowledge graph. Focus and phase selectors compose in the fixed order audit → diff → swarm → propose → apply; applying changes never implicitly authorizes an expensive swarm dispatch.

The 26 operational traps

Silent-failure classes learned in production. Live roll-call is on the Live State tab. Full probe semantics: white paper §7.

#TrapOne-line signal
1plugin-manifest-misplacedmanifest at plugin root instead of .claude-plugin/ — plugin silently absent while settings say ON
2session-vs-app-restartnew session ≠ new process; plugin configs load only at app launch
3user-belief-vs-harness"it should be registered now" is a hypothesis until the harness confirms it
4stdio-works-cc-never-launchedserver responds when run manually, but the host never spawned it
5http-up-not-stdio-upHTTP health check green while the stdio MCP sibling is down — separate processes
6windows-python-store-stubbare python resolves to a Store alias that prints an install nag and exits 1
7stale-pyc-shadowingbytecode mtime ties can shadow a fresh source edit
8fabricated-counta number derived from a truncated listing instead of a real count
9heuristic-classificationclient-side guesswork silently replacing an auditable server-side contract
10fix-violates-feedbacka proposed action contradicting a saved user correction
11ghost-warm-slugdirectory looks recently active because a memory file was touched, not a session
12stale-graph-cachegraph snapshot lagging fresh disk state
13new-agent-needs-restartagent files written mid-session are invisible until app relaunch
14marketplace-root-claude-plugina marketplace manifest dir misread as a stray plugin — deleting it darkens everything it publishes
15mcp-disconnect-mid-sessiontool roster shrinks mid-session while the HTTP backend stays up
16tmp-on-windows/tmp/ writes that the next shell can't read back
17shell-escape-json-winpathbackslash paths mangled across shell/curl escape layers
18claude-md-aspirational-routedocs describe an endpoint the code never shipped — the handler is the truth
19bulk-finalize-no-contribution-checkblanket-failing pending work destroys provenance of runs that succeeded
20userpromptsubmit-empty-payloadsaudit rows persisted before their fields were populated leak forever-pending
21settings-dark-harness-resolvessettings say a plugin is off; the runtime dispatches it anyway — the harness wins
22malformed-settings-jsonone trailing comma silently disables every plugin and hook
23while-read-subshell-hangper-iteration subshells on MSYS stretch a 300ms scan to minutes
24stale-head-clean-worktree-deploya remembered commit is deployed after another session advanced HEAD
25intrikata-local-bridge-session-mismatchthe browser and local bridge use different session ids while both appear healthy
26seed-simg-non-converge-without-op-contributiona non-converged seed emits advice but no persisted assistant contribution

Verdicts and Tarski honesty

Audit cycles terminate with an explicit verdict — converged, converged-modulo-restart, extend, extend-stable, degrade, cycle-complete-extend-deferred, or INCOMPLETE (with reason). What can't be decided is named, never absorbed: five canonical undecidables (unknown-unknowns, true-lens-independence, fixed-point-vs-plateau, state-validity-horizon, converged-vs-correct) plus observation-class buckets appear in every audit rather than being quietly folded into "all done".

Swarms and the bridge flywheel

When one lens isn't enough — self-audit above all — the stack composes an agent swarm: four reviewers in a pipeline, a coordinator synthesizing a verdict, every contribution persisted to a graph. Recurring reasoning compiles into bridges. The 1.6.0 fingerprint covers canonical skill membership, enabled state, layer assignments, orphan state, and completeness; an unchanged re-audit re-asserts the prior verdict without creating a new invocation. Novelty still pays full price.

Assistant runtime boundary

The optional graph backend can route work through ClaudeCode, CodexCode, or GrokBuild. CodexCode keeps codex exec on the Codex installation's subscription authentication. Only its unavailable-CLI fallback uses the official OpenAI CLI with a child-scoped API key; that fallback does not reconfigure the desktop app, and no secret is included in this package or site.

Onboarding short-circuits

One real cycle, end to end — with receipts

This is not a mock-up. On 2026-07-17 the stack ran its full loop against itself — /megapraxis boot → /metamegapraxis audit → four-agent self-audit swarm → coordinator verdict → fixes applied → this site republished — and every stage left records. This tab replays that cycle and labels each claim by how far you can verify it from here:

The punchline is the loop eating its own cooking: the swarm's CRITICAL finding this cycle was that a fix recorded as "done, pending restart" by the previous cycle had landed in dead code — found because the dispatch tooling failed live during this very cycle's dispatch.

loading cycle data…

Operational state

loading snapshot…