Skip to content

Record the blueprint palette rules and a third scope recurrence - #161

Merged
GuyNachshon merged 1 commit into
mainfrom
guy/alpha13-notes
Aug 24, 2026
Merged

GuyNachshon merged 1 commit into
mainfrom
guy/alpha13-notes

Conversation

@GuyNachshon

Copy link
Copy Markdown

Records only. Two markdown files, zero code.

DESIGN.md — the blueprint gradients

Documents the two rules the previous palette broke, so the next person changing it knows why it looks the way it does:

  • Decoration must not borrow meaning. The old set was literally Slack purple, Jira blue, Discord, Google and GitHub — the same hexes ConnectionLogos.tsx uses to identify those real services — so an unrelated blueprint was decorated to look like a Slack integration.
  • The hash must use the whole id, plus a finalizer. Ids here are namespaced, so id.charCodeAt(0) collides by construction. And because gradients.length is a power of two, a bare *31 polynomial is not enough either: 31 ≡ 7 (mod 8) leaves almost no entropy in the low bits.

With the note that this matters more here than it would elsewhere — preview placeholders are permanent on this fork, so the gradient is the only per-blueprint mark those cards will ever carry.

AGENTS.md — the scope rule, third recurrence in one day

This one is worth having because of the form it took. A post-deploy check grepped workspace._id-*.js for six colour values and got six zeros, which reads as a clean result. The values were in a lazily-loaded BlueprintPreviewImage-*.js chunk, so the check had been reading a file that could not contain them.

A sanity row catches this instantly: "does this file contain any gradient class?" returns 0 against the wrong chunk and 6 against the right one. That is the cheapest possible guard and the one most often left out.

The rule now says: pair every "expect 0" assertion with an "expect >0" that proves the file was actually read.

Verified in use — the corrected alpha.13 check baselined 1 pass / 7 fail against the previous release, then 8/8 after the deploy, with the chunk hash changing B_jwn1b1 → z3sCEgcD.

DESIGN.md gains the two rules the old palette broke: decoration must not
borrow meaning (it was literally Slack, Jira, Discord, Google and GitHub
hexes, the same ones ConnectionLogos uses to identify those services),
and the hash must use the whole id plus a finalizer, since ids are
namespaced and gradients.length is a power of two.

AGENTS.md gains the third recurrence of the scope rule in one day, in
its least visible form: a post-deploy grep returned six zeros because
the values lived in a lazily-loaded chunk, and six zeros read as a clean
result. A sanity row -- does this file contain any gradient class at all
-- returns 0 against the wrong chunk and 6 against the right one. Pair
every expect-0 assertion with an expect-greater-than-0 that proves the
file was actually read.
@GuyNachshon
GuyNachshon merged commit 66a5cc3 into main Aug 24, 2026
5 checks passed
@GuyNachshon
GuyNachshon deleted the guy/alpha13-notes branch August 24, 2026 09:27
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