main · last commit
18 hours ago ·
8tmadfpi
spec-h9b Add css preflight checks and a scripts layout block to specs
Lined Up
bd update spec-h9b --claim
bd close spec-h9b
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-08-17T20:40:14Z |
| Updated | 2026-08-17T20:40:14Z |
What is wrong (two of the register's five-item spelling-drift bundle apply to specs): (1) specs' `Makefile` has no `css` preflight checks — no `command -v sassc`, no `command -v minify`, no `[ -f $(ASSETS)/scss/base.scss ]` guard — so a missing `base.scss` surfaces only as sassc's one-line import complaint instead of a message naming the package to install. (2) specs' page layout exposes a `{{block "head"}}` seam but not a `{{block "scripts"}}` seam, so a page in specs that needs to add a `<script>` tag has to edit the shared layout instead of overriding a block — the thing the seam exists to prevent.
Why it matters: both are small but compounding — (1) turns a one-line "install sassc" fix into a debugging session for the next contributor without the shared build tools already installed; (2) means the layout keeps growing ad hoc edits every time a page needs a script, instead of staying stable.
Sibling that does it correctly: (1) `sourcehut-bench`, `sourcehut-compare`, `sourcehut-coverage` and `sourcehut-curator` all have the three preflight checks in their `css` recipe with install-hint error messages. (2) siblings that expose both `{{block "head"}}` and `{{block "scripts"}}` in their base layout template.
Fix: (1) add the three preflight checks to specs' `Makefile` `css` recipe, copying the error-message wording from bench/curator. (2) add a `{{block "scripts"}}{{end}}` seam to specs' base layout template alongside the existing `head` block.
Audit: D46 (cross-repo audit, 2026-08-17)
No outgoing dependencies.
Nothing depends on this issue.
| id | spec-h9b |
| content_hash | 6198eb998862ce7a1032b118872b3b451b1174c38b5b4785c8dde513a73ee795 |
| title | Add css preflight checks and a scripts layout block to specs |
| description | What is wrong (two of the register's five-item spelling-drift bundle apply to specs): (1) specs' `Makefile` has no `css` preflight checks — no `command -v sassc`, no `command -v minify`, no `[ -f $(ASSETS)/scss/base.scss ]` guard — so a missing `base.scss` surfaces only as sassc's one-line import complaint instead of a message naming the package to install. (2) specs' page layout exposes a `{{block "head"}}` seam but not a `{{block "scripts"}}` seam, so a page in specs that needs to add a `<script>` tag has to edit the shared layout instead of overriding a block — the thing the seam exists to prevent. Why it matters: both are small but compounding — (1) turns a one-line "install sassc" fix into a debugging session for the next contributor without the shared build tools already installed; (2) means the layout keeps growing ad hoc edits every time a page needs a script, instead of staying stable. Sibling that does it correctly: (1) `sourcehut-bench`, `sourcehut-compare`, `sourcehut-coverage` and `sourcehut-curator` all have the three preflight checks in their `css` recipe with install-hint error messages. (2) siblings that expose both `{{block "head"}}` and `{{block "scripts"}}` in their base layout template. Fix: (1) add the three preflight checks to specs' `Makefile` `css` recipe, copying the error-message wording from bench/curator. (2) add a `{{block "scripts"}}{{end}}` seam to specs' base layout template alongside the existing `head` block. Audit: D46 (cross-repo audit, 2026-08-17) |
| design | |
| acceptance_criteria | |
| notes | |
| status | open |
| priority | 3 |
| issue_type | task |
| assignee | NULL |
| estimated_minutes | NULL |
| created_at | 2026-08-17T20:40:14Z |
| created_by | Eugene Blikh |
| owner | bigbes@gmail.com |
| updated_at | 2026-08-17T20:40:14Z |
| closed_at | NULL |
| closed_by_session | |
| external_ref | NULL |
| spec_id | |
| compaction_level | 0 |
| compacted_at | NULL |
| compacted_at_commit | NULL |
| original_size | NULL |
| sender | |
| ephemeral | 0 |
| wisp_type | |
| pinned | 0 |
| is_template | 0 |
| mol_type | |
| work_type | |
| source_system | |
| metadata | �{} |
| source_repo | |
| close_reason | |
| event_kind | |
| actor | |
| target | |
| payload | |
| await_type | |
| await_id | |
| timeout_ns | 0 |
| waiters | |
| hook_bead | |
| role_bead | |
| agent_state | |
| last_activity | NULL |
| role_type | |
| rig | |
| due_at | NULL |
| defer_until | NULL |
| no_history | 0 |
| started_at | NULL |
| is_blocked | 0 |
| id | 01a01174-0f6a-7bcb-90ac-1699a7fb92c9 |
| issue_id | spec-h9b |
| event_type | created |
| actor | Eugene Blikh |
| old_value | |
| new_value | |
| comment | NULL |
| created_at | 2026-08-17T23:40:13Z |
No comments.