Repository navigation
Define task revision semantics and action-specific continuation prerequisites - #9
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task revisions and continuation readiness now have deterministic interpretation in both reference implementations. Dependencies resolve at the selected task boundary, and a destination computes prerequisites for the specific next action. The same capture can be ready to display a decision or reconcile a job while remaining blocked for model execution.
Closes #2. Closes #3. Based on main after #8. Stacked PR #10 introduces the 0.4 review-draft version identifiers and migration guidance. Merge this PR first.
Normative proposal / RFC
Task dependencies name session-local task IDs and resolve to the latest selected revision. Each revision replaces the dependency list: omitted means unknown and
[]means none. Graphs must be acyclic after each selected update. Prerequisites are descriptive; only a selected completed task is satisfied, and later status changes never silently cascade to dependents. Missing initial predecessors require partial coverage and retain reconstruction gaps. Corrections useprevious_revision, not envelope supersession; reactivation of terminal tasks requiresreopen_reason.Continuation requiredness uses an explicit five-action table and monotonic prerequisite closure. Waiting activates read requirements; reconciliation adds continue requirements; model/native actions also activate context requirements. Selected subjects remain inventoried even when optional. Transitive edges can promote dependencies with empty
required_for, optional capabilities and shared resources. Core checkpoint/environment requirements and destination recovery evidence have explicit report subjects/fields. Only typed references select resources; unrelated historical resources and opaque JSON lookalikes cannot accidentally block readiness.Reports require exactly one assessment for every applicable subject with the computed flag. Missing/extra records or false support claims invalidate a report; unresolved required subjects produce a valid blocked result. Optional deferral and unaccepted optional adaptations do not block the assessed action. Actual information loss still needs a loss record. Waiting and recovery reports cannot establish agent-execution readiness.
Implementation and alternatives
Both validators and state reducers implement the same rules, with 35 task mutation cases and shared continuation expectations. Add task boundary/partial-history examples and one unchanged capture assessed for all five next actions. Report schemas, generators, field documentation and conformance guidance are updated. A TypeScript set-comparison fix prevents extra assessments being accepted when an iterator is exhausted.
Pinned task-revision dependencies would require a different representation. Automatic status cascades would invent scheduling behavior. Requiring every selected continuation subject would unnecessarily block passive actions; ignoring transitive edges would omit real prerequisites. The chosen closure preserves both the complete inventory and action-specific blockers.
Compatibility and privacy
This changes interpretation requirements and adds environment/core-requirement report subjects and resolved recovery fields. The follow-up version PR isolates the identifier bump and migration guidance. Existing task-envelope supersession, unchecked dependency cycles and conservative report flags must be migrated/reassessed. No source evidence is rewritten by report assessment. All fixtures are synthetic; no external service, credential lookup, scheduler or agent execution is added. Local parity does not establish independent interoperability.
Validation
git diff --checkpassed.