Skip to content

claude-dev-env: v7.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 09:39
e660140

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)