-
Notifications
You must be signed in to change notification settings - Fork 1
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: Aureliolo/synthorg
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.5.2
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: Aureliolo/synthorg
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.5.3
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 4 commits
- 200 files changed
- 2 contributors
Commits on Mar 31, 2026
-
chore: add allow_inf_nan=False to all remaining ConfigDict declaratio…
…ns (#943) ## Summary - Add `allow_inf_nan=False` to all 260 remaining `ConfigDict` declarations across 92 files in `src/synthorg/` - All 421 `ConfigDict` declarations in the codebase now consistently reject `NaN`/`Inf` in numeric fields at validation time - Defensive application to models without numeric fields guards against future float field additions ## Details PR #911 established the `allow_inf_nan=False` convention and applied it to `Task` and `AcceptanceCriterion`. This PR completes the rollout to all remaining models across: api/, budget/, communication/, config/, core/, engine/, hr/, memory/ (already done), observability/, persistence/, providers/, security/, settings/, templates/, and tools/. Four patterns were updated: - `ConfigDict(frozen=True)` (240 declarations) - `ConfigDict(frozen=True, extra="forbid")` (18 declarations) - `ConfigDict(frozen=True, arbitrary_types_allowed=True)` (1 declaration) - `ConfigDict(frozen=True, populate_by_name=True)` (1 declaration) ## Test plan - [x] `uv run ruff check src/ tests/` -- all checks passed - [x] `uv run ruff format src/ tests/` -- all files already formatted - [x] `uv run mypy src/ tests/` -- no issues in 1,250 files - [x] `uv run python -m pytest tests/ -n auto` -- 11,259 passed, 9 skipped - [x] Pre-commit and pre-push hooks passed Closes #913 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for cd7bbca - Browse repository at this point
Copy the full SHA cd7bbcaView commit details -
chore: audit full web dashboard for hardcoded design token violations (…
…#944) ## Summary - Audit all 49 `.tsx`/`.ts` files in `web/src/` for hardcoded design token violations across all 5 theme axes (color, density, typography, animation, sidebar) - Add `tweenExitFast` motion preset to `lib/motion.ts` for exit animations (easeIn acceleration) - Replace hardcoded Framer Motion `transition: { duration: N }` in 6 component files with presets from `@/lib/motion` - Replace hardcoded `px-4 py-2` with density-aware `p-card` on ~20 alert/error/warning banners - Replace hardcoded `p-3`/`p-4` with `p-card` on ~10 card containers (`bg-card` + border) - Replace hardcoded `space-y-6` with `space-y-section-gap` on ~27 page-level containers and skeletons - Add `check_hardcoded_framer_transitions` to `scripts/check_web_design_system.py` PostToolUse hook - Create `.claude/agents/design-token-audit.md` for ongoing theme token enforcement - Integrate `design-token-audit` agent into `/pre-pr-review` and `/aurelio-review-pr` skill rosters (triggers on any `web_src` change) - Add design token items 10-13 to frontend-reviewer prompt in both skills - Update `web/CLAUDE.md` Enforcement section with new Framer Motion check ## Test plan - [x] `npm --prefix web run type-check` -- clean - [x] `npm --prefix web run lint` -- zero warnings - [x] `npm --prefix web run test` -- 2278 tests pass - [x] `npm --prefix web run storybook:build` -- builds clean - [x] Pre-reviewed by 4 agents (docs-consistency, frontend-reviewer, design-token-audit, issue-resolution-verifier), 3 findings addressed - [ ] Manual: switch density (dense/balanced/medium/sparse) in ThemeToggle -- all sections, cards, banners breathe uniformly - [ ] Manual: switch animation preset -- page transitions and drawer open/close respond Closes #938 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for a1322cd - Browse repository at this point
Copy the full SHA a1322cdView commit details -
feat: implement artifact and project persistence (#947)
## Summary - Add persistence layer for artifacts and projects: repository protocols, SQLite implementations, schema tables, and observability events - Implement pluggable `ArtifactStorageBackend` protocol with `FileSystemArtifactStorage` (stores content as files under `<data_dir>/artifacts/<id>`, 50 MB per artifact / 1 GB total limits) - Flesh out `ArtifactController` and `ProjectController` with full CRUD endpoints (list/get/create + content upload/download for artifacts) - Extend `Artifact` model with `content_type` and `size_bytes` fields for content storage metadata - Wire artifact storage into `AppState` and `create_app` (auto-wired from `SYNTHORG_DB_PATH` parent directory) - Add `CreateArtifactRequest` and `CreateProjectRequest` DTOs with validation - Update design docs: memory.md entities table, page-structure.md stub references, operations.md endpoint descriptions, CLAUDE.md package structure ## Review coverage Pre-reviewed by 6 agents (docs-consistency, conventions-enforcer, persistence-reviewer, issue-resolution-verifier, silent-failure-hunter, type-design-analyzer). 15 findings addressed in a dedicated fix commit: - Path traversal prevention in `FileSystemArtifactStorage` (validates artifact_id stays within bounds) - TOCTOU race prevention via `asyncio.Lock` on storage capacity checks - Two-phase write rollback (cleanup stored content if metadata save fails) - Invalid enum filter values return 400 (not 500) - UTC normalization for artifact timestamps - Deterministic ordering on list queries - Broader error handling in deserialization and file operations - Re-exported new error types from `persistence/__init__.py` ## Test plan - [ ] `uv run python -m pytest tests/unit/persistence/sqlite/test_artifact_repo.py -n auto` -- 14 tests (CRUD, filters, roundtrips) - [ ] `uv run python -m pytest tests/unit/persistence/sqlite/test_project_repo.py -n auto` -- 12 tests (CRUD, filters, JSON tuple roundtrips) - [ ] `uv run python -m pytest tests/unit/persistence/test_filesystem_artifact_storage.py -n auto` -- 18 tests (store/retrieve/delete, size limits, path traversal) - [ ] `uv run python -m pytest tests/unit/api/controllers/test_artifacts.py tests/unit/api/controllers/test_projects.py -n auto` -- 13 tests (API integration) - [ ] `uv run python -m pytest tests/unit/persistence/test_protocol.py -n auto` -- protocol compliance - [ ] `uv run python -m pytest tests/ -n auto` -- full suite passes (11,317 tests) - [ ] `uv run mypy src/ tests/` -- zero issues - [ ] `uv run ruff check src/ tests/` -- zero issues Closes #612 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 6dea87a - Browse repository at this point
Copy the full SHA 6dea87aView commit details -
chore(main): release 0.5.3 (#945)
🤖 I have created a release *beep* *boop* --- ## [0.5.3](v0.5.2...v0.5.3) (2026-03-31) ### Features * implement artifact and project persistence ([#947](#947)) ([6dea87a](6dea87a)) ### Maintenance * add allow_inf_nan=False to all remaining ConfigDict declarations ([#943](#943)) ([cd7bbca](cd7bbca)) * audit full web dashboard for hardcoded design token violations ([#944](#944)) ([a1322cd](a1322cd)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for 7cd1d23 - Browse repository at this point
Copy the full SHA 7cd1d23View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.5.2...v0.5.3