Skip to content

Adopt TapHouse pre-commit hook and the tap::osc namespace#24

Merged
tap merged 2 commits into
mainfrom
claude/shared-code-submodule-strategy-rdel5d
Jul 21, 2026
Merged

Adopt TapHouse pre-commit hook and the tap::osc namespace#24
tap merged 2 commits into
mainfrom
claude/shared-code-submodule-strategy-rdel5d

Conversation

@tap

@tap tap commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Brings OscTap fully in line with the Tap family conventions, in two commits.

1. Add the canonical TapHouse pre-commit clang-format hook

OscTap already carried the canonical .clang-format and STYLE.md (the layout half) and runs a format-only CI gate. This adds the local pre-commit clang-format hook, completing the "adopt the rules" checklist.

The naming half stays deliberately exempt (readability-identifier-naming is off) — OscTap is a drop-in source-compatible continuation of oscpack, and that exemption is documented in TapHouse STYLE.md. The pre-commit hook is clang-format only, so it's fully compatible.

2. Adopt the tap::osc namespace, keeping osctap/oscpack as compat aliases

Migrates the library's canonical C++ namespace to tap::osc, per the family convention (tap::dsp, tap::ambi, …). Non-breaking — both former names are retained as namespace aliases:

namespace osctap  = tap::osc;   // the former modern name
namespace oscpack = tap::osc;   // the original oscpack name
  • Only the library headers under osctap/ move: 25 namespace blocks renamed, 64 internal osctap:: refs retargeted to tap::osc::.
  • The tests/examples that deliberately exercise the osctap::/oscpack:: aliases (with explicit "do not rename — this verifies the shim" comments) are left untouched — they now also cover the tap::osc indirection.
  • Include paths and the osctap/ directory are unchanged; the naming exemption is unaffected (namespace casing was never gated).

Verified: builds and all 9 tests pass on Linux; clang-format clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MRTDgYKY38WH8Bqz17W9k1


Generated by Claude Code

tap and others added 2 commits July 21, 2026 01:29
Completes OscTap's adoption of the Tap House Rules: it already carries the
canonical .clang-format and STYLE.md (layout half) and runs a format-only CI
gate. This adds the local pre-commit clang-format hook so staged C/C++ is
formatted before commit, matching the rest of the family.

The naming half stays deliberately exempt (readability-identifier-naming is
off) — OscTap is a drop-in source-compatible continuation of oscpack, and the
exemption is documented in TapHouse STYLE.md. The pre-commit hook is
clang-format only, so it is fully compatible with that exemption.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRTDgYKY38WH8Bqz17W9k1
Migrate the library's canonical C++ namespace to tap::osc, per the family
convention (tap::dsp, tap::ambi, …). Non-breaking: both former names are
retained as namespace aliases, so existing code on either spelling keeps
compiling —

    namespace osctap  = tap::osc;   // the former modern name
    namespace oscpack = tap::osc;   // the original oscpack name

Only the library headers under osctap/ move (25 namespace blocks; 64 internal
osctap:: references retargeted to tap::osc::). The tests and examples that
deliberately exercise the osctap::/oscpack:: aliases are left untouched — they
are the live verification that the shims still resolve, and now cover the
tap::osc indirection too. Include paths and the osctap/ directory are unchanged.

Verified: builds and all 9 tests pass on Linux; clang-format clean. The naming
exemption is unaffected (namespace casing was never gated).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRTDgYKY38WH8Bqz17W9k1
@tap
tap merged commit 470ef0e into main Jul 21, 2026
36 checks passed
@tap
tap deleted the claude/shared-code-submodule-strategy-rdel5d branch July 21, 2026 02:18
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