Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

retrofit: reverse-spec actions (5 REQs / 9 methods)#1394

Merged
WilcoLouwerse merged 4 commits into
developmentfrom
retrofit/reverse-spec-openregister-actions-2026-05-01
May 4, 2026
Merged

retrofit: reverse-spec actions (5 REQs / 9 methods)#1394
WilcoLouwerse merged 4 commits into
developmentfrom
retrofit/reverse-spec-openregister-actions-2026-05-01

Conversation

@WilcoLouwerse

Copy link
Copy Markdown
Contributor

Retrofit — Reverse-Spec

Describes observed behavior of 9 methods across 6 files under actions as 5 new REQs.

Ghost change: retrofit-actions-2026-05-01 (archived at openspec/changes/archive/2026-05-01-retrofit-actions-2026-05-01/).

What this PR does

  • Drafts 5 REQs in a new actions capability spec (retrofit: true)
  • Creates tasks.md with one task per REQ
  • Annotates 9 methods across 6 files with @spec openspec/changes/retrofit-actions-2026-05-01/tasks.md#task-N
  • Archives the ghost change; merges spec delta into openspec/specs/actions/spec.md (new capability)
  • Symlink at original path preserves @spec tag resolution without rewriting annotations
  • Updates .git-blame-ignore-revs with the annotation commit SHA

REQs drafted

REQ Title Methods
REQ-001 Actions CRUD ActionsController (index/show/create/update/patch/destroy), ActionService (createAction/updateAction/deleteAction)
REQ-002 Event-triggered execution ActionExecutor::executeActions, ActionListener
REQ-003 Sync/async execution modes ActionExecutor::buildCloudEventPayload
REQ-004 Retry backoff on failure ActionExecutor (handleFailure), ActionRetryJob (run/calculateDelay)
REQ-005 Cron-scheduled execution ActionScheduleJob::run

Notes flagged

  • calculateDelay() in ActionRetryJob is implemented but not called during the retry scheduling — the delay is never applied to the re-queued job. Flagged in spec notes as a potential bug.
  • CronExpression is an optional runtime dependency with no graceful fallback if not installed.

What this PR does NOT do

  • No code behavior changes — annotations only
  • Does not fix the observed calculateDelay bug — notes section flags it for follow-up

Review focus

  • REQ language matches observed behavior (not aspirational)
  • Scenarios are testable
  • One REQ per distinct observable behavior

⚠️ Specter sync skippedconcurrentie-analyse repo not available on this machine. sync_spec_content.py must be run separately to register this capability in Specter's app_specs table.

Source: openspec/coverage-report.md generated 2026-04-30 | Cluster: actions

WilcoLouwerse and others added 4 commits May 1, 2026 13:43
… completed chat-ai cluster

Post-merge update after PR #1364: branch updated from feature/reverse-spec to development.
Removed chat-ai from Bucket 2a (done via PR #1368). Cleared Bucket 1 (all 138 methods
annotated via PRs #1365 + #1364). Noted Tier 1 capabilities are already annotated.
Drafts 5 REQs for the actions capability (CRUD, event-triggered
execution, sync/async modes, retry backoff, cron scheduling) and
annotates 9 methods across 6 files with @SPEC tags pointing at the
ghost change retrofit-actions-2026-05-01.

Code already exists — this change retroactively specifies it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Moves ghost change retrofit-actions-2026-05-01 to archive and merges
the delta spec into openspec/specs/actions/spec.md (new capability).

Symlink at the original path preserves @SPEC tag resolution without
rewriting annotations across 6 annotated files.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented May 1, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openregister @ 9313b32

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 147/147
npm ✅ 598/598
PHPUnit
Newman
Playwright ⏭️

Quality workflow — 2026-05-01 18:45 UTC

Download the full PDF report from the workflow artifacts.

@WilcoLouwerse WilcoLouwerse merged commit d257562 into development May 4, 2026
18 of 21 checks passed
@WilcoLouwerse WilcoLouwerse deleted the retrofit/reverse-spec-openregister-actions-2026-05-01 branch May 4, 2026 12:28
WilcoLouwerse added a commit that referenced this pull request May 4, 2026
…er + backfill design.md

Cleans up the retrofit cohort that landed across PRs #1364#1394.

**Archive consolidation**
- Move 12 retrofit ghost changes from openspec/archive/ → openspec/changes/archive/
- Move 2 older non-retrofit changes (2026-03-25-contacts-actions, 2026-03-25-mail-sidebar) too
- Delete the now-empty openspec/archive/ root
- Drop the broken openspec/changes/retrofit-actions-2026-05-01 symlink
- Rename 2026-05-01-retrofit-actions-2026-05-01 → retrofit-actions-2026-05-01 (drop redundant date prefix)

**Frontmatter standardisation**
- archival-destruction-workflow ghost change delta: full requirement text → REQ-009 ID; ### Requirement → ### REQ-009
- archival-destruction-workflow master: remove redundant quotes around REQ-009
- content-versioning master: inline list → block YAML
- tenant-lifecycle master: inline list → block YAML

**Backfill design.md on 5 retrofits**
The 2026-04-28 retrofit batch ran before opsx-reverse-spec step 11 (auto-call /opsx-ff)
was wired in. Adds design.md (Context / Goals / Decisions / Risks / Migration Plan)
to: archival-destruction-workflow, calendar-integration, content-versioning,
object-lifecycle, tenant-lifecycle.

**Why the design.md was written directly rather than via /opsx-ff:** the skill is
built to scaffold a NEW change at openspec/changes/{name}/, not to backfill
artifacts on already-archived ghost changes. The opsx-reverse-spec skill itself
already calls /opsx-ff at step 11, so future runs will get the auto-fill for free.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants