Skip to content

retrofit: reverse-spec chat-ai cluster (5 REQs / 22 methods)#1368

Merged
WilcoLouwerse merged 3 commits intofeature/reverse-specfrom
retrofit/reverse-spec-openregister-chat-ai-2026-04-30
Apr 30, 2026
Merged

retrofit: reverse-spec chat-ai cluster (5 REQs / 22 methods)#1368
WilcoLouwerse merged 3 commits intofeature/reverse-specfrom
retrofit/reverse-spec-openregister-chat-ai-2026-04-30

Conversation

@WilcoLouwerse
Copy link
Copy Markdown
Contributor

Retrofit — Reverse-Spec

Describes observed behavior of 22 methods under the chat-ai cluster as 5 new REQs.

Ghost change: openspec/changes/archive/retrofit-chat-ai-2026-04-30/ (archived).

What this PR does

  • Creates new capability spec openspec/specs/chat-ai/spec.md with retrofit: true frontmatter
  • Drafts 5 REQs covering AI chat, conversation lifecycle, history, agent management, and analytics
  • Creates tasks.md with one task per REQ (all [x] — code pre-exists)
  • Annotates 22 methods across 4 files with @spec tags pointing at the ghost change
  • Archives the change (spec now lives in main openspec/specs/)
  • Adds annotation commit to .git-blame-ignore-revs

REQs drafted

  • REQ-001 — AI message processing with RAG context retrieval (ChatController::sendMessage, ChatService::processMessage)
  • REQ-002 — Conversation lifecycle management with two-stage deletion (ConversationController CRUD + clearHistory)
  • REQ-003 — Paginated conversation history retrieval (ConversationController::messages, ChatController::getHistory)
  • REQ-004 — Agent management and tool discovery (AgentsController index/show/create/update/patch/destroy/tools)
  • REQ-005 — Chat analytics and user feedback (AgentsController::stats, ChatController::getChatStats/sendFeedback)

What this PR does NOT do

  • No code behavior changes — annotations only
  • Does not silently fix observed-but-suspicious behavior (flagged in spec Notes: destroyPermanent asymmetry, getChatStats multi-tenant scope)

Review focus

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

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

WilcoLouwerse and others added 2 commits April 30, 2026 15:35
New capability spec openspec/specs/chat-ai/spec.md with 5 REQs drafted
from observed behavior of ChatController, ChatService, ConversationController,
and AgentsController. Ghost change retrofit-chat-ai-2026-04-30 archived.

REQs:
- REQ-001: AI message processing with RAG context
- REQ-002: Conversation lifecycle management (two-stage delete)
- REQ-003: Paginated message history retrieval
- REQ-004: AI agent management and tool discovery
- REQ-005: Chat analytics and user feedback

Annotations: 22 methods across 4 files tagged with @SPEC pointing at
openspec/changes/archive/retrofit-chat-ai-2026-04-30/tasks.md.
No logic changes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@WilcoLouwerse WilcoLouwerse changed the base branch from development to feature/reverse-spec April 30, 2026 14:10
Merged both retrofit annotation SHAs from feature/reverse-spec and
retrofit/reverse-spec-openregister-chat-ai-2026-04-30.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@WilcoLouwerse WilcoLouwerse merged commit 2f2a1cc into feature/reverse-spec Apr 30, 2026
@WilcoLouwerse WilcoLouwerse deleted the retrofit/reverse-spec-openregister-chat-ai-2026-04-30 branch April 30, 2026 14:14
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openregister @ f32a2bd

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-04-30 20:07 UTC

Download the full PDF report from the workflow artifacts.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant