dev → main: the design system, governance decisions 4 and 10, the merge in History - #478
Merged
Merged
Conversation
main → dev after #443
…cision 4 revised) (#446) Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…as tall as the colour well (#445) * A square sits a touch inside the circle, and the shape picker stands as tall as the colour well Signed-off-by: WaylandYang <wayland0916@gmail.com> * The colour well slims down, and a Segmented's labels read as text until one is selected Signed-off-by: WaylandYang <wayland0916@gmail.com> * Labels in a panel share one style, and so do the hints under them Signed-off-by: WaylandYang <wayland0916@gmail.com> * The class panel's body keeps one left edge, and its rows bleed into the gutter like the entity panel's Signed-off-by: WaylandYang <wayland0916@gmail.com> * A relationship row bleeds into the gutter too Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com>
…s, and neither carries a count (#449) Signed-off-by: WaylandYang <wayland0916@gmail.com>
…xl (#450) Signed-off-by: WaylandYang <wayland0916@gmail.com>
…ext-only row keeps the icon's slot (#451) Signed-off-by: WaylandYang <wayland0916@gmail.com>
Signed-off-by: WaylandYang <wayland0916@gmail.com>
Signed-off-by: WaylandYang <wayland0916@gmail.com>
Signed-off-by: WaylandYang <wayland0916@gmail.com>
… body (#455) Signed-off-by: WaylandYang <wayland0916@gmail.com>
Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ether it did (0025 decision 10) (#457) * The agent judges identity by the rules people use, and the truth set says whether it did Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Identity rules, second pass: acronyms, surnames, two-word tails, and a moot bucket in the score Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Identical names share one type label in the prompt, and a split on them gets a second look Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Only names of one family share a type label Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Record 0025, decision 10: identity rules, name shapes, type families and the labeled set Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The iteration table carries wall clock and loop calls Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
… it is working (#460) * The cluster the agent is deciding is locked, and the Review page says it is working Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * rustfmt on the governor test Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
* The governor decides three clusters at once Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * A plural is a word boundary in name shapes; decision 3 records the three-cluster round Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Fixes #456. Signed-off-by: WaylandYang <wayland0916@gmail.com>
* Secondary text clears the contrast line Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Four radius tiers, named by role Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * A panel is a slot for content Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The type scale moves up one step Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
* Recent conversations fold under their own heading Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * A document row's action gets its own column Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Text has two tones, not three Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The knowledge-base switcher finds and creates Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Every settings card saves only what it encloses Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The members list is a card with its own action bar Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Every page corner takes its role's radius Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
* The rail gives its rows the room it was keeping Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Settings read wider and the audit filter steps outside Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The alert panel closes from its own first row Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Three sizes that missed the new scale Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Models and deployment settings become cards too Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * An alert says its piece in fewer lines Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * An alert row lines up its left edge and dates itself on one line Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * An alert shows how heavy it is Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The alert panel keeps its bell and its footer Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The user menu folds back the same way Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…e rail (#468) * A token is issued from a dialog, and the page is its table Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * A page header's actions sit on the title's baseline Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Administration navigates from the rail, not a tab strip Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The new-token form says it in three rows Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
* Deactivated is a status on the user list, and new users come from a dialog Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * New knowledge base sits above the list and asks less Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The create-user dialog opens empty Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Adding an existing user is a dialog, not a second search box Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The concurrency numbers line up in one column Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Each administration section is titled by its own name Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * Creating a knowledge base lives where every member can reach it Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The user table filters by role and names its status column Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * A data source is registered field by field, and tested before it is saved Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The account pages read at the same width as administration Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> * The canvas writes in the same hand as the rest Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com> --------- Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Node and edge labels move onto the app's own scale and palette, a node's name becomes bare text until you look at it, and the last card stacks (data mapping, library, tokens, base settings) become rows in one panel. Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Entity merges had a clock since #337 but no reader: opening an entity showed the facts a merge invalidated, never the merge. `entity_history` now carries merged_in / merged_away / merge_reverted, with the other entity by name and the revert attributed from the audit trail rather than borrowed from the merge row. Signed-off-by: WaylandYang <wayland0916@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This was referenced Sep 10, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Twenty-two commits on dev since #443. Merge commit, as always for dev → main; DCO is red on this PR because it aggregates earlier commits, and the required checks are backend, web and migrations.
Design system
PageHeader(Every page titles itself with one PageHeader #452); the header's controls stand 32 tall (The header's controls all stand 32 tall #454); a rail row stands 32 tall with its icon in the text's colour (A rail row stands 32 tall with its icon in the text's colour, and a text-only row keeps the icon's slot #451, The area right of a rail fills it, and a form inside a card stops at xl #450); rail counts are chips and a zero is not written (Rail counts are chips, and a zero is not written #447); one anatomy for a collapsible row (A collapsible row has one anatomy: a chevron, a head, and an indented body #455); the class panel's two tabs (A class has two tabs, one for its relations and one for its attributes, and neither carries a count #449); the shape picker (A square sits a touch inside the circle, and the shape picker stands as tall as the colour well #445).Governance (0025)
scripts/bench/govern.mjs(decision 10, The agent judges identity by written rules, and a labeled set says whether it did (0025 decision 10) #457).Also
🤖 Generated with Claude Code