Skip to content

K-CSAP 중앙 self-hosted 품질 workflow와 AI 리뷰 연결 #2612

Description

@seonghobae

Goal

K-CSAP 일반 품질 검증을 중앙 .github reusable workflow로 이동하고 GitHub-hosted fallback을 제거한다. Noema/OpenCode 실제 리뷰와 승인은 기존 #2560 및 공유 소유자 경로로 연결한다.

현재 증거 (2026-10-09 KST)

  • product master 0c66aec, .github/workflows/ci.yml는 ubuntu-latest.
  • 중앙 base7554587; global runner PR#2565 current head ef65b2f, OPEN.
  • CWL CI isolated group13은 K-CSAP 접근 없음, runners 3개 모두 offline. 따라서 새 callee는 configured 상태만 가능하다.
  • product repo-scoped k-csap-isolated-linux online은 org group13의 runner가 아니다.
  • model variables는 auto, LiteLLM secret metadata 존재. 실제 auto inference/App APPROVED는 미검증; key 발급 중복 금지.

소유 분리

이 issue lane은 .github/workflows/k-csap-skills-quality.yml, contract test, doctoring record만 소유한다. PR#2565 global files, Remora shared Noema source, #2560 key/relay는 변경하지 않는다.

Acceptance

  1. workflow_call-only, no secret/inputs, fixed caller admission before checkout, immutable actions, no hosted fallback, group+label selector, persistent workspace cleanup.
  2. Central PR independent review and merge; product thin caller pins exact central commit and retires ubuntu hosted path only after central source published.
  3. group13 repo admission plus online isolated runner; actual exact-head Actions run and job.runner_name verified.
  4. Existing Integrate personal S1 LiteLLM API into Noema, Strix and OpenCode Review #2560/Remora route executes literal auto via named personal LiteLLM and author-distinct Noema/OpenCode App posts substantive current-head review. No personal self-approval.
  5. Until 3/4 run, unavailable evidence remains visible; skipped/disabled path is not success.

Activity

  1. seonghobae commented on Oct 9, 2026

    @seonghobae
    ContributorAuthor

    K-CSAP central quality callee draft published — 2026-10-10 KST

    Draft PR #2615 created from feat/kcsap-central-quality-20261009 at 9996a21600b3751491842de20ca4c87e1cc257a8.

    Scope is disjoint and additive:

    • .github/workflows/k-csap-skills-quality.yml
    • dedicated contract test and hash-locked test requirements
    • docs/doctoring/k-csap-skills-central-quality.md
    • GOAL.md

    Evidence:

    • workflow SHA 9c4cc914b57f919da06f434527670d34597ac4a8c1fc4c24008ce36440fdc5c9
    • final test SHA 64ae572dfee0063e85ec4850969c02018105aceeb237d20abb1dedc7fe68d2c9
    • dedicated locked test env: CPython 3.11.16, PyYAML 6.0.3, pytest 9.1.1, 21 passed
    • focused Ruff/actionlint/custom label/diff-check exit 0
    • source re-review PASS_WITH_ACTIVATION_LIMITATIONS report 923b518cf61b072d3fb8ca7e03e5a1825faaca3c248942dd3048d2fbc2a2a378
    • final delta review PASS_WITH_ACTIVATION_LIMITATIONS report 0d36a3d66c8d6ae435128cfaeda8d0926b3fa0721a50ddc3c7b489e4d157095d

    Not done:

    • actual Actions run/runner identity and same-UID isolation
    • setup-uv persistent tool policy and immutable download provenance
    • network boundary
    • Noema/OpenCode literal auto inference and formal App approval
    • merge/release

    Current PR status from GraphQL: Draft, mergeable, no formal reviews. GitHub Actions currently has unrelated/required failure/queued checks, including CodeQL failure and queued bootstrap/review jobs. I am not treating those as approval or source acceptance.

    This lane does not modify #2565 global runner PR, #2560 key/relay custody, or Remora shared review files.

  2. seonghobae commented on Oct 10, 2026

    @seonghobae
    ContributorAuthor

    salmon 운영 activation packet — 2026-10-10

    중앙 source writer는 goosefish로 유지합니다. source/GOAL/docs/test를 수정하지 않았으며 기존 queue를 재dispatch하지 않았습니다.

    부모 직접 확인

    • PR ci: K-CSAP 중앙 self-hosted 품질 callee #2615: OPEN/Draft, head aacc387349c62b54ed96a9bd96b17c022296897b, base 7554587c2e3106a388998bcad048a3d7121de25e.
    • workflow SHA-256 2b14845ebf761652ca78ecdaac86c6e851ea41dc573312f41ade2695b0a719b7.
    • test SHA-256 36bbf733ea0bec7e0cd3b03cb07d6c466cf19fffb578f16114e820a9d69c3737.
    • 실제 published YAML은 PR_HEAD_SHA/EVENT_SHA 분리, PR state default 빈 값, PR merge ref 검증, admission expected_sha를 checkout와 HEAD 검증이 공통 소비합니다. 이는 파일 확인이며 새 runtime 테스트 통과 주장 아닙니다.
    • 제품 runner id 2, name k-csap-isolated-linux, online/busy=false, labels [self-hosted,Linux,X64,k-csap-isolated]. online/idle은 배타 lease나 실행 증거가 아닙니다.
    • current-head 중앙 Actions suite run 38056768112, 38056768186, 38056768206, 38056768256, 38056769420 관측. queued/skipped check들은 제품 callee quality Linux 실행 증거가 아닙니다. 제품 callee run/job/runner identity는 NOT_RUN/미확보입니다.

    writer 보고와 수락 한계

    • goosefish fresh review report dbc0d58d24a098c68f33268fcd8dc1a6de00f57bfe729aa0dd0272fd4e29ff62: actual shell 35/35, consumers 4/4, focused tests 28은 writer 보고 및 published doctoring 문서 기록입니다. salmon이 해당 report 원본 또는 테스트를 독립 재실행한 상태는 아닙니다.
    • setup-uv 보고 2159eec4f6343b82250124b78af57ed8925deaa8a63dc007a6f7e15a9670da83: pinned macOS/Node24 실제 dist, bad checksum 거부 및 post 실행. Linux X64/Node20 실제 consumer 실행, Python integrity, same-UID 배타/강제 종료 계약은 별도 미검증입니다.
    • scratch actionlint 통과는 canonical vocabulary의 k-csap-isolated 등록을 대체하지 않습니다. 기존 ci: stage all workflows on isolated self-hosted runners #2565 shared owner에 exact label 추가를 요청한 goosefish 인계를 유지하며 두 번째 writer를 만들지 않습니다.

    operations owner 다음 gate

    1. oscar가 기존 컨테이너의 단일 lease를 확인하고 extraction→검증→원격 process settlement→cleanup 전체 경계를 수리/인계합니다. 현재 manual_linux_gate.py는 extraction/cleanup이 flock 밖에 있고 timeout 후 원격 종료 확인이 없습니다. quoting 오류 lock probe는 busy 증거가 아닙니다.
    2. 현재 도구 관측 uv 0.12.23은 이전 uv 없음 보고를 supersede합니다. 실제 Python 3.11 readiness 및 중앙 pinned uv 0.9.7/Python 3.11.14 provenance는 아직 확인해야 합니다.
    3. 기존 slot에서 PR chore: Record lack of UI codebase in palette journal #5 9c7f4e129e8a54e69e37638b147347bfd4cd24b7, Sync OpenCode review failure handling #14 1fd498921fc3561021066961907fc22d6fc98e47, Stop OpenCode bridge waiting after requested changes #17 c0af164128e1b75624a17b210d0b2734c3362c95의 admitted code-only archive를 순차 수동 Linux 검증합니다. 수동 receipt와 Actions consumer run/job/runner receipt를 별도로 기록합니다. 새 VM/runner/keys/ACL 변경 없이 기존 owner custody로 진행합니다.
    4. 중앙 immutable publication 및 제품 caller owner의 pin 이후 실제 consumer Linux Node20/setup action/Python integrity/동시 writer 및 cleanup receipt를 확보합니다. 기존 queue에 중복 dispatch하지 않습니다.
    5. Integrate personal S1 LiteLLM API into Noema, Strix and OpenCode Review #2560/Remora custodian이 effective literal auto allowlist, 비용 및 private retention 근거를 반환하고 실제 inference 및 author-distinct current-head App review object를 확보합니다. API key 값을 읽거나 중복 발급하지 않습니다. attestation을 조작하지 않습니다.

    Draft 해제·activation·formal App approval·merge는 미완료입니다. disabled/skipped/queued/local conditional review를 remote runtime 통과로 사용하지 않습니다. Stage5 NOT approved는 유지합니다.

  3. seonghobae commented on Oct 10, 2026

    @seonghobae
    ContributorAuthor

    K-CSAP #2615 current-head gate update — 2026-10-10 23:35 KST

    PR #2615 advanced to c0d6235bd996159fa8c2bb2d176dce2d1983b38b. The workflow/test bytes are unchanged from the reviewed source; the new commit only resets GOAL.md to the conditional merge contract.

    Current live readback:

    • ci: K-CSAP 중앙 self-hosted 품질 callee #2615: OPEN, isDraft=true, mergeStateStatus=BLOCKED, reviews 0.
    • Checks: noema-review is QUEUED on run 38059461683 / job 114235712337; opencode-review is SKIPPED; CodeQL/Strix paths are skipped; CodeRabbit/Devin statuses are not qualifying App approval.
    • ci: stage all workflows on isolated self-hosted runners #2565 remains OPEN, head ef0c9d4c668fac7f01609b8fbd61a4126b103f5c, mergeStateStatus=UNSTABLE. Current .github/actionlint.yaml at that head lists only cwlab-ci-isolated and cwlab-control; k-csap-isolated is still absent.
    • Product runner 2 k-csap-isolated-linux is online, busy=false, labels [self-hosted, Linux, X64, k-csap-isolated]. Runtime packet observed container readiness only; it did not execute the reusable callee or publish App approval.

    Owner next transitions:

    1. ci: stage all workflows on isolated self-hosted runners #2565 / shared route owner: add the exact k-csap-isolated label to canonical actionlint vocabulary and deliver protected-main auto/App route, or return a current-head CHANGES_REQUESTED packet.
    2. oscar / product caller owner: prepare the thin caller against immutable central producer SHA after source merge, or an owner-approved temporary exact-SHA caller run to prove runner_name, job id, source SHA and cleanup without exposing private corpus.
    3. Remora / key-route owner: keep Integrate personal S1 LiteLLM API into Noema, Strix and OpenCode Review #2560 custody; do not issue duplicate keys. Need current-head personal LiteLLM auto inference and author-distinct App review object.
    4. parent/goosefish: hold Draft/merge until the live head has actual runner execution, canonical route, and qualifying App approval. No required check is being waived.
  4. seonghobae commented on Oct 10, 2026

    @seonghobae
    ContributorAuthor

    PR #32 current-head gate registration — 2026-10-10 15:15 UTC

    Please add product PR #32 to the existing K-CSAP central self-hosted and current-head review acceptance queue. This is a registration/update only. I am not dispatching a duplicate run, changing keys, changing ACLs, or editing shared source.

    Direct product facts

    • Repository: ContextualWisdomLab/k-csap-skills
    • PR: ⚡ Add File I/O cache to open code review approve gate #32, OPEN, non-draft, mergedAt=null
    • Head: 9b0b1a202ea23b96ba2d3fe71ac1d86b0ca6bc36
    • Base: 0c66aec00f9f501cbbd530d8f74141d633928dc2
    • Files: tests/test_pci_execute_boundaries.py only
    • Formal reviews observed: 0
    • Status rollup: no qualifying current-head Actions/App approval observed

    Peer-reported evidence to preserve, not promote

    • Local full check reported by kelp: 627 passed, 1 skipped; Ruff, scaffold validator, diff check pass.
    • New test count reported: 11 pass; mutation probes 6/6 detected.
    • Independent static review reported APPROVE, report SHA-256 06836e3aa618d66d46c492762f84abfa63fb67d7b640576762433eb9fcb2a994; reviewed index 217936cb; commit tree identical.
    • This does not claim the flatback canonical macOS timing failure is fixed.

    Required gates before merge

    Custody remains unchanged: oscar owns runner/caller execution, Remora/#2560 owns reviewer/key route, and kelp owns PR #32 content/merge after gates. No central source duplicate writer is requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions