1697 Commits
Author SHA1 Message Date
James Read 7db5a17f1b feat(cli): add -syntaxcheck and -startuptrace (#1126)
Build & Release pipeline / build (push) Canceled after 0s
CodeQL / Analyze (go) (push) Canceled after 0s
CodeQL / Analyze (javascript) (push) Canceled after 0s
Codestyle checks / codestyle (push) Canceled after 0s
DevSkim / DevSkim (push) Canceled after 0s
Antora docs / antora (push) Canceled after 0s
Go race detector / race (push) Canceled after 0s
Build & Release pipeline / Sign Windows artifacts (SignPath) (push) Canceled after 0s
Antora docs / trigger-docs-publish (push) Canceled after 0s
2026-09-12 21:28:01 +01:00
jamesreadandCursor aa57538040 feat(cli): add -syntaxcheck and -startuptrace
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 21:02:38 +01:00
James Read ff1c99e298 fix: cap macOS notarize timeout at Apple's 20m limit (#1124)
Build & Release pipeline / build (push) Canceled after 0s
DevSkim / DevSkim (push) Canceled after 0s
Build & Release pipeline / Sign Windows artifacts (SignPath) (push) Canceled after 0s
2026-09-10 21:52:37 +01:00
jamesreadandCursor c41cf5361d fix: cap macOS notarize timeout at Apple's 20m limit
Goreleaser failed during publish because notarize.macos timeout was
30m; Apple rejects authentication tokens with longer lifetimes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 21:39:20 +01:00
James Read 87b1f3a71d fix: authenticate release git pushes with CONTAINER_TOKEN (#1122)
Build & Release pipeline / build (push) Canceled after 0s
Buf CI / buf (push) Canceled after 0s
CodeQL / Analyze (go) (push) Canceled after 0s
CodeQL / Analyze (javascript) (push) Canceled after 0s
Codestyle checks / codestyle (push) Canceled after 0s
DevSkim / DevSkim (push) Canceled after 0s
Antora docs / antora (push) Canceled after 0s
Generated source checks / generated (push) Canceled after 0s
Go race detector / race (push) Canceled after 0s
Build & Release pipeline / Sign Windows artifacts (SignPath) (push) Canceled after 0s
Antora docs / trigger-docs-publish (push) Canceled after 0s
2026-09-10 20:39:22 +01:00
jamesreadandCursor d43b9abd78 fix: authenticate release git pushes with CONTAINER_TOKEN
Keep workflow contents:read for PR safety, stop persisting the
read-only GITHUB_TOKEN into git config, and configure release
pushes to use CONTAINER_TOKEN instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 20:37:42 +01:00
James Read 2f4361bb0f perf: modernize frontend tooling and loading (#1121) 2026-09-10 19:48:40 +01:00
jamesreadandCursor 7dc27bf7d6 fix: make lazy locale selection race-safe
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 19:27:49 +01:00
jamesreadandCursor 91f7764de2 perf: optimize frontend build and initial loading
Remove redundant component scanning, lazy-load terminal CSS and locale
messages, and clean obsolete frontend package metadata. Generate one JSON
file per locale so initial loads only fetch English and the selected locale.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 17:47:33 +01:00
jamesreadandCursor fa2702094b chore: migrate frontend linting from standard to neostandard
Replace the ESLint 8-based standard package with neostandard and a
flat config so frontend installs no longer pull deprecated ESLint 8
transitives. Keep vue recommended rules and auto-fix indent drift.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 17:28:09 +01:00
James Read 88f9acebd5 ci: expand validation coverage (#1120) 2026-09-10 17:07:52 +01:00
jamesreadandCursor b0f6a2ccad ci: tighten build permissions and CodeQL path coverage
Limit the build workflow token to contents:read by default, and
include lang/** so language-tooling changes trigger CodeQL.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 17:02:52 +01:00
James Read 67a030da79 build: make source generation reproducible (#1119) 2026-09-10 16:59:43 +01:00
jamesreadandCursor 304e2c82eb Merge branch 'next' into build/make-generation-reproducible
Resolve Makefile/.PHONY conflicts with docs-check and unittests-race,
and address generated-check review feedback.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:54:12 +01:00
James Read 31383af90d chore: expose documentation checks locally (#1118) 2026-09-10 16:51:18 +01:00
James Read 2945f7fe44 fix: eliminate concurrency races (#1117) 2026-09-10 16:50:21 +01:00
jamesreadandCursor 4c4cb7452f fix: deep-clone ActionBinding when copying log entries
Callers mutating Binding.ID or OnDashboards no longer race with
executor-owned state returned from GetLog helpers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:42:00 +01:00
James Read 3075990426 chore: enforce JavaScript quality checks (#1116) 2026-09-10 16:39:03 +01:00
jamesreadandCursor 0080f27dc4 build: exclude local and irrelevant build artifacts
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:28:34 +01:00
jamesreadandCursor 3e4aff2296 ci: align workflow coverage with shipped inputs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:27:28 +01:00
jamesreadandCursor 1458394bb5 ci: reject stale generated sources
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:26:16 +01:00
jamesreadandCursor 5f53faacd7 build: isolate compilation and generation targets
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:25:07 +01:00
jamesreadandCursor fc74df041c build: pin and provision code generation tools
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:24:09 +01:00
jamesreadandCursor bbaaf37747 chore(docs): expose documentation checks locally
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:22:13 +01:00
jamesreadandCursor a5f2e251e7 test: add Go race detector coverage
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:21:00 +01:00
jamesreadandCursor bbff2f4ba1 fix: synchronize watcher and execution log state
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:20:28 +01:00
jamesreadandCursor 98b6b9d0d2 ci: run deterministic JavaScript checks on pull requests
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:18:30 +01:00
jamesreadandCursor 4c6b6ac0fe chore(lint): enforce JavaScript checks consistently
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 16:17:52 +01:00
jamesread 688022b450 docs: Fix config casing (fix #1097) 2026-09-10 15:30:19 +01:00
jamesread e9e8a29b3f chore: standardize test names 2026-09-10 15:04:12 +01:00
jamesread 55e39ed29d chore: default target = phony 2026-09-10 13:09:55 +01:00
jamesreadandCursor 8c08a55dd8 chore: dep update
Build & Release pipeline / build (push) Canceled after 0s
Codestyle checks / codestyle (push) Canceled after 0s
Antora docs / antora (push) Canceled after 0s
Build & Release pipeline / Sign Windows artifacts (SignPath) (push) Canceled after 0s
Antora docs / trigger-docs-publish (push) Canceled after 0s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 11:41:07 +01:00
jamesread a51889c8c3 chore: regenerate proto with updated versions 2026-09-10 11:34:51 +01:00
jamesread 3b9ee1e38f chore: update vite config 2026-09-10 11:33:43 +01:00
jamesread 1a07cd3b75 chore: default target now builds most of the project 2026-09-10 11:32:27 +01:00
jamesreadandCursor b766528ecf fix: drop runner unit test from frontend CI suite
The test imported integration-tests/runner.mjs, which requires wait-on
that is not installed during frontend-unittests. pageGeneration coverage
remains in the integration test suite.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 11:11:08 +01:00
jamesreadandCursor a42b640331 fix: resolve remaining PR #1115 review items
Use AbortSignal.timeout for theme fetches, load themes without blocking
init, and add pageGeneration regression coverage for runner config changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 11:07:37 +01:00
jamesreadandCursor 1bf702da3e fix: address CodeRabbit review feedback on PR #1115
Harden entity watcher reconciliation, theme loading, and CI parallel job
waiting, and fix related UI and documentation issues raised in review.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 10:52:08 +01:00
James Read c138699b20 fix: complete entity live reload on config and UI refresh (#1112) 2026-09-10 10:14:51 +01:00
jamesreadandCursor 0cbe18b17b fix: close superseded file watcher before re-registering
When WatchFileWrite is called again for the same path, stop the prior
watcher by closing its done channel so StopFileWatch and replacement
registrations cannot leave duplicate callbacks active.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 10:10:34 +01:00
James Read 6e3cfc43db fix: omit display-name field from entity detail and list fields (#1113) 2026-09-10 10:07:08 +01:00
James Read 306ff25c2e docs: entity display names, live reload, and Docker watch limits (#1114) 2026-09-10 10:06:52 +01:00
jamesreadandCursor e943d29447 fix: address CodeRabbit review on entity live reload
Stop obsolete entity file watchers on config reload, guard callbacks
against removed paths, and ignore stale getEntities responses in the
Entities page when reload events overlap.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 10:04:51 +01:00
jamesreadandCursor ee5515f1bc fix: address CodeRabbit review on entity display-name dedup
Extract display-name lookup and field serialization helpers to stay
within cyclomatic complexity limits, pick a deterministic raw key when
field names differ only by case, and omit only that selected key from
API field responses.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 09:57:09 +01:00
jamesreadandCursor 961eaf6e3c docs: address CodeRabbit review on entity display-name docs
Remove the unconditional field-list exclusion claim, drop the incorrect
#996 release reference, document Docker ID fallback for JSON entities,
and add an explicit entity-details-page anchor for cross-references.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 09:49:55 +01:00
jamesreadandCursor 94c497988c docs: entity display names, live reload, and Docker watch limits
Document which fields become entity instance names, clarify JSON vs
docker field names, describe live reload behaviour for entity files and
new config entries, and note Docker Desktop file-watch limitations.

Part of #996

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 09:33:03 +01:00
jamesreadandCursor 845df6e9d6 fix: omit display-name field from entity detail and list fields
Entity instance titles are derived from fields such as title or name.
Do not repeat that same field in API fields or the entity details table,
which previously showed the title twice.

Part of #996

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 09:31:45 +01:00
jamesreadandCursor 6ea24149c5 fix: complete entity live reload on config and UI refresh
Sync entity file watchers when config reloads so new entity types in
config.yaml are watched without a restart. Skip duplicate fsnotify
goroutines for paths already watched.

Refresh the Entities page when EventEntityChanged or EventConfigChanged
fires, matching dashboards and entity details.

Part of #996

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 09:29:51 +01:00
James Read ec1aa3952f fix: persist blocked executions to saveLogs files (#1111)
Build & Release pipeline / build (push) Canceled after 0s
Codestyle checks / codestyle (push) Canceled after 0s
Antora docs / antora (push) Canceled after 0s
Build & Release pipeline / Sign Windows artifacts (SignPath) (push) Canceled after 0s
Antora docs / trigger-docs-publish (push) Canceled after 0s
2026-09-09 23:33:15 +01:00
jamesreadandCursor e24147c3b8 docs: clarify saveLogs writes per configured directory
Each configured resultsDirectory or outputDirectory produces its own
file; configuring only one directory writes only that file type.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 23:31:47 +01:00