Skip to content

feat: release 0.23.0 with plain-Git traceable phases, narrowed routes, and shorter descriptions - #235

Merged
wheakerd merged 2 commits into
mainfrom
feature/release-0.23.0
Oct 30, 2026
Merged

wheakerd merged 2 commits into
mainfrom
feature/release-0.23.0

Conversation

@wheakerd

Copy link
Copy Markdown
Owner

Scope

Refs #222, #223, #224, #225. The four Issues ship as one installed-runtime change set, version 0.23.0, in two GitHub-signed commits on this branch: the candidate tree, then the checked-in fresh-session observation records that the release gate requires.

  • traceable-git-submit keeps eight references instead of twelve (39,827 bytes instead of 76,355). Every phase keeps normal repository hooks active and adds --no-verify only when the user explicitly authorized bypassing this repository's pre-push hook for the exact push. The heavy phases keep compare-and-swap update-ref --no-deref, a create-only backup ref before any history replacement, no reset --hard, stash, or clean, an exact frozen NUL-safe path set, one push per frozen target with ls-remote read-back, and no automatic retry; they drop byte-level parsing, no-follow file semantics, sibling locks, endpoint fingerprints, and -c push.* overrides. The Git contract fixtures, route-boundary catalog, offline route model, routing fixtures, trust model, and skill reference follow the new set.
  • The startup gate selects local-web-search only for research through the user's own browser, CLI, script, or HTTP client and leaves a host's built-in web tool host-native. The gate alone owns the compaction moment: routine continuation after compaction selects no route, while verify-completion fires on an explicit request or a completion claim. task-planning fires on plan revision or an explicit invocation. delegate-simple-task activates on an explicit invocation or a clear delegation request, treats gate delivery as advisory context for ambiguity, and names candidates in each host's terms.
  • All fourteen descriptions carry only their selection conditions and nearest exclusions (none above 450 characters; 5,071 bytes against the 7,250-byte 0.22.1 baseline). The delegated-choice rule has one owner, the gate; the five bodies that accept a delegated choice point at it with one sentence, and the validator pins the gate copy only.
  • The Codex manifest describes routing rather than guardrails and states that Axiom adds instructions, not enforcement; continuous-progress states its native-scheduler requirement in its description and default prompt.
  • Routing contract v7 replaces v6 for new observations: two cases with changed expectations retire, five new cases encode the narrowed triggers, and codex-core-v7 and claude-code-core-v7 select 40 cases bound to response schema V8. codex-core-v7 binds gpt-6-astra at maximum effort with a 300-second case timeout because Codex CLI 0.166.0 refuses gpt-5.4 on the observed account; the validators read each contract version's own Codex profile while the frozen v1 to v6 contracts keep their fixed settings.
  • Release artifacts: manifests 0.23.0, repository policy revision 120 with the new runtime digest (89 canonical inputs), routing-context record v0.23.0 (gate 5,847 bytes, description set 5,071 bytes), version note, Changelog entry, release status, and rendered surfaces.
  • Host evidence: evals/results/v0.23.0/claude-code/linux.json and evals/results/v0.23.0/codex/linux.json record one complete passing fresh-session run per host against candidate commit 5468c7b, 40 of 40 cases each: Claude Code 2.1.308 with claude-opus-5-5 at maximum effort, and Codex CLI 0.166.0 with gpt-6-astra at maximum effort. The version note's Host Evidence section names the second Claude Code attempt (the first stopped at its twelfth case) and the feature overrides omitted on Codex CLI 0.166.0.

Affected files and surfaces

  • Shared files: plugin/skills/using-axiom/SKILL.md; plugin/skills/traceable-git-submit/SKILL.md with references/baseline-and-preflight.md, phase-outcomes.md, prepared-release-submit.md (changed), checkpoint.md, consolidation.md, git-values.md, remote-targets.md (new), and checkpoint-execution.md, checkpoint-provenance.md, commit-construction.md, consolidation-and-push.md, network-transport.md, post-consolidation-recovery.md, repository-and-remote-targets.md, safe-git-values-and-metadata.md (removed; direct-submit.md is unchanged); SKILL.md of agent-plugin-architect (with references/route-and-trigger-contracts.md), agents-architect, clarify-intent, confirm-external-action, continuous-progress (with agents/openai.yaml), delegate-simple-task (with references/delegation-contract.md and references/host-evidence.md), local-web-search (with references/local-browsing.md), optimize-agent-usage, reversible-system-change, review-axiom-task, task-planning (with references/scope-revisions.md), and verify-completion (with references/regrounding-after-compaction.md)
  • Codex-specific files: plugin/.codex-plugin/plugin.json
  • Claude Code-specific files: plugin/.claude-plugin/plugin.json
  • Documentation or validation files: README.md, CHANGELOG.md, docs/architecture.md, docs/examples.md, docs/trust-model.md, docs/runtime-identity.md, docs/repository-policy-revisions.md, docs/reference/skills.md, docs/maintainers/distribution-channels.md, docs/maintainers/runtime-changes.md, docs/releases/v0.23.0.md (new); evals/README.md, evals/schema-v7.json, evals/routing-v7/current.jsonl, evals/benchmarks/codex-core-v7.json, evals/benchmarks/claude-code-core-v7.json, evals/context-budget/results/v0.23.0.json, evals/results/v0.23.0/claude-code/linux.json, evals/results/v0.23.0/codex/linux.json (new); evidence/runtime-identity.json, evidence/release-status.json, evidence/repository-policy-revisions-v1.json; axiom_validation/cases/git_contracts.py, axiom_validation/cases/routing.py, axiom_validation/manifests.py, axiom_validation/route-boundaries-v1.json, axiom_validation/routing_contracts.py, axiom_validation/routing_evals/__init__.py, benchmark.py, candidates.py, constants.py, current.py, external.py, observations.py, schemas.py, suite.py; tests/test_current_routing.py, tests/test_routing_contracts.py, tests/test_routing_evals.py, tests/test_validator_isolation.py

