Date: 2026-06-09
Pixir Harness is available as an early developer preview. This note records the public preview scope for source installs and the narrow Hex CLI/ACP distribution path. It does not define a stable Elixir library contract.
0.1.3 ACP Registry Readiness Update
Pixir 0.1.3 keeps the same CLI/ACP-only Hex contract and adds the pieces needed for public ACP Registry validation:
- ACP
initializenow advertises terminal authentication throughpixir login, while Pixir still owns OAuth and credential storage outside the ACP stdio channel. - ACP message projection and diagnostics preserve partial assistant evidence more honestly when Provider streams end unexpectedly.
- Source checkouts include the repo-local
bin/diagnose-t3-pixir-projectionhelper for comparing Pixir Log truth, T3 provider logs, and T3 projection storage when a response is not visible where expected. It is not part of the Hex package surface. - CI is split into clearer Pixir check gates and the projection diagnostic tests can run
with
uvor a plain Python runner.
This release is the intended Hex base for the public npx ACP Registry wrapper.
0.1.1 Runtime Diagnostics Update
Pixir 0.1.1 keeps the same CLI/ACP-only Hex contract and adds local Session diagnostic surfaces for operators:
pixir inspect-replay <session-id> --jsoninspects replay continuity from the local Log.pixir diagnose session <session-id> --jsonemits a structured Session diagnostic verdict for replay, lifecycle, and local evidence review.- Replay folding now tolerates transparent lifecycle/status Events between matched
tool_callandtool_resultrecords. - The escript SIGINT path no longer depends on
Mix.env/0at runtime.
The repo-local Codex/Pixir operator Skills are intentionally not part of the Hex package. They remain workflow guidance for this repository, not a public Pixir package contract.
This is not a stable ecosystem release. The goal is to let early users install Pixir,
run doctor, try a first terminal or ACP-driven turn, and report the first
installation, auth, model, and workflow failures with useful evidence.
What Is Supported
- Source install from
https://github.com/ranvier2d2/pixir-harness. - Hex escript installation when the
pixirpackage is available, scoped to the same CLI/ACP runtime. - Terminal CLI through the installed
pixirescript or a source-built./pixir. - ChatGPT subscription login through
pixir login, withOPENAI_API_KEYas a fallback. - Local append-only Session Logs under
.pixir/sessions/. pixir doctor --jsonas the first no-network diagnostic gate.- ACP over stdio through
pixir acp. - Agent Skills, Subagents, Workflows, Session tree inspection, and durable compaction checkpoints.
- Durable Provider usage accounting for token/cache evidence.
- Initial Image Attachment support through local Session Resources and Provider projection.
- Provider-hosted Web Search request/evidence plumbing, with opt-in smoke verification.
What Is Experimental
- Long-running, non-blocking Subagent status and result retrieval.
- Workflow partial outcomes and checkpoint bundles as a product experience.
- Presenter/client integrations beyond ACP stdio.
- Networked smoke tests for model/provider behavior.
- Skill Context Hydration, which is accepted as a design direction but not yet a public implemented surface.
What Is Out Of Scope For This Preview
- Stable public Elixir API.
- Broad package ecosystem or extension API promises.
- MCP server support.
- Packaged T3Code provider.
- Self-update/install channel.
- Production SLA, telemetry, or hosted service guarantees.
Newcomer Smoke
The expected first-run proof is:
git clone https://github.com/ranvier2d2/pixir-harness.git
cd pixir-harness
mix deps.get
mix escript.build
./pixir doctor --json
Run this smoke against the current checkout or installed package before reporting setup
results. Use pixir instead of ./pixir for package installs.
Feedback To Capture
When a preview user reports a failure, ask for:
- exact OS and Elixir version;
- command run;
pixir doctor --jsonoutput with secrets removed;- whether they used ChatGPT subscription login or
OPENAI_API_KEY; - the relevant
.pixir/sessions/<id>.ndjsononly when safe to share.