Skip to content

Commit 9fa85cf

Browse files
docs: make the documentation site look like the product
Clicking "Read the user guide" landed readers in unmodified Infima: a fixed navy footer that matched neither light nor dark, saturated-blue everything, 6.4px corners and a heavier, looser type. The colours had already been ported; the rest had not. The footer now tracks the theme and carries the app footer's own sentence. Corners take the app's --radius, buttons its weight and size, headings its tracking. Infima's blue-grey emphasis scale is replaced by the app's zinc, which is what made table and pagination borders read bluer than every other border on the page. Code blocks are bordered like the app's, and dark mode drops Dracula's purple for a neutral theme. The navbar is flat with a border and an icon link, matching the app's own header. Homepage cards lose a rotated gradient wash and a 50px slate shadow for the flat, ringed treatment the app uses. The user guide is grouped Start here / Using Hephaestus / Optional features, rather than a "Getting Started" category whose second page was "Getting started". Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 1d3995c commit 9fa85cf

19 files changed

Lines changed: 209 additions & 321 deletions

.agents/skills/fix-ci/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ Each leg's annotation names its own command; this table is only what the annotat
6262

6363
| Failure | What it actually means |
6464
|---|---|
65-
| `routeTree.gen.ts is stale` | Only a Vite build writes it. `cd webapp && bun run build`, then commit the file. |
65+
| `routeTree.gen.ts is stale` | A Vite build writes it. `cd webapp && bun run build`, then commit the file. |
6666
| `README images are stale` | The storybook job runs `export:readme-assets` *after* `test:storybook`, so the job goes red having printed a clean pass line. Run `bun run --filter webapp export:readme-assets` and commit `docs/images/readme`. |
6767
| Migrations gate | A changelog that reached `main` was edited, renamed or deleted, or a `master.xml` `<include>` was not appended at the end. Fix forward with a new changeset; never edit the released file. |
68-
| `verify-changesets` | The PR touches shipped code with no `.changeset/*.md`. `/land-pr` step 9 has the rules. |
68+
| `verify-changesets` | The PR touches shipped code with no `.changeset/*.md`. `/land-pr` step 7 has the rules. |
6969
| App Server leg red on a docs-only PR | Expected, not a misconfiguration: `docs/**` is inside the `application-server` paths filter, because `docs:lint` and `check:diagrams` run on that leg. |
7070

7171
## 4. Reproduce locally before pushing

.agents/skills/land-pr/SKILL.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,10 @@ bun run db:draft-changelog # entities changed (needs Docker); then prune the
6262
bun run db:generate-erd-docs # after any changelog change
6363
```
6464

65-
`generate:api:application-server:specs` **exits 0 having written nothing** when a port it needs is
66-
busy — HTTP, management, or the JMX port it defaults to. Pass free ports; the exact invocation is in
67-
`server/AGENTS.md` § OpenAPI generation exits 0 having written nothing.
65+
`generate:api:application-server:specs` **fails when a port it needs is busy** — HTTP, management, or
66+
the JMX port it defaults to. It restores the previous spec rather than committing an empty one, so
67+
the cost is a wasted Maven cycle. Pass free ports; the exact invocation is in `server/AGENTS.md`
68+
§ OpenAPI generation ports.
6869

6970
## 5. Run the tests your diff can break
7071

.changeset/calm-practices-expand.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ while paused is never released by resuming. Proposals that nobody has decided re
1212
administrator to approve or reject after sending resumes.
1313

1414
When a review needs approval, the approval page now shows the exact summary and every inline comment
15-
as one package. One decision releases or rejects the whole review; automatically authorized findings
15+
as one package. One decision releases or rejects the whole review; automatically authorized observations
1616
in the same review wait for that decision instead of appearing early. After approval, the delivery
1717
page shows how many comments have reached the provider while safe retries finish the remainder.
1818

.changeset/compose-feedback-for-real-reviews.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
"hephaestus": minor
33
---
44

5-
Practice reviews deliver feedback again. A review measured a pull request, recorded what it found, and then stopped: the step that turns those findings into something a developer reads was never switched on, so every review ended with its results stored and nothing said. Reviews now compose feedback for each lane the occasion can reach — the note on the work, the developer's own practice pages, and an ongoing conversation — and issue reviews compose for the two longitudinal lanes, since an issue is not the work a note belongs on.
5+
Practice reviews deliver feedback again. A review measured a pull request, recorded what it found, and then stopped: the step that turns those observations into something a developer reads was never switched on, so every review ended with its results stored and nothing said. Reviews now compose feedback for each lane the occasion can reach — the note on the work, the developer's own practice pages, and an ongoing conversation — and issue reviews compose for the two longitudinal lanes, since an issue is not the work a note belongs on.
66

77
**Operators:** feedback now appears where it previously did not, so a workspace with review switched on begins posting again. Nothing new is required of you, and the instance-wide Silent Mode brake still holds everything back while it is engaged — but if you upgraded during the window where reviews were silent, this is the change that ends it.

.changeset/evidence-boundary-withholds-the-claim.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
"hephaestus": patch
33
---
44

5-
A review whose evidence check fails on one observation now delivers the others. The check that refuses to show a developer a claim it cannot trace back to the code applied to the whole review at once: one practice that mis-quoted its source — by a stray character, in a file the reader never sees — withheld every other finding in that review, including correct, fully evidenced ones. The developer saw nothing at all. Only a quote that does not match its source is treated this way; a citation to evidence the review never gathered still stops the whole delivery, as before. What was withheld is logged with the reason, and a review in which no claim can be verified still fails rather than arriving empty.
5+
A review whose evidence check fails on one observation now delivers the others. The check that refuses to show a developer a claim it cannot trace back to the code applied to the whole review at once: one practice that mis-quoted its source — by a stray character, in a file the reader never sees — withheld every other observation in that review, including correct, fully evidenced ones. The developer saw nothing at all. Only a quote that does not match its source is treated this way; a citation to evidence the review never gathered still stops the whole delivery, as before. What was withheld is logged with the reason, and a review in which no claim can be verified still fails rather than arriving empty.

.changeset/oxlint-replaces-biomes-linter.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Also fixed, all surfaced by a stricter type and lint gate across the whole codeb
1010

1111
- A review schedule saved with a time that had no minutes (`9` rather than `09:00`) stored no minute
1212
at all instead of falling back to the hour's start.
13-
- Audit-log entries and the curated-catalogue version panel printed `[object Object]` for any field
13+
- Audit-log entries and the instance catalog version panel printed `[object Object]` for any field
1414
whose value was not plain text.
1515
- A cookie-consent choice was read back from browser storage without checking it, so a corrupted
1616
entry could be treated as a decision.

.changeset/reviews-lead-with-what-matters.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
"hephaestus": patch
33
---
44

5-
A review comment now leads with its most serious finding and the one edit that fixes it, instead of leading with whichever finding happened to have no line number attached. Each finding says what to do before it says why it matters, and the reasoning is one sentence rather than the same paragraph on every review that touches the practice.
5+
A review comment now leads with its most serious point and the one edit that fixes it, instead of leading with whichever one happened to have no line number attached. Each point says what to do before it says why it matters, and the reasoning is one sentence rather than the same paragraph on every review that touches the practice.

.changeset/reviews-open-in-their-own-words.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
"hephaestus": patch
33
---
44

5-
A review comment now opens with a sentence written about your change, instead of one of a handful of fixed lines that read the same on every review — including on reviews that opened with praise ahead of a serious problem. When the review has nothing worth opening on, it opens on its first finding.
5+
A review comment now opens with a sentence written about your change, instead of one of a handful of fixed lines that read the same on every review — including on reviews that opened with praise ahead of a serious problem. When the review has nothing worth opening on, it opens on its first observation.

.changeset/version-banner-sits-inside-the-panel.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
"hephaestus": patch
33
---
44

5-
Fixes the "Uses Hephaestus default" notice in the instance practice catalogue running edge to edge while every field below it was indented. It now sits inside the panel like the rest of the content, and scrolls with it instead of holding a fixed strip at the top.
5+
Fixes the "Uses Hephaestus default" notice in the instance practice catalog running edge to edge while every field below it was indented. It now sits inside the panel like the rest of the content, and scrolls with it instead of holding a fixed strip at the top.

.claude/skills/fix-ci/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ Each leg's annotation names its own command; this table is only what the annotat
6262

6363
| Failure | What it actually means |
6464
|---|---|
65-
| `routeTree.gen.ts is stale` | Only a Vite build writes it. `cd webapp && bun run build`, then commit the file. |
65+
| `routeTree.gen.ts is stale` | A Vite build writes it. `cd webapp && bun run build`, then commit the file. |
6666
| `README images are stale` | The storybook job runs `export:readme-assets` *after* `test:storybook`, so the job goes red having printed a clean pass line. Run `bun run --filter webapp export:readme-assets` and commit `docs/images/readme`. |
6767
| Migrations gate | A changelog that reached `main` was edited, renamed or deleted, or a `master.xml` `<include>` was not appended at the end. Fix forward with a new changeset; never edit the released file. |
68-
| `verify-changesets` | The PR touches shipped code with no `.changeset/*.md`. `/land-pr` step 9 has the rules. |
68+
| `verify-changesets` | The PR touches shipped code with no `.changeset/*.md`. `/land-pr` step 7 has the rules. |
6969
| App Server leg red on a docs-only PR | Expected, not a misconfiguration: `docs/**` is inside the `application-server` paths filter, because `docs:lint` and `check:diagrams` run on that leg. |
7070

7171
## 4. Reproduce locally before pushing

0 commit comments

Comments
 (0)