Skip to content

Release Candidate 2026-07-09 20:09:51 +0900 - #63

Merged
sn0wm1ku merged 19 commits into
releasefrom
main
Jul 9, 2026
Merged

Release Candidate 2026-07-09 20:09:51 +0900#63
sn0wm1ku merged 19 commits into
releasefrom
main

Conversation

@github-actions

@github-actions github-actions Bot commented Apr 16, 2025

Copy link
Copy Markdown

@github-actions github-actions Bot changed the title Preparing release pull request... Release Candidate 2025-04-16 19:20:54 +0900 Apr 16, 2025
@github-actions github-actions Bot added the release-candidate Would only be set to a pull request from main to release. label Apr 16, 2025
sn0wm1ku and others added 15 commits July 9, 2026 14:18
Language-agnostic Style Guide plus per-language guides for TypeScript, Go, and
Python, in policy register (RFC 2119). Lead principle: Zero Runtime Errors;
followed by Functional Style, Design Principles & Separation of Responsibilities
(SRP, Separation of Concerns, Clean Architecture Dependency Rule, functional
Dependency Inversion, Ports & Adapters, CQS/CQRS), KISS/YAGNI, Error Handling,
and Formatting & Tooling.

Each rule is tagged 🌎 industry-standard or 🏠 house-rule and cites an
authoritative source (deep-research verified: Google TS/Python, Airbnb, PEP
8/484, Effective Go, Uber Go, tsconfig strict, Ruff, Martin, Cockburn, Dijkstra,
Evans, Fowler, Bernhardt, Seemann). Divergences (TS/Python Result types &
no-classes, Python mandatory hints) are flagged as deliberate house rules.

Filed under the handbook's Development Guide (nested Style Guide), following the
industry convention (Google/Airbnb/GitLab) of treating style guides as guides.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Pin pnpm@11.10.0 and add pnpm-lock.yaml + pnpm-workspace.yaml (allowBuilds:
  esbuild).
- Upgrade vitepress -> 2.0.0-alpha.18 and mermaid; brings vite 8 / rolldown,
  clearing every advisory pnpm audit previously reported (audit now clean).
- Fix invalid CSS in doc/.vitepress/theme/font.css (stray `;` after :root{})
  that vite 8's lightningcss rejects.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Editorial rewrite (wording/grammar, US English, terminology + structural
consistency) plus Google-style bad/good worked examples for the per-language
pages. Scope excludes new citations and any policy/level/tag change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ples

Editorial pass over the four Style Guide pages (ticket
rewrite-style-guide-wording-and-examples):

- Normalize to American English; copy-edit for grammar and clarity.
- Canonical terminology, applied across all four pages: "project code" (code we
  author), "the pure core" (the pure inner layer), "Result" (the failure value;
  glossary term "Result (Either)" kept only in bold-links), "the boundary" (the
  IO edge). "project code" and "the pure core" are kept distinct on purpose.
- Reconcile the §1 framing: eliminate avoidable runtime errors, make the
  unavoidable ones explicit (matches the "literal zero is impossible" rationale).
- Structural consistency: tag every section (fix Go "Interfaces" -> 🌎), add the
  missing Rationale to Python "Functional Style", align section names (Python
  "Formatting & Linting" -> "Formatting").
- Add a "How to read this guide" note to the hub (RFC 2119 levels, 🌎/🏠 tags,
  ❌/✅ example convention), single-sourced.
- Add Google-style bad/good (❌/✅) worked examples to the language pages: TS
  Total Types, Result, no-classes; Go errors-as-values; Python EAFP.

Scope: editorial only — no rule substance, RFC 2119 level, or 🌎/🏠 tag changed;
no new citations; slugs/H1s/config and all 14 glossary anchors preserved.

Quality Gate: `pnpm docs:build` passes (dead-link check). Named human review
pending on PR #73.

Archives ticket to .workaholic/tickets/archive/coding-convention/.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Follow the Google/Airbnb pattern of shipping config, layered like the Style
Guide: a language-agnostic base plus per-language configs.

- templates/.editorconfig — language-agnostic base (charset, EOL, indent, final
  newline, trailing whitespace, max_line_length = 100; Python indent 4; Go tabs).
- templates/.prettierrc.json — TypeScript/JS/Markdown (printWidth 100).
- templates/ruff.toml — Python (line-length 100).
- Go: none; gofmt is mandatory and unconfigurable.
- templates/README.md documents the layers and usage.

Line length is 100 across languages (gofmt excepted). Style Guide §6 now points
to templates/; the same files will be mirrored in osbrjp/standard-repository so
scaffolded repos inherit them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Added a new section for HTML & CSS Style Guide in the main style guide document.
- Updated the VitePress configuration to include a link to the HTML & CSS Style Guide.
- Revised the README to reflect the inclusion of HTML & CSS in the shared formatting configuration.
The pnpm adoption left CI on npm. run-tests.yml and release.yml used
setup-node cache: npm + npm ci + npm run docs:build, and package-lock.json
(vitepress 1.6.x) was still committed alongside pnpm-lock.yaml (2.0.0-alpha.18),
so npm ci would fail on the mismatch.

- Both workflows: add pnpm/action-setup, set setup-node cache: pnpm, run
  `pnpm install --frozen-lockfile` and `pnpm run docs:build`.
- Remove package-lock.json; pnpm-lock.yaml is the single lockfile.
- Bump all actions in these workflows to current majors: checkout v4->v7,
  setup-node v4->v6, pnpm/action-setup v6, github-script v6->v9,
  configure-pages v4->v6, upload-pages-artifact v3->v5, deploy-pages v4->v5,
  release-drafter v5->v7.

Verified: pnpm install --frozen-lockfile is in sync (what CI runs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Node 20 reached end-of-life on 2026-04-30. Bump the CI node-version in
run-tests.yml and release.yml to 24, the current Active LTS (supported until
2028-04).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add Coding Style Guide (TypeScript, Go, Python) + shared config templates
@github-actions github-actions Bot changed the title Release Candidate 2025-04-16 19:20:54 +0900 Release Candidate 2026-07-09 20:01:18 +0900 Jul 9, 2026
@sn0wm1ku
sn0wm1ku self-requested a review July 9, 2026 11:03
@github-actions github-actions Bot added the ci-testing Enable a GitHub Action for unit testing on a pull request. label Jul 9, 2026

@sn0wm1ku sn0wm1ku left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Release Candidate promoting main → release. Contents already reviewed and merged via #73 (Coding Style Guide + config templates + pnpm/VitePress toolchain).

@github-actions github-actions Bot changed the title Release Candidate 2026-07-09 20:01:18 +0900 Release Candidate 2026-07-09 20:09:51 +0900 Jul 9, 2026
@sn0wm1ku
sn0wm1ku merged commit 39252d4 into release Jul 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-testing Enable a GitHub Action for unit testing on a pull request. release-candidate Would only be set to a pull request from main to release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants