Commit graph

55 commits

Author SHA1 Message Date
Brad Groux
528b348c59
ci: reserve full test suites for milestones (#1108) 2026-07-26 00:50:42 -05:00
Brad Groux
9cf0ccb96c
chore: enforce delivery timebox (#1069) 2026-07-25 16:46:49 -05:00
Brad Groux
34e4c8d13b
fix: reject ambiguous focused test wrappers (#1060) 2026-07-25 06:31:50 -05:00
Brad Groux
abf407a8ac
fix: prevent broad verification policy drift (#1049)
* fix: prevent broad verification policy drift

* ci: keep cadence controls out of workspace tests
2026-07-25 04:27:01 -05:00
Brad Groux
3ee290c0dc fix: prevent focused test suite expansion 2026-07-25 03:33:00 -05:00
Brad Groux
0d5ebb3a7a
fix: guard sustainable delivery cadence (#1042) 2026-07-25 02:08:15 -05:00
Brad Groux
9f03c0bc06
fix: keep release notes full width (#1029) 2026-07-25 00:04:11 -05:00
Brad Groux
450f2df4a2
fix: use intentional release note lists (#1027) 2026-07-24 23:39:54 -05:00
Brad Groux
6e7bb4ffee
fix: keep release notes full width (#1026) 2026-07-24 23:12:47 -05:00
Brad Groux
3fffd5f81d
fix: allow natural release note wrapping (#1023)
Some checks are pending
CI / Lint & Type Check (push) Waiting to run
CI / Changed Tests (push) Blocked by required conditions
CI / Select Test Scope (push) Waiting to run
CI / Workspace Unit Tests (push) Blocked by required conditions
CI / Build (push) Waiting to run
CI / Security Audit (push) Waiting to run
Desktop Artifacts / Unsigned macOS Artifact (push) Waiting to run
Desktop Artifacts / Unsigned Linux Artifacts (push) Waiting to run
Desktop Artifacts / Unsigned Windows Artifacts (push) Waiting to run
2026-07-24 21:48:07 -05:00
Brad Groux
c0c15a4497
fix: prevent broken release note layouts (#1022)
Closes #1020
2026-07-24 21:08:48 -05:00
Brad Groux
74647256bc
fix: enforce full-width release notes (#1021) 2026-07-24 20:22:12 -05:00
Brad Groux
c3da853006
fix(ci): read full-suite evidence from stdin (#1016) 2026-07-24 18:58:42 -05:00
Brad Groux
508c45fcd3
fix(ci): verify executed full-suite steps (#1015) 2026-07-24 18:47:23 -05:00
Brad Groux
5fc3fbdb5e
perf(ci): suppress cosmetic label runs (#1013) 2026-07-24 18:33:29 -05:00
Brad Groux
3a73662b9c
chore(release): prepare v6.0.2 desktop hotfix (#1011) 2026-07-24 18:01:56 -05:00
Brad Groux
4ed08b32c1 ci: make test scope path-aware 2026-07-24 16:24:54 -05:00
Brad Groux
1bd43f9279
release: Veritas Kanban 6.0.0 (#985)
* build: prepare 6.0.0 release

* docs: link the 6.0.0 release pull request
2026-07-24 11:26:25 -05:00
Brad Groux
0fbd9ee428
feat: add run-scoped tool control plane (#959)
Some checks are pending
CI / Lint & Type Check (push) Waiting to run
CI / Changed Tests (push) Waiting to run
CI / Workspace Unit Tests (push) Waiting to run
CI / Build (push) Waiting to run
CI / Security Audit (push) Waiting to run
Desktop Artifacts / Unsigned macOS Artifact (push) Waiting to run
Desktop Artifacts / Unsigned Linux Artifacts (push) Waiting to run
Desktop Artifacts / Unsigned Windows Artifacts (push) Waiting to run
* feat: add run-scoped tool control plane (#857)

* test: align provider capability fixtures
2026-07-24 05:10:20 -05:00
Brad Groux
ce0837a3e6
fix: verify macOS desktop readiness (#929) 2026-07-23 16:37:16 -05:00
Brad Groux
44d1611741
feat: add governed SQLite journal maintenance (#884)
Some checks are pending
CI / Lint & Type Check (push) Waiting to run
CI / Workspace Unit Tests (push) Waiting to run
CI / Build (push) Waiting to run
CI / Security Audit (push) Waiting to run
* feat: add governed SQLite journal maintenance

* fix: update permission coverage for SQLite maintenance

---------

Co-authored-by: bradgroux <brad@digitalmeld.io>
2026-07-15 20:00:58 -05:00
Brad Groux
e781d30842
fix: externalize Electron runtime in desktop builds (#817)
Some checks are pending
CI / Lint & Type Check (push) Waiting to run
CI / Workspace Unit Tests (push) Waiting to run
CI / Build (push) Waiting to run
CI / Security Audit (push) Waiting to run
Fixes #809
2026-07-12 16:18:42 -05:00
Brad Groux
4d7c29b73a
fix: normalize security artifact paths to lowercase before matching (#807)
Some checks are pending
CI / Lint & Type Check (push) Waiting to run
CI / Workspace Unit Tests (push) Waiting to run
CI / Build (push) Waiting to run
CI / Security Audit (push) Waiting to run
Fixes case-sensitivity regression where prohibited paths like
'.VERITAS-KANBAN/security.json' would not be caught on Linux CI,
even though they alias protected paths on case-insensitive systems.

Changes:
- Normalize candidate paths to lowercase in findSecurityArtifactViolations()
- Add comprehensive test file (security-artifacts-guard.test.ts) with:
  * Unit tests for path normalization and matching
  * Mixed-case variant detection
  * NUL-delimited Git output handling
  * Integration tests with isolated temporary Git repositories
  * Edge cases: spaces, nested paths, untracked files
  * Diagnostic message validation

Security verification:
- All security-related tests pass
- Auth middleware tests pass
- Typecheck passes
- Lint budget at 600 (limit)
- Guard invocation verified against live repository

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-07-10 13:01:36 -05:00
Brad Groux
013c2b5383
Fix audit follow-up gates
Fix audit follow-up gates

- remove gray-matter and use local YAML frontmatter handling
- upgrade DOMPurify and clear production advisories
- make CLI/MCP smoke skip cleanly without VK_API_KEY
- reduce initial JS below the Mantine QA budget

Closes #753
Closes #754
Closes #755
2026-06-26 14:59:20 -05:00
Brad Groux
881af11685
Fix desktop release blockmap regeneration
Some checks failed
CI / Lint & Type Check (push) Has been cancelled
CI / Workspace Unit Tests (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
Resolve the Electron Builder 26 blockmap module directly for notarized DMG blockmap regeneration.
2026-06-12 03:38:05 -05:00
Brad Groux
ac0687ac72
Prepare v5.0.1 patch release
Bump Veritas Kanban to v5.0.1, update release docs, and fix the local macOS packaging smoke check.
2026-06-12 03:19:52 -05:00
dependabot[bot]
31359ebebf
build(deps): bump @eslint/js to 10.0.1
* build(deps-dev): bump @eslint/js from 9.38.0 to 10.0.1

Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.38.0 to 10.0.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v10.0.1/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 10.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Resolve eslint js 10 lint failures

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
2026-06-09 06:16:16 -05:00
Brad Groux
8b0ec6836b
build(desktop): isolate local release staging
* build(desktop): isolate local release staging

* Require Apple Silicon for local macOS smoke

---------

Co-authored-by: bradgroux <brad@digitalmeld.io>
2026-06-09 05:47:35 -05:00
Brad Groux
ccdd55ce0b
ci(desktop): validate notarization credential modes
* ci(desktop): validate notarization credential modes

* Sanitize notarization failure output

---------

Co-authored-by: bradgroux <brad@digitalmeld.io>
2026-06-09 05:47:32 -05:00
Brad Groux
d3fed82a61
Resolve app-builder for release finalization (#687) 2026-06-06 09:58:24 -05:00
Brad Groux
cb98addc77
Notarize DMG release assets before upload (#686) 2026-06-06 09:43:17 -05:00
Brad Groux
29630c7e4b Prepare v5.0.0 release 2026-06-05 18:16:43 -05:00
Brad Groux
7005ea7bdd
Add CLI MCP compatibility smoke
Add CLI MCP compatibility smoke
2026-06-05 15:28:53 -05:00
Brad Groux
e840c43d07
Move pnpm settings to workspace config (#630) 2026-06-05 08:15:47 -05:00
Brad Groux
4d6fb59a83 Fix desktop artifact CI packaging 2026-06-04 01:52:14 -07:00
Brad Groux
a42988a3e2 Ratcheting lint warning budget 2026-06-04 00:16:42 -07:00
Brad Groux
72715f229f
Add v5 release readiness docs (#546) 2026-06-03 07:49:26 -07:00
Brad Groux
e6c15c036d Add Mantine QA release gate 2026-06-01 14:17:56 -07:00
Brad Groux
f0dceac22f
Add macOS desktop release pipeline (#473) 2026-05-31 17:48:50 -05:00
Brad Groux
522162ae89
test: add v5 permission coverage manifest gate
## Summary

- adds a v5 permission coverage manifest with classifications, required permissions, denial reasons, and review justifications across REST, WebSocket, CLI, MCP, workflow, transition hook, command palette, and background job surfaces
- adds a Node-based coverage checker that fails when tracked surfaces are missing from the manifest or when REST route prefixes drift from the shared permission map
- wires the checker into CI and documents the manifest gate in the security guide

Closes #420.

## Verification

- `node scripts/check-permission-coverage.mjs`
- `./node_modules/.bin/prettier --check package.json .github/workflows/ci.yml scripts/check-permission-coverage.mjs docs/security/permission-coverage.json docs/security.md`
- `git diff --check`
- `pnpm lint:budget`
- `pnpm build`
- `pnpm audit --prod --audit-level=high` (passes high gate; 3 existing moderate findings)
- GitHub Actions: Build, Lint & Type Check, Security Audit, Workspace Unit Tests
2026-05-31 05:02:26 -05:00
Brad Groux
d3976f1d74 chore: harden audit findings and release QA
Add release validation and scheduled QA workflows.

Harden webhook URL handling, API helper edge cases, and runtime version reporting.

Split heavy web bundles, centralize view metadata, and stabilize full-suite tests.
2026-05-16 18:59:40 -05:00
Brad Groux
ef9e88ca1d feat: add qmd index maintenance 2026-05-04 03:10:16 -05:00
Brad Groux
f0f7d7b03e feat: add qmd search foundation 2026-05-04 02:35:00 -05:00
Brad Groux
8cce9f24c4 feat: Squad chat protocol scripts, system events, model attribution
- Add squad-post.sh for regular agent messages
- Add squad-event.sh for lifecycle events (spawned/completed/failed/status)
- Add model field to squad messages (types, server, UI, scripts)
- System events render as divider lines in squad chat panel
- Model attribution displays next to agent names in UI
- Full protocol documented in SQUAD-CHAT-PROTOCOL.md
- Updated CONTRIBUTING.md, README.md, and all SOPs
- Added VK_HOST/VK_PORT env vars to .env.example

4-check cross-model review: 10/10 (Code/GPT-5.1, Func/Grok, Perf/Grok, Sec/GPT-5.1)
Agents: R2-D2 (feature), TARS/CASE/Ava/K-2SO (reviews)
2026-02-07 13:04:17 -06:00
Brad Groux
a249dee1fb Merge: Squad chat, webhooks, delegation, polling + critical security fixes
Feature branches merged:
- Agent squad chat with real-time WebSocket updates
- Broadcast notifications (priority levels, read receipts)
- Task deliverables as first-class objects
- Efficient polling endpoint with change tracking
- Approval delegation / vacation mode

Security & stability fixes:
- Fix: path traversal vulnerability in broadcast storage
- Fix: TOCTTOU race condition in broadcast.markRead()
- Fix: double cache invalidation in squad chat
- Fix: file locking consistency for concurrent writes
- Add: default agent display name handling

Improvements:
- React.memo for message bubbles (perf)
- Save-on-blur for display name input
- Auto-scroll to latest in squad chat
- OpenClaw gateway wake integration
- One-agent-per-file development rule (CONTRIBUTING.md)

All reviews passed (code, functionality, performance, security)
27 files changed, comprehensive test coverage added

v2.0.0 ready for production
2026-02-07 11:30:52 -06:00
Brad Groux
eeb11ba219 feat(US-1600): Complete SOP Sprint + fix GH-86 & GH-87
Documentation (8 new files in docs/):
- GETTING-STARTED.md: 5-min quickstart, BoardKit insights, sanity checks
- SOP-agent-task-workflow.md: Full lifecycle (claim → work → complete)
- SOP-sprint-planning.md: Epic → sprint → task hierarchy + estimation
- SOP-multi-agent-orchestration.md: PM + worker roles, handoff patterns
- SOP-cross-model-code-review.md: Claude ↔ GPT gate, checklist, RF-002 ref
- BEST-PRACTICES.md: 10 DOs + 10 DON'Ts based on real usage
- EXAMPLES-agent-workflows.md: 6 copy/pasteable recipes (feature, bug fix, docs, audit, content, research)
- TIPS-AND-TRICKS.md: CLI shortcuts, keyboard shortcuts, integrations (MCP, git worktrees, Obsidian)
- README.md: Added 'Documentation Map' linking all new docs

Bug Fixes:
- fix(GH-86): BulkActionsBar now handles archive errors gracefully
  * Per-task error tracking (replaces Promise.all)
  * Toast notifications on success/partial/failure
  * Logs individual failures to console

- fix(GH-87): Sidebar metrics now stay in sync with board state
  * Invalidate metrics cache when task status changes
  * Prevents up-to-30s lag in sidebar counts
  * Preserves timer state during mutations

Scripts:
- scripts/dev-clean.sh: Added explicit pnpm path resolution for launchd
- scripts/dev-watchdog.sh: Fixed restart storm prevention + pnpm path

BREAKING: None
TESTING:
- Manual: Bulk archive Done column tasks, verify toasts appear
- Manual: Move tasks between columns, verify sidebar counts update <2s
- Unit: Consider regression tests for metrics invalidation
2026-02-04 08:18:01 -06:00
Brad Groux
d98c8c6615 Dev reliability: add /api/health, dev:clean, and dev watchdog 2026-02-03 23:41:10 -06:00
Brad Groux
855dbfc850 Revert "Dev reliability: add /api/health, dev:clean, and dev watchdog"
This reverts commit a1c19d5772.
2026-02-03 23:40:53 -06:00
Brad Groux
a1c19d5772 Dev reliability: add /api/health, dev:clean, and dev watchdog 2026-02-03 23:37:15 -06:00
Brad Groux
a2aa5053c6 feat: add seed data and first-run auto-seeding for clean public repo
- Remove tracked personal attachment screenshots from git
- Add tasks/attachments/ and tasks/archive-attachments/ to .gitignore
- Create 4 example tasks showcasing features (auth, bug, research, automation)
- Add seedIfEmpty() to TaskService for automatic first-run seeding
- Add pnpm seed script for manual seeding
- Update README quickstart with seed docs
- Fix version badge mismatch (1.1.0 → 1.0.0)
2026-01-29 15:45:38 -06:00