Archive completed OpenSpec changes and sync their specs - #2024
Merged
Conversation
Apply the delta specs of 16 completed changes to the main specs. Create four new capability specs: daemon-shell-path, shell-policy-evaluator-architecture, skillserver-native-sidecar-sync, and named-model-definitions. Correct three reminder requirements against the merged code: - One-shot success removes the definition and its history. Only a poisoned one-shot is soft-deleted (PR #1821). - No execution capacity cap exists (PR #1839). The nack and ack-skip policy now covers a duplicate active occurrence and a short acknowledgement lease. - Every delivery kind now holds its envelope. ReminderDeliveryResult replaces ReminderDeliveryObserved.
Move each completed change to openspec/changes/archive/2026-08-19-<name>/. Their code is merged on dev. Also tick task 5.3 of consolidate-binding-actor-engines. PR #2005 merged that work. Leave eval-run checkboxes unticked. An evals-only gap does not block the archive.
Aaronontheweb
enabled auto-merge (squash)
August 20, 2026 00:03
This was referenced Aug 20, 2026
Aaronontheweb
added a commit
that referenced
this pull request
Aug 20, 2026
* Sync delta specs for the last two completed changes Apply the redirect-shared-temp-to-session-scratch delta to session-cwd and tool-approval-gates. The OpenSpec CLI applied both files. Merge the surface-reminder-schedule-failures delta into netclaw-scheduling by hand. PR #2024 already corrected that requirement against the merged code, so a programmatic apply would undo those corrections. Keep the corrected text and add the scheduling-failure content: - An execution failure and a scheduling failure share one ConsecutiveFailures count. - A successful reschedule alone does not reset the count. - An unattended reschedule site emits ReminderScheduleFailed at Warning severity, and ReminderAutoDisabled at Critical severity on the threshold. - The set_reminder create path and update path return the error to the caller and emit no alert. Drop three stale delta claims. The merged code disables a reminder. It does not set a "paused" status and it does not write tasks.json. ReminderExecutionActor has no ExecutionTimeoutSeconds constant, so the one-hour absolute limit stands. * Archive the last two completed OpenSpec changes Move each change to openspec/changes/archive/2026-08-19-<name>/. The code of both changes is merged on dev. - surface-reminder-schedule-failures: PR #1886. - redirect-shared-temp-to-session-scratch: PRs #1890, #1925, #1926, #1945, and #1956. Tick task 4.3 of redirect-shared-temp-to-session-scratch. The full pr_validation suite ran green on Windows against current dev. Leave the other boxes unticked. The maintainer accepts tasks 4.5 and 4.6 of surface-reminder-schedule-failures as guaranteed by construction. The maintainer accepts task 6.4 of that change and task 4.4 of redirect-shared-temp-to-session-scratch as an eval-credentials gap.
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.
Why
The
openspec/changes/directory held 23 changes. Sixteen of them have mergedcode on
dev, but they stayed active and their delta specs never reached themain specs. This PR syncs those specs and archives the sixteen changes.
No
.csfile changes here.openspec validate --allpasses (77 items).dotnet slopwatch analyzereports 0 issues.Archived changes
Each change moves to
openspec/changes/archive/2026-08-19-<name>/.webhook-route-actor-ownershipconsolidate-binding-actor-enginessubscribe-mcp-catalog-notificationsreject-incompatible-session-historyextend-live-approval-regression-corpusguide-subagents-to-session-scratchlock-shell-approval-store-v3adopt-shellsyntax-alpha1add-deepseek-provideradd-mcp-prompt-skillsadd-timestamped-webhook-hmacsystemd-daemon-path-capturesimplify-shell-policy-evaluatorskillserver-native-sidecar-syncreliable-one-shot-reminder-retrypreserve-model-definitions-across-role-switchesTask 5.3 of
consolidate-binding-actor-enginesis now ticked. PR #2005 mergedthat work.
Eval-run checkboxes stay unticked. An evals-only gap does not block an archive,
so this PR does not fake those boxes.
Spec syncs
Four capability specs are new. Each one gets a Purpose section:
openspec/specs/daemon-shell-path/spec.mdopenspec/specs/shell-policy-evaluator-architecture/spec.mdopenspec/specs/skillserver-native-sidecar-sync/spec.mdopenspec/specs/named-model-definitions/spec.mdThirteen existing capability specs receive added, modified, or renamed
requirements:
audience-context-filtering,netclaw-cli,netclaw-mcp,netclaw-model-capabilities,netclaw-model-providers,netclaw-scheduling,netclaw-subagents,netclaw-testing,reminder-execution-history,session-cwd,skill-index-compression,skill-tools, andtool-approval-gates.Scope note for reviewers
The plan for this PR assumed that only five changes needed a spec sync. Nine
more turned out to be unsynced as well.
openspec archiveapplied those deltasprogrammatically. The five that needed judgment were merged by hand:
systemd-daemon-path-capture,simplify-shell-policy-evaluator,skillserver-native-sidecar-sync,reliable-one-shot-reminder-retry, andpreserve-model-definitions-across-role-switches.Corrections against merged code
Three reminder requirements in the
reliable-one-shot-reminder-retrydelta weresuperseded by later PRs inside the same change. The main spec follows the merged
code, not the delta text:
The delta claimed soft deletion for both success and failure. The requirement
is now "One-shot reminders have one terminal settlement": success removes the
definition and its history; only a poisoned one-shot is soft-deleted.
reminder-execution-historygets the matching correction.now "Blocked occurrence settlement remains bounded" and covers the two real
block conditions: an active execution for the same reminder, and an
acknowledgement lease shorter than the attempt limit plus the settlement margin.
ReminderDeliveryObservedno longer exists.ReminderDeliveryResultreplaces it and reports success and failureexplicitly. The old "Channel kind keeps eager envelope ack" scenario is gone,
because every delivery kind now holds its envelope.
One more note:
netclaw-testinggets the "Container upgrade compatibilityproof" requirement. The script exists at
scripts/docker/test-model-config-upgrade.sh, but no workflow calls it yet.Not archived
Two changes are close to done and need a maintainer call:
surface-reminder-schedule-failures(24/27)redirect-shared-temp-to-session-scratch(19/21)Five changes remain in progress:
memory-core-redesign(4/54)reduce-fresh-session-approval-spam(69/75)streaming-tool-call-execution(33/38)subagent-explicit-model-selection(0/24)memory-relevance-gate(0/14)