Tags give the ability to mark specific points in history as being important
-
v1.0.0
protectedce95e7ff · ·synthesist v1.0.0 Rewrite from Go+Dolt to Rust+SQLite. Storage: embedded Dolt replaced by SQLite via rusqlite (bundled). Single static binary, no CGo, no ICU, no runtime dependencies. Session isolation: per-file SQLite copies with ATTACH-based three-way merge. PK-aware EXCEPT diffing with cell-level conflict detection. Schema: 16 tables with foreign key constraints and performance indexes. Literature-informed cutline defers unvalidated features with documented re-entry criteria (docs/architecture-v1.md). CLI: ~40 commands with consistent verbs, tree/spec path format, full argument descriptions, and worked examples in the skill file. Phase enforcement: 7-phase workflow state machine with validated transitions. AGREE gate blocks execution without human approval. Data directory: synthesist/ (visible, full name, replaces .synth/). Migration: tools/migrate-v5-to-v1.py transforms v5 JSON exports to v1.0.0 schema.
-
v5.4.0
protectedRelease: synthesist v5.4.0561e0163 · ·v5.4.0: task reset + version update check Features: - task reset: release orphaned in_progress tasks to pending - Single task: synthesist task reset <tree/spec> <id> - Bulk by session: synthesist task reset --session <id> - Optional --reason flag for auditability - version check: JSON output with update availability from GitLab API - synthesist version (with update check) - synthesist version --offline (skip network) - SYNTHESIST_OFFLINE=1 env var for CI - Status command includes version block Fixes: - Closes #4 (version update check) - Addresses factory crash recovery (stuck in_progress tasks)
-
v5.3.4
protectedRelease: v5.3.4b3a160d8 · ·v5.3.4 — Fix --no-commit data loss and lock timeout Fixed: - session merge now auto-commits uncommitted changes before merging, preventing silent data loss with --no-commit (#2) - Lock timeout reduced from 60s to 5s with PID-based liveness check (#3) - CI release template updated from ubi: to http: backend - .gitignore excludes Dolt temp files
-
v5.3.1
protectedRelease: v5.3.18d8b89ca · ·v5.3.1 — Mandatory landscape orientation and ecosystem constraints ORIENT: landscape show and stance queries are now mandatory when tree has stakeholders. Landscape summary must be presented before PLAN. AGREE: plan presentation must include ecosystem constraints from dispositions and discoveries. Missing constraints signals incomplete ORIENT. Behavioral contract changes — no binary changes.
-
v5.3.0
protectedRelease: v5.3.09c071206 · ·v5.3.0 — Concurrent session safety Lock retry with backoff (200ms/500ms/1s) when Dolt LOCK held by another process. Makes N concurrent agent sessions safe without user intervention. Scaffold generates agent configs: .claude/commands/synthesist-orient.md and .cursor/rules/synthesist.mdc for behavioral contract injection. Session-aware onboarding: write commands without a session show active sessions and how to join or start one. Merge dry-run: session merge --dry-run shows changes without merging. Concurrent session protocol documented in state machine: naming, claim atomicity, merge protocol, conflict resolution, lock retry behavior.
-
v5.2.0
protectedRelease: v5.2.09287fbab · ·v5.2.0 — Ecosystem audit enforcement Added: - spec create auto-generates a human-gated ecosystem audit task (t0) when the tree has stakeholders. Blocks implementation until stakeholder dispositions and ecosystem conventions are reviewed. - ORIENT phase now requires landscape show and stance queries when stakeholders exist. Landscape summary must be presented to the human before transitioning to PLAN. Driven by: session that required 4 review passes for convention alignment that was discoverable from recorded dispositions.
-
v5.1.1
protectedRelease: v5.1.1c913d9c2 · ·v5.1.1 — File splitting refactor + error handling Refactor: - Split main.go (801 LOC) into main.go (157) + cli_types.go (431) + cli_types_task.go (93) + cli_types_landscape.go (121) - Split store.go into store.go (519) + store_session.go (108) - LOC limit lowered from 850 to 650 Fixed: - 35 unchecked s.DB.Query() / s.DB.QueryRow() errors across 11 files now properly checked - task ready and propagation check subcommands no longer require a session Docs: - README, CHANGELOG, CLAUDE.md updated for v5.1.1
-
v5.1.0
protectedRelease: synthesist v5.1.0eb9d4911 · ·v5.1.0: disposition detail/evidence + tree-wide landscape
-
v5.0.1
protectedRelease: Synthesist v5.0.1 — Stale LOCK detectioncd9342f6 · ·v5.0.1: stale LOCK detection, date-independent golden tests
-
v5.0.0
protectedRelease: Synthesist v5.0.0 — Temporal Specification Graphs23d0f50a · ·Synthesist v5.0.0 — Temporal Specification Graphs Go CLI with embedded Dolt database, typed command tree (kong), concurrent session infrastructure, 7-phase LLM workflow state machine with enforcement, and a comprehensive behavioral contract. The human never calls synthesist directly — the LLM is the complete mediation layer. Core: - Task DAGs with dependency ordering, acceptance criteria, human gates - Stakeholder intelligence with bi-temporal dispositions and signals - Propagation chains flagging stale downstream artifacts - Retrospective replay with labeled transforms and transferable patterns - Campaigns organizing active and backlog specs per tree Sessions: - Dolt branching isolates concurrent LLM sessions in the same directory - Row-level merge — two sessions on the same spec merge cleanly - Atomic task claim prevents double-claiming across sessions - Session prune merges abandoned work before cleanup (7-day default) State machine (ORIENT → PLAN → AGREE → EXECUTE ↔ REFLECT → REPORT): - Phase enforcement in the CLI — wrong operations are rejected, not just discouraged - Behavioral contract: session start sequence, display rules, AGREE protocol - --force overrides enforcement when needed LLM-maintainability: - Kong struct tags — wrong flags fail to compile - Skill file generated from struct reflection + authored behavioral rules - Named error constants, golden file tests, golangci-lint zero-warning policy - Export/import for backup and recovery (26 tables, idempotent) - scaffold command bootstraps new projects (CLAUDE.md, .mise.toml, init) Security review completed: - SQL injection in import fixed (column allowlist validation) - All 48 rows.Next() loops check rows.Err() - State transitions enforced (task done requires in_progress, block/wait check status) - Import validates column names against schema Sources: Beads/Gastown (Yegge 2026), Graphiti/Zep (bi-temporal), SOAR (impasse model), Reflexion (post-execution assessment), OODA, ACT-R.