Skip to content

Define configured theme palette overrides - #12

Merged
konojunya merged 1 commit into
mainfrom
jj/custom-theme-overrides
Sep 6, 2026
Merged

konojunya merged 1 commit into
mainfrom
jj/custom-theme-overrides

Conversation

@konojunya

Copy link
Copy Markdown
Member

Background

Hosts need reusable organization-specific palettes without putting visual values in Stack source or introducing a separate theme-selection flag. A user-defined default must be able to replace the installed default intentionally while remaining non-recursive.

Implementation Approach

  • Define validated host-configured palette overrides outside Stack source.
  • Resolve extends from the installed builtin catalog before applying overrides.
  • Give configured names precedence over installed catalog names, including default, light, and dark.
  • Preserve STK6001 fallback behavior through the effective configured default.
  • Clarify the lexical restriction on consecutive hyphens and align the normalized IR schema.
  • Record the decision in ADR 0007 and add a compiler conformance fixture for an externally configured theme reference.

Testing Approach

  • Validate all JSON schemas and conformance documents with check-jsonschema 0.38.0.
  • Run the specification Python validators.
  • Run the language package tests and package check.
  • Run stack-sh/compiler conformance tests against this specification checkout.

Review Perspectives / Points of Concern

  • Confirm that public catalog registration remains first-merged while host configuration may intentionally shadow an installed name.
  • Confirm that default: { extends: default } unambiguously means builtin-base resolution followed by configured override registration.
  • Confirm that contrast concerns remain visible without silently rewriting user-supplied colors.

@konojunya
konojunya merged commit 5185b8c into main Sep 6, 2026
2 checks passed
@konojunya
konojunya deleted the jj/custom-theme-overrides branch September 6, 2026 09:16
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