Skip to content

Position repo as starter template (supersedes #5)#7

Merged
adamlutz merged 1 commit into
mainfrom
docs/docs-template
May 20, 2026
Merged

Position repo as starter template (supersedes #5)#7
adamlutz merged 1 commit into
mainfrom
docs/docs-template

Conversation

@adamlutz

Copy link
Copy Markdown
Member

Re-scope of the original PR #5 (`docs/docs-001-template`) onto post-PR-#6 main. Same intent, new branch, new feature id under the new naming standard.

Why a new PR instead of rebasing #5

PR #5's branch is `docs/docs-001-template`. After PR #6 landed:

  1. The branch name violates the new regex (id segments must start with a letter; `001` starts with a digit → fails step 6 of `harness-ci-checks.sh`).
  2. The PR's feature_list.json edit is dead — `feature_list.json` was deleted in PR Features as a directory; drop the -NNN suffix #6.

Rebasing #5 would require renaming the branch + restructuring the diff anyway. Cheaper to redo cleanly on a properly-named branch off the new main. PR #5 should be closed with a pointer to this one.

Summary

  • `README.md` rewritten with: GitHub template callout, "What's included" section (harness subsystems + scaffolding + CI), "Conspicuously not included" section (no speculative `lib/`, no placeholder tests, no design system), and "First things to edit" for new template users.
  • `features/docs-template.json` — this feature, status `in_progress`.
  • `features/harness-features.json` — flipped to `done` at SHA `75ee682` (PR Features as a directory; drop the -NNN suffix #6 merge). The bookkeeping flip was missed at merge time; included here.
  • `PROGRESS.md` updated for the new state.

GitHub template flag

Already set during the original PR #5 work via `gh repo edit --template`. Confirmed: `gh repo view --json isTemplate` → `{"isTemplate": true}`. No action needed in this PR — the flag persists.

Verification

  • `npm run verify` → green (8 features — todo:3 in_progress:1 blocked:0 done:4)
  • `bash scripts/harness-ci-checks.sh` → all 6 invariants green on `docs/docs-template`
  • `gh repo view --json isTemplate` → `true`

🤖 Generated with Claude Code

Re-scope of the original docs-001 (PR #5) onto post-harness-features
main. PR #5's branch (docs/docs-001-template) failed the new
branch-name regex (id segments must start with a letter, not a digit
like 001). Cleanest path: fresh branch off new main with the same
intent.

WHAT'S IN HERE

- README rewritten with a "GitHub template — Use this template"
  callout, a "What's included" section enumerating the harness
  subsystems and scaffolding, a "Conspicuously not included" section
  (no speculative lib/__tests__/design-system), and a "First things
  to edit" walkthrough for new template users.
- features/docs-template.json — this feature, status in_progress.
- features/harness-features.json — flipped to done at SHA 75ee682
  (PR #6 merge). Bookkeeping was missed at merge time; fixed here.
- PROGRESS.md updated for the new state.

GITHUB TEMPLATE FLAG

Already set during the original PR #5 work via `gh repo edit
--template`. Confirmed: `gh repo view --json isTemplate` →
`{"isTemplate": true}`. Carrying forward — no action needed.

SUPERSEDES PR #5

PR #5 (docs/docs-001-template) is now obsolete:
  - its branch name violates the new naming standard
  - its feature_list.json change is dead (file deleted in PR #6)
  - its content is reproduced here on new main with the right shape
Close PR #5 with a pointer to this one; delete the old branch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@adamlutz adamlutz merged commit 2f58414 into main May 20, 2026
2 checks passed
adamlutz added a commit that referenced this pull request May 20, 2026
Per user direction: PROGRESS.md's only durable value (the next-best-step
pointer) is derivable from features/ — pick the highest-priority
in_progress feature, else the first todo. Everything else PROGRESS.md
tried to carry was duplicated elsewhere (status in features/, history
in git log, decisions in DECISIONS.md, per-branch context in PR
descriptions).

WHAT'S REMOVED
- PROGRESS.md (deleted)
- All references across AGENTS.md, CLAUDE.md, README.md, init.sh,
  docs/{HARNESS,SESSION,ARCHITECTURE}.md, scripts/check-clean-state.sh,
  scripts/harness-ci-checks.sh

WHAT'S NEW: CLOSE-BEFORE-MERGE CONVENTION
The in-flight feature's status is flipped to `done` in the LAST commit
on the branch BEFORE the merge, with `commitSha` set to that commit
(the latest implementation commit). The PR's merge then carries the
closed feature into main as part of its own diff. No follow-up
bookkeeping commit.

This is the harness's answer to the recurring post-merge bookkeeping
gap that bit ci-actions (PR #3), harness-features (PR #6), and
docs-template (PR #7) — three consecutive PRs, same shape, same fix
forgotten every time.

Documented in docs/SESSION.md → "The close-before-merge convention"
and surfaced in AGENTS.md's End-of-session steps. scripts/check-clean-state.sh
check 4 now warns if the in-flight feature is still in_progress
(soft warning — the work may legitimately not be ready to merge).

OTHER CHANGES
- init.sh: 7 steps → 6 (no PROGRESS tail at the end)
- scripts/harness-ci-checks.sh: 6 checks → 5 (dropped PROGRESS-has-Next-steps)
- scripts/check-clean-state.sh: check 4 reshaped to check feature status
- DECISIONS.md: replaced the 'trim PROGRESS.md' entry with the
  'remove PROGRESS.md' decision documenting the convention

NOTE ON THIS PR'S OWN CLOSE-BEFORE-MERGE
This commit is the implementation. The close-before-merge flip
happens in the next commit on this branch (referencing this commit's
SHA as commitSha).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant