vessel-light: fork-axis re-authoring — grammar/signature/register + median floor#208
Merged
Conversation
…ains demoted rules, frequency thresholds, model-named tells
This was referenced Jul 9, 2026
…n floor (#209) * template: naked skeleton replaces steering default * checks: median-tells scaffold — live check pairing with anti-goal.median, deterministic floor, model tells * skill: migrate Morrow teaching shapes to authoring-scenarios * docs: skeleton starter in getting-started + cli-reference; minor changeset * ghost init --body: packed payloads + vessel-light body install (#210) * init: packed-payload mechanism — dist payloads, byte-capable template seam * template: skeleton rides packed files * init: --body vessel-light — install the full inhabited package * checks: packed-artifact body probes — fonts and checks survive pack * docs: body install in getting-started + cli-reference; minor changeset * skill: adapting-a-starter — the seven-step starter transplant recipe (#211) * skill: adapting-a-starter recipe — the seven-step transplant procedure * review: resolve package-relative material locators when matching diff paths (#212) * review: resolve package-relative material locators when matching diff paths * demo: drop stale parked-branch reference from eval artifacts gitignore * median: one authored home — model truth stamped at init, prunable by contract (#213) * corpus: audit backports, check cross-wiring, terminology sweeps * median: one authored home — headings contract, payload check, all templates stamp the floor * vessel-light: re-derive median onto the headings contract; docs get the ownership reframe
nahiyankhan
added a commit
that referenced
this pull request
Jul 9, 2026
…ng-eval harness (#207) * Add vendored vessel-react fingerprint: taste-floor nodes, materials wired to component sets, baseline hygiene checks * Rename packages/vessel to packages/vessel-react; workspace fingerprint id follows * Add vessel-light: Vessel's design language as a portable .ghost fingerprint for raw HTML/CSS agents * Add steering-eval: portable before/after evaluation harness for Ghost fingerprints; wire vessel-light demo as first consumer * Fix pilot findings: agent-browser set-viewport invocation, skip empty cells, brandTokens/pulledWords from tape * Run the full steering-eval matrix on vessel-light: 45 generations + dump-growth, screenshots, metrics, report * Park eval run artifacts on vessel-eval-artifacts branch; ignore demo/out on mainline * steering-eval: emit WebP screenshots (shoot to PNG, convert via cwebp, embed webp in report) * vessel-light: fork-axis re-authoring — grammar/signature/register + median floor (#208) * materials: tokens audit — radius roles, hoist grammar-enumerated values * corpus: fork-axis re-author — grammar/signature/register/anti-goal * checks: relationship/value split — density.md retired, median-tells gains demoted rules, frequency thresholds, model-named tells * materials: regenerate refs — annotated, closed-set complete * docs: vessel-light README — fork-axis structure and ref-annotation curation * ghost init: naked skeleton default — grammar, unanswered dials, median floor (#209) * template: naked skeleton replaces steering default * checks: median-tells scaffold — live check pairing with anti-goal.median, deterministic floor, model tells * skill: migrate Morrow teaching shapes to authoring-scenarios * docs: skeleton starter in getting-started + cli-reference; minor changeset * ghost init --body: packed payloads + vessel-light body install (#210) * init: packed-payload mechanism — dist payloads, byte-capable template seam * template: skeleton rides packed files * init: --body vessel-light — install the full inhabited package * checks: packed-artifact body probes — fonts and checks survive pack * docs: body install in getting-started + cli-reference; minor changeset * skill: adapting-a-starter — the seven-step starter transplant recipe (#211) * skill: adapting-a-starter recipe — the seven-step transplant procedure * review: resolve package-relative material locators when matching diff paths (#212) * review: resolve package-relative material locators when matching diff paths * demo: drop stale parked-branch reference from eval artifacts gitignore * median: one authored home — model truth stamped at init, prunable by contract (#213) * corpus: audit backports, check cross-wiring, terminology sweeps * median: one authored home — headings contract, payload check, all templates stamp the floor * vessel-light: re-derive median onto the headings contract; docs get the ownership reframe * build: root build and packed-package check produce the full ghost artifact Root pnpm build only ran tsc, so dist/init-payloads and dist/skill-bundle were missing in CI: the vessel-light body test failed and check-packed-package packed a tarball without payloads. Root build now chains the package-level build; check:packed-package builds its own complete artifact since the lint job never runs pnpm build. Signed-off-by: Nahiyan Khan <nahiyan@squareup.com> --------- Signed-off-by: Nahiyan Khan <nahiyan@squareup.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Category: improvement
User Impact: vessel-light's fingerprint is now factored so a rebrand is a values transplant — grammar survives any fork, identity dials are labeled, every literal value lives in one CSS file — and it ships the approved 15-rule median floor with per-rule anchors.
Problem: The old corpus smeared Vessel's identity through every node: an adapter couldn't tell load-bearing structure from Vessel's face, so every node went stale on fork, and the anti-goal content mixed portable model-median rules with Vessel-specific tells.
Solution: Re-author the corpus along the fork axis per
notes/default-fingerprint-synthesis.md: kinds becomegrammar(value-free, closed sets enumerated) /signature(dials that self-declare "Vessel's answer until you replace it") /register(conditions referencing signature ids) /anti-goal(median= the approved 15 reject→replace rules with<!-- rule:median-* -->anchors;tells= signature near-misses). Checks split into fork-stable relationship checks and fork-rewritten value checks; median-tells gains frequency thresholds and model-named tells (Codex, Gemini). Refs regenerated as annotated closed-set demonstrations; tokens.css owns every literal via new--radius-control/--radius-surfaceroles and hoisted gap/text/control values.Stacked on #207 (base:
vessel). Retarget tomainafter #207 merges.Validation:
ghost validate --package packages/vessel-light/.ghost: 0 errors, 0 warnings after every commitghost reviewon the ref-regeneration diff (acceptance gate): no median, relationship, motion, or conversation flags; the diff removed one pre-existing side-stripe violation and fixed one expanded-tool-output driftpnpm check+pnpm test(143 passed, 1 skipped) via pre-commit on every commitghost gather: 16 nodes, 14 material-backed, 2 guards; spot-pulls verifiedChangeset: not needed — private package (
vessel-light), no public-surface change.Ghost Review: run as the commit-4 acceptance test (above). One matching subtlety found:
checks/values.mdwasn't offered by the packet despite its referenced nodes' materials being touched — judged manually (passes); flagged for a ghost-core look, tracked outside this PR.File changes
Commit 1 —
materials: tokens audittokens.css: adds--radius-control/--radius-surface, retires--radius-pill/--radius-card(D6); hoists--gap-xs…xl, text sizes,--control-height(D3).primitives.css+ two refs migrate to the new names. No visual change.Commit 2 —
corpus: fork-axis re-author(atomic)15 old nodes → 16 new:
grammar.{hierarchy,color-roles,surfaces,rhythm,motion,conversation},signature.{shape,palette,type,temperature},register.{data-density,editorial,email},anti-goal.{median,tells}; glossary rewritten to the four kinds; index.md becomes contract + trust tiers + floor/ceiling doctrine; existing check references patched.Commit 3 —
checks: relationship/value splitchecks/density.mdretired, split intochecks/relationships.md(references grammar., survives fork) andchecks/values.md(references signature./register.*, rewritten on fork).checks/median-tells.mdgains the demoted rules (gradient-text, emoji-as-icons), frequency thresholds (kickers ≥3, em-dashes ≥5, cadence ≥3, advisory), and model-named tells with skip guidance.Commit 4 —
materials: regenerate refsAll six refs gain
normative-for/incidentalannotation headers. Form demonstrates the complete emphasis ladder (new.button--linkprimitive — the fifth rung had no CSS home); overlay demonstrates popover + modal tiers; conversation's tool call becomes a real<details>collapse; editorial's pull-quote side-stripe replaced with a leading quote glyph and kicker count reduced to one; table migrates to--gap-*; email hexes annotated with source token names (D4). All seven tones and six text variants now have demonstration homes — no 7th ref needed (D5).demo/swept for old node ids.Commit 5 —
docs: README touch-upREADME gains the fork-axis structure paragraph and ref-annotation curation guidance.
Screenshots/Demos: Refs are static HTML — open
packages/vessel-light/.ghost/materials/ref/*.htmldirectly. Reviewer attention requested on:signature.temperature(voice+motion as one dial), theanti-goal.medianpreamble (kept per discussion), the new.button--linkstyling, and the two behavior-visible ref fixes.