jdbc-ctp-verify-report
Skill0 starsChanged 14 days agoMITView on GitHub
Build the CUBRID JDBC driver, run the CTP JDBC suite, compare pass/fail with a baseline, classify the broken cases, and always write a Korean Word comparison report. The JDBC counterpart of hhh-dialect-verify-report.
In this repository22 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- blogSkill
- ci-checkSkill
- cmt-manualSkill
- commitSkill
- cubrid-manualSkill
- hhh-dialect-verify-reportSkill
- hhh-dialect-verifySkill
- java-formatSkill
- jira-draftSkill
- jira-fetchSkill
- noteSkill
- pr-draftSkill
- pr-reviewSkill
- reportSkill
- review-triageSkill
- self-reviewSkill
- skill-createSkill
- submodule-bumpSkill
- tutorSkill
- weekly-reportSkill
- worklogSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 49
Follow the report skill's schema + 작성 원칙.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CUBRID JDBC driver verify (CTP) → report (one-shot)
Build the CUBRID JDBC driver, run the CTP JDBC suite against CUBRID, diff vs a baseline, classify broken cases, and always generate the Word 비교 분석 report. Mirrors hhh-dialect-verify-report for the JDBC side. Needs the JDBC repo, CTP, a CUBRID install ($CUBRID), Docker/server running, python3, and (for the report) node+docx.
Step 0: Prereqs
- JDBC driver source:
~/Devel/JDBC/devel(antbuild.xmlvia./build.sh). - CTP:
~/Devel/JDBC/jdbc-verification/cubrid-testtools/CTP(bin/ctp.sh jdbc -c conf/jdbc.conf); test cases undercubrid-testcases-private/interface/JDBC/test_jdbc. - A CUBRID install at
$CUBRID(the built jar deploys to$CUBRID/jdbc/cubrid_jdbc.jar) with the server/broker reachable. - Installed
reportskill + its deps (see report Step 0).
Step 1: Run the orchestrator (build + CTP + diff)
bash ${CLAUDE_SKILL_DIR}/assets/run_ctp.sh \
--baseline ctp-out/baseline.json \
--cubrid "$CUBRID" # add --no-build to reuse the deployed jarIt builds the driver (./build.sh), deploys cubrid_jdbc.jar to $CUBRID/jdbc/, runs ctp.sh jdbc, parses result/jdbc/current_runtime_logs/test-jdbc.xml, and diffs vs the baseline. Writes ctp-out/after.json, baseline.json, diff.txt.
The baseline must come from before this run. The CTP run overwrites $CTP_HOME/result, so a --baseline pointing inside it would be re-parsed from the same post-run XML and every diff would read +0 / -0. The script resolves the baseline before running CTP and hard-errors on that path. Keep a saved baseline.json from the previous run (ctp-out/baseline.json or a copy taken beforehand). If the run parses zero cases, it exits non-zero instead of producing a report from an empty result.
The change under test is in the working tree: a driver code change, or a build-target change (the javac source/target in JDBC/devel/build.xml, e.g. 1.6→1.8 for the "Java 8 build impact" case). For a before/after diff, capture the baseline build first, then apply the change and re-run.
(Baseline may be a .json from a prior parse, a CTP current_runtime_logs dir, or a test-jdbc.xml. CTP also writes test_status.data with total_*_case_count for a quick sanity count.)
On exit the script prunes anonymous volumes that this run created and that are attached to no container, so leftover test databases do not accumulate. It snapshots the volume list at start and removes only ids that appeared afterwards: volumes that already existed, and named volumes, are never touched. Pass --no-cleanup to skip.
Step 2: Read the diff/summary
From ctp-out/diff.txt + after.json: total/passed/failed, +N recovered / −N regressed, and the regressed cases by family (verify-error, conversion, broker/env, classpath/compat, NPE, …).
Step 3: Author the report spec (MANDATORY: always reports)
Turn the numbers into a report JSON spec (비교 분석):
- conclusion: build target/driver under test + net pass/fail change,
**…**on key numbers. - 결과 section: a
table(총 케이스 · 성공 · 실패 · +recovered · −regressed) withstatuscolors + abarchart (failed before→after,-Nbadge). - 깨진 케이스 분류 section: an
hbarof failures-by-family (e.g. verify-error N). - 회귀 section: if regressed, a
note(warn) + the case list; else "회귀 ~0". Follow the report skill's schema + 작성 원칙. Defaultmeta=CUBRID Dev1 · 작성일 <date>(author =CUBRID Dev1unless the user names another).
Step 4: Generate, validate, verify (MANDATORY)
bash ${CLAUDE_SKILL_DIR}/../report/assets/build.sh <spec>.json <out>.docx
bash ${CLAUDE_SKILL_DIR}/../report/assets/preview.sh <out>.docxbuild.sh handles the toolchain; preview.sh checks the structure and renders every page to PNG. Read those page images before handing off (report skill Step 4). Hand the user the .docx path + ctp-out/.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

