Skip to content

Release scoped archive and Mercure subscription services - #9

Merged
xormania merged 5 commits into
masterfrom
dev
Oct 5, 2026
Merged

xormania merged 5 commits into
masterfrom
dev

Conversation

@xormania

@xormania xormania commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Promote the archive and Mercure service foundation from dev into master, the repository's default branch.

Included work from #8:

  • Add scoped Chess-Crawl archive, run and job reads, plus budgeted collection submissions with stable idempotency keys.
  • Add short-lived Mercure subscriber grants for exact authorized topics, event validation, and revision/reconnect handling based on authoritative API snapshots.
  • Document local credentials, workspace authorization and integration requirements; update Mercure runtime configuration and CI coverage.

UX design and browser/Live Component/Turbo wiring remain open. The existing preview does not call the new services. SaaS exposure requires an authenticated app-user-to-workspace resolver.

Validation:

Draft for maintainer review; PR CI runs through the existing workflow.

Chess Dog needs a trusted service boundary to Chess-Crawl before its
player workflows and Live/Turbo components are designed. This adds
server-side archive reads, scoped run/job reads, and explicitly budgeted
collection submissions with stable idempotency keys. Rich archive reads
verify the configured token-to-workspace binding before fetching private
observations.

Mercure Bundle supplies five-minute, subscriber-only JWTs for exact
authorized run/job topics. Browser-safe connection options exclude
credentials; cookies are HttpOnly, host-only, same-origin and HTTPS
Secure. Validated JSON event identities feed snapshot-authoritative
revision/reconnect decisions. Documentation explains local configuration
and the authenticated app-user-to-workspace resolver needed for SaaS. UX
design and browser/component wiring remain open; no templates,
controllers, routes, styles or navigation change.

Validation: 29 unit/existing functional tests, 136 assertions; Symfony
YAML/container lint; Composer strict validation and dependency audit;
native Mate confirms PHP 8.5.11 and service wiring with secrets
redacted. Independent scope/security review fixes are included,
including rich-player credential binding and nullable retry timestamps
in normal job events.

Integration limits: targets the companion workspace-scoped Crawl API.
The local configured authority is not app-user authentication.
Subscriber signing uses the hub's separate HMAC subscriber key and a
same-origin proxy. No application subscriber route or arbitrary HTML
publication is introduced. Live Components and Turbo are already
installed; the Flowbite subscription can support the later UX work.
@xormania
xormania marked this pull request as ready for review October 5, 2026 01:48
@xormania
xormania merged commit 8b3f0d4 into master Oct 5, 2026
13 checks passed
@xormania
xormania deleted the dev branch October 5, 2026 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant