<!-- source: openspec/changes/apply-connected-stack-coordinate-grid/tasks.md -->

# Tasks — apply CAD coordinate-grid pattern to the connections section

> Branch: `feat/rap-1265/connected-stack-coordinate-grid`.
> First commit is prose-only (this change folder); code follows by phase.

## Phase 0 — Linear + branch

- [x] Create Linear issue `RAP-1265` (title from `proposal.md` H1, labels
      `Feature` + `design`, team `Rapoport Studio SLR` via Linear MCP).
- [x] Substitute `RAP-1265` across this change folder (`proposal.md`,
      `design.md`, `tasks.md`, `verification.md`, `deltas/*`).
- [x] Branch `feat/rap-1265/connected-stack-coordinate-grid` off `main`.

## Phase 1 — drop the change folder (prose-only commit)

- [ ] Copy `openspec/changes/apply-connected-stack-coordinate-grid/` (these four
      files + `deltas/`) into the repo.
- [ ] Confirm every row in `design.md § Repo reconciliation` against the live
      tree; adjust paths in the deltas if anything has moved.
- [ ] Commit: `spec(rap-1265): apply-connected-stack-coordinate-grid — proposal + design + tasks + verification`.

## Phase 2 — code (the placement)

- [ ] Open `apps/web/src/components/home/connected-stack.tsx`.
- [ ] **Edit 1:** prepend `relative` to the `<section>` className
      (`relative md:border-t md:border-grid py-16 md:py-32`).
- [ ] **Edit 2:** append the strip wrapper as the last child of `<section>`
      (after the CTA `<p>`), exactly as in `design.md § Placement spec`:
      - outer `<div aria-hidden className="pointer-events-none absolute inset-x-0 bottom-0 h-16 md:h-32 pattern-fade-top">`
      - inner `<div className="absolute inset-0 bg-pattern-cad text-blueprint opacity-70" />`
      - include the `P5 · RAP-1265` explanatory comment.
- [ ] Do **not** add the prototype's gradient-overlay fade. Do **not** put
      `pattern-fade-*` on the same element as `bg-pattern-cad`.
- [ ] No other edit to this file — no copy, layout, grid, or token change.
- [ ] Commit: `feat(rap-1265): CAD coordinate-grid background on the connections section`.

## Phase 3 — spec amendments (apply the deltas)

- [ ] **`current/home/blocks.md § Background patterns paint-map`** — apply
      `deltas/home-blocks-paint-map.md`:
      - header tally: "Two placements applied, eleven bare" → "Three placements
        applied, ten bare"; budget note "2/2" → "3/3".
      - Summary row 06 `connected-stack`: verdict `bare · already literal grid`
        → `**P5 · applied**`, pattern `.bg-pattern-cad · blueprint · normal · fade-top (wrapper)`.
      - replace the `#### 06 · connected-stack` bare-rationale subsection with
        the applied-placement block from the delta.
- [ ] **`current/design-components.md § Background patterns`** — apply
      `deltas/design-components-background-patterns.md`:
      - Density-budget table: `Patterns total · 2 per page` → `3 per page`;
        revise the rationale paragraph (spacing rule governs).
      - Fade section: add the **nested-wrapper CAD-fade** technique and revise
        the `bg-pattern-cad` row of the fade-compat matrix / the "drop opacity"
        line to cross-reference it.
      - (If `design-components.md` is not yet in `current/`, apply to the file
        that currently holds the budget table and the fade matrix; note the
        location in the PR body.)
- [ ] **`openspec/decisions.md`** — add short-form record **D-DS-9**: "Background
      pattern total-per-page budget raised 2 → 3; spacing rule (≥1 bare section
      between placements) is the governing constraint. Adds CAD nested-wrapper
      fade technique. Ref: change `apply-connected-stack-coordinate-grid`."
- [ ] Commit: `spec(rap-1265): paint-map + density-budget + D-DS-9 amendments`.

## Phase 4 — verify

- [ ] Run the full acceptance block in `verification.md`.
- [ ] `pnpm -F web typecheck` (or repo-standard) passes.
- [ ] `pnpm -F web build` passes; eyeball the home-route bundle delta = ~0
      (CSS-only placement, no new JS).
- [ ] `pnpm -F web dev`, hit `/`: CAD grid paints in the connections bottom
      padding, dense at the section's lower edge, fading up; crosshairs visible;
      no hard top edge; pattern never touches the CTA text; scroll is smooth.
- [ ] DevTools mobile emulation (<900px): strip present but contained in the
      64px padding, no text overlap.
- [ ] axe / VoiceOver sweep: the strip is `aria-hidden`, not announced.

## Phase 5 — PR

- [ ] Push branch; open PR.
- [ ] Title: `CAD coordinate-grid background for the connections section`
      (**no** `RAP-1265:` prefix — title prefix autocloses the Linear issue).
- [ ] Body references `RAP-1265` plainly (no `Closes` / `Fixes` / `Resolves`),
      and lists the deviations: budget raised 2→3 (D-DS-9), nested-wrapper CAD
      fade (not the same-element anti-pattern, not the prototype's gradient
      overlay), paint-map row 06 override rationale.

## Phase 6 — archive (separate PR, after merge)

- [ ] `git mv openspec/changes/apply-connected-stack-coordinate-grid \
      openspec/archive/2026-MM-DD-apply-connected-stack-coordinate-grid`.
- [ ] Confirm the `current/` spec amendments from Phase 3 are already merged
      (they are the durable record); archive carries only the change folder move.
