Skip to content

apps/website divergence: the site publishes from trinity while tri-27 claims to be it — the live Queen game exists only here #974

Description

@gHashTag

Found during an outside review of the /queen game and the publishing chain (2026-09-09).

The facts

  1. The live t27.ai still builds from this monorepo. publish-website.yml in ghashtag.github.io runs on a 15-minute cron and "replaces assets/ with a build from trinity" (see 5b8ccb28349edf0055631079f2ff2e901b804b8b). Nothing in that workflow has pointed at tri-27 since tri-27 was created on 2026-09-03.
  2. tri-27 claims to be the site. Its README says "the publisher in ghashtag.github.io needs a one-line change to which repository it checks out" — a plan that was never executed.
  3. The game code diverged immediately. tri-27's apps/website has only the Sep-3 state of Queen.tsx/Queen.css (last touched cd1ad56). Everything the game became afterwards — QueenComb.tsx, queenHud.ts, the qa contract suite (queen-pick/placement/foundation/castle/windows/honey/bar/round/void/honesty/stale-contract.mjs) — exists only here in trinity.
  4. tri-27's own gates guard a stale copy. check:queen in tri-27 validates a Queen.tsx that the site no longer serves, and check:api has printed SKIPPED since the split. The CI there watches a museum.
  5. The game docs acknowledge this without resolving it: "the local checkout is 62 commits behind" (docs/game studies, 2026-09-03).

Why it matters

  • A gate that validates a copy nothing serves is a green lie of exactly the kind the repo's own honesty rules prohibit.
  • Any fix to the live /queen page must be committed here — but a reader of tri-27 would reasonably commit it there and see it never ship.
  • The 2026-08-21 incident (eleven blog posts silently dropped by the unattended publisher) showed what happens when the publishing chain has more moving parts than it has checks.

Options (owner decision)

  • A. Finish the extraction: move the current game code into tri-27, point publish-website.yml at tri-27, make trinity's apps/website a pointer/deletion. One publisher, one source of truth.
  • B. Reverse it: tri-27 becomes docs/game + specs only (its game docs are ahead of trinity's), trinity stays the sole code source; tri-27's CI contract gates move here or are deleted.
  • C. Keep both deliberately: then tri-27's README must stop claiming to be the site, and its check:queen must be removed or re-pointed — as it stands it validates a page nobody is served.

Which way the owner picks is a decision; that there are two copies and one gate is a fact, and it is recorded here so it stops being ambient.

Related work today: stray file apps/website/src/#### The most powerful Verilog design en deleted from both copies (tri-27 00cfa10, trinity 6e5f1f5). Live supervisor outage (502 on /queen/status, /queen/public-board) tracked in tri-27#1 — needs a Railway restart, not a commit.

Activity

  1. gHashTag commented on Sep 11, 2026

    @gHashTag
    OwnerAuthor

    Resolved using option C: keep the extraction deliberately as a clearly labeled snapshot/design lab, while preserving the actual production source in gHashTag/trinity/apps/website.

    Merged gHashTag/tri-27#2 at b6461a7f3d86c7f176aec7f6eadd7cb40d1fca5a after all checks passed: https://github.com/gHashTag/tri-27/actions/runs/34636145324.

    • README now identifies the live source, the unexecuted cutover, and the snapshot role; its path table and publication diagram agree with the actual publisher.
    • The stale Queen contract is no longer a required CI/hook gate or check:queen command. It is an explicitly opt-in check:queen-snapshot diagnostic with a scope banner.
    • The old scheduled drift workflow is now manual, offline and read-only; it no longer raises production-contract incidents from this copied page.
    • The production publisher, Trinity source and deployment behavior were unchanged. A future extraction is a separate explicit migration, not implied by the repository name.

    Validation: snapshot contract (25 fields), English check, JavaScript syntax, YAML/config consistency, CI build/render, lint and GitGuardian passed. The supervisor incident in gHashTag/tri-27#1 is separate and is not closed by this fix.

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions