Skip to content

Extend matrix surfaces for Remix#361

Merged
swernerx merged 1 commit into
mainfrom
codex/remix-matrix-surfaces
Jul 6, 2026
Merged

Extend matrix surfaces for Remix#361
swernerx merged 1 commit into
mainfrom
codex/remix-matrix-surfaces

Conversation

@swernerx

@swernerx swernerx commented Jul 6, 2026

Copy link
Copy Markdown
Member

Summary

  • extend the public framework matrix, home/proof copy, and site route checks from 5x4/20 to 6x4/24 with Remix v3 included
  • document Remix v3 examples as local/CI/source-only proof surfaces instead of public hosted demo targets
  • add Remix ports to the example container surface and keep deployment docs scoped to the currently hosted/manual targets

Validation

  • pnpm format:check
  • pnpm lint:oxlint
  • pnpm check-types
  • pnpm --filter @palamedes/site build
  • node scripts/verify-site-routes.mjs
  • node -e "import('./scripts/example-matrix.mjs').then(({EXAMPLE_MATRIX}) => { console.log(EXAMPLE_MATRIX.length); console.log(EXAMPLE_MATRIX.filter((entry) => entry.framework === 'remix').map((entry) => entry.id).join(',')); })"
  • node scripts/container/print-podman-ports.mjs

@greptile-apps

greptile-apps Bot commented Jul 6, 2026

Copy link
Copy Markdown

Greptile Summary

This PR extends the Palamedes example matrix from 5×4 (20 apps) to 6×4 (24 apps) by adding Remix v3, updating all associated documentation, site copy, route assertions, and the container port layout accordingly.

  • site/app/data/matrix.ts introduces a HOSTED_FRAMEWORKS set to conditionally assign \"live\" status and demo links only to the five established adapters; Remix cells get \"provisioning\" status with source-only links, and the FRAMEWORKS array gains the \"remix\" entry.
  • scripts/verify-site-routes.mjs is updated to expect 24 matrix cells and to look for \"21.0\" (the correct benchmark value) instead of the previously stale \"19.6\" check; all site routes, CI workflow checks, and container port documentation are updated in lockstep.

Confidence Score: 4/5

Safe to merge; all logic and assertion changes are consistent with the 5→6 framework expansion and the build was validated end-to-end.

The matrix data, component copy, CI smoke checks, container ports, and Playwright cell-count assertions are all updated consistently. The HOSTED_FRAMEWORKS set correctly gates demo links so Remix gets provisioning-only cells. The one process concern is routes.ts being manually edited despite its auto-generated header — if Ardo regenerates the file before the remix package is fully wired into its configuration, the /docs/api/remix route entry could be silently dropped. Everything else is straightforward content and number updates with no runtime risk.

site/app/routes.ts — manually edited auto-generated file; verify Ardo will preserve or re-emit the remix route on next regeneration.

Important Files Changed

Filename Overview
site/app/data/matrix.ts Adds Remix v3 to FRAMEWORKS, introduces HOSTED_FRAMEWORKS set for conditional live/provisioning status on cookie/route cells; subdomain/tld were already provisioning for all frameworks.
site/app/routes.ts Manually adds the docs/api/remix route to an auto-generated file; the referenced markdown file is not present in source and must be built by Ardo.
scripts/verify-site-routes.mjs Updates cell count assertion from 20 to 24, fixes the previously stale '19.6' benchmark stat check to '21.0', and corrects the proof-strip label text.
Containerfile Adds ports 4060-4063 to the comment block and EXPOSE directive for the four Remix example apps; comment count strings updated from 'twenty' to '24'.
docs/operations/run-examples-container.md Port overview table extended with solidstart-subdomain/tld and all four Remix ports, but ports for nextjs/tanstack/waku/react-router subdomain and tld variants remain absent from the table.
.github/workflows/deploy-site.yml Single line change: CI smoke-check for /frameworks now expects 'Six frameworks.' instead of 'Five frameworks.'

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[FRAMEWORKS array\n6 entries] --> B{framework in\nHOSTED_FRAMEWORKS?}
    B -- Yes\nnextjs·tanstack·solidstart·waku·react-router --> C[status: 'live'\ndemoLinks: populated]
    B -- No\nremix --> D[status: 'provisioning'\ndemoLinks: undefined]

    C --> E[cookie cell]
    C --> F[route cell]
    D --> G[cookie cell\nprovisioning]
    D --> H[route cell\nprovisioning]

    A --> I[subdomain cell\nstatus: provisioning\nall frameworks]
    A --> J[tld cell\nstatus: provisioning\nall frameworks]

    E & F & G & H & I & J --> K[MATRIX_CELLS\n24 total]
    K --> L[FrameworkMatrix renders\n24 td elements]
    K --> M[verify-site-routes\nasserts cells === 24]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[FRAMEWORKS array\n6 entries] --> B{framework in\nHOSTED_FRAMEWORKS?}
    B -- Yes\nnextjs·tanstack·solidstart·waku·react-router --> C[status: 'live'\ndemoLinks: populated]
    B -- No\nremix --> D[status: 'provisioning'\ndemoLinks: undefined]

    C --> E[cookie cell]
    C --> F[route cell]
    D --> G[cookie cell\nprovisioning]
    D --> H[route cell\nprovisioning]

    A --> I[subdomain cell\nstatus: provisioning\nall frameworks]
    A --> J[tld cell\nstatus: provisioning\nall frameworks]

    E & F & G & H & I & J --> K[MATRIX_CELLS\n24 total]
    K --> L[FrameworkMatrix renders\n24 td elements]
    K --> M[verify-site-routes\nasserts cells === 24]
Loading

Comments Outside Diff (2)

  1. site/app/routes.ts, line 1-49 (link)

    P2 Manual edit to auto-generated file

    routes.ts carries // AUTO-GENERATED by Ardo - Do not edit manually at the top, yet this PR manually inserts route("docs/api/remix", "routes/docs/api/remix/index.md"). The referenced markdown file does not exist in the source tree — it is expected to be a build artifact emitted by Ardo from packages/remix. If Ardo is re-run without the remix package in scope (e.g. before the package is fully wired into Ardo's configuration), it will regenerate routes.ts and silently drop this manually added entry, causing the /docs/api/remix route to disappear from the site with no build error.

  2. docs/operations/run-examples-container.md, line 272-301 (link)

    P2 Port overview table is still a partial list

    The table now shows 16 of the 24 exposed ports. Ports for the subdomain and tld variants of nextjs (4012, 4013), tanstack (4022, 4023), waku (4032, 4033), and react-router (4042, 4043) remain absent, while the Remix and SolidStart subdomain/tld ports were added. The Containerfile EXPOSE directive and print-podman-ports.mjs already cover all 24 ports correctly, so this is purely a documentation gap, but the table now documents only two strategies for four frameworks while documenting all four strategies for Remix and SolidStart — which is inconsistent.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Reviews (1): Last reviewed commit: "docs: extend matrix surfaces for Remix" | Re-trigger Greptile

@swernerx
swernerx force-pushed the codex/remix-matrix-surfaces branch from 1269d01 to a4cf6fe Compare July 6, 2026 22:25
@swernerx
swernerx merged commit 25d46cf into main Jul 6, 2026
7 checks passed
@swernerx
swernerx deleted the codex/remix-matrix-surfaces branch July 6, 2026 22:51
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