Skip to content

Releases: jocoding-ax-partners/axhub

v1.2.2

17 Jun 11:45

Choose a tag to compare

1.2.2 (2026-06-17)

새 E2E 샌드박스(mock CLI·격리 환경)로 배포 스킬을 반복 실행했더니, 본문이 길어 모델이 헤드리스·노출 규칙을 가끔 흘리는 게 잡혔어요 — 비대화형인데 확인 카드를 띄우거나, 최종 메시지에 내부 id·에러 코드 같은 개발자용 표현이 새는 식이었어요. 두 규칙을 본문 맨 위 '절대 규칙' 블록으로 끌어올려 모델이 매 응답 먼저 지키게 하고, 확인 카드 필수 규칙이 헤드리스와 충돌하던 지점을 '대화형 실행에만 적용'으로 풀었어요. 보조 명령 문서는 references 로 분리해 본문을 줄였어요. 같은 샌드박스 케이스가 수정 전 2/2 실패에서 수정 후 3/3 통과로 바뀌었어요.

Fixed

  • deploy headless·visibility 절대규칙 hoist (adherence 회귀 수정) (d97df6a)

v1.2.1

17 Jun 10:46

Choose a tag to compare

1.2.1 (2026-06-17)

실사용에서 나온 development·deploy 안정화 픽스예요. development 가 코드를 짤 때 앱 스캐폴드 헬퍼를 베끼지 않고 MCP(sdk_search)를 SDK 사용법의 1차 근거로 삼게 하고, 템플릿은 MCP 미연결·미커버 때만 fallback 으로 써요. 또 클론된 axhub.yaml 이 템플릿 기본 슬러그를 그대로 갖고 있어 배포가 다른 앱을 가리키던 위험을 — init 이 생성한 앱 슬러그로 정합하고, development 가 폴더 바인딩 밖 앱 코딩을 거부하고, deploy 가 타깃을 재확인하는 3중으로 막았어요. 더해서 development 추가로 5 skill 이 됐는데 메타데이터·문서가 4 skill 로 남아 있던 걸 바로잡았어요.

Fixed

  • development 데이터-레이어 코드는 MCP(sdk_search) 1차, 템플릿은 fallback (fa78d8d)
  • stale axhub.yaml 슬러그로 잘못된 앱 배포 방지 (bind 정합 + reconcile) (ec19776)
  • 플러그인 메타데이터·문서의 skill 수 4→5 정정 (f25df9f)

v1.2.0

17 Jun 09:49

Choose a tag to compare

1.2.0 (2026-06-17)

기존 axhub 앱에 실데이터(connector·table) 기반 기능을 코딩하는 다섯 번째 development 스킬을 추가했어요 — connector/table 을 실제로 조회해 진짜 스키마에 맞는 코드를 read·write 로 생성하고, 배포 전 필요한 테이블·환경변수까지 점검해요. CLI·플러그인 새 버전을 세션 시작 때 알려주는 자동 업데이트 hook 과, 각 스킬이 지금 어디까지 진행했는지 한 줄로 알려주는 진행 상황 알림도 들어왔어요. 더해서 스킬들의 jq 의존을 axhub --field-expr 로 바꿔 Windows·Git Bash 에서도 끊김 없이 돌고, 길어서 잘리던 스킬 description 을 1024자 밑으로 줄여 라우팅 신호가 온전히 전달되도록 다듬었어요.

Added

  • axhub CLI/플러그인 자동 업데이트 hook 추가 (798c6ce)
  • development skill v1.1 write 경로 (런타임 CRUD + 게이트된 스키마) (0c030a3)
  • development skill 추가 (실데이터 grounded 기능 코딩, read-only v1) (3ec300c)
  • development 배포 준비 점검(infer-tables-env) 추가 (fd4bbda)
  • 각 skill 에 진행 상황 알림(Progress Reporting) 추가 (9355f1c)

Fixed

  • skill description 1024자 이하로 트림 (라우팅 truncation 해소) (8457ffc)

Changed

  • nl-lexicon corpus 제거 및 clarity anti-patterns 추가 (8653acb)
  • skill 들의 jq 의존을 axhub --field-expr 로 교체 (72a45e8), closes #325

v1.1.0

15 Jun 10:19

Choose a tag to compare

1.1.0 (2026-06-15)

