diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/specs/2026-07-01-docs-lifecycle-spec.org | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/docs/specs/2026-07-01-docs-lifecycle-spec.org b/docs/specs/2026-07-01-docs-lifecycle-spec.org index 656df7f..16e1132 100644 --- a/docs/specs/2026-07-01-docs-lifecycle-spec.org +++ b/docs/specs/2026-07-01-docs-lifecycle-spec.org @@ -141,11 +141,13 @@ A synced helper, =spec-sort=, run once per project. *Canonical placement:* like *The startup nudge — concrete contract.* Phase A's parallel batch gains one read-only probe: #+begin_src bash -{ [ -d docs/design ] || compgen -G 'docs/*-spec.org' >/dev/null; } \ +{ [ -d docs/design ] || [ -n "$(find docs -maxdepth 1 -name '*-spec.org' -print -quit 2>/dev/null)" ]; } \ && ! grep -qs ':LAST_SPEC_SORT:' .ai/notes.org \ - && echo "spec-sort: unsorted docs present" + && echo "spec-sort: unsorted docs present" || true #+end_src +(Phase 4 refined the stray-root check from =compgen= to =find=: =compgen= is bash-only and zsh aborts on an unmatched glob, so the original snippet false-negatived on stray root specs under zsh.) + (The probe also fires on stray =docs/*-spec.org= root files, so a project whose only misfiled specs sit at the =docs/= root still gets nudged.) Phase C surfaces one line when the probe printed ("this project's docs pile has never been spec-sorted — say 'run spec-sort' to sort it") and stays silent otherwise. Projects with nothing to sort — no =docs/design/= and no stray root specs — never see it; a stamped marker permanently clears it. |
