Skip to content

Latest commit

 

History

History
1127 lines (763 loc) · 57.5 KB

CHANGELOG.md

File metadata and controls

1127 lines (763 loc) · 57.5 KB

Changelog — agentic-engineering

7.2.7 — 2026-11-09

Changed — sync upgrade-stripe from https://github.com/stripe/ai at refs/heads/main.

7.2.6 — 2026-11-08

Changed — sync upgrade-stripe from https://github.com/stripe/ai at refs/heads/main.

7.2.5 — 2026-11-07

Changed — sync git-commit from https://github.com/github/awesome-copilot at refs/heads/main.

7.2.4 — 2026-11-07

Fixed — the README named only one place for the files the coroot and GitHub helpers read: plugins/data/agentic-engineering-devantler-plugins. The Code tab of the Claude desktop app can run its own managed copy of the plugin, which reads plugins/data/agentic-engineering-inline instead, so files put only in the first directory left coroot failing there with "Dynamic Client Registration rejected (HTTP 401)". The README now names both directories, says that CLAUDE_CODE_PLUGIN_CACHE_DIR moves them, and tells that error apart from the one Claude Code reports when Coroot refuses a key it was sent. Nothing a consumer configures changes.

7.2.3 — 2026-11-07

Changed — sync upgrade-stripe from https://github.com/stripe/ai at refs/heads/main.

7.2.2 — 2026-11-07

Changed — sync dependabot from https://github.com/github/awesome-copilot at refs/heads/main.

7.2.1 — 2026-11-07

The plugin now passes the Claude plugin directory's blocking checks and carries the listing details it asks for. Nothing a consumer configures changes.

Fixed

  • flux-operator-mcp and kubescape start from POSIX sh scripts the plugin ships, scripts/flux-operator-mcp.sh and scripts/kubescape-mcp.sh, instead of an inline sh -c program the directory's validator cannot follow. They resolve KUBECONFIG exactly as before: $HOME/.kube/config when it is unset or empty, any other value unchanged. .mcp.json names them by ${CLAUDE_PLUGIN_ROOT}, which Claude Code and VS Code substitute. Codex does not, so it now loads .codex-plugin/mcp.json, a mirror of .mcp.json that runs the two scripts by their plugin-relative paths from the plugin's directory. Copilot CLI's handling of ${CLAUDE_PLUGIN_ROOT} there is not verified.
  • The github-mcp-headers.sh self-test no longer ships stub values shaped like GitHub tokens, which the directory's secret scan reported as a secret in a shipped file.

Changed

  • kubescape scans no longer send Kubescape's version check, which carries a cluster ID and the node count, to Kubescape's update service: the launcher sets KS_SKIP_UPDATE_CHECK=true unless you set it yourself.

Added

  • PRIVACY.md: the plugin collects no data itself; the policy lists what each bundled server sends and to whom. The README links it.
  • .claude-plugin/icon.png, the Devantler Tech orb at 512 × 512, for the directory listing.
  • The README's Claude Code install line.

7.2.0 — 2026-11-05

Added — coroot, the MCP endpoint at /mcp that Coroot serves itself, which accepts service-account API keys from Coroot v1.26.8: application topology, alerts, SLO incidents, traces, PromQL metrics and logs. Coroot checks every tool call against the caller's role, so with a service account in the Viewer role the agents can investigate but cannot resolve alerts. In the Enterprise Edition a Viewer's investigate_anomaly can still save its analysis onto an incident when given an incident_key. The server reads its address from COROOT_URL in Claude Code's environment. The new scripts/coroot-mcp-headers.sh sends the API key from coroot-api-key in the plugin data directory only when Claude Code connects to the address pinned in coroot-url there, followed by /mcp, over https:// or loopback http://; so neither the address nor the key goes into any repository, and a changed COROOT_URL cannot redirect the key (someone who controls Claude Code's whole environment still could, through its proxy settings).

Upgrading to 7.2.0

Nothing is required. Until COROOT_URL and the two files are set, coroot shows a missing-variable warning or a failed connection and the other servers keep working. To use it, set them up as the README's Bundled MCP servers section describes. Copilot CLI, VS Code and Codex are expected to need their own MCP settings for Coroot.

7.1.1 — 2026-11-04

Fixed — the README now says why github excludes delete_repository although a plain probe never lists it: GitHub offers it only to clients that speak MCP protocol 2026-07-28 and declare elicitation, as Claude Code 2.1.317 does. A self-test now fails if any excluded tool leaves github's list, or if github-ghas-tools loses its read-only endpoint, its read-only header or its toolsets.

7.1.0 — 2026-11-04

The plugin now carries the agents' wider workspace: design, product management, marketing, finance and productivity skills beside the engineering ones, servers for more of the platform's services, and the official mail, calendar, LinkedIn and Codex Security connections, offered by a new Codex manifest and named by a new skill wherever a plugin cannot switch them on.

Added — skills

  • 43 skills from https://github.com/anthropics/knowledge-work-plugins at refs/heads/main:
    • Engineering: architecture, debug, deploy-checklist, documentation, incident-response, standup, system-design, tech-debt and testing-strategy.
    • Design: accessibility-review, design-critique, design-handoff, design-system, research-synthesis, user-research and ux-copy.
    • Product Management: competitive-brief, metrics-review, product-brainstorming, roadmap-update, sprint-planning, stakeholder-update, synthesize-research and write-spec.
    • Marketing: brand-review, campaign-plan, content-creation, draft-content, email-sequence, performance-report and seo-audit.
    • Finance: audit-support, close-management, financial-statements, journal-entry, journal-entry-prep, reconciliation, sox-testing and variance-analysis.
    • Productivity: memory-management, start, task-management and update.
  • check-skills from https://github.com/openai/codex-security at refs/tags/npm-v0.8.3: a read-only safety review of a skill before it is installed.
  • workspace-conventions, maintained here: the productivity skills keep their state in CLAUDE.md, memory/, TASKS.md and dashboard.html; this sends it to AGENTS.md, the agent's native memory and the project's issue tracker instead.
  • connector-setup, maintained here: which official connector to ask for when a task needs mail, calendar, LinkedIn or a Codex Security cloud scan, how to request it in Claude and in Codex, and never to work around a missing one.

