Skip to content

Changelog ​

Stable releases of @flexso/spexso, newest first — generated from the git tags when the docs are built. Experimental builds and per-release pages live under GitLab Releases.

1.20.9 — 2026-11-12 ​

Features ​

  • finish: write a release-note fragment per issue (#56)
  • release-notes: spexso release-notes [version] [--publish] (#56)
  • gitlab: upsertRelease for release notes (#56)
  • release-notes: collect fragments into release-notes/{version}.md (#56)
  • release-notes: parse and render fragments (#56)
  • labels: skip-release-note (#56)
  • factory,finish: train on the MR's branch, repair rebase conflicts, wait out a held line (#53 #54 #55)

Fixes ​

  • release-notes: atomic collect, exact commit paths, stricter args and fragments (#56)

Other ​

  • plan: release-note fragments implementation plan (#56)
  • spec: release-note fragments design (#56)

1.20.8 — 2026-11-09 ​

Features ​

  • finish: the merge train repairs stale tests itself (#52)
  • finish: skip the train rebase when main only gained [skip ci] commits

Fixes ​

  • marathon: the window verb decides on a bundle itself (#48)
  • rules: one req.error per request; detect refused V4 writes via the message model (#51)
  • attempts: empty the ledger before a build so an issue never inherits strikes (#50)
  • debt: harvest spexso-debt markers from YAML and .mtaext (#49)

1.20.7 — 2026-11-05 ​

Fixes ​

  • factory: reinstall when a pull changes the lockfile

1.20.6 — 2026-11-05 ​

Features ​

  • prototype: hold the issue with the redesign label while prototyping
  • prototype,redesign,brainstorm: design a redesign from real UI5, not a Claude Design export

Fixes ​

  • gitlab: long issue bodies go to glab through a file, not argv
  • autopick: ### groups stay inside the acceptance criteria section

1.20.5 — 2026-11-05 ​

Features ​

  • marathon,factory: bundle ready issues into one branch, one review, one MR

Fixes ​

  • cicd: prepare-release releases the branch tip
  • brainstorm: refining an issue keeps the reporter's original text
  • finish: push the docs commits without a pipeline on GitLab
  • install: an update keeps the tools a project added to its agents
  • gitlab: link --type blocks on CE falls back when glab reports the refusal on stdout

1.20.4 — 2026-11-04 ​

Fixes ​

  • factory: the test server files one bug per issue and never a duplicate

1.20.3 — 2026-11-04 ​

Features ​

  • redesign,brainstorm: request a redesign, design it in Claude Design, load it into the spec
  • factory: the test server drives Playwright's Chromium, so cax31 works
  • factory: a test server that browser-tests every issue awaiting a manual test

Fixes ​

  • agents,templates: the control choice is a contract from spec to review
  • rules: ux.md picks the control by data shape, not a table for everything
  • factory: install the ponytail plugin on the server

Other ​

  • research: Fiori UI quality in Spexso — why UIs are plain and what to change

1.20.2 — 2026-11-03 ​

Fixes ​

  • finish,factory: static checks in the finish gate; CI drift warning; tester round for test type errors
  • cli: name the missing executable instead of "spawnSync glab ENOENT"

1.20.1 — 2026-11-02 ​

Fixes ​

  • factory: glab for the server's architecture; cax31 replaces cx33 as the backup

1.20.0 — 2026-11-02 ​

Features ​

  • factory: try every EU location before the backup type
  • factory: start --type pins the server type; wait until Hetzner has one free

1.19.0 — 2026-11-02 ​

Features ​

  • factory: cx43 with cx33 as backup, 4 GB swap, TEST_MAX_WORKERS from real RAM

1.18.0 — 2026-11-02 ​

Features ​

  • factory: status issue with logs, webhook notifications, diagnosis on hand-off and stop

1.17.1 — 2026-10-30 ​

Fixes ​

  • factory: wait for the background issue runner; save work on hand-off; blocked is not stuck

1.17.0 — 2026-10-29 ​

Features ​

  • finish,marathon,start: the MR pipeline gates the merge train; the marathon stops the line

1.16.0 — 2026-10-29 ​

Features ​

  • finish,factory: the merge train repairs a red gate; the factory stops the line

1.15.1 — 2026-10-28 ​

Fixes ​

  • factory,marathon: skip needs:😗 issues; the sweep train-merges an open MR

1.15.0 — 2026-10-28 ​

Features ​

  • agents,factory: subagents reach skills and SAP MCP tools; the factory server installs them

1.14.0 — 2026-10-28 ​

Features ​

  • factory: readable journal and bypassPermissions on the server
  • release: prepare-release infers the bump from the commits since the last stable tag

Fixes ​

  • factory: keep the setup script on stdin away from claude, trust the project folder
  • factory: put ~/.local/bin on PATH in the setup script
  • factory: authenticate npm on the server, clearer error when the project has no SSH key

1.13.0 — 2026-10-28 ​

Fixes ​

  • factory: default server type cx33 — cx22 no longer exists at Hetzner

1.12.0 — 2026-10-28 ​

Features ​

  • factory: start/status/logs/stop — ensure the server over hcloud, drive it over ssh
  • factory: PC-side building blocks — settings, remote parsing, env file, setup script
  • factory: cloud-init — node, glab, claude, loop units, idle self-delete
  • factory: factory run — spawn claude per iteration, state, stop file, SIGTERM
  • factory: outer Ralph loop with rate-limit wait, breaker and stop
  • factory: sweep interrupted issues and preflight a milestone without tokens
  • factory: classify claude -p outcomes (ok, rate limit, auth, error)
  • factory: groundwork — factory config, readyIssues milestone option, export removeWorktree
  • handoff: replace team labels and hand off at deploy time (#36 parts 1+2)
  • brainstorm: evidence-based dependency check — only proven blockers become a question
  • architecture: /spexso-architecture — codebase survey, triage to tech-debt issues and ADRs
  • wizard: /spexso-wizard — Node wizards for BTP/SaaS procedures
  • kickstart: /spexso-kickstart — project interview to epic + sliced backlog + glossary MR
  • brainstorm: domain glossary + frontier grilling via shared interview rulebook

Fixes ​

  • links: blocking links on GitLab CE + blockers resolve on merge (closes #29, closes #30)
  • providers: raise CLI maxBuffer to 64 MB so large backlogs sync (closes #38)

Other ​

  • Merge branch 'feat/factory-hetzner-loop' into 'main'
  • factory: design page, scenario, CLI reference, spec deviations
  • factory: keep cloud-init LF on Windows checkouts
  • plan: factory implementation plan
  • spec: factory — Ralph loop on a self-deleting Hetzner server
  • Merge branch 'feat/36-handoff-deploy' into 'main'
  • Merge branch 'fix/29-ce-blocking-links' into 'main'
  • Merge branch 'feat/wizard' into 'main'
  • design: /spexso-architecture — codebase survey, triage to issues/ADRs
  • design: /spexso-wizard — Node wizards for BTP/SaaS procedures
  • Merge branch 'fix/38-cli-max-buffer' into 'main'
  • Merge branch 'feat/kickstart-glossary' into 'main'
  • design: /spexso-kickstart + shared interview rulebook
  • design: domain glossary + frontier grilling for brainstorm

1.11.0 — 2026-10-27 ​

Features ​

  • marathon: open and close a run record; runner fires phase notes; fold stamps the train outcome
  • observe: report --run cuts the session log to one marathon run
  • observe: phase notes split each issue into plan/build/review/finish; the report lists its notes
  • marathon: fold --status stamps the merge train outcome on the issue's log line
  • marathon: run records in .spexso/marathon-runs for the dashboard's run screen
  • autopick: runner-project CI template
  • autopick: brainstorm proposes the label, setup asks to enable (default no)
  • autopick: finish --train-merge --autopick queues the MR for auto-merge
  • autopick: marathon --autopick, atomic branch claim in start
  • autopick: runner entry point, enable/disable, eligible, triage
  • autopick: sweep and preflight
  • autopick: rubric
  • autopick: GitLab PR exposes pipeline status and conflicts
  • autopick: auto-pick label
  • autopick: config defaults, off by default

Fixes ​

  • marathon: an abandoned run ends at its last note and clears its stop
  • observe: a running issue keeps its token window open
  • marathon: readRuns skips files that are not run records
  • autopick: runner template runs Claude Code on node 22 alpine, honours TARGET_BRANCH
  • autopick: finish queues on the pushed SHA, skips CHANGELOG, hands off not_queued
  • autopick: sweep hands a merged issue to the tester in one final write
  • autopick: lost branch claim hands off
  • autopick: sweep and preflight hardening
  • autopick: finish step 4 routes --autopick to 4a before any merge
  • install: gitignore transient .spexso artifacts, also on update

Other ​

  • Merge branch 'feat/autopick' into 'main'
  • Merge origin/main into feat/autopick: phase notes beside the autopick runner start
  • Merge branch 'feat/marathon-runs' into 'main'
  • observe: phase notes split issues, notes field, abandoned-run end time
  • marathon run records, phase notes, observe report --run, the dashboard's run screen
  • marathon-dashboard: 4d run-screen design and plan
  • autopick: scenario page; modes, agents and marathon scenario point to auto-pick
  • autopick: design page, commands, locking, labels
  • plan: auto-pick implementation plan; spec moves the runner to its own project
  • spec: auto-pick — online agent builds and merges easy issues

1.10.0 — 2026-10-21 ​

Features ​

  • observe: report --json with span timestamps and per-issue windows
  • marathon: --milestone matches the bare marathon name
  • sync: open spexso/ milestones land in the index as marathons
  • facade: milestone list/create/close; issue update --milestone/--no-milestone
  • contract: milestones in the tracker contract; fake in memory, Azure unsupported
  • github: list, create and close milestones; assign an issue to one
  • gitlab: list, create and close milestones; assign an issue to one
  • milestones: spexso/ prefix helper
  • mod: spexso-board band, pane and sync
  • mod: spexso-board pure board logic + tests

Fixes ​

  • marathon: clock-stamp marathon-log timestamps (#37)
  • providers: milestone lookups survive >100 milestones and unknown states
  • gitlab: resolve the milestone before any update so a missing one changes nothing
  • mod: sync guard always resets; toast shows the first spawn error
  • mod: spexso-board reads from the project root, real sync errors, sync guard

Other ​

  • board-mod: the dashboard sends spexso commands into your Claude session
  • research: session bridge replaces the headless runner; 4c plan
  • research: eval-driven development study, acceptance & self-healing, EDD deck
  • Merge branch 'spexso/issue-37' into 'main'
  • board-mod: plan marathons from the dashboard
  • plans: marathon dashboard 4b — planning actions
  • board-mod: /spexso-marathons dashboard
  • plans: marathon dashboard 4a — read-only board in spexso-board
  • research: runner spike result — headless claude drives the dashboard UI
  • milestones in the provider tables; sync and observe details
  • marathons as spexso/ milestones, milestone commands, observe --json
  • plans: marathon dashboard phase 1 — spexso milestones and run report
  • research: marathon dashboard design
  • sync: note that the spexso-board mod reads the index shape
  • mod: spexso-board moves to the plugin-marketplace repo
  • mod: spexso-board author for the plugin library
  • board mod page
  • mod: named fixtures so board tests type-check

1.9.0 — 2026-10-12 ​

Features ​

  • marathon: --issues and --milestone scope the run

1.8.1 — 2026-10-07 ​

Features ​

  • demo: demo.remoteUrl and --local/--remote target flags
  • rules: Fiori MCP first for annotation-driven UI5 apps
  • handoff: project labels on the tester hand-off
  • cli: spexso update refreshes spexso files offline after an upgrade
  • finish: hand merged issues to a tester instead of closing them

Fixes ​

  • yolo: a solo --yolo run chains start → plan → build → review → finish
  • feedback: target flexso/spexso, accept group access, scope the init command
  • ci: prepare-release is non-blocking so pages still deploys

1.8.0 — 2026-09-29 ​

Features ​

  • release: cut stable releases from CI, register GitLab Releases, changelog page

1.7.5 — 2026-09-29 ​

Features ​

  • rulebook: /spexso-rulebook approves inbox lessons into one MR
  • hooks: name the session after the issue on /spexso-<cmd> <id> (#24)
  • review: rulebook inbox + admission test for rulebook proposals
  • observe: token usage and optional cost in observe report
  • build: parallel GREEN on by default
  • cicd: quality gate, central-managed mode, and honest deploys

Fixes ​

  • facade: pr create/update honour --description-file (#22)

Other ​

  • research: park incident lookup - Cloud Logging read path blocked by SAML
  • research: typo
  • research: incident-lookup spike results + per-project CF_HOME
  • research: rescope production feedback to /spexso-incident-lookup
  • research: production-feedback design (incidents + tenant lookup)
  • cicd: point the default template project at flexso/spexso-ci-templates

1.7.4 — 2026-09-01 ​

Other ​

  • setup: recommend ui5-modernization only when a legacy test tree is detected
  • rules: Test Starter as the UI5 test setup, plus the QUnit 2 traps no linter catches
  • rules: UI5 test section from the SAP QUnit/OPA5 guidelines
  • rules: the four Jest+TypeScript rules worth keeping, and why the rest is not
  • rules: ground the CAP test section in the official cds.test reference, for Jest
  • rules: how to clean up a suite that already got slow, and cross-refs from cap/ui5

1.7.3 — 2026-09-01 ​

Features ​

  • rules: create every <domain>.local.md empty on init
  • rules: baseline + local rulebook pair, so updates stop colliding with tuning
  • tests: draw the line on what earns a test — clause ceiling + cost ladder

Other ​

  • correct the release story — tag-driven in the README, no repo CHANGELOG
  • explain private @flexso npm registry setup at every install site

1.7.2 — 2026-07-23 ​

Features ​

  • rules: fold official SAPUI5 best-practices pages into ui5.md + test.md

Fixes ​

  • rules: refresh stale ux.md consumer note + retired fiori-design URL

1.7.1 — 2026-07-23 ​

Features ​

  • portability: tier 5 — doctrine/observe/deny rails on opencode + codex, skills-standard audit
  • verification: tier 4 — assertion gate, clause rubric, mutation gate, scout decline, analyze/converge
  • rails: marathon orchestration moves from prose to code + calibration sensor (tier 2+3)
  • hardening: tier 1 — fail-loud sync, worktree reap, prose precision, LSP (9-agent batch)
  • marathon: size-score budget replaces the parallel issue count
  • marathon: team decisions — recommended parallel.issues 3, XL builds solo
  • marathon: --preview --deep shows the real wave-cut (A6 step 4)
  • marathon: fence guard + hotspots in wave-cut and merge train (A6 step 3)
  • marathon: parallel issues — plan-wave, wave-cut, batch-spawn (A6 step 2)
  • finish: merge train — split finish + rebase-first gate (A6 step 1)

Fixes ​

  • marathon: pre-plan path must be absolute; last parallel.issues ref

Other ​

  • research: deep-research report — next improvement round (post-A6)
  • research: mark A6 as shipped in the roadmap

1.7.0 — 2026-07-22 ​

Features ​

  • skills: parallel RED phase + batch-spawn of independent tasks (waves)
  • waves: deterministic wave planner + batch attempts + parallel config

1.6.0 — 2026-07-22 ​

Features ​

  • observe: phase/glue breakdown, CLI counters, re-read hotspots, span fix

Other ​

  • refresh local permission grants
  • research: add reference material behind the 2026-07 research
  • research: latency root-cause analysis + ruflo review (performance.md)
  • skills: trim redundant tracker calls, test runs and pushes per issue
  • providers: link-lazy issue lists and single-call sync (N+1 fix)
  • policy: invoke hooks via local node entrypoint instead of npx

1.5.0 — 2026-07-11 ​

Features ​

  • review: systemic-lesson rulebook promotion with human gate (colleague-agents A4)
  • templates: BTP service + tenant registries with planner impact checks (colleague-agents A3)
  • rules: UI5 incident-derived pitfalls + proven patterns + floorplan-compliance check (colleague-agents A2)
  • agents: reviewer calibration + MCP efficiency discipline (colleague-agents A1+A5)
  • finish: Socratic learning card per shipped issue (nicoharness N6)
  • doctrine: injected cross-cutting doctrine via SessionStart/SubagentStart hooks (nicoharness N5)
  • debt: spexso-debt markers + harvested committed ledger (nicoharness N4)
  • models: size::label -> dispatch-model dial + spexso model verb (nicoharness N3)
  • attempts: per-task time budget rail via budgets.perTaskMinutes (nicoharness N2)
  • observe: ship async observe hooks + gitignore + docs (nicoharness N1)
  • cli: spexso observe — hook logger + latency report (nicoharness N1)
  • observe: JSONL run logging + deterministic latency report (nicoharness N1)
  • providers: Azure DevOps best-effort tier (research G3)
  • providers: capabilities() convergence, fake adapter, golden shape fixtures (research G1)
  • review: EARS drift check + hard length budgets (research M5+M6)
  • finish: archive the spec to specs/ on merge (research M4)
  • templates: bugfix-spec track — Current/Expected/Unchanged (research M3)
  • cli: spexso constitution — one-page project principles, code-enforced (research M2)
  • templates: EARS acceptance criteria with clause-to-test traceability (research M1)
  • init: AGENTS.md canonical flip (research P4)
  • build: Codex target emitter (research P3)
  • build: opencode target emitter + init --harness (research P2)
  • sap: SAP knowledge layer Tiers 0-2 (research T9)
  • rules: ship abap.md and wire the ABAP docs MCP (research T5)
  • agents: per-agent reasoning effort via config.json + agents sync (#16)
  • commands: orchestration flags --base/--setup-only/--no-merge (#17)
  • finish: derive conventional-commit type from issue type label
  • cicd: rewrite CICD-SETUP checklist for tag-based releases
  • cicd: cicd-init generates versioning config and release checklist
  • cicd: tag-based release flow in pipeline template (release stage, tag deploys)
  • cicd: add .versionrc.json scaffold template
  • cicd: add commit-and-tag-version updaters for mta.yaml and manifest.json
  • providers: implement the extended verb surface for GitHub and Azure DevOps
  • cli: mirror glab's command surface in spexso verbs, fix broken glab mappings
  • demo: /spexso-demo slash command (Playwright e2e runner)
  • demo: spexso demo-env CLI verb
  • demo: demo-env remote passthrough + id guard
  • demo: demo-env starts the app + waits for ready; pid file
  • demo: demo-env config read + local probe-up path
  • platform: register azure tracker + code adapters
  • providers: azure code adapter (az repos pr; comment/ci gated)
  • providers: azure boards + wiki capability-gated skips; remove notImpl
  • providers: azure dependency links via native relations
  • providers: azure tracker write methods (tag-based)
  • providers: azure tracker read methods + tag-based normalization
  • providers: azure CLI seam + tracker identity surface
  • platform: register github tracker + code adapters
  • providers: github code adapter (gh pr methods; ci unsupported)
  • providers: github boards (capability-gated skip) + wiki via .wiki.git
  • providers: github dependency links via issue-body emulation
  • providers: github tracker write methods
  • providers: github tracker read methods + normalization
  • providers: github CLI seam + tracker identity surface
  • facade: provider-agnostic issue/pr/comment/link/board/wiki/whoami verbs
  • platform: add getCode() resolver for the code slot
  • providers: gitlab code adapter (PR methods + ciTemplate)
  • providers: gitlab boards/wiki; boards.js delegates to adapter
  • providers: gitlab dependency links getLinks/createLink
  • providers: gitlab tracker write methods; labels.js delegates to adapter
  • providers: gitlab tracker read methods + normalization
  • providers: gitlab CLI seam + normalized error helper
  • release: interactive npm run release with safety guards
  • release: compute stable promotion plan
  • release: compute next experimental tag
  • release: parse tag list into release state
  • release: infer bump level from conventional commits
  • release: add semver utilities
  • cli: add spexso changelog verb
  • changelog: generate changelog from a git range
  • changelog: render grouped commits to markdown
  • changelog: group commits by type
  • changelog: parse conventional-commit subjects
  • init: write two-slot tracker/code config on init
  • cli: add spexso commit-ref verb
  • platform: add tracker resolver and commit-ref logic
  • providers: add gitlab tracker adapter identity surface
  • config: add loadConfig + getRemoteUrl glue
  • config: add buildInitialConfig for spexso init
  • config: resolve raw config into tracker/code slots with safe defaults
  • config: detect provider from git remote url

Fixes ​

  • docs: cicd spec reference as repo path — superpowers excluded from site build
  • docs: architecture precision — gitignore list, async scope, hyphenated filenames
  • docs: setup-boards label-count check works from a target project
  • research: docs-audit design-section counts reconciled with enumerated verdicts
  • quickstart: ABAP page — reviewer-only rulebook claim + review auto-fix caveat
  • review: Windows-safe rulebook-lesson issue body + promotion commit wording + report slot
  • templates: 7th tenant red flag (temporary scope) + spexso vocabulary
  • review: floorplan drift is a compliance check, not an advisory UX finding
  • agents: MCP-first bridge in builder + calibration wording refinements
  • research: Tier 7 entry names the correct branch
  • finish: mkdir docs/learning on first card + unified filename token + commit wording
  • doctrine: CLAUDE_PROJECT_DIR-aware hook root + sharper scope wording + compact matcher
  • debt: comment-anchored marker regex + XML support + sorted OS-stable ledger + build-dir skips
  • models: xl dials to opus + reviewer fallback matches documented sonnet default
  • providers: shell-free argv for all gh calls + id guards (research G2)
  • planner: no verification-only tasks (research T7)
  • cli: shell-free git log in changelog; drop dead execSync import (research T10)
  • cicd: abaplint junit artifact needs --outformat, not --format (research T9)
  • providers: shell-free argv for all glab calls + facade id validation (research T10)
  • agents: capped lint gate, YAGNI line, tester escape valve (research T8)
  • build: scope verification to the change (research T7)
  • cli: /spexso-demo phantom flags, doc-count drift, version hardcode (research T6)
  • build: config-driven test commands, kill the Jest hardcode (research T4)
  • setup: drop the superpowers hard requirement (research T3)
  • build: terminal states for RED/GREEN-impossible gates (research T2)
  • build: code-enforced attempt counters (research T1)
  • cli: pass issue bodies shell-free and add --description-file (#18)
  • cicd: correct release-notes extraction and resolve cross-doc inconsistencies
  • cicd: robust manifest discovery and hardened cicd-init checklist
  • cicd: full-history clone for release bump, hardened create-release
  • cicd: fail loud when version fields are missing in mta.yaml/manifest.json
  • publish: point publishConfig registry at flexso.gitlab.host (not gitlab.com)
  • demo: kill the app's process group on cleanup (detached leader)
  • demo: waitForReady skips final sleep; cover no-startCommand path; assert mode
  • providers: azure listIssues honors assignee + explicit open-state filter
  • providers: azure createPR prefers web url; doc labels/squash; cover merge flags + commentPR
  • providers: azure links rename to LINK_TYPE_MAP, flag relation-direction risk, cover all link types
  • providers: azure createIssue field quoting + url parse; updateIssue tag merge
  • providers: azure listIssues fetches full records for stub rows; parse ssh remote
  • providers: github mergePR defaults to --merge for non-interactive merges
  • providers: github pushWiki cleans temp clone + skips empty commit
  • providers: make github createLink idempotent
  • providers: gh-cli shJson via module.exports.sh; assert autoMerge flag
  • sync: keep numeric ids in index.json for backward compat with prose lookups
  • facade: guard required ids/flags with clear errors; document arg form
  • providers: createPR id parse falls back to trailing iid (match createIssue)
  • providers: escape board name in syncBoards; document contract; tighten tests
  • providers: guard setStage id; keep stage name in unchanged msg; doc updateIssue scope
  • providers: guard getProjectPath + getIssue against missing data
  • providers: drop dangling em-dash in auth error for unknown provider
  • release: exact remote tag match + cross-platform shortLog format
  • release: compareCore throws a descriptive error on invalid version
  • changelog: pipe git stderr in commitSubjects for clean error output
  • changelog: restrict commit type to letters and scope to a single token
  • cli: guard commit-ref against missing id; use string id in platform tests
  • providers: gitlab detect via host-based detectProvider; freeze capabilities
  • config: fill provider on partial slots; extract default constants
  • config: detect provider from hostname to avoid path false-positives

Other ​

  • Merge branch 'spexso/docs-site-revamp' into 'main'
  • site: exclude internal superpowers artifacts from the public build
  • design: audit fixes — contradictions resolved, stale pages current
  • framework: audit fixes — labels, rails, quickstart links
  • scenarios: audit fixes — current labels, rails, new mechanisms
  • research: full docs-site audit findings
  • home: current counts + quickstart links, guarded by doc-counts test
  • quickstart: ABAP quickstart — honest knowledge-layer positioning
  • quickstart: prerequisites block — first run must succeed
  • quickstart: CAP+UI5 quickstart + Get-started navigation
  • plan: docs-site revamp implementation plan
  • spec: docs site revamp design — quickstarts + full audit + guard test
  • Merge branch 'spexso/colleague-agents-adoption' into 'main'
  • Merge branch 'spexso/nicoharness-adoption' into 'main'
  • templates: unify infrastructure-blocker wording on 'the plan'
  • research: record colleague-agents adoption A1-A7 in the backlog
  • plan: colleague-agents adoption plan (A1-A7)
  • reviewer upgrade is manual (never size-dialed) + observe report runs from project root
  • research: record nicoharness adoption N1-N6 + deferred follow-ups N7-N10
  • observe: npx install-safety note + accurate JSONL example + hooks-check comment
  • plan: nicoharness adoption implementation plan (N1-N6)
  • Merge branch 'spexso/research-phase-5' into 'main'
  • parity: P3 against gh and az stubs (research G2+G3 verification)
  • Merge branch 'spexso/research-phase-4' into 'main'
  • canaries: guard the Phase 4 load-bearing prose (research M1-M6)
  • Merge branch 'spexso/research-phase-3' into 'main'
  • Merge branch 'spexso/research-phase-2' into 'main'
  • Merge branch 'spexso/research-phase-1' into 'main'
  • Merge branch 'spexso/research-phase-0' into 'main'
  • gitignore Level 2/3 runner scorecards
  • evals: Level 2/3 harness — parity runner, A/B probes, release gate (research F2+F3+F4)
  • structure: manifest validation + install smoke via glab stub (research F1)
  • prose: action vocabulary + portable shell, canary-phrase check (research P1)
  • build: src/ canonical -> dist/ generated, byte-identical install (research P1)
  • research: add modernization research deliverables
  • add tag-based release CI/CD implementation plan
  • align lifecycle, CLAUDE.md snippet and spec location with release flow
  • cicd: update setup scenario and framework standard for tag-based releases
  • cicd: rewrite design page for tag-based release flow
  • ci: verify new cicd scaffold files exist
  • scaffold: migrate prose layer from raw glab calls to spexso verbs
  • /spexso-demo command (Playwright e2e demo runner)
  • private @flexso registry onboarding docs + publishConfig host fix
  • onboarding: configure the private @flexso GitLab npm registry before install
  • demo: document /spexso-demo + demo-env
  • demo: CI scaffold check + CLAUDE.md snippet for /spexso-demo
  • plan: /spexso-demo implementation plan
  • spec: /spexso-demo design (Playwright e2e demo runner)
  • Azure DevOps adapter (multi-platform sub-spec 3, experimental)
  • providers: azure adapter implemented (experimental, unverified az syntax)
  • plan: azure adapter (multi-platform sub-spec 3)
  • GitHub adapter (multi-platform sub-spec 2, experimental)
  • providers: github adapter implemented (experimental, mock-tested)
  • providers: cover github updateIssue close path + setStage input guards
  • providers: consolidate duplicate tracker-contract require
  • plan: github adapter (multi-platform sub-spec 2)
  • multi-platform foundation Plan 2 (GitLab adapter + façade verbs)
  • providers: fix accuracy — getProjectPath, facade routing, detection, write-result shapes
  • providers: document the multi-platform adapter layer + facade verbs
  • smoke: assert new verbs routed and CLI still loads
  • sync: progress notice, hoist mapLinks, document active stages; broaden tests
  • sync: consume tracker adapter; index format unchanged
  • platform: restore registry roadmap comments for tracker + code
  • providers: cover link state + createLink default; document type map
  • contract: strengthen Issue/PR invariants; fix assert anti-pattern
  • contract: shared adapter interface + normalized-shape harness
  • plan: multi-platform foundation Plan 2 (gitlab adapter + façade)
  • Merge branch 'feat/release-helper' into 'main'
  • bump to node:22-alpine and install git in test job
  • framework: clarify re-baseline bump is inferred, not always minor
  • framework: document npm run release helper
  • release: cover patch-level re-baseline in promotePlan
  • plan: interactive release helper implementation plan
  • spec: interactive release helper (npm run release)
  • framework: add releasing runbook + framework rule note
  • tag-driven publish to @latest and @experimental
  • plan: release-management implementation plan
  • spec: release management — stable + experimental channels
  • Merge branch 'feat/multi-platform-support' into 'main'
  • release: bump version to 1.5.0
  • require node >=18.11 for node --test auto-discovery
  • design: document two-slot config schema in storage
  • run npm test in the test stage
  • add node:test runner and npm test script
  • plan: foundation platform-spine implementation plan
  • spec: design multi-platform support (GitLab/GitHub/Azure/CALM)
  • presentation: change request to add uncovered commands as 2 slides
  • claude-ai: add advisory Project setup kit
  • presentation: add slide-by-slide layout for the intro talk
  • presentation: add Topping Election spec + acceptance criteria
  • presentation: translate Spexso intro materials to English
  • presentation: add speaker notes for Spexso intro talk
  • presentation: Spexso intro talk + Beleg-verkiezing demo script
  • plan: language-agnostic core + UI5 clone-listener rule
  • spec: language-agnostic core + UI5 clone-listener rule design

1.4.0 — 2026-06-06 ​

Features ​

  • agents: MCP-first lookups + run_ui5_linter as UI done gate (closes #2)
  • rules: consolidate Fiori design rules into ux.md, wire planner+builder
  • spexso: domain rulebooks, ADR auto-capture, agent language policy
  • spexso-builder: add domain awareness (skills + ui5-mcp/cds-mcp)
  • spexso-reviewer: run staticChecks project-wide, HIGH no auto-rewrite
  • spexso-setup: recommend ui5 + cds-mcp plugins; delegate static checks
  • spexso-build: add STATIC CHECKS gate + post-commit nudge
  • spexso: add /spexso-checks slash command
  • static-checks: add lib/static-checks.js detection module
  • spexso: add /spexso-feedback slash command
  • spexso-setup: provision boards before sync in Phase 4
  • spexso: add /spexso-boards-init slash command
  • init: call createBoards() after createLabels()
  • cli: add npx spexso boards subcommand
  • boards: add lib/boards.js with 3 default kanban boards
  • labels: add needs::attention used by marathon failures
  • spexso-setup: offer CI/CD template during setup
  • spexso: add /spexso-cicd-init command
  • cicd: add CICD-SETUP.md template (developer checklist)
  • cicd: add gitlab-ci.yml template for 3-tier BTP CF deploy
  • dependency tracking phase 1 + roadmap for phases 2-3
  • spexso: marathon dispatches per-issue subagent with circuit breaker
  • spexso: add spexso-issue-runner subagent for marathon context isolation
  • split marathon into own command, add dependency-aware ordering
  • add /clear between yolo marathon issues to prevent context bleed
  • auto-add .spexso/ to Jest testPathIgnorePatterns during /spexso:setup
  • add yolo pre-marathon queue summary and conflict-resolution warning
  • auto-merge MR in /spexso:finish with rebase fallback and test checklist
  • add targetBranch question to /spexso:setup
  • create .spexso/config.json with targetBranch on init
  • add needs::manual-test and needs::conflict-resolution labels

Fixes ​

  • stage: enforce single-value stage:: labels via spexso stage (closes #1)
  • spexso-issue-runner: drop redundant conflict field; status enum suffices
  • invoke spexso CLI via npx everywhere
  • improve conflict-resolution warning message in yolo loop
  • add Windows fallback for worktree cleanup in /spexso:finish
  • wrap node -e assertion in literal block scalar to avoid YAML parse error

Other ​

  • framework: add repo-local self-development rulebook
  • raise version number
  • Merge branch 'static-checks-gate' into main
  • yolo-marathon: note that static-check failures follow 3-strike rule
  • review: document reviewer-phase static checks (HIGH, no auto-rewrite)
  • tdd: document static-checks gate between GREEN and COMMIT
  • link the add-static-check scenario from the index
  • add /spexso-checks to commands table
  • add scenario for adding a new static check
  • add design page for static checks gate
  • spexso: assert static-checks files exist
  • add spec + plan for static-checks gate
  • Merge branch 'spexso-feedback' into main
  • presentation: drop 'coming soon' on /spexso-feedback (it ships)
  • link the give-feedback scenario from the index
  • add scenario page for /spexso-feedback
  • add /spexso-feedback to commands table
  • spexso: assert spexso-feedback command exists
  • add spec + plan for /spexso-feedback command + presentation
  • raise version number
  • Merge branch 'kanban-boards' into main
  • flesh out Issue Board Configuration section for 3 boards
  • link the kanban boards setup scenario from the index
  • add /spexso-boards-init to commands table
  • add scenario page for setting up kanban boards
  • add design page for kanban boards
  • spexso: assert boards files exist and needs::attention is registered
  • add spec + plan for kanban boards provisioning
  • Merge branch 'cicd-3tier' into main
  • link the CI/CD setup scenario from the index
  • add /spexso-cicd-init to commands table
  • add scenario page for setting up CI/CD
  • add design page for 3-tier CI/CD
  • spexso: assert cicd scaffold files exist
  • add spec + plan for 3-tier CI/CD template
  • Merge branch 'marathon-context-isolation' into main
  • add spexso-issue-runner to agent registry
  • update /spexso-marathon section for per-issue subagent + circuit breaker
  • marathon now isolates per-issue context; document circuit breaker
  • spexso: assert spexso-issue-runner scaffold exists
  • add spec + plan for marathon context isolation
  • Merge branch 'main' of flexso.gitlab.host:flexso/spexso
  • Edit package.json
  • gitignore local presentation artifacts
  • standardize on /spexso-<name> hyphen invocation everywhere
  • add SAP/CAP conventions to CLAUDE.md snippet
  • spexso tinder update
  • update to 1.1.5
  • add different models for the agents
  • update 1.1.3
  • document yolo hardening — skip logging, conflict warning, Windows fallback, Jest fix
  • add yolo marathon hardening implementation plan
  • add documentation rule to CLAUDE.md — scaffold changes must update docs/
  • update version
  • clarify stage 4 vs stage 5 in lifecycle — review vs ship
  • update finish flow docs for auto-merge, targetBranch, needs:: labels
  • document config.json and needs:: labels in claude-md-snippet
  • add Task 6 (docs updates) to auto-merge plan
  • add auto-merge implementation plan
  • add auto-merge + manual test handoff design spec
  • update version
  • fix lib dependency
  • update
  • update claude permission, typescript + plugin check
  • add issue flow to doc
  • preflight check
  • update
  • documentation
  • test cicd
  • change package

1.0.0 — 2026-04-02 ​

Other ​

  • Initial commit