feat: harden OAuth state secret validation, DCR file permissions, and policy defaults #17

Merged
Latte merged 2 commits from feat/retarget-claude-mcp into main 2026-06-14 12:17:38 +00:00
Owner
  • Enforce 32-char minimum on OAUTH_STATE_SECRET at startup (config.py)
  • Write DCR client registry with owner-only (0o600) permissions before atomic replace
  • Flip policy.yaml default write action from allow → deny
  • Add CLAUDE.md with architecture, commands, and AGENTS.md contract summary
  • Add .pre-commit-config.yaml mirroring make lint checks
  • Update .gitignore: add .venv, .claude, .mypy_cache, .ruff_cache, .coverage.*
  • Extend docs: audit log rotation guidance, OAUTH_STATE_SECRET and DCR_STORAGE_PATH notes
  • Tests: short-secret rejection, 32-char acceptance, POSIX permission check for DCR store

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

- Enforce 32-char minimum on OAUTH_STATE_SECRET at startup (config.py) - Write DCR client registry with owner-only (0o600) permissions before atomic replace - Flip policy.yaml default write action from allow → deny - Add CLAUDE.md with architecture, commands, and AGENTS.md contract summary - Add .pre-commit-config.yaml mirroring `make lint` checks - Update .gitignore: add .venv, .claude, .mypy_cache, .ruff_cache, .coverage.* - Extend docs: audit log rotation guidance, OAUTH_STATE_SECRET and DCR_STORAGE_PATH notes - Tests: short-secret rejection, 32-char acceptance, POSIX permission check for DCR store Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Latte added 1 commit 2026-06-14 12:14:15 +00:00
feat: harden OAuth state secret validation, DCR file permissions, and policy defaults
docker / test (pull_request) Successful in 24s
lint / lint (pull_request) Successful in 37s
lint / lint (push) Successful in 1m26s
test / test (push) Successful in 1m40s
test / test (pull_request) Successful in 34s
docker / lint (pull_request) Successful in 1m59s
docker / docker-test (pull_request) Successful in 14s
docker / docker-publish (pull_request) Has been skipped
b8217dce8a
- Enforce 32-char minimum on OAUTH_STATE_SECRET at startup (config.py)
- Write DCR client registry with owner-only (0o600) permissions before atomic replace
- Flip policy.yaml default write action from allow → deny
- Add CLAUDE.md with architecture, commands, and AGENTS.md contract summary
- Add .pre-commit-config.yaml mirroring `make lint` checks
- Update .gitignore: add .venv, .claude, .mypy_cache, .ruff_cache, .coverage.*
- Extend docs: audit log rotation guidance, OAUTH_STATE_SECRET and DCR_STORAGE_PATH notes
- Tests: short-secret rejection, 32-char acceptance, POSIX permission check for DCR store

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Latte added 1 commit 2026-06-14 12:14:22 +00:00
Merge branch 'main' into feat/retarget-claude-mcp
lint / lint (push) Successful in 39s
test / test (push) Successful in 37s
docker / lint (pull_request) Successful in 37s
docker / test (pull_request) Successful in 27s
docker / docker-test (pull_request) Successful in 11s
lint / lint (pull_request) Successful in 34s
test / test (pull_request) Successful in 32s
docker / docker-publish (pull_request) Has been skipped
6be5ac3608
Latte merged commit 90df37366f into main 2026-06-14 12:17:38 +00:00
Latte deleted branch feat/retarget-claude-mcp 2026-06-14 12:17:38 +00:00
Sign in to join this conversation.