hyeongwoo-choi
c5caef89ca
Wave D 심화: 전 1,463 서비스를 실운영급 로직으로 (중앙값 33→156줄, 총 23만줄)
...
- 9섹션 구조 적용: 전필드 검증+에러코드(T_RC/T_MSG), 마스터·정책·상태 조회(sqlcode 0/100/<0 분기),
3+ 업무규칙 분기, 본처리(sqlerrd[2] 반영건수 확인), 이력/감사 적재(cm_log 등 best-effort),
집계·요약 갱신, 예외/보상, 응답 전 필드, 구조화 한글 로깅
- 모듈별 중앙값: au 201 · mg 181 · cl 170 · ac 162 · cm 161 · mm/vl 145 · py 144 · st 143 · rc/lg 138
- 기존 dbio 헬퍼·공통유틸·기존 테이블만 사용 (새 테이블/함수 없음)
- 회귀 수정: 심화된 RECONCILE이 XA 브랜치 격리를 위반(미커밋 purchase 조회 후 FAIL)해
ACQUIRE 체인이 끊긴 것 → 미존재(100)를 정상 흐름으로 처리, 전문(UBF) 값으로 대사 진행
- 에이전트가 잡은 실버그: merchant_summary 0-덮어쓰기, 미초기화 문자열 userlog,
호스트변수 중복/스코프 오류 31+28+2건
- 검증: build DONE modules=11 batches=506, 12서버 runok, psc 1,466 AVAIL,
매입체인 XA 커밋(purchase_id=9194 status=S), prepared_xacts=0, 검증분기 동작 확인, 클론 0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 12:02:44 +00:00
hyeongwoo-choi
c62d91b7a7
규모확장 Wave B: 전 11모듈 svc 75→133·batch 35→46 (BAIS 온라인 1:1)
...
- svc 825→1,463 (모듈당 133), batch 385→506 (모듈당 46) — 전부 새 고유 실업무 로직
+ 카피북 헤더, 디스패처 133 advertise, 한글 기능설명(매니페스트 추출)
- BAIS As-Is 대비: 온라인 1,463 vs 1,466(99.8%), 배치 506 vs 503(초과)
- 화면 매니페스트 1,463 재생성
- 검증: build DONE modules=11 batches=506, 12서버 runok, xadmin psc 1,466 AVAIL,
매입체인 XA 커밋, 신규서비스 실데이터 스모크, 전 코퍼스 .pgc 클론 0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 22:55:47 +00:00
hyeongwoo-choi
ea90bef264
규모확장 Wave A: 전 11모듈 svc 30→75·batch 22→35 + 전 모듈 운영데이터 시드
...
- svc 330→825 (모듈당 +45 고유 실업무: chargeback·재매입·심사워크플로·전문유형별·
대사세분·정산시뮬·지급재처리·복식결산·마감워크플로·마스터심사·검증룰·전문라우팅 등)
- batch 242→385 (모듈당 +13), 카피북 헤더·디스패처 advertise 전 75 반영
- db/schema.d/95-module-seed.sql: 전 모듈 테이블 운영데이터(au 8.4k·st 15.9k·mg 16.9k·
lg 14.6k·rc 7.7k·py 2.9k·vl 8.5k·cm 10.4k 등, 총 ~171k행) — base 거래와 정합
- 화면 매니페스트 825 재생성, 큐 메모리 튜닝(NDRX_MSGMAX 50→30)
- 검증: build DONE modules=11 batches=385, 12서버 runok, xadmin psc 828 AVAIL,
매입체인 XA 커밋(status=S), 새서비스 시드데이터 스모크(ACQ_MERCHSUM/RC_STATS 실값),
전 코퍼스 .pgc 클론 0, 헤드리스 스크린샷 확인
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 22:09:55 +00:00
hyeongwoo-choi
19acf4ed96
업무화면 고도화: MDI 탭·그리드(정렬/페이징/CSV/합계/배지)·상세팝업·마스터-디테일
...
- MDI 탭바: 화면 다중 오픈/전환/닫기 (상태 유지, 레거시 업무포털 방식)
- 그리드 컴포넌트: 컬럼 정렬, 페이징(1/34), CSV 저장, 금액 합계행, 상태 한글배지
(접수/대사/정산완료/취소/보류), 행 hover·클릭
- 매입 상세 팝업: 행 클릭 → 매입원장 + 승인/정산/원장(복식기표) 연계조회
+ 보류(ACQ_HOLD)·취소(ACQ_CANCEL) 실 tpcall XA 액션 (상태별 버튼 활성화)
- 가맹점 관리(QR0301): 마스터 그리드 ↔ 상세폼, 신규등록/정보수정/상태변경
실 tpcall(MM_MERCH_REG/UPD/STATUS) + 확장마스터/변경이력 연계
- 매입목록 필터 확장(상태), 해시 딥링크(#q=/#s=), 거래저널 전화면 공유
- 검증: 헤드리스 스크린샷 3종(대시보드/매입목록/가맹점관리) 렌더 확인
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 03:35:45 +00:00
hyeongwoo-choi
1fd60a1e49
실운영 데이터 + 운영 대시보드/조회 화면 (실사용 시스템화)
...
- db/schema.d/90-seed.sql: 가맹점 40(실제풍 상호·업종별 MDR 18~30bp·한도),
2026-04-20~07-19 3개월 매입 8,190건(주중/주말 거래량·금액구간 분포·채널/발급사 비중),
승인 1:1, 정산 7,560, 원장 15,120(RECON+SETTLE 이중기표), 가맹점 일집계, 시퀀스 정렬
- 게이트웨이 /api/query: libpq 읽기전용 조회(SELECT만, 단일문, 500행 캡) — MIS/리포팅 경로
- UI 조회/현황 그룹 7화면: 운영 대시보드(카드 7종+최근거래+가맹점TOP7+7영업일 실적),
매입/정산 목록, 가맹점 현황, 일자별 실적, 원장, 채널·발급사 분석 — 기본화면=대시보드
- 검증: 시드 로딩 psql 확인, /api/query 동작, 헤드리스 스크린샷으로 대시보드 실데이터 렌더 확인
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 03:24:57 +00:00
hyeongwoo-choi
c5692410f6
fix(ui): 매니페스트 헤더 주석의 글롭(*/)이 JS 주석 조기종료 → 블록 사망 버그 수정
...
/* 자동생성: app/src/*/svc/*.pgc ... */ 주석에서 src/*/ 의 */ 가 주석을 끝내고
잔여 텍스트(svc)가 코드로 평가되어 ReferenceError → SVC_SCREENS 미정의 → 메뉴 공백.
파싱은 통과(문법상 유효)하고 런타임에만 죽는 함정. 주석에서 */ 시퀀스 제거 후 재생성.
헤드리스 chromium 스크린샷으로 330화면 메뉴 + AC0101 렌더링 확인.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 03:01:42 +00:00
hyeongwoo-choi
79555cb407
fix(ui): 화면 매니페스트를 index.html에 인라인 (프리뷰가 외부 스크립트 미로드) + JS 오류 상태바 표시
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 02:47:41 +00:00
hyeongwoo-choi
b484d79845
fix(ui): 절대경로 → 상대경로 (프리뷰/프록시 환경에서 screens.js·API 404 수정)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 02:45:37 +00:00
hyeongwoo-choi
844a1d50fc
프론트 전면 구성: 330개 전 서비스 화면 포털 (매니페스트 자동생성)
...
- tools/gen_screens.py: svc 소스에서 입력(getl/gets_)·출력(setl/sets) 필드와
한글 설명을 추출해 app/ui/screens.js(330 화면 매니페스트) 생성
- index.html 확장: 모듈별 메뉴트리(11그룹×30화면) + 화면검색 + 주요업무 즐겨찾기 9종,
화면별 입력폼 자동구성(한글라벨·기본값), 조회성 화면 XA 자동 off, 결과그리드·거래저널
- README: 화면 계층(4.0) 문서화
- 검증: screens.js 서빙, ACQ_DUPCHK(조회)·RC_STATS(통계)·MM_MERCH_REG(XA 등록) 실호출 정상
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 00:32:53 +00:00
hyeongwoo-choi
5c819239ad
업무화면 포털 + HTTP→tpcall 게이트웨이 (검증용 화면 계층)
...
- app/src/clients/acq_httpgw.c: C 경량 HTTP 게이트웨이(:8090, libatmiclt만 링크)
/api/call?svc=..&FLD=.. → UBF(CBchg) → (옵션 XA tpbegin/tpcommit) tpcall → JSON
레거시 화면(Xplatform)→Webtier→Tuxedo 구조의 Webtier 대응
- app/ui/index.html: Xplatform풍 한국어 업무포털 (좌측 메뉴트리·폼·결과그리드·거래저널)
화면 9종: 매입접수(XA체인)/상태조회/가맹점집계/한도조회/MDR/잔액검증/일마감/가맹점/Luhn
+ 333 서비스 자유호출 화면
- entrypoint: 게이트웨이 자동 기동, compose: 8090 포트 노출
- 검증: HTML 서빙, ACQUIRE 체인 HTTP 호출 → XA 커밋(purchase status=S), Luhn T_RC=0,
pg_prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 00:29:05 +00:00
forge-bot
fc16ea64c8
고도화: 전 모듈 dbio 25→40 · batch 17→22 세분화 (+432본, 전부 고유)
...
- 11개 모듈 각 dbio +15(→40), batch +5(→22) 새 고유 ECPG 프로그램 + 카피북 헤더
(window/HAVING/JOIN/FILTER/NOT EXISTS/upsert/correlated/INSERT..SELECT 등 구조 다양)
- 전 코퍼스 .pgc 1004/1004 정규화-고유 (dup 그룹 0)
- 통합 검증: 12서버 runok, 333 서비스, 242 배치 바이너리, 매입체인 XA 커밋, prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 14:37:10 +00:00
forge-bot
05ad8a3064
Phase 2c 마무리: 전 코퍼스 793/793 고유 (클론 0) + au/py run 완성
...
- au/py dbio/batch/run 확장 마무리 (svc30·dbio25·batch17·run17)
- cm/mg 배치 + mm/vl dbio 크로스모듈 클론 32개 → 각각 고유 SQL 구조로 재작성
- 전 .pgc 793/793 정규화-고유(클론 그룹 0)
- 통합 재검증: 12서버 runok, 333 서비스 AVAIL, 매입체인 XA 커밋, prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 12:18:11 +00:00
forge-bot
fd8b418c6e
Phase 2c: 전 11모듈 per-service 레거시 구조 분해·확장 (실동작 유지)
...
- 10개 모듈(au py rc st lg cl mm vl mg cm)을 ac 템플릿대로 분해:
svc/ 30 서비스 .pgc + 카피북 .h, 얇은 <mod>_svr 디스패처
dbio/ ~25 .pgc(+.h), batch/ ~17 .pgc, run/ ~17 .sh (모듈마다)
- 파일: svc 330 + dbio 276 + batch 187 + run 187, 총 소스 1602본
- 서비스별 고유 실로직(정규화 md5), build.sh 자동발견(inline/split 양립)
- 통합 검증: build DONE modules=11 servers=11 batches=187, 12서버 runok,
333 서비스 AVAIL, 매입체인 XA 커밋(status=S), prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 11:58:44 +00:00
forge-bot
c3b99a8b75
Phase 2c-1: ac 모듈 per-service 분해 (1서비스=1파일+카피북) + build.sh 이중스타일
...
- app/src/ac/svc/: 30 서비스 .pgc + 31 카피북 .h (각 typedef struct + prototype)
- ac_svr.pgc = 얇은 디스패처(advertise 테이블만)
- build.sh: src/<mod>/svc/*.pgc → lib<mod>svc.a 링크, inline/split 자동판별
- ac dbio 25 + batch 17 + run 17 스크립트
- 고유도: svc 30/30, dbio 25/25 (정규화 md5, 클론 0)
- 검증: 12서버 runok, 333 서비스, 매입체인 XA 커밋, prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 11:30:03 +00:00
forge-bot
bec83c721e
Phase 2b: 11개 모듈 전량 실동작 (333 서비스, 전서버 부팅)
...
- 10개 모듈 추가/확장(au py rc st lg cl mm vl mg cm), 각 30 서비스 = 330 + tmsrv
- build.sh 자동발견으로 11 모듈서버 + dbio 라이브러리 23 + 배치 22 빌드
- schema.d 11파일 → 75 테이블, 모듈별 disjoint
- 부팅 리소스 규명: fs.mqueue.queues_max=8192(330큐>256), NDRX_MSGSIZEMAX 16000·
MSGMAX 50(큐당 5.6MB→0.8MB), msgqueue ulimit 2GB → 전 12서버 runok
- 검증: xadmin psc 333 AVAIL, 매입체인 XA 커밋, prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 09:58:39 +00:00
forge-bot
8219b85f14
멀티모듈 인프라: schema.d/ 분리 + acq.fd 범용필드 (병렬 팬아웃 충돌회피)
...
- db/schema.sql → db/schema.d/00-base.sql, compose가 schema.d 디렉터리 마운트
(모듈들이 db/schema.d/NN-<mod>.sql 로 disjoint 추가)
- acq.fd에 범용 스크래치필드(T_ARG/T_STR/T_AMT/T_KEY/T_ID) → 모듈이 acq.fd 미수정
- setapp.sh gitignore 제외(필수 런타임 config)
- 검증: 4서버 runok, 41서비스, 체인 커밋 유지
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 09:40:13 +00:00
forge-bot
05a0ff3e56
Phase 2a: 모듈서버 패턴 + 재사용 빌드시스템 (ac 모듈 38서비스 실동작)
...
- ac_svr(30 매입서비스 advertise) + rc_svr/st_svr, dbio 정적라이브러리, common 라이브러리
- app/build.sh: 모듈 자동발견(app/src/<mod>/<mod>_svr.pgc) → ecpg+buildserver+ndrxconfig 생성
- ac 배치 2종, 스키마 9테이블, 검증: 41서비스 AVAIL, 체인·배치 psql 커밋, prepared_xacts=0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 09:37:17 +00:00
forge-bot
e6e29e6b5d
Phase 1: 실동작 Enduro/X + PostgreSQL XA 매입 슬라이스
...
- Enduro/X 7.0.12 소스빌드 이미지(-DENABLE_POSTGRES=ON, libndrxxaecpg XA 스위치)
- docker-compose: postgres(max_prepared_transactions=100) + endurox app
- ECPG XA 서비스 3종: ACQUIRE→RECONCILE→SETTLE (tpservice + EXEC SQL)
- 클라이언트 tpbegin/tpcall체인/tpcommit → tmsrv 2PC(prepare/commit) 원자 커밋
- 검증: 서비스 AVAIL, 커밋 row(status=S) psql 확인, 롤백 시 무잔존, pg_prepared_xacts=0
- 규명된 런타임 요건: sysctl fs.mqueue.*, ulimit msgqueue/nofile, XA open-str JSON
- docs/architecture.md, README, service-catalog 설계
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 09:16:12 +00:00