Skip to content

chore(rename)!: rename homun -> humanish#278

Merged
danielgwilson merged 3 commits into
mainfrom
chore/rename-humanish
Jul 12, 2026
Merged

chore(rename)!: rename homun -> humanish#278
danielgwilson merged 3 commits into
mainfrom
chore/rename-humanish

Conversation

@danielgwilson

Copy link
Copy Markdown
Owner

Closes #277.

Renames the project from homun to humanish across the entire public surface:

  • npm package homun -> humanish, bin homun -> humanish, humanish:* scripts, version -> 0.15.0
  • Schema IDs homun.*.v1 -> humanish.*.v1 (version suffixes unchanged; a rename is not a contract change)
  • HOMUN_* -> HUMANISH_* env vars and machine-readable error codes
  • .homun/ -> .humanish/ runtime dir, homun/ -> humanish/ workspace dir, doctor checks updated
  • Docs, README, skills, tmpdir prefixes, repo URLs

Deliberate exceptions:

  • LOCAL_TREE_DENYLIST_PATH_SEGMENTS keeps ".homun": packs must still exclude legacy runtime dirs in user trees.
  • Dated receipts under docs/goals/**/receipts/ keep historical names (rewriting dated records falsifies them).
  • No compat aliases: pre-1.0, no known external consumers, same clean-cut policy as 0a95656.

Verification:

  • pnpm check green: typecheck + 922 tests passed + build
  • pnpm public-surface:scan ok: 428 text files, 1 binary asset
  • first-run golden regenerated through the test's own code path (source digests legitimately change with renamed content); oss golden was rename-symmetric and untouched by hand

Follow-ups tracked in #277: GitHub repo rename, npm trusted publisher for humanish, publish 0.15.0, deprecate homun.

🤖 Generated with Claude Code

danielgwilson and others added 3 commits July 12, 2026 15:35
Project rename per #277: package name, bin, humanish:* scripts,
humanish.*.v1 schema IDs (version suffixes unchanged: a rename is not a
contract change), HUMANISH_* env vars and error codes, .humanish/ runtime
dir, humanish/ workspace dir, docs, skills, and repo URLs. Version bumped
to 0.15.0 for the first publish under the new name.

No compat aliases: pre-1.0, no known external consumers, same clean-cut
policy as the mimetic -> homun rename (0a95656).

Deliberate exceptions:
- LOCAL_TREE_DENYLIST_PATH_SEGMENTS keeps ".homun" so packs still exclude
  legacy runtime dirs found in user trees.
- Dated receipts under docs/goals/**/receipts/ keep historical names;
  rewriting dated records would falsify them.
- first-run golden regenerated (persona/scenario source digests shift with
  the renamed content); oss golden was rename-symmetric.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Retire the Observer hero screenshot: its pixels still showed branding
  from two renames ago. README drops the image (and its unpkg URL, which
  404s until 0.15.0 ships); the binary-asset allowlist is now empty; the
  release test no longer pins the asset. A rebranded capture returns via
  the tracking issue.
- Keep legacy .homun/ ignored in .gitignore alongside .humanish/, matching
  the source-archive denylist rationale: old checkouts still carry it and
  an add-all must not stage runtime artifacts.
- Fix the npx guidance fossil in README and the skill: the --package flag
  pins the binary to the registry package, it does not dodge "an unrelated
  package named humanish" (that sentence predates two renames).
- Move private-name patterns out of public-surface-scan source into the
  HUMANISH_PUBLIC_DENYLIST_PATTERN secret; plumb it through CI.
- Document the load-bearing first-publish order after a repo rename
  (rename repo -> point trusted publisher -> merge -> tag).
- Add .gitattributes (text=auto eol=lf) so byte-sensitive golden digests
  cannot flake on autocrlf checkouts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The first-run golden previously fingerprinted a 209-file-dirty capture
taken mid-rename. Both goldens now come from scripts/capture-lab-goldens.mjs
on the committed tree (git-state: clean, 0 changes).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@danielgwilson

Copy link
Copy Markdown
Owner Author

Pre-merge adversarial review (17 agents: 5 hostile lenses, every finding independently re-verified) confirmed 12 findings, 0 false positives. All addressed in the two follow-up commits:

  • Hero screenshot retired (was the one surface a string-replace rename cannot touch: its pixels predated two renames). Rebranded capture tracked in Capture a rebranded Observer hero screenshot for the README #279.
  • Legacy .homun/ stays gitignored alongside .humanish/, mirroring the source-archive denylist rationale, so old checkouts cannot stage runtime artifacts via add-all.
  • npx guidance fossil fixed in README + skill (the --package flag pins the binary to the registry package; the old sentence dated from when package and binary names differed).
  • Scan hardening: private-name patterns moved from scanner source to a CI secret; empty binary allowlist.
  • Release ordering documented: repo rename -> trusted publisher -> merge -> tag (OIDC binding is exact repo+workflow).
  • .gitattributes added so byte-sensitive golden digests cannot flake on autocrlf checkouts; goldens recaptured from a clean tree via the capture script.

Verification after fixes: pnpm release:check green locally (typecheck, 921 tests, public-surface scan over 429 files, skill check, pack dry-run).

@danielgwilson danielgwilson merged commit 93079ce into main Jul 12, 2026
3 checks passed
@danielgwilson danielgwilson deleted the chore/rename-humanish branch July 12, 2026 22:51
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.

Rename: homun -> humanish

1 participant