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

retrofit: reverse-spec deep-link-registration (2 REQs / 1 method, new capability)#142

Merged
rubenvdlinde merged 4 commits into
developmentfrom
retrofit/reverse-spec-openbuilt-deep-link-registration-2026-05-24
May 25, 2026
Merged

retrofit: reverse-spec deep-link-registration (2 REQs / 1 method, new capability)#142
rubenvdlinde merged 4 commits into
developmentfrom
retrofit/reverse-spec-openbuilt-deep-link-registration-2026-05-24

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Retrofit — Reverse-Spec

Describes observed behaviour of 1 method
(DeepLinkRegistrationListener::handle, plus its wiring in
Application::register) as 2 REQs in a brand-new capability spec
deep-link-registration.

Ghost change: retrofit-2026-05-24-deep-link-registration (archived).

What this PR does

  • Creates openspec/specs/deep-link-registration/spec.md (retrofit: true frontmatter) covering the listener wiring + handle() contract
  • Creates tasks.md with one [x] task per REQ
  • Annotates DeepLinkRegistrationListener.php docblock with 2 new
    @spec tags (also fills in the missing SPDX would have been nice
    but stayed out of scope — annotations only)
  • Archives the change

REQs

REQ Title Methods
REQ-OBDL-001 Event listener wired at app registration Application::register (wiring), DeepLinkRegistrationListener::handle (short-circuit)
REQ-OBDL-002 Per-schema deep-link entries registered against the event DeepLinkRegistrationListener::handle (payload)

What this PR does NOT do

  • No code behaviour changes — annotations + spec text only
  • Does NOT replace the placeholder schema slug example with the real
    OpenBuilt schemas (application, application-version,
    built-app-route). Flagged as TODO in REQ-OBDL-002's Note block;
    separate follow-up PR will extend REQ-OBDL-002 with one
    $event->register(...) scenario per OpenBuilt-owned schema.

Review focus

  • Wiring vs payload split (REQ-OBDL-001 vs REQ-OBDL-002) — does it
    feel like over-splitting for one method?
  • No-hard-dependency invariant on REQ-OBDL-001 — load-bearing for the
    "OR is optional" posture
  • Honest capture of the scaffold-stub state (one placeholder entry)
    via Note block, not silently spec'd as production behaviour

Source: openspec/coverage-report.md (Bucket 2b) generated 2026-05-24 | Cluster: deep-link-registration | Refs #137

…rationListener

Drafts 2 REQs (REQ-OBDL-001..002) in a new deep-link-registration
capability spec covering the DeepLinkRegistrationListener wiring +
handle() method (Bucket 2b from the 2026-05-24 coverage scan). Adds
2 @SPEC tags to the listener's file docblock.

REQ-OBDL-001: Event listener wired at app registration - codifies
the IRegistrationContext::registerEventListener wiring and the
short-circuit on non-matching events. Includes the no-hard-dependency
invariant: if OR isn't installed, the listener never fires.

REQ-OBDL-002: Per-schema deep-link entries registered against the
event - codifies the additive $event->register(appId, registerSlug,
schemaSlug, urlTemplate) shape and the {uuid} placeholder.

Notes block flags the placeholder schema slug 'example' (scaffold
leftover) as TODO - real OpenBuilt schemas (application,
application-version, built-app-route) have no deep-link entries yet.
Future PRs will extend REQ-OBDL-002 with one register() call per
OpenBuilt-owned schema.

Refs #137
Creates openspec/specs/deep-link-registration/spec.md (new capability)
from the change's spec delta and archives the change. No code logic
changes.

Refs #137
@rubenvdlinde rubenvdlinde added yolo YOLO -- auto-approve and merge when AI reviews pass openspec OpenSpec-driven change retrofit reverse-spec labels May 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openbuilt @ 341fecd

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

Quality workflow — 2026-05-24 18:36 UTC

Download the full PDF report from the workflow artifacts.

…se-spec-openbuilt-deep-link-registration-2026-05-24

# Conflicts:
#	.git-blame-ignore-revs
@rubenvdlinde rubenvdlinde merged commit b5c0fcb into development May 25, 2026
6 of 15 checks passed
@rubenvdlinde rubenvdlinde deleted the retrofit/reverse-spec-openbuilt-deep-link-registration-2026-05-24 branch May 25, 2026 08:04
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openbuilt @ 75e6648

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

Quality workflow — 2026-05-25 08:05 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

openspec OpenSpec-driven change retrofit reverse-spec yolo YOLO -- auto-approve and merge when AI reviews pass

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant