Commit graph

32 commits

Author SHA1 Message Date
Gros Frumos
487aee0055 Merge branch 'KIN-UI-020-backend_dev' 2026-03-18 21:45:11 +02:00
Gros Frumos
9a426bc8a1 kin: KIN-UI-020-backend_dev 2026-03-18 21:45:11 +02:00
Gros Frumos
37a33a243f kin: KIN-UI-018-backend_dev 2026-03-18 21:44:39 +02:00
Gros Frumos
b431d9358a kin: KIN-127-backend_dev 2026-03-18 20:55:35 +02:00
Gros Frumos
e33a89c82c kin: KIN-126-frontend_dev 2026-03-18 17:34:33 +02:00
Gros Frumos
34c57bef86 kin: KIN-UI-015-backend_dev 2026-03-18 15:45:43 +02:00
Gros Frumos
e3a286ef6f kin: auto-commit after pipeline 2026-03-18 14:06:23 +02:00
Gros Frumos
95ba853b49 kin: auto-commit after pipeline 2026-03-17 22:41:47 +02:00
Gros Frumos
3d9b5766ab kin: auto-commit after pipeline 2026-03-17 18:29:32 +02:00
Gros Frumos
c767c6157a kin: auto-commit after pipeline 2026-03-17 18:23:04 +02:00
Gros Frumos
eab9e951ab kin: auto-commit after pipeline 2026-03-17 17:26:31 +02:00
Gros Frumos
18160de45e kin: auto-commit after pipeline 2026-03-17 15:59:43 +02:00
Gros Frumos
0346d50899 kin: auto-commit after pipeline 2026-03-17 14:34:16 +02:00
Gros Frumos
b6f40a6ace kin: auto-commit after pipeline 2026-03-17 14:03:53 +02:00
Gros Frumos
0ccd451b4b kin: KIN-091 Улучшения из исследования рынка: (1) Revise button с feedback loop, (2) auto-test before review — агент сам прогоняет тесты и фиксит до review, (3) spec-driven workflow для новых проектов — constitution → spec → plan → tasks, (4) git worktrees для параллельных агентов без конфликтов, (5) auto-trigger pipeline при создании задачи с label auto 2026-03-16 22:35:31 +02:00
Gros Frumos
8ebc6f1111 kin: KIN-BIZ-007 Post-MVP: шифрование credentials в project_environments через Fernet 2026-03-16 20:55:01 +02:00
Gros Frumos
4a65d90218 kin: KIN-089 При попытке добавить креды прод сервера для проекта corelock вылетает 500 Internal Server Error 2026-03-16 20:39:17 +02:00
Gros Frumos
a58578bb9d kin: KIN-BIZ-006 Проверить промпт sysadmin.md на поддержку сценария env_scan 2026-03-16 19:26:51 +02:00
Gros Frumos
531275e4ce kin: KIN-UI-003 Консистентная обработка ошибок в del() — использовать throwApiError 2026-03-16 17:44:49 +02:00
Gros Frumos
bfc8f1c0bb kin: KIN-083 Healthcheck claude CLI auth: перед запуском pipeline проверять что claude залогинен (быстрый claude -p 'ok' --output-format json, проверить is_error и 'Not logged in'). Если не залогинен — не запускать pipeline, а показать ошибку 'Claude CLI requires login' в GUI с инструкцией. 2026-03-16 15:48:09 +02:00
Gros Frumos
7630736860 kin: KIN-ARCH-006 Добавить autocommit_enabled и obsidian_vault_path в базовый SCHEMA 2026-03-16 09:57:14 +02:00
Gros Frumos
ba04e7ad84 kin: KIN-ARCH-001 Добавить серверную валидацию ssh_host для operations-проектов 2026-03-16 09:44:31 +02:00
Gros Frumos
af554e15fa kin: KIN-ARCH-004 Добавить подсказку в форму о требовании ~/.ssh/config для ProxyJump 2026-03-16 09:43:26 +02:00
Gros Frumos
d9172fc17c kin: KIN-016 Агенты должны уметь говорить 'не могу'. Если агент не может выполнить задачу (нет доступа, не понимает, выходит за компетенцию) — он должен вернуть status: blocked с причиной, а не пытаться угадывать. PM при получении blocked от агента — эскалирует к человеку через GUI (уведомление) и Telegram (когда будет). 2026-03-16 09:13:34 +02:00
Gros Frumos
d50bd703ae kin: KIN-049 Кнопка Deploy на странице задачи после approve. Для каждого проекта настраивается deploy-команда (git push, scp, ssh restart). В Settings проекта. 2026-03-16 08:21:13 +02:00
Gros Frumos
a0b0976d8d kin: KIN-021 Аудит-лог для --dangerously-skip-permissions в auto mode 2026-03-16 07:13:32 +02:00
Gros Frumos
ae21e48b65 kin: KIN-048 Post-pipeline hook: автокоммит после успешного завершения задачи. git add -A && git commit -m 'kin: TASK_ID TITLE'. Срабатывает автоматически как rebuild-frontend. 2026-03-16 06:59:46 +02:00
Gros Frumos
8a6f280cbd day 1: Kin from zero to production - agents, GUI, autopilot, 352 tests 2026-03-15 23:22:49 +02:00
Gros Frumos
4a27bf0693 feat(KIN-012): UI auto/review mode toggle, autopilot indicator, persist project mode in DB
- TaskDetail: hide Approve/Reject buttons in auto mode, show "Автопилот активен" badge
- TaskDetail: execution_mode persisted per-task via PATCH /api/tasks/{id}
- TaskDetail: loadMode reads DB value, falls back to localStorage per project
- TaskDetail: back navigation preserves status filter via ?back_status query param
- ProjectView: toggleMode now persists to DB via PATCH /api/projects/{id}
- ProjectView: loadMode reads project.execution_mode from DB first
- ProjectView: task list shows 🔓 badge for auto-mode tasks
- ProjectView: status filter synced to URL query param ?status=
- api.ts: add patchProject(), execution_mode field on Project interface
- core/db.py, core/models.py: execution_mode columns + migration for projects & tasks
- web/api.py: PATCH /api/projects/{id} and PATCH /api/tasks/{id} support execution_mode
- tests: 256 tests pass, new test_auto_mode.py with 60+ auto mode tests
- frontend: vitest config added for component tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 20:02:01 +02:00
johnfrum1234
c129cf9d95 Fix output truncation bug, add language support for agent responses
Bug 1 — Output truncation:
  _run_claude() was replacing raw stdout with parsed sub-field which
  could be a dict (not string). run_agent() then saved dict.__repr__
  to DB instead of full JSON. Fixed: _run_claude() always returns
  string output; run_agent() ensures string before DB write.
  Added tests: full_output_saved_to_db, dict_output_saved_as_json_string.

Bug 2 — Language support:
  Added projects.language column (TEXT DEFAULT 'ru').
  Auto-migration for existing DBs (ALTER TABLE ADD COLUMN).
  context_builder passes language in project context.
  format_prompt() appends "## Language\nALWAYS respond in {language}"
  at the end of every prompt.
  CLI: kin project add --language ru (default: ru).
  Tests: language in prompt for ru/en, project creation, context.

112 tests, all passing. ~/.kin/kin.db migrated (vdol: language=ru).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 14:39:33 +02:00
johnfrum1234
38c252fc1b Add task detail view, pipeline visualization, approve/reject workflow
API (web/api.py) — 5 new endpoints:
  GET  /api/tasks/{id}/pipeline — agent_logs as pipeline steps
  GET  /api/tasks/{id}/full — task + steps + related decisions
  POST /api/tasks/{id}/approve — mark done, optionally add decision
  POST /api/tasks/{id}/reject — return to pending with reason
  POST /api/tasks/{id}/run — launch pipeline in background (202)

Frontend:
  TaskDetail (/task/:id) — full task page with:
    - Pipeline graph: role cards with icons, arrows, status colors
    - Click step → expand output (pre-formatted, JSON detected)
    - Action bar: Approve (with optional decision), Reject, Run Pipeline
    - Polling for live pipeline updates
  Dashboard: review_tasks badge ("awaiting review" in yellow)
  ProjectView: task rows are now clickable links to /task/:id

Runner: output_summary no longer truncated (full output for GUI).
Models: get_project_summary includes review_tasks count.

13 new API tests, 105 total, all passing. Frontend builds clean.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 14:32:29 +02:00
johnfrum1234
3db73332ad Add core/models.py — data access functions for all 9 tables
20 functions covering: projects, tasks, decisions, modules,
agent_logs, pipelines, support tickets, and dashboard stats.
Parameterized queries, JSON encode/decode, no ORM.
21 tests, all passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 13:16:12 +02:00