Skip to content

Preserve workflow progress across metadata refreshes - #43

Merged
dkropachev merged 2 commits into
mainfrom
fix/workflow-metadata-stability
Oct 27, 2026
Merged

dkropachev merged 2 commits into
mainfrom
fix/workflow-metadata-stability

Conversation

@dkropachev

Copy link
Copy Markdown
Contributor

Issue

Operational metadata refreshes changed preparation identity and invalidated valid review progress, while interrupted workflows still depended on temporary exports. Decisions commands held file locks across network and model calls. Plugin version checks were duplicated between discovery and retained execution.

Fix

Separate immutable artifact provenance from runtime-computed engineering identity. Fresh workflows can retain completed reviewer checkpoints, scope assessments, and completion verification across operational refreshes, while governing evidence changes and changed heads still block interruption resume.

Commit Decisions updates only when their loaded revision matches. Preserve conflicting proposals and exact requests for explicit reconciliation, and persist publication ownership before GitHub mutations. Keep network and model calls outside the state lock while preserving persistent agreements and exclusive store configuration.

Retain contexts, isolated checkouts, evidence captures, and runnable recovery manifests in private workflow storage. Missing required live rules or instructions remain blocking. Share plugin version validation across discovery and retained execution, preserving package hashes and procedure identity.

Introduce preparation v3, session v2, review-result v3, and completion-verification v2 for fresh workflows. Existing interrupted runs continue through their retained runtimes, with review budgets and publication history preserved. Preserve the current cleanup prechecks and guarded reconciliation path. Synchronize both hosts and release metadata at version 1.4.0.

Separate engineering compatibility from immutable preparation provenance so
operational refreshes preserve valid review checkpoints and verification.
Retain runnable recovery inputs and isolated checkouts in private storage.

Guard Decisions writes with revisions and publication ownership, preserving
conflicting proposals for explicit reconciliation. Share plugin version
validation between discovery and retained execution. Keep legacy runs on
their retained runtimes and preserve consumed review budgets.

Update both hosts' contracts and add concurrency and recovery regressions.
Verified with python3 scripts/check.py and python3 scripts/test.py.
Distinguish an absent manifest version from an explicitly null declaration
when the registry supplies a version. Keep discovery and retained execution
on the same validator and require matching failure diagnostics.
@dkropachev
dkropachev merged commit 0124292 into main Oct 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant