alunduil / alunduil/blog.alunduil.com
When delete-and-restart beats carrying-and-bending
- Dominant language
- Astro
- Stars
- 1
- Forks
- 1
- Avg merge
- 6h 34m
- Merged PRs (30d)
- 118
Description
## Spark
woodland-generators spent the first half of the 2026-05-04→2026-05-09 window finishing a year-in-the-making PDF parser refit (released as 0.3.0). Then [#210 "Pivot to FoundryVTT plugin: monorepo, retire PDF playbook source"](https://github.com/alunduil/woodland-generators/issues/210) was opened *and closed* in the same window: PDF source layer retired ([#267](https://github.com/alunduil/woodland-generators/pull/267)), character generation removed ([#290](https://github.com/alunduil/woodland-generators/pull/290)), repo split into `@woodland-generators/core` + `@woodland-generators/cli` ([#271](https://github.com/alunduil/woodland-generators/pull/271), [#278](https://github.com/alunduil/woodland-generators/pull/278)), 30+ Foundry-direction issues filed.
A year of PDF parser work into the fire, end-to-end in five days.
## Why it could be interesting
The activity is "I rewrote a hobby tool." The underlying claim worth a post: **the cost of carrying built-but-misaligned code is usually undercounted.** The PDF parser bent the architecture (it's why `core` and `cli` weren't split until now), advertised the wrong product to anyone landing on the repo (PDF tooling, not tabletop tooling), and gated the first useful integration (Foundry) behind a layer nothing else needed. Deleting was both the technically and strategically simpler move once Foundry became the destination.
The interesting question for the post isn't "should you ever sunk-cost-fallacy your way out of code" — it's: **what early signals tell you a code path is anchoring you to the wrong product, *before* you've spent another year on it?**
## Open questions
- [ ] What were the concrete signals that the PDF parser was the wrong abstraction (vs. just "I want to try Foundry")?
- [ ] Of the 0.3.0 refit work, how much transferred and how much was retroactively waste?
- [ ] How does "delete and restart" interact with semver and existing users? (woodland-generators had no users — different calculus from a published library.)
- [ ] Is this the same shape as Hakyll → AstroPaper for this blog, or a different one?
## Source material
- [woodland#210](https://github.com/alunduil/woodland-generators/issues/210) — Pivot tracking issue (opened+closed)
- [woodland#267](https://github.com/alunduil/woodland-generators/pull/267) — feat!: retire PDF playbook source layer
- [woodland#290](https://github.com/alunduil/woodland-generators/pull/290) — feat!: remove character generation and source packages
- [woodland#205](https://github.com/alunduil/woodland-generators/pull/205) — release 0.3.0 (the last version of the old shape)
- [woodland#264](https://github.com/alunduil/woodland-generators/pull/264) — Convert repo to pnpm workspaces
- [woodland#271](https://github.com/alunduil/woodland-generators/pull/271), [#278](https://github.com/alunduil/woodland-generators/pull/278) — Extract core, cli
- [woodland#286](https://github.com/alunduil/woodland-generators/pull/286), [#287](https://github.com/alunduil/woodland-generators/pull/287) — cli 1.0.0, core 1.0.0
- [Foundry-direction roadmap issues](https://github.com/alunduil/woodland-generators/issues?q=is%3Aissue+created%3A2026-05-04..2026-05-09) — 30+ filed
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.