Releases
claude-dev-env-v7.0.0
Compare
Sorry, something went wrong.
No results found
7.0.0 (2026-09-06)
⚠ BREAKING CHANGES
advisor: use ADVISOR_ASTRA, --enable-astra, codex_astra_advisor.py, and astra_enabled in place of the Sol advisor names.
Features
add no-code-comments guidance (dcc84a1 )
advisor: switch team-advisor from Sol to Astra (8324678 )
advisor: use Astra for the Codex team advisor (d825309 )
agents: replace PR description writer voice (98d4224 )
ci: check the committed tree from the event merge base (ca0aec5 )
ci: enforce committed-tree policy (6319faa )
clarify imported context recovery guidance (c358956 )
extend no-comment policy to worker surfaces (9e6d0ac )
git: make submodule parent sync explicit (ea7a18d )
git: make submodule parent sync explicit (184a855 )
hooks: add a repeatable hook-timing harness (ffc2274 )
hooks: add PR done checklist context reminder after push (8506d95 )
hooks: add rerunnable hook audit (cc32921 )
hooks: add the validation-phase vocabulary (f0c6518 )
hooks: give MultiEdit and apply_patch mutation-parity gate coverage (56e6d2a )
hooks: hand the agent a PR done checklist after each push (90306b1 )
hooks: make PRs wait for the body writer (d2a9351 )
hooks: record a real pytest failure as TDD-gate evidence (9b22141 )
hooks: require a PR description writer before PR creation (1c14f08 )
hooks: split code-rules validation into edit-lane and full-gate phases (28ecd1a )
install: publish pstack as a skills-directory plugin (bca64ce )
install: publish pstack as a skills-directory plugin (f0663e4 )
Let a real failing test run satisfy the test-first gate (114d5ad )
lint: add cde lint for policy rules (c583a24 )
lint: add staged policy diagnostics (66be5ad )
lint: add staged terminology rule (7d6b9eb )
lint: define the required local staged policy-lint step (bcc95ab )
lint: flag staged prose that near-misses a new identifier (284532d )
lint: run staged policy lint locally before the existing commit gate (29da240 )
name every changed behavior before writing the PR body (abff5e7 )
orchestrator: make this session the executor advisor (bb0dbbd )
orchestrator: make this session the executor advisor (b937e0d )
persist approved pstack model assignments (c337e15 )
pstack: select available models for each host (f241e45 )
pstack: select available models for each host (ffa7ac7 )
pull-request: move publication gates into command (690232c )
pull-request: move publication gates into command (14a711d )
Remember your test so a touch cannot fake it (33cc4df )
require atomic behavior coverage in PR descriptions (76cb6c1 )
search: make project token expansion explicit (398a480 )
search: replace the es.exe path rewriter hook with a command (9f71536 )
skills: add Codex startup diagnosis baseline (348f152 )
skills: add hook boundary repair baseline (2aa65b3 )
Tell coding sessions not to add code comments (d79d9a9 )
test: add test-runner command for Django and Playwright checks (38151d2 )
test: make local preflight explicit (fcb1ff7 )
verification: add isolated installer skill (bbd7091 )
Bug Fixes
a repository checked out under /tmp is never treated as scratch (8eb7c2e )
advisor: keep bind protocol silent on orchestrator (8cb59f6 )
advisor: pair Astra helper modules with tests (7bfb907 )
advisor: satisfy Astra helper quality gates (1af5332 )
agents: keep PR writer guidance on live sources (c67bd71 )
align comment cleanup boundary (6867e06 )
align comment enforcement guidance (b76f9f8 )
align comment policy guidance (aabeeac )
align comment policy summaries (d24e6f6 )
align empty diff test with clean lint runs (cc80947 )
anchor standalone duplicate comments (1e4d8b3 )
Anchor state-description test payloads to the repository root (adc26b3 )
Anchor the staging walk at the target's project root (ee87e17 )
autoconverge: select cloud GitHub transport explicitly (5a0a342 )
autoconverge: skip host GitHub auth for cloud runs (48f4cef )
block retained comments on changed code (106e997 )
catch shifted retained inline comments (a26874b )
Check every edit tool the same way (164c052 )
ci: keep installer lifecycle coverage outside retired skills (698cf03 )
ci: make Astra preflight fallback kind explicit (2fd4f43 )
ci: satisfy Astra advisor committed-tree rules (ff0a9aa )
ci: scope environment reference checks (a525ffd )
ci: stop packaging the archived prototype constants (917778b )
ci: use present-state wording in search docs (2938c9c )
close retirement registry installer tests (d85d042 )
close retirement registry installer tests (f0fe4d7 )
Close the heredoc strip bypass now live on main (f62de60 )
Close two holes in the command gate (1a26405 )
cover terminology in committed comparisons (47f6d40 )
enforce changed comment cleanup (3bc5704 )
enforce comment policy in tests (38e698e )
Gate a repository checked out under /tmp (268e173 )
grok: resolve shared process-tree scripts across a junction (20fb7cf )
grok: resolve shared process-tree scripts across a junction (39705ec )
hooks: always read the stem test in the paired-test coverage scan (43de32c )
hooks: close CI red on apply_patch mutation-parity across four causes (f640a27 )
hooks: close the remaining MultiEdit gap and repair review findings (d30ac88 )
hooks: close the ruff and mypy findings the quality gate raised (ab2c111 )
hooks: complete staged-lint retirement proof and record implemented cleanup (407b67b )
hooks: correct abbreviation_checks' frozenset annotation (243a709 )
hooks: count the stem test before capping the paired-test scan (ab8b268 )
hooks: honor replace_all when reconstructing a MultiEdit (d4f55b2 )
hooks: honor replace_all when reconstructing a MultiEdit (5cdc78f )
hooks: judge harness ephemerality against every system temporary root (7061ccf )
hooks: judge harness ephemerality relative to the repository root (e7879ce )
hooks: keep grandfathered violations matched across a function rename (3963a50 )
hooks: keep grandfathered violations matched across a function rename (4e56690 )
hooks: read a quoted heredoc body as text, not as shell input (f51e25b )
hooks: read an opener only outside quotes, and only when it closes (d74183c )
hooks: repair push-gate findings and proactively close the same shape (f9fa163 )
hooks: route the ephemeral-exempt-off fixture per file, not suite-wide (72cc83d )
hooks: run the validators on MultiEdit and apply_patch (a1a7328 )
hooks: stop check_constants_outside_config_advisory from blocking writes (669ee4d )
installer retirement test parsing (c800f53 )
Judge exemption directories by segment, not by temp root (c9167c1 )
Let hooks import the way this repo tells them to (eec4131 )
Let saves use the quick code check while commits keep the full check (53b4bc7 )
lint: check terminology against a base revision (0d40571 )
lint: keep staged-linter diagnostics on the CLI error stream (3202f12 )
lint: prove installed local replacements and preserve Git's active index (0dabb64 )
lint: separate automatic live-code checks from skill archives (cf97f39 )
make comment policy an opt-in diff linter (d0ab524 )
Make the advisory check actually advisory (b68b2b8 )
move comment policy checks to diff-aware linting (114296d )
orchestrator: drop foreign advisor-protocol pointers (9733db5 )
policy-lint: carry base_revision through the runtime document set (ea13c05 )
posts: keep config package namespace-only (f85222b )
posts: resolve moved linter through managed root (013a1e0 )
posts: satisfy durable-post config ownership (2e97d27 )
pr: construct GitHub auth environment keys in config (b885b80 )
pr: drop secret-like environment constants (9f91197 )
pr: use configured GitHub auth environment keys (b3ca437 )
pr: use GitHub auth environment keys at use sites (7ae7cb3 )
publish the comment scanner with its consumers (d271ee7 )
pull-request: make constants test imports independent (e9cd3cd )
Read a quoted heredoc body as text, not as shell input (5be07a9 )
remove comment directive justification guidance (704ae2f )
repair opt-in comment policy linter (5bbd026 )
report changed comments when the diff is checked (2ba9471 )
reserve comment matches before attachment checks (7f481da )
reserve exact duplicate comment matches (64a7c61 )
reserve exact duplicate comment matches (5699bcd )
restore comment lint scope (e08cb21 )
retire stale comment cap exception (06514c4 )
roll back pstack rule copy failures (9072221 )
Run comment checks only when the diff linter is requested (41023df )
Run the validators on MultiEdit and apply_patch (dd554b9 )
scripts: read CLAUDE_CONFIG_DIR in the pstack refresher (89f0413 )
test: resolve skill inventory conflict with main (cc8051e )
tests: anchor state-description payloads to the repository root (1a77a9b )
unslop comment-linter names and docstrings (b5d283c )
validators: anchor the staging walk at the target's project root (808360b )
validators: keep the ancestor_directories re-export mypy_validator imports (7cee6b2 )
validators: read pytest scaffolding by name, not by temp root (de35512 )
validators: read pytest scaffolding by name, not by temp root (06c39cc )
Documentation
Add baseline repairing-hook-boundaries skill (5ab4b7a )
Add diagnosis-only Windows Codex startup recovery skill (03f650e )
advisor: name lead session, bound advisor, and workers (1e18e6b )
advisor: show A/AA consult parties with a worker example (ca882dd )
advisor: spell out who /team-advisor reports to (80b1944 )
agent: add human-checkable verification sample (9667f75 )
agent: add internal PR description voice reference (d186831 )
agent: index PR writer references (35ab7a5 )
agent: link human verification sample (89321b4 )
agent: make PR proof human-checkable (aa9fe68 )
agent: use repo-owned PR voice sample (c591209 )
archive every AGENTS.md and leave a bare stub (e0468e4 )
archive every AGENTS.md and leave a bare stub (fecf440 )
ci: inventory hook timing harness (a5036e0 )
code-rules: record the basetemp reporting surface in section 11.6 (1e05c27 )
code-rules: record the basetemp reporting surface in section 11.6 (8f2cbf8 )
code-rules: record the keep decision for the Style/Communication save-path audit (98fc34e )
code-rules: state the current staging rule in section 11.6 (e4d5449 )
code-rules: state the full-gate cut as current behavior, not as an audit (9811a22 )
code-rules: state the hook-infrastructure lane in section 11.6 (968ae60 )
code-rules: state the lane rule, drop the reasoning behind it (26e68d0 )
code-rules: state the validation-phase precedence order (f1132ad )
code-rules: write section 11.6 as what each thing does (0495cb7 )
git: point durable-post checks at package script (e99011a )
git: remove retired PR skill routing (5f84bf9 )
hooks: state the TDD gate's content rule as what the gate does (5df5931 )
issues: resolve linter from managed root (64b45d1 )
issues: use package durable-post linter (d547523 )
let PR descriptions cover independent changes (829479c )
posts: point durable-post rule at package linter (8e63caa )
posts: resolve durable linter from managed root (e6a2b95 )
pr: remove retired PR-loop skill routes (babaa13 )
pr: remove retired publication dependencies (87d3af1 )
pr: remove retired publication dependencies (e1bb073 )
review: localize preflight proposal contract (94d8313 )
review: own proposal contract locally (102cdc3 )
Say what the timing harness measures (63fc3d9 )
State the current staging rule in CODE_RULES 11.6 (7d95027 )
State the lane assignment rule in CODE_RULES (945b0ea )
State the TDD gate's content rule as what the gate does (c46128a )
store archived AGENTS.md as AGENTS.md.archive (ce4bcd3 )
treat imported context as untrusted and match status output exactly (9baaf19 )
validators: name the cache key's blind spot in source_text (b324d18 )
validators: say what the timing harness measures (ef90a60 )
Maintenance
hooks: remove audit and pr-loop noise from cleanup (c6b46b3 )
main: release claude-dev-env 2.28.1 (1dc1e27 )
main: release claude-dev-env 2.28.1 (96f6de3 )
main: release claude-dev-env 2.29.0 (e573ad7 )
main: release claude-dev-env 2.29.0 (d7e4fce )
main: release claude-dev-env 2.30.0 (1eceaf0 )
main: release claude-dev-env 2.30.0 (7348608 )
main: release claude-dev-env 2.30.1 (64811db )
main: release claude-dev-env 2.30.1 (7edf137 )
main: release claude-dev-env 2.31.0 (e921c0b )
main: release claude-dev-env 2.31.0 (6e14e33 )
main: release claude-dev-env 2.31.1 (ee10ff7 )
main: release claude-dev-env 2.31.1 (7125c07 )
main: release claude-dev-env 2.32.0 (09eb367 )
main: release claude-dev-env 2.32.0 (e94d002 )
main: release claude-dev-env 2.33.0 (5ea1ae7 )
main: release claude-dev-env 2.33.0 (3170ba9 )
main: release claude-dev-env 2.33.1 (6b6f6ce )
main: release claude-dev-env 2.33.1 (1d84977 )
main: release claude-dev-env 2.33.2 (79fcdb0 )
main: release claude-dev-env 2.33.2 (2c5ec4a )
main: release claude-dev-env 2.34.0 (ef4085c )
main: release claude-dev-env 2.34.0 (5a41b4a )
main: release claude-dev-env 2.35.0 (f670095 )
main: release claude-dev-env 2.35.0 (50be116 )
main: release claude-dev-env 2.36.0 (739a0d9 )
main: release claude-dev-env 2.36.0 (f89ff2a )
main: release claude-dev-env 2.37.0 (43000be )
main: release claude-dev-env 3.0.0 (44ae85c )
main: release claude-dev-env 4.0.0 (7f0891b )
main: release claude-dev-env 4.0.0 (02a0cac )
main: release claude-dev-env 4.1.0 (a3705c9 )
main: release claude-dev-env 4.1.0 (81b6d39 )
main: release claude-dev-env 4.2.0 (cc39b8d )
main: release claude-dev-env 4.2.0 (910af81 )
main: release claude-dev-env 4.3.0 (f5a984a )
main: release claude-dev-env 4.3.0 (085f700 )
main: release claude-dev-env 4.4.0 (174184b )
main: release claude-dev-env 4.4.0 (8645d64 )
main: release claude-dev-env 5.0.0 (2264a3a )
main: release claude-dev-env 5.0.0 (0752c82 )
main: release claude-dev-env 6.0.0 (3731b7e )
main: release claude-dev-env 6.0.0 (5a88ea7 )
package: drop retired skill-shared package (7440091 )
remove PR size enforcement (1a243dc )
skills: archive 19 skills and keep a skill-builder stub (1ef9619 )
skills: archive retired skills and keep skill-builder stub (4b9ab24 )
skills: retire orphaned PR-loop shared contracts (38faee2 )
Refactoring
hooks,skills: trim the task-loop hook and cap review-run scope (3fd325f )
hooks,skills: trim the task-loop hook and cap review-run scope (db843b6 )
hooks: call the shared lock by name, finish the extractions #1238 started (a66608f )
hooks: collapse duplication across the apply_patch and MultiEdit gates (9b5bf42 )
hooks: collapse duplication across the apply_patch and MultiEdit gates (5589cbf )
hooks: collapse the three apply_patch target-path wrappers into one (cb2acf0 )
hooks: collapse the three apply_patch target-path wrappers into one (ad7f7b8 )
hooks: decompose validate_content into themed helpers (95e22d5 )
hooks: drop a dead helper and a redundant cwd fallback (63973e0 )
hooks: finish the three extractions #1238 started (a301a48 )
hooks: finish the tool-name single source and drop two delegators (394c7a2 )
hooks: keep the task-tracking directive host-neutral (f34f99c )
hooks: parse the enforcer source once in the cap-meta tests (811cdcf )
hooks: probe root-anchored /tmp in the ephemeral-exempt fixture (da20a84 )
hooks: probe root-anchored /tmp in the ephemeral-exempt fixture (0ae6173 )
hooks: put the hash store on the shared file plumbing (2ab8e63 )
hooks: put the hash store on the shared file plumbing (9e92234 )
hooks: put the pr-description gate on the shared hook plumbing (12d8095 )
hooks: put the pr-description gate on the shared hook plumbing (d3ec234 )
hooks: read the enforcer file once and share the parsed tree (dfa872b )
hooks: reconstruct single Edits through the shared applier (77c074d )
hooks: reconstruct single Edits through the shared applier (f95e766 )
hooks: replace seven write blockers with local staged lint (97dbd06 )
hooks: retire inert commit stub and off-by-default prose gates (d5799dc )
hooks: retire seven write blockers covered by local staged policy lint (3e8498d )
hooks: share the heredoc terminator match, correct three docstrings (6b5a51e )
hooks: share the heredoc terminator match, correct three docstrings (b098448 )
hooks: simplify the advisory-check tests and generalize the guard (25ad136 )
hooks: simplify the advisory-check tests and generalize the guard (68b883f )
hooks: split the checklist builder under the 30-line cap (4fd46ce )
posts: define managed linter location (6f97dec )
posts: move durable-post constants out of retired skill shared tree (e9a3811 )
posts: move durable-post lint out of retired skill shared tree (56b6fd8 )
posts: place durable-post constants under config (7a47783 )
pr-loop: retire audit posting constants (912f3ee )
pr-loop: retire audit posting helper (7c33d74 )
pr: load durable-post lint from package scripts (90c1a04 )
pr: own GitHub token environment constants (ddb80fb )
pr: remove PR-loop token constant dependency (86e0f13 )
Put the import-order helpers where a reader would look for them (f1096e4 )
Put the import-order helpers where a reader would look for them (ff72d41 )
reuse the effective-content helper and assert the phase rosters against the routers (60e0518 )
reuse the effective-content helper and assert the phase rosters against the routers (3d5a7be )
review: keep PR-loop retirement scoped (8186f11 )
scripts: make the shared-tree resolver reusable (4d55799 )
scripts: make the shared-tree resolver reusable (6f2bbee )
skills: retire shared PR-loop namespace (7122d72 )
trim redundant code rules, gates, and policy docs (9f59682 )
Undo the import contortions the old check forced (de9a439 )
validators: give the temp-root env names their own constants module (31abeb2 )
validators: give the temp-root env names their own constants module (d6bb94c )
validators: name the project-root walk for what it does (e10ccc7 )
validators: name the project-root walk for what it does (c881348 )
validators: one result type and one roster on the save path (f1a373e )
validators: one result type and one roster table on the save path (109c790 )
validators: read a Codex apply_patch payload with the one shared reader (b551cf7 )
validators: read the apply_patch payload through the shared helper (7a70917 )
Performance
Cut the check that cost half of every save (213515f )
hooks: dump each statement once in the inline-duplicate scan (903f6e7 )
hooks: dump each statement once in the inline-duplicate scan (1badb3e )
hooks: host gh_pr_author_restore and the recorder in one process (485f893 )
hooks: memoize statement dumps in the same-file inline duplicate scan (9cbee4d )
hooks: run the save-path validator roster in-process, drop Mypy (4f6f52e )
Make saving fast again (0a7709c )
validators: cache the masked message the rename match compares (b30accf )
validators: cache the masked message the rename match compares (07b63ea )
validators: read and parse the saved file once, not ten times (22089ce )
validators: read and parse the saved file once, not ten times (2615117 )
Tests
agents: pin illustrative PR writer voice (35ebfb8 )
agents: pin repo-owned PR description samples (3172b45 )
ci: cover Astra advisor public resolvers (04d59c1 )
hooks: correct dispatcher test prose about run_all_validators (f5e5c61 )
hooks: fold the repository-root cases into the TDD suite (0ea3c93 )
hooks: fold the repository-root cases into the TDD suite (f27dd47 )
hooks: name the fresh-process gate-loading test for what it covers (4edc7ce )
hooks: one repository anchor for the blocking tests (24a1642 )
hooks: one repository anchor for the blocking tests (a75b1b4 )
hooks: pin Fable marker to Fable consumer (a43fa9d )
hooks: pin the Fable marker only on skills that spawn at Fable tier (deb28cb )
hooks: pin the phase every edit-lane caller selects (5e76601 )
hooks: pin validate_content's ordered output before decomposition (3d38e05 )
hooks: prove edits proceed and the real local commit step catches violations (35a4c52 )
installer: count the validators runner by coverage, not by tool list (707b31d )
installer: cover retired skills and the retained skill-builder stub (7f6830c )
installer: say write path in the assertion message (e0eec51 )
installer: verify proposal contract under e-code-review (1dd48d1 )
install: pair the pstack step with the install suite (ed34989 )
install: prove retired file-hook registrations stay removed on reinstall (ec0e639 )
keep proposal checks scoped to the active review skill (211d4d7 )
lint: exercise the real staged replacement and failure propagation (d6e1e3b )
lint: keep the replacement fixtures in the matching pre-commit test file (c32034d )
lint: pair native commit changes with real isolated staged-lint fixtures (488c46b )
Pin the temp root the harness refusal is judged against (9b98976 )
posts: cover relocated durable-post constants (0197704 )
posts: follow relocated durable-post linter (d25fde5 )
posts: pin managed durable-post path (25c1dd8 )
posts: pin managed durable-post path (c24959d )
posts: preserve durable-post behavior after relocation (32138fb )
pr-loop: remove retired audit posting constant tests (19cd4b0 )
pr-loop: remove retired audit posting live tests (0b5a96d )
pr: expect package durable-post linter path (e0683d3 )
pr: own GitHub token environment names (2ffd1b2 )
pr: stop pinning retired token-name constants (bbc42d1 )
retain JavaScript rule regression coverage using archived fixtures (4ce5a2b )
review: assert local proposal contract ownership (da52c61 )
review: keep proposal contract skill-local (5806103 )
rules: drop retired PR-loop comment policy surface (4ea62c7 )
Stop tests hiding in the scratch folder (26b3d42 )
validators: pin the temp root the harness refusal is judged against (be7f37d )
validators: say which gate denies a malformed patch (44e0d24 )
verify archive rule paths and use explicit environment names (1efcfa8 )
Build
pr-loop: stop checking retired audit posting helper (eff5e53 )
You can’t perform that action at this time.