Not bundled: those plugins' connectors (Asana, Atlassian, Linear, Notion, Slack, Figma, HubSpot, Snowflake and others), the Productivity dashboard template, Anthropic's Engineering code-review (CodeRabbit's code-review has the name) and Marketing's competitive-brief (Product Management's has the name), and Codex Security's other skills, which need that plugin's own server.

Added — MCP servers for the platform's services:

  • kubescape: the Kubescape CLI's own read-only server (kubescape mcpserver), for the results the in-cluster operator stores, started through the same KUBECONFIG wrapper as the Flux server. It needs the kubescape CLI, and it downloads Kubescape's released policy bundle from GitHub at start.
  • terraform-registry: HashiCorp's terraform-mcp-server with only its registry toolset, for public provider and module documentation. It needs the terraform-mcp-server binary.
  • cloudflare-docs and aws-knowledge: Cloudflare's and AWS's hosted documentation servers, read-only and needing no account.

Not bundled: FleetDM's fleet-gitops skill, whose helper is a Python script; FleetDM is disabled on the platform. Coroot's MCP endpoint waits for a read-only service account the auth proxy lets through. Cilium, Kyverno, Crossplane, CloudNativePG, OpenBao, Hetzner and the smaller services have no official or maintained read-only resource yet.

Added — Codex manifest. .codex-plugin/plugin.json repeats the portable manifest and adds an .app.json offering iCloud Mail, iCloud Calendar, LinkedIn and Codex Security Cloud as optional apps, so Codex lists them with the plugin. Each still needs the user's own sign-in.

Added — CONNECTORS.md, which maps the ~~category placeholders in Anthropic's skills to what this plugin provides.

Changed

  • The marketplace's skill-spec check accepts the argument-hint and user-invocable frontmatter fields Claude Code and VS Code read, which many of the new skills use, and still rejects every other field the Agent Skills specification does not define. CI also reads each skill and its spec view with skills-ref read-properties and fails unless they match.
  • github also excludes delete_repository. A Claude Code session on 7.0.0 received it although direct probes of the same toolsets did not, so 7.0.0 exposed it there.
  • validate-manifests.sh checks a Codex manifest and its app list, and bump-plugin-version.sh moves a Codex manifest's version with the other four manifests. The daily skill sync stages and publishes it too.

Upgrading to 7.1.0

Nothing is required. Install kubescape and terraform-mcp-server (for example with Homebrew) where the agents should use those servers; until then each reports a failed connection. To give the agents mail, calendar or LinkedIn, connect the official connector connector-setup names: in Claude through claude.ai's connector settings, and in Codex from the apps the plugin now offers.

7.0.0 — 2026-11-04

SvelteKit replaces Astro as the frontend stack the agents are equipped for, and the plugin now carries the GitHub, CodeRabbit, Context7 and Stripe tooling the agents otherwise needed separate plugins or connectors for.

Removed — astro, previously from https://github.com/astrolicious/agent-skills. The portfolio this plugin serves builds its sites with SvelteKit.

Added — skills

  • svelte-core-bestpractices from https://github.com/sveltejs/ai-tools at refs/tags/@sveltejs/mcp@0.1.30: the Svelte team's guidance on writing modern Svelte 5 code.
  • code-review and autofix from https://github.com/coderabbitai/skills at refs/tags/v1.1.1: a local review with the CodeRabbit CLI, and working through CodeRabbit's review threads on a pull request.
  • context7-mcp from https://github.com/upstash/context7 at refs/tags/@upstash/context7-mcp@4.5.0: looking up current library documentation through the context7 server.
  • stripe-best-practices, stripe-docs and upgrade-stripe from https://github.com/stripe/ai at refs/heads/main: Stripe integration guidance, Stripe's documentation through the Stripe CLI, and API and SDK upgrades.

Added — MCP servers

  • svelte, the Svelte team's hosted server at https://mcp.svelte.dev/mcp: Svelte 5 and SvelteKit documentation, the svelte-autofixer and playground links, all read-only and needing no sign-in. The hosted server is used instead of npx -y @sveltejs/mcp, so nothing is downloaded or run locally. The autofixer and playground tools send the code they are given to Svelte's service, and the playground link carries that code.
  • github, GitHub's remote server with the context, repos, issues, pull_requests, users, actions, labels and projects toolsets, signed in like github-ghas-tools. It can write to GitHub as the signed-in account: issues and sub-issues, labels, comments and replies, branches, new pull requests and project items. Merging, editing or promoting a pull request, writing or resolving reviews, updating a pull request branch, creating or forking repositories, writing files and running workflows are excluded, so they stay on gh and git, where a consumer's rules apply.
  • context7, Upstash's hosted Context7 server at https://mcp.context7.com/mcp, read-only and needing no account.
  • stripe, Stripe's hosted server at https://mcp.stripe.com, signed in through OAuth. Every tool is offered, including stripe_api_write and the Treasury tools that move money; grant only the accounts and permissions your agents need on Stripe's consent page.

Not bundled: the Svelte plugin's svelte-code-writer skill, which drives the same tools through npx, and its svelte-mcp-feedback skill, which files reports with the Svelte team; CodeRabbit's agent and slash command, which come only with its plugin; Context7's find-docs and context7-cli skills, which run its CLI through npx; and Stripe's paying, purchasing and payee-lookup skills, its Connect, Metronome and Stripe Apps skills and its plugin's hooks.

Changed

  • github-ghas-tools now uses GitHub's read-only endpoint, https://api.githubcopilot.com/mcp/readonly. Claude Code loads only the first of two plugin servers with the same URL, so sharing github's URL would have dropped it; validate-manifests.sh now refuses two servers with one URL.
  • Every hosted server reaches its third party on every call, so the documentation now says to disable a server, not deny single tools, when your agents must not contact that party.

Upgrading to 7.0.0

If your agents still work on Astro sites, install the astro skill from its upstream yourself, at user scope and for your agent, for example gh skill install astrolicious/agent-skills astro --scope user --agent claude-code. A non-interactive install otherwise goes to the current project only, and for GitHub Copilot.

The new github and stripe servers can change things. Before your agents' next run, decide what they may do: deny github or stripe tools in your tool permissions, or disable either server, where the plugin should not write. Sign in to stripe through /mcp in Claude Code when you want it; until then it reports that it needs authentication. If you used CodeRabbit's, Context7's or Stripe's own plugins or connectors only for what this release bundles, you can remove them.

6.8.1 — 2026-11-04

Fixed — the bundled Flux tooling now works out of the box:

  • flux-operator-mcp refuses to start without a KUBECONFIG environment variable, so on a host that relies on the default ~/.kube/config it never connected. The plugin now starts it through sh, which sets KUBECONFIG to $HOME/.kube/config only when it is unset or empty and keeps any non-empty value, including a list of paths. With neither KUBECONFIG nor HOME set it exits with a message. The server still runs --read-only.
  • This widens what such a host's sessions can read. Where the server used to fail to start, every session that loads the plugin, unattended runs included, can now read every cluster in ~/.kube/config: the read-only set_kubeconfig_context tool switches between its contexts, and workload logs are readable (Secret values are masked by default). To narrow it, set KUBECONFIG to a file holding only the contexts the agents may read, or deny or disable the server.
  • Windows regression: the server now needs a POSIX sh on PATH. A Windows host without one, which could start the server before when KUBECONFIG was set, no longer can.
  • flux-troubleshooter allowlisted the Flux tools only as mcp__flux-operator-mcp__<tool>, which matches a server you configured by hand, not the one this plugin bundles, which Claude Code names mcp__plugin_agentic-engineering_flux-operator-mcp__<tool>. It now lists both (#635).

6.8.0 — 2026-11-04

Added — everything the agents need, in this one plugin (ADR 0017):

  • The skills, agent and MCP server of the retired github, go, gitops-kubernetes, engineering-practices and frontend-design plugins: 19 skills and the flux-troubleshooter agent, unchanged, and the flux-operator-mcp server, which now starts with --read-only. The ksail plugin stays separate; enable it alongside this one when your agents use KSail.
  • github-actions-efficiency, github-actions-hardening, dependabot, secret-scanning and codeql from https://github.com/github/awesome-copilot at refs/heads/main, and dependency-scanning from https://github.com/github/copilot-advanced-security-plugin at refs/heads/main.
  • siderolabs (Talos Linux and Omni) from https://github.com/siderolabs/docs at refs/heads/main.
  • github-ghas-tools, GitHub's remote MCP server limited to its security toolsets and held read-only by X-MCP-Readonly, signed in from Claude Code through scripts/github-mcp-headers.sh with the github.com GitHub CLI login or a github-token file in the plugin data directory; and siderolabs-docs, Sidero Labs' public documentation search. See the README.
  • A stacked pull requests guide for product-engineering and PR driving: when a stack pays off, and merging one layer at a time, bottom first, never with gh stack merge.

Upgrading to 6.8.0

If you installed any of the retired plugins, install and enable agentic-engineering@devantler-plugins and remove the retired ones. The marketplace's renames map points every retired name at this plugin, but do not rely on it alone:

  • Claude Code may report the migrated plugin as not cached until you install it once: /plugin install agentic-engineering@devantler-plugins. Check afterwards that it is enabled wherever the old plugins were, including at user scope.
  • GitHub Copilot CLI and VS Code have no record of the rename for you to read here, because this note ships inside the plugin you are moving to. The installation guide carries the same steps.
  • The migration widens what you run. Someone who had only go or frontend-design now also gets the four agents, the GitHub sign-in helper (a bash script Claude Code runs on each connection), GitHub's remote MCP server carrying your github.com login, and Sidero Labs' public documentation server. Review the bundled MCP servers and deny the servers or tools you do not want in your tool permissions.

6.7.2 — 2026-11-02

Changed — require each third-party contribution to enable the requested product outcome. Inherited CI failures stay on the original contribution; unrelated upstream maintenance needs an explicit request from the consuming maintainer. Required validation and review gates remain.

6.7.1 — 2026-11-02

Changed — remove deleted upstream references from validation examples and historical notes. Maintained skill interfaces are unchanged.

6.7.0

2026-11-01

  • Own and validate maintained first-party skills in this plugin; external skills retain upstream provenance and refresh protection.

Every released version of this plugin, newest first, with the upgrade steps each breaking release needs. The plugin README describes the plugin as it is today; its history and its version-to-version upgrade paths live here.

A plugin's version is its cache key — runtimes cache plugins by <marketplace>/<plugin>/<version>, so an install that never moves off an old version keeps serving that version's definitions with no error and no drift signal. Confirm which version a deployment actually loaded before assuming it has a change listed below.

Only versions that reached main are listed; a version number bumped in a pull request that was superseded before merge was never published and does not appear.

The format follows Keep a Changelog and the plugin follows semantic versioning.

Crossing a breaking release? Apply the upgrade sections in ascending order — 2.0.0 → 3.0.0 → 4.0.0 → 5.0.0 → 6.0.0 — and complete every one that lies between the installed version and the new one before re-enabling unattended writes. Stopping early resumes writes with the retired FinOps schedule still armed, or with a schedule pointing at an entrypoint that no longer resolves.

6.6.10 — 2026-10-31

Changed — sync grilling from https://github.com/mattpocock/skills at refs/tags/v1.3.2.

6.6.9 — 2026-10-26

Fixed — survey review accounting recognizes first-line Bugbot commands with trailing text or connector-added footers. A command below a disclosure line neither pairs nor closes the marker window; a longer command-name prefix also does not count. Request emission, authentication, head binding and review/readiness gates remain unchanged.

6.6.8 — 2026-10-25

Changed — sync portfolio-maintenance from the former standalone skills source at refs/tags/v1.28.1.

6.6.7 — 2026-10-25

Changed — sync agent-improvement from the former standalone skills source at refs/tags/v1.28.0.

6.6.6 — 2026-10-25

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.27.3.

6.6.5 — 2026-10-25

Fixed — the portfolio surveyor identifies incomplete triage from native issue types and the consuming contract's required metadata. Optional label absence alone no longer makes an issue or pull request untriaged. Forges without native issue types retain their declared triage scheme, and incomplete reads remain unknown (#599).

Update the installed plugin to load this correction; existing versioned caches remain unchanged.

6.6.4 — 2026-10-24

Added — resources/THIRD-PARTY-NOTICES.md records the upstream license, copyright notice and license text (or the file holding it) of the bundled find-skills, grilling and prototype skills; keep it when you redistribute those skills (#582).

6.6.3 — 2026-10-23

Fixed — apply testing requirements in proportion to the change. Prefer applicable official testing frameworks and established tools, assess whether a test can meaningfully establish its intended result, and avoid redundant committed or scratch harnesses around existing test infrastructure. Record infeasible automation and validation limits without waiving required checks (#591).

6.6.2 — 2026-10-18

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.27.0.

6.6.1 — 2026-10-18

Changed — sync portfolio-maintenance from the former standalone skills source at refs/tags/v1.27.0.

6.6.0 — 2026-10-17

Added — the Engineer's isolation rule covers scratch files. Every worker one session dispatches shares that session's scratch directory, so the Engineer starts each scratch file's name with a token unique to its worker (the issue or PR number, plus a worker tag when two workers share one item) and a purpose word, and gives every worker it dispatches its own token in its brief. A consuming deployment measured 13 scratch names each written by two to four workers in one day (#579).

6.5.0 — 2026-10-16

Added — the Engineer reads every dependency update, regardless of author, as a release range before it promotes or merges one. It runs the bundled product-engineering skill's upstream release review, assessing every announced change against the product. Relevant fixes retire workarounds, useful capabilities are adopted, and applicable breaking changes, deprecations and removals receive adaptations. Security fixes, changed defaults, end of life and regressions also receive a product-specific disposition. The review is recorded on the update pull request (original upstream review 279).

6.4.2 — 2026-10-16

Changed — sync portfolio-maintenance from the former standalone skills source at refs/tags/v1.26.0.

6.4.1 — 2026-10-15

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.26.0.

6.4.0 — 2026-10-15

Added — the supplemental product-documentation skill for user documentation sites, including task-focused writing, verified examples, site navigation and public publication checks. The Engineer loads it on demand with the relevant framework guidance; its three preloaded skills and the consuming deployment's authorization boundaries are unchanged.

6.3.5 — 2026-10-15

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.24.1.

6.3.4 — 2026-10-12

Fixed — the Engineer has an exit when a review keeps returning new findings. When a second round of fixes still draws new findings, or a review repeats a kind of finding an earlier one raised, it reads all findings as one set, reshapes the change once and records that on the pull request. If findings continue two rounds later it parks the pull request until a scope or design decision is made; a parked pull request gets no further finding fixes or review requests. A part moved to a follow-up issue keeps the original issue open when that issue requires it. What counts as ready is unchanged (#566).

6.3.3 — 2026-10-09

Fixed — the Engineer and Improver use the shared upstream contribution procedure for third-party PRs: private internal review, an explicit Ready for Review handoff, and plain-English replies to received maintainer feedback. Routine updates stay in the PR title and description. Portfolio-owned definition repositories retain the existing promotion and merge gate.

6.3.2 — 2026-10-09

Changed — sync agent-improvement from the former standalone skills source at refs/tags/v1.23.0.

6.3.1 — 2026-10-08

Changed — sync self-improvement from the former standalone skills source at refs/tags/v1.22.0.

6.3.0 — 2026-10-08

Changed — prioritize important, refined Ready work within downstream Kanban capacity instead of age-only intake. Finish started work and due verification first, preserve original waiting and blocked clocks, and compare product outcomes and cost of waiting against end-to-end effort. Consumers supply board states, WIP ceilings and freshness bounds; missing evidence holds new starts. Historical prioritization metrics retain their original rubric and denominator; value-pull-v1 is a separate cohort, not a claim of measured lead-time improvement.

6.2.5 — 2026-10-08

Changed — sync portfolio-maintenance from the former standalone skills source at refs/tags/v1.22.0.

6.2.4 — 2026-10-08

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.22.0.

6.2.3 — 2026-10-08

Changed — sync agent-improvement from the former standalone skills source at refs/tags/v1.22.0.

6.2.2 — 2026-10-08

Changed — sync portfolio-maintenance from the former standalone skills source at refs/tags/v1.21.38.

6.2.1 — 2026-10-08

Fixed — raw JSON validation uses bounded byte windows so large Actions responses finish promptly on macOS and Linux. Original-byte retention, UTF-8 checks, surrogate escape rejection and decoded-key uniqueness remain strict. Regression coverage checks multi-megabyte responses, window-edge escapes and incomplete or failed pagination.

6.2.0 — 2026-10-07

Added — two MIT-licensed skills from mattpocock/skills at refs/tags/v1.3.1: grilling and prototype. Complete upstream resources and native update provenance are retained. The plugin includes Matt Pocock's copyright and MIT permission notice and documents how the techniques supplement the existing consumer contract.

Fixed — required package validation binds the distributed notice to each imported skill's recorded upstream tree and source commit. A changed notice, moved source or failed public read refuses an update until its provenance and licensing have been reviewed.

6.1.14 — 2026-10-07

Fixed — the portfolio surveyor reads an Advance candidate's labels in its existing blocker and sub-issue read, reports them on the candidate's row, and judges a label-based skip from that read only. A missing, cut-short or malformed label list makes the candidate QUERY-UNKNOWN; a search row that dropped a label can no longer make a parked issue read as actionable.

6.1.13 — 2026-10-06

Changed — sync agent-improvement from the former standalone skills source at refs/tags/v1.21.36.

6.1.12 — 2026-10-05

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.21.31.

6.1.11 — 2026-10-05

Changed — sync agent-improvement from the former standalone skills source at refs/tags/v1.21.29.

6.1.10 — 2026-10-05

Fixed — read-only command admission rejects unresolved quoted special parameters, inspects filter programs after option terminators, and requires Git suppression flags to be actual options. Runtime JSON observations reject unpaired Unicode surrogate escapes before comparing identities.

6.1.9 — 2026-10-05

Changed — sync agent-improvement from the former standalone skills source at refs/tags/v1.21.27.

6.1.8 — 2026-10-05

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.21.27.

6.1.7 — 2026-10-05

Fixed — intercepted runtime support must exist by the assessment time. Forge observations reject altered original Unicode and literal NUL bytes before capture, and duplicate-field refusals survive input without a final newline. Autonomy recommendations remain offline and advisory.

6.1.6 — 2026-10-04

Fixed — positive autonomy proof must exist by the assessment time, malformed synthetic declarations are refused, and incomplete pagination preserves unknown review counts. Installed evidence commands have integration coverage for valid inputs, malformed bytes and failed reads. Autonomy recommendations remain offline and advisory.

6.1.5 — 2026-10-04

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.21.24.

6.1.4 — 2026-10-04

Changed — sync agent-improvement from the former standalone skills source at refs/tags/v1.21.24.

6.1.3 — 2026-10-04

Changed — sync self-improvement from the former standalone skills source at refs/tags/v1.21.22.

6.1.2 — 2026-10-04

Fixed — retained review observations refuse repeated decoded JSON keys before counting threads or failed workflow results. Survey projections require complete GraphQL envelopes, exact issue identities, integer summaries and terminal census pagination. Routing verification references need visible content. Consumer onboarding includes the shared raw JSON observer; all routing remains advisory.

6.1.1 — 2026-10-04

Fixed — autonomy assessments require distinct stage records, bind protected requests before retaining the incumbent, and preserve independently bound runtime failures when their counterpart report is incomplete. Recommendations remain advisory and never admit execution or run recovery.

6.1.0 — 2026-10-04

Added — optional offline autonomy assessments join consumer classifications, exact capability scope, immutable plan/method/control identities, current replacement proof, per-report runtime path coverage and scoped recovery. The packaged command is disabled by default and always advisory: it never grants execution, authenticates supplied reports, changes runtime settings or runs recovery. See the consumer guide and synthetic example for the input contract and result meanings.

6.0.0 — 2026-10-04

Breaking — guarded local Git reads require GIT_NO_LAZY_FETCH=1 in the process environment shared by the guard and the admitted command. Missing objects fail locally and remain unknown.

Upgrading to 6.0.0

Export GIT_NO_LAZY_FETCH=1 in the runtime process that invokes both the guard and Git before resuming guarded reads. A missing or different value is denied. Keep the existing telemetry and pager settings, and verify the new environment with the bundled local-object behavior test before resuming unattended use. This release does not change installed runtime settings automatically.

Fixed — review-thread counting rejects GraphQL errors even when a partial response includes plausible thread data. Remote default-branch CI reads require complete page envelopes; a bare array cannot establish that collection finished. Offline array inputs remain supported.

Fixed — package validation rejects unterminated desired-state and provenance inventories. Generated-file helpers serialize destination backups, replacements and recovery under one checkout lock. Failed batches preserve outside edits detected during recovery and retain the original backup.

5.6.11 — 2026-10-04

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.21.16.

5.6.10 — 2026-10-03

Changed — sync agent-improvement from the former standalone skills source at refs/tags/v1.21.8.

5.6.9 — 2026-10-03

Fixed — review-thread counts require a finished pagination chain, unique thread identities and the requested repository and PR on every page. Incomplete or contradictory reads stay unknown.

Fixed — default-branch CI classification rejects unrecognized outcomes, duplicate run identities and invalid numeric identifiers before a result can clear a previous failure. Repeated selectors refuse before collection so later arguments cannot replace the requested target. Both bundled remote collectors bind their reads to github.com.

5.6.8 — 2026-10-02

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.21.0.

5.6.7 — 2026-10-01

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.20.2.

5.6.6 — 2026-10-01

Changed — sync portfolio-maintenance from the former standalone skills source at refs/tags/v1.20.1.

5.6.5 — 2026-10-01

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.20.0.

5.6.4 — 2026-10-01

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.19.0.

5.6.3 — 2026-10-01

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.18.0.

5.6.2 — 2026-09-30

Changed — sync agent-instructions from the former standalone skills source at refs/tags/v1.17.2.

5.6.1 — 2026-09-29

Fixed — portfolio-surveyor reports subissues=<completed>/<total> only on the Advance candidates its dependency query deepens. 5.6.0 asked for the counts on every ranked candidate, but only a deepened candidate has them, so the rule asked a surveyor to invent a count or to run one more query per ranked row.

5.6.0 — 2026-09-29

Added — portfolio-surveyor reads each Advance candidate's sub-issue counts in the same query as its blocker counts, and reports them as subissues=<completed>/<total>. When every child is closed it adds DELIVERY-CHECK, so the consumer checks whether the work already shipped before starting it. This is evidence only: the surveyor never skips, down-ranks or closes a candidate on it. A missing or malformed summary makes the candidate QUERY-UNKNOWN, like the blocker summary.

5.5.5 — 2026-09-25

Fixed — portfolio-surveyor reads a measurement issue's due date only from the measurement condition in its body, never from createdAt, and reports a relative or unparseable condition as unresolved rather than past due. It fetches the body of each issue it is about to nominate, and reports an unresolved measurement on its own digest row as a candidate-scoped unknown.

5.5.4 — 2026-09-25

Changed — sync self-improvement from the former standalone skills source at refs/tags/v1.17.1.

5.5.3 — 2026-09-25

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.17.1.

5.5.2 — 2026-09-25

Changed — sync portfolio-maintenance from the former standalone skills source at refs/tags/v1.17.0.

5.5.1 — 2026-09-25

Fixed — the surveyor no longer reports the engineer's own review findings as maintainer instructions. A review round puts its disclosure on the review body and not on each inline comment, so the surveyor now attributes an inline review comment by the review it belongs to. Only a top-level comment inherits that attribution: a reply is judged on its own, so the maintainer's reply inside a thread the engineer opened still reaches the orchestrator, as does any comment under an undisclosed review. (devantler-tech/monorepo#2835)

5.5.0 — 2026-09-25

Added — the Trust gate can declare a maintainer-PR driving fact, hands-off or attribution-only, and the engineer reads it before updating, rebasing, pushing to, promoting, merging or closing a PR under the maintainer's own login.

  • hands-off is the default when the fact is absent or unreadable. The engineer drives such a PR only when it created that PR and the body carries no interactive-session marker, so a PR the maintainer took over interactively is no longer driven just because the engineer opened it.
  • attribution-only gives the engineer every such PR under the deployment's own active-work rules. The creation record and the marker then only decide whose comments are whose, and an actionable maintainer comment on a PR the engineer did not create stays a named blocker until it is resolved.

The surveyor's disclosure rule now names the same fact, so neither definition reads as settling the question alone. A deployment that already lets the engineer drive every PR in its portfolio should declare attribution-only; without it, the engineer leaves interactive PRs alone. (#201)

5.4.0 — 2026-09-25

Added — the Agentic Engineer's remote-wait rule now covers the waits it used to leave open. A sleep-and-re-query loop moved into a backgrounded or detached command is still a busy-wait and counts as the run's one watcher. A watcher whose completion re-invokes the session keeps that session open, so the run must stop it before ending, or not arm it when nothing depends on it. The engineer never arms a watcher and then ends its turn with nothing else to do: it either works on something else while the watcher runs or ends the run and leaves the target to the next invocation. (devantler-tech/monorepo#3003)

5.3.1 — 2026-09-25

Changed — sync product-engineering from the former standalone skills source at refs/tags/v1.14.0.

5.3.0 — 2026-09-24

Added — the bundled agent-improvement skill moves to upstream v1.13.0, and the Agent Improver now scores prioritization and flow on every run, separately from throughput. It counts easy, substantive and unclassified work, and records how old the oldest actionable issue was whenever easier work was chosen instead. The entrypoint's scorecard lists the new parameter, and a reference and an optional offline calculator (measure-flow.jq) describe the measurement.

5.2.4 — 2026-09-24

Docs — the plugin README gives a worked onboarding for the Agent Improver. (#240)

5.2.3 — 2026-09-23

Fixed — the surveyor copies every branch name, head SHA and lane prefix from the values it read for a PR, and writes unknown when it did not read one. It no longer builds a branch name from the consumer's naming convention, which had attributed another lane's PR to the orchestrator. (devantler-tech/monorepo#2739)

5.2.2 — 2026-09-23

Fixed — onboarding installs scripts/surveyor-forge-readonly.sh with every other required runtime asset and makes only its wiring conditional, so a runtime that passes commands as arguments no longer omits a file the desired state requires. (#161)

5.2.1 — 2026-09-22

Fixed — the surveyor takes its unresolved-review-thread count from a bundled helper that reports unknown, never zero, when a read fails or stops short of every page; the read-only guard admits that helper only when it runs alone. Deployments that load runtime assets individually must also install scripts/count-unresolved-review-threads.sh. (#235)

5.2.0 — 2026-09-22

Changed — the plugin README describes the plugin as it is; released versions and the upgrade steps for each breaking release moved into this changelog. (#234)

Added — both write-capable roles route a generic improvement to the upstream that authors the definition rather than into a consumer's own copy of it, and the README states the same routing for people, with how to send one. (#234)

5.1.8 — 2026-09-21

Fixed — fail closed when an issue row has no issueType key. (#230)

5.1.7 — 2026-09-21

Fixed — keep issue aggregation inside jq. (#228)

5.1.6 — 2026-09-20

Fixed — keep workflow log bodies out of digests. (#226)

5.1.5 — 2026-09-19

Fixed — define classifier output contract. (#222)

5.1.4 — 2026-09-17

Fixed — report GitHub-managed PR check failures as managed-failing. (#219)

5.1.3 — 2026-09-16

Changed — update agent skills. (#216)

5.1.2 — 2026-09-15

Fixed — let the deployment decide whether external PRs may be merged. (#215)

5.1.1 — 2026-09-15

Fixed — fail closed on stale CI runs.

5.1.0 — 2026-09-12

Added — evaluate subscription routing policy explicitly. (#210)

5.0.4 — 2026-09-12

Changed — update agent skills. (#211)

5.0.3 — 2026-09-09

Changed — update agent skills. (#208)

5.0.2 — 2026-09-06

Changed — guard surveyor review contracts upstream. (#206)

5.0.1 — 2026-09-06

Fixed — expose the guarded classifier path. (#205)

5.0.0 — 2026-09-06

Changed (breaking) — spend stewardship is explicitly opt-in and default-off. (#204)

The desired-state schema requires the boolean spec.roles["agentic-engineer"].spendStewardshipEnabled. The presence of a complete Spend contract does not opt a deployment in. Older documents fail validation, and the engineer treats missing or malformed enablement as disabled while continuing ordinary engineering. See ADR 0007.

Upgrading to 5.0.0

  1. Refresh the complete desired-state document from the reviewed plugin revision, including its entrypoint digest and scheduler pointers. Keep the shipped flag false unless the maintainer explicitly enables spend stewardship.
  2. Declare the path to one full effective desired-state JSON document in the consumer's AGENTS.md Spend contract. That document supplies the flag for every lane. If the consumer keeps a byte-identical upstream mirror, retain it and declare a separate full effective document through its native configuration; do not edit the mirror or invent a partial-override merge.
  3. Reconcile the native scheduler from the updated pointers and verify preflight reports the effective document, boolean value, and any unresolved Spend contract prerequisites. Keep a disabled deployment disabled during reconciliation.

Without a declared document, preflight uses the shipped false default. A declared document that cannot be read or validated also disables spend and reports the gap. Resolve the document and flag once per run; never search unrelated settings for an enabling value or switch sources mid-run.

Only the maintainer may set the flag to literal true. This permits spend analysis and decisions only when the Spend contract also resolves; it does not bypass the private decision channel, protected-outcomes floor, or authority boundaries. Setting it back to false disables the cost dimension on the next preflight. There is no additional spend schedule.

4.4.29 — 2026-09-06

Fixed — report a three-valued disclosure hint matched anywhere in the body. (#194)

4.4.26 — 2026-09-06

Fixed — classify a flag-shaped word a value flag consumes. (#198)

4.4.25 — 2026-09-05

Fixed — forbid transferring a gh --json field name from a REST or GraphQL surface. (#199)

4.4.24 — 2026-09-05

Fixed — state the CI classifier's flag-form argument shape. (#197)

4.4.23 — 2026-09-05

Fixed — require selection evidence before survey completion. (#193)

4.4.22 — 2026-09-04

Fixed — read blockedBy connections. (#188)

4.4.21 — 2026-09-04

Fixed — admit bundled short flags whose every component is allowlisted. (#187)

4.4.20 — 2026-09-03

Changed — update agent skills. (#185)

4.4.19 — 2026-09-02

Fixed — bump version for synced skills. (#183)

4.4.18 — 2026-09-01

Fixed — teach the surveyor the guard's admitted call shape. (#182)

4.4.17 — 2026-09-01

Fixed — validate Surveyor JSON fields at source. (#177)

4.4.16 — 2026-08-28

Fixed — admit consumer-declared stdin-only classifiers. (#173)

4.4.15 — 2026-08-27

Fixed — admit stderr redirection that creates no file. (#171)

4.4.14 — 2026-08-27

Fixed — stop a credential entering the agent's own transcript. (#170)

4.4.13 — 2026-08-25

Fixed — align git status with the read-only guard. (#160)

4.4.12 — 2026-08-24

Changed — name the environment prerequisite the read-only guard enforces. (#159)

4.4.11 — 2026-08-24

Security — scope the surveyor forge guard by agent. (#158)

4.4.10 — 2026-08-24

Changed — update agent skills. (#157)

4.4.9 — 2026-08-23

Fixed — reject write flags placed before the gh subcommand. (#156)

4.4.8 — 2026-08-21

Fixed — withhold only the affected repository's residual on a cap. (#154)

4.4.7 — 2026-08-21

Fixed — require the untyped residual's two operands to cover one population. (#153)

4.4.4 — 2026-08-21

Fixed — require GH_TELEMETRY=0 before certified gh reads. (#150)

4.4.3 — 2026-08-21

Fixed — require the forge-readonly guard on the surveyor. (#149)

4.4.2 — 2026-08-20

Fixed — allow the two read-only search filters the surveyor uses. (#148)

4.4.1 — 2026-08-20

Fixed — allow gh api field arguments under an explicit GET. (#145)

4.4.0 — 2026-08-17

Added — make simplification a core principle in both roles. (#143)

4.3.7 — 2026-08-16

Fixed — declare runtime executability. (#142)

4.3.6 — 2026-08-16

Fixed — pin runtime asset bytes. (#140)

4.3.5 — 2026-08-16

Fixed — classify current-head CI safely. (#138)

4.3.4 — 2026-08-16

Changed — update agent skills. (#136)

4.3.3 — 2026-08-15

Fixed — pin procedure skill digest. (#135)

4.3.2 — 2026-08-15

Changed — update agent skills. (#134)

4.3.1 — 2026-08-14

Fixed — pin deployed definition digest. (#133)

4.3.0 — 2026-08-14

Added — research on evidence-clean runs. (#132)

4.2.1 — 2026-08-14

Changed — update agent skills.

4.2.0 — 2026-08-14

Added — measure Improver effectiveness.

4.1.7 — 2026-08-13

Changed — update agent skills. (#127)

4.1.6 — 2026-08-12

Fixed — retire human promotion gate. (#87)

4.1.5 — 2026-08-12

Security — make the surveyor's read-only boundary executable. (#120)

4.1.4 — 2026-08-08

Fixed — make surveys resumable. (#114)

4.1.3 — 2026-08-03

Fixed — forbid foreground remote polling. (#112)

4.1.2 — 2026-08-03

Changed — update agent skills. (#110)

4.1.1 — 2026-07-28

Fixed — publish connector review hardening. (#104)

4.1.0 — 2026-07-26

Fixed — make plugin content changes reach consumers. (#100)

4.0.0 — 2026-07-25

Changed (breaking) — the primary engineer's agent entrypoint is named agentic-engineer rather than automated-ai-engineer, so the role's identifier matches the name it is called by. This is a rename only: nothing about the role's behaviour, contract sections, or guardrails changes. See ADR 0006. (#89)

Upgrading to 4.0.0

There is no marketplace-level migration for agent names the way there is for plugin names, so a deployment that persists the old entrypoint keeps pointing at an agent that no longer resolves. Update three places before the next scheduled run:

  1. Scheduler pointers — every plugin-backed schedule that names plugin:agentic-engineering/automated-ai-engineer becomes plugin:agentic-engineering/agentic-engineer, and any bootstrap prompt that names the entrypoint in prose changes with it.
  2. Qualified agent references — persisted selections such as agentic-engineering:automated-ai-engineer become agentic-engineering:agentic-engineer.
  3. The consumer's desired state — spec.source.entrypoint, the spec.roles key, and the spec.runtime.scheduler.schedules key all move to agentic-engineer.

Sequence this after Upgrading to 3.0.0: retiring the finops-engineer schedule and renaming the engineer's entrypoint are independent changes, and doing them one at a time keeps a failed reconcile attributable to one cause.

3.0.0 — 2026-07-25

Changed (breaking) — spend stewardship is a dimension of the primary engineer's own loop; the separate FinOps role and its schedule are removed. The plugin name, entrypoint names, and agent set are unchanged. See ADR 0005. (#90)

Upgrading to 3.0.0

Two consumer-side changes are required before the next scheduled run:

  1. Retire the finops-engineer schedule FIRST — before installing or reconciling this version. Its work now happens inside the engineer's loop, so a surviving schedule would run a role this plugin no longer defines. Quiesce or atomically replace it with the runtime's native scheduler control ahead of the new engineer schedule: installing first opens exactly the concurrent-stewardship window this upgrade exists to close, and a briefly missed cost pass is much cheaper than two writers proposing against the same spend. The cost pass is cadence-gated, not continuous, so the gap costs at most one pass.
  2. Rename the consumer contract section to Spend contract and the desired-state key spec.consumer.requiredWhenFinOpsEnabled to spec.consumer.requiredWhenSpendStewardshipEnabled (value ["Spend contract"]). Also delete spec.roles["finops-engineer"] and spec.runtime.scheduler.schedules["finops-engineer"], and add the never-move-money guardrail. The validator rejects the old shape, so a stale copy fails closed rather than silently deploying two writers over one concern.

A consumer that keeps its FinOps definition as a separate agent is not broken by this release — but it is no longer the shape this plugin describes. Spend enablement follows the explicit flag and resolving Spend contract introduced in Upgrading to 5.0.0.

2.0.0 — 2026-07-22

Changed (breaking) — the autonomous engineering system moves into this plugin and becomes its centre; the former automated-ai-engineer plugin is consolidated here. From the earlier agentic-engineering bundle only the tool-neutral agent-instructions and find-skills skills remain; the provider-specific SDK and instruction-blueprint skills are removed. See ADR 0004.

Upgrading to 2.0.0

This version deliberately replaces the old marketplace identity instead of keeping a second alias bundle. The marketplace's append-only rename history maps automated-ai-engineer to agentic-engineering. Claude Code 2.1.193 and later automatically migrates the persisted installed-plugin key when the marketplace refreshes; restart Claude Code or run /reload-plugins, then continue with step 2.

For older Claude Code versions and runtimes that do not implement marketplace rename migration, complete the plugin-name change manually before the next scheduled run:

  1. Remove the installed automated-ai-engineer plugin with the runtime's native plugin control, then install agentic-engineering@devantler-plugins from devantler-tech/agent-plugins.
  2. Change persisted qualified agent references from the automated-ai-engineer plugin namespace to agentic-engineering. The entrypoint itself is renamed separately in Upgrading to 4.0.0.
  3. Copy the provider-neutral desired state into the consumer workspace and reconcile its native agents and schedules. Preserve the consumer's canonical AGENTS.md; do not copy its organization-specific facts into this plugin.
  4. Before re-enabling unattended writes, verify that the installed plugin reports version 5.0.0 or later — so Upgrading to 3.0.0, Upgrading to 4.0.0, and Upgrading to 5.0.0 must all be complete too. A stop at 2.0.0 would resume writes with the retired FinOps schedule still armed, and a stop at 3.0.0 with a schedule pointing at an entrypoint that no longer resolves. Verify also that the plugin exposes agentic-engineer, portfolio-surveyor, and agent-improver, and that every plugin-backed schedule points to plugin:agentic-engineering/<entrypoint>. Run the required read-only preflight and record the installed source revision and any unsupported capability.

The upgrade is complete only after the old plugin identity no longer resolves in the runtime and the read-only preflight loads the new namespace successfully.

1.0.0 — 2026-06-28

Changed — rename the copilot plugin to agentic-engineering. (#35)