Skip to content

Commit 97d071a

Browse files
emooreatxclaude
andcommitted
Fix indentation in wallet providers, add 2.4.0 changelog
- Fixed indentation error in coinbase_paymaster.py from comment addition - Added build-time secrets documentation to CLAUDE.md - Added 2.4.0 changelog entry 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent da55304 commit 97d071a

4 files changed

Lines changed: 31 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,23 @@ All notable changes to CIRIS Agent will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.4.0] - 2026-04-07
9+
10+
### Added
11+
12+
- **Bengali Localization** - Full Bengali (bn) language support across all localization files and backend validation
13+
- **Language Coverage Analysis** - New `localization/CLAUDE.md` with expansion roadmap and coverage analysis
14+
- **Localization Manifest** - Enhanced `localization/manifest.json` with per-language metadata (speaker counts, regions, script info)
15+
16+
### Fixed
17+
18+
- **Observer Login Scope** - Changed observer login blocking to only apply on mobile platforms (Android/iOS), allowing OBSERVER OAuth logins on standalone API servers where read-only access is valid
19+
- **HA Adapter Wizard** - Fixed 401 error during first-time Home Assistant adapter setup by checking session auth before requiring token
20+
21+
### Changed
22+
23+
- **Build-Time Secrets Documentation** - Added guidance in CLAUDE.md about `# type: ignore[import-not-found]` comments for generated files
24+
825
## [2.3.7] - 2026-04-06
926

1027
### Fixed

CLAUDE.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,18 @@ grep -r "class.*YourThingHere" --include="*.py"
190190
- Minimal Dict[str, Any] usage remaining, none in critical code paths
191191
- Run mypy as part of CI/CD pipeline
192192

193+
7. **Build-Time Generated Files**
194+
- Some files are generated at build time and not present in the repo/CI
195+
- These require `# type: ignore[import-not-found]` comments
196+
- **DO NOT REMOVE** these comments even if mypy reports "unused-ignore" locally
197+
- Examples:
198+
- `ciris_adapters/wallet/providers/_build_secrets.py` - Contains API keys/URLs injected at build time
199+
- Always add a comment explaining why the ignore is needed:
200+
```python
201+
# _build_secrets is generated at build time, not present in CI/repo
202+
from ._build_secrets import get_api_key # type: ignore[import-not-found]
203+
```
204+
193205
## CRITICAL: OAuth Callback URL Format
194206

195207
**PRODUCTION OAuth CALLBACK URL - DO NOT FORGET:**

ciris_adapters/wallet/providers/coinbase_paymaster.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ def __init__(self, config: CoinbasePaymasterConfig):
9191
def _load_build_time_secret(self) -> None:
9292
"""Load Coinbase paymaster URL from build-time secrets if available."""
9393
try:
94+
# _build_secrets is generated at build time, not present in CI/repo
9495
from ._build_secrets import get_coinbase_paymaster_url # type: ignore[import-not-found]
9596

9697
url: Optional[str] = get_coinbase_paymaster_url()

ciris_adapters/wallet/providers/x402_provider.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ def _get_arka_api_key(self) -> Optional[str]:
275275
"""
276276
# Try build-time secret first (Android release builds)
277277
try:
278+
# _build_secrets is generated at build time, not present in CI/repo
278279
from ._build_secrets import get_arka_api_key # type: ignore[import-not-found]
279280

280281
key: Optional[str] = get_arka_api_key()

0 commit comments

Comments
 (0)