Context
gittensory's screenshotTableGate (private VPS config) sets only enabled/whenPaths/action: close — no requireViewports/requireThemes/skillFileUrl. This makes evaluateScreenshotTableGate() fall back to the weaker PRESENCE check (some image-bearing table, not a completeness matrix) — structurally the same mode that let PR #4661 slip 4/12 required images past metagraphed's gate before #4535/#4540 fixed it there. gittensory's config has zero comment justifying staying in this weaker mode.
Important: metagraphed's exact fix (a full [Desktop, Tablet, Mobile] × [Light, Dark] matrix) cannot be copied verbatim — gittensory-ui is a documented dark-mode-only build (no theme dimension exists) and its own contributor skill (.claude/skills/contributing-to-gittensory/SKILL.md Phase 7) documents a flexible, change-scoped viewport policy, not a fixed matrix. Copying metagraphed's config would false-close valid PRs over impossible light-mode screenshots.
Requirements
- Do not copy metagraphed's exact matrix config verbatim (dark-mode-only UI makes the theme dimension inapplicable).
- Two parts: a direct VPS config decision/edit, and a public-repo doc fix.
Deliverables
VPS (edge-nl-01), pick one:
PR (JSONbored/gittensory):
Expected Outcome
gittensory's screenshot-gate posture is either deliberately documented as presence-mode, or tightened to a matrix that's actually achievable for a dark-mode-only UI — either way, no longer silently undocumented. The public example file discloses matrix mode exists.
Links & Resources
- Evidence:
jsonbored__gittensory.gittensory.yml:91-99; jsonbored__metagraphed.gittensory.yml:47-73; src/review/screenshot-table-gate.ts:251-259,343-373; apps/gittensory-ui/src/components/site/theme-toggle.tsx ("dark-mode-only build")
Part of #5270 (roadmap epic).
Context
gittensory's
screenshotTableGate(private VPS config) sets onlyenabled/whenPaths/action: close— norequireViewports/requireThemes/skillFileUrl. This makesevaluateScreenshotTableGate()fall back to the weaker PRESENCE check (some image-bearing table, not a completeness matrix) — structurally the same mode that let PR #4661 slip 4/12 required images past metagraphed's gate before #4535/#4540 fixed it there. gittensory's config has zero comment justifying staying in this weaker mode.Important: metagraphed's exact fix (a full
[Desktop, Tablet, Mobile] × [Light, Dark]matrix) cannot be copied verbatim — gittensory-ui is a documented dark-mode-only build (no theme dimension exists) and its own contributor skill (.claude/skills/contributing-to-gittensory/SKILL.mdPhase 7) documents a flexible, change-scoped viewport policy, not a fixed matrix. Copying metagraphed's config would false-close valid PRs over impossible light-mode screenshots.Requirements
Deliverables
VPS (edge-nl-01), pick one:
screenshotTableGateblock explaining it intentionally stays presence-mode (dark-mode-only UI, flexible viewport policy per SKILL.md Phase 7).requireViewports: [Desktop, Mobile]only (no themes) plus askillFileUrl, and update SKILL.md Phase 7 to match.PR (JSONbored/gittensory):
requireViewports/requireThemes/skillFileUrlto.gittensory.yml.example'sscreenshotTableGateexample block — it currently only documentsenabled/whenLabels/whenPaths/action/message, so self-hosters can't discover matrix mode exists at all.Expected Outcome
gittensory's screenshot-gate posture is either deliberately documented as presence-mode, or tightened to a matrix that's actually achievable for a dark-mode-only UI — either way, no longer silently undocumented. The public example file discloses matrix mode exists.
Links & Resources
jsonbored__gittensory.gittensory.yml:91-99;jsonbored__metagraphed.gittensory.yml:47-73;src/review/screenshot-table-gate.ts:251-259,343-373;apps/gittensory-ui/src/components/site/theme-toggle.tsx("dark-mode-only build")Part of #5270 (roadmap epic).