Commit graph

18 commits

Author SHA1 Message Date
9066022825 chore: sync core service scheduler, workflow, storage, and SQL queries
- Update tasks.sql.go with new query mappings
- Add scheduler job definitions and tests
- Extend storage store with new methods
- Update workflow lifecycle and service tests
- Add task query definitions for authoring
2026-06-21 22:23:15 +09:00
af78e429e3 chore: archive finalized files and update workflow lifecycle 2026-06-21 16:55:01 +09:00
1a99b3d04b fix(scheduler): skip task finalizer when Ref.ID is empty for missing-create jobs
On the missing-create path, SyncCreation creates a new Plane work item and
returns SyncActionProjected before any workflow task has been registered for
the new work item UUID. Calling CompleteTaskByExternalRef with an empty Ref.ID
caused pgx.ErrNoRows → River retry → reconcile returning not_ready, leaving
only develop_matched recorded.

Fix 1 (roadmap_sync_jobs.go): guard CompleteTaskByExternalRef with args.Ref.ID != ""
so missing-create jobs complete cleanly without retrying.

Fix 2 (workflow/service.go): CompleteTaskByExternalRef now returns (zero, false, nil)
when GetTaskByExternalRef returns pgx.ErrNoRows, so reconcile jobs that have no
registered workflow task also complete cleanly rather than triggering retry loops.

Also adds PLANE_PROJECT_ID to docker-compose.yml environment so the missing-create
bridge receives non-empty tenant/project inputs at runtime.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 13:45:48 +09:00
8157ba060b update core services and move progress files to archive 2026-06-20 19:25:18 +09:00
afb26e67ed feat: complete work item creation sync milestone - slot finalizer, live cycle smoke test, archive completed subtasks
- Add slot_finalizer.go for terminal state management
- Add live cycle smoke test documentation
- Archive completed subtasks (slot terminal state, live cycle smoke)
- Update scheduler jobs and workflow service for roadmap sync
- Update authoring request/result handlers
- Update milestone documentation
2026-06-16 10:06:58 +09:00
ef4c2191ce feat(core): scheduler jobs 및 workflow 서비스 개선, 코드 리뷰 아카이브
- scheduler: roadmap_sync_jobs, river 개선 및 테스트 추가
- workflow: lifecycle, model, service 수정 및 테스트 보완
2026-06-15 22:16:11 +09:00
a6625fd0eb feat: webhook idempotency & test improvements
- Move 03+02 idempotency docs to archive (2026/06)
- Add task_store_test.go for storage layer testing
- Improve plane_webhook_test.go (handle_null_external_id support)
- workflow/service.go: idempotency guard for duplicate webhook events
- workitempipeline/service.go: pipeline step error handling fix
- workitempipeline/service_test.go: test alignment with pipeline changes
2026-06-15 17:36:37 +09:00
bbb1179194 feat(work-item-pipeline): 작업자 외부 참조 중복 처리 및 고유 인덱스 추가
Tasks 테이블에 external_provider, external_id 기반 UPSERT 로직을 추가하고
GetTaskByExternalRef 쿼리를 신설하여 중복 작업을 효율적으로 처리한다.

외부 참조 고유 인덱스 마이그레이션(00008)을 추가한다.

Workspace slots 쿼리에서 alias를 명시하여 FOR UPDATE SKIP LOCKED 동시성 처리를 개선한다.

Storage, workflow, workitempipeline의 중복 처리 로직을 일관되게 적용하고
Plane 웹훅 테스트를 보강한다.
2026-06-15 14:58:59 +09:00
dd0c4d953b feat: workspace provision pipeline archive and authoring result, scheduler fixes 2026-06-14 05:50:29 +09:00
6ab8dd8f63 feat: authoring bridge implementation and scheduler improvements
- Add authoring adapter for openai integration
- Move 02+01_iop_authoring_bridge to archive
- Update scheduler jobs and workflow lifecycle
- Enhance openai client and model definitions
2026-06-13 20:47:09 +09:00
f862d5c646 fix: workflow scheduler and lifecycle bug fixes 2026-06-01 11:05:40 +09:00
cbcbd63e0d feat: workflow scheduler and lifecycle improvements 2026-06-01 11:03:02 +09:00
6f383f1213 workflow: enqueue failure 시 Lifecycle를 통해 task를 failed 상태로 전환
- enqueuer가 설정되지 않은 경우에도 FailTask를 호출하여 task 상태를 failed로 표시
- scheduler/jobs.go에 책임 경계 주석 추가
- README에 작업 라이프사이클 책임 경계 문서 추가
- EnqueueTask 실패 시 lifecycle를 통한 상태 전이 테스트 추가
2026-06-01 10:48:29 +09:00
d7aafc47d3 refactor(workflow): task lifecycle를 별도 레이어로 분리하고 interface 추상화한다
- Lifecycle에 taskStore interface를 도입해 storage 의존성 추상화
- validTaskStatus, terminalTaskStatus, canEnqueueStatus helper 함수로 상태 검사 로직 분리
- QueueTask 메서드를 Lifecycle로 이동해 상태 전이 통합 관리
- Service에 lifecycle 필드 추가하고 EnqueueTask에서 lifecycle 활용
- lifecycle 전이 검증 및 enqueue 흐름 테스트 추가
2026-06-01 10:23:08 +09:00
4b6951cfa8 feat: notification 및 workflow 기능 개선
- notification 서비스 테스트 추가
- workflow lifecycle 관리 구현
- config, scheduler, workflow 서비스 개선
2026-05-24 19:36:43 +09:00
e7ddbcdfed feat: add task metadata migration and update workflow service
- Add migration for task metadata column (00003)
- Update workflow model and service with metadata support
- Update database layer (models, queries) for metadata field
- Update storage store to handle metadata
- Update roadmap documents and milestones
2026-05-24 18:10:40 +09:00
424de604ee feat: plane integration and workflow updates
- Add plane adapter client with test coverage
- Add task external refs migration
- Update workflow service with tests
- Add HTTP handler tests
- Update router and middleware tests
- Update database models and queries
- Update scheduler jobs
- Update storage store
- Update server main and docker-compose
- Update roadmaps and documentation
2026-05-22 13:37:47 +09:00
11490df648 chore: import nomadcode-core into services/core
git-subtree-dir: services/core
git-subtree-mainline: 6f5e3a119f
git-subtree-split: 6fdbc73753
2026-05-21 13:35:20 +09:00