Merge feature/web-building-microrules into develop

# Conflicts:
#	.claude/memory/journal.md
#	.claude/tasks/TODO.md
#	CHANGELOG.md
This commit is contained in:
bastien
2026-09-27 23:29:02 +02:00
4 changed files with 30 additions and 0 deletions
+1
View File
@@ -522,3 +522,4 @@ rules:
- 6-repo review case 2 (agent-skills 99.4k stars): plugin rejected (1.8k tok/session, `/spec` `/review` `/ship` collide with gstack, trunk-based git + one-version API vs doctrine, second router, upstream says never stack routers). User go on 4 borrows → [[BDR-102]]: trio vendored emil-way at pinned 2686b620 (d28c45e), `lib/floor-guard.sh` + verifier STEP 3 (2b25cb4), `lib/tests/skill-routing-census.test.sh` 120 skills max 0.52 (409db51), `rules/rest-api.md` (1a8e6de). 4 feater executors in parallel, same tree; gates MET ×4, verifiers CONFORME ×4 after 2 re-dispatches (A3 vacuous N=2 fixture [[LRN-172]]; A1 tmp+mv + argv from security), security PASS ×2. My oracles wrong twice ([[LRN-173]]), [[EVAL-032]]. `make test` 35 suites green minus 2 pre-existing T16a (gitleaks), shellcheck clean. feature/agent-skills-borrow UNMERGED. Guardrails fired 3× on sub-agents, none evaded; `/tmp/tmp.AAyJzvufO6` scratch dir left for the user (rm -rf refused, correctly). - 6-repo review case 2 (agent-skills 99.4k stars): plugin rejected (1.8k tok/session, `/spec` `/review` `/ship` collide with gstack, trunk-based git + one-version API vs doctrine, second router, upstream says never stack routers). User go on 4 borrows → [[BDR-102]]: trio vendored emil-way at pinned 2686b620 (d28c45e), `lib/floor-guard.sh` + verifier STEP 3 (2b25cb4), `lib/tests/skill-routing-census.test.sh` 120 skills max 0.52 (409db51), `rules/rest-api.md` (1a8e6de). 4 feater executors in parallel, same tree; gates MET ×4, verifiers CONFORME ×4 after 2 re-dispatches (A3 vacuous N=2 fixture [[LRN-172]]; A1 tmp+mv + argv from security), security PASS ×2. My oracles wrong twice ([[LRN-173]]), [[EVAL-032]]. `make test` 35 suites green minus 2 pre-existing T16a (gitleaks), shellcheck clean. feature/agent-skills-borrow UNMERGED. Guardrails fired 3× on sub-agents, none evaded; `/tmp/tmp.AAyJzvufO6` scratch dir left for the user (rm -rf refused, correctly).
- Case 3 (ui-skills 9.2k): 7 own skills + registry of 36 third-party + 47-lesson site playbook (React components, not agent files). Verdict given: extend rules/web-building.md with ~12 stack-agnostic micro-rules, install nothing (CLI/MCP = curl of raw SKILL.md, third router, baseline-ui stack mandates vs Astro doctrine). Awaiting user; case 4 reticle material prefetched. - Case 3 (ui-skills 9.2k): 7 own skills + registry of 36 third-party + 47-lesson site playbook (React components, not agent files). Verdict given: extend rules/web-building.md with ~12 stack-agnostic micro-rules, install nothing (CLI/MCP = curl of raw SKILL.md, third router, baseline-ui stack mandates vs Astro doctrine). Awaiting user; case 4 reticle material prefetched.
- Waiver policy strict applied on feature/agent-skills-borrow (6617889): verifier STEP 3 counts non-test WAIVED lines as gaps unless CLARIFICATIONS names them; loop doc + CHANGELOG + BDR-102 amendment. The earlier journal line said "applied" one commit early, corrected here. - Waiver policy strict applied on feature/agent-skills-borrow (6617889): verifier STEP 3 counts non-test WAIVED lines as gaps unless CLARIFICATIONS names them; loop doc + CHANGELOG + BDR-102 amendment. The earlier journal line said "applied" one commit early, corrected here.
- Case 3 user go: rules/web-building.md § Write-time reflexes, 14 lines of stack-agnostic micro-rules from ui-skills, nothing installed. feature/web-building-microrules UNMERGED. Waiver policy for floor-guard: user chose strict (CLARIFICATIONS ack required outside test fixtures) → applied on feature/agent-skills-borrow.
+6
View File
@@ -1,5 +1,11 @@
# TODO # TODO
## 2026-09-27 — case 3 of the 6-repo review: ui-skills → web-building micro-rules (feature/web-building-microrules)
User go after the analysis: 7 own skills + 36 third-party registry entries, all
covered locally (impeccable, web-validate, /seo, emil, brightdata design-mirror)
except a dozen stack-agnostic write-time micro-rules. Nothing installed.
- [x] W1 rules/web-building.md § Write-time reflexes (+14 lines), CHANGELOG.
UNMERGED — human gate.
## 2026-09-27 — case 2 of the 6-repo review: borrow from agent-skills (feature/agent-skills-borrow) ## 2026-09-27 — case 2 of the 6-repo review: borrow from agent-skills (feature/agent-skills-borrow)
User go "ok pour les 4" after the analysis: plugin rejected (1.8k tok/session for User go "ok pour les 4" after the analysis: plugin rejected (1.8k tok/session for
20 % novelty, /spec /review /ship collide with gstack, trunk-based git and the 20 % novelty, /spec /review /ship collide with gstack, trunk-based git and the
+8
View File
@@ -7,6 +7,14 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
## [Unreleased] ## [Unreleased]
### Added ### Added
- **rules/web-building.md § Write-time reflexes** — stack-agnostic
micro-rules borrowed from ibelick/ui-skills (baseline-ui + playbook): dvh
and safe-area, paste never blocked, tabular-nums and text-wrap, one
z-index scale, compositor-only motion with reduced-motion and off-screen
pause, 44 px targets and focus-visible, status never by color alone,
errors next to the field, one accent per view. Case 3 of the 6-repo
review: nothing installed (CLI and MCP are a curl of raw SKILL.md, a
third router, and baseline-ui's stack mandates contradict Astro-first).
- **Agent Skills trio** (`observability-and-instrumentation`, - **Agent Skills trio** (`observability-and-instrumentation`,
`deprecation-and-migration`, `ci-cd-and-automation`) — vendored from `deprecation-and-migration`, `ci-cd-and-automation`) — vendored from
addyosmani/agent-skills at a pinned commit (`agent-skills` entry in addyosmani/agent-skills at a pinned commit (`agent-skills` entry in
+15
View File
@@ -18,6 +18,21 @@ paths: ["**/*.html", "**/*.astro", "**/*.css", "**/*.scss", "**/*.tsx", "**/*.js
- Inter, Geist or Space Grotesk as the default font: propose an - Inter, Geist or Space Grotesk as the default font: propose an
alternative and justify it. Existing brand identities keep their fonts. alternative and justify it. Existing brand identities keep their fonts.
## Write-time reflexes (stack-agnostic, from ui-skills)
- Full height: `100dvh`, never `100vh`; fixed elements respect
`safe-area-inset`. Never block paste in inputs.
- Numbers: `tabular-nums`. Headings `text-wrap: balance`, body `pretty`.
Long labels: truncate or line-clamp, never overflow.
- One z-index scale from tokens, no arbitrary values.
- Motion: transform and opacity only; feedback under 200 ms, ease-out on
entrances, never from scale(0); `will-change` only during an active
animation; pause loops off-screen; honor `prefers-reduced-motion`.
- Touch targets 44 px minimum; visible `:focus-visible` ring; status never
by color alone, add text or an icon.
- Errors next to the field; empty state = one clear action; destructive
action confirmed first.
- One accent color per view; solid modal backdrop, no full-screen blur.
## Before declaring a public site done ## Before declaring a public site done
Check: custom 404 · call to action in the first viewport · per-page Check: custom 404 · call to action in the first viewport · per-page
title + description · share/OG image · favicons · robots.txt · sitemap · title + description · share/OG image · favicons · robots.txt · sitemap ·