Routing and authorization impact

  • Route-selection impact: local-web-search no longer selects for a host's built-in web tool or an uncertain execution location; routine continuation after compaction selects no route; verify-completion selects on an explicit request or a completion claim, including one carried by a compaction summary; task-planning selects on plan revision or an explicit invocation and leaves a fresh plan request host-native; delegate-simple-task selects on an explicit invocation or a clear delegation request. Every description changed, and the gate change selects all thirteen routes, so both fresh-session records cover every route.
  • Action-authorization impact: None widened. traceable-git-submit runs repository hooks by default and adds --no-verify only on the user's explicit authorization for the exact push; it still performs no reset --hard, stash, or clean, no automatic retry, and one push per frozen target. delegate-simple-task still needs the user's consent before any subagent starts. The manifests state that Axiom adds instructions, not enforcement.
  • New or changed stop conditions: delegate-simple-task no longer stops when the gate was not delivered or the host's reasoning level is unverified; it says so and assesses ambiguity in the main session before proposing an assignment. The delegated-choice rule keeps its conditions (every alternative reversible and already authorized, the pick and why stated before acting, no persistent, external, deletion, credential, or material-cost effect authorized by an offered option) under one owner. The Release pipeline's observation gate applies to this release: thirteen changed routes, two accepted records.

Documentation

docs/releases/v0.23.0.md carries the reasoning, changed passages, routing contract v7, host evidence, and evidence boundary; CHANGELOG.md carries the 0.23.0 entry with its behavioral impact and required action (none). docs/trust-model.md, docs/architecture.md, docs/examples.md, docs/reference/skills.md, docs/maintainers/runtime-changes.md, docs/maintainers/distribution-channels.md, evals/README.md, docs/runtime-identity.md, and docs/repository-policy-revisions.md follow the new references, triggers, contract, and revision 120. Installation and hook commands are unchanged.

Validation

Command Result
python3 -B scripts/check-publication.py Passed on this exact tree: 154 required files, 166 Markdown files, 179 black-box routing cases, 70 fixed host benchmark cases, 89 canonical installed-runtime inputs, version 0.23.0
python3 -B -m unittest discover -s tests -p 'test_*.py' OK in a disposable clone of this tree: 315 tests
git diff --check Passed
Additional targeted checks python3 -B scripts/measure-routing-context.py --check and python3 -B scripts/render-release-facts.py --check: passed. claude plugin validate --strict for plugin and .claude-plugin/marketplace.json: passed on Claude Code 2.1.308 (directory icon notice only). Release observation gate rehearsal in a disposable clone (require_route_observations from main to this tree): 13 changed routes, both host records accepted at the unchanged runtime digest. ASCII scan of the changed Markdown, JSON, and YAML files: passed.

Cross-platform parity

  • Shared skill changes were reviewed against Codex and Claude Code, or this change does not affect shared skills.
  • Manifest, marketplace, and hook differences remain intentional and documented.
  • Optional host-native validation results include the host/tool version, or are marked unavailable.

The fresh-session records install the candidate on Codex CLI 0.166.0 (local marketplace install into an isolated configuration, documented hook-trust handshake) and load it on Claude Code 2.1.308 (plugin directory with the installed copy disabled per invocation); both hosts delivered the startup gate in every case. The Codex manifest changes (short description, keywords, long description) and the Claude Code manifest keyword change are intentional and described in the version note. Hook commands are unchanged.

Unrelated work

  • I reviewed the final diff and did not reset, hide, stage, or rewrite unrelated work.
  • I did not add generated caches, disposable validation copies, local maintenance notes, or tool output.
  • I called out every affected file and any routing, authorization, documentation, or parity impact above.

…, and shorter descriptions

Remote baseline: origin/main @ 64f39b7

