본문으로 건너뛰기
LVIS AI

Agent Hub

Workboard — work-items + 보드 derived view

‘Workboard’ 는 별도 테이블이 아니라 work_items 테이블 + WorkLog append-only chain 위에 만들어진 derived view. status 열은 WorkItemStatus enum, 우선순위는 WorkItemPriority enum (CHECK 제약).

work_items + work_logs
soft-delete + signed chain
no Workboard table
Workboard — 팀 단위 업무
Work Log — 처리 이력

관련 endpoint

# api/work_board.py
GET  /api/v1/work-board/my                 # 99
GET  /api/v1/work-board/team               # 169

# api/work_items.py — prefix /work-items
POST   ""                                   # 178 create
GET    ""                                   # 247 list
GET    /{item_id}                          # 333
PATCH  /{item_id}                          # 345 update
DELETE /{item_id}                          # 400
POST   /{item_id}/complete                 # 446
POST   /{item_id}/reopen                   # 579
POST   /{item_id}/transition               # 624 transfer/state

# api/work_log.py — append-only chain
POST  /work-logs                            # 88 (idempotency_key required)
GET   /work-logs/{log_id}                  # 499
PATCH /work-logs/{log_id}                  # 555
DELETE /work-logs/{log_id}                 # 631 soft-delete (deleted_at)
POST  /work-logs/{log_id}/ack              # 697

WorkLog — append-only + signed chain

  • Idempotent insert: unique on (author_id, idempotency_key) (models.py:267).
  • Soft delete: deleted_at + deleted_by_id (:241-242) — 절대 hard delete 안 함.
  • Crypto chain: signed_at, signer_key_id, signature_envelope (:238-240).
에이전트가 카드를 만드는 패턴
에이전트가 미팅 종료 후 액션 아이템 생성 → host TODO + work-item 동시 추가 (POST /work-items). 다른 사람이 “집어오면” transition (POST /work-items/{id}/transition) 으로 ownership transfer 가 WorkLog 에 새 chunk 로 append.