Update dependency voku/agent-loop to v0.20.11 - #118
renovate[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Tick the box to add this pull request to the merge queue (same as
|
7cea423 to
98c44f9
Compare
98c44f9 to
8c1b197
Compare
8c1b197 to
0fd20c4
Compare
|



This PR contains the following updates:
0.16.5→0.20.11Release Notes
voku/agent-loop (voku/agent-loop)
v0.20.11Compare Source
Added
WorkflowContextCommand: renders method names and line numbers (BundleFoo::doWork() — src/Foo.php:12) directly from recall facts, removing archaeological grep calls for method locations.Finding -> LearningNote -> Recall -> Decision) from the durable Promotion Loop (Dream -> Proposal -> Human Approval -> Constraint/Skill -> Mechanical Enforcement -> Guidance Retirement).finding.2026-09-14.481001(constraint alias falsification) andfinding.2026-09-14.483001(package skill semantic drift).Changed
voku/agent-learningto^0.18.15to consume typedCorpusAnalyticsService, strict retirement categorization (CAPTURED_IN_TARGET_HOME,COMPILED_DOWN_TO_ACTIVE_CONSTRAINT), and stale applied guidance proof diagnostics.process-timeoutto 900 seconds incomposer.jsonso full test suites pass without ambient environment variable workarounds.Fixed
RuleTestCaseconstraint through resolved names:NoInProcessPhpstanRuleTestCaseRuleresolves AST class names through PHPStan Scope so aliased imports (use PHPStan\Testing\RuleTestCase as BaseRuleTestCase;) are caught deterministically (#481, #482).v0.20.10Compare Source
Fixed
init install-assetsinstead of falling back to installed vendor copies, so maintainer repositories install their current local resources without duplicate skill IDs or mixed package-version source truth.v0.20.9Compare Source
Added
RepositorySetupContributor) and projector (RepositorySetupContributorProjector), deriving asset contributor scopes (consumer,owner_repository,project,local) and asset counts (skillCount,subagentCount,instructionCount) directly from resolved source truth and first-party instruction exports.RepositorySetupProjectionand render contributor summaries inInitHostStatusCommandCLI output.ManagedSubagentSourceResolverto resolve managed subagents once with provenance and lazy definition validation across setup planning and drift checks.Changed
Fixed
package_skills: false,package_subagents: false) in typed setup plans and managed asset drift projections so disabled package assets are not planned or claimed.^0.17.7owner floor while preserving historical Map 0.10 compatibility boundaries.v0.20.8Compare Source
Added
FirstPartyPackageCatalogas the single owner of first-party workflow package roots, scoped asset exports, and composed project instructions.agent-learning-consumer,agent-learning-note,agent-hard-constraint-author,agent-learning-ctx-evidence,agent-recall-consumer, Loop core skills), while owner repositories receive their respective maintainer skills (agent-learning-maintainer,agent-recall-compiler-maintainer,agent-session-maintainer).voku/agent-learning, etc.) intoAGENTS.mdwithin the managed router marker block without touching project-owned text.Changed
voku/agent-learning ^0.18.10,voku/agent-recall-compiler ^0.17.7, andvoku/agent-session ^0.7.1to consume typedPackageResourcesskill and instruction definitions and bounded shipped static-analysis precedents.ManagedAssetSourceandManagedAssetExpectationResolvertoFirstPartyPackageCatalog.RepositorySetupService,RepositoryManagedAssetInstaller,ManagedAssetTargetCatalog, andInitSyncSkillsCommandwith project-scoped authority.Fixed
0.17.7minimum, including the Map 0.10 compatibility consumer.v0.20.7Compare Source
Added
CurrentExecutionStageReader/CurrentExecutionStageProjectionas a narrow read boundary for the exact persisted current execution stage. The projection binds task, Run, Contract revision, execution-plan digest, stage, attempt and candidate revision before exposing stage kind and role, and fails closed on stale plan/state identity.jqalongsidergin the existing system-tool setup path without making either tool a package-managed dependency.Changed
voku/agent-learning ^0.18.8andvoku/agent-recall-compiler ^0.17.6, and allow the releasedvoku/agent-map ^0.13.0line beside the maintained compatibility lines.Fixed
v0.20.6Compare Source
Added
agent-uitask links are projected only after the endpoint is verified, presentation status stays explicit, and bounded detail text remains valid UTF-8 while respecting its byte ceiling. The control plane remains presentation only; it does not acquire workflow authority.Changed
voku/agent-learning ^0.18.6andvoku/agent-recall-compiler ^0.17.4, allow the releasedvoku/agent-map ^0.12.0line beside the maintained 0.10/0.11 compatibility lines, and usevoku/portable-utf8 ^6.1for bounded Unicode-safe presentation.Fixed
execution-contract.mdas the executor prompt and fail closed when that concrete L1 is missing, stale, invalid, blocked, or rejected. Recall'ssystem.mdremains construction/briefing evidence and is no longer injected into the acting host once the final L1 exists. Direct-L1/no-L2 tasks retain the existing governed Recall path. (#445, #446)Validation
0e10f7622dbb7005f61d787234eeb1508f5b1e2fbefore merge as1719f67ca64e1b7df952f24ac026d48823f3aa12.voku/agent-loop-runner#20independently replayed that exact Loop candidate through the realExecutionGateway -> ExecutionCoordinator -> HostExecutionRequestpath: PHPUnit and PHPStan passed on PHP 8.3/8.4/8.5, the acting host received the final five-section L1, and the L2 construction briefing was absent. The Runner PR remains unmergeable by policy until this release replaces its temporary candidate pin.v0.20.5Compare Source
Changed
voku/agent-mapfloor on the 0.11 line to^0.10.0 || ^0.11.6. The old^0.10.0 || ^0.11.0let this package sit on 0.11.2 while 0.11.6 was released, so a consumer could askmap scopefor a known PHP identity and be toldAgent map is stale. Rebuild it before inspecting a scope.- the round trip that sends a coding agent back to text search.^0.11.6is the release where an exact read repairs a stale index itself when that is safe and refuses with an executable command when it is not. The 0.10 line is deliberately kept: five installed-consumer workflows pin0.10.0to prove the released refactor plan contracts still work for a consumer that has not moved, and a blanket^0.11.6would have deleted that evidence to guarantee something a plain resolve already provides.RunManifestProjectorandWorkflowRunPreparerwhen inspecting map readiness, and read only thefilessection inWorkflowContextCommand, keeping context generation resilient and fast when relations are unavailable or large.Fixed
map scopeinstead of text search inagent-loop-discipline. The skill grouped "known files/symbols" with literals, config/templates and exception messages under one "preferrg" clause, so the one case the semantic index resolves exactly was sent to the tool that only approximates it.agent-loop-investigatein the same package already said the opposite - do not use text search to rediscover a PHP identity thatscopealready resolves - and the always-on bootstrap skill is the one that wins in practice. Navigation now routes by question shape: text-shaped questions keeprg, identity-shaped questions resolve throughscope(orcontextfor a planned edit) when a fresh Map already exists, unknown ownership narrows first and then resolves exactly, and supported structural mutation prefers a governed plan. Everything #344 bought is kept: no cold build for a cheap question, no duplicated Map andrgdiscovery, and native fallback when repair would cost more than the question warrants. Reported as #423.Performance
RunManifestProjector::artifact(), preventing redundant repeated SHA256 calculations of large artifacts (such as SQLite databases and symbol maps) during batch task projections.v0.20.4Compare Source
Fixed
workflow statusshows the Contract goal and acceptance criteria in its text output. The command can end by namingworkflow approveas the next action while rendering the Contract as nothing more thanrevision N (<path>), so a human told a decision was required was given the command and not its subject; the only way to see what was being approved was a second command or the raw JSON. This was never missing data:RunManifestProjector::contractReference()already carried both fields and--format=jsonand--format=toonalready returned them, and the text renderer, which shows every reference as a state plus a one-line detail, dropped them. Structured output is unchanged. Reported as #413.v0.20.3Compare Source
Added
GovernedRunStore::taskIds()reports the task ids that have a governed Run, in a deterministic order.find()has always answered about a task the caller can already name, which covers every CLI invocation but leaves a consumer showing a project with no list to start from — the board is the only enumerable set of work available to it, and a task may carry a governed Run without a card, a stateenterreports without complaint. Those Runs were then not merely unrendered but absent from the question. Invoku/agent-uitoday that is 6 of 8 Runs. The history root and any directory without arun.jsonare excluded, and the ordering is the owner's so two consumers cannot disagree about what all governed work is. Reported as #409.Changed
enterdiscovery refusal now names the agent-map index it judged. A repository can hold more than one - a repository-local.agent-map/beside the governed.agent-loop/map/, read by different owners - and a refusal that listed only which files were stale left a host refreshing the other index, seeing no change, and re-running the same prescribed command.MapReadiness::$mapPathalready carried the answer; it is now reported unchanged in the missing, invalid, stale, unreadable-current-map and scope-not-indexed refusals. Reported as #404.v0.20.2Compare Source
Added
TaskContractStore::supersededRevisions()returns every archived revision of one task's Contract, oldest first.revise()has always written the revision it replaces tohistory/, in full and including who approved it, but nothing could read it back. The decision that needs it most is the next approval: a human asked to approve revision 2 has already approved revision 1, and without the earlier revision neither this package nor a consumer can say what changed. The alternative left to consumers was reading the archive directory themselves, which is the private-layout coupling the store exists to prevent. An archived revision that cannot be decoded fails closed rather than being skipped, because a silently shortened history understates exactly what the projection is for.Changed
agent-recall-compilerwhere its review artifacts live instead of spelling out thereviews/directory when placing the disposable human review workbench, and take the edit-verification map-index default fromagent-mapthroughProjectLayout::mapIndex()instead of namingphp-symbols.json. Loop still configures the mount roots; the filenames below them stay owner-owned. (#285)Fixed
workflow status: when a governed Session can still record replacement evidence, verification is re-derived for the exact current implementation and the superseded receipt travels with it assuperseded_receipt. (#399)staleso the canonical next action asks for a fresh disposition instead of disagreeing with close readiness. (#399)v0.20.1Compare Source
Added
WorkflowContextCommand: renders method names and line numbers (BundleFoo::doWork() — src/Foo.php:12) directly from recall facts, removing archaeological grep calls for method locations.Finding -> LearningNote -> Recall -> Decision) from the durable Promotion Loop (Dream -> Proposal -> Human Approval -> Constraint/Skill -> Mechanical Enforcement -> Guidance Retirement).finding.2026-09-14.481001(constraint alias falsification) andfinding.2026-09-14.483001(package skill semantic drift).Changed
voku/agent-learningto^0.18.15to consume typedCorpusAnalyticsService, strict retirement categorization (CAPTURED_IN_TARGET_HOME,COMPILED_DOWN_TO_ACTIVE_CONSTRAINT), and stale applied guidance proof diagnostics.process-timeoutto 900 seconds incomposer.jsonso full test suites pass without ambient environment variable workarounds.Fixed
RuleTestCaseconstraint through resolved names:NoInProcessPhpstanRuleTestCaseRuleresolves AST class names through PHPStan Scope so aliased imports (use PHPStan\Testing\RuleTestCase as BaseRuleTestCase;) are caught deterministically (#481, #482).v0.20.0Compare Source
Added
agent-loop quick): initiate, auto-approve, and enter a bounded surgical micro-task (up to 2 files) in a single command, with 1-shot auto-close enforcement (60-line diff ceiling, scope confinement, auto-recorded reviews/learning).agent-loop repair): capture structured diagnostics (PHPStan, PHPUnit, PHP linter, PHP-CS-Fixer) on validation failure, project actionable repair instructions, and enforce a strict 2-attempt budget before human escalation to prevent infinite agent repair loops.agent-loop pipeline): automate multi-stage profiles (surgical,standard,hardened) with role-based briefings, handoff envelopes carrying review feedback (e.g.changes_requiredloops back tobuild), and deterministic verification auto-progression.docs/workflow/while keeping code authoritative for lifecycle semantics andREADME.mdfocused on product overview.tests/Dogfood/AutonomousReplanDogfoodTest.phpproving behavioral closure of #345: an agent facing an invalid implementation premise autonomously triggersREPLANwithin the approved intent without human interruption, while premise failures requiring scope or goal changes strictly enforceHUMAN_DECISION_REQUIREDvia superseded unapproved contract revisions.Changed
voku/agent-learning ^0.16.1, making the released classified-Finding owner API part of Loop's supported dependency boundary instead of relying on Learning-private storage in the return-loop proof.0.20.x-dev.v0.19.0Compare Source
Changed
voku/agent-kanban ^0.4.0,voku/agent-learning ^0.16.0,voku/agent-map ^0.10.0,voku/agent-recall-compiler ^0.15.0,voku/agent-session ^0.7.0. The rootdevelopment alias moves to
0.19.x-dev.BundledOperatingPromptManifest::consumer()instead of derivingskills/agent-recall-consumer/operating-prompts.jsonfrom a reflected sourcelocation. Recall moved that asset to
resources/skills/, and the reconstructedpath failed closed with "Bundled todo-card-handoff manifest not found" - the
owner's own docblock forbids consumers knowing that layout.
0.15.0, Map0.10.0) in checkout refs, Composer path-repository version aliases, and theresolved-version assertions that guard them.
Fixed
map history diffcoverage snapshots the complete index. agent-map 0.10.0splits the index into symbol definitions plus a companion relations file, so
copying
php-symbols.jsonalone produced an incomplete "before" side and anunchanged tree reported spurious
relation_addedevents.adding
copy:method_copy_plan,move:method_move_plan,scaffold:class_scaffold_planandscaffold:method_scaffold_plan.0.13.16 pin had hidden.
Added
voku/agent-sessionare projected byinit install-assetsalongside Loop's own and Recall's. The two siblings are wired asymmetrically on
purpose: Recall has shipped skills for as long as this projection existed, so
failing to locate it stays a hard error, while agent-session only ships skills
from the release that introduced its own
PackageResources. An older installedagent-session therefore contributes nothing instead of being reported as
breakage, and
resolve()never hands callers a root that does not exist -RepositorySetupService::expectedSkillEntries()treats every resolved root asmandatory.
Changed
FirstPartySkillRoots::recallSkillEntries()becomessiblingSkillEntries()andreturns the merged, sorted, de-duplicated contribution of every sibling owner
package rather than Recall alone.
FirstPartySkillRoots::resolve()instead of asserting the literalfrom 2 source root(s), so wiring a sibling in no longer breaks assertionsthat were only ever about extra roots not leaking in.
voku/agent-recall-compiler: resolve Recall consumer skills viaPackageResources::skillsRoot()with fallback toresources/skills/andskills/. Update documentation, workflows, and dogfood prompt references tovendor/voku/agent-recall-compiler/resources/skills/.voku/agent-learning ^0.15.0, which makesagent-loop learn proposal-reanchor <target> --by ACTOR --reason TEXTavailable. An appliedmemory/skillproposal pins its whole target file by hash, so editing any other row of a shared guidance home such asMEMORY.mdmade every applied proof on that file report drift it did not cause, andagent-loop verifyfailed with no way back: retiring answers a curation question nobody asked and re-applying is closed to an applied record. The repair is the owner's, reached through the existinglearndelegation rather than reimplemented here.v0.18.6Compare Source
Fixed
voku/agent-learning ^0.14.2on the maintained 0.18.x line so released consumers can use Learning 0.14 owner APIs without an unsatisfiable Composer graph. No Loop runtime behavior changes.Changed
docs/and the repository root intoresources/, sodocs/is human explanation only andresources/is what the package ships.docs/agents/skills->resources/skills,docs/agents/subagents->resources/subagents,docs/agents/codex-hooks->resources/hooks/codex,docs/agents/claude-hooks->resources/hooks/claude,docs/agents/tools->resources/tools,docs/agents/project-instructions.md->resources/instructions/project-instructions.md,docs/agents/recall-documents.json->docs/recall-documents.json,githooks/->resources/githooks/,make/agent-loop.mk->resources/make/agent-loop.mk, andresources/operating-prompts.json->resources/prompts/operating-prompts.json. There are no forwarding copies; a stale path fails loudly..agent-loop/init.json(paths.skills_root,paths.subagents_root,paths.codex_hooks_root,paths.claude_hooks_root,paths.tools_root) now default to the sameresources/...layout instead ofdocs/agents/.... A repository that kept its own assets at the previous default either moves them or names the old location explicitly inpaths.voku\AgentLoop\PackageResourcesas the single owner of package-shipped resource locations. Setup, hook, prompt and review code resolve asset paths through it instead of each spelling a physical directory.docs/agents/LIFECYCLE.md->docs/workflow/lifecycle.md,docs/agents/INFO_Agents.md->docs/reference/agent-assets.md,docs/agents/PROMPT_PRIMITIVES.md->docs/reference/prompt-primitives.md,docs/agents/THIRD_PARTY_NOTICES.md->docs/reference/third-party-notices.md,docs/agents/project-integrated-phpstan-tools.md->docs/reference/project-integrated-phpstan-tools.md, the capability matrices todocs/architecture/,docs/agents/policies/->docs/policies/, anddocs/agents/dogfood/->docs/dogfood/.Fixed
agent-loop entertext output now renders the exact candidate Contract revision and complete goal before its human approval command, matching the structured decision projection.voku/agent-learning ^0.14.2so governed Runs with multi-segment ad-hoc task IDs can record Findings bound to their exact task and Session lineage without weakening those checks.v0.18.5Compare Source
Added
agent-loop workflow plan: Display the task goal and file scope in CLI output upon planning or revising a candidate contract so human review has immediate goal context before approving.agent-loop finish: Added--recall-outcome-draftsupport to optionally delegate Recall outcome logging directly during the finish command.make/agent-loop.mk: Addedagent_init_toolstarget to probe and cache CLI tool availability.agent-loop init install-assets: Added--configand--extra-subagents-rootsupport. Configured repository skills (paths.skills_root) and subagents (paths.subagents_root) from.agent-loop/init.jsonare now automatically detected and merged with first-party package guidance instead of being marked as stale and removed.agent-loop init install-assets: Addedpackage_skillsandpackage_subagentsconfiguration options ininit.json(as well as--no-package-skillsand--no-package-subagentsCLI flags) to allow repositories with their own adapted skill suites to disable first-party package skills and avoid context budget warnings.agent-loop init sync-subagents: Added support for multiple--subagents-rootdirectories.v0.18.4Compare Source
Added
WorkflowPromptEnvelopere-entry projection with the current approved Contract goal and a boundedcontinuity_anchorcontaining only the newest durable checkpoint from the exact Session identity selected by the current Run manifest.agent-map 0.9plan surface as a governed host, includingparameter_rename_plan@1.0andclass_move_plan@1.0, with shared hash-bound transactional application, rollback, current-Map verification, and clean installed-consumer lifecycle proof.Changed
WorkflowPromptService::continueTask()renders the approved goal and latest durable checkpoint before current state and canonical next action, while the host-facing envelope schema remains explicit at1.1and existing positional construction stays compatible.agent-mapfor structural and relational questions, prefer an already-fresh Map, and do not pay a cold build merely to satisfy policy.ProjectLayout, and keepingitp-contextarchitecture metadata and dogfood helpers in the development graph rather than production autoload.voku/agent-map ^0.9.0andvoku/agent-recall-compiler ^0.13.16; installed refactor dogfood exercises the released package set rather than sibling ordev-mainimplementations.review code/review first-draftas the guaranteed default correctness-review capability. Installedcode-review-*engineering lenses may deepen one dominant concern but their absence does not block an otherwise executable review. Governed close-out remains owned byfinish; the ungoverned path reachesreview first-draftbefore any task-bound status call.Fixed
source_referencevalues for Loop/Recall-owned assets, resolves them against the currently installed owner root, keeps v1/v2 readable until resync, preserves SHA-256 drift detection, rejects unsafe references fail-closed, and represents the package root itself explicitly as..DOINGbut Loop has neither a Contract nor a governed Run. Custom board topologies remain uninterpreted rather than acquiring a second hidden lifecycle mapping.--follow-up-refinput required byfollow_up_requiredclose-out.Validation
CHANGELOG.mdblob before this section was re-prepared; no historical release prose is reconstructed from memory.12d75916b3b3ecc1928981b0e9c3e6ca9ff22beabefore merge.v0.18.3Compare Source
Fixed
finish. Work can legitimatelycontinue afterwards - the closing Run's review gate can itself demand a follow-up
change - but two independent guards made that unrecoverable:
WorkflowRunPreparer::prepareSession()threw whenever the bound Session existedand was not active, while the very next branch already rehydrated a Session that
had been pruned away entirely. A merely closed Session carries strictly more
information than a pruned one, so it now reopens through
SessionStore::reopen()(which stays narrow: only a Session closed asdone,and never while another open Session exists for the task). Requires
voku/agent-session^0.6.3.RunVerificationReceiptStore::record()refused any receipt whose implementationsnapshot differed from the stored one, so
workflow closefailed forever onevidence that no longer matched the code. A newer implementation of the same
Run and the same approved Contract now supersedes the previous receipt and
carries the replaced attestations in a
supersedeschain (receipt schema 1.2),so nothing that was attested is lost. A different Run or Contract is still
refused, and re-recording an identical receipt stays idempotent.
v0.18.2Compare Source
Added
WorkflowPromptEnvelopeprojections and the read-onlyWorkflowPromptService::startTask()/continueTask()embedding boundary, including current Contract/Run/Recall lineage, owner disagreements, canonical next action, and explicit mutation authority without parsing CLI prose or mutating workflow state.Changed
review_presentationmetadata even when review acknowledgement is delegated post-approval, and retainWorkflowHumanDecisionServicefor stricter/manual hosts.Fixed
Validation
v0.18.1Compare Source
Added
WorkflowTransparencyService/TaskTransparencyProjectionboundary so hosts can answer what the Contract approved and excluded, which repository paths changed since the Contract baseline and which of those are outside approved scope, what implementation snapshot is current, what context was skipped or omitted, and what the exact current-or-stale review report found. Every section keeps its authority class; nothing in the projection can declare implementation complete or an acceptance criterion satisfied.agent-loop workflow transparency <task-id> [--format text|json]for inspecting that projection without a host.WorkflowContextCommand::coverage()andWorkflowReviewReportReader::detail(), so context skipped/omitted facts and exact review findings are consumable without parsing rendered context lines or review artifacts.Changed
ApprovedScope) instead of being answered privately insideWorkflowReportCommand. The report'soutside_approved_scopesemantics are unchanged.Fixed
passing its explicit 512M semantic agent-map budget through the real edit path.
v0.18.0Compare Source
Added
ExecutionEnvironmentObservation/ExecutionEnvironmentToolAPI for optional runners. Host, tool, network, and remote-write facts are projected as explicitly untrusted runtime data; arbitrary environment variables, binary paths, credentials, provider policy, and workflow authority remain outside the boundary.WorkflowHumanDecisionService/ projection boundary for non-CLI adapters to record only the currently-authorized contract approval, exact review acknowledgement, or Learning disposition through existing owner stores.Changed
voku/agent-recall-compiler ^0.13.13; Loop retains orchestration timing and mount-point ownership without carrying a duplicate superseding implementation.voku/itp-contextis a development-only evidence dependency.dev-mainComposer branch alias to0.18.x-dev.Fixed
Validation
v0.17.2Compare Source
Fixed
host_worknext action beforefinish-owned validation and blind-spot review. This prevents
finishfromproducing a pre-change review report and requiring its acknowledgement before
the approved implementation can begin.
v0.17.1Compare Source
Changed
voku/agent-recall-compiler ^0.13.11, making the Recall-ownedexecute-plan-with-blind-spot-checkL1 recipe part of the supported Loop release set instead of depending on opportunistic Composer resolution.CI
CHANGELOG.mdalready contains that release section; existing historical tags remain idempotent when their marker still names the exact immutable target.Validation
agent-recall-compiler 0.13.11, proves its distributed catalog containsexecute-plan-with-blind-spot-check, and provesagent-loop workflow planaccepts the Recall-owned L1 recipe without a private copy.dev-mainalias was independently corrected to0.17.x-devonmainby commit0905d82171c9334def2ef08beb52285a82fb3ac8before this release; it is a release precondition, not a change claimed by PR #273.v0.17.0Compare Source
Added
ExecutionGateway, bounded stage bundles, provenance-bound stage results and handoffs, typed Attention, exact-stage projections, and idempotent result acceptance. External runners may execute candidate work, but only agent-loop accepts governed transitions and owns final deterministic verification.Changed
manual,surgical,standard, andhardenedexecution profiles while preservingmanualas the default. Profile selection is Contract-bound and frozen once its governed Run exists.Fixed
Validation
f29be4faf0fccb4fabf4646bb77bea7cc8bfb665before squash merge to1f46648d4fb928aa256d5b6be6ac0f80f1a77d0e.v0.16.6Compare Source
Changed
voku/agent-session ^0.6.1, whose owner API can rehydrate pruneable working memory at an exact already-authoritative Session identity.Fixed
workflow approvenow resumes an existing governed Run after its bound pruneable Session disappears by recreating that exact Run-owned Session ID. It no longer generates a fresh date/random Session and then collides with the Run's durable identity.Validation
2001-02-03-abc-123-r1-deadbeef, removes working memory, rerunsworkflow approve, and proves both Run ID and Session ID stay unchanged. A second regression proves a conflicting active Session cannot steal that Run.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.