Skip to content

Archive completed OpenSpec changes and sync their specs - #2024

Merged
Aaronontheweb merged 2 commits into
devfrom
chore/openspec-archive
Aug 20, 2026
Merged

Archive completed OpenSpec changes and sync their specs#2024
Aaronontheweb merged 2 commits into
devfrom
chore/openspec-archive

Conversation

@Aaronontheweb

Copy link
Copy Markdown
Collaborator

Why

The openspec/changes/ directory held 23 changes. Sixteen of them have merged
code on dev, but they stayed active and their delta specs never reached the
main specs. This PR syncs those specs and archives the sixteen changes.

No .cs file changes here. openspec validate --all passes (77 items).
dotnet slopwatch analyze reports 0 issues.

Archived changes

Each change moves to openspec/changes/archive/2026-08-19-<name>/.

Change Merged PRs
webhook-route-actor-ownership #2011
consolidate-binding-actor-engines #2000, #2002, #2005
subscribe-mcp-catalog-notifications #1860
reject-incompatible-session-history #1729
extend-live-approval-regression-corpus #1957
guide-subagents-to-session-scratch #1956
lock-shell-approval-store-v3 #1890
adopt-shellsyntax-alpha1 #1836
add-deepseek-provider #1725
add-mcp-prompt-skills #1813, #1891
add-timestamped-webhook-hmac #1660
systemd-daemon-path-capture #1565
simplify-shell-policy-evaluator #1948, #1958, #1962, #1965, #1966
skillserver-native-sidecar-sync #1539
reliable-one-shot-reminder-retry #1812, #1821, #1822, #1839, #1906, #1955
preserve-model-definitions-across-role-switches #1610, #1680

Task 5.3 of consolidate-binding-actor-engines is now ticked. PR #2005 merged
that 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.md
  • openspec/specs/shell-policy-evaluator-architecture/spec.md
  • openspec/specs/skillserver-native-sidecar-sync/spec.md
  • openspec/specs/named-model-definitions/spec.md

Thirteen 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, and
tool-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 archive applied those deltas
programmatically. 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, and
preserve-model-definitions-across-role-switches.

Corrections against merged code

Three reminder requirements in the reliable-one-shot-reminder-retry delta were
superseded by later PRs inside the same change. The main spec follows the merged
code, not the delta text:

  • One-shot settlement. PR Clean up terminal jobs and successful one-shot reminders #1821 restored deletion of a successful one-shot.
    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-history gets the matching correction.
  • Capacity settlement. PR fix(reminders): remove execution cap so reminders never skip on capacity #1839 removed the execution cap. The requirement is
    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.
  • Delivery signal. ReminderDeliveryObserved no longer exists.
    ReminderDeliveryResult replaces it and reports success and failure
    explicitly. The old "Channel kind keeps eager envelope ack" scenario is gone,
    because every delivery kind now holds its envelope.

One more note: netclaw-testing gets the "Container upgrade compatibility
proof" 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)

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 Aaronontheweb added documentation Improvements or additions to documentation cleanup Code quality improvements and tech debt reduction labels Aug 20, 2026
@Aaronontheweb
Aaronontheweb enabled auto-merge (squash) August 20, 2026 00:03
@Aaronontheweb
Aaronontheweb merged commit 9761f92 into dev Aug 20, 2026
22 checks passed
@Aaronontheweb
Aaronontheweb deleted the chore/openspec-archive branch August 20, 2026 00:34
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cleanup Code quality improvements and tech debt reduction documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant