Repository navigation
Releases: timessuman/jig
Release list
Jig 0.25.0
Link previews, code and tables that reflow on an editorial phone, and the
gate's rules stated before a session stops.
Added
- The render probe measures a box that scrolls sideways.
editorial
allows no scrolling region on a phone (M-01), and the probe only measured
a page wider than the screen. In a control run on this release's reflow
text, a spec said the code would wrap and the built page scrolled it in a
box, and nothing caught it. The probe now records each box that scrolls
sideways, and on aneditorialsurface at phone width each is a measured
failure: a critique reports it,shipcounts it, and the gate holds make and
tweak until the page reflows. - J-164: an indexable page a link preview cannot read. A page pasted into a
message or a post is met as a card before anyone opens it, and the card is
built fromog:titleandog:description. Section J said it covered the link
preview, and no rule asked for one, soseoandcheckpassed a site with no
preview on any page.checkreports it in a file that writes its own
<head>, and in a head fragment (<svelte:head>, Astro,next/head) that
writes the page's own description and noog:description, which no layout
can supply; elsewhere a layout may write it, and the render decides: the probe
now readsog:description, and a served page missing either tag is a
finding on the page. An image andog:urlneed the page's full address, so
the rule asks for them once a site has one. 160 rules, 40 of them decided by
a machine.
Changed
editorialon a phone says what replaces a scrolling box.L-01sent a
wide code block or table to scroll inside itself, and the same sentence said
editorialallows no scrolling region on mobile, naming nothing in its
place.L-01,D-115andM-01now say it: a code block keeps its line
breaks and indents and wraps its long lines, a table too wide for the screen
stacks its rows with each cell's column name in front and stays a<table>,
and a long identifier breaks where it must.E-51's near-universal glyphs are a test, not a list. Close, search and
menu were read as the only icon-only controls allowed. The rule now asks
whether most readers would name the glyph the same way without its label,
with examples that pass (a theme's sun and moon, a well-known service's mark)
and that do not.E-28says what a browser's own tab stop on an<iframe>gets. One that
only shows something is taken out of the tab order rather than given states;
one the reader uses keeps its stop and shows focus.- spec, mockup and tweak each end with what the gate holds them to. A short
"Before you stop" list names the checks the Stop hook makes on what that
command records, beyond the shape its steps already teach: where it may write, whose words a quotation is, the check record's
format, what counts as the owner's confirmation or approval, and what
tweak.jsonholds. Sessions learned these from refusals, and each refusal
cost a round of fixing, re-checking and committing. A test pairs each check
with its line in the list, so a check added without one fails. jig checkexits non-zero on a mechanical error, with or without--ci.
It used to exit 0 whatever it found, so a pre-commit hook, a CI step or a
script running it as a linter read a run full of errors as a pass. Judgment
findings are still reported without failing the run.--cinow only limits
the run to the mechanical rules.
Fixed
- The skill and
specsayL-01has six steps, andspecnames the sixth.
L-01gained step 6, how a screen collapses, and both kept telling the agent
to run "its five steps", so it stopped before the one that gives the phone
composition. In a control run on this release's reflow text, a spec chose a
sideways-scrolling code block for aneditorialphone. A test now ties the
count toL-01's own step headings. I-118exempts quoted output in the rule and incheck, as the probe
already did. The rule exempted a quotation in<blockquote>or<q>; the
render probe also leaves<pre>,<code>,<samp>and<kbd>alone, and
checkexempted none of them. A page quoting a tool's real output was told
bycheckto rewrite it, and by the rule to keep the quotation's own
punctuation. All three now agree.- A critique is no longer held on what the page fails. An em dash on the
rendered page, a missing or overlong title or description, unresolved tokens
or the browser's default font are failures of the page, not of the review.
verdictsreported them as a critique left incomplete, so the gate held the
critique session until they were gone, and the session could clear them only
by editing the page, which a critique never does. They are now listed apart,
under!, asmeasured=on theJIG_VERDICTSline, and once each rather than
at every width. A critique reports them and finishes;shipcounts them as
findings, and the gate holds make and tweak until the page is fixed. A verdict
the probe contradicts still means the review re-runs. - A quoted
mockup:value reads as the value it holds. A spec that wrote
mockup: "skipped — the owner: \"…\"", valid YAML, read to the gate as the
word"skipped, so every tweak of the page was refused for having no approved
drawing, and the check that the owner's words are quoted was silently skipped. - An em dash inside tool output no longer counts as the page's own. The
probe leaves quotations and<pre>,<code>,<samp>and<kbd>out of the
dash scan, but it cut them out of the page's text one string at a time. An
inline<code>earlier in the prose, such as a rule id, removed those
characters from the output block below it, the block no longer matched, and
its dash was reported. Quotations are now left out of the text as it is read. - The README no longer says every command is also a slash command.
gate
has no slash form (only the Stop hook runs it), and six slash commands are
agent procedures with no command of their own in the CLI. The table under it
was right; the sentence above it now says what the table does. checkno longer says it examined nothing while reporting findings. A
file styled only with utility classes, such asclass="p-[13px]", is read by
H-47 but was left out of the styled-file count. A change to such a file
reported H-47 errors and, below them, that no file carried a style region. The
count now includes markup whose class attributes hold classes.
Jig 0.24.0
The owner's word held to one rule, Jig's instructions in your project's AGENTS.md,
and Jig tested on Linux, macOS and Windows.
Added
jig checksum <spec>prints a spec's checksum, the value its
.checked.jsonrecords. It had been left to agents to compute from the
procedure's description, and a hand-computed value was easily wrong.route:is a spec field, for a page whose surface name does not say where
it is served.- Your project's
AGENTS.mdcarries Jig's instructions for your agent.
init,installandupdatecreate the file if it is missing, or add Jig's
block to the one you have: load the skill before UI work, how the loop runs,
the owner's-word rule, and what each of Jig's files is for. With Claude Code,
a block inCLAUDE.mdimports it, so every session loads it. Jig owns only
what is between its markers.checkreports the block missing or edited,
shipis not ready without it, the Stop hook holds a session that removed it,
andjig updateputs it back.
Changed
- The owner's word is held to one rule, everywhere Jig records it. A spec
confirmed, a drawing approved or skipped, a re-judge left for later, a tweak's
change and a decision's reason are each the owner's own words, and words that
say that thing: a remark about the layout is not a skip of the mockup, and a
yes to one question is not a yes to the spec. One check now covers all of
them. Three had no check before:confirmed: trueneeds the owner's yes to
being asked, a tweak'schangemust be words they said, anddecide's quoted
reasons must be too. The skill states the rule. - A field Jig does not read is refused where it would be written. When the
procedure named no place for something, agents invented one: front-matter
keys, verdict ids, JSON fields that nothing reads, so what they said reached
no check. A spec key a session adds, a verdict-file field holding a list or an
object, and an unknown tweak.json field are now refused, each pointing at the
place that exists. Keys a spec already had are not held against it. - A spec is drafted where Jig reads it, and checked as itself. It is written
at.jig/specs/<name>.spec.mdfrom the first draft, and its shape is checked
before the owner is asked to confirm it. Asking to confirm a spec that is not
there is refused, and so is finishing a spec session without writing it. A
named spec is never checked in place of another page's. - A critique files one problem once. A difference goes under
differences
only when no rule or decision already holds it, so the countsshipreports
count problems, not entries. - The gate asks for the probe files it re-takes to be committed. It renders
a changed page again as a session stops, after the last commit; like the
lock, it now stops once to have those files committed on their own. jig gaterun by hand reports and renders nothing. Without a transcript
it cannot tell which pages are in play, and it had re-rendered every one.motion: nonecan say why, as innone — this page adds no movement.- A file a session never wrote is taken as it found it, committed or not,
so a session is not answerable for a draft it found.
Fixed
-
Jig works the same on Linux, macOS and Windows, and is tested on all three.
Every change now runs the full suite on each, on Node 22 and 24. The first run
found that rendering a page needed a WebSocket Node 20 does not have, so Jig
now needs Node 22 or later (Node 20 is end-of-life) and says so if it is run
on an older one; and that on Windows no browser was ever found to render with:
Edge, Chrome installed per user, and commands on PATH are now found. -
A project checked out on Windows reads the same as anywhere else. Git on
Windows gives files CRLF line endings. Jig parsed a spec with them as having
no regions at all, a spec's check no longer matched it, and every comparison
with a file's committed copy read as a change. Every text file Jig parses or
compares is now read with its line endings normalised. -
Two Jig runs at once no longer fail on Windows. Windows refuses to replace
a file another process has open, where Linux and macOS allow it; writing a
file Jig records (the install manifest among them) now retries briefly there,
and the manifest's lock treats a lock file Windows is still deleting as held
for a moment, not as an error. -
The docs say what the code does. The README said
checkreports a
pre-0.4.0 install's leftovers (onlyinitdoes); the procedure named five
reasonsshipowes a page (there are six, one a re-probe) and described the
spec checksum as leaving out one line where the code leaves out two. Tests
now fail when the procedure stops naming a stateshipreports, a line the
checksum leaves out, or a command the CLI registers. -
The README no longer counts the rules
checkdecides by hand. It named
"the seven mechanical rules" from 0.1.0; it now points atrules.index.json. -
An
exemptpath works the way you write it../src/card.tsx,
src\\card.tsxand an absolute path inside the project all mean
src/card.tsx. A path outside the project was dropped without a word; it is
now named in the report with what to write instead, and a bare file name that
matches nothing is answered with where that file is. -
A fact's
sourcethat holds a sentence is told to put it innote. -
The README says what Jig does. It said
initwas the only command that
writes into your repo and that nothing of Jig's is kept in it (a project-scope
install writes the skill and rules into your repo's agent folder); pointed
agents atAGENTS.md, which users do not receive; counted 95 rules the CLI
cannot decide (it is 120), two critique readers (three) and four per-page
commands; describedcheck --cias errors only; said the token layer changes
nothing on the page, beside acolor-schemeline that does; and claimed Jig
knows every page that changed, which it does not for a page rendered on
request. Itsexemptexample named one project's files as if they were a
pattern; it now explains how to choose your own: a file that renders outside
your stylesheets, or a page you will not revisit, sincecheck --alland
shipread every file. The slash-command table
listsverdicts,probeandchecksum.
Jig 0.23.0
Rules for the prose a page ships and for how it moves, a spec that says what
moves and why, and a critique that reads the page against its spec both ways.
Added
-
Rules for the prose a page ships. The copy rules were written for
interface strings: a label, a button, an error. A docs chapter, a guide or a
blog post was held only to those, and a paragraph could claim a figure nobody
measured, open with "In today's rapidly changing world" and restate its
introduction as its conclusion, and pass. Nine rules now cover prose longer
than a paragraph (I-148toI-156): a claim with no source, a sentence
specific in sound and empty in fact, formula openers and closers, saying it
twice, a rhetorical shape on repeat, enthusiasm the content has not earned,
stacked hedges, emoji in headings, and structure imposed on the content.
Four more cover writing a person puts their name to, a blog post or a case
study (I-157toI-160): nothing only the author could say, no point of
view, an even rhythm, and a feeling named rather than shown. -
They judge the writing, never the writer. A finding says the copy reads
as generic; it never says a model wrote it. Nothing is measured: rhythm and
voice have no number a check could hold, and a score would reward prose that
games it. -
checkcatches two of them.I-150warns on a short list of formula
phrases ("it is important to note", "let's dive in", "in conclusion") in the
text a reader sees, and leaves a quotation alone.I-155warns on an emoji
in a Markdown page's heading; in markup,A-05already reports it. -
The copy checklist asks three more questions (
L-06): whether every
figure traces to a source, whether prose says something specific once, and
whether a long-form piece holds something only its author could say. -
Three motion rules.
G-161: a layout change the user caused shows
where things went (a deleted row's neighbours slide into the gap) rather than
jumping, and stays instant when the user did not cause it.G-162: animate
transformandopacity, never layout, and neverall;checkwarns on a
transition or keyframe that names a layout property orall, and on
Tailwind'stransition-all.G-163: one thing moves at a time. Moving
within the screen takes--ease-in-out(T-04). No new tokens. -
A spec says what moves, and why.
motion:lists each movement: what
moves, its trigger, and what it tells the reader. One that cannot say is cut
before it is built. The owner reads it on the confirmation sheet,make
builds that motion and no other, andcritiquejudges the page against it.
A spec confirmed before it has none, and is judged by the rules alone.
Changed
- A critique reads the page against the spec, not only the spec against the
page. A section, a paragraph or a claim the page carries that no line of the
spec asks for, and no deviation records, is now a finding. On jig-site a
chapter carried an accurate paragraph the owner never confirmed, and two
critiques saw it and filed nothing, because it broke no rule. The fix is a
tweak that writes it into the spec for the owner to confirm, or removes it. - Each critique arm is told the shape of a
ruledverdict. An arm wrote
four that named the owner's decision only in their reason, andverdicts
refused them all. - A CLI run from a checkout reads the checkout's rules.
prepackcopies the
rules beside the CLI package for each publish, and the copies stayed behind:
a clone that had published read the rules as they were then, and Jig's own
first test run after each rule change failed 14 tests. An installed package
still reads its own copies. jig shipleaves a replaced spec to the spec that replaced it.
superseded_by: <spec>in a spec's front matter marks it, andshipreports
it apart instead of as never critiqued, once it has checked the spec it names
exists. On jig-site two replaced specs were owed a critique at everyship,
each marked a different way by the agent that replaced it.- A tweak that records a decision applies it to the whole page. The owner
rules on one instance, and the decision states a kind; the tweak now finds the
other instances on the page and fixes them in the same change. On jig-site a
decision to set every quotation mark curly fixed the one named, and four
straight marks survived to the next critique. - A spec's second check covers what changed. The reader gets the earlier
record and the diff; a quotation or fact on an unchanged line, whose source
has not changed either, carries over. On jig-site every re-check reopened
every source, about $10 a round. - A critique has a place for what no rule names. A difference between the
page and its spec, or a source it teaches, goes underdifferencesin the
arm's verdict file and counts as a finding. On jig-site both arms of one
critique invented rule ids to carry one, andverdictsrefused them. The
report now says what the page-against-spec pass found, "none" included, and
verdictsexplains that a decision is judged, neverruled. - Every page is owed a critique again. A critique judges every rule, so one
written before these sixteen is incomplete, andjig shiplists each page
until it is critiqued on this release.
0.22.0
A spec and a mockup are checked before the owner says yes, a critique can wait,
and jig ship is where nothing is optional.
Added
-
A spec is checked before you are asked to confirm it.
specchecked
itself against the decisions, and nothing checked it against the owner's
words or the facts it states: on jig-site a confirmed spec carried seven
errors to the built page. A reader that did not write the spec now checks
each quotation given as the owner's and each fact at its source, and writes
.jig/specs/<name>.checked.json. The owner gets the spec with a sheet to
check it by, and an agent asked to confirm for them works from the same
sheet. The README's new "Before you confirm a spec" says what to look for. -
The gate holds a spec back from the owner while it gives a quotation as
the owner's that the owner never said, states a fact its reader found false,
cites a source the project does not have, or has no check of the spec as it
stands. -
A mockup is approved against its spec, and skipping one is plain. The
owner gets the drawing with a sheet, size by size, the spec's line beside what
the frame shows, and the README's new "Before you approve a mockup" says what
to look for. An approval or a skip is recorded in the owner's words
(mockup: approved — "…"), and the gate holds one they did not say. A skip
can be given tomakeor at the spec's confirmation, not only tomockup;
makethen builds from the spec alone, and asks rather than finishing on a
spec nobody has said to draw or skip. -
A critique can wait, and
shipis where it cannot.checkstill runs on
everymakeandtweak; the judgment half can run after a batch of pages or
only before shipping, and a tweak's re-judge can wait when the owner says so
(or"critique": "at-ship"in jig.config.json says it once). The lock now
records the page each critique judged, so nothing that waited is forgotten.
jig shiprunscheck --all --ciandseoand names every confirmed page
that owes a critique;/jig shipcritiques each in full and runs until it
saysready=yes. It deploys nothing, and says what Jig does not check.
Each page can say for itself when it is critiqued:specasks, last, and writes
critique: eachorcritique: at-ship, which wins over the project's
default.initasks for that default when it sets the project up; page by
page, the default, writes nothing.
Fixed
initmerging into an editedjig.config.jsondropped its other keys. It
rebuilt the file frombrandandsurfaces, so anexemptlist was lost
without a word. A merge now keeps every key.- A
/jigcommand whose words hold a<read as no command at all, so
the gate judged a tweak as a builder editing verdicts. The session then wrote
verdicts.lockby hand; the procedure now says the lock is the gate's alone.
v0.21.0
Dev builds, so a fix is tried on a real project before it ships, and the gate
fixes that trial on jig-site turned up.
Added
- Dev builds. A version carrying
-dev(0.21.0-dev.1) is a local build
of a fix, tried on a real project before it is released. npm has no such
version, so its skill, its commands and its Stop hook run thejigon PATH
rather thannpx jig-ui@<version>; a hook that could not run would let every
agent stop unchecked.scripts/pack-dev.mjspacks one. Installing a release
afterwards puts thenpxhook back in place of the dev one.
Fixed
- The Stop hook refreshes only the probes it judges. It re-rendered every
critiqued page on every stop, so a link added to jig-site's header left sixty
probe files changed on pages no one was working on, and three sessions
committed them. A page's probes are refreshed when its own critique or tweak
runs. - A mockup is checked before it goes to the owner. The pause for approval
skipped the drawing check, so on jig-site two mockup sessions put a drawing
the check refused to the owner, reported the gate's blocks as "waiting on
owner review", and the owner approved a drawing the gate then refusedmake
for. - A region label may say its name with spaces. "on this page" now labels the
spec'son-this-page; hyphens, underscores and spaces compare as one. - A comment after a size is a comment.
phone: # judged at 360pxover a
full composition was refused as a one-line size. - A critique's report names every finding its verdict files hold. jig-site's
Guide critique held seven and listed six; make reads the report. Checked
where the project keeps aREPORT.mdbeside the verdicts. - A session cannot change Jig's mode file. A jig-site make round narrowed
--size-railinmode.editorial.cssto make three columns fit;update
owns that file, and a project's own values go in its brand file or stylesheet. - A decide amendment answers for its own reason. Like a tweak's, only the
**Why…:**paragraphs it adds must quote the owner; three jig-site amendments
had to relabel an earlier round's reason before the gate let them stop. - A finding is fixed only where the source it cited changed.
verdicts
told jig-site's fourth home critique that seven findings were fixed; four had
flipped because its readers read the same unchanged lines differently. A
finding judged ok is now fixed when a line it cited (file:line) changed, or
its file when it cited no line, or any source when it cited nothing. The rest
are reported as judged ok though the lines they cited did not change: a
different reading, or a fix made where the finding did not point. - The gate asks for the verdict lock to be committed. It writes
verdicts.lockwhen a critique or tweak stops, after the agent has committed,
so every such session on jig-site left it behind. When the verdicts are
committed and the lock is not, it stops the session once to commit it. - A tweak's decision quotes the owner's recorded words. A jig-site tweak
shown a screenshot wrote an exception toE-51"given directly by the owner
… by reference rather than words". A tweak's new**Why:**now meets
decide's rule (the owner's words in quotation marks,not given, or
**Why (inferred):**), and its quotations must be in tweak.json'schange.
A reasondecidewrote earlier is not the tweak's to answer for. spec,mockupandcritiquewrite under.jig/only. On jig-site a
critique swapped the rule its page demonstrates to get past a block, then
re-judged the page it had changed, and a mockup session wrote the site's
stylesheet. The gate stops either.- An approved drawing changed afterwards goes back to pending. The session
that recorded a jig-site approval then redrew frames and moved a switch. - Quoted tool output is not the page's copy. The probe's em-dash scan skips
<pre>,<code>,<samp>and<kbd>, as it skips quotations: jig-site's
home page quotesjig check's real output, whose wording has one. Probe
version 9. - A drawing's size frames are the class
frame, not any class containing
it. jig-site's home drawing captioned its rule specimensspec-frame, and
the gate split every size frame at each one and reported regions missing.
v0.20.1
jig gate run by hand no longer tells an agent that a passing tweak failed.
Fixed
jig gaterun by hand says what it cannot see. With no session
transcript it cannot tell which command ran, so a tweak's re-judged verdicts
read as a builder's edits. On jig-site an agent ran it three times mid-tweak,
was told its attempts were spent, and reported a tweak the Stop hook passed
as failing. A hand run now says so, blocks nothing and counts no attempt.
v0.20.0
Critiques count owner rulings apart and say what the last round fixed; the gate
keeps decisions the owner's, and tweak works on its first real pages.
Added
- A
ruledverdict. A finding the owner has already decided is judged
ruled, citing the decision's heading inruling, and counted apart
(ruled=). On jig-site five of a header critique's 15 findings were the
owner's rulings, counted as findings and sent back to make. - What happened to the last round's findings.
jig verdictscompares a
critique with the one before it in git and prints how many were fixed, are
still open, were ruled, and are new, with the ids. The report carries it. jig verdicts --reprobere-takes probes taken on an older page. The
gate and--reprobenow find the page from the probes themselves, so a spec
whosesurface:is a sentence no longer leaves stale probes blocking.- The probe names text drawn in a weight or style no loaded face covers,
which the browser fakes from the nearest face. It is an error, like a page in
the default font. Probe version 8. jig updatenames the tokens each refreshed mode file gained or lost,
and those an edited one did not get, since anything aliasing tokens (a
Tailwind@theme) needs the same change.
Changed
decidekeeps the owner's reasons apart from its own. AWhy:is the
owner's words in quotation marks ornot given; anything the agent adds goes
under**Why (inferred):**. The gate checks each decision the session wrote
or changed.makedoes not edit DECISIONS.md. The gate stops a make session that
changed it; decisions go throughdecideortweak.- A spec that no longer matches its approved drawing is not approved. In
specandmake, each region the spec lists must be labelled in its size's
frame. Region names are read as the spec means them: a parenthetical
qualifies, "(… only)" is conditional, and a list names several regions. - Critique's reader arms do not read the page's history: no earlier
critiques, no git log. Which findings were fixed is the CLI's question. - P-14 says how a menu in a fixed header behaves: it lies over the page, a
tap outside closes it and does nothing else, controls in the header row work
on the first tap, and a long list scrolls inside itself. - M-01's script budget is "none by default", not an absolute zero: a
feature may have script, named in a comment and as small as it allows.
Fixed
-
tweak's gate blocked both of its first real uses, on jig-site. Three
causes, all in the gate:- It took the session's command from any line that mentioned
/jig, so the
command file Jig loads into the session, and tool results quoting it, read
as/jig critique. Only what the user sent counts now. - It looked for the critique under the spec's
surface:field, which on
jig-site is a sentence. A critique lives under the spec's file name, as
the command file says. - It held the page to its structure at the commit that first approved the
mockup, before five confirmed, critiqued rounds. It now holds the page to
its structure at its last critique.
The gate also works on the spec the command names (
/jig tweak site-header),
not whichever spec was written last. - It took the session's command from any line that mentioned
-
jig verdictsrefuses reasons that judge nothing. On jig-site a render
arm stopped with 33 of 34 verdicts reading "DRAFT, being refined", and the
review passed with full counts. A placeholder reason is now an error, and so
is one reason given word for word by four or moreokorfindingverdicts
in a file.n/averdicts may still share a reason, since one absence can
clear many rules.
0.19.0
A new command, tweak, for a small change to a built page that its approved
mockup does not show.
Added
/jig tweak: a small change to a built page, in one pass. On jig-site
half a day's rounds were changes the approved mockup does not show: a word
that wrapped, a mark's colour, how a version is written. Each went through
decide,spec,makeand a full critique of every page it touched, or
would have been an edit by hand, which is the drift Jig exists to catch.
tweakrecords the decision if the change is one, brings the spec in line if
it disagrees, builds the change, and has a reader that did not make it
re-judge only the verdicts the change could affect. The gate bounds it: the
regions under the spec'ssizes:must match the ones approved with the
mockup, the drawing must be unchanged since its approval, and the tweak may
change only the verdicts it names intweak.json, each re-judged and stamped.
A change to structure is refused and routed throughspecandmockup.- A critique's lock records each verdict.
verdicts.locknow holds a digest
per verdict as well as the whole-file checksum, so the gate can tell which
verdicts a tweak changed. A lock written before this release is trusted once
by the first tweak and rewritten.
0.18.10
The rule against a stranded word holds in every browser, and the probe checks
it where text-wrap: pretty is not supported.
Fixed
B-106holds in every browser, and the probe checks it there. The rule's
correction wastext-wrap: balanceandpretty, which Firefox and Safari
before 26 ignore. jig-site's Versions page did exactly that, passed its
critique in Chromium, and stranded "back." under 0.6.0 on the owner's phone.
The correction now adds a fallback: join each block's last two words with a
non-breaking space, in one function in the template layer. The render probe
(version 7) also lays the page out withouttext-wrap: prettyand records
every block that ends on one word, andjig verdictsrefuses aB-106"ok"
that it contradicts.
0.18.9
Each theme names its colour scheme, and no release summary names a rule by its
id.
Changed
- No release summary names a rule by its id. jig-site's Versions page shows
each summary, and the site keeps rule ids out of its interface. Three named a
rule asA-05,I-118orH-47; they now name it in words. A test keeps ids
out of summaries.
Fixed
- Each theme names its
color-scheme. The default brand file's:root
saidcolor-scheme: light dark, which follows the device, and its dark blocks
set tokens only. jig-site added a theme toggle and a reader who chose the
other theme got the right page inside the device's scrollbars and form
controls. Both dark blocks now setcolor-scheme: dark,[data-theme="light"]
setslight, andT-09says why. A project whose brand file predates this
adds the same three declarations.