Scope:
Issues #222, #223, #224, and #225 ship as one installed-runtime change set, version 0.23.0. traceable-git-submit keeps eight references instead of twelve (39,827 bytes instead of 76,355): every phase keeps normal repository hooks active and adds --no-verify only when the user explicitly authorized bypassing this repository's pre-push hook for the exact push; the heavy phases keep compare-and-swap update-ref --no-deref, a create-only backup ref before any history replacement, no reset --hard, stash, or clean, an exact frozen NUL-safe path set, one push per frozen target with ls-remote read-back, and no automatic retry, and drop the byte-level parsing, no-follow file semantics, sibling locks, endpoint fingerprints, and -c push.* overrides; the Git contract fixtures, route-boundary catalog, offline route model, routing fixtures, trust model, and skill reference follow the new set. The startup gate selects local-web-search only for research through the user's own browser, CLI, script, or HTTP client and leaves a host's built-in web tool host-native; it alone owns the compaction moment, so routine continuation after compaction selects no route while verify-completion fires on an explicit request or a completion claim; task-planning fires on plan revision or an explicit invocation; delegate-simple-task activates on an explicit invocation or a clear delegation request, treats gate delivery as advisory context for ambiguity, and names candidates in each host's terms. All fourteen descriptions carry only their selection conditions and nearest exclusions (none above 450 characters; 5,071 bytes against the 7,250-byte 0.22.1 baseline), and the delegated-choice rule has one owner, the gate, which the five bodies that accept a delegated choice point at; the validator pins the gate copy only. The Codex manifest describes routing rather than guardrails and states that Axiom adds instructions, not enforcement, and continuous-progress states its native-scheduler requirement in its description and default prompt. Routing contract v7 replaces v6 for new observations: two cases with changed expectations retire, five new cases encode the narrowed triggers, and codex-core-v7 and claude-code-core-v7 select 40 cases bound to response schema V8. Repository policy revision 120 records the release with the new runtime digest; the version note, Changelog entry, routing-context record v0.23.0 (gate 5,847 bytes, description set 5,071 bytes), release status, and rendered surfaces follow. Fresh-session observation records for both hosts follow in a separate commit before the pull request opens.

Validation:
python3 -B scripts/check-publication.py: passed on the exact tree (154 required files, 166 Markdown files, 179 black-box routing cases, 70 fixed host benchmark cases, 89 canonical installed-runtime inputs)
python3 -B scripts/measure-routing-context.py --check and scripts/render-release-facts.py --check: passed
python3 -B -m unittest discover -s tests -p 'test_*.py': run in a disposable clone of the tree (result recorded in the pull request)
claude plugin validate --strict plugin and .claude-plugin/marketplace.json: passed on Claude Code 2.1.308
git diff --check: clean; ASCII scan of the changed Markdown, JSON, and YAML files: passed (pre-existing multilingual fixtures in Python excluded)
…h hosts

Remote baseline: feature/release-0.23.0 @ 5468c7b (origin/main @ 64f39b7)

Scope:
evals/results/v0.23.0/claude-code/linux.json and evals/results/v0.23.0/codex/linux.json record one complete passing fresh-session run of the current benchmark per host against candidate commit 5468c7b (tree d7941a4, runtime digest sha256:84ef1ccbb95d640032b6a15eabcb236b658cac0dffdd488b66f3378591ea9c3d): Claude Code 2.1.308 with claude-opus-5-5 at maximum effort passes 40 of 40 claude-code-core-v7 cases, and Codex CLI 0.166.0 with gpt-6-astra at maximum effort passes 40 of 40 codex-core-v7 cases. The codex-core-v7 profile binds gpt-6-astra at maximum effort with a 300-second case timeout because Codex CLI 0.166.0 refuses gpt-5.4 on the observed account; the benchmark and observation validators read each contract version's own Codex profile while the frozen v1 to v6 contracts keep their fixed gpt-5.4, medium, 120-second settings. The candidate validator reads the contract that each record's schemaVersion names, the suite keeps candidate-family records out of the historical index gate, and the unit test pins the two checked-in records. The version note's Host Evidence section names both records, the second Claude Code attempt, and the feature overrides omitted on Codex CLI 0.166.0. No installed runtime input changes; the runtime digest is unchanged.

Validation:
python3 -B scripts/check-publication.py: passed on the exact tree (154 required files, 166 Markdown files, 179 black-box routing cases, 70 fixed host benchmark cases, 89 canonical installed-runtime inputs)
python3 -B scripts/measure-routing-context.py --check and scripts/render-release-facts.py --check: passed
python3 -B -m unittest discover -s tests -p 'test_*.py': 315 tests OK in a disposable clone of the tree
Release observation gate rehearsal (require_route_observations from origin/main to this tree in a disposable clone): 13 changed routes, both host records accepted at the unchanged digest
git diff --check: clean; ASCII scan of the changed files: passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant