Memory Wiki

Untitled Session

2026-05-24 16:13 UTC · 30 messages · cli

You2026-05-24 16:13 UTC
Write 3 build briefs for the billing conversion tracking implementation: 1. T52 new module (Google Ads Conversion API client) 2. T17 revision (webhook handler integration) 3. T15/T16 revision (Stripe Embedded Checkout + GCLID capture) Write to /root/.hermes/plans/task-t52-build-plan.md, /root/.hermes/plans/task-t17-conversion.md, and /root/.hermes/plans/task-t15-embedded-checkout.md.
Donna2026-05-24 16:13 UTC
Let me read all the reference documents first to understand the full context.
Tool2026-05-24 16:13 UTC
{"content": " 1| 1|# Module 3 Revision: Google Ads Conversion Tracking\n 2| 2|\n 3| 3|**Status:** Decision Plan\n 4| 4|**Date:** 2026-05-24\n 5| 5|**Author:** SA (Super Architect)\n 6| 6|**Scope:** Module 3 (T15-T17) revision — billing conversion track...
Tool2026-05-24 16:13 UTC
{"content": " 1|# Past Faults Log — Profe Core Modules\n 2|\n 3|> **Purpose:** Every bug, design miss, and edge case discovered during development is recorded here.\n 4|> Future modules (and future TBs) MUST read this log before writing code.\n 5|\n 6|---\n 7|\n 8|## ...
Tool2026-05-24 16:13 UTC
{"content": " 439|### Module Module 3 — Billing (Site Areas: 1, 8, 12)\n 440|\n 441|**Goal:** Stripe payment gateway integration with recurring billing.\n 442|\n 443|**Modules (6):** T15-T20\n 444|\n 445|| # | Module | Responsibility | New Tables | Depends On (Locked) |\n 446||---|--...
Donna2026-05-24 16:13 UTC
Now let me look at existing build brief examples to match the format precisely.
Tool2026-05-24 16:13 UTC
{"total_count": 38, "files": ["/root/.hermes/plans/task-t39-build-plan.md", "/root/.hermes/plans/task-t38-build-plan.md", "/root/.hermes/plans/task-t37-build-plan.md", "/root/.hermes/plans/task-t36-build-plan.md", "/root/.hermes/plans/task-t50-build-plan.md", "/root/.hermes/plans/task-t49-build-plan...
Donna2026-05-24 16:13 UTC
Tool2026-05-24 16:13 UTC
{"content": " 1|# Build Plan — T50: Automator (Module 10 — Automation & Polish)\n 2|\n 3|## 1. Overview\n 4|\n 5|**Module Name:** `automator`\n 6|**Namespace:** `Profe\\\\Automator`\n 7|**Responsibility:** Trigger/action/recipe automation engine — allows admin to define \...
Tool2026-05-24 16:13 UTC
{"content": " 1|# Build Plan — T51: AdminApp (Module 10 — Automation & Polish)\n 2|\n 3|## 1. Overview\n 4|\n 5|**Module Name:** `admin_app`\n 6|**Namespace:** `Profe\\\\AdminApp`\n 7|**Responsibility:** Admin application backend — provides the API endpoints and service l...
Tool2026-05-24 16:13 UTC
{"content": " 1|# Build Plan: T17 — webhook_handler (Stripe Webhook Event Processing)\n 2|\n 3|**Module:** Module 3 — Billing\n 4|**Build Order:** 3 of 6 (Module 3)\n 5|**Predecessor:** T15 (stripe_service), T16 (checkout_service)\n 6|**Subsequent Tasks:** T18 (order_manageme...
Donna2026-05-24 16:13 UTC
Let me read the existing T15 and T16 build plans and existing module code.
Tool2026-05-24 16:13 UTC
{"content": " 1|# Build Plan: T15 — stripe_service (Stripe API Wrapper)\n 2|\n 3|**Module:** Module 3 — Billing\n 4|**Build Order:** 1 of 6 (Module 3)\n 5|**Subsequent Tasks:** T16 (checkout_service), T17 (webhook_handler), T18 (order_management), T19 (billing_admin), T20 (rate_l...
Tool2026-05-24 16:13 UTC
{"content": " 1|# Build Plan: T16 — checkout_service (Checkout Flow Orchestration)\n 2|\n 3|**Module:** Module 3 — Billing\n 4|**Build Order:** 2 of 6 (Module 3)\n 5|**Predecessor:** T15 (stripe_service)\n 6|**Subsequent Tasks:** T17 (webhook_handler), T18 (order_management),...
Donna2026-05-24 16:13 UTC
Let me also look at the existing modules to understand the current code.
Tool2026-05-24 16:13 UTC
{"content": " 500|### Step 7: Tests (≥ 12)\n 501|\n 502|**Unit Tests — CheckoutServiceTest (10):**\n 503|1. Test: class implements CheckoutServiceInterface\n 504|2. Test: construct stores all dependencies (reflection check — 5 params match constructor properties)\n 505|3. Test: createSes...
Tool2026-05-24 16:13 UTC
{"content": " 500| try {\n 501| $payload = $request->get_body();\n 502| $signature = $request->get_header('stripe-signature') ?? '';\n 503|\n 504| if (empty($signature)) {\n 505| return new \\WP_REST_Response([\n 506| ...
Donna2026-05-24 16:13 UTC
Let me check the existing modules on disk to understand current code state.
Tool2026-05-24 16:13 UTC
{"total_count": 9, "files": ["/root/profe-modules/stripe_service/src/StripeService/StripeService.php", "/root/profe-modules/stripe_service/src/StripeService/StripeServiceInterface.php", "/root/profe-modules/stripe_service/tests/Integration/StripeServiceIntegrationTest.php", "/root/profe-modules/stri...
Tool2026-05-24 16:13 UTC
{"total_count": 8, "files": ["/root/profe-modules/checkout_service/tests/Integration/CheckoutServiceIntegrationTest.php", "/root/profe-modules/checkout_service/tests/Fixture/CheckoutServiceFixtures.php", "/root/profe-modules/checkout_service/tests/Unit/CheckoutServiceTest.php", "/root/profe-modules/...
Tool2026-05-24 16:13 UTC
{"total_count": 11, "files": ["/root/profe-modules/webhook_handler/tests/Integration/WebhookHandlerIntegrationTest.php", "/root/profe-modules/webhook_handler/tests/Unit/WebhookHandlerTest.php", "/root/profe-modules/webhook_handler/tests/Fixture/WebhookHandlerFixtures.php", "/root/profe-modules/webho...
Donna2026-05-24 16:13 UTC
Tool2026-05-24 16:13 UTC
{"content": " 1|<?php\n 2|/**\n 3| * StripeServiceInterface — Stripe API Wrapper Service Contract\n 4| *\n 5| * Thin, type-safe wrapper around the official stripe/stripe-php SDK.\n 6| * This is the ONLY module that interacts with Stripe — no other module\n 7| * may call \...
Tool2026-05-24 16:13 UTC
{"content": " 1|<?php\n 2|/**\n 3| * StripeService — Stripe API Wrapper Implementation\n 4| *\n 5| * HC-01: Stripe SDK used — NOT hand-rolled curl.\n 6| * HC-02: Webhook signature via SDK — uses \\Stripe\\Webhook::constructEvent().\n 7| * HC-03: API keys via ConfigManager...
Tool2026-05-24 16:13 UTC
{"content": " 1|<?php\n 2|/**\n 3| * CheckoutServiceInterface — Checkout flow orchestration service contract\n 4| *\n 5| * @package Profe\\CheckoutService\n 6| */\n 7|\n 8|declare(strict_types=1);\n 9|\n 10|namespace Profe\\CheckoutService;\n 11|\n 12|int...
Tool2026-05-24 16:13 UTC
{"content": " 1|<?php\n 2|/**\n 3| * CheckoutService — Checkout flow orchestration implementation\n 4| *\n 5| * HC-02: Tier slug validated before session creation via InputSanitizerInterface.\n 6| * HC-03: Price map maps slugs to Stripe Price IDs from ConfigManager.\n 7| ...
Donna2026-05-24 16:13 UTC
Tool2026-05-24 16:13 UTC
{"content": " 1|<?php\n 2|/**\n 3| * WebhookHandler — Stripe webhook event processing implementation\n 4| *\n 5| * HC-01: Stripe SDK used for signature verification via StripeServiceInterface.\n 6| * HC-02: Webhook signature via SDK — NOT hand-rolled HMAC.\n 7| * HC-03: I...
Tool2026-05-24 16:13 UTC
{"content": " 1|<?php\n 2|/**\n 3| * WebhookHandlerInterface — Stripe webhook event processing service contract\n 4| *\n 5| * @package Profe\\WebhookHandler\n 6| */\n 7|\n 8|declare(strict_types=1);\n 9|\n 10|namespace Profe\\WebhookHandler;\n 11|\n 12|in...
Tool2026-05-24 16:13 UTC
{"content": " 1|<?php\n 2|/**\n 3| * WebhookHandlerModule — ModuleInstanceInterface implementation for webhook_handler\n 4| *\n 5| * HC-04: Webhook route CSRF/Auth exempt.\n 6| * FAULT-004: Webhook route explicitly exempted.\n 7| * FAULT-01: Factory closure captures $c, n...