Skip to content

Latest commit

 

History

History
762 lines (484 loc) · 36.9 KB

CHANGELOG.md

File metadata and controls

762 lines (484 loc) · 36.9 KB

Changelog — agentic-engineering

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.2 — 2026-10-18

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills at refs/tags/v1.27.0.

6.6.1 — 2026-10-18

Changed — sync portfolio-maintenance from https://github.com/devantler-tech/agent-skills 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 (agent-skills#279).

6.4.2 — 2026-10-16

Changed — sync portfolio-maintenance from https://github.com/devantler-tech/agent-skills at refs/tags/v1.26.0.

6.4.1 — 2026-10-15

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills at refs/tags/v1.23.0.

6.3.1 — 2026-10-08

Changed — sync self-improvement from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills at refs/tags/v1.22.0.

6.2.4 — 2026-10-08

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills at refs/tags/v1.22.0.

6.2.3 — 2026-10-08

Changed — sync agent-improvement from https://github.com/devantler-tech/agent-skills at refs/tags/v1.22.0.

6.2.2 — 2026-10-08

Changed — sync portfolio-maintenance from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills at refs/tags/v1.21.36.

6.1.12 — 2026-10-05

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills at refs/tags/v1.21.31.

6.1.11 — 2026-10-05

Changed — sync agent-improvement from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills at refs/tags/v1.21.27.

6.1.8 — 2026-10-05

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills at refs/tags/v1.21.24.

6.1.4 — 2026-10-04

Changed — sync agent-improvement from https://github.com/devantler-tech/agent-skills at refs/tags/v1.21.24.

6.1.3 — 2026-10-04

Changed — sync self-improvement from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills at refs/tags/v1.21.16.

5.6.10 — 2026-10-03

Changed — sync agent-improvement from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills at refs/tags/v1.21.0.

5.6.7 — 2026-10-01

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills at refs/tags/v1.20.2.

5.6.6 — 2026-10-01

Changed — sync portfolio-maintenance from https://github.com/devantler-tech/agent-skills at refs/tags/v1.20.1.

5.6.5 — 2026-10-01

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills at refs/tags/v1.20.0.

5.6.4 — 2026-10-01

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills at refs/tags/v1.19.0.

5.6.3 — 2026-10-01

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills at refs/tags/v1.18.0.

5.6.2 — 2026-09-30

Changed — sync agent-instructions from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills at refs/tags/v1.17.1.

5.5.3 — 2026-09-25

Changed — sync product-engineering from https://github.com/devantler-tech/agent-skills at refs/tags/v1.17.1.

5.5.2 — 2026-09-25

Changed — sync portfolio-maintenance from https://github.com/devantler-tech/agent-skills 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 https://github.com/devantler-tech/agent-skills 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)