-
Notifications
You must be signed in to change notification settings - Fork 1
Comparing changes
Open a pull request
base repository: Aureliolo/synthorg
base: v0.4.8
head repository: Aureliolo/synthorg
compare: v0.4.9
- 7 commits
- 110 files changed
- 3 contributors
Commits on Mar 22, 2026
-
fix: stable channel detects update for dev builds (#753)
## Summary - `isUpdateAvailable` (stable channel) used `compareSemver` which strips pre-release suffixes, treating `0.4.8-dev.4` and `0.4.8` as equal -- so a dev build on the stable channel never saw the stable release as an update - Switched to `compareWithDev` which correctly treats `0.4.8 > 0.4.8-dev.4` (stable beats dev at same base version); behavior is identical for two stable versions, so no regression - Added 4 test cases covering dev-build-on-stable-channel scenarios ## Test plan - [x] All selfupdate tests pass (50 tests including fuzz seed corpus) - [x] `go vet`, `go build` pass - [ ] Verify `synthorg update` on a dev build correctly offers the stable release ## Review coverage Quick mode -- automated checks only (Go vet + test + build), no agent review. 🤖 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 f53da9f - Browse repository at this point
Copy the full SHA f53da9fView commit details
Commits on Mar 23, 2026
-
feat: add personality presets for new template archetypes (#758)
## Summary - Add 3 new personality presets to `_RAW_PRESETS`: `client_advisor`, `code_craftsman`, `devil_advocate` - Add corresponding `MODEL_AFFINITY` entries: `client_advisor` (balanced), `code_craftsman` (quality), `devil_advocate` (quality) - All presets validated against `PersonalityConfig` at import time via existing `_validate_presets()` - Tests updated: count assertion bumped to 23, parametrized validation, profile-specific tests for distinguishing traits ### New Presets | Preset | Archetype | Key Traits | Affinity | |--------|-----------|------------|----------| | `client_advisor` | Client-facing consultant | High agreeableness (0.75), team, consultative | balanced | | `code_craftsman` | Quality-obsessed developer | Very high conscientiousness (0.9), low risk, pair | quality | | `devil_advocate` | Contrarian thinker | Very low agreeableness (0.25), independent, compete | quality | ## Test plan - [x] All 3 presets validate against `PersonalityConfig` at import time - [x] Profile tests verify distinguishing characteristics of each preset - [x] `test_all_presets_have_affinity` confirms all presets have `MODEL_AFFINITY` entries - [x] Full test suite passes (10,411 passed) - [x] Lint (ruff), format, type-check (mypy) all clean ## Review coverage Pre-reviewed by 6 agents: docs-consistency, code-reviewer, python-reviewer, pr-test-analyzer, conventions-enforcer, issue-resolution-verifier. 1 finding addressed (test parametrize list cleanup). Closes #721 --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for de4e661 - Browse repository at this point
Copy the full SHA de4e661View commit details -
feat: improve wipe command UX with interactive prompts (#759)
## Summary - **Backup defaults to Yes** instead of No -- recommended behavior is now the default - **Containers only start when the user agrees** -- no more automatic startup before the backup prompt; user is asked "Containers are not running. Start them for backup?" first - **Post-wipe restart is optional** -- user is prompted "Start containers now?" (default: Yes) instead of automatic restart - **`containersRunning` now returns errors** instead of silently discarding Docker communication failures - **Copy failure message improved** -- distinguishes "backup exists in container but copy failed" from "backup creation failed" - **`createTarGz` refactored** -- extracted `writeTarEntry` helper to stay under 50-line function limit - **`runForm` helper** -- eliminates repeated I/O stream wiring across all 6 prompt methods - **Docs updated** -- organization.md, user_guide.md, README.md, operations.md reflect the new interactive flow ## Test plan - [x] `go -C cli vet ./...` -- clean - [x] `go -C cli test ./...` -- all pass - [x] `go -C cli build ./...` -- compiles - [x] `go -C cli tool golangci-lint run` -- 0 issues - [ ] Manual: `synthorg wipe` with containers stopped -- verify backup prompt (default Yes), then container start prompt - [ ] Manual: `synthorg wipe` with containers running -- verify backup prompt skips container start prompt - [ ] Manual: decline backup -- verify no container start, proceeds to wipe confirmation - [ ] Manual: after wipe, decline restart -- verify "Run 'synthorg start'" hint shown - [ ] Manual: after wipe, accept restart -- verify setup wizard opens Pre-reviewed by 3 agents (docs-consistency, go-reviewer, go-conventions), 7 findings addressed. 🤖 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 bbd4d2d - Browse repository at this point
Copy the full SHA bbd4d2dView commit details -
docs: add version banner to docs header (#761)
## Summary - Add a version announce banner to the docs header using Material theme's `announce` block - CI extracts the version from `pyproject.toml` and passes it as `SYNTHORG_VERSION` env var to the docs build - Uses mkdocs `!ENV` tag with fallback to `"dev"` for local development - Replaces the mike-based approach from #297 with a simpler solution -- just show the current version prominently ### How it works - **Production** (`SYNTHORG_VERSION=0.4.8`): banner shows "Docs for **v0.4.8** -- all releases" - **Local dev** (no env var): banner shows "You are viewing the **development** version of the docs." - **PR previews**: defaults to `"dev"` automatically (no changes to `pages-preview.yml` needed) ## Test plan - [x] Verified `!ENV` tag works with Zensical build - [x] Verified banner renders with `SYNTHORG_VERSION=0.4.8` (shows "Docs for v0.4.8") - [x] Verified banner renders without env var (shows "development version") - [ ] CI builds docs successfully with version injection Closes #297 --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 8f8c1f8 - Browse repository at this point
Copy the full SHA 8f8c1f8View commit details -
chore: adopt new features from web dependency upgrades (#763)
## Summary - **ESLint**: Upgrade from `flat/essential` to `flat/recommended` (adds block-order, no-required-prop-with-default, attribute formatting, html-self-closing, and many more vue rules). Add 3 new ESLint 10 rules: `no-unassigned-vars`, `no-useless-assignment`, `preserve-caught-error`. Disable `require-prop-types` and `one-component-per-file` for test stubs. - **Vite 8**: Enable `devtools` (requires `@vitejs/devtools`) and `server.forwardConsole` for browser console log streaming to terminal. - **Vitest 4**: Add `coverage.changed: 'origin/main'` for dev workflow (coverage only on changed files). Add `--detect-async-leaks` to CI dashboard test command. - **Code fixes found by new rules**: Remove dead null assignment in `useOptimisticUpdate.ts` (`no-useless-assignment`). Preserve error cause chain in 3 re-throw sites in `auth.ts` (`preserve-caught-error`). - **No action needed**: ECharts 6 (charts explicitly style all properties), vue-echarts 8 (smart update is default), jsdom 29 (internal improvements). - **Evaluated but skipped**: vue-tsc `strictVModel` (PrimeVue's `Nullable<T>` typing makes it too noisy without real bug-finding value), vue-tsc `strictSlotChildren` (not a recognized option in vue-tsc 3.x). ## Test plan - [x] `npm --prefix web run lint` -- clean - [x] `npm --prefix web run type-check` -- clean - [x] `npm --prefix web run test` -- 773/773 pass - [x] `npm --prefix web run build` -- succeeds - [x] Pre-reviewed by 4 agents (docs-consistency, frontend-reviewer, infra-reviewer, issue-resolution-verifier), 2 findings fixed Closes #391 🤖 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 1bb6336 - Browse repository at this point
Copy the full SHA 1bb6336View commit details -
feat: add consultancy and data team template archetypes (#764)
## Summary - Add two new builtin company templates: **Consultancy** (client-facing advisory/delivery, 5 agents, supervised/hierarchical/kanban, $60/mo) and **Data Team** (analytics/ML focused, 6 agents, full/event_driven/kanban, $55/mo) - Add `CONSULTANCY` and `DATA_TEAM` to `CompanyType` enum - Update design docs (organization, communication, operations) and user guide with new templates - Add `TestBuiltinEnumSync` test ensuring `CompanyType` members stay in sync with `BUILTIN_TEMPLATES` ## Test plan - [x] All 370 template tests pass (loader, renderer, inheritance, presets, model matcher) - [x] Full unit suite passes (10,252 tests) - [x] mypy strict clean - [x] ruff lint + format clean - [x] Both templates load and render via existing parametrized tests (`test_all_builtins_load_successfully`, `test_render_all_builtins_produce_valid_root_config`, `test_template_agent_count_in_range`) - [x] Operational config assertions verify autonomy/communication/workflow for both templates - [x] Skill pattern assertions verify declared patterns for both templates - [x] New `TestBuiltinEnumSync` verifies every non-CUSTOM `CompanyType` has a `BUILTIN_TEMPLATES` entry Pre-reviewed by 11 agents, 7 findings addressed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Closes #720 --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 81dc75f - Browse repository at this point
Copy the full SHA 81dc75fView commit details -
chore(main): release 0.4.9 (#754)
🤖 I have created a release *beep* *boop* --- ## [0.4.9](v0.4.8...v0.4.9) (2026-03-23) ### Features * add consultancy and data team template archetypes ([#764](#764)) ([81dc75f](81dc75f)) * add personality presets for new template archetypes ([#758](#758)) ([de4e661](de4e661)) * improve wipe command UX with interactive prompts ([#759](#759)) ([bbd4d2d](bbd4d2d)) ### Bug Fixes * stable channel detects update for dev builds ([#753](#753)) ([f53da9f](f53da9f)) ### Documentation * add version banner to docs header ([#761](#761)) ([8f8c1f8](8f8c1f8)) ### Maintenance * adopt new features from web dependency upgrades ([#763](#763)) ([1bb6336](1bb6336)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3c76de0 - Browse repository at this point
Copy the full SHA 3c76de0View commit details
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.4.8...v0.4.9