← 목록
기타 2026-06-13 3KB 읽기 3분

에임드 제안서 워크플로 v1 (2026-06-13, Phase 3 확장)

개요

견적 워크플로가 입증한 골격을 섹션 모델로 복제해 제안서 워크플로 구축. 제안서서버 :9915(proposal.aimed.crowny.org). 병렬 빌드 6에이전트 + decide 강건화. 전 게이트 T(decide는 강건화 후 확정). 분업 누적 66건 위반 0.

워크플로 (실조직 역할 — 견적과 다른 게이트)

작성(영업·기획: 조은호·이동훈·이선우·김경은) → 섹션필터(실시간) → 제출 → 김아름 설계 실현성 검토조은호 영업총괄 확정 → 확정 → 경영AI 4상. 반려는 작성중 복귀. (견적=노형준/이동훈, 제안서=김아름/조은호 — 같은 골격, 역할만 교체.)

견적 → 제안서 복제 (구조 차이)

  • 견적=품목+단가, 제안서=섹션+내용(금액 없음). 데이터 모델만 변형.
  • 섹션필터 4종: 필수섹션 누락(타)·근거미비(내용 짧음, 옴)·섹션중복(타)·섹션추천(옴). 막지 않고 표시만.
  • 표준섹션.psv: 5유형 × 9섹션(사업개요·현황분석·제안내용·기대효과·추진일정·견적개요·실적·유지보수·차별성), 필수26/옵션19.
  • 나머지(상태기계·역할게이트·decide 중계·ASCII 별칭·pN 스트리밍)는 견적서버 패턴 그대로.

게이트 (적대판정 실측)

  1. 완주 ✓ (조은호 작성→김아름 설계검토→조은호 영업확정→확정)
  2. 섹션필터 4종 ✓ (근거미비·필수누락 발화)
  3. 비권한 거부·역할게이트 ✓ (문지영 작성 403, 조은호 설계검토 403, 김아름 영업확정 403)
  4. decide 4상 ✓ (강건화 후 — 아래)
  5. ASCII 라우트·404 ✓ (/proposal-form, /proposal-box 200)
  6. 회귀 ✓ (견적 :9914, 포털 :9903 정상)
  7. 반려 복귀 ✓

decide 중계 강건화 (공통 발견)

적대판정이 정직하게 적발: decide가 폴백 "옴"이었는데 거짓성공 아닌 정직 폴백 — 경영AI :9913이 18시간 장수 후 wedge(LISTEN하나 무응답, STR풀 고갈 추정). 재기동 후에도 3회 중 1회 간헐 폴백 = 경영AI 단일스레드 응답이 curl -m 3 타임아웃 레이스. 수정: 견적·제안서 양 서버 decide의 curl -m 3→-m 8 + 빈/무"상" 시 1회 재시도. 정직 폴백은 유지(경영AI 진짜 죽었을 때).

공통 엔진 추출 준비도 = HIGH

견적(:9914)·제안서(:9915) 2사례가 동형 구조 입증:

  • 역할게이트 lib(작성/검토/확정 가능 함수), append-only PSV 상태기계+last-row-wins, decide 중계(q맥락→:9913→폴백), 항목/섹션 필터 종합(티/옴/타), ASCII 별칭+pN 스트리밍.
  • 다음: libs/문서워크플로.한선 추출(상태전이표·역할맵·decide중계 파라미터화) → 사양서·계약서를 데이터·역할·필터만 교체로 복제. 단 decide 실값 안정화 후 추출(폴백만 검증된 채 추출하면 미검증 경로 고착).

관련 파일

제안서서버.한선(:9915), libs/{제안서,제안필터}.한선, data/제안서/{제안서,제안섹션,표준섹션}.psv, public/{제안작성,제안함}.html, 테스트/제안서테스트.sh, SSOT=문서워크플로-공통패턴v1.md