jackherd 1.11.0 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  What changed for people who use jackherd, newest first.
4
4
 
5
+ ## 1.11.1
6
+
7
+ - **The README images load from a versioned address on npm.** Every image address in the published markdown is `https://unpkg.com/jackherd@<version>/…`. An address without a version stays in the image proxies of npm and GitHub for a long time, so npm kept showing old images; a versioned address never changes, so every release brings its own. `bun run pin:assets` rewrites the addresses to the version in `package.json`, and a test fails until it ran after a version bump. It replaces the `?v=` mark on the icon addresses, which someone had to raise by hand. Text links stay without a version and lead to the newest release.
8
+ - **The "Follow anything outside GitHub" diagram is an image.** It was a Mermaid block, which npm does not render; it now has a light and a dark SVG like the other diagrams.
9
+ - **The coordinator names only the count of what waits for you.** The `heartbeat` line of the orchestrate skill says how many items wait (`3 wait for you, see the herd`) instead of listing them, and no reply repeats the list at its end: the herd shows it. The watcher's line to the coordinator is unchanged.
10
+ - **The README no longer links the recipes.** unpkg shows them as raw files and `/jh-follow` reads them from the installed package itself; the files stay in the package.
11
+
5
12
  ## 1.11.0
6
13
 
7
14
  - **The herd lists your sources.** A `watch.sources` entry that is no ticket gets a row in a `Sources` block: when it last ran, since when it fails (red mark), its newest report (amber mark while it is under a day old); a click opens the report's URL. `/jh-follow` and `recipes/sources.md` say how.
package/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  <p>
2
- <img alt="jackherd: a black and white Shih Tzu in a turquoise bandana, three lanes running from him to three agent nodes" src="https://unpkg.com/jackherd/assets/branding/jackherd-logo-outline.svg" width="340">
2
+ <img alt="jackherd: a black and white Shih Tzu in a turquoise bandana, three lanes running from him to three agent nodes" src="https://unpkg.com/jackherd@1.11.1/assets/branding/jackherd-logo-outline.svg" width="340">
3
3
  <br>
4
4
  </p>
5
5
 
