Basic Memory v0.21.6 first sync over the live memory dir (steward-authorized live-dir trial, Option A 2026-06-06): adds permalink: to frontmatter, refolds long YAML description lines, strips final newlines. Bodies untouched — verified via full diff classification. From this commit forward, any diff in claude/memory shows only what Basic Memory or the session writes. Trial design: MemPalace untouched as incumbent; git status check on this dir at every wrap; end-of-day evaluation (recall quality, sync robustness, rebuild-from-files, malformed-file behavior). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
71 lines
3.3 KiB
Markdown
71 lines
3.3 KiB
Markdown
---
|
|
name: ARC build pipeline — make rebuild required after SCSS partial edits
|
|
description: Hakyll only tracks scss/main.scss, not its @import-ed partials. After
|
|
editing any _*.scss partial, make build runs but SCSS doesn't recompile — site goes
|
|
out with stale CSS. Use make rebuild after partial edits.
|
|
type: feedback
|
|
originSessionId: a156edbb-0c3d-4285-b3ed-f5a45b8dda66
|
|
permalink: claude-memory/feedback-arc-make-rebuild-after-scss-partial-edits
|
|
---
|
|
|
|
# `make rebuild` — required after editing any SCSS partial
|
|
|
|
**Date observed:** 2026-05-05 (chamber-page polish session)
|
|
|
|
## The rule
|
|
|
|
After editing any `scss/AldineXXI/_*.scss` partial in ARC, run **`make rebuild`** rather than `make build`. Otherwise the site deploys with stale CSS (the SCSS won't be recompiled, only the markdown content pipeline will run).
|
|
|
|
## Why
|
|
|
|
`site.hs` rule for SCSS:
|
|
|
|
```haskell
|
|
match "scss/main.scss" $ do
|
|
route $ gsubRoute "scss/main" (const "assets/css/style") ...
|
|
compile $ getResourceString
|
|
>>= withItemBody (unixFilter "sass" ["--stdin", "--style=compressed", "--load-path=scss"])
|
|
```
|
|
|
|
Hakyll's incremental build only re-runs the `compile` for files matched in `match`. The `match "scss/main.scss"` matches **only `scss/main.scss`**, not any of the partials it imports (`_compass.scss`, `_layout.scss`, `_sidenotes.scss`, etc.).
|
|
|
|
When a partial changes, `main.scss` itself hasn't changed, so Hakyll skips SCSS recompilation entirely. The deploy proceeds with the previously-compiled `_site/assets/css/style.css`, and the new SCSS rules are silently absent from production.
|
|
|
|
## How to apply
|
|
|
|
| Edited file | Right command |
|
|
|---|---|
|
|
| `content/**/*.md` only | `make build` |
|
|
| `templates/*.html` only | `make build` |
|
|
| `site.hs` | `make rebuild` (already documented) |
|
|
| `scss/main.scss` | `make build` (Hakyll detects it) |
|
|
| **Any `scss/AldineXXI/_*.scss` partial** | **`make rebuild`** |
|
|
| Mixed (markdown + partial) | `make rebuild` |
|
|
|
|
When in doubt, `make rebuild`. The cost (a few extra seconds) is much lower than the cost of a silent stale-CSS deploy.
|
|
|
|
## Diagnostic
|
|
|
|
If a recent SCSS rule appears absent from the deployed site, check `_site/assets/css/style.css` mtime and content:
|
|
|
|
```bash
|
|
ls -la _site/assets/css/style.css # mtime should be recent
|
|
grep -c '<some new selector you added>' _site/assets/css/style.css # should be ≥ 1
|
|
```
|
|
|
|
If mtime is from before the partial edit OR the new selector isn't present, the rebuild was skipped. Run `make rebuild`.
|
|
|
|
## Possible upstream fix (deferred)
|
|
|
|
The cleanest long-term solution: change `site.hs` so Hakyll tracks SCSS partials as dependencies of `main.scss`. Hakyll has `makePatternDependency` and `match "scss/AldineXXI/*"` patterns that could express this. Out of scope for the moment — workaround (`make rebuild`) is sufficient. Worth flagging if the project CLAUDE.md gets a build-pipeline cleanup pass.
|
|
|
|
## Surface to CLAUDE.md
|
|
|
|
The project CLAUDE.md (`~/_Dev/animal-davidglidden-eu/CLAUDE.md`) currently says:
|
|
|
|
> ```
|
|
> make build # Standard build, auto-deploys to CloudFlare + GitHub mirror
|
|
> make rebuild # Clean rebuild, auto-deploys (use after site.hs changes)
|
|
> ```
|
|
|
|
The "use after site.hs changes" hint should extend to "use after `site.hs` or any SCSS partial changes." Steward to authorize the CLAUDE.md edit when convenient; until then this memory carries the rule. |