온보딩이나 리소스 조회를 한 뒤 "이걸로 앱 만들어줘" 처럼 이어 말하면, 같은 대화에서 본 맥락을 init·deploy 가 그대로 이어받아요 — 별도 저장 없이 SKILL 지시로만 처리하고, 실제로 조회한 근거가 있을 때만 반영해 없는 리소스를 지어내지 않아요. 온보딩 직후의 중복 안내(설치 링크 재안내 등)는 줄이되 로그인·GitHub 설치 같은 안전 확인은 그대로 거쳐요. 더해서 deploy 라우팅의 죽은 분기와 approved-run 브리지, init 의 불필요한 MCP 설치 단계를 걷어내 동작을 더 매끄럽게 다듬었어요.

Added

  • align plugin smooth behavior contracts (d53de82)
  • 조회→생성 같은 대화 맥락 핸드오프 (instruction-first) (aff9c1c)

Fixed

  • deploy 라우팅 死 yield/ask 분기 제거 + named-target-wins LLM 이관 (9915cbb)
  • remove approved-run deploy bridge (f802631)
  • remove init mcp install step (3b071b6)

v1.0.2

15 Jun 05:30

Choose a tag to compare

1.0.2 (2026-06-15)

일부 환경에서 axhub 가 깔려 있는데도 온보딩이 'CLI 없음' 으로 오판해 이미 설치된 CLI 를 또 설치하라고 안내하던 문제를 막았어요. detect 의 self-probe 가 프로세스의 PATH/HOME 이 사용자 셸과 다를 때(GUI 로 띄운 호스트·정리된 환경) axhub 를 못 찾던 게 원인이라, Step 2 에서 command -v 로 구한 절대경로를 AXHUB_BIN 으로 고정해 모든 self-probe 가 그 경로로 실행되도록 했어요. 더해서 command -v axhub 가 성공하는데도 cli_missing 으로 재설치를 안내하지 않도록 가드를 넣어, 구버전 CLI 에서도 온보딩이 깨지지 않아요.

Fixed

  • onboarding detect self-probe 오탐 가드 (AXHUB_BIN 절대경로 핀) (c395b3f)

v1.0.1

15 Jun 03:58

Choose a tag to compare

1.0.1 (2026-06-15)

onboarding 이 빈 폴더에서 init 스킬로 자동 위임하던 동작을 없애서, 첫 앱 만들기는 사용자가 직접 말할 때만 진행하도록 Ready card 안내로만 남겼어요. axhub MCP 는 등록(add)에서 끝내지 않고 claude mcp get 으로 Connected 여부를 검증한 뒤 미연동이면 /mcp OAuth 인증을 안내해, '등록했는데 도구가 안 뜨는' 갭을 메웠어요. clarity 는 명령을 찾은 뒤 실행 전 그 명령의 --help 사용법을 반드시 숙지하도록 강제해 추측 실행을 막았어요.

Added

  • onboarding init 위임 제거 + MCP 연동 검증, clarity --help 게이트 (4abe3c2)

Docs

  • README 버전 배지 동적화 + 상태줄 stale 정정 (7121a66)

v1.0.0

14 Jun 07:50

Choose a tag to compare

1.0.0 (2026-06-14)

axhub 플러그인의 첫 메이저 릴리즈예요. 45개 스킬 체제를 핵심 4개(onboarding·init·deploy·clarity)로 다이어트하고, 판정·실행 로직을 플러그인에서 들어내 ax-hub-cli 를 직접 호출하도록 전환했어요. Rust helper 바이너리·모든 hook·NL 라우팅 코퍼스·cosign 멀티-바이너리 릴리즈 파이프라인을 제거해 플러그인은 얇은 라우팅 레이어로 가벼워졌고, 흡수된 helper 표면은 CLI 의 hidden plugin-support 그룹으로 옮겼어요(최소 ax-hub-cli 0.20.0+ 게이트). 새 clarity 브리지가 3스킬 밖 모든 axhub 작업을 --json-schema 탐색으로 찾아 무확인 실행하고, 각 스킬은 시작 시 CLI·플러그인 새 버전을 확인해 안내하며, onboarding 은 axhub MCP(user scope)까지 등록해요. 배포 성공 선언은 공개 axhub deploy verify 한 번으로만 해요.

⚠ BREAKING CHANGES

  • plugin v1 diet — 45→3 스킬, helpers·hooks 제거, ax-hub-cli 표면 직접 호출 전환

Added

  • clarity description 확장 — 공개 axhub 표면 전 도메인 라우팅 커버 (722c992)
  • clarity 탐색을 axhub --json-schema 우선으로 전환 (3db4366)
  • cli 브리지 스킬 신설 — 동적 --help 탐색으로 그 외 axhub 작업 무확인 실행 (d8dfab5)
  • onboarding 에 axhub MCP (user scope) 설치 추가 (1edde36)
  • plugin v1 diet — 45→3 스킬, helpers·hooks 제거, ax-hub-cli 표면 직접 호출 전환 (50d3a2e)
  • 각 스킬 맨 처음에 버전 체크 + 신버전 안내 (6912b3d)
  • 플러그인·CLI 업데이트 체크 알림 배선 (CLI 0.21.0 활용) (17a9cb7)

Changed

  • cli→clarity 스킬 rename + 3 핵심 스킬 실행순서 맵 추가 (ec24252)

Docs

  • e2e 하네스 README·JSON_SCHEMA stale 참조 정리 (2341433)
  • migrate 고도화 CEO 리뷰 Defer 3건 TODOS 등록 — 언어 커버리지·rotate provider 심화·blocker 텔레메트리 (183f637)

v0.10.5

11 Jun 02:27

Choose a tag to compare

0.10.5 (2026-06-11)

직전 v0.10.4(distiller가 §3 install 버전을 pin으로 override)에 이어 SDK README standalone 정확성을 맞췄어요. README install 라인이 0.2.x stale이라 README만 읽고 SDK를 설치하면 fluent data layer 없는 구버전을 받던 걸, 5언어(go @v0.3.1 / java :0.3.1·<version>0.3.1 / kotlin :0.3.1 / python ==0.3.1 / ruby -v 0.3.1) README install을 0.3.1로 동기화하고, README 수정으로 이동한 sub-repo HEAD를 PINNED_SDK.lock.json(SDK + vendored)의 source_sha에 반영한 뒤 distiller(무변경) regenerate→vendor로 6 pack의 source_sha를 갱신했어요. node는 install 라인이 없어 무변경이에요.

Test baseline

  • pack source_sha == 5 sub-repo 새 HEAD(go 48f1f51·java fb545a6·kotlin ae20163·python b3e3110·ruby fa0c327), node 2cec112 유지. regenerate git_sha==lock assert pass(distiller 무변경).
  • bun sdk-knowledge-pack 33 pass(source_sha==lock 검증), migrate-skill-contract 20 pass, cargo pack_client_init 1 pass.
  • §3 install 0.3.1·§6 import는 v0.10.4 산물 그대로 byte-identical, README standalone stale 0.2.x 0건, skill:doctor/lint green.

Honest tradeoff

  • SDK repo는 no remote(dev-machine)라 5 sub-repo README commit + lock bump는 SDK repo local에 있고 이 릴리즈엔 vendored pack source_sha + lock만 들어가요.
  • route_surface_sha도 동반 갱신됐어요(python HEAD 파생) — route body는 byte-identical이라 정합성 회귀가 아니라 sha 스탬프만 이동한 거예요.

v0.10.4

11 Jun 01:53

Choose a tag to compare

0.10.4 (2026-06-11)

6언어 SDK 변환 e2e QA에서 드러난 knowledge pack 함정 4건을 SDK distiller(gen-sdk-distill.py) 수정 후 regenerate→vendor로 닫았어요. expert가 jar 검증으로 우회했지만 pack만 맹신하면 java/kotlin이 컴파일 실패하던 함정이에요. java/kotlin §6 import 부재PaginatedList/ListAllItem이 nested(Pagination.PaginatedList)고 Ops/ListOptionsai.axhub.sdk.data 패키지인데 §6 스니펫에 import가 없어 expert가 top-level 경로로 추론하면 cannot find symbol 나던 걸 SDK 소스(DataTableClient.java/KotlinData.kt) 그대로의 import 블록 추가로 고쳤어요. §3 install 버전 stale — 5언어 README install이 0.2.x인데 pin/frontmatter는 0.3.1이라(fluent layer 없는 구버전 설치 유도), distiller가 §3 install 버전을 pin과 동기화해요. go §3 facade 강조 — go README가 fluent data layer를 미문서화하고 operation-ID facade만 보여줘 §6 fluent 오변환 위험이 있어, render_pack §3 헤더에 "데이터 접근은 §6 fluent가 authoritative" precedence note를 넣었어요. 재발 방지로 sdk-knowledge-pack.test.ts에 §6 import resolvability + §3 버전 일치 assertion을 추가했어요(테스트 갭이 4 함정을 green으로 통과시킨 enabler였어요).

