Skip to content

retrofit: reverse-spec openbuilt-runtime MCP surface (4 REQs / 16 methods)#140

Merged
rubenvdlinde merged 3 commits into
developmentfrom
retrofit/reverse-spec-openbuilt-openbuilt-runtime-2026-05-24
May 25, 2026
Merged

retrofit: reverse-spec openbuilt-runtime MCP surface (4 REQs / 16 methods)#140
rubenvdlinde merged 3 commits into
developmentfrom
retrofit/reverse-spec-openbuilt-openbuilt-runtime-2026-05-24

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Retrofit — Reverse-Spec

Describes observed behaviour of 16 methods under openbuilt-runtime
(MCP surface in lib/Mcp/OpenBuiltToolProvider.php) as 4 new REQs.

Ghost change: retrofit-2026-05-24-openbuilt-runtime-mcp (archived).

What this PR does

  • Drafts 4 REQs (retrofit_extensions: REQ-OBR-MCP-001..004) on the
    openbuilt-runtime capability spec
  • Creates tasks.md with one task per REQ (all [x])
  • Annotates OpenBuiltToolProvider.php with 4 new @spec tags
    pointing at the ghost change's tasks
  • Archives the change (merges the spec delta + frontmatter into
    openspec/specs/openbuilt-runtime/spec.md)

REQs

REQ Title Methods folded in
REQ-OBR-MCP-001 MCP tool-provider contract getAppId, getTools, invokeTool, errorResult
REQ-OBR-MCP-002 Auth-gated dispatch with arg validation requireAuthenticatedUser, isAdmin, validateListAppsArgs, isValidSlug
REQ-OBR-MCP-003 Application resolution and uniform response mapping resolveApplicationBySlug, mapApplication, sourceDescriptor, buildDeepLink, toArray, extractUuid
REQ-OBR-MCP-004 Draft-version manifest mutation isolation loadVersion, saveVersionManifest

What this PR does NOT do

  • No code behavior changes — just annotations and spec text
  • Does not silently fix the isValidSlug / SlugValidator duplication
    (flagged as a TODO in the Notes block of REQ-OBR-MCP-002)

Review focus

  • REQ language matches observed behaviour, not aspirational design
  • One REQ per distinct observable behaviour (helpers fold into the REQ
    they support, not their own)
  • Scenarios are testable from the public MCP surface

Source: openspec/coverage-report.md (Bucket 2a) generated 2026-05-24 | Cluster: openbuilt-runtime | Refs #137

Drafts 4 REQs (REQ-OBR-MCP-001..004) covering the MCP tool-provider
surface in lib/Mcp/OpenBuiltToolProvider.php (Bucket 2a from the
2026-05-24 coverage scan). Adds 4 @SPEC tags to the file docblock,
each pointing at one task in the ghost change.

REQ-OBR-MCP-001: MCP tool-provider contract (getAppId, getTools,
invokeTool, errorResult).
REQ-OBR-MCP-002: Auth-gated dispatch + arg validation
(requireAuthenticatedUser, isAdmin, validateListAppsArgs, isValidSlug).
REQ-OBR-MCP-003: Application resolution + uniform response mapping
(resolveApplicationBySlug, mapApplication, sourceDescriptor,
buildDeepLink, toArray, extractUuid).
REQ-OBR-MCP-004: Draft-version manifest mutation isolation
(loadVersion, saveVersionManifest).

Notes the isValidSlug / SlugValidator duplication as a follow-up TODO
rather than silently collapsing the two.

Refs #137
Merges the spec delta into openspec/specs/openbuilt-runtime/spec.md:
adds retrofit_extensions frontmatter (REQ-OBR-MCP-001..004) and
appends the 4 new REQs after REQ-OBR-013. 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 @ 546e2e2

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:31 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde rubenvdlinde merged commit 9d118f6 into development May 25, 2026
13 of 22 checks passed
@rubenvdlinde rubenvdlinde deleted the retrofit/reverse-spec-openbuilt-openbuilt-runtime-2026-05-24 branch May 25, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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