Skip to content
Permalink

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.4.8
Choose a base ref
...
head repository: Aureliolo/synthorg
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.4.9
Choose a head ref
  • 7 commits
  • 110 files changed
  • 3 contributors

Commits on Mar 22, 2026

  1. 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>
    Aureliolo and claude authored Mar 22, 2026
    Configuration menu
    Copy the full SHA
    f53da9f View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2026

  1. 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>
    Aureliolo and claude authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    de4e661 View commit details
    Browse the repository at this point in the history
  2. 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>
    Aureliolo and claude authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    bbd4d2d View commit details
    Browse the repository at this point in the history
  3. 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>
    Aureliolo and claude authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    8f8c1f8 View commit details
    Browse the repository at this point in the history
  4. 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>
    Aureliolo and claude authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    1bb6336 View commit details
    Browse the repository at this point in the history
  5. 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>
    Aureliolo and claude authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    81dc75f View commit details
    Browse the repository at this point in the history
  6. 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>
    Aureliolo and github-actions[bot] authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    3c76de0 View commit details
    Browse the repository at this point in the history
Loading