Test baseline

  • bun sdk-knowledge-pack 33 pass(신규 §6 import·§3 버전 assertion 6건 포함, java §6 import 삭제 시 red 검증), migrate-skill-contract 20 pass.
  • cargo pack_client_init_equals_render_wrapper_preview_full_body 1 pass(§1 무변경), skill:doctor --strict / lint:tone / lint:keywords green.
  • 6 pack §3 install 버전 == frontmatter(0.3.1 / node 2.1.2), stale 0.2.x 0건. regenerate 결정적 — git_sha==lock assert pass(README 무변경, pin bump 불필요).

Honest tradeoff

  • SDK repo는 no remote(dev-machine)라 distiller 수정은 SDK repo local commit이고 이 릴리즈엔 vendored pack만 들어가요 — 다음 regenerate는 그 distiller가 필요해요.
  • 모든 수정이 distiller-only(README 무변경)라 SDK README standalone은 여전히 0.2.x stale — pack(§3)은 distiller override로 정확하지만 README 자체 수정은 5 sub-repo + pin bump가 필요한 별도 작업이에요.
  • migrate_plan과 site_scan/ast_validate가 별도 detect 경로라 향후 drift 위험은 여전 — 공유 패턴 추출이 후속 과제예요.

v0.10.3

11 Jun 00:59

Choose a tag to compare

0.10.3 (2026-06-11)

migrate SDK 변환 워크플로우를 6언어(node/go/java/kotlin/python/ruby) raw SQL 앱으로 실제 변환 e2e QA하며 발견한 java/kotlin 선재 결함 3건(PR #187 이후 잠재)을 닫았어요. 순수 JDBC 미감지detect_data_candidates java/kotlin arm이 jdbctemplate/entitymanager(framework)만 잡고 순수 JDBC(DriverManager/java.sql/executeQuery/prepareStatement)는 빠뜨려 raw SQL 변환 대상이 0이 되고 raw_query hard-stop도 미발화하던 걸 JDBC needle 6개 추가로 고쳤어요(site_scan은 잡는데 불일치였음). wrapper package 컴파일 실패 — java/kotlin wrapper_preview가 사용자 앱 package(package app;)를 차용해 wrapper_target 경로(ai/axhub/sdk/)와 불일치, java 컴파일이 깨지던 걸 detect_jvm_package 제거 + ai.axhub.sdk 상수 고정으로 바로잡았어요. scan 깊이MAX_SCAN_DEPTH=5가 conventional JVM 레이아웃(src/main/java/<pkg>/, depth 7)을 못 닿아 실전 앱 변환이 무력이던 걸 5→8 + 빌드/IDE 산출물 ignore 강화로 수용해요.

Test baseline

  • cargo -p axhub-helpers lib 572 pass(순수 JDBC 감지·wrapper package·conventional 깊이·ignore prune 회귀 테스트 포함), 통합 pass / 1 pre-existing fail.
  • bun migrate-skill-contract + manifest 229 pass, clippy/fmt clean.
  • 6언어 변환 e2e: node/python/go/ruby/java 빌드 통과, kotlin jar 대조 — §1 client init byte-exact, §6 fluent shape(tenant().app().data.table()) 의미 보존, discover-verify hard-stop 6언어 전부 정상(catalog 0 → missing_table 차단).

Honest tradeoff

  • knowledge pack(skills/migrate/sdk-knowledge/<lang>.md)은 SDK repo distiller가 생성하는 vendored 산출물(hand-edit 금지)이라 이번에 발견한 pack 함정(java PaginatedList nested import, kotlin import 경로·버전 drift, go §3/§6 혼란)은 distiller 영역 — 별도 SDK repo 작업 필요.
  • migrate_plan과 site_scan/ast_validate가 별도 detect 경로(substring vs regex)라 향후 drift 위험 — 공유 패턴 추출이 follow-up.
  • discover-verify는 governed catalog table 필요 — jocodingax catalog 비어(table 0) 변환 결과의 실제 catalog 조회·apply는 connector 셋업 선행.

Fixed

  • migrate SDK 변환 java/kotlin 결함 3건 — 순수 JDBC 감지·wrapper package·scan 깊이 (#207) (876cc0c)