위시켓
경력근거: FDE들이 고객에게 제공한 시스템과 업무 프로세스 변화 등을 내부에서 관리하며
※ 실제 산출물이 아닌 AI 예측 시안입니다.
공고는 이 자리를 'AIDP IRE는 FDE의 업무 효율을 높이기 위한 내부 도구와 시스템을 구축, 발전시키고 FDE의 역량을 자산화하는 엔지니어입니다' 로 정의하고, 주요 업무에 'FDE들이 고객에게 제공한 시스템과 업무 프로세스 변화 등을 내부에서 관리하며' 를 적었습니다. 그 관리의 첫 칸이 단계마다 무엇이 넘어왔는지를 표로 세우는 일이라, 이 도구는 고객 화면이 아니라 사내 엔지니어의 터미널에서 도는 CLI 로 만들었습니다. 자격요건의 'SQL을 능숙하게 다룰 수 있으며' 도 인계 기록을 게이트 규격과 맞추는 이 집계에 그대로 쓰입니다. 이 포트폴리오는 규격을 데이터로 두고 인계 기록과 맞춰 사유를 정하는 기술을 보여주며, 중소·중견 기업의 AX 컨설팅 전문성은 주장하지 않습니다. 모르는 깊이는 면접에서 모른다고 말하는 편이 낫습니다.
공고는 이 자리를 'AIDP IRE는 FDE의 업무 효율을 높이기 위한 내부 도구와 시스템을 구축, 발전시키고 FDE의 역량을 자산화하는 엔지니어입니다' 로 정의하고 '고객이 아닌 위시켓의 FDE를 위해 일하며' 라고 다시 못박습니다. 이 도구를 켜는 사람은 고객사 담당자가 아니라 사내 엔지니어입니다.
'FDE들이 고객에게 제공한 시스템과 업무 프로세스 변화 등을 내부에서 관리하며, 고객의 변화에 기민하게 대응해 새로운 프로젝트 또는 확장으로 이어갑니다' 가 주요 업무입니다. 넘긴 뒤의 관리가 이 자리의 일이라, 무엇이 넘어왔고 무엇이 안 넘어왔는지를 아는 것이 그 앞에 옵니다.
'SQL을 능숙하게 다룰 수 있으며, 데이터베이스에 대한 깊은 이해를 보유하신 분' 이 자격요건에 있고 'ERP, CRM, BI, AI, 클라우드, 인프라 영역' 경험을 우대합니다. 단계별 인계 기록을 표로 두고 게이트 규격과 맞추는 집계가 그 역량이 바로 쓰이는 자리입니다.
고객사 프로젝트에서 단계마다 넘긴 자료와, 단계를 끝난 것으로 볼 조건을 적어 둔 표를 맞춰, 프로젝트마다 어느 단계가 끝났고 어느 단계가 무엇 때문에 안 끝났는지 가립니다. 필수 자료가 빠졌는지, 앞 단계에서 며칠이 걸렸는지, 맡은 사람의 역할이 표가 정한 역할과 다른지, 표에 아예 없는 단계인지를 사유로 나눠 빠진 자료 이름과 지연 일수를 붙여 터미널과 Markdown 파일로 냅니다. 지나온 자리인데 아무것도 안 올라온 단계는 필수 자료가 통째로 빠진 것으로 셉니다.
FDE 가 고객사에 넘긴 시스템을 이어받아 관리하는 위시켓 AIDP 엔지니어
인계에서 빠진 것이 늦게 드러나는 이유는 자료가 안 나와서가 아니라 무엇이 나와야 하는지가 프로젝트마다 사람 머릿속에 있기 때문입니다. 단계마다 필수 자료와 허용 일수, 맡을 역할을 표로 적어 두고 인계 기록과 맞추면, 그 프로젝트가 이미 지나온 단계 가운데 아직 안 끝난 것이 사유별로 갈라집니다.
인계 기록과 단계 게이트 규격을 넣으면 프로젝트·단계마다 인계 완료·산출물이 빠짐·앞 단계보다 늦음·맡은 역할이 어긋남·게이트에 없는 단계 중 하나를 판정하고, 빠진 산출물 이름과 지연 일수를 붙여 프로젝트별로 묶은 인계 현황을 터미널과 Markdown 파일로 내는 CLI 가 도는 완결품입니다.
프로젝트 판정을 합쳐 같은 단계에서 되풀이해 걸리는 사유를 세고, 세 프로젝트 이상에서 같은 모양으로 걸린 단계를 게이트 규격 손질 후보 목록으로 냅니다.
빠진 산출물과 늦어진 단계를 담당 역할별로 나눠 요청 문안을 조립하고, 게이트에 없던 단계는 규격에 넣을 항목으로 함께 냅니다.
AIDP 엔지니어가 명령 한 줄로 프로젝트 전체를 돌려 안 끝난 단계와 그 사유를 터미널에서 읽는 장면을 시연합니다.
끝난 프로젝트의 단계 40건에 실제 진행 결과를 정답으로 달아 판정 일치율을 냅니다. 단, 기록과 정답을 모두 작성자가 만든 합성 기준이라 성능 검증이 아니라 데모 조건 동작입니다.
인계자 칸이 비었거나 앞 단계를 건너뛰었거나 규격에 없는 단계가 섞인 입력 30종을 넣어도 출력 형식이 안 깨지고 사유별 단계 수가 그대로 나옵니다.
게이트의 허용 일수와 필수 산출물 목록을 바꿨을 때 옛 판정이 어떻게 뒤집히는지 회귀로 확인합니다.
진짜 성능 검증은 여기서 멈춥니다. 위 수치는 작성자가 만든 인계 기록의 자가채점이며, 실제 인계 누락이 줄었는지는 위시켓 AIDP 사업부가 진행한 고객 프로젝트의 실 기록이 있어야 측정됩니다. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다.
판정 일치율은 작성자가 만든 기록을 작성자가 채점한 값이라 성능을 말하지 못합니다. 면접에서는 이 도구가 지금 도는 범위와 실 기록이 들어오면 무엇을 재는지를 나눠 말합니다.
쉬운 인계만 골라 넣으면 판정이 늘 맞으므로, 인계자 결측과 중간 단계를 건너뛴 프로젝트, 게이트에 없는 단계 이름을 더미에 일부러 넣었습니다.
이 포트폴리오는 게이트 규격을 데이터로 두고 인계 기록과 맞춰 사유를 정하는 기술을 보여주며, 중소·중견 기업의 AX 컨설팅 전문성은 주장하지 않습니다. 사유는 목록 대조와 날짜 계산이 정하고 클로드는 빠진 산출물을 담당 FDE 에게 되묻는 문안만 씁니다.
단계가 늦었다는 판정이 담당자가 늦췄다는 뜻은 아닙니다. 고객 사정으로 멈춘 기간은 인계 기록에 남지 않으므로, 지연 사유는 담당 FDE 가 붙여야 합니다.
인계 기록이 한 건도 없는 단계는 그 프로젝트가 이미 지나온 자리일 때만 산출물이 빠짐으로 셉니다. 도달한 단계보다 뒤에 있는 단계는 착수 전인지 건너뛸 예정인지 기록만으로 갈리지 않아 판정하지 않습니다. 그 구분까지 세우려면 프로젝트 계획을 입력으로 하나 더 받아야 합니다.
게이트 규격은 사업부마다 다르므로, 실제 도입에서는 이 더미의 열 단계 대신 그 사업부가 쓰는 단계 이름과 필수 산출물로 먼저 채우는 일이 앞섭니다.
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
고객사 프로젝트에서 단계마다 넘긴 산출물 기록입니다. 기록 번호와 프로젝트 번호, 프로젝트 이름, 단계, 산출물 종류, 인계일, 맡은 역할을 한 행에 둡니다. 필수 산출물 중 하나만 넘어온 단계, 앞 단계를 건너뛴 프로젝트, 게이트 규격에 없는 이름으로 적힌 단계, 인계자 칸이 비어 있는 행을 일부러 섞어 두어 사유가 갈리게 둡니다.
| artifact_no | project_id | project_name | stage | artifact_type | handed_at | owner_role |
|---|---|---|---|---|---|---|
| DA-001 | P-2419 | 한신정밀 AX | 초기상담 | 상담기록 | 2026-03-04 | 영업리드 |
| DA-002 | P-2419 | 한신정밀 AX | Discovery진단 | 현황진단서 | 2026-03-20 | FDE |
| DA-003 | P-2419 | 한신정밀 AX | Discovery진단 | 업무흐름도 | 2026-03-20 | FDE |
| DA-004 | P-2419 | 한신정밀 AX | Discovery진단 | 데이터목록 | 2026-03-22 | FDE |
| DA-005 | P-2419 | 한신정밀 AX | 전략수립 | AX전략서 | 2026-05-08 | FDE |
아래 JSON Schema 를 그대로 만족하는 인계 기록 행을 300개 더 만들어 주세요. 프로젝트를 열둘쯤 두고 프로젝트마다 3~7개 단계를 인계하되 중간 단계를 건너뛴 프로젝트도 넣습니다. 산출물 종류는 게이트가 요구한 이름 중 일부만 넘어오게 두고, 열 행에 한 번꼴로 인계자 칸을 비웁니다. 게이트에 없는 단계 이름도 몇 행 넣으세요. 인계일은 2026-01-01 과 2026-09-01 사이로 두고 단계 순서대로 늦어지게 씁니다. 판정 결과나 사유는 넣지 마세요.
{"type": "object", "properties": {"artifact_no": {"type": "string"}, "project_id": {"type": "string"}, "project_name": {"type": "string"}, "stage": {"type": "string"}, "artifact_type": {"type": "string"}, "handed_at": {"type": ["string", "null"]}, "owner_role": {"type": ["string", "null"]}}, "required": ["artifact_no", "project_id", "project_name", "stage", "artifact_type", "handed_at", "owner_role"]}{"type": "object", "properties": {"artifact_no": {"type": "string"}, "project_id": {"type": "string"}, "project_name": {"type": "string"}, "stage": {"type": "string"}, "artifact_type": {"type": "string"}, "handed_at": {"type": ["string", "null"]}, "owner_role": {"type": ["string", "null"]}}, "required": ["artifact_no", "project_id", "project_name", "stage", "artifact_type", "handed_at", "owner_role"]}AIDP 단계마다 무엇이 나와야 끝난 것으로 보는지 적어 둔 게이트 규격입니다. 게이트 번호와 단계, 단계 순서, 필수 산출물 목록, 앞 단계 대비 허용 일수, 맡을 역할을 한 행에 둡니다. 단계마다 필수 산출물 개수와 허용 일수가 달라 같은 지연이 어떤 단계에서는 걸리고 어떤 단계에서는 안 걸립니다. 첫 단계는 앞 단계가 없어 허용 일수를 비워 둡니다.
| gate_no | stage | stage_order | required_artifact_types | max_days_after_prev | required_owner_role |
|---|---|---|---|---|---|
| G-01 | 초기상담 | 1 | ["상담기록"] | — | 영업리드 |
| G-02 | Discovery진단 | 2 | ["현황진단서","업무흐름도","데이터목록"] | 21 | FDE |
| G-03 | 전략수립 | 3 | ["AX전략서","운영전환계획서"] | 30 | FDE |
| G-04 | 데이터정비 | 4 | ["데이터정제기준서","적재로그"] | 30 | IRE |
| G-05 | PoC | 5 | ["PoC결과보고서","평가셋"] | 30 | FDE |
아래 JSON Schema 를 그대로 만족하는 게이트 규격 행을 20개 더 만들어 주세요. 단계 순서는 1부터 이어지게 두고 단계마다 필수 산출물을 하나에서 셋까지 다르게 씁니다. 허용 일수는 21·30·45·60·90 중에서 단계 성격에 맞게 고르고, 첫 단계는 비워 둡니다. 맡을 역할은 영업리드·FDE·IRE 중 하나로 두세요. 인계 기록에 나오는 단계 중 일부는 일부러 넣지 마세요. 판정 결과는 넣지 마세요.
{"type": "object", "properties": {"gate_no": {"type": "string"}, "stage": {"type": "string"}, "stage_order": {"type": "integer", "minimum": 1}, "required_artifact_types": {"type": "array", "items": {"type": "string"}}, "max_days_after_prev": {"type": ["integer", "null"], "minimum": 1}, "required_owner_role": {"type": "string"}}, "required": ["gate_no", "stage", "stage_order", "required_artifact_types", "max_days_after_prev", "required_owner_role"]}{"type": "object", "properties": {"gate_no": {"type": "string"}, "stage": {"type": "string"}, "stage_order": {"type": "integer", "minimum": 1}, "required_artifact_types": {"type": "array", "items": {"type": "string"}}, "max_days_after_prev": {"type": ["integer", "null"], "minimum": 1}, "required_owner_role": {"type": "string"}}, "required": ["gate_no", "stage", "stage_order", "required_artifact_types", "max_days_after_prev", "required_owner_role"]}| SQL | 프로젝트·단계로 인계 기록을 모아 필수 산출물 목록과 맞추고 앞 단계의 마지막 인계일을 찾는 집계를 맡습니다. |
| Python | 게이트 규격과 인계 기록을 맞춰 다섯 사유로 판정하는 규칙과 CLI 를 맡습니다. |
| Claude | 빠진 산출물과 지연 일수를 담당 FDE 에게 보낼 요청 문장으로 씁니다. |
| GPT | 그 요청 문장이 판정에 없는 단계 이름이나 날짜를 말하지 않았는지 다른 모델로 한 번 더 읽습니다. |
| BI | 2주차에 단계마다 되풀이되는 사유를 세어 사업부가 보는 표로 냅니다. |
| Markdown | 프로젝트별 인계 현황과 요청 문안을 파일로 냅니다. |
✗ fail → 게이트에 없는 단계가 절반을 넘으면 규격을 먼저 채웁니다.
✓ pass → 2주차 되풀이 사유 집계로 넘어갑니다.
✗ fail → 프로젝트마다 다른 사유만 나오면 규격 손질 후보를 내지 않고 프로젝트별로 둡니다.
✓ pass → 3주차 요청 문안 조립으로 넘어갑니다.
프로젝트의 단계 하나가 게이트 규격을 채웠는지 정합니다. 다섯 사유 중 하나를 싣고 빠진 산출물 이름과 앞 단계에서 걸린 일수, 역할이 어긋난 기록 번호를 함께 담아 리포트와 요청 문안이 그대로 읽습니다.
{"type": "object", "properties": {"verdict_no": {"type": "string"}, "project_id": {"type": "string"}, "project_name": {"type": "string"}, "stage": {"type": "string"}, "gate_no": {"type": ["string", "null"]}, "verdict": {"type": "string", "enum": ["인계 완료", "산출물이 빠짐", "앞 단계보다 늦음", "맡은 역할이 어긋남", "게이트에 없는 단계"]}, "artifact_nos": {"type": "array", "items": {"type": "string"}}, "missing_artifact_types": {"type": ["array", "null"], "items": {"type": "string"}, "description": "stage_gates.required_artifact_types 중 그 project_id·stage 의 delivery_artifacts.artifact_type 에 없는 이름입니다. 빠진 것이 없으면 빈 배열, 게이트가 없으면 null 입니다"}, "prev_stage": {"type": ["string", "null"], "description": "그 프로젝트가 인계한 단계 중 stage_order 가 바로 앞인 단계입니다. 앞 단계가 없으면 null 입니다"}, "days_after_prev": {"type": ["integer", "null"], "description": "그 단계의 마지막 handed_at 에서 앞 단계의 마지막 handed_at 을 뺀 일수입니다. 앞 단계가 없거나 handed_at 이 비어 있으면 null 입니다"}, "off_role_artifact_nos": {"type": ["array", "null"], "items": {"type": "string"}, "description": "owner_role 이 stage_gates.required_owner_role 과 다른 인계 기록의 번호입니다. owner_role 이 비어 있는 기록은 담지 않습니다"}, "evidence": {"type": "array", "items": {"type": "object", "properties": {"table": {"type": "string", "enum": ["delivery_artifacts", "stage_gates"]}, "field": {"type": "string"}, "agg": {"type": ["string", "null"]}, "value": {}}, "required": ["table", "field", "value"]}}, "summary": {"type": "string"}, "hedge": {"type": ["string", "null"]}}, "required": ["verdict_no", "project_id", "project_name", "stage", "verdict", "artifact_nos", "evidence", "summary"]}[
{
"verdict_no": "HV-001",
"project_id": "P-2419",
"project_name": "한신정밀 AX",
"stage": "Discovery진단",
"gate_no": "G-02",
"verdict": "인계 완료",
"artifact_nos": [
"DA-002",
"DA-003",
"DA-004"
],
"missing_artifact_types": [],
"prev_stage": "초기상담",
"days_after_prev": 18,
"off_role_artifact_nos": [],
"evidence": [
{
"table": "stage_gates",
"field": "required_artifact_types",
"agg": null,
"value": [
"현황진단서",
"업무흐름도",
"데이터목록"
]
},
{
"table": "delivery_artifacts",
"field": "handed_at",
"agg": null,
"value": "2026-03-22"
},
{
"table": "delivery_artifacts",
"field": "handed_at",
"agg": null,
"value": "2026-03-04"
},
{
"table": "stage_gates",
"field": "max_days_after_prev",
"agg": null,
"value": 21
}
],
"summary": "필수 산출물 셋이 다 넘어왔고 초기상담에서 18일 만에 끝나 허용 21일 안입니다.",
"hedge": null
},
{
"verdict_no": "HV-002",
"project_id": "P-2419",
"project_name": "한신정밀 AX",
"stage": "전략수립",
"gate_no": "G-03",
"verdict": "산출물이 빠짐",
"artifact_nos": [
"DA-005"
],
"missing_artifact_types": [
"운영전환계획서"
],
"prev_stage": "Discovery진단",
"days_after_prev": 47,
"off_role_artifact_nos": [],
"evidence": [
{
"table": "stage_gates",
"field": "required_artifact_types",
"agg": null,
"value": [
"AX전략서",
"운영전환계획서"
]
},
{
"table": "delivery_artifacts",
"field": "artifact_type",
"agg": null,
"value": "AX전략서"
},
{
"table": "delivery_artifacts",
"field": "artifact_no",
"agg": "count",
"value": 1
}
],
"summary": "AX전략서만 넘어오고 운영전환계획서가 없어 다음 단계가 무엇을 근거로 도는지 정해지지 않았습니다.",
"hedge": "인계일도 앞 단계보다 47일 늦었으나, 빠진 산출물이 먼저 걸려 사유는 산출물 쪽으로 적습니다."
},
{
"verdict_no": "HV-003",
"project_id": "P-2419",
"project_name": "한신정밀 AX",
"stage": "PoC",
"gate_no": "G-05",
"verdict": "앞 단계보다 늦음",
"artifact_nos": [
"DA-006",
"DA-007"
],
"missing_artifact_types": [],
"prev_stage": "전략수립",
"days_after_prev": 47,
"off_role_artifact_nos": [],
"evidence": [
{
"table": "delivery_artifacts",
"field": "handed_at",
"agg": null,
"value": "2026-06-24"
},
{
"table": "delivery_artifacts",
"field": "handed_at",
"agg": null,
"value": "2026-05-08"
},
{
"table": "stage_gates",
"field": "max_days_after_prev",
"agg": null,
"value": 30
}
],
"summary": "산출물은 둘 다 넘어왔으나 전략수립에서 47일이 걸려 허용 30일을 17일 넘겼습니다.",
"hedge": null
},
{
"verdict_no": "HV-004",
"project_id": "P-2419",
"project_name": "한신정밀 AX",
"stage": "프로덕션구축2차",
"gate_no": null,
"verdict": "게이트에 없는 단계",
"artifact_nos": [
"DA-008"
],
"missing_artifact_types": null,
"prev_stage": null,
"days_after_prev": null,
"off_role_artifact_nos": null,
"evidence": [
{
"table": "delivery_artifacts",
"field": "stage",
"agg": null,
"value": "프로덕션구축2차"
},
{
"table": "stage_gates",
"field": "gate_no",
"agg": "count",
"value": 10
},
{
"table": "delivery_artifacts",
"field": "artifact_type",
"agg": null,
"value": "구축설계서"
}
],
"summary": "게이트 열 단계 어디에도 없는 이름으로 산출물이 올라와 무엇을 다 냈다고 볼지 정해지지 않았습니다.",
"hedge": "현장에서 구축을 2차로 쪼개 부른 경우가 흔하므로, 반려가 아니라 규격 추가 요청으로 넘깁니다."
},
{
"verdict_no": "HV-005",
"project_id": "P-2377",
"project_name": "대성물류 AX",
"stage": "데이터정비",
"gate_no": "G-04",
"verdict": "맡은 역할이 어긋남",
"artifact_nos": [
"DA-013",
"DA-014"
],
"missing_artifact_types": [],
"prev_stage": "Discovery진단",
"days_after_prev": 23,
"off_role_artifact_nos": [
"DA-013",
"DA-014"
],
"evidence": [
{
"table": "stage_gates",
"field": "required_owner_role",
"agg": null,
"value": "IRE"
},
{
"table": "delivery_artifacts",
"field": "owner_role",
"agg": null,
"value": "FDE"
},
{
"table": "delivery_artifacts",
"field": "handed_at",
"agg": null,
"value": "2026-02-20"
}
],
"summary": "게이트는 이 단계를 IRE 가 맡으라고 정했는데 두 산출물 모두 FDE 이름으로 넘어왔습니다.",
"hedge": null
},
{
"verdict_no": "HV-006",
"project_id": "P-2377",
"project_name": "대성물류 AX",
"stage": "운영이관",
"gate_no": "G-07",
"verdict": "인계 완료",
"artifact_nos": [
"DA-015",
"DA-016"
],
"missing_artifact_types": [],
"prev_stage": "데이터정비",
"days_after_prev": 18,
"off_role_artifact_nos": [],
"evidence": [
{
"table": "stage_gates",
"field": "required_artifact_types",
"agg": null,
"value": [
"운영매뉴얼",
"권한인계표"
]
},
{
"table": "delivery_artifacts",
"field": "owner_role",
"agg": null,
"value": "IRE"
},
{
"table": "delivery_artifacts",
"field": "handed_at",
"agg": null,
"value": "2026-03-10"
},
{
"table": "stage_gates",
"field": "max_days_after_prev",
"agg": null,
"value": 21
}
],
"summary": "운영매뉴얼과 권한인계표가 IRE 이름으로 다 넘어왔고 앞 단계에서 18일 만에 끝났습니다.",
"hedge": null
},
{
"verdict_no": "HV-007",
"project_id": "P-2501",
"project_name": "누리케미칼 AX",
"stage": "Discovery진단",
"gate_no": "G-02",
"verdict": "인계 완료",
"artifact_nos": [
"DA-018",
"DA-019",
"DA-020"
],
"missing_artifact_types": [],
"prev_stage": "초기상담",
"days_after_prev": 17,
"off_role_artifact_nos": [],
"evidence": [
{
"table": "delivery_artifacts",
"field": "owner_role",
"agg": null,
"value": null
},
{
"table": "stage_gates",
"field": "required_owner_role",
"agg": null,
"value": "FDE"
},
{
"table": "delivery_artifacts",
"field": "handed_at",
"agg": null,
"value": "2026-06-19"
}
],
"summary": "산출물 셋이 다 넘어왔고 업무흐름도의 인계자 칸이 비어 역할은 판정하지 않았습니다.",
"hedge": "DA-019 의 인계자가 안 적혀 있어, 이 단계를 FDE 가 맡았는지는 사업부 기록으로 확인해야 합니다."
},
{
"verdict_no": "HV-008",
"project_id": "P-2377",
"project_name": "대성물류 AX",
"stage": "PoC",
"gate_no": "G-05",
"verdict": "산출물이 빠짐",
"artifact_nos": [],
"missing_artifact_types": [
"PoC결과보고서",
"평가셋"
],
"prev_stage": "데이터정비",
"days_after_prev": null,
"off_role_artifact_nos": [],
"evidence": [
{
"table": "stage_gates",
"field": "gate_no",
"agg": null,
"value": "G-05"
},
{
"table": "stage_gates",
"field": "required_artifact_types",
"agg": null,
"value": [
"PoC결과보고서",
"평가셋"
]
},
{
"table": "stage_gates",
"field": "stage_order",
"agg": null,
"value": 5
},
{
"table": "delivery_artifacts",
"field": "artifact_no",
"agg": "count",
"value": 0
}
],
"summary": "대성물류 AX 는 운영이관까지 갔는데 PoC 단계는 산출물이 한 건도 올라오지 않았습니다.",
"hedge": "인계 기록이 없어 이 단계를 건너뛴 것인지 자료만 안 올린 것인지는 담당 FDE 가 확인해야 합니다."
}
][자동 검증 · 코드가 판정합니다] 1. verdict 가 다섯 값 중 하나인지 확인합니다. 2. verdict_no·project_id·project_name·stage·verdict·artifact_nos·evidence·summary 가 모두 채워졌는지 확인합니다. 3. days_after_prev 가 그 단계의 마지막 handed_at 에서 앞 단계의 마지막 handed_at 을 뺀 일수와 같은지 다시 계산합니다. 앞 단계가 없거나 handed_at 이 비어 있으면 null 인지 봅니다. 4. days_after_prev 가 0 이상 400 이하인지 범위를 봅니다. 0 보다 작게 나오면 인계일이 앞 단계보다 이른 것이라 앞 단계보다 늦음 검사를 돌리지 않고, 그 단계를 인계 완료로 닫더라도 순서가 뒤집혔다는 사실과 두 날짜를 hedge 에 남깁니다. 산출물을 나중에 소급해 올리면 이 모양이 되므로 사람이 보고 정합니다. 5. missing_artifact_types 가 stage_gates.required_artifact_types 에서 그 project_id·stage 의 artifact_type 을 뺀 이름과 같은지 다시 계산합니다. 6. stage 가 stage_gates.stage 에 없으면 verdict 가 게이트에 없는 단계이고 gate_no 가 null 인지 확인합니다. 7. missing_artifact_types 가 비어 있지 않으면 verdict 가 산출물이 빠짐인지 확인합니다. 8. days_after_prev 가 stage_gates.max_days_after_prev 보다 크면 verdict 가 앞 단계보다 늦음인지 확인합니다. max_days_after_prev 가 비어 있으면 이 검사를 건너뜁니다. 9. off_role_artifact_nos 가 비어 있지 않으면 verdict 가 맡은 역할이 어긋남인지 확인합니다. owner_role 이 비어 있는 기록은 이 목록에 담지 않고 hedge 에 그 사정을 적었는지 봅니다. 10. verdict 가 인계 완료이면 위 네 검사에 하나도 걸리지 않는지 다시 봅니다. 11. 판정 순서는 게이트에 없는 단계, 산출물이 빠짐, 앞 단계보다 늦음, 맡은 역할이 어긋남 순으로 먼저 걸리는 갈래를 씁니다. 다만 게이트에 없는 단계는 기준이 없으므로 뒤 세 검사를 돌리지 않고 missing_artifact_types 와 off_role_artifact_nos 를 null 로 둡니다. 12. 앞 단계 정의는 그 프로젝트가 실제로 인계한 단계 중 stage_order 가 그 단계보다 작으면서 가장 큰 단계입니다. 건너뛴 단계는 앞 단계로 세지 않습니다. 13. artifact_nos 가 그 project_id·stage 의 delivery_artifacts 행 번호와 같은 집합인지 대조합니다. 인계 기록이 한 건도 없는 단계는 빈 배열입니다. 14. evidence 의 field 이름이 두 데이터셋에 실재하는 컬럼인지 대조합니다. 15. agg 가 없는 evidence 의 value 가 그 컬럼에 수록된 행 값과 같은지 확인합니다. 16. summary 가 존댓말로 끝나는지 확인합니다. 17. 판정 대상은 둘을 합친 것입니다. 하나는 그 프로젝트의 인계 기록에 나온 단계 전부이고, 다른 하나는 게이트 규격의 단계 중 그 프로젝트가 도달한 가장 높은 stage_order 보다 앞이면서 인계 기록이 한 건도 없는 단계입니다. 도달한 가장 높은 stage_order 는 그 프로젝트의 인계 기록 중 게이트에 있는 단계의 stage_order 가운데 가장 큰 값입니다. 뒤엣것은 artifact_nos 가 빈 배열이고 missing_artifact_types 가 그 단계의 필수 목록 전부이며, handed_at 이 없어 days_after_prev 는 null 이고 off_role_artifact_nos 는 빈 배열입니다. P-2377 의 전략수립·PoC·프로덕션구축이 이 자리이고, 지나온 자리인데 아무것도 안 올라온 단계라 산출물이 빠짐으로 셉니다. 이렇게 더한 단계는 규칙 12번의 앞 단계 후보로는 세지 않습니다 — 앞 단계는 인계 기록이 실제로 있는 단계 중에서만 고릅니다. 이 단계들을 후보에 넣으면 P-2377 운영이관의 앞 단계가 데이터정비에서 프로덕션구축으로 바뀌어 지연 일수가 사라집니다. 도달한 단계보다 뒤에 있는 단계는 착수 전인지 건너뛸 예정인지 기록으로 갈리지 않아 판정 대상에 넣지 않습니다. [평가 러너 · 2주차] 1. 끝난 프로젝트의 단계 40건에 실제 진행 결과를 정답으로 달아 일치율을 냅니다. 2. 게이트의 허용 일수를 닷새씩 흔들어 판정이 뒤집히는 단계가 몇 개인지 셉니다. [수동 검증 · 사람이 봅니다] 1. 늦어진 단계 중 고객 사정으로 멈춘 기간이 있었는지 담당 FDE 가 확인합니다. 2. 게이트에 없던 단계를 규격에 넣을지 사업부가 정합니다.
포트폴리오가 “무엇을 만들지”라면, 시나리오 테스트는 “현장에서 어떻게 판단·소통할지” 입니다. 실제 이 채용공고 맥락의 대본을 읽고 무엇을 물어야 할지 직접 써봅니다.