Commit Graph

105 Commits

Author SHA1 Message Date
nova28 c539cb8149 feat(scripts): add pr-await CI gate to collapse PR polling into one call (#2873)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-21 11:06:13 +01:00
nova28 e8e3a11262 fix(scripts): make pr-state work on macOS's stock bash and jq 1.6 (#2871)
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-21 10:34:55 +01:00
João Manso 84a132399d fix(build): make dev-prod-db honor env KANDEV_DATABASE_PATH / KANDEV_HOME_DIR (#2834)
Co-authored-by: Joao Manso <X363081@bcpcorp.net>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-20 11:08:18 +01:00
João Manso 263cbab560 fix(backend): set LC_ALL=C for CGO Make targets under Git Bash on Windows (#2720)
Co-authored-by: Joao Manso <X363081@bcpcorp.net>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-18 16:53:35 +00:00
João Manso a4c346c419 fix(build): silence Windows mkdir "already exists" noise in build logs (#2753)
Co-authored-by: Joao Manso <X363081@bcpcorp.net>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-18 06:55:54 +00:00
Carlos Florêncio ac08c1df5c feat: automate Scoop stable releases (#2517) 2026-08-16 21:12:19 +00:00
José Almeida f218880ecb feat(plugins): add source-control extension contracts (#2117) 2026-08-13 08:29:29 +01:00
Carlos Florêncio be966f410f ci: harden GHCR release publishing (#2573) 2026-08-12 19:01:01 +01:00
Carlos Florêncio b4a84f8212 docs: prevent em dashes in public copy (#2516) 2026-08-12 11:13:25 +01:00
Carlos Florêncio a63cbf3d85 feat: duplicate workflow drafts (#2539) 2026-08-12 11:12:56 +01:00
José Almeida 6732c16385 feat: make status bar a default-off appearance preference (#2523) 2026-08-12 00:25:58 +01:00
João Salavisa 9de669558b feat!: move voice mode into task behavior (#2534)
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-08-11 23:29:46 +02:00
Carlos Florêncio 58e7be4b78 chore: improve agent harness guidance (#2185) 2026-08-11 08:28:25 +01:00
Carlos Florêncio 4f2cf8f9df fix: separate debug and development launch profiles (#2487) 2026-08-10 15:44:31 +01:00
José Almeida 7968691dc1 fix(release): preserve Homebrew formula version (#2488) 2026-08-10 15:06:16 +01:00
Alassane 6aa967f873 fix(plugins): correct stale plugin-hook availability claims (#2309)
Co-authored-by: ayattara <alassane.yattara@savoirfairelinux.com>
2026-08-10 10:14:46 +01:00
José Almeida 774ce6d9b4 feat: add source runtime bundle target (#2277) 2026-08-07 12:58:53 +01:00
nova28 6eaab90d9f feat: add mid-turn steering for Claude ACP sessions (#2241)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-08-06 11:28:18 +01:00
Carlos Florêncio c3fd434a24 refactor: remove unused Virtuoso code (#2224) 2026-08-04 22:15:32 +01:00
José Almeida 1d5c3e3f5f feat: add npm nightly release channel (#2126) 2026-08-04 00:45:50 +01:00
Carlos Florêncio bb71233826 chore: add architecture lint guardrails (#2168) 2026-08-03 22:40:29 +01:00
Carlos Florêncio 62d4522e0f feat: add file-backed diagnostic log bundles (#2087) 2026-08-02 20:14:53 +01:00
Carlos Florêncio 5182cfb95a chore: improve harness guidance and ACP debugging (#1969) 2026-08-01 18:35:14 +01:00
Carlos Florêncio 9f7662d540 ci: authenticate docs preview build (#2115) 2026-07-31 21:52:05 +01:00
Carlos Florêncio a1db95d484 refactor(harness): simplify model routing (#1973) 2026-07-27 10:48:00 +01:00
João Manso 7d8fcc0a76 fix(scripts): make pr-state work with native jq on Windows (#1958) 2026-07-26 21:11:00 +01:00
João Manso cc340ae5f2 fix(build): make Makefile $(shell) probes work under native Windows cmd (#1953) 2026-07-26 11:40:55 +01:00
Carlos Florêncio 3d7b43e37b chore: improve harness workflow guidance (#1941) 2026-07-25 19:30:58 +01:00
João Manso 6fedac6c64 fix(build): support make dev on native Windows (#1886) 2026-07-24 12:08:22 +01:00
Carlos Florêncio a225fbac3e ci: harden trusted PR review evidence (#1896) 2026-07-23 16:22:50 +01:00
Carlos Florêncio 5a691ea8b2 chore: improve harness verification guidance (#1777) 2026-07-18 19:08:55 +01:00
José Almeida cc86b17c96 docs: place Office warnings within feature sections (#1764)
* docs: place Office warnings within feature sections

* test(docs): cover substantive status sections

* docs: attach experimental badges to Office features

* test(docs): cover callouts without section headings
2026-07-17 22:53:48 +01:00
José Almeida 4757fffdea docs: reframe feature guides and mark experimental surfaces (#1760)
* docs: reframe feature guides and mark experimental surfaces

* fix: tighten task demo framing

* fix: validate experimental page status

* docs: anchor experimental office status

* fix(ci): isolate Wrangler preview install

* docs: complete focused camera example

* fix(ci): use valid Wrangler package name
2026-07-17 16:45:10 +01:00
José Almeida c633b8faa1 docs: overhaul public product guides (#1749)
* docs: overhaul public product guides

* fix(docs): address review findings

* docs: clarify validation contracts

* docs: complete validator API contracts

* docs: clarify validator existence check
2026-07-17 11:30:37 +01:00
João Salavisa 9381a6a9f7 feat(mcp): session spawning, sibling messaging, and renameable tabs (#1734)
* fix(scripts): launch dev-isolated backend via __backend subcommand

The kandev binary became a bundle launcher with the restart supervisor
(ADR 0019) and exits without KANDEV_BUNDLE_DIR when invoked bare; the
isolated dev instance must run the backend entrypoint directly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat(mcp): session spawning, sibling messaging, and renameable tabs

- spawn_session_kandev spawns an additional agent session on an existing
  task (default: the caller's own) via LaunchSession(IntentStart), with
  optional agent_profile_id (defaults to the spawner's profile) and a
  session name; the initial prompt carries spawner attribution and reply
  instructions.
- message_task_kandev accepts an optional session_id to target a specific
  session, enabling same-task sibling messaging. Explicit targets are
  pinned through dispatch so the idle-path primary-session re-resolution
  cannot reroute a sibling message back to its sender (regression-tested).
- task_sessions gains a name column (migration ordered after the
  agent_execution_id-drop rebuild), a session.rename WS action, and inline
  tab rename UI; custom names take precedence over derived agent/model
  labels across the tab, agents dropdown, mobile list, chat header, and
  dockview panel titles.
- Inter-session messages stamp sender_session_name into metadata so the
  sender badge shows which session sent the message.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(mcp): address review findings on session spawn/rename/messaging

- include name in task-session DTOs (list + full, no omitempty) so
  persisted tab names survive list hydration and clears propagate
- sanitize sender task/session ids embedded in <kandev-system> blocks
- reject cross-workspace spawn targets; require sender_task_id
- truncate session names by runes, not bytes
- distinguish not-found from internal errors in message target lookup
- guard TabRenameInput blur-commit after Enter/Escape resolution
- cap optimistic rename length client-side and toast on rename failure
- add tests: spawn launch-failure and cross-workspace paths, renameSession
  API client

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(mcp): round-two review fixes for spawn/rename lint and hardening

- extract spawn validation/authorization helpers (cyclop/nestif limits)
- make stripSystemTag replace until stable to block nested tag evasion
- load session before rename so a durable rename can never skip its
  broadcast; surface lookup failures to the caller instead
- drop redundant sessionLauncher nil check (guarded registration)
- add maxLength to the rename input matching the server cap
- add tests: nested sanitizer evasion, spawn rename-failure tolerance

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Kandev Agent <agent@kandev.dev>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 17:26:50 +01:00
Carlos Florêncio 4e162bf563 fix(release): build macOS updater bundles (#1733) 2026-07-16 15:31:03 +01:00
José Almeida 2549704bc1 docs: separate user and contributor documentation paths (#1729)
* docs: expand public user and contributor guides

* docs: address public guide review feedback

* docs: align web e2e coverage guidance

* test: cover collapsed docs references

* fix: validate shortcut docs references

* fix: parse balanced docs links

* fix: handle indented docs code blocks
2026-07-16 15:13:21 +01:00
Carlos Florêncio c784dfcc91 fix(release): use Bash 3.2-safe artifact verifier (#1730) 2026-07-16 12:31:31 +01:00
Carlos Florêncio 460ec9ff2f fix(release): validate updater signing from workflow revision (#1726) 2026-07-16 10:59:13 +01:00
José Almeida 66e03d5287 docs: own public documentation metadata (#1713) 2026-07-16 08:32:40 +01:00
Carlos Florêncio d763b8c0c9 feat(desktop): add native app integrations (#1715) 2026-07-15 23:19:00 +01:00
Carlos Florêncio 4f717be720 chore: improve harness reliability (#1716) 2026-07-15 23:17:33 +01:00
Carl Sue 9722a39639 fix(ssh-executor): forward agent creds, fix terminal host config, restore linux/arm64 (#1559)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
2026-07-09 09:20:07 +01:00
Carlos Florêncio 818e9c7abc chore: improve harness feedback workflow (#1561) 2026-07-01 07:54:19 +01:00
Carlos Florêncio 2d73a3d1db fix: keep completed office comments editable (#1548)
* fix: keep completed office comments editable

Keep the office task detail composer editable after completed sessions load,

including projectless office tasks.

Update verification tests for SHA-pinned GitHub actions. Extract the

dockview main area to satisfy the existing max-lines lint rule.

* fix: preserve upload artifact version guard

* fix: clarify upload artifact pin check

* fix: wake completed office sessions on comments

* fix: queue completed office comment runs

* fix: preserve dispatcher session lookup errors

* fix: resolve office comment wake review issues

* fix: stabilize comment wake idempotency

* fix: salt custom comment wake keys

* fix: address comment wake review cleanup

* fix: avoid comment payload allocation overflow pattern

* fix: salt comment wake action variants

* fix: resolve cross-task primary by target step

* fix: resolve cross-task participant roles

* fix: surface cross-task comment run status

* fix: use target steps for cross-task queue runs

* fix: avoid comment run lookup scan regression

* fix: cover cross-task queue run edge cases

* fix: index comment payload run lookup

* fix: support postgres comment run index

* fix: tighten queue run target test coverage

* fix: route source comment run updates

* fix: preserve cross-task comment wakes

* fix: tighten comment wake identity

* fix: align comment wake routing

* fix: remove stale primary resolver

* fix: dedupe comment run status

* fix: tighten legacy comment wake dedupe

* fix: remove unreachable comment wake guard

* fix: skip duplicate comment reactivity wakes

* fix: route comment wakes synchronously

* fix: share comment engine dispatch contracts

* fix: preserve comment wake fallbacks

* fix: preserve done comment runner

* fix: guard empty task runner fallback

* fix: handle empty task runner fallback

* fix: stabilize completed comment wakes

* fix: index comment runner fallback

---------

Co-authored-by: root <root@kandev.ts.net>
2026-06-30 13:10:40 +01:00
Carlos Florêncio f5dc6e2322 fix: persist task create last-used selections (#1550)
* fix: persist task create last-used selections

Record final task-create selections server-side.

Make dialog restore wait for backend settings before localStorage fallback.

Update pinned-action verification tests and split dockview rendering for lint.

* fix: address task create PR feedback

* fix: resolve task create review follow-ups

* test: cover task create service recording

* fix: address task create review regressions

* fix: avoid recording generated fresh branches

* fix: skip repo-only last-used task records

* fix: make task create settings updates atomic

* fix: clear stale task create cache

* fix: clear synced task create overlay

* fix: address task create review feedback

* fix: queue cached repository autopick

* fix: preserve partial task create settings

* fix: replace task create queued overlay

* fix: clear branch when recording repository

* test: cover task create queued payload

* test: remove unused user service helper

---------

Co-authored-by: root <root@kandev.ts.net>
2026-06-30 02:35:21 +01:00
Carlos Florêncio bffbc8e96f ci: add harness file linter (#1549)
* ci: add harness file linter

* ci: address harness linter review feedback

* ci: cover codex harness config linting

* ci: tighten harness lint opt-ins

* ci: expand harness lint coverage

* ci: address harness linter review feedback

* ci: fix harness linter review followups

* ci: lint claude settings harness config

* ci: tighten harness linter coverage

* ci: fail malformed harness toml

---------

Co-authored-by: root <root@kandev.ts.net>
2026-06-30 00:25:34 +01:00
Carlos Florêncio ec942540bc ci: harden action pinning lint (#1545)
* ci: harden action pinning lint

* refactor: extract dockview review dialog slot

* test: cover action pinning edge cases

* fix: reject dynamic workflow action sources

* fix: normalize quoted workflow action refs

* test: cover quoted unpinned action refs

---------

Co-authored-by: root <root@kandev.ts.net>
2026-06-29 21:42:57 +01:00
Carlos Florêncio f3b26dbc5a feat: support remote macos ssh hosts (#1534) 2026-06-29 19:06:33 +01:00
Carlos Florêncio 7a43a5bfbe ci: build unsigned desktop artifacts without signing secrets (#1530) 2026-06-29 11:02:38 +01:00