Hive
feat(specs): MDEx body rendering, RFC statuses, and quick-mark menu
GitHub issue · Closed
Source
tuist/hive #24
Updated
Jun 24, 2026
Domains
Hive
Summary
- Rich markdown rendering. Replaces the hand-rolled markdown renderer in
HiveWeb.Markdownwith MDEx and Lumis syntax highlighting. Spec bodies now get GFM (tables, autolinks, strikethrough, tasklists),github_light-themed fenced code blocks, GitHub-style admonitions (> [!NOTE]/> [!TIP]/> [!IMPORTANT]/> [!WARNING]/> [!CAUTION]) styled as Noora-shaped callouts, and a downshifted heading pass so#in the body never collides with the page<h1>. The spec-body CSS rework swaps flex-gap for real margins so headings, paragraphs, lists, code blocks, and tables breathe. - Richer RFC status set. Renames
:accepted → :approvedand adds:pausedand:rejected. New migration rewrites existing rows inspecsandspec_revisions;Specs.list_specs/1and the status badge colors pick up the new values (rejected → destructive, paused → attention). - Quick-mark status menu. Adds a Noora dropdown to the spec show header (next to Edit) that lets editors flip status without opening the edit form. The handler routes through
Specs.update_spec/3so every status flip writes aHive.Specs.Revision, surfaced under the existing “Draft history” card with the auto-generated summary (“This revision moved the status from Approved to Paused”). - Filter URL fix. The specs index used to inject a default draft filter whenever the query params were absent, which left the URL bar bare even though a filter chip was shown and made the chip’s trash button no-op (the chip reappeared immediately). Drops the default-fill and has the sidebar link carry the draft filter explicitly so navigation and removal both round-trip through the URL.
- Seeds. Adds two new specs to
priv/repo/seeds.exsso every status is reachable from a fresh seed: apaused“Spec activity feed” spec with a rich body (Elixir + JSON code blocks, ordered/unordered lists, a GFM table,[!IMPORTANT]and[!TIP]callouts, internal links), and a shorterrejected“Auto-generate specs from forage with an LLM” spec with a[!CAUTION]callout.
Testing
mix test(283 tests, 0 failures)mix formatmix credo --strict(pre-existing issues only — no new findings introduced by this branch)mix compile --warnings-as-errorsmix assets.buildmix ecto.migrate && mix run priv/repo/seeds.exs(verified six specs land covering every status)
Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.
New Flights are paused
Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet
Start a Flight and preserve its objective, outcome, and session here.
No GitHub comments yet.