6
- [![npm](https://img.shields.io/npm/v/jackherd)](https://www.npmjs.com/package/jackherd) [![license: MIT](https://img.shields.io/npm/l/jackherd)](https://www.npmjs.com/package/jackherd) [![2 dependencies](https://img.shields.io/badge/dependencies-2-brightgreen)](https://www.npmjs.com/package/jackherd?activeTab=dependencies)<br><img width="1" height="8" alt="" src="https://unpkg.com/jackherd/assets/icons/space.svg?v=2">
6
+ [![npm](https://img.shields.io/npm/v/jackherd)](https://www.npmjs.com/package/jackherd) [![license: MIT](https://img.shields.io/npm/l/jackherd)](https://www.npmjs.com/package/jackherd) [![2 dependencies](https://img.shields.io/badge/dependencies-2-brightgreen)](https://www.npmjs.com/package/jackherd?activeTab=dependencies)<br><img width="1" height="8" alt="" src="https://unpkg.com/jackherd@1.11.1/assets/icons/space.svg">
7
7
 
8
8
  # Your agents write code. Jack keeps the work moving.
9
9
 
@@ -15,25 +15,25 @@ For developers who'd rather make the calls than babysit their agents.
15
15
 
16
16
  **We recommend [herdr](https://herdr.dev), a terminal for coding agents:** Jack, the lanes and the watcher run there; without it, one Claude Code session plans and builds, with independent phases as parallel subagents.
17
17
 
18
- Install with one command, run `/jh-start` in a repository, and it offers your first plan: [Quickstart](#quickstart).<br><img width="1" height="8" alt="" src="https://unpkg.com/jackherd/assets/icons/space.svg?v=2">
18
+ Install with one command, run `/jh-start` in a repository, and it offers your first plan: [Quickstart](#quickstart).<br><img width="1" height="8" alt="" src="https://unpkg.com/jackherd@1.11.1/assets/icons/space.svg">
19
19
 
20
20
  <p>
21
- <img src="https://unpkg.com/jackherd/docs/workflow-dark.svg" width="720" alt="jackherd in herdr: a lane hits a question, Jack asks you as a choice, you pick, and the lane works on while the herd view counts its progress.">
21
+ <img src="https://unpkg.com/jackherd@1.11.1/docs/workflow-dark.svg" width="720" alt="jackherd in herdr: a lane hits a question, Jack asks you as a choice, you pick, and the lane works on while the herd view counts its progress.">
22
22
  <br>
23
- <sub>Jack and parallel lanes in herdr (recommended).</sub><br><img width="1" height="8" alt="" src="https://unpkg.com/jackherd/assets/icons/space.svg?v=2">
23
+ <sub>Jack and parallel lanes in herdr (recommended).</sub><br><img width="1" height="8" alt="" src="https://unpkg.com/jackherd@1.11.1/assets/icons/space.svg">
24
24
  </p>
25
25
 
26
- <p><img src="https://unpkg.com/jackherd/assets/icons/decide.svg?v=2" width="24" height="34" align="middle" alt=""> <b>You make the calls that matter.</b><br>Jack answers what the plan or a rule already settles and records each answer on the board, where you can check it. The rest reaches you as a short choice. Approve a plan once, and its pull requests merge on green checks, except on paths you marked to always ask.</p>
26
+ <p><img src="https://unpkg.com/jackherd@1.11.1/assets/icons/decide.svg" width="24" height="34" align="middle" alt=""> <b>You make the calls that matter.</b><br>Jack answers what the plan or a rule already settles and records each answer on the board, where you can check it. The rest reaches you as a short choice. Approve a plan once, and its pull requests merge on green checks, except on paths you marked to always ask.</p>
27
27
 
28
- <p><img src="https://unpkg.com/jackherd/assets/icons/bark.svg?v=2" width="24" height="34" align="middle" alt=""> <b>Jack barks when something moves.</b><br>One view of the whole herd: each lane's progress, pull request and checks, and on top whatever waits for your answer. In herdr it also shows what each agent is doing and every new review comment. You stop hopping between terminals and holding the state in your head.</p>
28
+ <p><img src="https://unpkg.com/jackherd@1.11.1/assets/icons/bark.svg" width="24" height="34" align="middle" alt=""> <b>Jack barks when something moves.</b><br>One view of the whole herd: each lane's progress, pull request and checks, and on top whatever waits for your answer. In herdr it also shows what each agent is doing and every new review comment. You stop hopping between terminals and holding the state in your head.</p>
29
29
 
30
- <p><img src="https://unpkg.com/jackherd/assets/icons/ear.svg?v=2" width="24" height="34" align="middle" alt=""> <b>Jack listens, on GitHub and beyond.</b><br>A review comment, from a teammate or a bot, goes to its lane, which fixes it with a test and answers in the thread; a judgement call comes to you. <code>/jh-follow</code> follows any tool with a CLI or an API, with recipes for Jira, Linear, Sentry and status pages as a head start, and Jack reports changes. Runs in herdr.</p>
30
+ <p><img src="https://unpkg.com/jackherd@1.11.1/assets/icons/ear.svg" width="24" height="34" align="middle" alt=""> <b>Jack listens, on GitHub and beyond.</b><br>A review comment, from a teammate or a bot, goes to its lane, which fixes it with a test and answers in the thread; a judgement call comes to you. <code>/jh-follow</code> follows any tool with a CLI or an API, with recipes for Jira, Linear, Sentry and status pages as a head start, and Jack reports changes. Runs in herdr.</p>
31
31
 
32
- <p><img src="https://unpkg.com/jackherd/assets/icons/lanes.svg?v=2" width="24" height="34" align="middle" alt=""> <b>Parallel where it pays.</b><br>The plan says what each phase writes and waits for, and jackherd works out what can run side by side: independent phases as subagents in one session, bigger ones in a lane of their own in herdr, with its own branch and worktree. Where more could run in parallel at little cost, Jack suggests it. He keeps the merge order and has the others rebase after each merge.</p>
32
+ <p><img src="https://unpkg.com/jackherd@1.11.1/assets/icons/lanes.svg" width="24" height="34" align="middle" alt=""> <b>Parallel where it pays.</b><br>The plan says what each phase writes and waits for, and jackherd works out what can run side by side: independent phases as subagents in one session, bigger ones in a lane of their own in herdr, with its own branch and worktree. Where more could run in parallel at little cost, Jack suggests it. He keeps the merge order and has the others rebase after each merge.</p>
33
33
 
34
- <p><img src="https://unpkg.com/jackherd/assets/icons/plan.svg?v=2" width="24" height="34" align="middle" alt=""> <b>One workflow, solo or team.</b><br>Plans, boards and Jack's decisions live in your repository, so everyone sees what was planned, what was settled and what comes next, and workflow changes go through your usual review. <code>jh init</code> adds the skills, rules and guard hooks through Claude Code's own project settings.</p>
34
+ <p><img src="https://unpkg.com/jackherd@1.11.1/assets/icons/plan.svg" width="24" height="34" align="middle" alt=""> <b>One workflow, solo or team.</b><br>Plans, boards and Jack's decisions live in your repository, so everyone sees what was planned, what was settled and what comes next, and workflow changes go through your usual review. <code>jh init</code> adds the skills, rules and guard hooks through Claude Code's own project settings.</p>
35
35
 
36
- <p><img src="https://unpkg.com/jackherd/assets/icons/bowl.svg?v=2" width="24" height="34" align="middle" alt=""> <b>Pick up where you left off.</b><br>The ticked-off plan and the board carry the state, not the chat. A lane whose context runs high continues in a fresh chat at the end of its phase; Jack hands himself over the same way.</p>
36
+ <p><img src="https://unpkg.com/jackherd@1.11.1/assets/icons/bowl.svg" width="24" height="34" align="middle" alt=""> <b>Pick up where you left off.</b><br>The ticked-off plan and the board carry the state, not the chat. A lane whose context runs high continues in a fresh chat at the end of its phase; Jack hands himself over the same way.</p>
37
37
 
38
38
  ## Quickstart
39
39
 
@@ -75,23 +75,16 @@ By hand (Bun 1.3+): `bun add -g jackherd` or `npm install -g jackherd`, then `jh
75
75
 
76
76
  `/jh-follow` turns a ticket, an error log or a status page into something Jack acts on. It writes the source to `watch.sources` after a dry run and your yes; from then on a change takes this path:
77
77
 
78
- ```mermaid
79
- flowchart LR
80
- source["Source<br/>ticket, error log, status page"] -->|"new or changed entry"| watcher["jh watch"]
81
- watcher -->|"=== source … report"| coordinator["Jack"]
82
- coordinator -->|"board row, origin = source"| waiting["Waiting for you<br/>Error log · Checkout: …"]
83
- waiting -->|"[ask]"| coordinator
84
- coordinator -->|"asks you, then a lane works it"| you["You"]
85
- ```
78
+ <img src="https://unpkg.com/jackherd@1.11.1/docs/follow-dark.svg" width="720" alt="A source (ticket, error log or status page) has a new or changed entry; jh watch reports it to Jack; Jack puts a row into Waiting for you, prefixed with the source's label; its [ask] button makes Jack ask you, and then a lane works it.">
86
79
 
87
- The herd lists each source that is no ticket in a `Sources` block (when it ran, since when it fails, its newest report, a click opens it), and a row that came from a source starts with its `label`. Details and every field: [recipes](https://unpkg.com/jackherd/recipes/sources.md).
80
+ The herd lists each source that is no ticket in a `Sources` block (when it ran, since when it fails, its newest report, a click opens it), and a row that came from a source starts with its `label`.
88
81
 
89
82
  ## In detail
90
83
 
91
84
  <details>
92
85
  <summary><b>What Jack does on his own, and what waits for you</b></summary>
93
86
 
94
- <img src="https://unpkg.com/jackherd/docs/lanes-dark.svg" alt="Jack prompts two lanes and asks you for decisions and approvals; the lanes send questions back as text; jh watch reads lane state, pull requests and checks and wakes Jack.">
87
+ <img src="https://unpkg.com/jackherd@1.11.1/docs/lanes-dark.svg" alt="Jack prompts two lanes and asks you for decisions and approvals; the lanes send questions back as text; jh watch reads lane state, pull requests and checks and wakes Jack.">
95
88
 
96
89
  | On his own | After your approval | Never |
97
90
  | --- | --- | --- |
@@ -124,7 +117,7 @@ The guards catch mistakes, not intent; for that, use branch protection. The hook
124
117
 
125
118
  A **plan** is Markdown with phases, checkbox tasks, a model and a review gate per phase. A **board** lists the lanes of one or more plans: which phases each lane builds, on which model, after what. A **lane** is one agent session in its own git worktree (a second checkout of your repository), and **Jack** is the session in the main checkout that runs `/jh-orchestrate` on a board.
126
119
 
127
- <img src="https://unpkg.com/jackherd/docs/skills-dark.svg" alt="/jh-grill hands decisions to /jh-plan; /jh-plan feeds /jh-orchestrate or a single /jh-implement; /jh-implement ends in /jh-pre-commit, which runs the reviewers; /jh-diagnose hands a red command to /jh-implement.">
120
+ <img src="https://unpkg.com/jackherd@1.11.1/docs/skills-dark.svg" alt="/jh-grill hands decisions to /jh-plan; /jh-plan feeds /jh-orchestrate or a single /jh-implement; /jh-implement ends in /jh-pre-commit, which runs the reviewers; /jh-diagnose hands a red command to /jh-implement.">
128
121
 
129
122
  | Skill | Does |
130
123
  | --- | --- |
@@ -153,7 +146,7 @@ Each phase in the plan names its model: the planning model (Opus by default) whe
153
146
 
154
147
  Jack doesn't watch the terminals himself. `jh watch`, which he starts, wakes him when a lane is blocked or done, a check turns red, a pull request gets feedback, a lane's context fills up, a lane waits for an approval or works for ten minutes without reporting its task; deploys and previews too, when configured.
155
148
 
156
- `/jh-follow PROJ-123` adds anything a command can print as JSON: a ticket, an issue, error logs, a status page. It checks the tool and its login, shows you a dry run and writes the source to `watch.sources` after your yes. A token stays in the environment, read by a small Bun script, never in an argument. Each source runs on its own interval, kept across a restart of the watcher. The [recipes](https://unpkg.com/jackherd/recipes/README.md) cover Jira, Linear, GitHub issues and Projects, Sentry and status pages. The reports need herdr; a source can be set up and dry-run without it.
149
+ `/jh-follow PROJ-123` adds anything a command can print as JSON: a ticket, an issue, error logs, a status page. It checks the tool and its login, shows you a dry run and writes the source to `watch.sources` after your yes. A token stays in the environment, read by a small Bun script, never in an argument. Each source runs on its own interval, kept across a restart of the watcher. Recipes for Jira, Linear, GitHub issues and Projects, Sentry and status pages come with it. The reports need herdr; a source can be set up and dry-run without it.
157
150
 
158
151
  </details>
159
152
 
@@ -0,0 +1,48 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="960" height="372" viewBox="0 0 960 372" role="img" aria-labelledby="t d"><title id="t">How a source reaches you</title><desc id="d">A source (a ticket, an error log or a status page) has a new or changed entry. jh watch reads it and reports it to Jack, who puts a row into Waiting for you on the board; the row starts with the source's label, for example Error log, Checkout. The [ask] button on the row makes Jack ask you about it, and once you have answered, a lane works it.</desc><defs><style>.s{font-family:ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif}.m{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace}</style><clipPath id="jack-clip"><rect width="240" height="240" rx="50"/></clipPath><symbol id="jack" viewBox="0 0 240 240"><rect width="240" height="240" rx="50" fill="#212E34"/><g clip-path="url(#jack-clip)"><g transform="translate(34 8)"><path fill="#4A4E51" d="M80 50.5c.2 .1 .2 .1 1 1c-.2 .6-.3 1.3-.5 2c-.7 .4-.7 .4-4 2c-6 3.3-6 3.3-7 6.5c1.2-.4 2.3-.6 3.5-1c.8 0 1.7 0 2.5 0c.2 .1 .2 .1 1 1c-.5 2-.5 2-5.5 6.5c-3 5-3 5-5.5 11c.2 .3 .2 .3 1 2c.2 .3 .3 .7 .5 1c-.7 .7-1.3 1.3-2 2c-1.3-.2-2.6-.3-4-.5c0-1.2 0-2.3 0-3.5c-.2 .1-.2 .1-1.5 .5c-1.2 2.7-2.4 5.3-3.5 8c-1 2.1-2 4.2-3 6.3c-2.5 5.7-2.5 5.7-3 8.2c.5 0 1 0 1.5 0c.1-.8 .4-1.7 .5-2.5c.6 0 1.3 0 2 0c.5 2 1 3.9 1.6 6c1 4 2.2 8 3.4 11.9c2.1 8.4 1.1 15.5-3 23.1c-.6-.2-1.3-.3-2-.5c-.1-1.5-.3-3-.5-4.6c-.3-2.6-.5-5.2-1-7.9c-.5 0-1 0-1.5 0c-.1 1.7-.4 3.3-.5 5c-2.7 10.2-2.7 10.2-6 13.5c-6.1-3.1-9-14.9-11-21c-1.1-8.2 .9-14.7 3.5-22.5c-8.4 8.3-8.3 20.5-9 31.5c-.6-.2-1.3-.3-2-.5c-5.4-8.9-5.1-15-3-25c.5-1 1-2 1.5-3c-3 1.5-3 1.5-6.5 5c-.4 0-.6 0-1 0c.8-6.5 3.2-10.2 7.5-15c.6-.8 .6-.8 3.5-5c2.6-2.6 5.2-5.1 8-7.5c.6-.6 .6-.6 3.5-3.5c-.5-2-.5-2-1-3.5c3.6-6 6.5-9.2 12.5-13c.4-.6 .6-1.3 1-2c-.5-.6-1-1.3-1.5-2c2-3 2-3 4.5-4.5c.5 1 .5 1 1 3.5c2.5-1 2.5-1 8.5-5.5c.3 0 .7 0 1 0c-.1-.4-.1-.4-.5-2.5c4.3-3.3 10-2.5 15-1zM153 69.5c1.2 .2 2.3 .3 3.5 .5c.3 .7 .7 1.3 1 2c.3 0 .7 0 1 0c.5 1.2 1 2.3 1.5 3.5c3.4 7.6 6.2 13.7 12.2 19.6c3.3 3.4 3.3 3.4 3.8 5.9c-.2 .2-.3 .3-.5 .5c.1 .7 .1 .7 .5 4.5c-.5 .3-1 .7-1.5 1c-.8-.3-1.7-.7-2.5-1c.3 .7 .7 1.3 1 2c1.2 5.8 1.4 10 1 16c-.7 0-1.3 0-2 0c-.4-1.3-.8-2.7-1.3-4.1c-2.1-6.1-5.2-11.4-8.7-16.9c-.2-.8-.2-.8-1.5-5c-.3-.6-.3-.6-2.1-3.5c-1.9-3.5-1.9-3.5-2.9-8.5c.7 0 1.3 0 2 0c.5 .5 1 1 1.5 1.5c-.8-2.3-1.7-4.6-2.5-7c-.7-2-1.3-4-2-6c-.7-1-1.3-2-2-3c.2-.7 .3-1.3 .5-2zM86.5 100.5c1 0 2 0 3 0c1.3 .8 2.7 1.7 4 2.5c-2.5 2.5-2.5 2.5-8 5.5c-5.5 4.3-8.6 7-10 14c-.8 2.2-1.7 4.3-2.5 6.5c-1.2 4.6-.5 9.3 0 14c-.5 0-1 0-1.5 0c-.2 2-.3 3.9-.5 6c-.7 0-1.3 0-2 0c-.3-.6-.3-.6-2-3.5c-1-.8-2-1.7-3-2.5c-.5-1.5-.5-1.5 1.5-8.5c.3-10.3-1-18.2-4-28c0-4 0-4 1-6c2 2 2 2 3 6.5c2.5-.5 2.5-.5 8-4c9.8-3.5 9.8-3.5 13-2.5zM43 161.5c2.5 2.5 2.5 2.5 3 5c-1.5 2.5-1.5 2.5-4 5c.5 3.5 .5 3.5 4 6.5c-.1 1.2-.4 2.3-.5 3.5c-5.3 3.5-5.3 3.5-8.5 3.5c-6-2.5-6-2.5-11.5-7c0-3 0-3 4-8c9.5-8.5 9.5-8.5 13.5-8.5z"/><path fill="#9B9D9E" d="M142.5 60.5c.5 1 .5 1-.5 4.5c1.2 1.5 2.3 3 3.5 4.5c2 4.5 2 4.5 2.5 9.5c-.5 .2-1 .3-1.5 .5c-.1 .2-.1 .2-.5 1c-2-1-3.9-2-6-3c-.8-.3-1.7-.7-2.5-1c-.3-.7-.7-1.3-1-2c.3-.5 .7-1 1-1.5c-.2-.7-.3-1.3-.5-2c-3.5 .5-3.5 .5-7.5 4c-.5 3-.5 3 0 5.5c-2 4-2 4-3.5 5.5c-.3 0-.7 0-1 0c0 .7 0 1.3 0 2c-2-1-2-1-2.5-2.5c.3-13.7 .3-13.7 4.8-18.5c4.1-3.9 6.3-4.8 11.7-6c1-.5 1-.5 3.5-.5zM98 70.5c.5 .3 1 .7 1.5 1c1.3 .3 2.7 .7 4 1c4.4 5.8 6.5 10.3 6.5 17.5c-2 2-2 2-5 2.5c-.3 .2-.3 .2-2 1c-.2-.2-.2-.2-1.5-1c.5-3 .5-3 1-5c-.7-.8-1.3-1.7-2-2.5c-.2-1.7-.3-3.3-.5-5c-4.5-2.7-8.5-3-13.5-2.5c-.1 .3-.1 .3-.5 1.5c1.3 .8 2.7 1.7 4 2.5c-.1 .4-.1 .4-.5 2.5c-2.3 1.2-4.6 2.3-7 3.5c-5.5 5.5-5.5 5.5-6.5 7c0 .5 0 1 0 1.5c.9-.1 .9-.1 5.5-.5c1 1.3 2 2.7 3 4c-.2 .5-.3 1-.5 1.5c-1.7 .5-3.2 1-5 1.6c-5.5 1.9-5.5 1.9-11 5.4c-.4 .1-.4 .1-2.5 .5c-1.5-1.5-1.5-1.5-2.5-6c-.4-.3-.6-.7-1-1c0-6.7 .9-11.7 3-18c.2-.6 .2-.6 1-3.5c7.8-9.7 20.5-14.1 32-9.5z"/><path fill="#FAF9F8" d="M103.5 40c0 .4 0 .6 0 1c2.2-.1 4.3-.4 6.5-.5c7 0 7 0 9.5 1c-.2 .6-.3 1.3-.5 2c-1.8 .6-3.7 1.3-5.5 2c-.2 .5-.3 1-.5 1.5c.7-.1 1.3-.4 2-.5c13.4-.3 13.4-.3 19.5 3.5c-.3 .6-.7 1.3-1 2c-1 0-2 0-3 0c0 .5 0 1 0 1.5c1.2 .1 1.2 .1 7 .5c3.5 2 3.5 2 5.5 4.5c0 1 0 2 0 3c-3.3 .9-6.7 1.6-10 2.5c-7.5 5-7.5 5-8.5 9c-.3 4.5-.4 9-.5 13.5c1.5 1 1.5 1 7.5 2.5c.9 .6 .9 .6 5.5 3.5c2 1 2 1 9 2.5c7.9 4 11.3 8.3 15 16.5c0 .5 0 1 0 1.5c-1 .2-2 .3-3 .5c.5 1.8 1 3.7 1.5 5.5c.3 8.5-.8 13.6-6 20.5c-.7-.2-1.3-.3-2-.5c0-1.7 0-3.3 0-5c-.7 .2-1.3 .3-2 .5c-1.3 2.7-2.7 5.3-4 8c-3.2 3.7-6.4 6.2-11 8c-1-1-1-1-1.5-3c-2.5 1.3-4.8 2.9-7 4.5c-6.3 2.8-10.8 3.2-17.6 1c-1.3-.5-2.6-1-3.9-1.5c.2 1.2 .3 2.3 .5 3.5c-.2 .3-.3 .7-.5 1c-5.9 0-9-1.8-14-5c-3-3.5-3-3.5-3-4.5c-.7 0-1.3 0-2 0c.5 2.2 1 4.3 1.5 6.5c-.3 .3-.7 .7-1 1c-4.5-.9-7.6-3.6-11-6.5c-4-6-4-9.3-4-16.5c2.5-7.5 2.5-7.5 3.5-9.5c.3-1.7 .7-3.3 1-5c6.4-8 14.7-13 24.5-16c6.4-6.3 6.4-6.3 8.5-10.5c0-6-1.6-9.8-4.5-15c-.2-.5-.3-1-.5-1.5c-1.7-.3-3.3-.7-5-1c-1.3-.7-2.7-1.3-4-2c-5.7-1.9-10.2-.3-15.5 1.5c-10 5.5-10 5.5-13 10c-.3-.2-.3-.2-2-1c1.3-6.8 4.6-11.7 9.5-16.5c.5-.3 1-.6 1.5-1c.2-.5 .3-1 .5-1.5c-1 .1-1 .1-6 1c-.3-.4-.7-.6-1-1c.5-2 .5-2 4-6c5-2.5 5-2.5 7.5-3c0-.5 0-1 0-1.5c-10.5-1.5-18.5 1-27 7c-.5 .9-1 1.6-1.5 2.5c-.9 .6-.9 .6-5.5 4c-4 3.5-7.6 7-11 11c-4.6 3.8-8.7 6.8-14 9.5c-.7-.3-1.3-.7-2-1c.2-.7 .3-1.3 .5-2c1.8-1 3.7-2 5.5-3c5.2-4.2 9.7-8.5 14-13.5c3.1-2.8 6.2-5.5 9.5-8c1.3-1.3 2.6-2.6 4-4c5.6-3.6 10.4-6.1 17-7c.5-1 1-2 1.5-3c7.2-2.4 12.5-2.2 20-.5c.2 .1 .2 .1 1 .5c3.5 0 3.5 0 8.5-3.5c1-.5 1-.5 3-.5zM118 92.5c-1 1.2-2 2.3-3 3.5c.5 2.5 .5 2.5 3 5c1.8 .8 3.7 1.7 5.5 2.5c.5 1 .5 1 .5 4.5c-4 4.8-6.1 5-12.5 6c0 .7 0 1.3 0 2c4.7 1.5 7.7 .2 12-1.5c1.2-.7 2.3-1.3 3.5-2c1.3 .3 2.7 .7 4 1c3.5 0 3.5 0 5.5-1.5c-.2-.5-.3-1-.5-1.5c-1.7-.3-3.3-.7-5-1c-2.5-2-2.5-2-3-5.5c2-3 2-3 4-5.5c.5-3.5 .5-3.5-1.5-6.5c-4.3-2.2-8.2-1-12.5 .5zM146 58.5c5.8 1.1 8.3 3.9 12.5 8c3.7 5.9 4.4 7.3 5 14c2.8 6.2 5.4 10 10.5 14.5c5.2 5.2 7.2 10.3 9 17.5c0 3.5 0 3.5-2 11c-.2 1.3-.2 1.3-1 7.5c-3.8 10.7-3.8 10.7-8.5 13.5c-.5 .2-.5 .2-3 1c-1 1.3-2 2.7-3 4c-4.5 3-4.5 3-10.5 5c-2.7-.6-5.3-1.3-8-2c-1.7 1.2-3.3 2.3-5 3.5c-2 1-2 1-4 .5c.5-1.5 .5-1.5 6-5c.3-.3 .3-.3 2-2c2.4 0 4.9 0 7.5 0c.5 .5 1 1 1.5 1.5c4.3-.6 7.1-2.3 10.5-5c3.5-5.5 3.5-5.5 4-7c1.5 0 2.9 0 4.5 0c4.3-8.7 4.6-14 2.5-23.5c-.3-1-.7-2-1-3c.3 .1 .3 .1 2 .5c1.5 2.5 1.5 2.5 1.5 4c.5-.2 1-.3 1.5-.5c-.8-10-4.3-16-11.4-22.8c-3.7-3.8-5.5-6.9-7.6-11.7c-.7-1.5-1.5-2.9-2.3-4.4c-1.7-3.6-1.7-3.6-1.7-5.6c.3-.2 .7-.3 1-.5c-.5-3-.5-3-4.5-7c-2-1-3.9-2-6-3c-.7-.4-1.3-.6-2-1c0-.6 0-1.3 0-2zM33.5 83.5c-1 4-5.1 6.4-8 9c-8.6 8.1-14.6 17.2-15.2 29.2c.3 8.1 .3 8.1 2.2 11.8c.5 0 1 0 1.5 0c.4-2.9 .6-6 1-9c.6 0 1.3 0 2 0c.2 1.3 .4 2.7 .6 4.1c1.8 9.3 5.3 14.8 12.9 20.4c2.3 1.2 4.6 2.3 7 3.5c.7 .6 .7 .6 4.5 3.5c3.5 0 3.5 0 8.5-1.5c1 0 2 0 3 0c-1 2-1 2-2.5 3.5c-6.5 1.7-9.6 .9-16-1.5c-1.1-1-2.3-2-3.5-3c-1.5-.7-2.9-1.3-4.5-2c-3.9-3.4-6.9-6.5-9.5-11c-1.1-.5-2.3-1-3.5-1.5c-5.9-6.7-8-12.7-8-21.5c2.4-12.2 7.2-19.8 16.5-28c4.5-4 4.5-4 6-5.5c3.5-1 3.5-1 5-.5zM50.5 172c2.5 1 2.5 1 7 6.5c6 6.2 12 11.8 18.8 17.1c5.7 4.5 11.3 9.1 16.7 13.9c1.3 1.2 2.7 2.3 4 3.5c.7 .7 1.3 1.3 2 2c-.2 .8-.3 1.7-.5 2.5c-6 2.9-11.7 4-18.5 4c-2.6-2.6-4.3-5.5-5.5-9c-.3 .1-.3 .1-1.5 .5c0 2.3 0 4.6 0 7c-.3 .5-.7 1-1 1.5c-13.3 0-24.6-4.6-34.5-13.5c-4.5-4.5-4.5-4.5-8.5-11c.5-2.5 .5-2.5 4.5-7c5-3 5-3 8-3.5c.5 .3 1 .7 1.5 1c2-.5 2-.5 4-2c.9-4.2 1.7-8.3 2.5-12.5c.4-.3 .6-.7 1-1z"/><path fill="#03B5BD" d="M58.5 149.5c2.5 .5 2.5 .5 7 3.5c9.8 5.2 18.9 7.9 30 8.5c2.2 .5 4.3 1 6.5 1.5c7 0 7 0 9-.5c2.3-.2 4.6-.3 7-.5c3.2-.9 6.3-1.9 9.5-3c1.3-.2 2.7-.3 4-.5c.2 .2 .3 .3 .5 .5c-.8 6.3-4.1 10.2-8 15c-.2 .5-.3 1-.5 1.5c1.7-1 3.3-2 5-3c.7 .2 1.3 .3 2 .5c-3 12.2-9.3 20.3-17.5 29.5c-.7 .7-.7 .7-4 4.5c-1 .8-2 1.7-3 2.5c-3.5-.5-3.5-.5-8-5c-2.3-1.8-4.7-3.7-7-5.5c-2.7-2.2-5.3-4.3-8-6.5c-.8-.6-.8-.6-4.5-3.5c-11-9.3-20.7-18.8-28.5-31c3-4 3-4 8.5-8.5z"/><ellipse cx="94" cy="94" rx="6.5" ry="6.5" fill="#212E34"/><ellipse cx="135" cy="85.6" rx="6.2" ry="5.8" fill="#212E34"/><g fill="#FAF9F8"><circle cx="91.5" cy="91.5" r="2.1"/><circle cx="134.6" cy="84.3" r="2"/></g><ellipse cx="124" cy="93.8" rx="3.4" ry="1.1" fill="#9B9D9E" transform="rotate(-6 124 93.8)"/></g></g><rect x="5" y="5" width="230" height="230" rx="45" fill="none" stroke="#5B6B73" stroke-width="10"/></symbol></defs>
2
+ <rect x="1" y="1" width="958" height="370" rx="18" fill="#151D22" stroke="#34434B" stroke-width="1.5"/>
3
+ <path d="M146 115.5 152.5 115.4 158.5 115.3 163.9 115.3 168.8 115.2 173.2 115.1 177.2 115 180.9 115 184.2 114.9 187.3 114.8 190.1 114.7 192.7 114.6 195.2 114.6 197.6 114.5 200 114.4 202.4 114.3 204.8 114.2 207.3 114.2 209.9 114.1 212.7 114 215.8 113.9 219.1 113.8 222.8 113.8 226.8 113.7 231.2 113.6 236.1 113.5 241.5 113.5 247.5 113.4 254 113.3 A1.3 1.3 0 0 1 254 110.7 L254 110.7 247.5 110.6 241.5 110.5 236.1 110.5 231.2 110.4 226.8 110.3 222.8 110.2 219.1 110.2 215.8 110.1 212.7 110 209.9 109.9 207.3 109.8 204.8 109.8 202.4 109.7 200 109.6 197.6 109.5 195.2 109.4 192.7 109.4 190.1 109.3 187.3 109.2 184.2 109.1 180.9 109 177.2 109 173.2 108.9 168.8 108.8 163.9 108.7 158.5 108.7 152.5 108.6 146 108.5 A3.5 3.5 0 0 1 146 115.5Z" fill="#21BEC5"/>
4
+ <path d="M246 118L254 112L246 106" fill="none" stroke="#21BEC5" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <path d="M326 115.5 332.5 115.4 338.3 115.3 343.6 115.3 348.2 115.2 352.4 115.1 356.1 115 359.4 115 362.4 114.9 365 114.8 367.4 114.7 369.7 114.6 371.8 114.6 373.8 114.5 375.8 114.4 377.8 114.3 379.8 114.2 382 114.2 384.4 114.1 387.1 114 390 113.9 393.2 113.8 396.9 113.8 401 113.7 405.6 113.6 410.7 113.5 416.5 113.5 422.9 113.4 430 113.3 A1.3 1.3 0 0 1 430 110.7 L430 110.7 422.9 110.6 416.5 110.5 410.7 110.5 405.6 110.4 401 110.3 396.9 110.2 393.2 110.2 390 110.1 387.1 110 384.4 109.9 382 109.8 379.8 109.8 377.8 109.7 375.8 109.6 373.8 109.5 371.8 109.4 369.7 109.4 367.4 109.3 365 109.2 362.4 109.1 359.4 109 356.1 109 352.4 108.9 348.2 108.8 343.6 108.7 338.3 108.7 332.5 108.6 326 108.5 A3.5 3.5 0 0 1 326 115.5Z" fill="#21BEC5"/>
6
+ <path d="M422 118L430 112L422 106" fill="none" stroke="#21BEC5" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
7
+ <path d="M510 115.5 515.2 115.4 520 115.3 524.5 115.3 528.7 115.2 532.6 115.1 536.3 115 539.7 115 543 114.9 546.1 114.8 549.1 114.7 552 114.6 554.8 114.6 557.5 114.5 560.2 114.4 563 114.3 565.8 114.2 568.6 114.2 571.5 114.1 574.6 114 577.8 113.9 581.2 113.8 584.7 113.8 588.5 113.7 592.6 113.6 597 113.5 601.6 113.5 606.6 113.4 612 113.3 A1.3 1.3 0 0 1 612 110.7 L612 110.7 606.6 110.6 601.6 110.5 597 110.5 592.6 110.4 588.5 110.3 584.7 110.2 581.2 110.2 577.8 110.1 574.6 110 571.5 109.9 568.6 109.8 565.8 109.8 563 109.7 560.2 109.6 557.5 109.5 554.8 109.4 552 109.4 549.1 109.3 546.1 109.2 543 109.1 539.7 109 536.3 109 532.6 108.9 528.7 108.8 524.5 108.7 520 108.7 515.2 108.6 510 108.5 A3.5 3.5 0 0 1 510 115.5Z" fill="#21BEC5"/>
8
+ <path d="M604 118L612 112L604 106" fill="none" stroke="#21BEC5" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
9
+ <path d="M854.5 151.5 853.5 160.2 850.4 167.9 845.3 175.1 838.3 181.8 829.4 188.1 818.7 193.7 806.6 198.7 793.1 203.1 778.5 206.9 762.8 209.9 746.3 212.4 729.2 214.1 711.5 215.2 693.5 215.6 675.3 215.3 657.1 214.4 639.1 212.8 621.3 210.6 604.1 207.6 587.5 204 571.7 199.7 556.8 194.8 543.1 189.2 530.7 182.9 519.8 176 510.4 168.5 502.8 160.3 497.1 151.3 A1.3 1.3 0 0 1 494.9 152.7 L494.9 152.7 500.6 161.9 508.4 170.6 518 178.5 529.1 185.7 541.7 192.3 555.6 198.1 570.6 203.3 586.5 207.7 603.3 211.6 620.7 214.7 638.6 217.1 656.8 218.9 675.1 220 693.5 220.4 711.7 220.1 729.6 219.2 747 217.6 763.7 215.3 779.7 212.3 794.7 208.6 808.6 204.3 821.3 199.2 832.5 193.4 842.2 186.8 850.2 179.4 856.3 171.1 860.1 162 861.5 152.5 A3.5 3.5 0 0 1 854.5 151.5Z" fill="#F0B455"/>
10
+ <path d="M504.9 156.5L496 152L494.2 161.8" fill="none" stroke="#F0B455" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
11
+ <path d="M444.5 153.6 443.7 161 442.6 168.3 441.4 175.4 440 182.5 438.4 189.4 436.6 196.1 434.6 202.7 432.4 209.2 429.9 215.5 427.2 221.6 424.3 227.5 421 233.2 417.6 238.7 413.8 244 409.8 249.1 405.5 254 400.9 258.6 396 262.9 390.8 267 385.2 270.9 379.3 274.4 373.1 277.7 366.5 280.7 359.5 283.4 352.2 285.7 344.5 287.7 336.4 289.4 327.8 290.7 A1.3 1.3 0 0 1 328.2 293.3 L328.2 293.3 336.8 292.1 345.1 290.6 353 288.7 360.6 286.4 367.8 283.8 374.6 280.9 381.1 277.7 387.3 274.1 393.1 270.3 398.6 266.2 403.9 261.8 408.8 257.1 413.4 252.1 417.7 247 421.7 241.5 425.4 235.9 428.9 230 432.1 224 435 217.7 437.7 211.2 440.2 204.6 442.4 197.9 444.4 190.9 446.2 183.9 447.8 176.7 449.2 169.4 450.4 161.9 451.5 154.4 A3.5 3.5 0 0 1 444.5 153.6Z" fill="#21BEC5"/>
12
+ <path d="M335.2 285.1L328 292L336.7 297" fill="none" stroke="#21BEC5" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
13
+ <path d="M254 288.5 253.2 288.6 251.7 288.7 249.6 288.7 247 288.8 243.8 288.9 240.1 289 236 289.1 231.6 289.1 226.8 289.2 221.8 289.3 216.6 289.4 211.2 289.4 205.8 289.5 200.2 289.6 194.7 289.7 189.3 289.8 184 289.8 178.8 289.9 173.9 290 169.2 290.1 164.8 290.1 160.9 290.2 157.3 290.3 154.3 290.4 151.8 290.5 149.9 290.5 148.6 290.6 148 290.7 A1.3 1.3 0 0 1 148 293.3 L148 293.3 148.6 293.4 149.9 293.5 151.8 293.5 154.3 293.6 157.3 293.7 160.9 293.8 164.8 293.9 169.2 293.9 173.9 294 178.8 294.1 184 294.2 189.3 294.2 194.7 294.3 200.2 294.4 205.8 294.5 211.2 294.6 216.6 294.6 221.8 294.7 226.8 294.8 231.6 294.9 236 294.9 240.1 295 243.8 295.1 247 295.2 249.6 295.3 251.7 295.3 253.2 295.4 254 295.5 A3.5 3.5 0 0 1 254 288.5Z" fill="#21BEC5"/>
14
+ <path d="M156 286L148 292L156 298" fill="none" stroke="#21BEC5" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
15
+ <ellipse cx="110" cy="146.0" rx="32.0" ry="3.5" fill="#BCC5CA" opacity="0.12"/>
16
+ <ellipse cx="290" cy="146.0" rx="32.0" ry="3.5" fill="#BCC5CA" opacity="0.12"/>
17
+ <ellipse cx="290" cy="326.0" rx="32.0" ry="3.5" fill="#BCC5CA" opacity="0.12"/>
18
+ <ellipse cx="110" cy="326.0" rx="32.0" ry="3.5" fill="#BCC5CA" opacity="0.12"/>
19
+ <ellipse cx="470" cy="150" rx="38" ry="4" fill="#BCC5CA" opacity="0.12"/>
20
+ <rect x="82" y="84" width="56" height="56" rx="11.2" fill="#212E34" stroke="#5B6B73" stroke-width="2.2"/>
21
+ <path d="M101 107a12 12 0 0 0 16 16z" fill="#21BEC5"/><path d="M108 115l7-7" stroke="#21BEC5" stroke-width="2.4" stroke-linecap="round"/><path d="M113 100a10 10 0 0 1 10 10" fill="none" stroke="#21BEC5" stroke-width="2.4" stroke-linecap="round"/>
22
+ <rect x="262" y="84" width="56" height="56" rx="11.2" fill="#212E34" stroke="#5B6B73" stroke-width="2.2"/>
23
+ <circle cx="284" cy="112" r="5.5" fill="#21BEC5"/><g fill="none" stroke="#21BEC5" stroke-width="3" stroke-linecap="round"><path d="M292 103a12 12 0 0 1 0 18"/><path d="M299 97a20 20 0 0 1 0 30"/></g>
24
+ <use href="#jack" x="438" y="80" width="64" height="64"/>
25
+ <rect x="262" y="264" width="56" height="56" rx="11.2" fill="#212E34" stroke="#5B6B73" stroke-width="2.2"/>
26
+ <circle cx="290" cy="285" r="7.5" fill="#FAF9F8"/><path d="M277 308a13 12 0 0 1 26 0z" fill="#FAF9F8"/>
27
+ <rect x="82" y="264" width="56" height="56" rx="11.2" fill="#212E34" stroke="#5B6B73" stroke-width="2.2"/><circle cx="110" cy="292" r="10.6" fill="#21BEC5"/>
28
+ <rect x="620" y="74.0" width="290" height="76" rx="12" fill="#1B252B" stroke="#2E3B42" stroke-width="1.5"/>
29
+ <text x="638" y="102" class="s" font-size="14" fill="#E6EDF3" font-weight="700">Waiting for you</text>
30
+ <text x="638" y="126" class="m" font-size="13" fill="#9B9D9E">Error log · Checkout: …</text>
31
+ <text x="892" y="126" class="m" font-size="13" fill="#F0B455" font-weight="700" text-anchor="end">[ask]</text>
32
+ <text x="110" y="164" class="s" font-size="15" fill="#E6EDF3" font-weight="700" text-anchor="middle">Source</text>
33
+ <text x="110" y="182" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="middle">ticket, error log,</text>
34
+ <text x="110" y="199" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="middle">status page</text>
35
+ <text x="290" y="164" class="m" font-size="14" fill="#E6EDF3" font-weight="700" text-anchor="middle">jh watch</text>
36
+ <text x="470" y="174" class="s" font-size="15" fill="#E6EDF3" font-weight="700" text-anchor="middle">Jack</text>
37
+ <text x="290" y="344" class="s" font-size="15" fill="#E6EDF3" font-weight="700" text-anchor="middle">You</text>
38
+ <text x="110" y="344" class="s" font-size="15" fill="#E6EDF3" font-weight="700" text-anchor="middle">Lane</text>
39
+ <text x="200" y="90" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="middle">new or changed</text>
40
+ <text x="200" y="106" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="middle">entry</text>
41
+ <text x="380" y="90" class="m" font-size="12" fill="#9B9D9E" text-anchor="middle">=== source …</text>
42
+ <text x="380" y="106" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="middle">report</text>
43
+ <text x="548" y="90" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="middle">board row,</text>
44
+ <text x="548" y="106" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="middle">origin = source</text>
45
+ <text x="660" y="252" class="m" font-size="13" fill="#F0B455" font-weight="700" text-anchor="middle">[ask]</text>
46
+ <text x="425" y="236" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="end">asks you,</text>
47
+ <text x="200" y="278" class="s" font-size="12.5" fill="#9B9D9E" text-anchor="middle">then a lane works it</text>
48
+ </svg>
@@ -0,0 +1,48 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="960" height="372" viewBox="0 0 960 372" role="img" aria-labelledby="t d"><title id="t">How a source reaches you</title><desc id="d">A source (a ticket, an error log or a status page) has a new or changed entry. jh watch reads it and reports it to Jack, who puts a row into Waiting for you on the board; the row starts with the source's label, for example Error log, Checkout. The [ask] button on the row makes Jack ask you about it, and once you have answered, a lane works it.</desc><defs><style>.s{font-family:ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif}.m{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace}</style><clipPath id="jack-clip"><rect width="240" height="240" rx="50"/></clipPath><symbol id="jack" viewBox="0 0 240 240"><rect width="240" height="240" rx="50" fill="#212E34"/><g clip-path="url(#jack-clip)"><g transform="translate(34 8)"><path fill="#4A4E51" d="M80 50.5c.2 .1 .2 .1 1 1c-.2 .6-.3 1.3-.5 2c-.7 .4-.7 .4-4 2c-6 3.3-6 3.3-7 6.5c1.2-.4 2.3-.6 3.5-1c.8 0 1.7 0 2.5 0c.2 .1 .2 .1 1 1c-.5 2-.5 2-5.5 6.5c-3 5-3 5-5.5 11c.2 .3 .2 .3 1 2c.2 .3 .3 .7 .5 1c-.7 .7-1.3 1.3-2 2c-1.3-.2-2.6-.3-4-.5c0-1.2 0-2.3 0-3.5c-.2 .1-.2 .1-1.5 .5c-1.2 2.7-2.4 5.3-3.5 8c-1 2.1-2 4.2-3 6.3c-2.5 5.7-2.5 5.7-3 8.2c.5 0 1 0 1.5 0c.1-.8 .4-1.7 .5-2.5c.6 0 1.3 0 2 0c.5 2 1 3.9 1.6 6c1 4 2.2 8 3.4 11.9c2.1 8.4 1.1 15.5-3 23.1c-.6-.2-1.3-.3-2-.5c-.1-1.5-.3-3-.5-4.6c-.3-2.6-.5-5.2-1-7.9c-.5 0-1 0-1.5 0c-.1 1.7-.4 3.3-.5 5c-2.7 10.2-2.7 10.2-6 13.5c-6.1-3.1-9-14.9-11-21c-1.1-8.2 .9-14.7 3.5-22.5c-8.4 8.3-8.3 20.5-9 31.5c-.6-.2-1.3-.3-2-.5c-5.4-8.9-5.1-15-3-25c.5-1 1-2 1.5-3c-3 1.5-3 1.5-6.5 5c-.4 0-.6 0-1 0c.8-6.5 3.2-10.2 7.5-15c.6-.8 .6-.8 3.5-5c2.6-2.6 5.2-5.1 8-7.5c.6-.6 .6-.6 3.5-3.5c-.5-2-.5-2-1-3.5c3.6-6 6.5-9.2 12.5-13c.4-.6 .6-1.3 1-2c-.5-.6-1-1.3-1.5-2c2-3 2-3 4.5-4.5c.5 1 .5 1 1 3.5c2.5-1 2.5-1 8.5-5.5c.3 0 .7 0 1 0c-.1-.4-.1-.4-.5-2.5c4.3-3.3 10-2.5 15-1zM153 69.5c1.2 .2 2.3 .3 3.5 .5c.3 .7 .7 1.3 1 2c.3 0 .7 0 1 0c.5 1.2 1 2.3 1.5 3.5c3.4 7.6 6.2 13.7 12.2 19.6c3.3 3.4 3.3 3.4 3.8 5.9c-.2 .2-.3 .3-.5 .5c.1 .7 .1 .7 .5 4.5c-.5 .3-1 .7-1.5 1c-.8-.3-1.7-.7-2.5-1c.3 .7 .7 1.3 1 2c1.2 5.8 1.4 10 1 16c-.7 0-1.3 0-2 0c-.4-1.3-.8-2.7-1.3-4.1c-2.1-6.1-5.2-11.4-8.7-16.9c-.2-.8-.2-.8-1.5-5c-.3-.6-.3-.6-2.1-3.5c-1.9-3.5-1.9-3.5-2.9-8.5c.7 0 1.3 0 2 0c.5 .5 1 1 1.5 1.5c-.8-2.3-1.7-4.6-2.5-7c-.7-2-1.3-4-2-6c-.7-1-1.3-2-2-3c.2-.7 .3-1.3 .5-2zM86.5 100.5c1 0 2 0 3 0c1.3 .8 2.7 1.7 4 2.5c-2.5 2.5-2.5 2.5-8 5.5c-5.5 4.3-8.6 7-10 14c-.8 2.2-1.7 4.3-2.5 6.5c-1.2 4.6-.5 9.3 0 14c-.5 0-1 0-1.5 0c-.2 2-.3 3.9-.5 6c-.7 0-1.3 0-2 0c-.3-.6-.3-.6-2-3.5c-1-.8-2-1.7-3-2.5c-.5-1.5-.5-1.5 1.5-8.5c.3-10.3-1-18.2-4-28c0-4 0-4 1-6c2 2 2 2 3 6.5c2.5-.5 2.5-.5 8-4c9.8-3.5 9.8-3.5 13-2.5zM43 161.5c2.5 2.5 2.5 2.5 3 5c-1.5 2.5-1.5 2.5-4 5c.5 3.5 .5 3.5 4 6.5c-.1 1.2-.4 2.3-.5 3.5c-5.3 3.5-5.3 3.5-8.5 3.5c-6-2.5-6-2.5-11.5-7c0-3 0-3 4-8c9.5-8.5 9.5-8.5 13.5-8.5z"/><path fill="#9B9D9E" d="M142.5 60.5c.5 1 .5 1-.5 4.5c1.2 1.5 2.3 3 3.5 4.5c2 4.5 2 4.5 2.5 9.5c-.5 .2-1 .3-1.5 .5c-.1 .2-.1 .2-.5 1c-2-1-3.9-2-6-3c-.8-.3-1.7-.7-2.5-1c-.3-.7-.7-1.3-1-2c.3-.5 .7-1 1-1.5c-.2-.7-.3-1.3-.5-2c-3.5 .5-3.5 .5-7.5 4c-.5 3-.5 3 0 5.5c-2 4-2 4-3.5 5.5c-.3 0-.7 0-1 0c0 .7 0 1.3 0 2c-2-1-2-1-2.5-2.5c.3-13.7 .3-13.7 4.8-18.5c4.1-3.9 6.3-4.8 11.7-6c1-.5 1-.5 3.5-.5zM98 70.5c.5 .3 1 .7 1.5 1c1.3 .3 2.7 .7 4 1c4.4 5.8 6.5 10.3 6.5 17.5c-2 2-2 2-5 2.5c-.3 .2-.3 .2-2 1c-.2-.2-.2-.2-1.5-1c.5-3 .5-3 1-5c-.7-.8-1.3-1.7-2-2.5c-.2-1.7-.3-3.3-.5-5c-4.5-2.7-8.5-3-13.5-2.5c-.1 .3-.1 .3-.5 1.5c1.3 .8 2.7 1.7 4 2.5c-.1 .4-.1 .4-.5 2.5c-2.3 1.2-4.6 2.3-7 3.5c-5.5 5.5-5.5 5.5-6.5 7c0 .5 0 1 0 1.5c.9-.1 .9-.1 5.5-.5c1 1.3 2 2.7 3 4c-.2 .5-.3 1-.5 1.5c-1.7 .5-3.2 1-5 1.6c-5.5 1.9-5.5 1.9-11 5.4c-.4 .1-.4 .1-2.5 .5c-1.5-1.5-1.5-1.5-2.5-6c-.4-.3-.6-.7-1-1c0-6.7 .9-11.7 3-18c.2-.6 .2-.6 1-3.5c7.8-9.7 20.5-14.1 32-9.5z"/><path fill="#FAF9F8" d="M103.5 40c0 .4 0 .6 0 1c2.2-.1 4.3-.4 6.5-.5c7 0 7 0 9.5 1c-.2 .6-.3 1.3-.5 2c-1.8 .6-3.7 1.3-5.5 2c-.2 .5-.3 1-.5 1.5c.7-.1 1.3-.4 2-.5c13.4-.3 13.4-.3 19.5 3.5c-.3 .6-.7 1.3-1 2c-1 0-2 0-3 0c0 .5 0 1 0 1.5c1.2 .1 1.2 .1 7 .5c3.5 2 3.5 2 5.5 4.5c0 1 0 2 0 3c-3.3 .9-6.7 1.6-10 2.5c-7.5 5-7.5 5-8.5 9c-.3 4.5-.4 9-.5 13.5c1.5 1 1.5 1 7.5 2.5c.9 .6 .9 .6 5.5 3.5c2 1 2 1 9 2.5c7.9 4 11.3 8.3 15 16.5c0 .5 0 1 0 1.5c-1 .2-2 .3-3 .5c.5 1.8 1 3.7 1.5 5.5c.3 8.5-.8 13.6-6 20.5c-.7-.2-1.3-.3-2-.5c0-1.7 0-3.3 0-5c-.7 .2-1.3 .3-2 .5c-1.3 2.7-2.7 5.3-4 8c-3.2 3.7-6.4 6.2-11 8c-1-1-1-1-1.5-3c-2.5 1.3-4.8 2.9-7 4.5c-6.3 2.8-10.8 3.2-17.6 1c-1.3-.5-2.6-1-3.9-1.5c.2 1.2 .3 2.3 .5 3.5c-.2 .3-.3 .7-.5 1c-5.9 0-9-1.8-14-5c-3-3.5-3-3.5-3-4.5c-.7 0-1.3 0-2 0c.5 2.2 1 4.3 1.5 6.5c-.3 .3-.7 .7-1 1c-4.5-.9-7.6-3.6-11-6.5c-4-6-4-9.3-4-16.5c2.5-7.5 2.5-7.5 3.5-9.5c.3-1.7 .7-3.3 1-5c6.4-8 14.7-13 24.5-16c6.4-6.3 6.4-6.3 8.5-10.5c0-6-1.6-9.8-4.5-15c-.2-.5-.3-1-.5-1.5c-1.7-.3-3.3-.7-5-1c-1.3-.7-2.7-1.3-4-2c-5.7-1.9-10.2-.3-15.5 1.5c-10 5.5-10 5.5-13 10c-.3-.2-.3-.2-2-1c1.3-6.8 4.6-11.7 9.5-16.5c.5-.3 1-.6 1.5-1c.2-.5 .3-1 .5-1.5c-1 .1-1 .1-6 1c-.3-.4-.7-.6-1-1c.5-2 .5-2 4-6c5-2.5 5-2.5 7.5-3c0-.5 0-1 0-1.5c-10.5-1.5-18.5 1-27 7c-.5 .9-1 1.6-1.5 2.5c-.9 .6-.9 .6-5.5 4c-4 3.5-7.6 7-11 11c-4.6 3.8-8.7 6.8-14 9.5c-.7-.3-1.3-.7-2-1c.2-.7 .3-1.3 .5-2c1.8-1 3.7-2 5.5-3c5.2-4.2 9.7-8.5 14-13.5c3.1-2.8 6.2-5.5 9.5-8c1.3-1.3 2.6-2.6 4-4c5.6-3.6 10.4-6.1 17-7c.5-1 1-2 1.5-3c7.2-2.4 12.5-2.2 20-.5c.2 .1 .2 .1 1 .5c3.5 0 3.5 0 8.5-3.5c1-.5 1-.5 3-.5zM118 92.5c-1 1.2-2 2.3-3 3.5c.5 2.5 .5 2.5 3 5c1.8 .8 3.7 1.7 5.5 2.5c.5 1 .5 1 .5 4.5c-4 4.8-6.1 5-12.5 6c0 .7 0 1.3 0 2c4.7 1.5 7.7 .2 12-1.5c1.2-.7 2.3-1.3 3.5-2c1.3 .3 2.7 .7 4 1c3.5 0 3.5 0 5.5-1.5c-.2-.5-.3-1-.5-1.5c-1.7-.3-3.3-.7-5-1c-2.5-2-2.5-2-3-5.5c2-3 2-3 4-5.5c.5-3.5 .5-3.5-1.5-6.5c-4.3-2.2-8.2-1-12.5 .5zM146 58.5c5.8 1.1 8.3 3.9 12.5 8c3.7 5.9 4.4 7.3 5 14c2.8 6.2 5.4 10 10.5 14.5c5.2 5.2 7.2 10.3 9 17.5c0 3.5 0 3.5-2 11c-.2 1.3-.2 1.3-1 7.5c-3.8 10.7-3.8 10.7-8.5 13.5c-.5 .2-.5 .2-3 1c-1 1.3-2 2.7-3 4c-4.5 3-4.5 3-10.5 5c-2.7-.6-5.3-1.3-8-2c-1.7 1.2-3.3 2.3-5 3.5c-2 1-2 1-4 .5c.5-1.5 .5-1.5 6-5c.3-.3 .3-.3 2-2c2.4 0 4.9 0 7.5 0c.5 .5 1 1 1.5 1.5c4.3-.6 7.1-2.3 10.5-5c3.5-5.5 3.5-5.5 4-7c1.5 0 2.9 0 4.5 0c4.3-8.7 4.6-14 2.5-23.5c-.3-1-.7-2-1-3c.3 .1 .3 .1 2 .5c1.5 2.5 1.5 2.5 1.5 4c.5-.2 1-.3 1.5-.5c-.8-10-4.3-16-11.4-22.8c-3.7-3.8-5.5-6.9-7.6-11.7c-.7-1.5-1.5-2.9-2.3-4.4c-1.7-3.6-1.7-3.6-1.7-5.6c.3-.2 .7-.3 1-.5c-.5-3-.5-3-4.5-7c-2-1-3.9-2-6-3c-.7-.4-1.3-.6-2-1c0-.6 0-1.3 0-2zM33.5 83.5c-1 4-5.1 6.4-8 9c-8.6 8.1-14.6 17.2-15.2 29.2c.3 8.1 .3 8.1 2.2 11.8c.5 0 1 0 1.5 0c.4-2.9 .6-6 1-9c.6 0 1.3 0 2 0c.2 1.3 .4 2.7 .6 4.1c1.8 9.3 5.3 14.8 12.9 20.4c2.3 1.2 4.6 2.3 7 3.5c.7 .6 .7 .6 4.5 3.5c3.5 0 3.5 0 8.5-1.5c1 0 2 0 3 0c-1 2-1 2-2.5 3.5c-6.5 1.7-9.6 .9-16-1.5c-1.1-1-2.3-2-3.5-3c-1.5-.7-2.9-1.3-4.5-2c-3.9-3.4-6.9-6.5-9.5-11c-1.1-.5-2.3-1-3.5-1.5c-5.9-6.7-8-12.7-8-21.5c2.4-12.2 7.2-19.8 16.5-28c4.5-4 4.5-4 6-5.5c3.5-1 3.5-1 5-.5zM50.5 172c2.5 1 2.5 1 7 6.5c6 6.2 12 11.8 18.8 17.1c5.7 4.5 11.3 9.1 16.7 13.9c1.3 1.2 2.7 2.3 4 3.5c.7 .7 1.3 1.3 2 2c-.2 .8-.3 1.7-.5 2.5c-6 2.9-11.7 4-18.5 4c-2.6-2.6-4.3-5.5-5.5-9c-.3 .1-.3 .1-1.5 .5c0 2.3 0 4.6 0 7c-.3 .5-.7 1-1 1.5c-13.3 0-24.6-4.6-34.5-13.5c-4.5-4.5-4.5-4.5-8.5-11c.5-2.5 .5-2.5 4.5-7c5-3 5-3 8-3.5c.5 .3 1 .7 1.5 1c2-.5 2-.5 4-2c.9-4.2 1.7-8.3 2.5-12.5c.4-.3 .6-.7 1-1z"/><path fill="#03B5BD" d="M58.5 149.5c2.5 .5 2.5 .5 7 3.5c9.8 5.2 18.9 7.9 30 8.5c2.2 .5 4.3 1 6.5 1.5c7 0 7 0 9-.5c2.3-.2 4.6-.3 7-.5c3.2-.9 6.3-1.9 9.5-3c1.3-.2 2.7-.3 4-.5c.2 .2 .3 .3 .5 .5c-.8 6.3-4.1 10.2-8 15c-.2 .5-.3 1-.5 1.5c1.7-1 3.3-2 5-3c.7 .2 1.3 .3 2 .5c-3 12.2-9.3 20.3-17.5 29.5c-.7 .7-.7 .7-4 4.5c-1 .8-2 1.7-3 2.5c-3.5-.5-3.5-.5-8-5c-2.3-1.8-4.7-3.7-7-5.5c-2.7-2.2-5.3-4.3-8-6.5c-.8-.6-.8-.6-4.5-3.5c-11-9.3-20.7-18.8-28.5-31c3-4 3-4 8.5-8.5z"/><ellipse cx="94" cy="94" rx="6.5" ry="6.5" fill="#212E34"/><ellipse cx="135" cy="85.6" rx="6.2" ry="5.8" fill="#212E34"/><g fill="#FAF9F8"><circle cx="91.5" cy="91.5" r="2.1"/><circle cx="134.6" cy="84.3" r="2"/></g><ellipse cx="124" cy="93.8" rx="3.4" ry="1.1" fill="#9B9D9E" transform="rotate(-6 124 93.8)"/></g></g><rect x="5" y="5" width="230" height="230" rx="45" fill="none"/></symbol></defs>
2
+ <rect x="1" y="1" width="958" height="370" rx="18" fill="#FAF9F8" stroke="#C4CBCE" stroke-width="1.5"/>
3
+ <path d="M146 115.5 152.5 115.4 158.5 115.3 163.9 115.3 168.8 115.2 173.2 115.1 177.2 115 180.9 115 184.2 114.9 187.3 114.8 190.1 114.7 192.7 114.6 195.2 114.6 197.6 114.5 200 114.4 202.4 114.3 204.8 114.2 207.3 114.2 209.9 114.1 212.7 114 215.8 113.9 219.1 113.8 222.8 113.8 226.8 113.7 231.2 113.6 236.1 113.5 241.5 113.5 247.5 113.4 254 113.3 A1.3 1.3 0 0 1 254 110.7 L254 110.7 247.5 110.6 241.5 110.5 236.1 110.5 231.2 110.4 226.8 110.3 222.8 110.2 219.1 110.2 215.8 110.1 212.7 110 209.9 109.9 207.3 109.8 204.8 109.8 202.4 109.7 200 109.6 197.6 109.5 195.2 109.4 192.7 109.4 190.1 109.3 187.3 109.2 184.2 109.1 180.9 109 177.2 109 173.2 108.9 168.8 108.8 163.9 108.7 158.5 108.7 152.5 108.6 146 108.5 A3.5 3.5 0 0 1 146 115.5Z" fill="#03B5BD"/>
4
+ <path d="M246 118L254 112L246 106" fill="none" stroke="#03B5BD" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <path d="M326 115.5 332.5 115.4 338.3 115.3 343.6 115.3 348.2 115.2 352.4 115.1 356.1 115 359.4 115 362.4 114.9 365 114.8 367.4 114.7 369.7 114.6 371.8 114.6 373.8 114.5 375.8 114.4 377.8 114.3 379.8 114.2 382 114.2 384.4 114.1 387.1 114 390 113.9 393.2 113.8 396.9 113.8 401 113.7 405.6 113.6 410.7 113.5 416.5 113.5 422.9 113.4 430 113.3 A1.3 1.3 0 0 1 430 110.7 L430 110.7 422.9 110.6 416.5 110.5 410.7 110.5 405.6 110.4 401 110.3 396.9 110.2 393.2 110.2 390 110.1 387.1 110 384.4 109.9 382 109.8 379.8 109.8 377.8 109.7 375.8 109.6 373.8 109.5 371.8 109.4 369.7 109.4 367.4 109.3 365 109.2 362.4 109.1 359.4 109 356.1 109 352.4 108.9 348.2 108.8 343.6 108.7 338.3 108.7 332.5 108.6 326 108.5 A3.5 3.5 0 0 1 326 115.5Z" fill="#03B5BD"/>
6
+ <path d="M422 118L430 112L422 106" fill="none" stroke="#03B5BD" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
7
+ <path d="M510 115.5 515.2 115.4 520 115.3 524.5 115.3 528.7 115.2 532.6 115.1 536.3 115 539.7 115 543 114.9 546.1 114.8 549.1 114.7 552 114.6 554.8 114.6 557.5 114.5 560.2 114.4 563 114.3 565.8 114.2 568.6 114.2 571.5 114.1 574.6 114 577.8 113.9 581.2 113.8 584.7 113.8 588.5 113.7 592.6 113.6 597 113.5 601.6 113.5 606.6 113.4 612 113.3 A1.3 1.3 0 0 1 612 110.7 L612 110.7 606.6 110.6 601.6 110.5 597 110.5 592.6 110.4 588.5 110.3 584.7 110.2 581.2 110.2 577.8 110.1 574.6 110 571.5 109.9 568.6 109.8 565.8 109.8 563 109.7 560.2 109.6 557.5 109.5 554.8 109.4 552 109.4 549.1 109.3 546.1 109.2 543 109.1 539.7 109 536.3 109 532.6 108.9 528.7 108.8 524.5 108.7 520 108.7 515.2 108.6 510 108.5 A3.5 3.5 0 0 1 510 115.5Z" fill="#03B5BD"/>
8
+ <path d="M604 118L612 112L604 106" fill="none" stroke="#03B5BD" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
9
+ <path d="M854.5 151.5 853.5 160.2 850.4 167.9 845.3 175.1 838.3 181.8 829.4 188.1 818.7 193.7 806.6 198.7 793.1 203.1 778.5 206.9 762.8 209.9 746.3 212.4 729.2 214.1 711.5 215.2 693.5 215.6 675.3 215.3 657.1 214.4 639.1 212.8 621.3 210.6 604.1 207.6 587.5 204 571.7 199.7 556.8 194.8 543.1 189.2 530.7 182.9 519.8 176 510.4 168.5 502.8 160.3 497.1 151.3 A1.3 1.3 0 0 1 494.9 152.7 L494.9 152.7 500.6 161.9 508.4 170.6 518 178.5 529.1 185.7 541.7 192.3 555.6 198.1 570.6 203.3 586.5 207.7 603.3 211.6 620.7 214.7 638.6 217.1 656.8 218.9 675.1 220 693.5 220.4 711.7 220.1 729.6 219.2 747 217.6 763.7 215.3 779.7 212.3 794.7 208.6 808.6 204.3 821.3 199.2 832.5 193.4 842.2 186.8 850.2 179.4 856.3 171.1 860.1 162 861.5 152.5 A3.5 3.5 0 0 1 854.5 151.5Z" fill="#E8A33D"/>
10
+ <path d="M504.9 156.5L496 152L494.2 161.8" fill="none" stroke="#E8A33D" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
11
+ <path d="M444.5 153.6 443.7 161 442.6 168.3 441.4 175.4 440 182.5 438.4 189.4 436.6 196.1 434.6 202.7 432.4 209.2 429.9 215.5 427.2 221.6 424.3 227.5 421 233.2 417.6 238.7 413.8 244 409.8 249.1 405.5 254 400.9 258.6 396 262.9 390.8 267 385.2 270.9 379.3 274.4 373.1 277.7 366.5 280.7 359.5 283.4 352.2 285.7 344.5 287.7 336.4 289.4 327.8 290.7 A1.3 1.3 0 0 1 328.2 293.3 L328.2 293.3 336.8 292.1 345.1 290.6 353 288.7 360.6 286.4 367.8 283.8 374.6 280.9 381.1 277.7 387.3 274.1 393.1 270.3 398.6 266.2 403.9 261.8 408.8 257.1 413.4 252.1 417.7 247 421.7 241.5 425.4 235.9 428.9 230 432.1 224 435 217.7 437.7 211.2 440.2 204.6 442.4 197.9 444.4 190.9 446.2 183.9 447.8 176.7 449.2 169.4 450.4 161.9 451.5 154.4 A3.5 3.5 0 0 1 444.5 153.6Z" fill="#03B5BD"/>
12
+ <path d="M335.2 285.1L328 292L336.7 297" fill="none" stroke="#03B5BD" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
13
+ <path d="M254 288.5 253.2 288.6 251.7 288.7 249.6 288.7 247 288.8 243.8 288.9 240.1 289 236 289.1 231.6 289.1 226.8 289.2 221.8 289.3 216.6 289.4 211.2 289.4 205.8 289.5 200.2 289.6 194.7 289.7 189.3 289.8 184 289.8 178.8 289.9 173.9 290 169.2 290.1 164.8 290.1 160.9 290.2 157.3 290.3 154.3 290.4 151.8 290.5 149.9 290.5 148.6 290.6 148 290.7 A1.3 1.3 0 0 1 148 293.3 L148 293.3 148.6 293.4 149.9 293.5 151.8 293.5 154.3 293.6 157.3 293.7 160.9 293.8 164.8 293.9 169.2 293.9 173.9 294 178.8 294.1 184 294.2 189.3 294.2 194.7 294.3 200.2 294.4 205.8 294.5 211.2 294.6 216.6 294.6 221.8 294.7 226.8 294.8 231.6 294.9 236 294.9 240.1 295 243.8 295.1 247 295.2 249.6 295.3 251.7 295.3 253.2 295.4 254 295.5 A3.5 3.5 0 0 1 254 288.5Z" fill="#03B5BD"/>
14
+ <path d="M156 286L148 292L156 298" fill="none" stroke="#03B5BD" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"/>
15
+ <ellipse cx="110" cy="146.0" rx="32.0" ry="3.5" fill="#BCC5CA" opacity="0.55"/>
16
+ <ellipse cx="290" cy="146.0" rx="32.0" ry="3.5" fill="#BCC5CA" opacity="0.55"/>
17
+ <ellipse cx="290" cy="326.0" rx="32.0" ry="3.5" fill="#BCC5CA" opacity="0.55"/>
18
+ <ellipse cx="110" cy="326.0" rx="32.0" ry="3.5" fill="#BCC5CA" opacity="0.55"/>
19
+ <ellipse cx="470" cy="150" rx="38" ry="4" fill="#BCC5CA" opacity="0.55"/>
20
+ <rect x="82" y="84" width="56" height="56" rx="11.2" fill="#212E34"/>
21
+ <path d="M101 107a12 12 0 0 0 16 16z" fill="#03B5BD"/><path d="M108 115l7-7" stroke="#03B5BD" stroke-width="2.4" stroke-linecap="round"/><path d="M113 100a10 10 0 0 1 10 10" fill="none" stroke="#03B5BD" stroke-width="2.4" stroke-linecap="round"/>
22
+ <rect x="262" y="84" width="56" height="56" rx="11.2" fill="#212E34"/>
23
+ <circle cx="284" cy="112" r="5.5" fill="#03B5BD"/><g fill="none" stroke="#03B5BD" stroke-width="3" stroke-linecap="round"><path d="M292 103a12 12 0 0 1 0 18"/><path d="M299 97a20 20 0 0 1 0 30"/></g>
24
+ <use href="#jack" x="438" y="80" width="64" height="64"/>
25
+ <rect x="262" y="264" width="56" height="56" rx="11.2" fill="#212E34"/>
26
+ <circle cx="290" cy="285" r="7.5" fill="#FAF9F8"/><path d="M277 308a13 12 0 0 1 26 0z" fill="#FAF9F8"/>
27
+ <rect x="82" y="264" width="56" height="56" rx="11.2" fill="#212E34"/><circle cx="110" cy="292" r="10.6" fill="#03B5BD"/>
28
+ <rect x="620" y="74.0" width="290" height="76" rx="12" fill="#FFFFFF" stroke="#DDE2E4" stroke-width="1.5"/>
29
+ <text x="638" y="102" class="s" font-size="14" fill="#212E34" font-weight="700">Waiting for you</text>
30
+ <text x="638" y="126" class="m" font-size="13" fill="#4A4E51">Error log · Checkout: …</text>
31
+ <text x="892" y="126" class="m" font-size="13" fill="#9A5A00" font-weight="700" text-anchor="end">[ask]</text>
32
+ <text x="110" y="164" class="s" font-size="15" fill="#212E34" font-weight="700" text-anchor="middle">Source</text>
33
+ <text x="110" y="182" class="s" font-size="12.5" fill="#4A4E51" text-anchor="middle">ticket, error log,</text>
34
+ <text x="110" y="199" class="s" font-size="12.5" fill="#4A4E51" text-anchor="middle">status page</text>
35
+ <text x="290" y="164" class="m" font-size="14" fill="#212E34" font-weight="700" text-anchor="middle">jh watch</text>
36
+ <text x="470" y="174" class="s" font-size="15" fill="#212E34" font-weight="700" text-anchor="middle">Jack</text>
37
+ <text x="290" y="344" class="s" font-size="15" fill="#212E34" font-weight="700" text-anchor="middle">You</text>
38
+ <text x="110" y="344" class="s" font-size="15" fill="#212E34" font-weight="700" text-anchor="middle">Lane</text>
39
+ <text x="200" y="90" class="s" font-size="12.5" fill="#4A4E51" text-anchor="middle">new or changed</text>
40
+ <text x="200" y="106" class="s" font-size="12.5" fill="#4A4E51" text-anchor="middle">entry</text>
41
+ <text x="380" y="90" class="m" font-size="12" fill="#4A4E51" text-anchor="middle">=== source …</text>
42
+ <text x="380" y="106" class="s" font-size="12.5" fill="#4A4E51" text-anchor="middle">report</text>
43
+ <text x="548" y="90" class="s" font-size="12.5" fill="#4A4E51" text-anchor="middle">board row,</text>
44
+ <text x="548" y="106" class="s" font-size="12.5" fill="#4A4E51" text-anchor="middle">origin = source</text>
45
+ <text x="660" y="252" class="m" font-size="13" fill="#9A5A00" font-weight="700" text-anchor="middle">[ask]</text>
46
+ <text x="425" y="236" class="s" font-size="12.5" fill="#4A4E51" text-anchor="end">asks you,</text>
47
+ <text x="200" y="278" class="s" font-size="12.5" fill="#4A4E51" text-anchor="middle">then a lane works it</text>
48
+ </svg>
@@ -1,6 +1,6 @@
1
1
  id = "crossdelta.jackherd"
2
2
  name = "jackherd"
3
- version = "1.11.0"
3
+ version = "1.11.1"
4
4
  min_herdr_version = "0.8.2"
5
5
  description = "Show the herd, the state of a board's lanes, in a herdr pane"
6
6
  platforms = ["linux", "macos"]
package/install.sh CHANGED
@@ -9,7 +9,7 @@ set -eu
9
9
 
10
10
  # The default is the version this file ships with. The release bump changes it together with
11
11
  # package.json; install.test.ts fails while the two differ. Overridable, but only by a plain release.
12
- JACKHERD_VERSION="${JACKHERD_VERSION:-1.11.0}"
12
+ JACKHERD_VERSION="${JACKHERD_VERSION:-1.11.1}"
13
13
 
14
14
  JACKHERD_PACKAGE='jackherd'
15
15
  # Test seam: the terminal the wizard asks its questions on.
@@ -248,7 +248,7 @@ On wake-up:
248
248
  | `checks passed #<n>` | One line to the user: ready to merge, with the board's merge order |
249
249
  | `deploy …` | Result and target as the run states them, to the user; a target `unknown (…)` is reported as unknown, never guessed. A failed run goes to the user as an `AskUserQuestion`: read the logs now or later |
250
250
  | `due <when> · <action>` | An open appointment fell due (**An agreed time**, below); the action is cut to 160 characters, the board row holds it whole. Carry it out as agreed, under the approvals it needs (§ 5), then write the outcome into its status cell in the same turn |
251
- | `heartbeat` | One line of status to the user, also when nothing changed; a resting lane carries `waits on: <question>, <n> open questions` from its report, and `for you (<n>): …` names what still waits on the user (**Anything that waits on the user's answer**, below): remind the user of those items in that line |
251
+ | `heartbeat` | One line of status to the user, also when nothing changed; a resting lane carries `waits on: <question>, <n> open questions` from its report, and `for you (<n>): …` names what still waits on the user (**Anything that waits on the user's answer**, below): the `for you` part of that line is the count only (`3 wait for you, see the herd`, in the language of the replies); the herd shows the items, and no reply of yours ends with a list of the rows of the board section |
252
252
  | `gh unavailable` | Tell the user once; herdr watching continues |
253
253
  | `lane <name> warn` | One line to the user: the lane's fill and that it hands over at a phase boundary if it rises further; no step in the lane |
254
254
  | `lane <name> alert` | § 8: send the lane once the request for its hand-over at the end of its current phase |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jackherd",
3
- "version": "1.11.0",
3
+ "version": "1.11.1",
4
4
  "keywords": [
5
5
  "claude-code",
6
6
  "coding-agents",
@@ -50,7 +50,6 @@
50
50
  "!docs/gen",
51
51
  "assets",
52
52
  "!assets/icons/build.ts",
53
- "!assets/icons/version.ts",
54
53
  "!assets/branding/outline.ts",
55
54
  "recipes",
56
55
  "README.md",
@@ -68,6 +67,7 @@
68
67
  "dev": "tsup --watch",
69
68
  "clean": "rm -rf dist",
70
69
  "gen": "bun scripts/generate-schema.ts",
70
+ "pin:assets": "bun scripts/pin-readme-assets.ts --write",
71
71
  "lint": "biome check .",
72
72
  "format": "biome format --write .",
73
73
  "test": "bun test"