Run local examples
Choose OS and shell → verify archives → fresh workspace → complete example → inspect candidate files.
Start SDK examplesAfter installation: AI agent setup and verification
Guide connections, workflow and input/output map
Install. Configure. Connect. Verify.
Use this guide in a browser or from an offline delivery bundle. Your organization runs the appliance and chooses which supported components to connect.
Check the signed component list supplied with your installation. Use the image and installers listed for your platform and version; contact your supplier if a required file is missing.
Exercise and next steps
Open the relevant failure case
Part.1–8 identifies the current tool manuals. W1–W4 and codes such as GUI-01 identify exercises inside a Part. Use Case 1–5 is a separate retained procedure sequence, not the Part numbering. Case A–J and codes such as SDK-1 or IH-1 identify troubleshooting scenarios. Older filenames and pN section IDs remain valid bookmarks; read the page heading for the current Part number.
실습·다음 단계
실패 시 바로 열기
Part.1~8은 현재 도구별 매뉴얼, W1~W4와 GUI-01 같은 코드는 그 안의 실습입니다. Use Case 1~5는 보존한 작업 안내 번호이며 Part 번호와 다릅니다. Case A~J와 SDK-1·IH-1 같은 코드는 문제 해결 사례입니다. 이전 파일 이름과 pN 절 주소는 기존 북마크용으로 유지하므로 현재 Part는 본문 제목으로 확인합니다.
You can start local SDK synthetic examples without installing an appliance. Company users connect to an existing VM; only deployment owners create a new one. Follow one path, inspect its result, then continue.
Choose OS and shell → verify archives → fresh workspace → complete example → inspect candidate files.
Start SDK examplesObtain the compatible client and administrator's connection/enrollment material. Deployment and user setup are separate.
Connection preparationOS·CPU·파일 종류와 셸 사용법부터 확인합니다.
이 단계 열기현재 SDK 파일 확인 → 압축 해제 → 새 작업 폴더 → 예제.
이 단계 열기일반 사용자 설치 → 기기 등록 → 인증된 연결.
이 단계 열기전체 소스 JSON 저장 → 문법 확인 → 전체 요청에 넣기.
이 단계 열기실행 파일·전체 요청 선택 → 발견 결과 읽기 → 단계별 준비.
이 단계 열기받은 뷰어를 읽거나 승인 manifest로 새 snapshot을 만듭니다.
이 단계 열기제공 연습 입력 → 새 후보 리비전 → 검증 → 인계.
이 단계 열기파일·명령·입력·기동·연결·권한 중 처음 막힌 곳을 찾습니다.
이 단계 열기각 첫 실습의 준비물과 완료 결과를 먼저 읽으십시오. 회사별 연결·등록·승인 자료는 담당자가 제공한 실제 값이 필요합니다. 현재 SDK 목록은 SDK 본체와 선택 Rust 세트의 목록이며 다른 도구 설치 파일까지 포함한 목록은 아닙니다.
Check OS/CPU, file types and shell usage.
Open this stepCheck current SDK archives → extract → fresh workspace → examples.
Open this stepUser installation → device enrollment → authenticated connection.
Open this stepSave source JSON → check syntax → insert into the full request.
Open this stepSelect executable/full request → inspect discovery → prepare stage by stage.
Open this stepRead a supplied viewer or create a snapshot from an approved manifest.
Open this stepSupplied exercise → new revision → validation → handover.
Open this stepLocate the first blockage in files, input, launch, connection or authority.
Open this stepView current SDK archives and digests
Read the required inputs and completion result before each exercise. Company connection, enrollment and approval need actual administrator-supplied material. The current SDK inventory covers the SDK and optional Rust set, rather than installers for every tool.
Expand the complete bilingual setup guide on this page. Select a component for its practical workflow and troubleshooting. Both online and closed-network environments are covered; illustrative scenarios are distinct from execution records. Check supplied release inventories for component availability and authority.
이미지 확인 → 첫 부팅 → 고유 신원 → 관리자 설정
플랫폼별 설치 → 경로별 인증 → 같은 설치 확인 → 실제 결과 확인
지원 Pack 확인 → 후보 준비·검증 → 승인·사용 권한 → 실행 기록
승인 입력 → 리비전 고정 → snapshot 검증 → 관찰 한계·공개 등급 확인
전체 요청 → 발견·정규화 → 의미 검증 → 후보 준비·담당자 인계
작업·입출력 선언 → 정확한 대상 참조 → 문법·의미 확인 → 요청 인계
Verify image → first boot → unique identity → administrator setup
Per-platform install → per-route authentication → matching installation → actual result
Check supported Packs → prepare/validate candidate → approval/entitlement → execution record
Approved input → fixed revision → snapshot validation → observation limits/disclosure class
Full request → discovery/normalization → semantic validation → candidate preparation/handover
Declare operation/I-O → exact target references → syntax/semantics → request handover
All five use cases · All troubleshooting cases A–J · SDK Engine
Troubleshooting now includes 30 detailed A–J scenarios and 12 tool-specific scenarios. Follow situation, observations, checks/actions, resumption and handover criteria. Two actual retained-record cases are linked to evidence in a separate section.
제공된 릴리스의 순서대로 현재 상태를 확인합니다.
준비 도구는 필요할 때 선택합니다. 후보가 자동으로 등록·실행되지는 않습니다.
마지막으로 확인한 상태를 기준으로 맞는 사례를 선택합니다.
Check current states in the order supplied by your release.
Choose preparation tools when needed. A candidate is not automatically registered or executed.
Choose a case from the last state actually confirmed.
Use the SDK package supplied for your operating system through your approved product delivery channel. This manual archive contains documentation and synthetic exercises; it does not include product binaries, license activation or Rust/native toolchains.
For online development, install or reuse a supported Rust compiler and native tools. For closed on-premises development, obtain the matching offline dependency set and toolchains before transfer. Offline is an available setup, not the default product mode.
승인된 제품 전달 경로에서 운영체제에 맞는 SDK 패키지를 받으십시오. 이 매뉴얼 묶음은 문서·합성 실습 입력을 담으며, 제품 바이너리·라이선스 활성화·Rust 및 네이티브 도구 체인을 포함하지 않습니다.
온라인 개발에서는 지원 Rust 컴파일러와 네이티브 도구를 설치하거나 재사용합니다. 폐쇄 온프렘에서는 반입 전에 호환되는 오프라인 의존성 세트와 도구 체인을 준비합니다. 오프라인 구성은 선택 사항이며 제품 기본 모드가 아닙니다.
Confirm the release image, target environment and scope.
Install the appliance and only the clients your team needs.
Set administrator scope and supported runtime binding.
Check service, identity, binding and recorded results.
The supplied component list identifies available installers and supported platforms. Choose only the components listed for your version.
Deploy the signed appliance image named in your component list into your own environment. Confirm the supported platform and complete the first-boot setup before connecting clients.
Workstation client for supported operating systems. Install only a platform package named by your release manifest and connect it to your organization's appliance.
Install the Builder package listed for your operating system to prepare and validate Pack candidates. Builder does not approve or execute a Pack by itself.
Use only Packs declared by your release and entitlement. Pack creation, validation, approval and governed execution are separate steps.
Prepare and compile a read-only Custom API or MCP transcript candidate on your development workstation. Choose the environment first; SDK Engine is not restricted to offline use.
Use an approved installed Rust toolchain with the compatibility run command, or choose the supplied dependency set for fixed build inputs. Installation and connection are separate steps.
Prepare the matching OS dependency set before transfer and verify its full file tree. run-offline uses those local assets for covered Rust/crates without additional downloads. This set is an optional provision for SDK build dependencies, not a product default.
The online installed-toolchain path and the separately verified dependency path have different evidence scopes. Choose deliberately; do not use another path to bypass a failed trust check. See the detailed SDK Engine guide for OS commands, input editing, reproducibility, troubleshooting and removal.
SDK Engine은 실제 연결이나 Pack 등록 전에 고객이 검토할 연동 후보를 준비합니다. 선언된 읽기 전용 Custom API 작업 또는 MCP 기록과 합성 응답을 검사하고, 값 매핑 소스를 생성하여 로컬 Rust 컴파일러로 빌드합니다. 이 도구는 원천 API·MCP 서버를 호출하거나, 자격 증명을 읽거나, Appliance를 변경하거나, Pack을 등록하거나, Work를 실행하지 않습니다.
패키지에는 합성 예제가 포함됩니다. 선택 세트 경로를 쓰려면 동일 세대의 운영체제별 공용 오프라인 Rust 의존성 패키지를 함께 준비하십시오. 기존 설치 툴체인을 선택한 온라인 경로에서는 이 세트가 필수가 아닙니다. 여기에 네이티브 컴파일러·표준 라이브러리·Cargo와 선언된 정확한 crate 버전이 들어 있으며, 이 범위에서는 Rust나 crate를 따로 다운로드하지 않습니다. 다른 OS·새 crate·다른 타깃은 별도 검증 대상입니다. macOS arm64와 Debian 13 amd64 패키지는 Rust 1.96.0, Windows amd64 패키지는 Rust 1.97.1을 사용합니다.
네이티브 전제 조건은 별도입니다. Debian은 기존 시스템 C 링커·libc 개발 파일, macOS는 신뢰 검증을 통과하는 Apple 개발 도구·SDK, Windows는 Visual Studio 2022 BuildTools의 MSVC 14.44.35207 및 Windows SDK 10.0.26100.0이 필요합니다. 이 자산은 Rust 의존성 패키지에 재배포하지 않습니다. 새 OS에 이 전제 조건까지 설치한다는 범위는 검증하지 않았습니다.
macOS의 run-offline은 기본적으로 현재 Apple 개발 도구 선택(SYSTEM_ACTIVE)을 사용합니다. 이미 설치된 Command Line Tools를 실행 한 번에 명시적으로 선택하려면 의존성 경로 뒤에 --macos-developer-selection COMMAND_LINE_TOOLS를 붙이십시오. 등록된 /Library/Developer/CommandLineTools 설치를 선택하며 기존 신뢰 검사를 모두 적용합니다. 시스템 개발 도구 설정을 바꾸거나 다른 설치로 자동 전환하지 않습니다. 다른 운영체제에서는 이 옵션을 거부합니다.
./bin/packr-sdk-engine run-offline examples/read-only-custom-api.json ./quality-candidate /absolute/path/dependencies --macos-developer-selection COMMAND_LINE_TOOLS공식 서명·공증, 고객 활성화·전달의 상태는 해당 패키지와 별도로 신뢰하는 릴리스 목록에서 확인하십시오. 로컬 예제 성공만으로 그 상태를 승인하지 않습니다.
SDK Engine은 온라인 개발 환경과 오프라인 환경 모두에서 사용할 수 있습니다. 오프라인 의존성 세트는 인터넷이 차단된 온프렘에서 SDK가 어댑터를 컴파일할 때 필요한 Rust 자산을 미리 준비하기 위한 선택 구성입니다. 제품의 기본 운영 모드를 오프라인으로 고정하는 설정이 아닙니다. SDK에서 새 연동 후보를 빌드할 때 생길 수 있는 의존성 문제를 해결하는 데 목적이 있습니다.
| 사용 환경 | 준비 방법 | 실행 경로와 확인 범위 |
|---|---|---|
| 온라인 개발 환경 | 조직이 승인한 전달 경로로 SDK를 준비하고 지원되는 Rust 컴파일러·네이티브 도구를 설치 또는 재사용합니다. 공용 의존성 세트를 함께 사용해도 됩니다. | 기존 툴체인은 run, 검증된 별도 의존성 세트는 run-offline을 사용합니다. 두 명령의 검증·영수증 범위는 다릅니다. |
| 인터넷이 차단된 온프렘 | 반입 전에 SDK와 같은 OS용 의존성 세트, 네이티브 전제 조건과 지문 목록을 준비합니다. | 전체 의존성 검증 후 run-offline으로 로컬 빌드합니다. 허용된 세트 범위에서는 Rust·crate 추가 다운로드가 필요 없습니다. |
| 네트워크가 있지만 빌드를 고정하려는 환경 | 온라인 환경에서 동일한 의존성 세트를 선택해 사용할 수 있습니다. | run-offline이라는 명령 이름이 컴퓨터의 네트워크를 차단하거나 전체 제품을 오프라인 전용으로 만들지는 않습니다. |
온라인 환경에서 기존 설치 툴체인을 사용하는 호환 경로는 다음과 같습니다. 압축을 푼 SDK 디렉터리에서 rustc --version으로 실제 선택되는 컴파일러를 확인하고, 지원 버전·타깃·OS 도구를 준비한 다음 새 출력 폴더를 지정하십시오. 이 경로는 PATH의 컴파일러를 사용하며 별도 의존성 세트의 전체 파일·네이티브 신뢰 영수증을 제공하지 않습니다. 해당 환경에서 별도로 검증해야 합니다.
rustc --version
./bin/packr-sdk-engine analyze examples/read-only-custom-api.json unused
./bin/packr-sdk-engine run examples/read-only-custom-api.json ./online-custom-candidate-01
./bin/packr-sdk-engine run examples/read-only-mcp-transcript.json ./online-mcp-candidate-01rustc --version
if ($LASTEXITCODE -ne 0) { throw 'Rust compiler unavailable' }
.\bin\packr-sdk-engine.exe analyze .\examples\read-only-custom-api.json unused
if ($LASTEXITCODE -ne 0) { throw 'Analyze failed' }
.\bin\packr-sdk-engine.exe run .\examples\read-only-custom-api.json .\online-custom-candidate-01
if ($LASTEXITCODE -ne 0) { throw 'Custom candidate failed' }
.\bin\packr-sdk-engine.exe run .\examples\read-only-mcp-transcript.json .\online-mcp-candidate-01
if ($LASTEXITCODE -ne 0) { throw 'MCP candidate failed' }run은 설치된 컴파일러를 쓰는 호환 명령으로 유지되어 있습니다. 현재 패키지의 별도 의존성 검증 경로와 같다고 해석하지 마십시오. run-offline의 신뢰·권한 검사에 실패한 뒤 그 검사를 피하기 위한 대체 실행으로 사용하지 않습니다. 아래의 검증된 의존성 세트 절차는 온라인 환경에서도 선택할 수 있습니다. 어느 경로의 합성 예제도 실제 API나 MCP 서버에 접속하지 않습니다.
SDK 본체에는 bin, docs, examples, 라이선스·고지가 있습니다. Rust 의존성 세트에는 DEPENDENCIES.json, FILES.json, toolchain, cargo-home과 고지가 있습니다. 본체만 해제했다고 선택 구성인 의존성 세트까지 설치된 것은 아닙니다. 기존 설치와 결과를 보존하려면 세대별 새 위치를 선택하십시오.
| 플랫폼 | SDK 본체 | 선택 의존성 세트 | 지원 범위 확인 |
|---|---|---|---|
| macOS ARM64 | 해당 OS의 .tar.gz | RUST_DEPENDENCIES_MACOS_ARM64.tar.gz | Apple Silicon, 등록된 Apple 도구와 SDK |
| Debian 13 AMD64 | 해당 OS의 .tar.gz | RUST_DEPENDENCIES_DEBIAN_13_AMD64.tar.gz | x86-64, 시스템 C 링커·libc 개발 파일 |
| Windows AMD64 | 해당 OS의 .zip | RUST_DEPENDENCIES_WINDOWS_AMD64.zip | x64, 등록된 MSVC·Windows SDK |
macOS에서는 shasum -a 256, Debian에서는 sha256sum, Windows에서는 Get-FileHash -Algorithm SHA256으로 두 압축 파일을 각각 확인합니다. 동일 위치에서 받은 해시만으로 공급자 신원이 증명되지는 않습니다. 별도로 신뢰하는 구성요소 목록과 비교하십시오. 파일 이름이 같아도 해시가 다르면 진행하지 않습니다.
Linux·macOS에서 아래 경로를 실제 파일로 바꾸고 실행합니다. 예제의 루트는 기존에 존재하면 중단합니다. 개인 홈의 비공유 경로를 사용하고, 상위 경로도 다른 사용자가 수정할 수 없어야 합니다.
sdk_archive="/absolute/path/sdk-package.tar.gz"
deps_archive="/absolute/path/RUST_DEPENDENCIES_OS.tar.gz"
install_root="$HOME/VibePackr-SDK-install-01"
test ! -e "$install_root" || exit 1
umask 077
mkdir -m 700 "$install_root" || exit 1
mkdir "$install_root/sdk" "$install_root/dependencies" "$install_root/runs" || exit 1
tar -xzf "$sdk_archive" -C "$install_root/sdk" || exit 1
tar -xzf "$deps_archive" -C "$install_root/dependencies" || exit 1
cd "$install_root/sdk" || exit 1Windows PowerShell 5.1에서는 접근이 제한된 사용자 홈 아래의 새 디렉터리를 준비합니다. 공유·동기화·네트워크 경로를 사용하지 말고 조직이 승인한 현재 사용자 전용 경로와 ACL을 확인하십시오. 아래는 이미 해당 권한이 확인된 부모 경로를 가정합니다. 기존 디렉터리를 덮어쓰거나 시스템 전체 ACL을 바꾸지 않습니다.
$sdkArchive = 'C:\absolute\path\sdk-package.zip'
$depsArchive = 'C:\absolute\path\RUST_DEPENDENCIES_WINDOWS_AMD64.zip'
$installRoot = Join-Path $env:USERPROFILE 'VibePackr-SDK-install-01'
if (Test-Path -LiteralPath $installRoot) { throw 'Choose a fresh install root' }
New-Item -ItemType Directory -Path $installRoot -ErrorAction Stop | Out-Null
$sdkRoot = Join-Path $installRoot 'sdk'
$depsRoot = Join-Path $installRoot 'dependencies'
$runsRoot = Join-Path $installRoot 'runs'
New-Item -ItemType Directory -Path $sdkRoot,$depsRoot,$runsRoot -ErrorAction Stop | Out-Null
Expand-Archive -LiteralPath $sdkArchive -DestinationPath $sdkRoot -ErrorAction Stop
Expand-Archive -LiteralPath $depsArchive -DestinationPath $depsRoot -ErrorAction Stop
Set-Location -LiteralPath $sdkRoot다음 단계에서 전체 의존성 검증이 권한 문제로 거부되면 해당 설치를 사용하지 말고 승인된 설치 절차로 해결하십시오. 검사 완화, 관리자 권한 실행, 실행 정책 우회, 시스템 신뢰 저장소 변경을 해결 방법으로 사용하지 않습니다. 온라인에서 기존 툴체인만 쓰는 경우 의존성 압축 해제 단계는 선택 사항입니다.
bin, docs, examples를 함께 보관하십시오. 시스템 전체에 설치할 때는 해당 릴리스의 운영체제별 안내를 따르십시오.cargo-home은 검증 입력으로 보존하며 작업 캐시로 직접 쓰거나 전역 캐시에 병합하지 마십시오. 활성화 스크립트나 셸 세션 변경은 필요하지 않습니다. 아래 의존성 절대 경로를 실제 경로로 바꾼 뒤 전체 파일 검증과 예제 확인을 수행하십시오.Linux 또는 macOS 터미널:
./bin/packr-sdk-engine verify-offline-dependencies DEBIAN_13_AMD64 /absolute/path/dependencies
# macOS arm64: DEBIAN_13_AMD64 대신 MACOS_ARM64
test -f examples/read-only-custom-api.json
test -f examples/read-only-mcp-transcript.json
./bin/packr-sdk-engine analyze examples/read-only-custom-api.json unusedWindows PowerShell:
.\bin\packr-sdk-engine.exe verify-offline-dependencies WINDOWS_AMD64 C:\absolute\path\dependencies
Test-Path .\examples\read-only-custom-api.json
Test-Path .\examples\read-only-mcp-transcript.json
.\bin\packr-sdk-engine.exe analyze .\examples\read-only-custom-api.json unusedanalyze는 입력만 읽고 출력 디렉터리를 만들지 않습니다. 성공 결과에도 authority_granted: false가 표시됩니다. 릴리스 목록에 SDK Engine이 없으면 진행을 멈추고 해당 릴리스의 지원 경로에서 올바른 패키지를 받으십시오.
아래는 앞 단계의 경로 변수가 같은 셸에 남아 있다는 가정입니다. 새 셸에서는 실제 절대 경로를 다시 지정하십시오. analyze의 마지막 unused는 CLI 형식에 필요한 자리이며 결과 폴더가 아닙니다.
macOS ARM64에서 이미 설치된 Command Line Tools를 명시적으로 선택하는 예입니다. 기본 선택은 SYSTEM_ACTIVE이며 아래 옵션은 이 한 실행에만 적용됩니다.
./bin/packr-sdk-engine verify-offline-dependencies MACOS_ARM64 "$install_root/dependencies" || exit 1
./bin/packr-sdk-engine analyze examples/read-only-custom-api.json unused || exit 1
./bin/packr-sdk-engine run-offline examples/read-only-custom-api.json "$install_root/runs/custom-01" "$install_root/dependencies" --macos-developer-selection COMMAND_LINE_TOOLS || exit 1
./bin/packr-sdk-engine run-offline examples/read-only-mcp-transcript.json "$install_root/runs/mcp-01" "$install_root/dependencies" --macos-developer-selection COMMAND_LINE_TOOLS || exit 1Debian 13 AMD64:
./bin/packr-sdk-engine verify-offline-dependencies DEBIAN_13_AMD64 "$install_root/dependencies" || exit 1
./bin/packr-sdk-engine analyze examples/read-only-custom-api.json unused || exit 1
./bin/packr-sdk-engine run-offline examples/read-only-custom-api.json "$install_root/runs/custom-01" "$install_root/dependencies" || exit 1
./bin/packr-sdk-engine run-offline examples/read-only-mcp-transcript.json "$install_root/runs/mcp-01" "$install_root/dependencies" || exit 1Windows AMD64:
.\bin\packr-sdk-engine.exe verify-offline-dependencies WINDOWS_AMD64 $depsRoot
if ($LASTEXITCODE -ne 0) { throw 'Dependency verification failed' }
.\bin\packr-sdk-engine.exe analyze .\examples\read-only-custom-api.json unused
if ($LASTEXITCODE -ne 0) { throw 'Analyze failed' }
.\bin\packr-sdk-engine.exe run-offline .\examples\read-only-custom-api.json (Join-Path $runsRoot 'custom-01') $depsRoot
if ($LASTEXITCODE -ne 0) { throw 'Custom candidate failed' }
.\bin\packr-sdk-engine.exe run-offline .\examples\read-only-mcp-transcript.json (Join-Path $runsRoot 'mcp-01') $depsRoot
if ($LASTEXITCODE -ne 0) { throw 'MCP candidate failed' }앞의 OS별 설치·실행 블록으로 Custom과 MCP를 각각 새 폴더에 실행한 뒤 아래를 확인합니다. SDK는 바탕화면 앱 아이콘을 만드는 설치 프로그램이 아니므로 앱 목록 대신 해제한 bin의 실행 파일과 결과 경로를 찾습니다. 명령은 그 SDK 디렉터리에서 실행합니다. 본체만 쓰는 온라인 경로에서는 선택 의존성 변수를 만들 필요가 없습니다.
기존 툴체인의 온라인 run 예제를 그대로 사용했다면 결과는 SDK 폴더 아래 online-custom-candidate-01과 online-mcp-candidate-01입니다. 아래 조회 명령의 경로를 그 실제 결과로 바꾸십시오. runs/custom-01과 runs/mcp-01은 앞의 선택 세트 실행 블록이 만든 경로입니다.
ls -la "$install_root/runs/custom-01"
cat "$install_root/runs/custom-01/README.md"
cat "$install_root/runs/custom-01/adapter.rs"
cat "$install_root/runs/custom-01/manifest.json"$candidate01 = Join-Path $runsRoot 'custom-01'
Get-ChildItem -LiteralPath $candidate01
Get-Content -LiteralPath (Join-Path $candidate01 'README.md') -Raw -Encoding UTF8
Get-Content -LiteralPath (Join-Path $candidate01 'adapter.rs') -Raw -Encoding UTF8
Get-Content -LiteralPath (Join-Path $candidate01 'manifest.json') -Raw -Encoding UTF8| 읽을 대상 | 처음 확인할 내용 | 해석 |
|---|---|---|
| 출력 폴더 | adapter.rs, libadapter.rlib, README.md, manifest.json | 실패 stage의 임시 폴더와 구분 |
| adapter.rs | component 매핑과 score → quality_score 변환 | 합성 응답의 매핑 코드; API 클라이언트 아님 |
| manifest.json | compiler_version, files의 3개 지문, 다섯 단계, authority_granted=false | 이 실행의 후보와 검증 기록 |
| offline_execution | 선택 세트 경로로 실행했을 때만 해당 의존성·네이티브 관측 | 온라인 run에 같은 영수증이 있다고 가정하지 않음 |
| MCP 결과 | 별도 mcp-01 폴더와 repository 매핑 | Custom 성공을 MCP 성공으로 재사용하지 않음 |
libadapter.rlib는 Rust 라이브러리이며 더블클릭하거나 운영체제 실행 파일처럼 실행하지 않습니다. 결과에서 97이 quality_score 정수로 매핑되는 것은 합성 검증의 내용입니다. 실제 서버의 응답을 받았다는 뜻이 아닙니다. 원본 입력 값을 읽고 매핑·단계 기록과 대조하십시오.
아래 명령은 새 inputs-02 폴더에 전체 예제를 복사합니다. 이 절에서는 편집·분석까지 진행하고, 뒤의 input.json을 바꾸고 두 번째 후보 만들기에서 재실행합니다. 같은 이름이 있으면 새 번호를 고르십시오.
test ! -e "$install_root/inputs-02" || exit 1
mkdir "$install_root/inputs-02" || exit 1
cp ./examples/read-only-custom-api.json "$install_root/inputs-02/input.json" || exit 1$inputs02 = Join-Path $installRoot 'inputs-02'
if (Test-Path -LiteralPath $inputs02) { throw 'Choose a fresh input folder' }
New-Item -ItemType Directory -Path $inputs02 -ErrorAction Stop | Out-Null
Copy-Item -LiteralPath .\examples\read-only-custom-api.json -Destination (Join-Path $inputs02 'input.json') -ErrorAction Stop편집기에서 이 사본을 열어 score는 문자열 "88", component는 "my-test-component"로 바꿉니다. 매핑을 유지한 값 변경은 adapter.rs를 바꾸지 않을 수 있습니다. 첫 결과와 수정 결과를 모두 보존합니다.
아래는 기존 설치 경로를 다시 지정하는 명령입니다. 압축을 다시 풀거나 기존 결과를 지우지 않습니다. 앞서 다른 루트명을 사용했다면 그 경로로 바꾸십시오. 다음 실행의 결과 폴더는 다시 새 이름을 선택합니다.
install_root="$HOME/VibePackr-SDK-install-01"
test -f "$install_root/sdk/bin/packr-sdk-engine" || exit 1
cd "$install_root/sdk" || exit 1$installRoot = Join-Path $env:USERPROFILE 'VibePackr-SDK-install-01'
$sdkRoot = Join-Path $installRoot 'sdk'
$depsRoot = Join-Path $installRoot 'dependencies'
$runsRoot = Join-Path $installRoot 'runs'
Set-Location -LiteralPath $sdkRoot -ErrorAction Stop
if (!(Test-Path -LiteralPath '.\bin\packr-sdk-engine.exe' -PathType Leaf)) { throw 'SDK path does not match the prior installation' }복귀 경로: 프로그램 경로를 찾지 못함 → 설치 루트·중첩 해제 폴더 확인, analyze 거부 → 전체 입력/인코딩 확인, build 거부 → 선택 의존성·네이티브 전제 조건 확인, 출력 경로 거부 → 새 이름 선택. 실패한 임시 stage를 성공 결과로 열지 않습니다.
예제의 read_quality 작업은 합성 응답의 component와 문자열 score를 읽습니다. 목표 Contract는 component와 정수 quality_score를 요구합니다. 아래 매핑은 로컬 준비용입니다.
{
"definition": {
"integration_id": "acme-quality-hub",
"operation_id": "read_quality",
"credential_requirements": [],
"execution_boundary": "READ_ONLY_SYNTHETIC_SANDBOX"
},
"mapping": {
"field_mappings": [
{"source": "component", "target": "component", "transform": "IDENTITY"},
{"source": "score", "target": "quality_score", "transform": "STRING_TO_INTEGER"}
]
},
"fixture": {
"scope": "LOCAL_SYNTHETIC_SANDBOX",
"response": {"component": "fixture-component", "score": "97"}
}
}이 발췌는 필드를 설명하기 위한 것입니다. 실행에는 정확한 Contract·어댑터·스키마 지문·권한·증거 범위를 포함한 패키지의 전체 JSON 파일을 사용하십시오. 예제에 암호, 토큰, 개인키 또는 실제 고객 응답을 넣지 마십시오.
조직의 레거시 저장소가 지원되는 MCP 인터페이스를 제공한다면 examples/read-only-mcp-transcript.json부터 확인하십시오. 합성 기록에는 tools/list와 읽기 전용 read_repository 도구가 선언되어 있습니다. 매핑은 name을 repository_id로, sha를 revision으로 복사합니다. Engine은 제공된 기록을 분석하며 MCP 서버에 접속하지 않습니다.
./bin/packr-sdk-engine analyze examples/read-only-mcp-transcript.json unused
./bin/packr-sdk-engine run-offline examples/read-only-mcp-transcript.json ./repository-candidate /absolute/path/dependenciesWindows PowerShell:
.\bin\packr-sdk-engine.exe analyze .\examples\read-only-mcp-transcript.json unused
.\bin\packr-sdk-engine.exe run-offline .\examples\read-only-mcp-transcript.json .\repository-candidate C:\absolute\path\dependencies고객 선언으로 바꾸기 전에 연동 담당자와 작업 ID, 필드 형식, 읽기 전용 권한, Contract 버전, 합성 응답을 정확히 대조하십시오. 실제 MCP 호출과 자격 증명 사용에는 별도의 승인된 연결 절차가 필요합니다.
압축을 푼 디렉터리에서 아직 존재하지 않는 출력 경로를 지정하십시오.
./bin/packr-sdk-engine run-offline examples/read-only-custom-api.json ./quality-candidate /absolute/path/dependenciesWindows:
.\bin\packr-sdk-engine.exe run-offline .\examples\read-only-custom-api.json .\quality-candidate C:\absolute\path\dependencies한 명령이 다음 단계를 순서대로 수행합니다.
adapter.rs를 만듭니다. API 전송·자격 증명·Work 실행 코드는 없습니다.rustc 절대 경로로 생성 소스를 libadapter.rlib로 컴파일합니다.README.md와 manifest.json을 씁니다. 매니페스트에는 입력 지문, 컴파일러 버전, 후보 파일 세 개의 SHA-256과 단계별 입력·출력 지문이 기록됩니다.성공한 출력 디렉터리에는 adapter.rs, libadapter.rlib, README.md, manifest.json만 있어야 합니다. v2 매니페스트의 offline_execution에는 전체 트리의 전후 지문, 컴파일러·네이티브 도구·환경·명령 인자의 최소 공개 지문이 포함됩니다. 이는 미서명 관측 기록이며 독립적인 실행 증명이나 릴리스 서명이 아닙니다. 매니페스트를 확인하십시오. 결과 CUSTOMER_REVIEW_CANDIDATE는 실제 연결이나 실행 승인을 뜻하지 않습니다.
먼저 패키지의 전체 examples/read-only-custom-api.json을 새 입력 작업 폴더의 input.json으로 복사합니다. 제공 예제와 첫 결과는 보존합니다. 편집기에서 다음 두 값만 수정해 UTF-8로 저장하십시오. 파일 전체를 아래 발췌로 교체하지 마십시오.
draft.fixture.response.component = "my-test-component"
draft.fixture.response.score = "88"score는 문자열이므로 따옴표를 유지합니다. 이 예제의 STRING_TO_INTEGER가 결과의 정수 quality_score로 변환합니다. Contract ID, 어댑터 리비전, 스키마 지문, 권한, 증거 항목은 다른 값을 추측해 바꾸지 않습니다. Windows PowerShell 5.1의 기본 Out-File은 UTF-16을 쓸 수 있으므로 JSON 편집기는 UTF-8을 선택하십시오.
예를 들어 앞서 준비한 설치 루트에 inputs-02를 새로 만들고 그 안에 input.json을 저장한 뒤 실행합니다. macOS는 앞서 선택한 Apple 도구 옵션을 그대로 적용하십시오. 첫 결과와 두 번째 결과를 합치지 않습니다.
./bin/packr-sdk-engine analyze "$install_root/inputs-02/input.json" unused
./bin/packr-sdk-engine run-offline "$install_root/inputs-02/input.json" "$install_root/runs/custom-api-candidate-02" "$install_root/dependencies"
# macOS CLT 선택 시 마지막에 다음 인자를 추가: --macos-developer-selection COMMAND_LINE_TOOLS$input02 = Join-Path $installRoot 'inputs-02\input.json'
.\bin\packr-sdk-engine.exe analyze $input02 unused
if ($LASTEXITCODE -ne 0) { throw 'Analyze failed' }
.\bin\packr-sdk-engine.exe run-offline $input02 (Join-Path $runsRoot 'custom-api-candidate-02') $depsRoot
if ($LASTEXITCODE -ne 0) { throw 'Candidate failed' }온라인의 기존 툴체인 경로를 선택했다면 같은 입력과 새 결과 경로로 run을 사용하며 의존성 경로와 macOS 선택 옵션은 넣지 않습니다. 한 후보의 기록에 두 실행 경로의 결과를 섞지 않습니다.
adapter.rs는 필드 매핑 코드입니다. 합성 응답의 값만 바꾸고 매핑 규칙을 유지하면 코드가 같을 수 있습니다. manifest.json은 해당 실행의 입력·산출물·단계 기록이므로 입력 지문, 경로, 관측값 등은 달라질 수 있습니다. 다른 OS·컴파일러 버전의 .rlib 해시를 같아야 한다고 가정하지 않습니다.
cat "$install_root/runs/custom-api-candidate-02/adapter.rs"
cat "$install_root/runs/custom-api-candidate-02/manifest.json"Get-Content -LiteralPath (Join-Path $runsRoot 'custom-api-candidate-02\adapter.rs')
Get-Content -LiteralPath (Join-Path $runsRoot 'custom-api-candidate-02\manifest.json') -Raw
Get-FileHash -LiteralPath (Join-Path $runsRoot 'custom-api-candidate-02\libadapter.rlib') -Algorithm SHA256생성 코드를 직접 편집하면 기존 매니페스트의 지문과 맞지 않습니다. Engine의 재현 가능한 후보를 만들려면 입력 JSON의 지원되는 선언·매핑을 수정하고 새 결과 경로에서 다시 실행합니다. 매니페스트를 고쳐 기존 실행이 검증된 것처럼 만들지 않습니다. 임의 Rust 코드·추가 crate·실제 네트워크 연동은 이 합성 예제의 검증 범위에 포함되지 않습니다.
재현성은 같은 OS·동일 SDK·컴파일러·의존성·전체 입력으로 새 폴더에 실행한 뒤 adapter.rs와 libadapter.rlib의 SHA-256을 비교합니다. 입력을 바꾼 두 실행 비교와 같은 입력의 재현성 비교는 구분하십시오. 매니페스트 전체 해시까지 같아야 하는 것은 아닙니다. 두 출력의 다섯 단계, 파일 지문, 입력 지문과 의존성 전후 지문도 함께 확인합니다.
| 표시 또는 현상 | 가능한 원인 | 조치 |
|---|---|---|
TARGET_MISMATCH, FIXTURE_REJECTED, CREDENTIAL_REQUIREMENT, INVALID_INPUT | 작업·Contract/어댑터 버전·입력 형식·합성 응답이 지원 범위 밖이거나 자격 증명 요구가 있습니다. | 전체 선언을 릴리스의 지원 대상 목록과 대조하십시오. 예제에서 비밀값을 제거하고, 목표 ID를 추측해 바꾸지 마십시오. |
TOOLCHAIN_UNAVAILABLE | 의존성 파일·운영체제·권한·컴파일러 또는 네이티브 도구의 신뢰 검증이 실패했습니다. | 의존성 전체 검증과 OS 전제 조건을 확인하십시오. 신뢰 검사나 권한 검사를 우회하지 말고, 오류와 실패 stage를 보존하십시오. PATH·Rustup 다운로드로 대체하지 않습니다. |
OUTPUT_EXISTS_OR_UNAVAILABLE | 이전 시도의 파일이 남았거나 디렉터리를 만들 수 없습니다. | 내용을 확인하고 쓸 수 있는 새 디렉터리를 지정하십시오. 두 시도의 파일을 합치지 마십시오. |
| 합성 응답 검사 실패 | 선언된 매핑과 응답 형식이 다르거나 값 변환이 불가능합니다. | 선언 또는 합성 응답을 바로잡아 새 출력 경로에서 실행하십시오. 합성 검사 통과를 실제 API 검증으로 해석하지 마십시오. |
| 압축 파일 지문·서명 불일치 | 파일이 다르거나 변경됐습니다. | 설치를 중지하고 릴리스 목록의 파일을 다시 받으십시오. |
| 후보는 컴파일되나 Appliance에 보이지 않음 | 이 도구는 로컬 후보만 준비합니다. | 릴리스의 별도 등록·바인딩·Work 절차를 따르고 인증된 결정과 해당 영수증을 확인하십시오. |
run-offline은 비공개 sibling stage에서 생성·검사하고, 후검사가 끝나면 기존 경로를 덮어쓰지 않는 원자적 이동으로 새 결과를 게시합니다. 실패하면 최종 결과 경로는 없고 비공개 stage·실패 기록이 남을 수 있습니다. 이 stage를 후보 패키지로 사용하지 마십시오. 이전 실패 stage나 결과는 자동으로 재사용하지 않습니다. 지원에 오류 출력을 전달할 때 고객 데이터나 비밀값을 먼저 제거하십시오.
새 SDK는 별도 세대 디렉터리에 해제하고 그 세대의 의존성·지문 목록과 대조합니다. 이전 결과·입력·패키지를 보존한 채 새 위치에서 검증한 다음 작업 경로를 바꿉니다. 되돌릴 때는 기록된 이전 SDK와 그에 맞는 의존성·입력 조합을 선택합니다. 자동 덮어쓰기나 기존 후보의 재사용은 하지 않습니다.
제거 전에 입력 JSON, 수정 내역, 후보 파일·매니페스트와 지원 기록을 보관합니다. 휴대형 설치 디렉터리와 작업 결과 디렉터리를 구분해 관리하십시오. 이 절차는 시스템 서비스나 전역 Rustup·Cargo 설정을 설치하지 않으므로 이를 삭제하거나 시스템 설정을 되돌리는 명령도 필요하지 않습니다. 기존 조직 툴체인을 별도로 제거하지 않습니다.
보안 검토에는 패키지·의존성 지문, 정확한 버전·OS, 파일 목록, LICENSE·NOTICE, 제공된 SBOM·취약점 조회 시점, 실제 검사 결과와 범위를 함께 전달합니다. 서명·공증이 없는 후보와 서명된 릴리스는 구분합니다. 지문 일치는 파일 동일성에 대한 확인이며, 매니페스트는 독립적인 실행 증명이 아닙니다. 알려진 마커 검사는 모든 비밀정보 부재를 보장하지 않으며 공급망·권한·네트워크 격리·최신 취약점 전부를 인증하지 않습니다.
Appliance 등록, 실제 연결, 고객 활성화·전달, Work 실행은 각 릴리스가 별도로 제공한 절차와 승인 범위를 따릅니다. 설치 후 도구 목록으로 돌아가거나, 소스 Document 안내에서 다음 연동 선언을 준비하십시오.
SDK·의존성 패키지 지문과 제공된 서명 유무, 컴퓨터 운영체제, 검증된 컴파일러 버전, 입력 JSON 지문, 대상 Contract·어댑터 버전, 단계 결과, 후보 매니페스트, 연동 담당자를 기록하십시오. 이후 실제 Work가 실행되면 별도의 Appliance 등록 결정과 Work 영수증을 보관하십시오. 지원 기록에는 비밀값과 실제 고객 응답을 넣지 마십시오.
다음은 지원되는 입력·명령·권한 경계를 바탕으로 구성한 교육용 사례입니다. 제품의 실제 상태·사유와 함께 읽고, 자신의 실행 기록 없이 예시의 결과를 성공 이력으로 사용하지 않습니다. 온라인과 오프라인 환경 모두에 적용되는 확인 항목과 선택 의존성 경로에만 해당하는 항목을 구별합니다.
상황: SDK 실행 파일은 열리지만 선택 의존성 경로의 예제 빌드가 시작되지 않습니다. 본체 설치, Rust 세트 검증, OS 네이티브 도구 준비를 한 단계로 합치지 않고 각각 확인합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 선택한 경로의 전제 조건이 충족되고 새 출력에서 다섯 단계가 검증돼야 후보 준비 완료로 기록합니다.
해결되지 않았을 때: 필요 자산 또는 지원 조합이 없으면 정확한 누락 항목을 인계합니다. 임의 다운로드·전역 캐시 혼합으로 빈칸을 메우지 않습니다.
상황: macOS에 Apple 개발 도구가 둘 이상 있습니다. 현재 시스템 선택을 사용하는 실행이 거부됐고, 등록된 Command Line Tools 설치가 별도로 준비돼 있습니다. 설치돼 있다는 사실만으로 신뢰 검증 성공을 가정하지 않습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 해당 실행의 선택된 도구와 후보 검증 결과가 확인돼야 이 경로의 성공으로 기록합니다.
해결되지 않았을 때: CLT가 없거나 신뢰 검증이 거부되면 그 전제 조건을 인계합니다. 이 옵션을 다른 OS에 사용하지 않습니다.
상황: 사용자가 예제의 점수를 88로 바꾸면서 문자열 따옴표를 지웠거나 설명용 JSON 발췌만 input.json에 저장했습니다. JSON 문법이 맞아도 선언된 입력 형식과 전체 요청 구조는 별도로 검사됩니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 수정 입력이 지원 형식으로 받아들여지고 같은 실행의 다섯 단계·산출물 지문이 확인되면 해당 후보만 완료로 기록합니다.
해결되지 않았을 때: 대상·권한·데이터 경계 거부가 남으면 예제 값을 바꾸는 것으로 해결됐다고 표시하지 않습니다.
상황: 두 출력의 adapter.rs는 같지만 libadapter.rlib의 지문이 다릅니다. 출력 경로만 비교하기 전에 실제 입력·OS·컴파일러·SDK·의존성과 선택한 명령이 같은지 확인해야 합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 같은 조건의 새 실행에서 지문이 일치하면 그 OS·버전·입력 범위의 재현성으로만 기록합니다.
해결되지 않았을 때: 조건이 같은데도 다르면 두 패키지·입력·산출물 지문과 최소 실행 기록을 인계합니다. 보안 후검사 실패를 성공으로 바꾸지 않습니다.
Use this tool on an integration workstation to prepare a candidate, before any live connection or Pack registration. It accepts a declared read-only Custom API operation or an MCP transcript, each with a synthetic response. The result is a locally compiled value-mapping library and its source. The tool does not call the source API or MCP server, read credentials, change the appliance, register a Pack, or execute Work.
For the supplied-set route, use the matching generation of the separate OS-native offline Rust dependency package. This set is optional when choosing the installed-toolchain online route. It supplies the compiler, standard library, Cargo and exact declared crate versions. Rust and crates need no additional download for that declared coverage. Other OSes, targets or new crates require their own verified inputs. macOS arm64 and Debian 13 amd64 bundles use Rust 1.96.0; Windows amd64 uses Rust 1.97.1.
Native prerequisites are separate: an existing Debian system C linker and libc development files; trusted Apple developer tools and SDK on macOS; or Visual Studio 2022 BuildTools MSVC 14.44.35207 and Windows SDK 10.0.26100.0. These native assets are not redistributed. Provisioning a fresh OS with all prerequisites has not been validated.
On macOS, run-offline uses the active Apple developer tools by default (SYSTEM_ACTIVE). To select an already installed Command Line Tools package for one run, append --macos-developer-selection COMMAND_LINE_TOOLS after the dependency root. This selects the registered /Library/Developer/CommandLineTools installation and retains all trust checks. It does not change the system developer selection or fall back to another installation. The option is rejected on other operating systems.
./bin/packr-sdk-engine run-offline examples/read-only-custom-api.json ./quality-candidate /absolute/path/dependencies --macos-developer-selection COMMAND_LINE_TOOLSCheck official signing/notarization and customer activation/delivery status in the package and separately trusted release inventory. Local example success does not authorize those states.
SDK Engine can be used in both online development and offline environments. The offline dependency set is optional provisioning for closed on-premises installations where compiling an SDK adapter may otherwise require unavailable Rust assets. It does not set an offline-only product default. Its purpose is to address dependencies that can arise while building a new integration candidate with SDK Engine.
| Environment | Preparation | Command and evidence scope |
|---|---|---|
| Online development | Obtain the SDK through your approved delivery route and install or reuse a supported Rust compiler and native tools. The shared dependency set is also an option. | Use run with an existing toolchain, or run-offline with the verified dependency set. The checks and receipts differ. |
| Closed on-premises | Prepare the SDK, matching OS dependency set, native prerequisites and trusted digest inventory before transfer. | Verify the complete dependency tree, then use run-offline. The declared Rust/crate coverage requires no additional download. |
| Connected environment requiring fixed build inputs | Choose the same dependency set while the machine remains connected. | The command name run-offline does not disable the computer's network or make the whole product offline-only. |
The compatibility path below uses an installed compiler in an online development environment. Run it from the extracted SDK directory after checking the actual compiler selected by rustc --version, its supported target and native prerequisites. Choose fresh output directories. This path uses the compiler on PATH and does not provide the separate dependency set's full-tree/native-trust receipts; validate that environment separately.
rustc --version
./bin/packr-sdk-engine analyze examples/read-only-custom-api.json unused
./bin/packr-sdk-engine run examples/read-only-custom-api.json ./online-custom-candidate-01
./bin/packr-sdk-engine run examples/read-only-mcp-transcript.json ./online-mcp-candidate-01rustc --version
if ($LASTEXITCODE -ne 0) { throw 'Rust compiler unavailable' }
.\bin\packr-sdk-engine.exe analyze .\examples\read-only-custom-api.json unused
if ($LASTEXITCODE -ne 0) { throw 'Analyze failed' }
.\bin\packr-sdk-engine.exe run .\examples\read-only-custom-api.json .\online-custom-candidate-01
if ($LASTEXITCODE -ne 0) { throw 'Custom candidate failed' }
.\bin\packr-sdk-engine.exe run .\examples\read-only-mcp-transcript.json .\online-mcp-candidate-01
if ($LASTEXITCODE -ne 0) { throw 'MCP candidate failed' }run is retained as a compatibility command for an installed compiler. It does not establish the same checks as the separately verified dependency route. Do not use it to avoid a failed run-offline trust or permission check. The dependency-set procedure below can also be chosen on a connected machine. Neither command's synthetic examples contact a live API or MCP server.
The SDK archive contains bin, docs, examples, licenses and notices. The optional Rust dependency set contains DEPENDENCIES.json, FILES.json, toolchain, cargo-home and notices. Extracting the SDK alone does not install the optional dependencies. Use a new generation-specific location to preserve earlier installations and results.
| Platform | SDK | Optional dependency set | Native coverage to check |
|---|---|---|---|
| macOS ARM64 | Matching .tar.gz | RUST_DEPENDENCIES_MACOS_ARM64.tar.gz | Apple Silicon, registered Apple tools and SDK |
| Debian 13 AMD64 | Matching .tar.gz | RUST_DEPENDENCIES_DEBIAN_13_AMD64.tar.gz | x86-64, system C linker and libc development files |
| Windows AMD64 | Matching .zip | RUST_DEPENDENCIES_WINDOWS_AMD64.zip | x64, registered MSVC and Windows SDK |
Check both archives with shasum -a 256 on macOS, sha256sum on Debian, or Get-FileHash -Algorithm SHA256 on Windows. Compare with a separately trusted component inventory. A digest obtained from the same untrusted location does not establish publisher identity. Stop on a mismatch even if the file name is unchanged.
On Linux or macOS, replace the archive paths below with the real files. The example stops if the install root already exists. Use an unshared directory under your private home; every ancestor must also exclude writes by other users.
sdk_archive="/absolute/path/sdk-package.tar.gz"
deps_archive="/absolute/path/RUST_DEPENDENCIES_OS.tar.gz"
install_root="$HOME/VibePackr-SDK-install-01"
test ! -e "$install_root" || exit 1
umask 077
mkdir -m 700 "$install_root" || exit 1
mkdir "$install_root/sdk" "$install_root/dependencies" "$install_root/runs" || exit 1
tar -xzf "$sdk_archive" -C "$install_root/sdk" || exit 1
tar -xzf "$deps_archive" -C "$install_root/dependencies" || exit 1
cd "$install_root/sdk" || exit 1In Windows PowerShell 5.1, choose a fresh directory beneath an access-controlled user home. Check the organization's approved current-user directory and ACL first; avoid shared, synchronized or network locations. The example assumes that the parent permissions have already been verified. It neither overwrites an old directory nor changes system-wide ACLs.
$sdkArchive = 'C:\absolute\path\sdk-package.zip'
$depsArchive = 'C:\absolute\path\RUST_DEPENDENCIES_WINDOWS_AMD64.zip'
$installRoot = Join-Path $env:USERPROFILE 'VibePackr-SDK-install-01'
if (Test-Path -LiteralPath $installRoot) { throw 'Choose a fresh install root' }
New-Item -ItemType Directory -Path $installRoot -ErrorAction Stop | Out-Null
$sdkRoot = Join-Path $installRoot 'sdk'
$depsRoot = Join-Path $installRoot 'dependencies'
$runsRoot = Join-Path $installRoot 'runs'
New-Item -ItemType Directory -Path $sdkRoot,$depsRoot,$runsRoot -ErrorAction Stop | Out-Null
Expand-Archive -LiteralPath $sdkArchive -DestinationPath $sdkRoot -ErrorAction Stop
Expand-Archive -LiteralPath $depsArchive -DestinationPath $depsRoot -ErrorAction Stop
Set-Location -LiteralPath $sdkRootIf full dependency verification rejects the permissions, do not use that installation; resolve it through the approved installation procedure. Do not disable checks, elevate the product, bypass execution policy or change the system trust store. Extraction of a dependency set is optional when using only an existing toolchain in an online environment.
bin, docs, and examples together. Use the signed release's platform-specific installation instructions for any system-wide placement.cargo-home as verified input: do not use it as a mutable cache or merge it into a global cache. No activation script or shell session mutation is needed. Replace the absolute dependency paths below with your actual paths, verify the full tree, then check the examples.Linux or macOS terminal:
./bin/packr-sdk-engine verify-offline-dependencies DEBIAN_13_AMD64 /absolute/path/dependencies
# On macOS arm64 replace DEBIAN_13_AMD64 with MACOS_ARM64.
test -f examples/read-only-custom-api.json
test -f examples/read-only-mcp-transcript.json
./bin/packr-sdk-engine analyze examples/read-only-custom-api.json unusedWindows PowerShell:
.\bin\packr-sdk-engine.exe verify-offline-dependencies WINDOWS_AMD64 C:\absolute\path\dependencies
Test-Path .\examples\read-only-custom-api.json
Test-Path .\examples\read-only-mcp-transcript.json
.\bin\packr-sdk-engine.exe analyze .\examples\read-only-custom-api.json unusedanalyze reads the declaration without creating an output directory. A successful result reports authority_granted: false. If your release inventory lacks this component, stop and obtain the correct package through your support channel.
The commands below assume the preceding path variables remain in the same shell. Set actual absolute paths again in a new shell. The final unused argument to analyze is required by the CLI shape; it does not name a created output directory.
On macOS ARM64, this example explicitly chooses already installed Command Line Tools. The default selection is SYSTEM_ACTIVE; the option below applies only to that run.
./bin/packr-sdk-engine verify-offline-dependencies MACOS_ARM64 "$install_root/dependencies" || exit 1
./bin/packr-sdk-engine analyze examples/read-only-custom-api.json unused || exit 1
./bin/packr-sdk-engine run-offline examples/read-only-custom-api.json "$install_root/runs/custom-01" "$install_root/dependencies" --macos-developer-selection COMMAND_LINE_TOOLS || exit 1
./bin/packr-sdk-engine run-offline examples/read-only-mcp-transcript.json "$install_root/runs/mcp-01" "$install_root/dependencies" --macos-developer-selection COMMAND_LINE_TOOLS || exit 1On Debian 13 AMD64:
./bin/packr-sdk-engine verify-offline-dependencies DEBIAN_13_AMD64 "$install_root/dependencies" || exit 1
./bin/packr-sdk-engine analyze examples/read-only-custom-api.json unused || exit 1
./bin/packr-sdk-engine run-offline examples/read-only-custom-api.json "$install_root/runs/custom-01" "$install_root/dependencies" || exit 1
./bin/packr-sdk-engine run-offline examples/read-only-mcp-transcript.json "$install_root/runs/mcp-01" "$install_root/dependencies" || exit 1On Windows AMD64:
.\bin\packr-sdk-engine.exe verify-offline-dependencies WINDOWS_AMD64 $depsRoot
if ($LASTEXITCODE -ne 0) { throw 'Dependency verification failed' }
.\bin\packr-sdk-engine.exe analyze .\examples\read-only-custom-api.json unused
if ($LASTEXITCODE -ne 0) { throw 'Analyze failed' }
.\bin\packr-sdk-engine.exe run-offline .\examples\read-only-custom-api.json (Join-Path $runsRoot 'custom-01') $depsRoot
if ($LASTEXITCODE -ne 0) { throw 'Custom candidate failed' }
.\bin\packr-sdk-engine.exe run-offline .\examples\read-only-mcp-transcript.json (Join-Path $runsRoot 'mcp-01') $depsRoot
if ($LASTEXITCODE -ne 0) { throw 'MCP candidate failed' }After the OS-specific installation/run blocks create separate Custom and MCP candidates, inspect them below. SDK is not an installer that creates a desktop app icon: locate the extracted bin executable and result paths. Run commands from that SDK directory. The installed-toolchain online route does not require optional dependency variables.
If you used the installed-toolchain online run examples unchanged, results are online-custom-candidate-01 and online-mcp-candidate-01 under the SDK directory. Substitute those actual paths in the inspection commands below. runs/custom-01 and runs/mcp-01 belong to the earlier supplied-set run blocks.
ls -la "$install_root/runs/custom-01"
cat "$install_root/runs/custom-01/README.md"
cat "$install_root/runs/custom-01/adapter.rs"
cat "$install_root/runs/custom-01/manifest.json"$candidate01 = Join-Path $runsRoot 'custom-01'
Get-ChildItem -LiteralPath $candidate01
Get-Content -LiteralPath (Join-Path $candidate01 'README.md') -Raw -Encoding UTF8
Get-Content -LiteralPath (Join-Path $candidate01 'adapter.rs') -Raw -Encoding UTF8
Get-Content -LiteralPath (Join-Path $candidate01 'manifest.json') -Raw -Encoding UTF8| Item | First check | Meaning |
|---|---|---|
| Output directory | adapter.rs, libadapter.rlib, README.md, manifest.json | Distinct from failed temporary stages |
| adapter.rs | Component mapping and score → quality_score conversion | Synthetic value mapping, not an API client |
| manifest.json | compiler_version, 3 file digests, five stages, authority_granted=false | This execution's candidate and validation records |
| offline_execution | Dependency/native observations when using the supplied-set route | Do not assume the same receipt for online run |
| MCP output | Separate mcp-01 directory and repository mapping | Custom success is not MCP success |
libadapter.rlib is a Rust library; do not double-click or execute it as an OS program. Mapping 97 to an integer quality_score is part of synthetic validation, not a response from a live server. Read the original input values and compare mapping/stage records.
These commands copy the complete example into a fresh inputs-02 directory. Edit/analyze it here, then rerun in the later Edit input.json section. Choose a new number if that directory already exists.
test ! -e "$install_root/inputs-02" || exit 1
mkdir "$install_root/inputs-02" || exit 1
cp ./examples/read-only-custom-api.json "$install_root/inputs-02/input.json" || exit 1$inputs02 = Join-Path $installRoot 'inputs-02'
if (Test-Path -LiteralPath $inputs02) { throw 'Choose a fresh input folder' }
New-Item -ItemType Directory -Path $inputs02 -ErrorAction Stop | Out-Null
Copy-Item -LiteralPath .\examples\read-only-custom-api.json -Destination (Join-Path $inputs02 'input.json') -ErrorAction StopOpen this copy in an editor, keeping score a string "88" and setting component to "my-test-component". Changing fixture values while retaining mapping may leave adapter.rs unchanged. Preserve both the first and modified results.
These commands restore the existing installation paths. Do not extract again or delete old results. Replace the root name if you used a different one, and select a fresh result directory for the next run.
install_root="$HOME/VibePackr-SDK-install-01"
test -f "$install_root/sdk/bin/packr-sdk-engine" || exit 1
cd "$install_root/sdk" || exit 1$installRoot = Join-Path $env:USERPROFILE 'VibePackr-SDK-install-01'
$sdkRoot = Join-Path $installRoot 'sdk'
$depsRoot = Join-Path $installRoot 'dependencies'
$runsRoot = Join-Path $installRoot 'runs'
Set-Location -LiteralPath $sdkRoot -ErrorAction Stop
if (!(Test-Path -LiteralPath '.\bin\packr-sdk-engine.exe' -PathType Leaf)) { throw 'SDK path does not match the prior installation' }Return path: executable missing → install root/nested extraction directory; analyze refusal → complete input/encoding; build refusal → selected dependencies/native prerequisites; output refusal → fresh name. Never open a failed temporary stage as a successful candidate.
The included file declares one synthetic read_quality operation. The source returns component and a string score; the target contract expects component and integer quality_score. This mapping is local preparation only.
{
"definition": {
"integration_id": "acme-quality-hub",
"operation_id": "read_quality",
"credential_requirements": [],
"execution_boundary": "READ_ONLY_SYNTHETIC_SANDBOX"
},
"mapping": {
"field_mappings": [
{"source": "component", "target": "component", "transform": "IDENTITY"},
{"source": "score", "target": "quality_score", "transform": "STRING_TO_INTEGER"}
]
},
"fixture": {
"scope": "LOCAL_SYNTHETIC_SANDBOX",
"response": {"component": "fixture-component", "score": "97"}
}
}This excerpt explains the fields; run the complete supplied JSON file, which also binds the exact registered Contract, adapter, schema digest, permissions, and evidence capabilities. Do not place a password, token, private key, or real customer response in a fixture.
If your organization exposes a legacy repository through a supported MCP interface, start with examples/read-only-mcp-transcript.json. Its synthetic transcript declares tools/list and a read-only read_repository tool. The mapping copies name to repository_id and sha to revision. The Engine parses the supplied transcript; it does not establish an MCP session.
./bin/packr-sdk-engine analyze examples/read-only-mcp-transcript.json unused
./bin/packr-sdk-engine run-offline examples/read-only-mcp-transcript.json ./repository-candidate /absolute/path/dependenciesWindows PowerShell:
.\bin\packr-sdk-engine.exe analyze .\examples\read-only-mcp-transcript.json unused
.\bin\packr-sdk-engine.exe run-offline .\examples\read-only-mcp-transcript.json .\repository-candidate C:\absolute\path\dependenciesBefore substituting a real declaration, confirm the exact operation, field types, read-only permission, contract revision, and synthetic response with the integration owner. A live MCP tool call and any credential use require their own approved connection workflow.
From the extracted package directory, choose an output directory that does not already exist:
./bin/packr-sdk-engine run-offline examples/read-only-custom-api.json ./quality-candidate /absolute/path/dependenciesWindows:
.\bin\packr-sdk-engine.exe run-offline .\examples\read-only-custom-api.json .\quality-candidate C:\absolute\path\dependenciesOne command performs the stages in order:
adapter.rs, a local mapping function. It contains no API transport, credential handling, or Work execution path.rustc after full tree verification to compile libadapter.rlib from that generated source.README.md and manifest.json. The manifest records the input digest, compiler version, SHA-256 for the three candidate files, and the input and output digest of each stage.The expected output directory contains exactly adapter.rs, libadapter.rlib, README.md, and manifest.json. The v2 manifest includes offline_execution: minimal public digests for the pre/post tree, compiler, native prerequisites, environment and argv. It is an unsigned observation record, not independent runtime attestation or a release signature. Check the manifest. The result is CUSTOMER_REVIEW_CANDIDATE; it is not a live integration or an authorization decision.
Copy the complete supplied examples/read-only-custom-api.json into input.json in a fresh input workspace. Preserve the original example and first output. Edit only these two values in a text editor and save as UTF-8. Do not replace the whole file with this excerpt.
draft.fixture.response.component = "my-test-component"
draft.fixture.response.score = "88"Keep score quoted: the source field is a string and STRING_TO_INTEGER converts it to integer quality_score. Do not guess replacements for Contract IDs, adapter revisions, schema digests, permissions or evidence capabilities. PowerShell 5.1's default Out-File can write UTF-16; choose UTF-8 in your JSON editor.
For example, create a fresh inputs-02 directory under the install root and save input.json there before running the following. On macOS retain the Apple tools selection used earlier. Never merge the two candidate directories.
./bin/packr-sdk-engine analyze "$install_root/inputs-02/input.json" unused
./bin/packr-sdk-engine run-offline "$install_root/inputs-02/input.json" "$install_root/runs/custom-api-candidate-02" "$install_root/dependencies"
# For an explicit macOS CLT selection append: --macos-developer-selection COMMAND_LINE_TOOLS$input02 = Join-Path $installRoot 'inputs-02\input.json'
.\bin\packr-sdk-engine.exe analyze $input02 unused
if ($LASTEXITCODE -ne 0) { throw 'Analyze failed' }
.\bin\packr-sdk-engine.exe run-offline $input02 (Join-Path $runsRoot 'custom-api-candidate-02') $depsRoot
if ($LASTEXITCODE -ne 0) { throw 'Candidate failed' }If you selected the installed-toolchain online path, use run with the same input and a fresh output; omit the dependency path and macOS selection option. Keep records for the two execution paths separate.
adapter.rs contains field-mapping code. Changing only synthetic response values while retaining mapping rules may leave that source unchanged. manifest.json records the individual input, artifacts and stages, so input digests, paths and observations can differ. Do not expect .rlib hashes from different OSes or compiler versions to match.
cat "$install_root/runs/custom-api-candidate-02/adapter.rs"
cat "$install_root/runs/custom-api-candidate-02/manifest.json"Get-Content -LiteralPath (Join-Path $runsRoot 'custom-api-candidate-02\adapter.rs')
Get-Content -LiteralPath (Join-Path $runsRoot 'custom-api-candidate-02\manifest.json') -Raw
Get-FileHash -LiteralPath (Join-Path $runsRoot 'custom-api-candidate-02\libadapter.rlib') -Algorithm SHA256Editing generated source invalidates the recorded manifest hashes. For a reproducible Engine candidate, edit supported declarations/mappings in the input JSON and rerun into a new directory. Do not edit the manifest to represent altered artifacts as previously validated. Arbitrary Rust code, additional crates and live networking are outside this synthetic example's validation coverage.
Check reproducibility by rerunning the same complete input on the same OS with the exact SDK, compiler and dependencies into another fresh directory, then comparing SHA-256 for adapter.rs and libadapter.rlib. Comparing two different inputs answers a different question. Entire manifest hashes need not match; inspect all five stages, artifact/input digests and before/after dependency-tree digests as well.
| What you see | Likely cause | Action |
|---|---|---|
TARGET_MISMATCH, FIXTURE_REJECTED, CREDENTIAL_REQUIREMENT, or INVALID_INPUT | The operation, Contract/adapter revision, input shape, or fixture is unsupported; a credential requirement may be present. | Compare the complete declaration with the release's supported target list. Remove secrets from fixtures. Do not change the target ID to a guessed value. |
TOOLCHAIN_UNAVAILABLE before a library appears | Dependency files, platform, permissions, compiler or native tool trust verification failed. | Check full dependency verification and native prerequisites. Preserve the error and failed stage. Do not bypass trust/permission checks or fall back to PATH/Rustup downloads. |
OUTPUT_EXISTS_OR_UNAVAILABLE | The selected directory exists from an earlier attempt or cannot be created. | Inspect its contents and choose a writable new directory. Do not merge outputs from two attempts. |
| Fixture test fails | The declared mapping and response do not agree or a generated value cannot be converted. | Correct the source declaration or synthetic fixture, then run again into a new directory. Do not use a fixture PASS as proof of a live API. |
| Archive hash or signature differs | Wrong or modified download. | Stop; get the package listed in the release inventory. |
| Candidate compiles but does not appear on the appliance | This tool only prepares local code. | Use the separate reviewed registration, binding, and Work workflow supplied with your release. Require authenticated decisions and a matching Work receipt. |
run-offline builds in a private sibling stage, performs post-use verification, then publishes with an atomic no-replace move. On failure the final path remains absent, while a private stage and failure record may remain. Never consume a stage as a candidate. A later run does not automatically reuse earlier failed stages or results. Retain its error output when contacting support; remove any customer data before sharing it.
Extract each SDK generation into a separate directory and compare its dependency set and digest inventory. Preserve earlier inputs, packages and outputs while validating the new location, then change the working path. To roll back, select the recorded previous SDK with its matching dependencies and input. Do not overwrite or reuse an old candidate directory automatically.
Before removal retain the input JSON, edits, candidate artifacts/manifests and support record. Manage the portable installation separately from results. This procedure installs no system service and changes no global Rustup/Cargo configuration; it does not require removing those settings or a pre-existing organizational toolchain.
For security review retain package/dependency digests, exact versions and OS, file inventory, LICENSE/NOTICE, any supplied SBOM and advisory-query date, and actual checks with their limits. Distinguish unsigned candidates from signed releases. Matching digests establish byte identity; the manifest is not independent execution attestation. Known-marker checks do not guarantee universal secret absence or certify every supply-chain, privilege, network-isolation or current vulnerability property.
Use the separately supplied procedures and authority for appliance registration, live connections, customer activation/delivery and Work. Return to the post-install tool index or prepare the next integration declaration using the source Document guide.
Record both package digests and whether a signature was supplied, workstation OS, verified compiler version, input JSON digest, target Contract and adapter revisions, stage result, candidate manifest, and your integration owner. For a later live run, record the separate appliance registration decision and Work receipt. Keep secrets and raw customer responses out of the support record.
These teaching examples use documented input, command and authority boundaries. Read them alongside actual product states/reasons; do not treat illustrative outcomes as execution history. Distinguish checks shared by online/offline environments from checks specific to the optional dependency route.
Situation: The SDK executable opens, but an optional-dependency build does not start. Check SDK extraction, Rust-set verification and native OS tooling as separate stages.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record preparation complete only after selected-route prerequisites and all five stages pass into fresh output.
If still unresolved: Hand over exact missing assets/unsupported combinations; do not fill gaps with arbitrary downloads or mixed global caches.
Situation: A Mac has multiple Apple tool installations. A run using the active system selection is refused while registered Command Line Tools are also installed. Presence alone does not establish trust validation.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record success only for the selected tools and candidate validation actually observed for that run.
If still unresolved: Hand over absent/refused CLT prerequisites; do not use the option on another OS.
Situation: A user changes score to 88 without quotes or saves only an explanatory excerpt as input.json. Valid JSON syntax does not establish the declared type or complete request structure.
Read these observations separately.
Check and action sequence:
Condition for resuming: Close only that candidate when the edited supported input and its five stages/artifact digests are confirmed.
If still unresolved: Do not represent a remaining target/authority/data-boundary refusal as resolved by editing fixture values.
Situation: Two outputs have identical adapter.rs but different libadapter.rlib digests. Before comparing paths alone, establish whether input, OS, compiler, SDK, dependencies and command are identical.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record matching repeats as reproducibility for that OS/version/input combination only.
If still unresolved: If conditions match but bytes differ, hand over package/input/artifact digests and minimal run records; do not turn failed protection checks into success.
Verify the SHA-256 digest against the manifest supplied with your exact package. Record the package version, operating system, input digest and verbatim error for support. Internal development records and historical attempts are retained by the maintainer and are excluded from this user manual. This page does not provide customer activation, delivery or Apple signing.
해당 패키지와 함께 제공된 매니페스트로 SHA-256 지문을 확인하십시오. 지원 요청에는 패키지 버전·운영체제·입력 지문·오류 원문을 기록합니다. 내부 개발 기록과 과거 시도는 관리자가 보존하며 사용자 매뉴얼에 포함하지 않습니다. 이 문서는 고객 활성화·전달·Apple 서명을 제공하지 않습니다.
These user procedures summarize two maintainer-observed failure patterns. Internal execution records remain with the maintainer; no product execution is performed by opening this manual.
Symptom: the compiler returns exit code 0, but the package check reports candidate private path disclosure libadapter.rlib.
Expected result: both the command and all required postchecks complete successfully. A missing next-stage candidate is an incomplete result.
Symptom: adapter.rs is identical while libadapter.rlib differs.
If unresolved: provide the two artifact digests and minimal version/error details. Additional crates, targets and native tools require their own checks.
관리자가 관찰한 두 실패 유형을 사용자 절차로 정리했습니다. 내부 실행 기록은 관리자가 보존합니다. 이 문서를 여는 것만으로 제품을 실행하지는 않습니다.
증상: 컴파일러 종료 코드는 0이지만 패키지 검사가 candidate private path disclosure libadapter.rlib를 보고합니다.
기대 결과: 명령과 모든 필수 후검사가 성공합니다. 다음 단계 후보가 없으면 미완료입니다.
증상: adapter.rs는 같지만 libadapter.rlib는 다릅니다.
미해결 시: 두 산출물 지문과 최소 버전·오류 정보를 제공합니다. 추가 crate·타깃·네이티브 도구에는 별도 검사가 필요합니다.
문서 탐색: 설치·첫 사용 · 설치 후 도구 · 사용 용례 · 문제 해결 사례
모든 도구를 순서대로 설치할 필요는 없습니다. 다음 표에서 오늘 하려는 일을 하나 고르고 해당 안내부터 시작하십시오. 이 페이지를 여는 데에는 브라우저만 필요합니다. SDK 합성 예제를 실행하는 데에는 어플라이언스 계정·고객 활성화·실제 API 접속이 필요하지 않습니다.
| 오늘의 목적 | 필요한 준비 | 읽고 실행할 순서 | 이번 연습의 완료 |
|---|---|---|---|
| SDK 예제를 내 PC에서 실행 | 지원 OS용 SDK, 선택한 Rust 경로, 네이티브 전제 조건 | SDK Engine의 압축 해제 → 분석 → Custom/MCP 예제 → 결과 열기 | 새 후보 폴더의 4개 파일과 다섯 단계 기록 |
| 회사가 이미 설치한 VM에 연결 | 관리자가 준 호환 GUI, 연결 정보와 내 기기 등록 절차 | PackrGUI·헤드리스 용례의 일반 사용자 경로 | 인증된 동일 고객·설치 연결; Work는 별도 |
| 회사 VM을 처음 설치 | 배포 권한, 정확한 이미지, 호환성·초기 관리자 절차 | 이 문서 1–6절 → 첫 Work 용례 | 준비 상태부터 승인된 Work와 영수증까지 |
| 연동 문서·후보만 준비 | 합성 입력, 제공된 대상 참조, 필요한 도구 | Document → Helper, 또는 SDK Engine | 문법·의미·준비 결과를 각각 확인 |
| 아키텍처를 검토 | 승인된 snapshot/뷰어 또는 GAPE 실행 파일·매니페스트 | GAPE의 첫 관찰 실습 | 같은 리비전의 검증된 관찰과 한계 |
| Pack 후보를 준비 | 제공된 Builder, 연결·역할, 지원 Pack/Contract | Builder의 첫 후보 실습 | 후보와 검증·인계 기록 |
각 도구의 상세 절은 설치 후 도구 목록에 있습니다. 도구가 필요한 단계에서만 설치합니다. 실제 연결·등록·Work가 필요한 시점에는 해당 릴리스의 승인된 경로가 따로 필요합니다.
arm64/aarch64와 x86_64/AMD64는 서로 다른 패키지입니다. 현재 SDK의 기록된 조합은 macOS ARM64, Debian 13 AMD64, Windows AMD64입니다. 다른 Linux 배포판이나 Windows ARM을 같은 조합으로 간주하지 않습니다.# macOS 터미널에서만
sw_vers
uname -m
# Linux 터미널에서만
cat /etc/os-release
uname -m# Windows PowerShell
$PSVersionTable.PSVersion
(Get-CimInstance Win32_OperatingSystem).Caption
(Get-CimInstance Win32_ComputerSystem).SystemType| 받은 파일 | 해야 할 일 | 완료 확인 |
|---|---|---|
.tar.gz 또는 .zip 휴대형 SDK | SDK 안내의 새 개인 폴더에 해제; 본체와 의존성은 별도 | 본체의 bin/docs/examples, 세트의 DEPENDENCIES.json/FILES.json |
.app, .dmg, .pkg, .msi, .exe, .deb 등 클라이언트 | 실제 전달 목록의 형식과 설치 안내를 확인; 형식을 추측해 바꾸지 않음 | 정확한 앱 버전과 실행 경로; 연결은 그다음 |
| VM 이미지 또는 이미지 참조 | 지원 가상화/클라우드의 해당 릴리스 절차 | 이미지 ID, 새 인스턴스와 제품 준비 상태 |
.json Document/요청/매니페스트 | UTF-8로 읽고 종류·버전을 확인 | 소스 발췌, 전체 요청, GAPE 매니페스트를 구별 |
이 문서의 범용 .pkg/.exe/.deb 파일명은 해시 명령 설명용입니다. 실제 SDK 파일을 그 이름으로 찾지 마십시오. 현재 로컬 운영자판에서는 현재 SDK 패키지 표가 본체·의존성의 실제 파일 링크와 지문을 제공합니다. 다른 구성요소는 별도의 해당 릴리스 제공 목록을 확인합니다. 존재하지 않는 포털·다운로드 링크·서명 상태를 추측하지 않습니다.
bash 예시를, Windows PowerShell에는 powershell 예시를 사용합니다. $나 PS C:\> 같은 프롬프트는 명령이 아니며 복사하지 않습니다./absolute/path/..., C:\absolute\path\..., 대괄호 입력란은 내가 받은 실제 값으로 먼저 바꿀 자리입니다. 따옴표는 유지합니다. 경로에 공백이 있으면 특히 필요합니다. Unix의 ./bin/...과 Windows의 .\bin\...을 바꾸어 쓰지 않습니다.install_root, $installRoot 같은 변수는 해당 준비 절을 실행한 같은 셸에서만 존재합니다. 터미널을 새로 열면 아래의 재개 절차로 다시 지정합니다. 폴더명·대소문자·파일 확장자 .json.txt를 확인합니다.> 또는 Out-File은 UTF-16일 수 있습니다. JSON 입력은 UTF-8 편집기를 사용하고 저장 인코딩을 확인합니다.VibePackr-SDK-install-01/
sdk/ 압축 해제한 본체; bin, docs, examples
dependencies/ 선택 의존성 세트; 원본 검증 입력 유지
inputs-02/ 수정할 전체 input.json 사본
runs/
custom-01/ 첫 성공 후 생기는 결과
mcp-01/ 별도 MCP 결과
custom-api-candidate-02/ 수정 입력의 새 결과위는 폴더 관계 설명입니다. 실제 생성 명령은 SDK 절에 있습니다. runs 부모는 준비하되 custom-01 같은 최종 후보 폴더는 SDK가 만들게 둡니다. GAPE도 새 출력 경로를 사용합니다. Helper의 로그 보관 폴더와 Builder의 제품 관리 후보는 별개입니다.
설치·연결·후보 생성·실제 Work를 한 번에 “완료”라고 적지 않습니다. 각 연습이 끝날 때 날짜, 도구 버전·경로, 입력 지문, 실제 명령 또는 화면 작업, 결과 위치, 마지막 성공 단계와 남은 담당자를 적습니다. 문제 해결에는 이 기록이 출발점입니다.
| 결과 종류 | 직접 확인할 것 | 다음 작업 |
|---|---|---|
| SDK 후보 | adapter.rs, libadapter.rlib, README.md, manifest.json과 단계 기록 | 입력 사본 수정 또는 승인된 별도 통합 절차 |
| Helper 준비 | 단계별 status/reason/next_required_actions와 후보 지문 | 거부 원인 해결 또는 등록 담당자 인계 |
| GAPE 관찰 | snapshot ID, 리비전, validate 결과, 공유 등급 | 승인 범위에서 관계 검토 |
| Document | 완전한 JSON, 문법 결과, 대상·매핑 참조 | Helper 의미 검증 |
| Builder 후보 | 후보 ID·리비전, 검증 결과, 승인·사용 권한 상태 | 승인 담당자 인계; 허용될 때만 Work |
| GUI 연결/Work | 같은 고객·설치 신원, 인증 상태, 실행했다면 해당 Work의 결과·영수증 | 허용된 업무 또는 관리자 문의 |
다시 시작할 때 받은 패키지와 보관된 결과를 지우지 마십시오. SDK의 경로 재개 예시는 SDK 절에 있고, 다른 도구도 입력·출력의 절대 경로를 다시 선택합니다. 애매한 실행 결과가 남으면 먼저 기존 Work/요청 ID를 조회하고, 중복 실행을 새 시도로 해결하지 않습니다. 막힌 단계는 문제 해결 색인의 시작 분류표로 이동합니다.
이 문서는 고객의 담당자가 파일 수령부터 첫 Work 결과 확인까지 직접 진행하도록 돕습니다. 제품이 표시하는 상태와 해당 릴리스의 서명된 매니페스트가 최종 기준입니다. 예시와 일반 운영체제 명령이 제품의 거부 결정이나 릴리스 문서를 대신하지 않습니다.
setup.vibepackr.com에서 시작합니다. 오프라인 설치라면 전달받은 Start_Setup.html을 엽니다. 포털과 오프라인 안내의 릴리스 식별자와 구성요소 목록이 같은지 확인합니다. 포털이 열리지 않는 상황은 제품 VM 장애와 구별하십시오.shasum -a 256 파일명, Linux의 sha256sum 파일명, Windows PowerShell의 Get-FileHash -Algorithm SHA256 파일명입니다. 파일명이 공백을 포함하면 각 셸의 인용 규칙을 따릅니다.다음 단계로 진행할 조건: 전달 목록에 있는 정확한 파일의 서명과 지문이 맞고 대상 환경이 지원 목록 안에 있습니다.
이번 릴리스의 서명된 목록에 있는 파일명과 SHA-256을 사용하십시오. 아래 명령은 운영체제의 읽기 전용 파일 확인 예시입니다. 예시 파일명을 받은 파일명으로 바꾸고, 별도로 릴리스의 서명 확인 절차도 완료하십시오. 이전 안내서의 지문을 재사용하지 마십시오.
# macOS 터미널
shasum -a 256 "VibePackr-installer-for-this-platform.pkg"
# Linux 셸
sha256sum "VibePackr-installer-for-this-platform.deb"# Windows PowerShell
Get-FileHash -Algorithm SHA256 "VibePackr-installer-for-this-platform.exe"판정 예시: 매니페스트에는 A1..., 로컬 명령 결과에는 B2...가 표시됩니다. 설치 전에 멈추고 정확한 파일명과 두 지문을 남겨 전달 담당자에게 올바른 서명 파일을 요청하십시오. 파일명을 바꿔도 지문은 바뀌지 않습니다.
실행 중은 VM 전원이 켜졌다는 뜻입니다. 제품의 서비스 준비는 제품 상태 화면 또는 릴리스별 진단으로 별도 확인합니다. 초기화 중에는 접속을 반복하기보다 공식 대기·상태 절차를 따르십시오.다음 단계로 진행할 조건: 첫 부팅이 완료되고 제품 서비스가 준비 상태이며, 이 인스턴스의 고유 설치 신원과 인증된 접근 경로가 확인됩니다.
Permission denied가 나오면 임의로 소유권·권한·잠금 파일을 고치지 말고 정확한 오류를 지원 경로로 전달합니다.다음 단계로 진행할 조건: 제품이 현재 설치 신원에 대해 관리자 역할·허용 범위·유효기간을 확인합니다.
다음 단계로 진행할 조건: 제품이 현재 설치에 대해 지원 런타임과 모델의 바인딩을 검증된 상태로 표시합니다.
연결 이후의 작업은 설치 후 도구 안내서를 따르십시오. Builder, GAPE, Integration Helper, SDK Engine, Contract & Document의 설치 위치와 사용 순서를 확인할 수 있습니다. 전체 관계를 보여주는 Non-SI 아키텍처 그림도 포함돼 있습니다.
다음 단계로 진행할 조건: 사용할 각 클라이언트 경로의 인증·설치 신원·허용 기능을 제품에서 확인합니다.
바인딩됨으로 보이거나 모델이 응답 가능해도 Work 호출이 없을 수 있습니다.확인 안 됨은 실패와 구별해 적되 완료로 표시하지 않습니다.| 확인 항목 | 확인할 기록 |
|---|---|
| 전달 파일 | 서명·지문과 릴리스 ID |
| 어플라이언스 | 새 설치 신원과 서비스 준비 상태 |
| 관리자 | 해당 설치의 역할·범위·유효기간 |
| 클라이언트 | 인증된 연결과 일치하는 고객·설치 신원 |
| 런타임 | 현재 모델의 검증된 바인딩 |
| Work | 승인된 실행, 최종 상태, 결과 검증과 영수증 |
설치를 마친 뒤 어떤 기능을 어떤 순서로 확인할지는 사용 용례 색인에서 시작하십시오. 새 설치, 런타임 변경과 자동 재바인딩, PackrGUI·헤드리스 분리, Builder 후보, 첫 Work를 각각 담당자·선행 조건·증거·실패 분기까지 풀어 설명합니다. 사례 A~J는 증상이 발생했을 때 찾아보는 문제 해결 문서입니다.
다음은 설치와 사용 중 나타날 수 있는 상황별 안내입니다. 제품의 실제 오류 문구는 버전과 플랫폼에 따라 다를 수 있습니다. 각 사례의 안전한 조치까지만 직접 수행하고, 신원·권한·상태 무결성 오류는 지원 경로로 넘기십시오. 각 제목의 링크에서 상황 예시, 순서별 확인, 결과별 분기, 지원 요청 예시와 완료·중지 기준을 자세히 확인하십시오. 증상에 맞는 사례를 고르기 어렵다면 문제 해결 색인부터 보십시오.
Permission denied 또는 저장소 접근 오류로 멈춥니다.감지됨 또는 거부됨만 표시합니다.BOUND로 표시하지 마십시오.준비됨을 실행 허가로 해석하지 마십시오.설치 담당자는 릴리스 ID, 이미지 ID, 실제로 설치한 플랫폼별 파일명과 지문, 지원 환경 확인 결과, 최초 관리자 범위, 인증된 연결 상태와 현재 런타임 바인딩을 기록하십시오. Work를 실행했다면 같은 설치·Work ID에 연결된 최종 상태, 결과 검증과 영수증 위치도 남깁니다.
macOS·Windows·Linux 클라이언트와 헤드리스 경로는 각각 별도로 확인하십시오. 한 플랫폼에서 연결됐더라도 다른 플랫폼의 설치·인증·권한을 확인해야 합니다. 화면과 명령이 이 안내서의 예시와 다르면 전달된 릴리스별 지침을 따르고, 제품의 실제 메시지와 수행한 단계를 지원 요청에 적으십시오. 고객 데이터와 비밀값은 제외합니다.
온라인 환경은 승인된 네트워크·제공자 경로를 사용하는 구성이고, 폐쇄형 온프렘은 필요한 설치 자산·모델·문서 등을 사전에 반입하는 구성입니다. 어느 쪽도 이 안내서가 제품의 기본값으로 고정하지 않습니다. SDK의 선택 Rust 의존성 세트는 SDK 어댑터 빌드의 Rust 범위를 준비하며 어플라이언스 이미지·모델 가중치·제공자 자격 증명·모든 OS 개발 도구를 대신하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 어플라이언스 | 같은 릴리스 이미지·서비스 준비·고유 설치 신원 | 첫 설치는 용례 1, 준비 문제는 사례 A, 이전 상태 흔적은 사례 J를 사용합니다. |
| PackrGUI·헤드리스 | 각 경로의 플랫폼 파일·인증·같은 설치 ID | 용례 3에서 두 경로를 별도로 확인하고 접속 문제는 사례 C로 분리합니다. |
| Builder·추가 Pack | 정확한 후보·검증·승인·사용 권한·사전 조건 | 지원 Pack을 먼저 확인합니다. 새 후보는 용례 4, 거부는 사례 H, 실제 실행은 용례 5입니다. |
| GAPE | 승인 매니페스트·소스 리비전·공개 등급 | 현재 리비전의 관찰을 검토하고 미확인 동적 동작은 별도 증거로 확인합니다. |
| Integration Helper·소스 Document | 전체 요청·게시 대상·매핑·각 단계 판정 | 문법·발견·정규화·후보 준비를 나누고 승인된 등록 경로가 있을 때만 인계합니다. |
| SDK Engine | OS·컴파일러·선택 의존성·입력·산출물 지문 | 온라인 기존 툴체인 또는 선택 의존성 경로로 후보를 만들고 각각의 검증 범위를 기록합니다. |
클라이언트 업데이트는 해당 클라이언트의 연결·인증·설치 신원을, 런타임 변경은 새 관찰·검증·바인딩을, Pack 변경은 정확한 버전·신뢰·현재 사용 권한·사전 조건을 다시 확인합니다. 변경 전 기록과 복구 대상은 보존합니다. 문제가 생기면 처음 달라진 관찰을 기록하고 그 구성요소의 절차로 돌아갑니다.
추가 Pack은 제공된 릴리스·고객·설치 범위에 맞는 파일과 등록 절차를 사용합니다. 임의 폴더 복사나 후보 파일명 변경으로 등록·승인을 대신하지 않습니다. 처음 적용할 때도 승인된 계획과 후조건 검증·영수증을 확인합니다. 제거·되돌림은 해당 Pack이 선언한 복구 절차와 현재 권한을 따릅니다.
같은 증상이라도 실패한 단계가 다르면 조치가 달라집니다. 먼저 아래 표에서 마지막으로 직접 확인한 단계를 고릅니다. 한 번 실패한 전체 설치를 처음부터 반복하거나 기존 결과를 삭제할 필요는 없습니다.
| 현재 상황 | 먼저 직접 확인 | 이어갈 위치 |
|---|---|---|
| 링크를 눌러도 파일이 없음 | 안내 파일만 옮겼는지, 원래 상대 폴더·받은 목록을 함께 보관했는지 | 전달 담당자에게 정확한 누락 경로 요청; 다른 URL 추측 금지 |
| command not found / 명령을 찾을 수 없음 | 현재 폴더와 실행 파일 절대 경로, OS용 ./ 또는 .\ 형식 | 해당 도구 첫 실습의 경로 지정; PATH 변경 전 파일 존재 확인 |
| No such file / 경로를 찾을 수 없음 | 압축이 한 폴더 더 중첩됐는지, 공백 인용, .json.txt, 변수 재지정 | 설치 루트·입력 사본 준비; 제품 검증 실패와 구별 |
| 앱이 열리지 않거나 DLL/라이브러리 경고 | OS·CPU·동봉 런타임·리소스, 정확한 경고·보안 상태 | GUI 기동 또는 릴리스 패키지 안내; 네트워크 설정부터 바꾸지 않음 |
| JSON 파싱 오류 | UTF-8, 전체 객체, 따옴표·쉼표, 발췌/전체 요청 구분 | Document DOC-1/2 또는 SDK-3 |
| SDK 네이티브 도구·의존성 거부 | 선택한 실행 경로, 본체와 세트의 OS/지문, OS 개발 도구 | SDK-1/2와 실제 오류 stage |
| 결과 폴더가 이미 존재 | 기존 결과·실패 stage·현재 지정 경로 구분 | 새 출력 이름 사용; 원본 보존 |
| VM 전원은 켜졌으나 서비스 미준비 | 이미지 ID·첫 부팅·제품 준비 상태 | 사례 A |
| 주소·서버 신원 경고 또는 다른 조직 | 기대 endpoint/설치와 실제 표시 | 사례 B/J; 신뢰 갱신 전 확인 |
| 시간 초과·로그인·등록·권한 거부 | 서비스 준비 → 네트워크 → 인증 → 역할/범위 | 사례 C/D/E |
| 모델이 안 보이거나 실행 안 됨 | 감지·검증·바인딩·자원·실제 호출 분리 | 사례 F/G |
| 후보나 결과는 있지만 실제 실행/영수증 없음 | 후보 검증·승인·사용 권한·Work/receipt 각각 | 사례 H/I와 도구별 준비 결과 |
다음은 작성 양식입니다. 대괄호를 실제 관찰로 바꾸고, 모르는 값은 미확인이라고 적습니다. 제품이 반환하지 않은 오류 코드·성공 시각을 만들지 않습니다.
목적: [예: SDK Custom 합성 후보 처음 생성]
OS/CPU와 도구 버전: [실제 조회값]
선택 경로: [기존 툴체인 run / 선택 세트 run-offline / GUI 등]
마지막 성공: [예: analyze까지 실제 확인]
실패 단계/시각: [실제 단계, 현지 시간과 시간대]
관찰: [원문 status/reason 또는 OS 오류; 비밀값 제거]
입력/패키지 참조: [버전과 SHA-256; 고객 내용 제외]
기존 결과: [있음/없음, 새 시도와 구분]
다음 확인 요청: [예: 승인된 네이티브 전제 조건 확인]원본 전체 로그·고객 응답·키·토큰·프로필 원문을 일괄 전송하지 않습니다. 공유 전 민감 정보를 제거한 최소 메시지·식별자만 조직의 지원 경로로 보냅니다. 문제가 해결된 뒤에는 처음 실패했던 단계와 그 영향을 받은 결과를 다시 확인하고 다음 단계로 돌아갑니다.
문제를 “설치가 안 된다” 한 문장으로 묶지 마십시오. 가장 마지막으로 확인된 상태를 먼저 적으면 잘못된 재설치나 권한 변경을 줄일 수 있습니다.
| 마지막으로 확인된 상태 | 다음 확인 | 해당 사례 |
|---|---|---|
| 파일은 받았으나 검증되지 않음 | 본문 1절의 서명·지문·호환성 | 설치·첫 사용 매뉴얼 |
| VM은 실행 중이나 제품 준비가 확인되지 않음 | 첫 부팅·서비스 준비 | A: 서비스 준비 |
| 호스트 신원 경고 | 독립 신원 확인 전에 중지 | B: 호스트 신원 |
| 연결 또는 로그인 실패 | 도달성·인증 분리 | C: 연결과 인증 |
| 관리자 등록 거부 | 대화형 등록·결과 | D: 관리자 등록 |
| 등록 뒤 접근 거부 | 역할·범위·저장소 접근 분리 | E: 관리자 저장소 |
| 런타임 발견, 바인딩 없음 | 새 관찰·검증·범위 | F: 바인딩 |
| 로컬 모델 시작/오프라인 실패 | 지원 자원·로컬 모델·네트워크 | G: 로컬 모델 |
| Builder 후보 실행 거부 | 검증·승인·권한 분리 | H: Pack 후보 |
| 바인딩은 있으나 Work 결과 없음 | 제출·실행·결과·영수증 분리 | I: Work 영수증 |
| 새 VM에 이전 사용자 흔적 | 사용 중단·이미지 출처 | J: 이미지 잔여 |
“릴리스 [ID]의 새 VM을 배포했습니다. VM은 실행 중이고 제품은 아직 준비되지 않았습니다. 관리자 등록과 Work는 시작하지 않았습니다. 처음 보인 메시지는 [원문]이며 시각은 [시간대 포함]입니다.” 이 경우에는 A부터 확인합니다. 클라이언트 연결 오류가 동시에 보이더라도 제품 준비가 증명되기 전에는 C의 인증 설정을 바꾸지 않습니다.
반대로 제품 준비와 네트워크 도달성은 확인됐는데 로그인만 거부되면 C에서 인증을 봅니다. 바인딩 화면만 있고 Work 영수증이 없다면 I로 갑니다. 이 순서가 원인을 확정해 주지는 않지만, 아직 증명되지 않은 다음 단계를 성공으로 표시하지 않게 합니다.
서명·파일 지문 불일치, 예상 밖 호스트 신원, 다른 고객·설치 ID, 권한 확대 의심, 이전 사용자 데이터, 상태 무결성 경고가 있으면 다음 조치를 직접 실행하지 말고 해당 사례의 지원 자료만 최소한으로 모읍니다. 암호, 토큰, 개인키, passkey 응답, 고객 데이터, 전체 로그는 일반 지원 요청에 넣지 않습니다.
온라인 환경은 승인된 네트워크·제공자 경로를 사용하는 구성이고, 폐쇄형 온프렘은 필요한 설치 자산·모델·문서 등을 사전에 반입하는 구성입니다. 어느 쪽도 이 안내서가 제품의 기본값으로 고정하지 않습니다. SDK의 선택 Rust 의존성 세트는 SDK 어댑터 빌드의 Rust 범위를 준비하며 어플라이언스 이미지·모델 가중치·제공자 자격 증명·모든 OS 개발 도구를 대신하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 어플라이언스 | 같은 릴리스 이미지·서비스 준비·고유 설치 신원 | 첫 설치는 용례 1, 준비 문제는 사례 A, 이전 상태 흔적은 사례 J를 사용합니다. |
| PackrGUI·헤드리스 | 각 경로의 플랫폼 파일·인증·같은 설치 ID | 용례 3에서 두 경로를 별도로 확인하고 접속 문제는 사례 C로 분리합니다. |
| Builder·추가 Pack | 정확한 후보·검증·승인·사용 권한·사전 조건 | 지원 Pack을 먼저 확인합니다. 새 후보는 용례 4, 거부는 사례 H, 실제 실행은 용례 5입니다. |
지원 인계 양식의 예: 릴리스·구성요소·OS, 시각과 시각대, 마지막 확인 단계, 최초 거부 원문, 수행한 변경, 현재 결과, 다음 담당자. 미확인·거부·대기·실패·완료를 같은 상태로 합치지 않습니다. 비밀값과 고객 내용은 첨부하지 않습니다.
하나의 큰 문제 유형 안에서도 증상과 조치가 다릅니다. 아래 링크의 세부 예시 ID를 찾아 상황·관찰·조치·복귀 조건을 순서대로 읽으십시오. 예시는 교육용이며 실제 장애 이력은 별도 근거가 있어야 합니다.
| 사례 | 첫 번째 예시 | 두 번째 예시 | 세 번째 예시 |
|---|---|---|---|
| A | A-1 VM은 실행 중인데 첫 부팅은 진행 중 | A-2 프로세스는 있지만 필수 초기화가 실패함 | A-3 어제의 준비 화면은 정상인데 오늘 연결은 실패함 |
| B | B-1 VM 교체 후 같은 주소에서 호스트 키 경고 | B-2 잘못 저장된 접속 대상과 올바른 서버를 구별하기 | B-3 같은 인스턴스라고 하는데 키가 다시 바뀜 |
| C | C-1 접속 시간 초과와 서비스 미준비를 분리하기 | C-2 서버는 응답하지만 세션이 만료됨 | C-3 GUI는 되는데 자동화 서비스만 접속 실패 |
| D | D-1 원격 파이프에서 관리자 확인이 거부됨 | D-2 OS 관리자로 로그인했지만 제품 관리자 역할이 없음 | D-3 등록은 끝났지만 고객·런타임 범위가 다름 |
| E | E-1 등록 성공 뒤 첫 상태 조회에서 접근 거부 | E-2 조회는 되지만 범위 밖 작업만 거부됨 | E-3 업데이트 이후 처음 나타난 저장소 접근 오류 |
| F | F-1 모델 파일은 있지만 런타임 관찰이 없음 | F-2 별칭만 바꿨는데 이전 바인딩이 계속 보임 | F-3 여러 모델이 감지돼 대상 선택이 모호함 |
| G | G-1 모델 로딩 중 종료되지만 메모리 부족은 아직 미확인 | G-2 폐쇄망에 모델 파일을 반입하지 않아 다운로드 대기 | G-3 온라인 메타데이터 확인 실패와 로컬 사용을 구별하기 |
| H | H-1 후보 구조 검사는 통과했지만 승인은 대기 | H-2 승인은 있지만 다른 설치의 사용 권한 | H-3 승인 뒤 후보를 수정해 지문이 달라짐 |
| I | I-1 모델 시험 응답은 있으나 Work ID가 없음 | I-2 제출한 Work의 결과가 늦게 보임 | I-3 보고서는 있지만 영수증의 설치·Work가 다름 |
| J | J-1 새 VM의 첫 설정에 이전 조직이 표시됨 | J-2 서로 다른 VM의 설치 신원이 동일함 | J-3 교체 VM에서도 이전 상태가 반복됨 |
SDK·Builder·GAPE·Integration Helper·소스 Document의 개별 오류는 각 설치 후 도구 안내에 추가한 상세 예시도 함께 확인하십시오. 한 도구의 준비 성공을 다른 도구나 실제 Work의 성공으로 복사하지 않습니다.
| 하고 싶은 일 | 담당자와 선행 조건 | 용례 | 확인해야 할 마지막 증거 |
|---|---|---|---|
| 새 VM을 설치하고 최초 관리자를 등록 | 설치 관리자, 정확한 서명 이미지 | 1. 새 설치 | 새 설치 신원·서비스 준비·관리자 범위 |
| 로컬 모델이나 런타임을 바꾼 후 계속 사용 | 런타임 관리자, 기존 승인 범위 | 2. 자동 재바인딩 | 변경 이후 새 Core 바인딩 |
| GUI와 자동화 클라이언트를 함께 사용 | 각 경로의 인증 주체 | 3. GUI와 헤드리스 | 경로별 인증·설치 신원·권한 |
| Builder에서 Pack 후보를 준비 | Builder 운영자와 별도 승인 주체 | 4. Pack 후보 | 후보 검증과 승인 상태의 구분 |
| 첫 Work를 실행하고 결과를 닫음 | 승인된 Pack·Work 권한 | 5. 첫 Work | 최종 상태·검증 결과·일치하는 영수증 |
각 용례는 상황 → 선행 조건 → 실제 진행 순서 → 실패 분기 → 완료 증거로 구성했습니다. 여러 증상이 동시에 보이면 마지막으로 확인된 상태부터 선택하십시오. 오류 해결은 사례 색인에서 증상별로 찾을 수 있습니다. 지원 요청에는 오류 원문과 릴리스·설치 신원처럼 최소 정보만 넣고 고객 데이터·비밀값은 제외하십시오.
온라인 환경은 승인된 네트워크·제공자 경로를 사용하는 구성이고, 폐쇄형 온프렘은 필요한 설치 자산·모델·문서 등을 사전에 반입하는 구성입니다. 어느 쪽도 이 안내서가 제품의 기본값으로 고정하지 않습니다. SDK의 선택 Rust 의존성 세트는 SDK 어댑터 빌드의 Rust 범위를 준비하며 어플라이언스 이미지·모델 가중치·제공자 자격 증명·모든 OS 개발 도구를 대신하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 어플라이언스 | 같은 릴리스 이미지·서비스 준비·고유 설치 신원 | 첫 설치는 용례 1, 준비 문제는 사례 A, 이전 상태 흔적은 사례 J를 사용합니다. |
| PackrGUI·헤드리스 | 각 경로의 플랫폼 파일·인증·같은 설치 ID | 용례 3에서 두 경로를 별도로 확인하고 접속 문제는 사례 C로 분리합니다. |
| Builder·추가 Pack | 정확한 후보·검증·승인·사용 권한·사전 조건 | 지원 Pack을 먼저 확인합니다. 새 후보는 용례 4, 거부는 사례 H, 실제 실행은 용례 5입니다. |
지원 인계 양식의 예: 릴리스·구성요소·OS, 시각과 시각대, 마지막 확인 단계, 최초 거부 원문, 수행한 변경, 현재 결과, 다음 담당자. 미확인·거부·대기·실패·완료를 같은 상태로 합치지 않습니다. 비밀값과 고객 내용은 첨부하지 않습니다.
아래 각 도구 안내서의 첫 실습부터 읽으십시오. 명령줄 도구는 받은 실행 파일의 절대 경로를 지정하므로 전역 PATH 등록이 필수는 아닙니다. GUI 앱은 제공된 설치 방법으로 열고 릴리스별 화면 이름을 사용합니다. 없는 메뉴나 다운로드 주소를 추측하지 않습니다.
| 도구 | 실습에 반드시 필요한 파일·상태 | 처음 확인할 결과 | 없을 때 진행할 수 있는 일 |
|---|---|---|---|
| SDK | 본체의 전체 예제 + 선택 툴체인/네이티브 전제 조건 | analyze 결과 → Custom/MCP 후보 | Document를 읽고 합성 입력 사본 준비 |
| Document | 이 안내의 전체 소스 JSON, UTF-8 편집기·문법 검사 도구 | 문법이 맞는 파일과 required 일치 | 편집·검토 가능; Helper 의미 검증은 따로 |
| Helper | 해당 릴리스 실행 파일 + 완전한 request.json + 게시 대상 | 발견 후 단계별 타입 결과 | 소스 선언 검토; 대상 미제공이면 준비 완료 아님 |
| GAPE | 승인 snapshot/뷰어 또는 실행 파일 + 승인 manifest | 선택 리비전의 snapshot와 검사 결과 | 제공된 안전한 뷰어 자료 검토 |
| Builder | 제공 앱 + 제품 연결·역할 + 지원 후보 입력 | 저장된 후보 ID/리비전과 검증 결과 | 목표·입출력·롤백을 작성; 검증 PASS를 가정하지 않음 |
| GUI·헤드리스 | 호환 클라이언트 + 각 경로의 관리자가 준 연결 자료 | 인증된 같은 설치 신원 | 앱 파일 준비; 서버 연결 완료로 기록하지 않음 |
SDK의 선택 Rust 세트는 다른 앱의 설치 프로그램이 아닙니다. 모든 도구에 Rust 설치를 요구하지 않습니다. 기존 구성의 연결을 확인하는 사람은 새 VM 생성·초기 관리자 등록을 반복하지 않습니다.
이 그림은 고객이 환경과 운영을 소유하고, 연동 도구가 이해·준비·선언을 도우며, 제품이 실행을 통제하는 관계를 보여줍니다. 이미지를 별도 탭으로 열면 확대할 수 있습니다. 실제로 설치할 수 있는 도구와 지원 버전은 전달받은 구성요소 목록에서 확인하십시오.
필요한 도구를 아래 표에서 고르십시오. 로컬 SDK·문서 준비만 할 때는 어플라이언스 설치가 선행 조건이 아닙니다. 각 구성요소의 제공 여부, 플랫폼, 버전과 설치 파일은 함께 전달된 목록을 기준으로 확인합니다. 목록에 없는 도구는 다른 릴리스의 파일로 대체하지 마십시오.
| 구성요소 | 사용하는 곳 | 설치 전에 확인할 것 |
|---|---|---|
| 어플라이언스·헤드리스 | 고객 환경의 VM 및 지원 명령줄 | 이미지·지원 환경·설치 절차 |
| PackrGUI·Builder | 고객 워크스테이션 | 운영체제별 설치 파일·연결 주소·권한 |
| GAPE·Integration Helper | 승인된 연동 작업 환경 | 도구 설치 파일·지원 입력·대상 버전 |
| SDK Engine·인터페이스 | 고객 연동 작업대 | 플랫폼별 설치 파일·어플라이언스 호환 버전 |
| Contract & Document·이 안내서 | 연동 설계 및 오프라인 설치 | 제공된 템플릿·문서 버전 |
| 필요한 일 | 안내서 | 확인할 결과 | 그 결과만으로 증명되지 않는 것 |
|---|---|---|---|
| Pack 후보 준비 | Builder | 후보 식별자와 검증 결과 | 승인·사용 권한·실행 |
| 소스 아키텍처 파악 | GAPE | 리비전에 묶인 관찰 결과와 한계 | 실제 실행 동작·권한 |
| 외부 연동 계획 | Integration Helper | 타입이 정해진 준비 상태와 다음 조치 | 제공자 연결·기능 등록 |
| 지원 SDK 확장 경로 확인 | SDK Engine과 인터페이스 | 제공된 SDK로 생성한 로컬 후보·다섯 단계·패키지 신원 | 실제 API 연결·등록·Work 실행 권한 |
| 작업과 대상 설명 | Contract & Document | 소스 문서와 공급자가 게시한 대상 참조 | 새 제품 Contract·실제 요청 |
Non-SI 설치 세트에서는 고객이 Start_Setup.html에서 이 안내서까지 온라인 환경과 오프라인 환경 모두에서 이동하고, 어플라이언스·고객 워크스테이션 플랫폼·Builder·GAPE·Integration Helper·SDK 인터페이스 또는 Engine·Contract & Document 템플릿의 정확한 설치 구성요소를 확인할 수 있어야 합니다. 하나의 버전 세트 안에 플랫폼별 설치 파일을 분리해 제공할 수 있지만, 각 항목의 지문·호환성·선행 조건·설치 담당자를 표시해야 합니다. 해당 릴리스에서 제공되지 않는 항목은 그 사실과 대체 절차를 분명히 안내합니다. 문서 링크나 과거 구현만으로 설치 가능한 제품을 대신하지 않습니다.
SDK Engine은 고객의 연동 작업대에 별도로 설치합니다. 해당 운영체제용 설치 파일, 지원 어플라이언스 버전과 설치·제거 방법은 SDK Engine 안내서와 전달 목록에서 확인하십시오.
받은 파일이 목록과 다르거나 서명 검증이 실패하면 설치를 멈추고 공급자의 지원 경로에 문의하십시오. 플랫폼별 목록에 있는 검증된 파일만 설치합니다.
릴리스·구성요소 버전, 고객·설치 신원, 입력 리비전 또는 후보 ID, 표시된 상태·사유, 마지막으로 증명된 단계와 다음 조치를 기록하십시오. 개인키·자격 증명·고객 내용·원문 프롬프트·내부 엔지니어링 내보내기는 제외합니다. 신원·서명·권한·상태 무결성이 다르면 중지합니다.
온라인 환경은 승인된 네트워크·제공자 경로를 사용하는 구성이고, 폐쇄형 온프렘은 필요한 설치 자산·모델·문서 등을 사전에 반입하는 구성입니다. 어느 쪽도 이 안내서가 제품의 기본값으로 고정하지 않습니다. SDK의 선택 Rust 의존성 세트는 SDK 어댑터 빌드의 Rust 범위를 준비하며 어플라이언스 이미지·모델 가중치·제공자 자격 증명·모든 OS 개발 도구를 대신하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 어플라이언스 | 같은 릴리스 이미지·서비스 준비·고유 설치 신원 | 첫 설치는 용례 1, 준비 문제는 사례 A, 이전 상태 흔적은 사례 J를 사용합니다. |
| PackrGUI·헤드리스 | 각 경로의 플랫폼 파일·인증·같은 설치 ID | 용례 3에서 두 경로를 별도로 확인하고 접속 문제는 사례 C로 분리합니다. |
| Builder·추가 Pack | 정확한 후보·검증·승인·사용 권한·사전 조건 | 지원 Pack을 먼저 확인합니다. 새 후보는 용례 4, 거부는 사례 H, 실제 실행은 용례 5입니다. |
| GAPE | 승인 매니페스트·소스 리비전·공개 등급 | 현재 리비전의 관찰을 검토하고 미확인 동적 동작은 별도 증거로 확인합니다. |
| Integration Helper·소스 Document | 전체 요청·게시 대상·매핑·각 단계 판정 | 문법·발견·정규화·후보 준비를 나누고 승인된 등록 경로가 있을 때만 인계합니다. |
| SDK Engine | OS·컴파일러·선택 의존성·입력·산출물 지문 | 온라인 기존 툴체인 또는 선택 의존성 경로로 후보를 만들고 각각의 검증 범위를 기록합니다. |
클라이언트 업데이트는 해당 클라이언트의 연결·인증·설치 신원을, 런타임 변경은 새 관찰·검증·바인딩을, Pack 변경은 정확한 버전·신뢰·현재 사용 권한·사전 조건을 다시 확인합니다. 변경 전 기록과 복구 대상은 보존합니다. 문제가 생기면 처음 달라진 관찰을 기록하고 그 구성요소의 절차로 돌아갑니다.
추가 Pack은 제공된 릴리스·고객·설치 범위에 맞는 파일과 등록 절차를 사용합니다. 임의 폴더 복사나 후보 파일명 변경으로 등록·승인을 대신하지 않습니다. 처음 적용할 때도 승인된 계획과 후조건 검증·영수증을 확인합니다. 제거·되돌림은 해당 Pack이 선언한 복구 절차와 현재 권한을 따릅니다.
클라우드 콘솔에는 VM이 실행 중으로 보여도 어플라이언스는 아직 초기화 중일 수 있습니다. 클라이언트를 연결하거나 Work를 시작하기 전에 설정 화면에서 제품 준비 상태를 확인하십시오.
새 어플라이언스를 만들었고 클라우드 콘솔은 실행 중입니다. 그러나 PackrGUI 연결은 거부되고 제품 상태는 초기화 중 또는 서비스 준비 안 됨입니다. 이때 클라우드 상태와 제품 상태를 별도로 기록합니다.
이번 릴리스가 packrctl과 정식 로컬 운영 경로를 제공한다면 아래 읽기 전용 명령으로 VM 전원과 제품 준비를 구분해 확인할 수 있습니다. 반환된 준비 상태와 사유를 읽으십시오. health의 0이 아닌 종료 상태는 UNKNOWN이나 NOT_READY일 수 있으며 무작정 VM을 재시작하라는 뜻이 아닙니다.
packrctl status --json
packrctl health --json| 확인 결과 | 다음 조치 |
|---|---|
| 공식 첫 부팅 절차가 아직 진행 중 | 릴리스의 대기·상태 확인 절차를 따르고 Work를 시작하지 않습니다. |
| 첫 부팅은 끝났으나 제품이 준비되지 않음 | 최초 거부 사유와 이미지 ID를 보존하고 지원 경로로 전달합니다. |
| 필요한 초기화 구성요소가 없다고 표시됨 | 고객 VM에 임의 패키지를 추가하지 않고 정확한 릴리스 이미지의 지원 절차를 요청합니다. |
| 제품 준비와 설치 신원까지 확인됨 | 관리자 등록 단계로 진행합니다. |
운영자가 10:00에 새 VM을 만들고 10:02에 콘솔의 실행 중을 확인했지만, 제품 상태가 계속 초기화 중이라고 가정합니다. 이 기록으로 말할 수 있는 것은 VM 전원 상태뿐입니다. 서비스 준비, 관리자 등록 가능, 클라이언트 접속 가능은 각각 아직 확인되지 않았습니다. 이미지 ID와 첫 부팅 시각을 적고 릴리스가 지정한 대기·상태 확인을 한 번 수행합니다. 준비 거부가 지속되면 고객이 게스트 패키지나 초기화 파일을 직접 고치지 않고 지원팀으로 넘깁니다.
| 관찰 | 기록할 결론 | 다음 조치 |
|---|---|---|
| VM 실행 중, 제품 상태 없음 | 제품 준비 미확인 | 공식 준비 상태 확인 |
| 제품 초기화 진행 중 | 진행 중이며 아직 접속 관문 아님 | 릴리스의 대기 기준 적용 |
| 제품 준비 완료 | 서비스 관문 통과 | 새 설치 신원 확인 |
“릴리스 ID [값], 인스턴스 생성 시각 [시간대 포함], VM 상태 [실행 중], 제품 상태 [화면에 보인 그대로], 첫 부팅 단계 [값], 최초 오류 [원문]입니다. 고객 Work는 시작하지 않았습니다.”
고객 데이터나 전체 시스템 로그 대신, 릴리스가 지정한 최소 상태 출력만 전달합니다.
완료: 제품이 이 설치 신원에 대해 서비스 준비를 표시합니다. 중지: 초기화 누락, 상태 무결성 경고, 릴리스 불일치, 반복되는 준비 실패가 있으면 복구 파일 삭제·재설치·서비스 강제 시작을 하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| VM 실행 표시만 있음 | 첫 부팅 완료와 제품 준비 결과의 최신 시각 | 릴리스의 대기·상태 절차를 사용하고 준비 전 관리자·클라이언트 단계를 진행하지 않습니다. |
| 서비스는 응답하나 제품이 미준비 | 실제 제품 준비 사유와 이미지·릴리스 일치 | 부족한 구성요소 또는 초기화 거부 메시지를 보존하고 릴리스 지원 경로로 인계합니다. |
| 준비 상태가 다시 사라짐 | 직전 변경 시각과 처음 확인한 준비 기록 | 상태 변화를 기록하고 현재 준비 결과를 재확인합니다. 과거 준비 화면을 현재 증거로 재사용하지 않습니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 설치 담당자는 새 VM의 전원 상태를 확인한 직후 GUI를 엽니다. GUI는 연결 시간 초과를 보이고 제품의 첫 부팅 화면은 아직 초기화 중입니다. 계정이 틀렸다고 판단하기 전에 제품 준비 상태를 따로 확인해야 하는 상황입니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 동일한 새 설치가 준비 상태를 보이고 신원이 맞으면 관리자 설정으로 진행합니다. GUI 접속은 별도로 확인합니다.
해결되지 않았을 때: 공식 대기 기준을 넘기거나 진행 상태가 멈추면 첫 오류와 마지막 갱신 시각을 보존하여 이미지·배포 담당자에게 인계합니다.
상황: 관리 화면에서 서비스 프로세스는 실행 중인데 제품 건강도는 준비되지 않음으로 표시됩니다. 첫 오류에는 필수 초기화 구성요소 또는 설정을 사용할 수 없다는 설명이 있습니다. 프로세스를 강제로 다시 시작하면 될 것처럼 보이지만 이미지와 제품 준비를 먼저 대조합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 지원 절차 적용 뒤 현재 이미지·설치 신원과 제품 준비 결과를 다시 대조합니다. 서비스 프로세스만 다시 뜬 상태는 종료 기준이 아닙니다.
해결되지 않았을 때: 초기화 원인이 확인되지 않았거나 이미지가 다른 경우 후속 등록·Work를 보류하고 최소 오류·이미지 신원을 인계합니다.
상황: 사용자는 이전에 저장한 준비 완료 화면을 근거로 서버는 정상이라고 생각합니다. 그 뒤 유지보수나 재부팅이 있었고 오늘의 제품 상태는 아직 읽지 않았습니다. 과거 성공과 현재 관찰을 나누어 확인합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 현재 준비·신원·클라이언트 인증이 각각 확인되면 그 범위만 복구 완료로 기록합니다.
해결되지 않았을 때: 현재 상태를 조회할 수 없으면 과거 화면으로 빈칸을 채우지 말고 미확인 단계와 관리 경로 장애를 인계합니다.
이미지·인스턴스 출처, 생성 시각, 현재 status·health, 초기화 단계, 첫 거부와 마지막 갱신 시각.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: A-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
인스턴스를 교체하거나 설정을 바꾸면 호스트 키가 달라질 수 있습니다. 경고는 목적지의 신원이 아직 확인되지 않았다는 뜻이므로 검사를 끄고 재접속하지 마십시오.
어제 접속한 주소로 다시 연결했는데 SSH 또는 앱이 서버 신원이 변경됨을 알립니다. 사용자는 같은 VM이라고 생각하지만 실제로는 새 인스턴스, 재생성된 키, 잘못된 주소, 또는 확인되지 않은 다른 호스트일 수 있습니다.
| 확인 결과 | 다음 조치 |
|---|---|
| 새 인스턴스이며 독립 경로의 신원이 일치 | 릴리스의 새 호스트 등록 절차를 따릅니다. |
| 같은 인스턴스에서 키만 변경됐다고 보임 | 변경 원인과 현재 키를 독립적으로 확인할 때까지 접속을 멈춥니다. |
| 지문·설치 ID·대상 주소 중 하나라도 불일치 | 신뢰를 갱신하지 않고 지원 경로로 즉시 전달합니다. |
| 독립 확인 경로가 제공되지 않음 | 추측으로 승인하지 않고 중지합니다. |
주소는 그대로인데 접속 도구가 다른 호스트키를 표시했다고 가정합니다. 새 인스턴스가 같은 주소를 재사용했을 수도 있고, 원래 인스턴스에서 키가 다시 생성됐을 수도 있습니다. 경고 메시지만으로 어느 쪽인지 확정할 수 없습니다. 접속을 멈춘 상태에서 관리 콘솔의 인스턴스·디스크 신원과 릴리스가 제공하는 독립 인증 경로의 현재 키를 대조합니다. 둘 중 하나라도 확인되지 않으면 저장된 신뢰 항목을 지우거나 교체하지 않습니다.
| 확인한 사실 | 아직 확인되지 않은 것 |
|---|---|
| 주소가 이전과 같음 | 서버가 같은 인스턴스인지 |
| 공개키 경고가 발생함 | 정당한 키 교체인지 |
| 콘솔의 인스턴스 ID가 일치함 | 접속 채널의 공개키가 그 인스턴스의 것인지 |
“릴리스 ID [값], 예상 설치 ID [값], 접속 대상 [공식 별칭], 경고 시각 [시간대 포함], 경고 유형 [원문], 인스턴스 교체 여부 [확인 결과]입니다. 경고 뒤 연결은 진행하지 않았습니다.”
완료: 현재 호스트 신원, 설치 신원, 공식 접속 대상이 독립 증거와 일치합니다. 중지: 신원 차이가 해소되지 않으면 호스트 검사 해제, 경고 무시, 저장된 키 임의 삭제·교체를 하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 같은 주소인데 키가 달라짐 | 인스턴스 교체 여부와 독립적으로 확인한 현재 호스트 지문 | 접속을 멈추고 신뢰 담당자가 현재 신원을 검증한 뒤 승인된 갱신 절차를 적용합니다. |
| 호스트는 맞는데 설치 ID가 다름 | 호스트 신원과 제품 설치 신원의 별도 기록 | 원하는 설치를 다시 확인하고 다른 고객·설치의 상태를 사용하지 않습니다. |
| 복제 후 두 VM의 신원이 같음 | 이미지 출처와 두 인스턴스 생성 기록 | 복제 상태를 보존하고 사례 J로 인계합니다. 키나 ID를 직접 편집하지 않습니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 운영자가 VM을 교체했고 클라이언트는 어제와 같은 주소로 접속합니다. 경고에는 서버 키가 달라졌다고 표시됩니다. 주소 재사용은 가능한 설명이지만 접속 채널의 현재 신원이 검증된 것은 아닙니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 현재 호스트와 제품 설치 신원이 모두 예상 값과 일치해야 접속 단계로 돌아갑니다.
해결되지 않았을 때: 독립 지문이 없거나 불일치하면 신뢰 기록 삭제·검사 해제 없이 보류하고 신원 담당자에게 인계합니다.
상황: 북마크나 클라이언트 프로필의 별칭은 맞아 보이는데 연결된 제품은 예상 설치가 아닙니다. 서버 키가 유효하더라도 원래 작업 대상이 잘못 선택됐을 수 있습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 올바른 대상에 인증됐다는 현재 기록을 확인하면 원래 절차를 계속합니다.
해결되지 않았을 때: 공식 엔드포인트와 설치 신원이 연결되지 않으면 접근을 중단하고 주소·신원 담당자가 확인합니다.
상황: 정당한 키 갱신을 한 번 확인했는데 이후 같은 인스턴스에서 다시 경고가 납니다. 재부팅이나 설정 변경이 있었다는 설명만으로 반복 갱신을 승인하지 않습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 담당자가 현재 호스트·설치와 변경 이력을 확인한 뒤 지정한 접속 경로만 재확인합니다.
해결되지 않았을 때: 원인 미확인의 반복 키 변경은 사용자 설정 정리로 처리하지 않고 신원 문제로 인계합니다.
예상 대상 별칭, 경고 시각, 인스턴스 교체 여부, 독립 호스트 지문 확인 여부, 제품 설치 신원 일치 여부.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: B-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
시간 초과와 로그인 거부는 확인할 지점이 다릅니다. 시간 초과는 네트워크나 서비스 준비 상태를, 서버에 도달한 뒤의 거부는 인증이나 접근 범위를 먼저 확인하십시오.
PackrGUI가 연결을 못 합니다. 한 번은 연결 시간 초과, 다음에는 로그인 거부가 보입니다. 앞의 오류는 도달성 또는 준비 상태이고, 뒤의 오류는 인증 또는 신원 범위일 수 있습니다. 두 메시지를 별개로 기록합니다.
| 화면/현상 | 우선 확인 | 안전한 다음 단계 |
|---|---|---|
| 부팅 직후 시간 초과 | 서비스 준비와 공식 네트워크 경로 | 릴리스의 대기·상태 절차 |
| 주소에 도달하지만 로그인 거부 | 계정명·인증 방법·허용 범위 | 현재 계정의 관리자 또는 지원 경로 |
| 로그인 성공, 제품은 미인증 | 앱의 고객·설치 신원과 세션 상태 | 제품 거부 사유 보존 |
| 인증 후 다른 고객/설치가 보임 | 신원 불일치 | 즉시 사용 중단 |
문제가 해결되면 서비스 준비 → 도달성 → 인증 → 제품 설치 신원을 다시 순서대로 확인합니다. 지원 요청에는 첫 오류와 이후 오류를 각각 원문·시각으로 적고, 접속 대상은 공개 가능한 공식 별칭으로만 적습니다. 암호, 토큰, 개인키를 보내지 않습니다.
완료: 인증된 클라이언트가 예상 고객·설치 신원을 보여 줍니다. 중지: 신원 불일치나 인증 경로 미확인은 다른 계정·키를 빌리거나 호스트 검사를 끄는 방식으로 넘기지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 연결 시간 초과 | 서비스 준비·대상 주소·승인된 네트워크 경로 | 어느 구간까지 도달했는지 기록하고 주소·정책 담당자가 확인합니다. |
| 신원 또는 TLS 경고 | 요청 대상과 독립적으로 확인한 서버 신원 | 인증 재시도보다 먼저 신원을 검증하고 검증 옵션을 끄지 않습니다. |
| 서버 도달 뒤 인증 거부 | 사용 계정·인증 방식·세션 유효기간·설치 범위 | 제품이 지정한 현재 계정의 인증 절차를 사용하고 정확한 거부를 기록합니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 같은 사용자 계정으로 어제는 접속됐지만 오늘은 응답이 없습니다. 로그인 화면조차 나오지 않았습니다. 이때 암호 오류를 가정하기보다 서버 준비와 승인된 경로를 순서대로 확인합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 같은 승인 경로로 응답·인증·신원이 확인돼야 연결 복구로 기록합니다.
해결되지 않았을 때: 어느 경로에서 멈추는지 확인할 수 없으면 마지막 도달 지점과 시간 초과를 네트워크 담당자에게 인계합니다.
상황: GUI에서 서버 신원은 확인되지만 로그인 거부가 나오고 헤드리스 조회도 현재 계정에서는 거부됩니다. 네트워크가 응답했다는 사실과 세션이 유효하다는 사실을 분리합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 사용할 경로의 현재 세션이 인증됐고 올바른 설치를 보여 주면 그 경로의 연결 단계가 끝납니다.
해결되지 않았을 때: 재인증해도 권한 거부가 지속되면 계정 담당자에게 정확한 범위·사유를 인계합니다. 암호·토큰은 보내지 않습니다.
상황: 워크스테이션 GUI는 정상인데 서버의 정기 작업은 접속 거부를 받습니다. GUI 화면을 성공 증거로 복사하지 않고 서비스의 실행 위치와 신원으로 조회합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: GUI 성공과 별도로 헤드리스의 인증·신원·허용 기능을 확인한 경우에만 해당 자동화 경로가 준비됐다고 기록합니다.
해결되지 않았을 때: 서비스 인증이 제공되지 않거나 범위 승인이 없으면 사용자 자격 증명 복사로 대체하지 말고 미제공·미승인으로 인계합니다.
사용 경로, 현재 서버 준비, 시간 초과·신원·인증 중 실패 단계, 세션 상태, 고객·설치 범위.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: C-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
관리자 등록에는 실제 대화형 확인이 필요할 수 있습니다. 스크립트나 파이프로 보낸 값은 거부될 수 있으므로, 관리자 기능을 사용하기 전에 제품의 성공 기록을 확인하십시오.
설치 담당자가 자동화 스크립트에서 관리자 등록을 실행했습니다. 출력에는 사용자 확인이 필요하다는 거부가 있고, 뒤이어 바인딩 위자드는 관리자 범위를 찾지 못합니다. 여기서 임의로 “등록된 것으로 간주”하면 후속 오류를 만듭니다.
| 상태 | 조치 |
|---|---|
| 비대화형 입력 거부, 등록 없음 | 공식 대화형 절차를 진행합니다. |
| 등록은 있으나 다른 설치 ID | 권한을 사용하지 않고 지원팀에 전달합니다. |
| 등록은 있으나 범위가 좁음 | 관리자에게 필요한 범위 변경 절차를 요청합니다. |
| 등록 결과가 읽히지 않음 | 사례 E의 저장소 오류 확인으로 이동합니다. |
“릴리스 [값], 관리자 등록 단계 [값], 입력 방식 [대화형/비대화형], 제품 거부 메시지 [원문], 등록 상태 [없음/있음/확인 불가]입니다. 비밀 입력은 첨부하지 않았습니다.”
완료: 실제 관리자의 제품 역할과 이 설치의 허용 범위가 기록되어 읽힙니다. 중지: 확인 절차를 자동 입력으로 흉내 내거나 OS 관리자 권한을 제품 권한으로 대체하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 파이프 입력에서 거부 | 해당 등록 절차의 대화형 요구와 현재 세션 종류 | 지정된 실제 터미널 또는 Customer Setup UI에서 관리자가 확인합니다. |
| OS 로그인은 되지만 역할이 없음 | OS 계정과 제품 관리자 등록 상태 | 제품 등록 결과를 읽어 확인합니다. OS 권한 상승으로 역할을 대체하지 않습니다. |
| 등록 후 범위가 예상과 다름 | 고객·설치·런타임 범위와 유효기간 | 현재 범위를 보존하고 제품의 승인된 변경 절차로 조정합니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 설치 스크립트에 관리자 등록 명령을 넣었더니 실제 터미널 또는 사용자 확인이 필요하다는 거부가 나옵니다. 등록 결함으로 단정하기 전에 제공된 절차의 대화형 요구를 확인합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 사용자 확인과 제품의 등록 결과가 모두 있어야 관리자 설정 완료로 기록합니다.
해결되지 않았을 때: 대화형 경로를 사용할 수 없다면 자동 입력·확인 토큰 조작 없이 해당 조건을 담당자에게 인계합니다.
상황: 운영체제 관리 권한으로 로그인한 사용자가 제품 관리 화면에서도 관리자일 것으로 기대합니다. 제품은 현재 설치의 관리자 역할이 없다고 표시합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 현재 설치에 대한 제품 관리자 결과가 확인된 뒤 그 범위 안의 관찰을 수행합니다.
해결되지 않았을 때: 관리자 지정 권한이 없으면 등록을 시도해 넓히지 않고 권한 담당자에게 인계합니다.
상황: 등록 완료 화면을 본 뒤 런타임 연결을 시도했지만 범위 거부가 나옵니다. 실제 기록에는 의도와 다른 고객·설치 또는 제한된 런타임 범위가 들어 있습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 현재 요청이 기록된 허용 범위 안에 있고 제품이 재검증한 결과가 있어야 진행합니다.
해결되지 않았을 때: 원래 승인 범위를 확인할 수 없으면 기존 기록을 직접 편집하지 않고 보류합니다.
등록 경로·대화형 여부, 현재 설치 신원, 실제 관리자 확인 여부, 제품 역할·범위·유효기간.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: D-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
관리자 등록이 완료돼도 제품이 정책을 읽을 때 접근 거부가 나올 수 있습니다. 등록 성공과 후속 접근 성공을 따로 확인하고 표시된 거부 사유에 따라 조치하십시오.
관리자 등록은 성공으로 보였습니다. 그러나 런타임을 관찰하려는 순간 Permission denied 또는 저장소 접근 오류가 뜹니다. 관리자 권한을 여러 번 다시 등록하기보다 첫 오류를 보존합니다.
| 관찰 | 안전한 조치 |
|---|---|
| 역할 자체가 없음 | 사례 D의 등록 결과를 확인합니다. |
| 역할은 있으나 범위 밖 | 관리자 범위 변경 절차를 요청합니다. |
| 역할은 있으나 저장소 접근 거부 | 사용을 멈추고 릴리스 버전·최초 오류를 지원팀에 전달합니다. |
| 서비스도 준비되지 않음 | 사례 A의 준비 상태부터 확인합니다. |
릴리스·설치 ID, 최초 거부 메시지, 관리자 등록 성공 여부, 서비스 준비 상태, 발생 시각을 보내십시오. 잠금 파일, 내부 데이터베이스, 관리자 정책 원본, 비밀키, 전체 로그는 첨부하지 않습니다.
완료: 제품이 해당 관리자 상태를 읽고 허용 범위 안의 관찰을 정상 처리합니다. 중지: 재등록 반복, 파일 권한 확대, 잠금 파일 삭제, 서비스 계정 변경을 하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 역할 조회 자체가 실패 | 등록 완료 기록과 최초 저장소 오류 | 재등록보다 먼저 최초 오류와 설치 ID를 지원 경로로 전달합니다. |
| 역할은 있으나 요청만 거부 | 현재 요청의 고객·설치·기능 범위 | 역할 존재와 허용 범위를 분리하고 필요한 변경은 담당자가 승인합니다. |
| 업데이트 뒤 접근 오류 | 업데이트 전후 버전과 서비스·설치 신원 | 허용된 복구 안내를 확인합니다. 데이터베이스·잠금·파일 권한을 직접 수정하지 않습니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 관리자 등록은 완료됐지만 이후 정책·상태를 읽는 단계에서 Permission denied가 표시됩니다. 같은 등록을 반복하기 전에 최초 등록 결과와 후속 접근 오류를 따로 보존합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 지원 절차 적용 후 같은 설치에서 관리자 상태를 읽고 허용 관찰이 성공하는지 확인합니다.
해결되지 않았을 때: 내부 저장소 접근이 계속 거부되면 최초 오류와 버전을 인계하고 데이터베이스 원본은 일반 티켓에 첨부하지 않습니다.
상황: 관리자 상태는 정상적으로 읽히지만 특정 런타임 또는 기능 요청만 거부됩니다. 모든 접근 거부를 파일 권한 문제로 묶으면 실제 범위 거부를 놓칠 수 있습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 허용된 범위의 요청이 성공하면 그 기능까지만 복구 완료로 기록합니다.
해결되지 않았을 때: 범위 승인이 없으면 파일 권한 확대나 서비스 계정 교체로 해결하지 않습니다.
상황: 기존 환경을 업데이트한 뒤 관리자 상태 조회가 실패합니다. 예전 정상 결과는 있지만 업데이트 이후 접근 성공은 아직 없습니다. 수정된 버전·현재 신원·실패 단계를 묶어 확인합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 복구한 버전·현재 설치·정상 조회가 함께 확인돼야 해당 접근 문제가 해결됐다고 기록합니다.
해결되지 않았을 때: 복구 절차가 없거나 상태 무결성 경고가 있으면 작업을 보류하고 최소 오류·변경 내역을 인계합니다.
등록 완료 기록, 최초 접근 거부 단계·시각, 서비스 상태, 현재 역할·범위, 변경 전후 버전.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: E-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
로컬 모델을 찾는 단계와 현재 설치에 바인딩하는 단계는 별개입니다. 모델 별칭이나 런타임 주소를 바꾼 뒤에는 새 바인딩 결과를 확인하고 Work에 사용하십시오.
관리자는 로컬 모델이 설치된 것을 확인했습니다. PackrGUI에는 런타임이 감지됨으로 보이지만 바인딩됨은 아닙니다. 전날 모델 별칭 또는 런타임 주소를 바꿨다면 과거 상태와 현재 관찰을 구별해야 합니다.
| 상태 | 해석과 조치 |
|---|---|
| 감지되지 않음 | 런타임 실행·지원 범위·공식 연결 경로를 확인합니다. |
| 감지됐으나 검증 거부 | 제품 거부 사유를 보존하고 범위 또는 신원 문제를 해결합니다. |
| 검증됐으나 대상 모델이 모호함 | 관리자에게 정확한 모델 선택을 요청합니다. |
| 새 관찰 뒤 바인딩됨 | 설치 ID와 모델 참조를 확인한 뒤 Work 준비로 이동합니다. |
11:00에 런타임 별칭이 바뀌었는데 제품에는 10:30의 바인딩됨 기록이 남아 있다고 가정합니다. 10:30 기록은 변경 전 상태입니다. 11:00 이후 새 감지, Core 검증, 바인딩의 각 시각과 모델 참조가 이어져야 변경 후 자동 재바인딩을 확인할 수 있습니다. 새 감지만 있고 바인딩이 없다면 사례의 분기표로 원인을 좁힙니다.
| 관문 | 관찰 예 | 결론 |
|---|---|---|
| 감지 | 변경 후 새 모델 참조가 보임 | 후보 발견 |
| 검증 | 현재 설치·범위와 일치 | 적용 자격 확인 |
| 바인딩 | 변경 후 새 기록·시각 | 새 런타임 선택 확인 |
이 표의 시각은 가상 예시입니다. 제품이 실제로 반환한 상태·거부 코드를 기록하고, 내부 저장소를 직접 편집하지 마십시오.
“릴리스 [값], 설치 ID [값], 런타임 종류 [공개 가능한 이름], 기대 모델 [이름], 변경 시각 [값], 감지/검증/바인딩 상태 [각각], 거부 메시지 [원문]입니다. Work는 실행하지 않았습니다.”
완료: 현재 관찰과 승인 범위에 연결된 새 바인딩이 제품에 표시됩니다. 중지: 데이터베이스를 직접 고치거나 거부된 이전 바인딩을 복사하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 모델 파일만 존재 | 프로세스·관찰·검증·바인딩 각각의 상태 | 지원 런타임을 준비한 뒤 제품이 새 관찰을 검증했는지 확인합니다. |
| 별칭 변경 뒤 과거 바인딩이 보임 | 관찰 시각과 현재 모델·런타임 참조 | 변경 뒤의 새 관찰과 검증 결과를 확인하고 과거 바인딩을 복사하지 않습니다. |
| 현재 범위 밖이라 거부 | 정확한 거부 사유와 승인 범위 | 관리자가 지원되는 대상과 범위를 결정한 뒤 제품 경로로 재검증합니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 운영자는 모델 파일을 준비했으므로 바인딩도 완료될 것으로 기대합니다. 제품에는 현재 런타임 관찰이 없거나 감지 단계만 표시됩니다. 파일 준비·프로세스·제품 관찰을 각각 확인합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 현재 설치의 런타임·모델 참조가 검증·바인딩됐을 때만 바인딩 완료로 기록합니다.
해결되지 않았을 때: 지원 대상이나 관찰 경로를 확인할 수 없으면 바인딩 상태 파일을 직접 만들지 않고 담당자에게 인계합니다.
상황: 모델 별칭을 바꾼 뒤 화면에는 여전히 이전 바인딩이 보입니다. 화면 캐시인지, 새 관찰이 아직 없는지, 새 대상이 거부됐는지를 먼저 구분해야 합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 새 관찰에 묶인 대상과 바인딩이 일치해야 새 환경 적용으로 기록합니다.
해결되지 않았을 때: 새 관찰이 없거나 사유가 미확인이면 이전 바인딩을 근거로 새 Work를 시작하지 않습니다.
상황: 한 환경에 둘 이상의 모델이 있고 제품이 런타임은 감지했지만 자동 바인딩을 적용하지 않습니다. 사용 가능한 첫 모델을 임의로 골라 성공 처리할 수 없는 상황입니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 의도한 단일 대상과 검증된 바인딩이 기록된 뒤 해당 범위의 사용을 계속합니다.
해결되지 않았을 때: 대상 선택 권한이나 지원 조합이 없으면 임의 기본값을 만들어 바인딩하지 않습니다.
현재 런타임·모델 참조, 변경 전후 값, 관찰 시각, 검증 결과·거부 사유, 관리자 허용 범위.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: F-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
로컬 모델 시작 실패는 모델 부재, 자원 부족, 네트워크 확인 실패 등 원인이 다를 수 있습니다. 네트워크 정책을 바꾸기 전에 정확한 메시지와 제공된 오프라인 설정 절차를 확인하십시오.
고객은 오프라인 환경에서 로컬 모델을 쓰려 합니다. 런타임이 모델 다운로드를 기다리거나 메타데이터 확인이 시간 초과됩니다. 또는 모델 시작이 실패하지만 화면만으로 메모리 부족인지 모델 부재인지 구분되지 않습니다.
| 결과 | 다음 단계 |
|---|---|
| 모델 파일이 없음 | 릴리스가 허용한 오프라인 모델 준비 경로를 사용합니다. |
| 지원 자원이 부족하다고 제품이 표시 | 호환성 표와 고객 변경 승인에 따라 자원을 준비합니다. |
| 외부 메타데이터만 시간 초과 | 로컬 모델·바인딩·Work 상태를 별도로 확인하고 정책에 맞는 설정을 적용합니다. |
| 런타임은 실행되나 바인딩 거부 | 사례 F로 이동합니다. |
“릴리스 [값], OS/아키텍처 [값], 모델 [값], 로컬 모델 준비 여부 [값], 실패 단계 [시작/발견/검증/Work], 최초 오류 [원문], 외부 통신 정책 [허용/차단]입니다. 프롬프트와 고객 데이터는 첨부하지 않았습니다.”
완료: 지원되는 로컬 모델이 준비되고 현재 런타임이 검증·바인딩됩니다. 실제 추론과 Work는 별도 확인이 필요합니다. 중지: 요구 사양 미확인, 비승인 인터넷 연결, 외부 추론이 없었다는 근거 없는 주장.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 모델 시작 시 종료 | 지원 모델·아키텍처·메모리·디스크와 실제 오류 | 자원 변경은 조직의 환경 변경 절차로 수행하고 다시 관찰합니다. |
| 폐쇄망에서 다운로드 대기 | 모델이 로컬에 있는지와 사전 반입 목록 | 허용된 모델 준비 경로를 사용합니다. SDK의 Rust 의존성 세트가 모델 파일까지 제공하는 것은 아닙니다. |
| 온라인 확인만 실패하고 로컬 상태는 정상 | 메타데이터 요청·로컬 추론·바인딩·Work의 각각 결과 | 실패한 확인과 성공한 로컬 단계의 증거를 각각 기록하고 정책을 유지합니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 모델을 시작하면 곧 종료됩니다. 사용자는 무조건 메모리를 늘리려 하지만 실제 오류는 아직 확인하지 않았습니다. 자원·아키텍처·모델 준비 상태를 함께 확인해야 합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 모델이 지원 조건에서 시작되고 현재 관찰·검증·바인딩까지 확인되면 준비 완료로 기록합니다.
해결되지 않았을 때: 정확한 실패 사유가 없으면 크기 변경·모델 교체를 반복하지 않고 종료 관찰과 지원 조건을 인계합니다.
상황: 폐쇄형 온프렘에 클라이언트와 SDK 의존성 세트는 반입했지만 모델은 없습니다. 런타임은 모델 다운로드를 기다립니다. Rust 의존성이 준비됐다는 사실은 모델 가중치가 준비됐다는 뜻이 아닙니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 필요한 모델이 검증된 로컬 자산으로 준비되고 런타임 바인딩이 확인돼야 해당 준비가 끝납니다.
해결되지 않았을 때: 반입 경로나 권리가 미확인이면 임의 저장소에서 모델을 가져오지 않고 공급·라이선스 담당자에게 인계합니다.
상황: 로컬 모델은 준비돼 있지만 외부 메타데이터 조회가 시간 초과됩니다. 이 한 결과를 전체 로컬 추론 실패 또는 외부 통신이 전혀 없었다는 증거로 사용할 수 없습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 확인한 로컬 단계의 결과만 성공으로 기록하고 외부 조회 실패는 별도로 남깁니다.
해결되지 않았을 때: 통신 범위나 모델 선택을 확인할 수 없으면 무외부 통신·로컬 Work 완료를 주장하지 않고 인계합니다.
OS·아키텍처, 모델·런타임 버전, 요구·현재 자원, 로컬 모델 준비, 최초 종료·외부 조회 상태.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: G-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
Pack Builder는 Pack을 준비하고 검증하도록 돕습니다. 후보 생성, 파일 저장, 화면의 준비 상태, passkey 등록은 각각 별도 상태입니다. 어느 하나도 고객의 Pack 승인·사용 권한·실행 권한을 자동으로 만들지 않습니다.
운영자가 Builder에서 Pack 후보를 만들었습니다. 미리보기와 구조 검사는 통과했지만 PackrGUI의 실행 목록에 나타나지 않거나 Work 요청이 거부됩니다. “Builder에서 만들었으니 실행할 수 있다”는 결론은 성립하지 않습니다.
| 상태 | 다음 단계 |
|---|---|
| 후보의 검증 자체가 실패 | Builder가 표시한 결함을 수정하고 같은 후보를 재검증합니다. |
| 검증됐으나 승인되지 않음 | 릴리스가 정한 Pack 승인 담당자에게 넘깁니다. |
| 승인됐으나 고객 권한이 없음 | 권한 담당자에게 정확한 설치·Pack 범위를 확인받습니다. |
| 승인·권한은 있으나 사전 조건 실패 | 제품의 조건과 환경을 확인한 뒤 안전한 절차로 해결합니다. |
“릴리스 [값], Builder 버전 [값], 후보 ID/버전 [공개 가능한 값], 검증 상태 [값], 승인 상태 [값], 고객 권한 상태 [값], 최초 Work 거부 [원문]입니다.” Pack 소스, 내부 계약 원문, passkey 응답은 첨부하지 않습니다.
완료: 정확한 Pack이 이 고객 설치에 대해 검증·승인·권한 부여됐고 사전 조건을 충족합니다. 중지: 후보를 승인 Pack으로 바꿔 표시하거나 거부된 실행을 우회하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 후보 검증 PASS, 승인 대기 | 같은 후보 리비전·지문에 대한 승인 상태 | 검증 결과를 승인 담당자에게 인계하고 실행 완료로 표시하지 않습니다. |
| 승인됨, 사용 권한 없음 | 현재 고객·설치·Pack 버전에 대한 사용 권한 | 정확한 권한 거부를 담당자가 해결한 뒤 사전 조건을 다시 확인합니다. |
| 실행 전 사전 조건 불일치 | 현재 대상과 계획의 사전 조건 | 대상 상태를 보존하고 지원되는 변경 절차를 사용합니다. 후보 파일 복사로 등록을 대체하지 않습니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: Builder가 후보 검증 PASS를 표시해 사용자가 실행 목록에서 찾습니다. 하지만 정확한 후보 리비전에 대한 승인 기록은 아직 없습니다. 준비와 사용 승인 사이의 단계가 남아 있습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 정확한 후보에 대한 승인·권한·사전 조건이 확인되면 실행 준비 단계로만 이동합니다.
해결되지 않았을 때: 승인이 없으면 후보를 Pack 폴더로 복사하거나 다른 계정으로 실행하지 않습니다.
상황: 한 설치에서 승인한 Pack을 다른 설치에서도 사용할 수 있을 것으로 기대합니다. 제품은 현재 설치의 사용 권한을 거부합니다. 승인 기록의 존재와 적용 범위를 나누어 확인합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 현재 설치를 대상으로 한 권한과 계획이 확인돼야 해당 Pack의 실행 절차를 진행합니다.
해결되지 않았을 때: 권한 담당자의 확인이 없으면 승인 파일의 이름·설치 ID를 바꿔 재사용하지 않습니다.
상황: 검토자가 승인한 뒤 입력 선언이나 후보 파일을 수정했습니다. 이전 승인 화면은 남아 있지만 새 후보의 지문은 달라졌습니다. 새 바이트가 승인됐는지 다시 확인해야 합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 현재 바이트를 대상으로 한 결과가 확인돼야 새 후보로 진행합니다.
해결되지 않았을 때: 이전 승인을 새 후보에 복사하거나 매니페스트 지문만 바꿔 일치시키지 않습니다.
후보 ID·리비전·지문, 검증 대상, 승인 목적·범위, 현재 사용 권한, 사전 조건과 실제 Work 유무.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: H-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
로컬 런타임이 바인딩돼 있어도 Work가 제출되지 않았을 수 있습니다. 런타임 준비와 Work 완료는 각각 다른 기록으로 확인합니다.
PackrGUI에 런타임 바인딩됨이 보입니다. 운영자는 첫 작업이 완료됐다고 생각하지만 Work 목록에는 결과가 없고 영수증도 없습니다. 또는 작업은 제출됐으나 상태가 대기/중단/롤백입니다.
설치 목록에 packrctl이 있고 해당 설치에 인증됐다면, 상태가 불확실한 Work를 다시 실행하지 말고 조회하십시오. 자리표시자는 반환된 Work ID로 바꿉니다.
packrctl work list --limit 10 --json
packrctl work show "PASTE_RETURNED_WORK_ID" --json허용된 계정의 목록이 비어 있어도 다른 계정이 Work를 제출한 적 없다고 증명되지는 않습니다. 보고서 파일이나 모델 응답은 제품의 타입이 정해진 Work·영수증 기록을 대신하지 못합니다.
| 마지막으로 입증된 상태 | 말할 수 있는 것 | 다음 확인 |
|---|---|---|
| 런타임 바인딩 | 실행 준비의 일부 | Work 제출 여부 |
| Work 제출 | 요청이 접수됨 | 승인·사전 조건 |
| Work 실행 시작 | 실행이 시작됨 | 모델 호출·결과 |
| 결과 검증 완료 | 결과가 검사됨 | 최종 상태와 영수증 |
| 성공 영수증 확인 | 그 Work의 완료 증거 | 설치·릴리스 신원 일치 |
로컬 모델 별칭을 바꾼 뒤 어플라이언스에는 새 BOUND가 보이지만 Work 준비 상태는 UNKNOWN이라고 가정합니다. 설치·릴리스, 바인딩 시각, 권한과 런타임의 별도 상태, 제품이 표시한 정확한 사유, Work ID 유무를 기록하십시오. 준비가 계속 UNKNOWN이면 제출 전에 멈추고 그 값을 지원 경로로 전달합니다. 명령 반복, 상태 파일 수정, 바인딩 기록을 영수증으로 취급하는 방식은 Work 완료를 입증하지 못합니다.
운영자가 모델 시험 질문에 응답을 받고 GUI에서 바인딩됨을 본 뒤 첫 Work 완료라고 보고하려 한다고 가정합니다. 이때 Work ID가 없다면 제출도 확인되지 않았습니다. ID가 있더라도 승인·실행 시작·모델 호출·결과 검증·종료와 영수증을 각각 확인해야 합니다. 아래 표는 자신의 설치에서 수행한 Work에 사용하십시오.
| 확인된 마지막 기록 | 아직 주장할 수 없는 것 |
|---|---|
| 모델 일반 응답 | 해당 Work의 모델 호출 |
| Work ID와 제출 | 승인과 실행 |
| 실행 시작 | 성공 결과와 영수증 |
| 결과 검증 | 최종 성공과 동일 Work 영수증 |
첫 누락 관문을 기록해 지원팀에 전달하십시오. 다른 Work의 영수증이나 수동 파일 생성으로 빈칸을 채우지 마십시오.
“릴리스 [값], 설치 ID [값], Work ID [있으면], Pack/작업명 [공개 가능한 값], 마지막 확인 상태 [값], 최초 거부/누락 [원문], 모델 호출 확인 [예/아니요/확인 불가], 영수증 상태 [없음/있음]입니다.” 프롬프트·결과 원문은 보내지 않습니다.
완료: 승인된 같은 Work의 성공 최종 상태, 검증된 결과와 영수증이 일치합니다. 중지: 바인딩 화면, 추정 호출, 다른 Work의 영수증으로 빈 기록을 채우지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 모델 응답만 있음 | 제품 Work ID·실행 요청·승인 상태의 존재 | 해당 결과를 모델 응답으로 기록하고 제품 Work가 시작됐는지 따로 확인합니다. |
| Work ID는 있으나 종료 상태 없음 | 동일 ID의 현재 상태와 갱신 시각 | 릴리스의 조회·대기 절차를 사용하고 새 Work를 중복 제출하지 않습니다. |
| 영수증이 다른 Work·설치를 가리킴 | Work ID·고객·설치·결과 지문의 일치 | 완료 판정을 보류하고 불일치한 최소 기록을 지원 경로로 전달합니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 운영자는 모델 시험 응답과 바인딩됨 화면을 보고 첫 Work가 끝났다고 생각합니다. 제품 Work 목록에는 해당 요청이 없습니다. 모델 시험과 제품 실행을 구별할 필요가 있습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 실제 Work의 승인·실행·검증·최종 상태·영수증을 확인하기 전에는 첫 Work 완료로 표시하지 않습니다.
해결되지 않았을 때: 제출 권한이나 지원 Pack이 없으면 모델 응답으로 영수증을 만들지 말고 준비 상태를 인계합니다.
상황: Work 제출 후 실제 ID를 받았지만 클라이언트 연결이 끊어졌습니다. 사용자는 같은 요청을 다시 실행하려 합니다. 먼저 반환된 ID로 현재 상태를 조회해야 중복 실행을 피할 수 있습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 동일 Work의 종료와 결과·영수증이 확인된 뒤 그 결과로만 처리합니다.
해결되지 않았을 때: 조회가 불가능하거나 상태가 미확인이면 다시 제출하지 않고 ID·최초 연결 오류·마지막 상태를 인계합니다.
상황: 공유 폴더에서 결과 파일과 영수증을 찾았지만 여러 실행 결과가 함께 있습니다. 파일 이름이 비슷하다는 이유로 현재 Work의 완료 증거로 사용할 수 없습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 같은 실행의 기록·결과·검증된 영수증이 일치한 경우에만 완료를 기록합니다.
해결되지 않았을 때: 영수증의 ID나 해시를 직접 고쳐 맞추지 않고 현재 Work의 미확인 상태를 유지합니다.
반환된 Work ID, 현재 고객·설치, 마지막 상태·갱신 시각, 결과 지문, 영수증 참조·검증 결과.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: I-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
새로 배포한 VM에는 고유한 설치 신원과 호스트 신원이 있어야 합니다. 첫 설정에서 기존 조직명·관리자·접근 키가 보인다면 사용 전에 원인을 확인해야 합니다.
공식 이미지로 새 고객 VM을 만들었는데 설정 화면에 이전 조직 이름이나 이미 등록된 관리자처럼 보이는 항목이 있습니다. 또는 예상하지 못한 사용자 홈·접근 키·이미 사용된 설치 ID가 보입니다. 이 상태를 “초기 샘플”로 추정하고 계속 작업하지 않습니다.
| 결과 | 조치 |
|---|---|
| 이전 고객·사용자 흔적 또는 중복 설치 ID가 확인됨 | 인스턴스 사용 중지와 지원 경로로 즉시 전달 |
| 이미지 ID가 공식 전달 목록과 다름 | 설치 중단; 공식 이미지 확인 |
| 표시 내용이 예시 데이터인지 불명확 | 데이터에 접근하지 않고 지원팀에 판정 요청 |
| 독립 검증 결과 새 설치 신원이 정상 | 문서에 기록하고 관리자 설정을 새로 진행 |
새 VM에서 의도하지 않은 사용자 홈이나 이전 설치 ID가 보이면, 그것이 비어 있는지 또는 고객 정보가 실제로 들어 있는지 직접 탐색하지 않습니다. 발견 자체가 새 이미지의 신원·접근 상태를 재검토해야 할 신호입니다. Work와 추가 사용자 등록을 중단하고 배포 이미지 ID, 새 인스턴스 ID, 발견 시각, 제품이 표시한 설치 신원만 최소한으로 기록합니다.
| 해야 할 일 | 피해야 할 일 |
|---|---|
| 공식 이미지와 새 인스턴스 출처 확인 | 이전 사용자 파일 내용 열기·복사 |
| 배포 담당자에게 신원 불일치 전달 | 고객 VM에서 임의 삭제 후 사용 재개 |
| 검증된 교체 이미지가 나올 때까지 보류 | 원본 이미지를 직접 재봉인 |
“릴리스 [값], 공식 이미지 ID [값], 새 인스턴스 생성 시각 [시간대 포함], 예상 설치 ID [값], 실제 표시된 신원 종류 [고객/사용자/설치], 최초 발견 화면의 최소 설명 [값]입니다. Work나 추가 등록은 하지 않았습니다.”
다른 고객의 이름·파일 내용·키·전체 디스크 이미지는 일반 지원 티켓에 첨부하지 않습니다.
완료: 공식 담당자가 이미지와 새 설치 신원을 독립적으로 검증하고 사용 재개를 명시합니다. 중지: 고객이 이전 파일을 삭제하거나 키를 바꿔 이미지를 정상으로 표시하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 이전 사용자나 설치 신원 표시 | 서명 이미지 출처·현재 인스턴스·설치 신원 | 사용과 고객 데이터 입력을 중단하고 이미지 담당자에게 증거를 인계합니다. |
| 이전 제공자 연결이 남아 보임 | 표시된 연결 상태와 현재 릴리스의 초기화 요구 | 자격 증명·내부 저장소를 직접 열지 말고 화면의 최소 상태만 보존합니다. |
| 새 VM에서도 동일 현상 반복 | 각 VM의 이미지·생성 시각·고유 신원 | 반복 생성으로 지우려 하지 말고 원본 이미지와 설치 절차를 담당자가 검증합니다. |
처음 거부된 단계와 수정한 항목을 기록하고 그 단계의 현재 결과를 확인합니다. 이전에 검증한 단계는 변경의 영향을 받았을 때 다시 확인합니다. 다음 단계는 필요한 현재 증거가 있을 때만 진행합니다. 지원 요청에는 정확한 버전·시각대 포함 시각·실패 단계·사유·마지막 확인 상태·수정 내용과 재확인 결과를 넣습니다. 예시 표는 실제 원인 확정이나 실행 이력이 아닙니다.
아래 세 사례는 실제 현장에서 마주칠 수 있는 조건을 단계별로 설명한 교육용 현장 시나리오입니다. 예시 상태는 제품의 실제 오류 코드나 고객 장애 이력으로 취급하지 않습니다. 원인은 자신의 설치에서 관찰한 값으로 구별하십시오. 실제 실행 근거가 함께 제공된 기록은 그 기록의 범위에서만 인용합니다.
각 예시에는 상황, 관찰, 구별을 위한 확인·조치, 재개 조건과 해결되지 않았을 때의 인계를 담았습니다. 하나의 현상에 여러 원인이 가능하므로 첫 거부 뒤에 다음 단계를 무조건 수행하지 않습니다.
상황: 새 설치라고 전달받았지만 첫 설정 화면에 예상하지 않은 조직이나 관리자 표시가 있습니다. 예시 데이터일 것이라고 가정해 고객 정보를 입력하기 전에 출처를 확인해야 합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 담당자가 이미지와 새 설치 신원을 독립 검증하고 사용 재개를 명시해야 설정으로 돌아갑니다.
해결되지 않았을 때: 이전 표시를 지우거나 사용자 디렉터리를 삭제해 새 설치처럼 만들지 않습니다.
상황: 팀이 두 VM을 만들었는데 제품 설치 ID가 같습니다. 주소와 인스턴스 이름은 서로 다릅니다. 복제·출처 문제인지 아직 확정되지 않았더라도 두 독립 설치가 맞는지 확인해야 합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 각 새 설치의 고유 신원과 승인된 사용 재개를 확인한 뒤에만 독립 환경으로 사용합니다.
해결되지 않았을 때: 두 환경을 번갈아 사용하며 문제를 숨기거나 기존 승인·권한 파일을 나눠 복사하지 않습니다.
상황: 문제가 있던 VM 대신 새 인스턴스를 만들었는데 같은 이전 상태가 보입니다. 같은 이미지를 여러 번 생성하는 것만으로 원인이 해결되지는 않습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 문제를 가진 입력과 구별되는 검증된 교체 출처, 고유 신원과 재개 결정이 있어야 종료합니다.
해결되지 않았을 때: 기존 Golden·원본 이미지를 사용자 임의로 수정하거나 재봉인하지 않고 원본 증거를 보존합니다.
공식 이미지·인스턴스 출처, 생성 시각, 표시된 신원 종류, 기대 신원 일치 여부, 중단·인계 상태.
원문 상태와 해석을 분리하고, 시각에는 시간대를 포함합니다. 아래는 기록 양식이며 제품 API 요청이나 실제 실행 영수증이 아닙니다.
case: J-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]지원팀에 전체 로그·고객 데이터·키·토큰·passkey 응답을 붙이지 않습니다. 문의 뒤에도 원본 결과를 보존하고, 조치가 권한·신원·배포 범위를 바꾸면 해당 담당자의 정식 절차로 이어갑니다.
전달받은 어플라이언스 이미지를 새 VM으로 배포하고 제품이 만든 설치 신원에 로컬 Appliance Administrator를 등록합니다. 배포 전에 구성요소 목록, 서명 검증 절차, 지원 환경 표와 조직의 배포 승인을 준비하십시오.
설치 담당자가 “VM 상태가 실행 중입니다. 이제 GUI를 연결해도 되나요?”라고 묻습니다. 관리자는 “제품의 첫 부팅과 서비스 준비가 별도로 확인되어야 합니다. 설치 신원도 새로 생성됐는지 확인하겠습니다”라고 답합니다. 이 구분이 첫 번째 관문입니다.
| 단계 | 담당자가 하는 일 | 다음 단계로 가기 위한 증거 |
|---|---|---|
| 전달 확인 | 릴리스 ID, 이미지, 파일 지문과 서명 대조 | 해당 릴리스의 정확한 파일 확인 |
| 새 VM 생성 | 릴리스가 지정한 환경·절차로 새 인스턴스 생성 | 인스턴스와 이미지 ID, 생성 시각 |
| 첫 부팅 | 릴리스의 초기화 완료 기준 확인 | 제품 서비스 준비 상태 |
| 신원 확인 | 고객·설치·호스트 신원을 각각 대조 | 새 설치의 일치하는 신원 |
| 관리자 등록 | 실제 로컬 관리자가 고객·설치·런타임 범위를 검토·승인 | 제품 역할, 범위, 유효기간 |
이 용례의 성공은 정확한 서명 파일, 새 설치 신원, 준비된 서비스, 실제 관리자의 기록된 범위까지입니다. 런타임 바인딩과 Work 영수증은 다음 용례에서 확인해야 합니다. 다른 고객 신원, 이전 사용자 흔적, 상태 무결성 경고가 있으면 사용을 중단하고 이미지 잔여 사례를 따릅니다.
예를 들어 배포 담당자가 09:00에 VM을 생성했고 클라우드 화면에 09:02부터 실행 중이 보이지만, 제품 위자드에는 아직 준비 완료가 보이지 않는다고 가정합니다. 이때 기록에는 VM 생성 시각, 이미지 ID, 제품 상태를 마지막으로 확인한 시각을 분리해 적습니다. 서비스가 준비되지 않은 동안 관리자 등록이나 GUI 인증을 시도해 나온 오류는 첫 부팅 실패의 근거가 아닐 수 있습니다. 릴리스의 대기·상태 절차를 한 번 수행하고, 준비가 계속 확인되지 않으면 사례 A로 넘깁니다.
관리자 등록은 배포 담당자와 권한 소유자가 서로 다른 조직에서도 성립해야 합니다. 배포 담당자는 설치 ID와 이미지 출처를 넘기고, 권한 소유자는 고객·설치·런타임 허용 범위를 실제 제품 화면에서 검토합니다. 이후 읽기 전용 결과에 범위와 유효기간이 표시될 때만 이 단계를 닫습니다.
| 항목 | 기록 예시 | 의미 |
|---|---|---|
| 이미지·릴리스 | [릴리스 ID]와 [이미지 ID] | 정확한 입력을 대조하기 위한 자리 |
| 제품 준비 | [시각]에 준비됨 또는 확인 안 됨 | VM 실행 상태와 별도 |
| 설치 신원 | [설치 ID] | 이후 클라이언트·Work와 대조 |
| 관리자 범위 | [고객/설치/런타임 범위], [만료] | 자동 바인딩의 한계 |
위 대괄호 값은 예시 입력란이며 실제 릴리스 값을 만들어내지 않습니다. 다른 고객 또는 이전 설치의 값이 보이면 다음 단계로 넘기지 마십시오.
운영 인계는 VM 생성자와 제품 관리자 사이에서 이루어질 수 있습니다. 온라인 설치는 승인된 포털·전달 경로에서 파일을 준비하고, 폐쇄망 설치는 동일 세대의 이미지·클라이언트·필요 모델·지문·문서를 반입 전에 준비합니다. 두 환경 모두 실제 신원과 관리자 범위 확인은 설치된 제품에서 수행합니다.
인계 전 같은 설치 ID에 묶인 서비스 준비·관리자 역할·범위·만료와 다음 클라이언트 담당자를 기록합니다. 관리자 등록이 미완료이면 그 상태로 인계하며 런타임·Work를 완료 처리하지 않습니다.
계획한 절차, 실제 수행한 동작, 확인된 결과와 남은 단계를 구분해 기록하십시오. 위 상황은 이해를 위한 예시이며 이 문서 갱신에서 고객 환경의 실행이 이루어진 것은 아닙니다.
고객이 이미 승인한 설치·런타임 범위 안에서 로컬 모델의 별칭 또는 런타임 관찰값이 바뀌었을 때, Core가 새 관찰을 검증해 바인딩을 갱신하는 흐름입니다. 현재 설치 신원, 관리자 범위, 지원 모델과 변경 전 바인딩 상태를 먼저 확보합니다.
운영자가 로컬 모델의 별칭을 바꿉니다. 모델 서버는 실행 중이지만 PackrGUI는 과거 바인딩 시각을 보여 줍니다. 이 시점의 “모델이 응답한다”는 사실만으로 새 모델의 바인딩을 완료했다고 말할 수 없습니다.
| 관찰 항목 | 변경 전 | 변경 후 반드시 다시 확인할 것 |
|---|---|---|
| 고객·설치 ID | 기존 승인 범위 | 같은 설치의 현재 신원 |
| 런타임·모델 참조 | 이전 바인딩 | 새 별칭 또는 모델 참조 |
| 관찰 시각 | 이전 상태 시각 | 변경 이후의 새 관찰 |
| 검증·바인딩 | 기존 상태 | Core의 새 검증과 새 바인딩 |
| Work | 별도 기록 | 새 바인딩 뒤 실행된 Work만 해당 |
감지되지 않으면 런타임 실행·공식 연결 경로를 확인합니다. 검증이 거부되면 바인딩 사례에 따라 범위·신원·모호성을 분리합니다. 지원 요청에는 변경 전후 상태·시각·설치 ID·제품 거부 문구만 전달하고 내부 저장소나 고객 프롬프트는 보내지 않습니다.
현재 변경에 대한 새 관찰과 Core의 새 바인딩이 같은 설치 신원으로 기록돼야 합니다. 이것은 Work 결과 또는 macOS·Windows 자동 바인딩 검증을 뜻하지 않습니다.
예를 들어 10:00에 로컬 런타임의 별칭을 모델-A에서 모델-B로 바꿨다고 가정합니다. 09:40의 바인딩됨 기록은 변경 전의 증거입니다. 운영자는 10:00의 변경 기록과 이후 새 감지 시각을 나란히 놓고, Core가 같은 설치 ID와 승인 범위로 새 모델 참조를 검증했는지 봅니다. 별칭만 변경돼도 여러 후보가 동시에 보이면 임의로 하나를 선택하지 않습니다.
새 바인딩이 나오지 않는다면 단계별로 분류합니다. 런타임 자체가 발견되지 않으면 서비스 준비와 공식 연결 경로를 확인합니다. 발견은 됐으나 범위 밖이면 승인 소유자에게 넘깁니다. 검증은 됐으나 모델 대상이 모호하면 정확한 모델 선택을 요구합니다. 이전 바인딩 화면의 시각만 갱신돼 보인다면 새 바인딩으로 선언하지 않습니다.
| 시각 | 관찰 | 허용되는 결론 |
|---|---|---|
| 09:40 | 모델-A 바인딩 기록 | 변경 전 상태 |
| 10:00 | 별칭 변경 수행 | 환경이 변경됨 |
| 10:03 | 모델-B 발견 | 검증·바인딩은 아직 별도 |
| 10:05 | 같은 설치의 새 검증·바인딩 기록 | 변경 후 바인딩 확인 |
시각과 모델명은 절차 설명용 가상 값입니다. 실제 Work는 해당 바인딩 이후의 별도 기록으로 확인하십시오.
예를 들어 유지보수 창에서 모델 별칭과 런타임 주소 중 하나만 바꿉니다. 변경 전 지원 버전, 바인딩 참조와 마지막 상태를 보관하고 변경 후 새 관찰이 어느 값에 연결됐는지 대조합니다. 온라인 확인 성공이나 로컬 프로세스 재시작만으로 새 바인딩이 적용된 것으로 판단하지 않습니다.
변경 전후 런타임·모델 참조, 관찰 시각, 검증 사유, 적용된 바인딩과 이후 별도로 수행한 승인 Work를 구분합니다. 되돌림도 제품이 다시 관찰·검증한 결과를 확인합니다.
계획한 절차, 실제 수행한 동작, 확인된 결과와 남은 단계를 구분해 기록하십시오. 위 상황은 이해를 위한 예시이며 이 문서 갱신에서 고객 환경의 실행이 이루어진 것은 아닙니다.
목표: 이미 준비된 회사 VM에 내 클라이언트로 연결하고 같은 고객·설치 신원을 확인합니다. 이 실습은 Work를 자동 실행하지 않습니다. 회사에 VM이 아직 없다면 배포 담당자는 설치 안내 1–4절부터 진행하고, 일반 사용자는 설치 신원·준비 상태·접속 자료를 인계받습니다.
호환 클라이언트의 실제 파일·지문·서명 상태, 고객·설치·릴리스 참조, 접속 endpoint와 TLS 서버명, 내 계정·기기 등록 방식, 허용 역할, 등록 만료/갱신 문의 경로를 받습니다. 릴리스가 기기별 프로필을 제공하면 조직의 안전한 전달 경로로 받습니다. 설명 페이지에 비밀키를 붙여넣거나 공통 설치 ZIP에 넣지 않습니다. 자동 등록 포털은 이 릴리스가 실제 제공할 때만 사용합니다.
| OS | 파일 준비와 실행 | 연결 전 확인 |
|---|---|---|
| macOS | 제공 형식이 앱이면 안내된 개인 Applications/Applications 위치에 보관; 설치 패키지면 동봉 절차 사용 | Finder에서 여는 앱과 받은 릴리스가 같은지 확인 |
| Windows | 설치형과 휴대형을 구별; 휴대형이면 실행 파일과 동봉 런타임·리소스 폴더를 함께 유지 | EXE만 다른 폴더로 복사하지 않고 원래 패키지 위치에서 실행 |
| Linux | 제공된 배포판·CPU용 패키지의 안내 사용; 함께 제공된 실행 스크립트/라이브러리 유지 | 다른 배포판용 임의 라이브러리 설치로 대체하지 않음 |
앱이 열리지 않으면 연결 실패가 아니라 앱 기동 단계로 기록합니다. OS의 정확한 경고, 앱 경로·버전·CPU와 동봉 파일을 확인하십시오. 운영체제 보안 설정 해제나 관리자 실행을 일반 해결책으로 사용하지 않습니다.
기대 결과: 실행한 클라이언트의 버전·경로, 같은 고객/설치 참조, 실제 인증 상태를 기록할 수 있습니다. 일반 사용자 등록이나 운영 연결이 해당 후보에서 아직 검증되지 않았다면 그 단계는 미확인으로 남습니다. 성공 화면을 가정해 채우지 않습니다.
막히면: 앱 기동 오류 → 패키지·OS 준비, 시간 초과/인증 거부 → 사례 C, 신원 변경 → 사례 B, 관리자 등록 문제 → 사례 D/E로 이동합니다. 실제 첫 Work는 별도의 첫 Work 용례를 따릅니다.
고객의 워크스테이션에서 GUI로 어플라이언스에 접속하고, 운영 자동화가 필요할 경우 릴리스가 제공한 별도의 헤드리스 경로를 확인합니다. 두 경로는 같은 고객 어플라이언스를 사용하더라도 설치 파일, 인증, 세션, 허용 기능과 결과 증거가 다를 수 있습니다.
운영자는 Mac의 PackrGUI에서 상태 화면을 볼 수 있습니다. 팀은 “그러면 Linux 서버의 헤드리스 작업도 준비됐다”고 말합니다. 이 결론은 검증되지 않았습니다. 각 클라이언트에서 직접 인증·설치 신원·기능을 확인해야 합니다.
| 항목 | PackrGUI | 헤드리스 |
|---|---|---|
| 설치 파일 | 해당 OS의 서명·지문 검증 | 릴리스가 지정한 CLI/서비스 파일 검증 |
| 네트워크 | 공식 어플라이언스 주소·경로 | 해당 경로의 공식 주소·정책 |
| 인증 | GUI에 표시된 현재 세션 | 헤드리스 계정/서비스의 현재 인증 |
| 제품 신원 | 고객·설치 ID 일치 | 같은 고객·설치 ID의 별도 확인 |
| 기능 | 화면에 허용된 기능 | 릴리스가 허용한 명령·작업 범위 |
| 결과 | GUI 상태·기록 | 헤드리스 기록·영수증의 직접 확인 |
packrctl을 제공할 때의 읽기 전용 확인설치 담당자로부터 승인된 로컬 접근 경로를 받은 뒤, 설치 목록에 packrctl이 있는 경우 아래 명령으로 상태와 건강도를 읽으십시오. 권한 있는 어플라이언스 또는 관리 클라이언트에서만 실행합니다. 이 명령으로 GUI 세션을 인증하거나 Work를 승인할 수는 없습니다.
packrctl status --json > headless-status.json
packrctl health --json > headless-health.json셸 종료 상태뿐 아니라 JSON의 준비 상태와 사유를 읽으십시오. UNKNOWN은 READY가 아닙니다. 정확한 전달 목록에 packrctl이 없으면 개발용 바이너리를 가져오지 말고 헤드리스 경로를 미제공으로 기록합니다.
한 경로만 실패하면 성공한 경로의 설정을 복제하기 전에 연결·인증 사례로 실패 지점을 분류합니다. 호스트 신원 경고는 신원 사례에서 즉시 중지합니다.
각 경로의 설치 파일·연결·인증·설치 ID·사용할 기능을 직접 확인한 뒤에만 해당 경로를 검증됨으로 기록하십시오.
플랫폼마다 전달 목록의 설치 파일 이름·서명·지원 버전·연결 방식을 확인하십시오. 설치 후에는 서버 신원, 인증 세션, 일치하는 고객·설치 ID를 기록합니다. 해당 플랫폼의 설치 파일이나 헤드리스 클라이언트가 목록에 없다면 다른 패키지를 사용하기 전에 공급자가 제공하는 지원 경로를 확인하십시오.
Mac의 PackrGUI가 같은 설치 ID를 보여 주지만 서버 자동화 작업은 접속하지 못한다고 가정합니다. GUI의 인증 계정, 토큰 유효기간, 네트워크 경로는 자동화 서비스의 것과 다를 수 있습니다. GUI 화면을 캡처해 헤드리스 인증 성공으로 제출하지 마십시오. 헤드리스가 해당 릴리스의 제공 목록에 있는지부터 확인하고, 있다면 그 경로의 계정·주소·거부 사유를 별도로 기록합니다.
반대로 헤드리스 상태 조회가 성공해도 GUI 화면이 열리고 현재 세션에 같은 권한이 있는지 알 수 없습니다. 두 경로의 마지막 확인 단계가 다르면 가장 뒤처진 경로를 정확히 표시합니다. 예를 들어 GUI는 인증·신원 일치, 헤드리스는 네트워크 도달만 확인으로 적습니다.
| 플랫폼·경로 | 설치 파일·서명 | 연결 | 인증·설치 ID | 바인딩 | 실제 Work·영수증 |
|---|---|---|---|---|---|
| macOS GUI | [확인 값] | [상태] | [상태] | [상태] | [상태] |
| Windows GUI | [확인 값] | [상태] | [상태] | [상태] | [상태] |
| Linux GUI | [확인 값] | [상태] | [상태] | [상태] | [상태] |
| 헤드리스 | [확인 값] | [상태] | [상태] | [상태] | [상태] |
실증 전에는 미확인으로 적습니다. 한 칸의 성공을 다른 운영체제나 경로에 복사하지 마십시오.
예를 들어 데스크톱 GUI는 정상인데 예약 자동화가 거부됩니다. GUI 사용자 세션과 자동화 서비스의 실행 위치·사용 계정·네트워크 경로·설치 범위가 각각 같은지 확인합니다. GUI의 토큰이나 키를 자동화에 복사하지 말고 해당 릴리스가 제공하는 서비스 인증 절차를 사용합니다.
GUI와 헤드리스의 설치 파일·버전·인증 결과·설치 ID·허용 기능·상태 조회 결과를 한 표의 별도 행으로 남깁니다. 어느 한 경로가 미제공이면 그대로 기록하고 실제 Work 영수증은 실행한 경로에 연결합니다.
계획한 절차, 실제 수행한 동작, 확인된 결과와 남은 단계를 구분해 기록하십시오. 위 상황은 이해를 위한 예시이며 이 문서 갱신에서 고객 환경의 실행이 이루어진 것은 아닙니다.
고객이 필요한 기능을 Pack 후보로 준비·검증하고, 정식 권한 담당자가 승인·사용 권한을 별도로 확인할 수 있도록 인계합니다. 기존 Pack으로 해결 가능한지 먼저 확인하며, 새로운 후보를 만들었다는 이유만으로 실행 경로를 열지 않습니다.
Builder 사용자가 “검증 통과 표시가 떴으니 지금 실행하겠습니다”라고 말합니다. 관리자는 “그것은 후보 검증 결과입니다. 고객 설치의 Pack 승인, 사용 권한, 계약 범위, 사전 조건을 각각 확인해야 합니다”라고 답합니다.
| 상태 | 의미 | 확인 담당 |
|---|---|---|
| 후보 작성 | Pack 초안이 존재 | Builder 사용자 |
| 후보 검증 | 선언과 구조를 검사 | 제품 검증 경로 |
| 승인 | Pack이 정식 사용 대상으로 결정 | 승인 권한자 |
| 사용 권한 | 이 고객·설치가 사용할 수 있음 | 권한 담당자 |
| 실행 전 확인 | 계약·범위·사전 조건 충족 | 제품과 작업 승인자 |
| Work 실행·영수증 | 승인된 작업의 실제 결과 | 제품 실행 기록 |
Builder 후보 사례의 검증·승인·권한·사전 조건 분기로 이동합니다. 후보를 직접 배포 디렉터리에 복사하거나 거부된 명령을 다른 계정으로 실행하지 않습니다.
이 용례의 준비 완료는 후보 검증과 정식 승인·사용 권한 상태가 각각 확인됨입니다. 이것은 Work 성공을 뜻하지 않습니다.
Builder에서 후보의 구조 검증이 통과했는데 실행 버튼 또는 Work 제출이 거부됐다고 가정합니다. 이것은 곧바로 제품 고장을 의미하지 않습니다. 후보의 구조·계약 검증, 승인 주체의 판단, 설치별 사용 권한, 실행 시점의 사전 조건은 서로 다른 관문입니다. 어느 관문에서 멈췄는지 제품의 원문 상태로 분류합니다.
예를 들어 후보 검증 PASS와 승인 대기 상태가 함께 표시되면 후보 준비 완료, 실행 권한 없음으로 기록합니다. 승인된 Pack이어도 현재 고객·설치 범위나 사전 조건이 맞지 않으면 이 실행은 진행하지 않습니다. 거부 상태를 바꾸려고 후보 파일이나 정책 저장소를 직접 수정하지 마십시오.
| 항목 | 인계에 필요한 값 |
|---|---|
| 후보 식별 | [후보 ID], [생성 시각], [검증 상태] |
| 계약 범위 | [허용 기능], [대상 환경], [사전 조건] |
| 승인 상태 | [승인 주체], [결정 상태], [결정 시각] |
| 실행 자격 | [고객·설치 ID], [권한 상태] |
대괄호는 실제 제품 기록을 채우기 위한 자리입니다. 검증 PASS를 승인 상태 칸에 복사하지 마십시오.
예를 들어 기존 점검 Pack의 입력을 새 대상에 맞게 변경합니다. 기존 Pack의 지원 범위를 먼저 확인하고, 필요한 후보만 새 리비전으로 생성합니다. 승인 검토를 받은 뒤 후보를 다시 수정했다면 이전 승인과 새 후보를 같은 것으로 취급하지 않습니다.
후보 생성·검증, 승인, 설치별 사용 권한, 사전 조건과 Work 영수증을 각각 별도 상태로 적습니다. 인계에는 실행하지 않은 단계와 다음 권한 담당자도 포함합니다.
계획한 절차, 실제 수행한 동작, 확인된 결과와 남은 단계를 구분해 기록하십시오. 위 상황은 이해를 위한 예시이며 이 문서 갱신에서 고객 환경의 실행이 이루어진 것은 아닙니다.
고객이 지원되는 Pack 또는 릴리스가 지정한 시험 작업 한 건을 제품의 통제된 경로로 실행하고, 같은 설치·Work ID의 최종 결과와 영수증을 확인합니다. 서비스 준비, 인증된 연결, 관리자 범위, 현재 런타임 바인딩이 먼저 확인돼야 합니다.
운영자가 “Qwen이 바인딩됐으므로 첫 Work가 끝났습니다”라고 보고합니다. 검토자는 “Work ID, 실행 승인, 모델 호출, 결과 검증, 영수증이 같은 작업에 연결됐습니까?”라고 확인합니다. 아직 Work를 제출하지 않았다면 보고할 수 있는 상태는 런타임 준비까지입니다.
| 단계 | 확인 질문 | 없을 때 기록할 상태 |
|---|---|---|
| 작업 선택 | 지원 Pack/작업·계약·범위가 맞습니까? | 대상 미확정 |
| 사전 조건 | 환경·권한·사용 권한이 충족됩니까? | 실행 전 거부 |
| 실행 승인 | 실제 계획과 대상에 대한 승인이 있습니까? | 승인 대기 또는 거부 |
| 제출·시작 | 같은 설치에서 Work ID와 시작 기록이 있습니까? | 미제출 또는 미시작 |
| 모델 호출 | 로컬 모델을 쓴다면 그 Work의 호출이 있습니까? | 호출 미증명 |
| 결과 검증 | 결과 상태와 검증 기록이 있습니까? | 검증 대기 또는 실패 |
| 영수증 | 같은 Work ID의 최종 영수증이 있습니까? | 완료 미증명 |
전달받은 릴리스가 packrctl과 CREATE_AUDIT_ARTIFACT 작업을 제공한다면, 이 Work 한 건의 승인과 어플라이언스의 권한·사전 조건을 확인한 뒤에만 아래 예시를 사용하십시오. 키는 승인받은 미사용 값으로 바꿉니다. 이 작업은 로컬 감사 산출물을 만들며 첨부 고객 문서를 감사하거나 Qwen 모델을 호출하지 않습니다.
packrctl work run CREATE_AUDIT_ARTIFACT "create audit artifact" \
"REPLACE_WITH_ONE_UNUSED_APPROVED_KEY" --json > work-run.json
# 반환된 result.work.work_id를 복사합니다. Work ID를 만들지 마십시오.
packrctl work show "PASTE_RETURNED_WORK_ID" --json > work-show.json반환 기록에서 타입 결과·최종 상태·검증·영수증 참조·사람의 최종 인수 상태를 따로 확인하십시오. 종료 코드나 JSON 파일 생성만으로 성공 영수증이 되지 않습니다. 결과가 불확실하면 work run을 다시 내지 말고 원래 요청을 제품이 지원하는 경로로 대조하십시오.
지원 요청에는 릴리스·설치·Work ID, 사용 Pack/작업의 공개 가능한 이름, 마지막 확인 단계, 최초 오류, 영수증 상태만 적습니다. 프롬프트·고객 데이터·원시 결과는 일반 티켓에 넣지 않습니다. 완료: 승인된 같은 Work의 성공 최종 상태, 검증된 결과, 영수증이 함께 확인됩니다.
운영자가 로컬 모델의 응답을 확인하고 “첫 Work 성공”이라고 보고하려 한다고 가정합니다. 먼저 Work ID가 있는지 확인합니다. ID가 없다면 제품에 Work가 접수됐다는 증거부터 없습니다. ID가 있어도 승인, 시작, 모델 호출, 결과 검증, 최종 상태가 각각 기록됐는지 읽습니다. 모델의 일반 응답은 특정 Work에 묶인 호출을 대신하지 않습니다.
예를 들어 로컬 모델 별칭을 바꾼 뒤 GUI에는 새 BOUND가 보이지만 Work 준비는 UNKNOWN일 수 있습니다. 현재 설치가 보여 주는 권한·런타임·Work 준비 상태와 정확한 사유 코드를 기록하십시오. 필요한 준비 상태가 확인될 때까지 Work를 제출하지 말고, UNKNOWN이 계속되면 그 값을 릴리스 지원 경로로 전달하십시오. 아래 표에는 자신의 첫 Work 기록을 채웁니다.
| 관문 | 기록할 값 | 빠졌을 때의 판단 |
|---|---|---|
| 제출·식별 | [Work ID], [제출 시각] | 접수 미확인 |
| 승인·사전 조건 | [결정], [범위] | 실행 권한 미확인 |
| 실행·모델 호출 | [실행 상태], [호출 연결] | 추론 여부 미확인 |
| 결과 검증 | [검증 상태] | 결과 품질 미확인 |
| 종료·영수증 | [최종 상태], [영수증 ID] | 완료 미확인 |
실패·중단·롤백 결과를 영수증 파일의 존재만으로 성공 처리하지 않습니다. 문제를 전달할 때는 처음 빠진 관문을 보고하고 원문 프롬프트와 결과물은 일반 지원 요청에 포함하지 마십시오.
예를 들어 승인된 읽기 작업 한 건을 계획합니다. 실행 직전 동일 설치·Pack·입력·현재 권한과 계획을 확인하고 반환된 실제 Work ID를 보관합니다. 연결 문제로 결과가 늦게 보이더라도 같은 ID의 조회 경로를 사용하며, 결과를 얻기 위해 새 Work를 중복 실행하지 않습니다.
최종 상태, 후조건 검증, 결과 지문, Work 기록과 영수증이 모두 같은 실행을 가리키는지 확인합니다. 실패·롤백·대기·미확인은 각각 기록하고 모델의 독립 응답을 제품 영수증으로 대체하지 않습니다.
계획한 절차, 실제 수행한 동작, 확인된 결과와 남은 단계를 구분해 기록하십시오. 위 상황은 이해를 위한 예시이며 이 문서 갱신에서 고객 환경의 실행이 이루어진 것은 아닙니다.
목표: 해당 릴리스가 제공한 읽기 전용 연습 Pack/후보를 새 리비전으로 준비하고 검증 결과를 읽습니다. 기존 운영 Pack을 수정하거나 서비스 변경 Work를 처음 연습으로 사용하지 않습니다. 제공된 연습 입력이 없으면 아래 목표 작성까지만 진행하고 지원 담당자에게 호환 예제를 요청합니다.
목적: 합성 점검 결과 한 건 / 입력: 제공된 합성 자료 / 출력: 검토용 결과 / 변경: 고객 서비스 변경 없음 / 실패: 선언된 복구 상태 확인을 적고, 제품이 지원하는 입력 필드에 제공 템플릿의 형식으로 입력합니다.예상 산출물: 제품이 반환한 후보 참조와 검증 기록입니다. SDK의 adapter.rs나 GAPE snapshot이 생성될 것으로 기대하지 않습니다. 후보를 제품이 관리한다면 임의 파일 경로를 찾아 복사하는 대신 릴리스의 내보내기 절차를 사용합니다.
다음 연습: 승인된 후보의 실제 사용은 승인·현재 사용 권한·사전 조건이 갖춰졌을 때 첫 Work 용례로 진행합니다. 검증은 통과했지만 승인이 대기라면 이번 실습은 후보 준비/인계 완료, Work 미실행으로 남깁니다. 아래 BLD 사례와 사례 H에서 상태별로 이어갑니다.
아래는 작성 예시이며 Builder API 입력이나 실제 영수증이 아닙니다. 설치된 릴리스의 실제 값을 넣고 검증과 거부를 분리해 기록하십시오.
릴리스: [서명 릴리스 ID]
설치: [고객이 허용한 참조]
후보: [Builder 후보 ID와 리비전]
검증: PASS (구조만)
승인: PENDING
사용 권한: NOT_CHECKED
Work: NOT_STARTED
다음 담당자: Pack 승인 담당자후보가 감사 산출물을 선언하고 구조 검증에서 PASS를 받았는데 Work 제출은 “승인 대기”를 반환합니다. 이 상태는 후보 검증 완료 / 실행 권한 없음으로 기록합니다. 다음 조치는 승인 담당자의 몫입니다. 반복 제출, 다른 계정 사용, Pack 디렉터리로 후보 복사는 상태를 바꾸지 못합니다. 승인 후 사용 권한이 없다면 권한 담당자가 정확한 고객·설치 범위를 확인해야 합니다.
passkey 페이지가 열렸다 Builder로 돌아왔지만 Core에 동일 세션·계획·후보의 검증된 승인이 없습니다. Work는 거부 또는 대기 상태로 유지합니다. 표시된 correlation ID와 릴리스의 자격 증명 등록 상태를 확인하고, passkey 응답 원문을 지원 요청에 넣지 않습니다.
후보 준비는 검증된 후보와 인계 기록까지입니다. 승인된 Pack 사용에는 별도 승인·사용 권한·현재 사전 조건·실제 Work·검증 결과·일치하는 영수증이 필요합니다. 후보 거부 사례와 첫 Work 안내를 참고하십시오.
예를 들어 주간 점검 산출물을 만드는 기존 Pack을 팀의 입력 형식에 맞게 준비한다고 가정합니다. 먼저 기존 승인 Pack의 지원 입력으로 해결되는지 확인합니다. 새 후보가 필요하면 원래 Pack 참조, 변경한 입력 선언, 후보 리비전과 검증 결과를 함께 남깁니다. 승인 담당자는 정확히 그 후보 지문을 검토하고, 운영 담당자는 현재 설치의 사용 권한과 사전 조건을 별도로 확인합니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 후보 수정 뒤 이전 검증 결과만 보임 | 현재 후보 리비전·지문과 검증 대상이 같은지 | 수정된 후보를 해당 검증 절차로 검사하고 새 결과를 승인 요청에 묶습니다. |
| 승인은 있으나 실행이 거부됨 | 승인 목적·후보·설치 범위와 현재 사용 권한 | 현재 거부 사유를 기록하고 해당 범위의 담당자가 해결한 뒤 계획을 재확인합니다. |
| 변경 작업 실패 후 일부 파일이 남음 | 실행 기록의 변경·롤백 상태와 검증 결과 | 현재 상태를 보존하고 릴리스가 정한 복구 절차를 적용합니다. 결과 파일만 삭제해 성공으로 표시하지 않습니다. |
인계 항목: 원본 Pack 참조, 후보 ID·리비전·지문, 변경 목적, 지원 플랫폼, 검증 결과, 승인 상태, 사용 권한 상태, 사전 조건, 롤백 처리와 다음 담당자. 실제 Work가 없으면 후보 준비 완료까지만 기록합니다.
다음은 지원되는 입력·명령·권한 경계를 바탕으로 구성한 교육용 사례입니다. 제품의 실제 상태·사유와 함께 읽고, 자신의 실행 기록 없이 예시의 결과를 성공 이력으로 사용하지 않습니다. 온라인과 오프라인 환경 모두에 적용되는 확인 항목과 선택 의존성 경로에만 해당하는 항목을 구별합니다.
상황: 사용자는 passkey 페이지에서 앱으로 돌아왔으므로 후보가 승인됐다고 생각합니다. 제품에는 같은 후보·계획·세션의 검증된 승인 기록이 보이지 않습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 제품이 정확한 대상의 승인을 확인한 뒤 사용 권한·사전 조건을 별도로 대조합니다.
해결되지 않았을 때: passkey 응답 원문·다른 계정의 자격 증명으로 빈 승인 기록을 채우지 않습니다.
상황: 후보 또는 승인 Pack 작업이 실패했는데 출력 파일 일부가 보입니다. 파일 존재만으로 성공으로 보거나, 파일만 지우고 재실행하기 전에 제품의 실패·롤백 상태를 확인합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 검증된 복구 상태와 이후 승인된 실행의 결과를 구분해 기록합니다.
해결되지 않았을 때: 원본 결과 삭제·수동 성공 표시·다른 경로 실행으로 실패 상태를 숨기지 않습니다.
먼저 받은 파일을 확인합니다. 승인된 snapshot과 뷰어만 받은 사람은 제공된 HTML 뷰어를 브라우저에서 열어 snapshot ID·소스 리비전·공개 등급을 읽고 노드 하나를 선택합니다. 소스나 매니페스트를 새로 만들 필요가 없습니다. 실행 파일과 승인 manifest를 받은 담당자는 아래 로컬 관찰을 진행할 수 있습니다. 일반 소스 Document나 SDK input.json을 GAPE 매니페스트로 사용하지 않습니다.
gape_exe/$gapeExe는 제공된 실행 파일, manifest/$gapeManifest는 실제 승인 매니페스트의 절대 경로로 바꿉니다. 그 매니페스트가 지정한 소스 위치와 리비전도 존재해야 합니다. 새 출력의 부모 폴더만 준비하고 gape-observation-01은 만들지 않습니다. 경로를 추측해 소스 범위를 넓히지 않습니다.
gape_exe="/absolute/path/packr-gape"
gape_manifest="/absolute/path/approved-manifest.json"
gape_output="$HOME/gape-observation-01"
test -f "$gape_exe" && test -f "$gape_manifest" || exit 1
test ! -e "$gape_output" || exit 1
"$gape_exe" snapshot "$gape_manifest" "$gape_output" || exit 1
"$gape_exe" validate-snapshot "$gape_output/gape-architecture-snapshot.json" || exit 1
ls -la "$gape_output"$gapeExe = 'C:\absolute\path\packr-gape.exe'
$gapeManifest = 'C:\absolute\path\approved-manifest.json'
$gapeOutput = Join-Path $env:USERPROFILE 'gape-observation-01'
if (!(Test-Path -LiteralPath $gapeExe -PathType Leaf) -or !(Test-Path -LiteralPath $gapeManifest -PathType Leaf)) { throw 'Executable or approved manifest missing' }
if (Test-Path -LiteralPath $gapeOutput) { throw 'Choose a fresh output path' }
& $gapeExe snapshot $gapeManifest $gapeOutput
if ($LASTEXITCODE -ne 0) { throw 'Snapshot failed' }
& $gapeExe validate-snapshot (Join-Path $gapeOutput 'gape-architecture-snapshot.json')
if ($LASTEXITCODE -ne 0) { throw 'Snapshot validation failed' }
Get-ChildItem -LiteralPath $gapeOutput무엇을 읽나: snapshot 명령의 JSON에는 snapshot ID와 노드·관계·finding 수, execution_authority: NONE이 표시됩니다. finding 수가 0일 것이라고 가정하지 않습니다. 검사 결과와 실제 생성 파일을 보존하고, 동봉된 뷰어가 있으면 그 파일을 엽니다. 뷰어가 없다면 snapshot JSON을 편집기에서 읽습니다. HTML 파일 이름을 임의로 추측하지 않습니다.
짧은 과제: 노드 하나의 이름·소스 리비전·연결된 관계·관찰 한계를 기록합니다. 이전 snapshot과 비교하려면 두 원본을 보존하고 제공된 compare before.json after.json 명령의 지원 여부를 릴리스에서 확인합니다. 관찰 밖의 동작은 추정하지 않습니다. 내부 엔지니어링 snapshot은 외부 공유하지 않고 승인된 PUBLIC_SAFE 투영을 사용합니다.
막히면: 실행 파일 없음은 설치 준비, 소스 경로/리비전 없음은 승인 입력 준비, snapshot 검사 실패는 관찰 검사 단계로 기록합니다. 아래 GAPE-1/2로 이동하며 임의 manifest 작성으로 관찰 범위를 확대하지 않습니다.
연동 담당자가 제안한 작업이 어느 구성요소와 인터페이스에 의존하는지 파악할 때 사용합니다. 해당 릴리스가 GAPE 도구와 승인된 입력 매니페스트를 제공하는지 확인하십시오. 일반 소스 폴더·스크린샷·아키텍처 인포그래픽은 매니페스트가 아닙니다.
packr-gape와 승인된 매니페스트가 있다면 새 출력 폴더에서 packr-gape snapshot manifest.json new-output-folder를 실행합니다. 둘 중 하나가 없다면 지원되는 관찰 절차를 문의하십시오.packr-gape validate-snapshot gape-architecture-snapshot.json으로 생성 결과를 확인합니다. 이는 snapshot의 구조·출처 검사이지 실제 런타임 동작 검증이 아닙니다.UNRESOLVED·STALE은 그대로 이슈로 남기며 뷰어를 고쳐 일치처럼 표시하지 않습니다.아래 명령은 설치 목록에 packr-gape와 조회 권한이 있는 소스용 승인 매니페스트가 모두 있을 때만 사용하십시오. 출력 폴더는 새로 만들어야 합니다. validate-snapshot은 snapshot 검사이며 실행 중인 어플라이언스 검사가 아닙니다.
packr-gape snapshot approved-manifest.json new-observation-folder
packr-gape validate-snapshot new-observation-folder/gape-architecture-snapshot.json실제 릴리스가 생성한 파일명이 다르면 그 이름을 사용합니다. 매니페스트 지문·소스 리비전·snapshot ID·검사 결과와 execution_authority: NONE을 기록하십시오. 실행 파일이나 승인 매니페스트가 없으면 이 경로를 중지하고 이번 릴리스에서 미제공으로 기록합니다.
운영자가 GAPE snapshot에서 PackrGUI와 연동 어댑터 사이의 관계를 봅니다. 이 관계는 STATIC_SOURCE입니다. 실제 고객 런타임은 다른 기능 구성으로 동작할 수 있고 동적 호출은 저장된 소스 관찰 범위 밖일 수 있습니다. snapshot에 표시된 정확한 소스 버전을 기록하고 담당자에게 제공된 Contract와 연결 증거를 확인하십시오. 배포 기록에 “연결됨”이나 “승인됨”이라고 쓰지 않습니다.
snapshot에 인터페이스 연관은 있지만 예상 소유자 규칙이 없거나 다른 리비전의 규칙입니다. GAPE는 UNRESOLVED 또는 STALE을 표시합니다. 매니페스트 신원·snapshot 지문·판정·정확한 리비전을 보존하십시오. 담당자가 Contract와 소스를 별도로 대조해야 하며 그림을 새로 그리는 일은 복구가 아닙니다.
매니페스트, snapshot 검증 결과, 선택한 투영, 리비전, 공개 등급, 관찰 한계와 미해결 판정이 기록되면 관찰이 끝납니다. 연동 등록과 Work는 별도 절차입니다. Integration Helper 또는 Contract & Document 안내로 이어가십시오.
예를 들어 새 연동 요청 전에 담당자가 데이터가 어느 구성요소를 거치는지 검토합니다. 승인된 매니페스트의 저장 리비전을 고정하고 노드 하나와 그 관계를 추적합니다. 관찰 출처와 확인되지 않은 동적 경로를 함께 적고, 다른 리비전의 문서와 비교할 때는 두 리비전을 모두 표시합니다. 운영 장애 원인을 이 그림만으로 확정하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 소스가 바뀌었는데 이전 snapshot을 보고 있음 | snapshot 생성 시점·소스 리비전·매니페스트 지문 | 승인된 새 입력으로 새 출력 위치에 관찰을 만들고 이전 snapshot과 구분합니다. |
| 노드가 보이지 않음 | 매니페스트 범위·제외 규칙·지원 언어와 선택한 필터 | 검색 범위를 확인하고 관찰 범위 밖 또는 미확인으로 기록합니다. 기능 부재로 단정하지 않습니다. |
| 공유 자료에 내부 경로가 포함됨 | 선택한 투영의 공개 등급과 승인된 내보내기 | 공유를 중단하고 PUBLIC_SAFE 자료가 제공되는지 확인합니다. 원본 상세 내보내기를 전달하지 않습니다. |
인계 항목: 소스 리비전, 매니페스트 지문, snapshot 지문, 관찰 범위, 공개 등급, 선택한 노드·관계, 미해결 항목과 다음 확인 담당자. snapshot 검증 결과와 실제 런타임 증거는 별도로 기록합니다.
다음은 지원되는 입력·명령·권한 경계를 바탕으로 구성한 교육용 사례입니다. 제품의 실제 상태·사유와 함께 읽고, 자신의 실행 기록 없이 예시의 결과를 성공 이력으로 사용하지 않습니다. 온라인과 오프라인 환경 모두에 적용되는 확인 항목과 선택 의존성 경로에만 해당하는 항목을 구별합니다.
상황: 담당자가 현재 설계와 다르다고 보고한 그림은 이전 저장 리비전의 snapshot입니다. 현재 소스, 승인 매니페스트와 관찰 결과의 리비전을 먼저 구별합니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 현재 검토 대상 리비전과 검증된 snapshot이 맞으면 그 범위의 관찰 검토를 계속합니다.
해결되지 않았을 때: 매니페스트나 리비전이 미확인이면 그림을 고쳐 일치시키지 않고 해당 관찰을 미확인으로 남깁니다.
상황: 검색에서 구성요소가 나오지 않아 기능이 없다고 생각합니다. 하지만 선택한 필터·매니페스트 제외 규칙·지원 언어에 따라 표시와 관찰 범위가 달라질 수 있습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 해당 리비전과 범위의 관계를 확인한 경우에만 그 관찰을 인용합니다.
해결되지 않았을 때: 소스 근거가 없으면 미구현·기능 없음으로 단정하지 않습니다.
준비물: 버전이 맞는 Helper 실행 파일, 완전한 request.json, 공급자가 게시한 대상 참조. SDK와 Helper는 별도 실행 파일입니다. SDK의 발췌 JSON만 저장해 이 요청을 대신하지 않습니다. SDK 전체 예제를 재사용하려면 그 Helper 릴리스에서도 동일한 대상·envelope를 지원하는지 먼저 확인합니다.
request_id, correlation_id, draft 전체와 그 안의 definition/source/mapping/fixture를 확인합니다. 실제 API 토큰은 넣지 않습니다.helper-first-01은 새 로그 폴더입니다. 첫 명령만 실행하고 결과를 읽습니다.status, reason, lifecycle_stage, next_required_actions, 후보 지문을 확인합니다. next_action이라는 단일 필드가 있다고 가정하지 않습니다. 이 CLI는 타입 거부 결과를 출력하면서 종료 코드 0일 수 있으므로 `$LASTEXITCODE`/종료 코드만으로 다음 단계에 가지 않습니다.DENIED, 구현 필요, 권한 필요 또는 모르는 상태면 해당 결과를 보존하고 다음 조치를 읽습니다. 첫 연습에 r2-submit은 필요하지 않습니다. 요청을 수정할 때는 새 사본·새 로그 폴더를 사용합니다.helper_exe="/absolute/path/packr-integration-helper"
helper_request="/absolute/path/request.json"
helper_logs="$HOME/helper-first-01"
test -f "$helper_exe" && test -f "$helper_request" || exit 1
test ! -e "$helper_logs" || exit 1
mkdir "$helper_logs" || exit 1
"$helper_exe" r2-discover "$helper_request" > "$helper_logs/01-discover.json" 2> "$helper_logs/01-discover.stderr.txt"
helper_exit=$?
cat "$helper_logs/01-discover.json"
cat "$helper_logs/01-discover.stderr.txt"
# helper_exit와 JSON의 status/reason을 별도로 기록합니다.$helperExe = 'C:\absolute\path\packr-integration-helper.exe'
$helperRequest = 'C:\absolute\path\request.json'
$helperLogs = Join-Path $env:USERPROFILE 'helper-first-01'
if (Test-Path -LiteralPath $helperLogs) { throw 'Choose a fresh log folder' }
New-Item -ItemType Directory -Path $helperLogs -ErrorAction Stop | Out-Null
& $helperExe r2-discover $helperRequest 2> (Join-Path $helperLogs '01-discover.stderr.txt') | Out-File -LiteralPath (Join-Path $helperLogs '01-discover.json') -Encoding utf8
$helperExit = $LASTEXITCODE
Get-Content -LiteralPath (Join-Path $helperLogs '01-discover.json') -Raw -Encoding UTF8
Get-Content -LiteralPath (Join-Path $helperLogs '01-discover.stderr.txt')위 파일은 로그이며 그 자체를 새 요청으로 제출하지 않습니다. 후속 결과도 02-normalize, 03-validate, 04-prepare, 05-status처럼 구분해 저장합니다. 예상 연습 결과는 단계 판정과 후보 준비 기록이며 실제 API 연결·등록·Work가 아닙니다. 게시된 대상이 없다면 TARGET_NOT_PROVIDED는 담당자의 진행 기록으로 쓰고, 제품이 실제 출력한 reason과 구분하십시오. 아래 IH-1/2에서 거부와 인계 예를 확인합니다.
| 입력 | 담당자 | 사용 전 확인 |
|---|---|---|
| 소스 Document 또는 제한된 MCP 기록 | 고객 연동 담당자 | 지원 리비전·데이터 최소화 |
| 대상 Contract·기능·어댑터 리비전 | 공급자가 게시한 릴리스 패키지 | 정확한 식별자·호환성 |
| 요청 envelope | 릴리스 절차 | 요청·상관관계 신원과 완전한 draft |
| 등록 승인 | 권한 있는 제품 담당자 | 정확한 후보 지문·목적·고객·설치 범위 |
status.read의 입력 service 문자열과 출력 service·healthy. 실제 토큰이나 고객 응답은 문서에 붙여넣지 않습니다.TARGET_NOT_PROVIDED로 기록하십시오. 비슷해 보이는 표시 이름은 유효한 대상 매칭이 아닙니다.r2-discover, r2-normalize, r2-validate, r2-prepare, r2-status를 제공한다면 request.json으로 이 순서대로 진행합니다. 매 단계의 상태·사유·다음 조치를 보존하십시오.REQUIRES_IMPLEMENTATION scaffold에는 실제 어댑터 구현이 추가로 필요합니다.r2-submit을 사용합니다. 신뢰된 등록 전송 경로가 없는 CLI는 REQUIRES_AUTHORITY를 반환합니다. 정식 등록에는 정확한 후보·목적에 묶인 별도의 유효한 승인이 필요합니다. 등록되어도 Work 바인딩·승인이 자동으로 생기지 않습니다.전달 목록에 Helper 실행 파일과 버전에 맞는 완전한 request.json이 있다면 아래 단계를 하나씩 실행합니다. 각 JSON에서 status·reason·단계·다음 조치를 읽고 진행하십시오. 셸 종료 코드만으로 통과를 판단하지 않습니다. 요청에는 위의 status.read 설명 대신 릴리스가 제공한 지원 대상 참조가 필요합니다.
packr-integration-helper r2-discover request.json > 01-discover.json
packr-integration-helper r2-normalize request.json > 02-normalize.json
packr-integration-helper r2-validate request.json > 03-validate.json
packr-integration-helper r2-prepare request.json > 04-prepare.json
packr-integration-helper r2-status request.json > 05-status.json판정 예시: 발견 결과가 status=PASSED, reason=NONE, lifecycle_stage=DISCOVERED라도 정규화가 DENIED / CONTRACT_INCOMPATIBLE을 반환할 수 있습니다. 두 결과를 모두 보존하고 prepare 전에 멈춰 게시된 올바른 대상을 확보하십시오. 앞 단계가 거부됐는데 다섯 명령을 무조건 연속 실행하지 마십시오.
합성 status.read 문서에 대해 r2-discover가 status=PASSED, reason=NONE, lifecycle_stage=DISCOVERED를 반환합니다. 게시된 대상이 묶이지 않아 r2-normalize는 DENIED / CONTRACT_INCOMPATIBLE을 반환합니다. 소스 문서 구조는 받아들여졌지만 연동은 준비되지 않았습니다. 공급자 또는 연동 담당자에게 정확한 대상 참조를 요청하십시오. Contract ID를 임의로 만들거나 표시 이름만 맞춰 통과시키지 않습니다.
검증된 후보의 제출 결과가 REQUIRES_AUTHORITY입니다. 후보 지문과 요청한 승인 목적을 기록합니다. 권한 담당자가 정확한 후보를 native 등록 경로에서 평가해야 합니다. CLI 반복 실행이나 옵션 추가로 준비 상태를 등록으로 바꿀 수 없습니다.
입력·대상 리비전, 요청 신원, 단계별 타입 결과, 후보 지문, 미해결 문제와 다음 담당자가 기록되면 준비 단계가 끝납니다. 실제 제공자 연결·등록·바인딩·승인된 Work·영수증에는 각각 별도 증거가 필요합니다. 소스 선언은 Contract & Document를 참고하십시오.
예를 들어 서비스 상태를 읽는 소스 Document와 공급자가 게시한 대상 참조를 연결합니다. 첫 시도는 합성 데이터로 준비하고 단계마다 상태·사유·다음 조치를 읽습니다. 정규화가 거부되면 그 뒤 prepare·submit으로 넘기지 않습니다. 입력을 고쳤다면 요청 리비전과 지문을 새로 기록하여 이전 거부와 새 결과를 구별합니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| 발견 PASS 뒤 정규화 거부 | 소스 파싱 결과와 정확한 대상 Contract·어댑터 리비전 | 게시된 호환 대상을 확인하고 변경된 요청을 처음 영향을 받는 단계부터 검증합니다. |
| 필드 매핑이 일부만 채워짐 | required 목록·타입·지원 변환과 누락된 필드 | 미지원 변환은 구현 필요 상태로 보존하고 지원 범위의 선언만 수정합니다. |
| prepare 결과는 있으나 등록은 없음 | 후보 지문·제출 경로·정확한 승인 목적 | 준비 완료와 등록 대기를 구분하고 승인된 등록 담당자에게 인계합니다. |
인계 항목: 전체 요청 지문, 소스·대상 리비전, 요청·상관관계 ID, 각 단계의 타입 결과, 후보 지문, scaffold의 구현 필요 여부, 제출·등록 상태와 다음 담당자. 실제 API 연결 시험은 준비 결과와 구분합니다.
다음은 지원되는 입력·명령·권한 경계를 바탕으로 구성한 교육용 사례입니다. 제품의 실제 상태·사유와 함께 읽고, 자신의 실행 기록 없이 예시의 결과를 성공 이력으로 사용하지 않습니다. 온라인과 오프라인 환경 모두에 적용되는 확인 항목과 선택 의존성 경로에만 해당하는 항목을 구별합니다.
상황: 합성 소스 Document의 read_quality는 발견됐지만 전체 요청은 다른 Contract·어댑터 리비전을 가리킵니다. 발견 PASS 뒤 prepare까지 무조건 실행하면 첫 거부를 놓칩니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 해당 요청이 정규화·의미 검증을 통과한 뒤에만 후보 준비 결과를 확인합니다.
해결되지 않았을 때: 게시된 대상이 없으면 ID·스키마 지문을 만들어 맞추지 않고 대상 미제공으로 인계합니다.
상황: 후보 준비 결과가 만들어졌지만 CLI 제출은 REQUIRES_AUTHORITY를 반환합니다. 로컬 후보 파일을 서버 등록 위치에 복사하면 해결되는 문제가 아닙니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 등록 담당자의 실제 결과를 확인한 경우에만 등록으로 기록하고 Work는 따로 확인합니다.
해결되지 않았을 때: CLI 반복 제출이나 자격 증명 복사로 준비 상태를 등록 상태로 바꾸지 않습니다.
목표: 아래의 완전한 소스 Document를 quality-document.json으로 저장하고 문법을 확인합니다. 이 파일은 소스 선언만 담습니다. SDK/Helper의 전체 요청이나 GAPE 매니페스트가 아닙니다.
{부터 마지막 }까지만 복사합니다. 코드 울타리와 json 표시는 파일에 넣지 않습니다.quality-document.json, 인코딩을 UTF-8로 저장합니다. Word/서식 문서 형식이 아닌 일반 텍스트를 사용하고 .json.txt가 붙지 않았는지 확인합니다. 저장한 파일을 다시 열어 operations.read_quality가 있는지 읽습니다.properties의 resource/component/score와 각 required 목록을 대조합니다. 이 검토와 JSON 파싱은 제품의 의미 검증을 대신하지 않습니다.draft.source에 문서 객체를 넣습니다. 파일 경로 문자열이나 JSON을 이중 인코딩한 문자열을 넣지 않습니다. 대상 참조·매핑·fixture는 제공된 요청에서 별도로 확인하고 Helper 첫 준비 실습으로 이동합니다.document_path="/absolute/path/quality-document.json"
python3 -m json.tool "$document_path"$documentPath = 'C:\absolute\path\quality-document.json'
Get-Content -LiteralPath $documentPath -Raw -Encoding UTF8 -ErrorAction Stop | ConvertFrom-Json -ErrorAction Stop | Format-List
Get-FileHash -LiteralPath $documentPath -Algorithm SHA256기대 결과: JSON 파서는 객체를 표시하고 파싱 오류를 내지 않습니다. 문법 오류라면 줄/열과 쉼표·따옴표·중괄호를 확인합니다. 이 파서는 중복 키나 제품 미지원 스키마 전체를 판정하지 않습니다. 문법 확인 완료 / Helper 의미 검증 미실행으로 기록하고, 실제 Helper 결과가 나왔을 때 별도 추가합니다.
작은 수정 연습: 새 사본에서 입력 이름을 바꾸려면 properties, required, 요청의 명시적 매핑과 지원 대상 영향을 함께 검토합니다. 처음에는 제공된 원본으로 한 번 확인한 뒤 바꾸십시오. DOC-1/2 사례는 이름 불일치와 전체 요청 누락을 다룹니다.
| 산출물 | 예시 필드 | 의미 |
|---|---|---|
| 계획 요약 | “서비스 상태 한 건 읽기” | 사람이 읽는 목표; 파서 입력이 아님 |
| 소스 Document | document_kind: CUSTOM_API | 소스 작업과 입출력 형태의 선언 |
| 대상 참조 | contract_id, contract_revision, adapter_id | 지원되는 공급자 릴리스에서 가져온 값 |
| 완전한 요청 envelope | request_id, correlation_id, draft | 기계 요청; draft.source에 소스 Document 포함 |
| 타입 결과 | status, reason, next_required_actions | 제품 준비 판정; 실행 권한이 아님 |
read_quality는 리소스 이름을 받아 구성요소 이름과 품질 점수를 문자열로 반환합니다. 리소스를 변경하지 않습니다.document_kind는 CUSTOM_API, protocol_revision은 지원되는 값으로 하고 operations 아래에 read_quality를 둡니다. input_schema는 필수 resource 문자열을 가진 object, output_schema는 필수 component와 score 문자열을 가진 object로 선언합니다. 문장 속 필드 이름은 설명이며 완전한 JSON 파일이 아니므로 구두점과 중첩은 아래의 완전한 예시를 사용하십시오.required 목록을 일치시킵니다. 제한된 예시는 지원되는 기본 자료형만 받습니다. 중첩 object·배열·추가 JSON Schema 키워드·중복 키·주석이 묵시적으로 허용되지는 않습니다. 자격 증명이나 실제 운영 응답을 schema의 기본값·설명에 넣지 않습니다.아래 CUSTOM_API 예시는 읽기 전용 read_quality 작업을 선언합니다. 실제 API를 호출하거나 제품 Contract를 만들지 않습니다. JSON을 quality-document.json으로 저장하고 해당 릴리스가 제공한 완전한 요청의 draft.source에 넣은 뒤 호환되는 지원 대상 참조를 지정하십시오.
{
"document_kind": "CUSTOM_API",
"protocol_revision": "1",
"operations": {
"read_quality": {
"input_schema": {
"type": "object",
"properties": {"resource": {"type": "string"}},
"required": ["resource"]
},
"output_schema": {
"type": "object",
"properties": {
"component": {"type": "string"},
"score": {"type": "string"}
},
"required": ["component", "score"]
}
}
}
}python3 -m json.tool quality-document.json > /dev/null
sha256sum quality-document.json첫 명령은 JSON 문법만 확인합니다. macOS는 shasum -a 256 quality-document.json, Windows PowerShell은 Get-FileHash -Algorithm SHA256 quality-document.json을 사용하십시오. 완전한 envelope·대상·매핑의 적합성은 Helper의 타입 판정으로 별도 확인해야 합니다.
소스 Document가 파싱되고 발견 단계에서 read_quality가 받아들여졌지만 요청은 다른 릴리스의 어댑터 리비전을 참조합니다. 정규화 단계는 대상을 거부합니다. 릴리스 매니페스트와 공급자 참조를 대조하고, 승인된 호환 값이 실제로 있을 때만 새 요청의 대상 리비전을 바로잡습니다. 소스 작업 이름만 바꿔 우연히 맞추면 불일치를 숨기게 됩니다.
편집자가 입력 속성 resource를 resource_name으로 바꾸고 required: ["resource"]는 그대로 둡니다. JSON 문법은 유효하지만 선언 의미가 일치하지 않습니다. 속성을 되돌리거나 required 목록을 고친 뒤 같은 로컬 파서와 Helper 검증을 다시 수행하십시오. 문법 검사 통과를 Contract 검증으로 해석하지 않습니다.
소스 Document의 리비전·지문, 게시된 대상 참조, 요청 신원, 타입이 정해진 Helper 결과와 남은 승인 담당자를 보관합니다. 실제 인증·등록·런타임 증거 전에는 “연결됨”, Work와 영수증 전에는 “실행됨”이라고 표시하지 않습니다.
예를 들어 읽기 전용 품질 조회에 출력 필드 하나를 추가하려고 합니다. 사람용 목표, 소스 스키마, 대상 참조와 전체 요청 envelope를 각각 구분합니다. 출력 속성과 required 목록, 실제 합성 응답, 명시적 매핑을 함께 검토하고 지원되지 않는 스키마 확장은 그대로 별도 구현 요구로 남깁니다. 제품이 발행한 Contract를 고객 문서로 대체하지 않습니다.
| 증상 또는 상황 | 분리해서 확인할 사실 | 조치와 다시 확인할 결과 |
|---|---|---|
| JSON 문법은 유효하지만 의미 검증 거부 | 속성·required 일치, 필드 자료형과 지원 스키마 범위 | 문법 검사와 의미 검증을 각각 기록하고 정확히 거부된 선언을 수정합니다. |
| 소스 필드 변경 뒤 매핑 지문이 맞지 않음 | 소스 문서 리비전·스키마 지문·매핑 대상 | 릴리스가 제공한 정규화·검증 절차로 새 요청을 준비합니다. 지문만 임의로 고치지 않습니다. |
| 문서에 실제 토큰이나 고객 응답이 들어감 | 기본값·설명·예제·첨부 파일의 민감 정보 | 공유를 멈추고 합성 자료로 새 입력을 작성합니다. 노출 대응은 조직 절차를 따릅니다. |
인계 항목: 소스 Document 리비전·지문, 요청 envelope 리비전, 게시된 Contract·어댑터 참조, 매핑 규칙, 합성 입력·예상 출력, 문법·의미 검증 결과와 변경 이유. 실제 값이 없는 템플릿과 실행 가능한 전체 요청을 구분합니다.
다음은 지원되는 입력·명령·권한 경계를 바탕으로 구성한 교육용 사례입니다. 제품의 실제 상태·사유와 함께 읽고, 자신의 실행 기록 없이 예시의 결과를 성공 이력으로 사용하지 않습니다. 온라인과 오프라인 환경 모두에 적용되는 확인 항목과 선택 의존성 경로에만 해당하는 항목을 구별합니다.
상황: 입력 속성 resource를 resource_name으로 바꿨지만 required에는 resource가 남아 있습니다. JSON 문법 검사는 통과해도 선언의 의미는 일치하지 않습니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 문법과 의미 검증이 모두 확인된 새 요청을 후속 준비에 사용합니다.
해결되지 않았을 때: 지원되지 않는 스키마 확장은 임의로 허용하지 않고 추가 구현 요구로 남깁니다.
상황: 사용자는 안내서의 짧은 CUSTOM_API 예시만 저장해 Helper 또는 SDK 입력으로 보냅니다. 소스 설명은 맞지만 요청·대상·매핑·합성 응답을 포함한 전체 envelope는 아닙니다.
관찰을 이렇게 나눠 읽습니다.
확인·조치 순서:
다음 단계로 돌아갈 조건: 완전한 요청과 게시된 대상이 지원 범위 안에서 검증됐을 때 후보 준비로 진행합니다.
해결되지 않았을 때: 필수 대상 참조가 없으면 설명용 값을 실제 식별자로 추측해 사용하지 않습니다.
Navigate: Installation and first use · Post-install tools · Use cases · Troubleshooting cases
You do not need to install every tool in sequence. Choose one goal below. Only a browser is needed to read this page. SDK synthetic exercises do not require an appliance account, customer activation or a live API connection.
| Today's goal | What you need | Follow this sequence | Exercise completion |
|---|---|---|---|
| Run SDK examples on my PC | Supported OS SDK, selected Rust route, native prerequisites | SDK extraction → analysis → Custom/MCP examples → inspect results | Four files in each fresh candidate and five stage records |
| Connect to an existing company VM | Compatible GUI, administrator's connection and device enrollment instructions | General-user route in the GUI/headless use case | Authenticated matching customer/installation; Work is separate |
| Install the first company VM | Deployment authority, exact image, compatibility and initial admin procedure | Sections 1–6 of this guide → first Work use case | Ready service through authorized Work and receipt |
| Prepare integration declarations/candidates | Synthetic inputs, supplied target references, required tools | Document → Helper, or SDK Engine | Separate syntax, semantic and preparation results |
| Review architecture | Approved snapshot/viewer, or GAPE executable and manifest | GAPE first-observation exercise | Validated observation at the same revision, with limits |
| Prepare a Pack candidate | Supplied Builder, connection/role, supported Pack/Contract | Builder first-candidate exercise | Candidate, validation and handover record |
Find each tool in the post-install tool index. Install a tool when its step needs it. Live connection, registration and Work require the release's separately authorized route.
arm64/aarch64 and x86_64/AMD64 require different packages. Current recorded SDK combinations are macOS ARM64, Debian 13 AMD64 and Windows AMD64; another Linux distribution or Windows ARM is not the same combination.# macOS Terminal only
sw_vers
uname -m
# Linux terminal only
cat /etc/os-release
uname -m# Windows PowerShell
$PSVersionTable.PSVersion
(Get-CimInstance Win32_OperatingSystem).Caption
(Get-CimInstance Win32_ComputerSystem).SystemType| Supplied file | Action | Confirmation |
|---|---|---|
Portable SDK .tar.gz or .zip | Extract into the fresh private SDK directory; dependencies are separate | Main bin/docs/examples; set's DEPENDENCIES.json/FILES.json |
Client .app, .dmg, .pkg, .msi, .exe, .deb, etc. | Follow the actual inventory's format and install instructions | Exact application version and launch path; connection follows |
| VM image or image reference | Use the supported virtualization/cloud release procedure | Image ID, fresh instance and product readiness |
| JSON Document/request/manifest | Read as UTF-8; confirm kind and version | Distinguish a source excerpt, complete request and GAPE manifest |
Generic .pkg/.exe/.deb names later in this guide only illustrate hashing. Do not look for the SDK under those names. In this local operator edition the current SDK packages table links the actual archives and digests. Other components need their own release inventory. Do not assume a portal, download URL or signature status exists.
bash examples in macOS Terminal/Linux shells and powershell examples in Windows PowerShell. Prompts such as $ or PS C:\> are not part of commands./absolute/path/..., C:\absolute\path\... and bracketed fields with your actual supplied values first. Keep the quotes, especially for spaces. Do not interchange Unix ./bin/... and Windows .\bin\... paths.install_root and $installRoot exist only in the shell where you initialized them. A new terminal requires the resume instructions below. Check folder spelling, case and accidental .json.txt extensions.> or Out-File may write UTF-16. Use a UTF-8 editor for input JSON and check its save encoding.VibePackr-SDK-install-01/
sdk/ extracted program; bin, docs, examples
dependencies/ optional set; retain as verification input
inputs-02/ editable complete input.json copy
runs/
custom-01/ created after the first successful run
mcp-01/ separate MCP result
custom-api-candidate-02/ new result for modified inputThis is a layout illustration; SDK sections contain creation commands. Prepare the runs parent, then let the SDK create final candidate directories such as custom-01. GAPE also uses a fresh output path. Helper log directories and product-managed Builder candidates are separate.
Record installation, connection, candidate generation and real Work separately. At the end of each exercise save the date, tool version/path, input digest, actual command or UI action, result location, last successful step and next owner. Troubleshooting starts with this record.
| Result | Inspect directly | Next action |
|---|---|---|
| SDK candidate | adapter.rs, libadapter.rlib, README.md, manifest.json and stage records | Edit an input copy or use separately authorized integration |
| Helper preparation | Per-stage status/reason/next_required_actions and candidate digest | Resolve the refusal or hand over for registration |
| GAPE observation | Snapshot ID, revision, validate result, disclosure class | Review relationships inside the approved scope |
| Document | Complete JSON, syntax result, target/mapping references | Helper semantic validation |
| Builder candidate | Candidate ID/revision, validation, approval and entitlement status | Approval handover; Work only when authorized |
| GUI connection/Work | Matching customer/installation, authentication, and any Work's result/receipt | Permitted work or administrator support |
On resuming, preserve archives and results. The SDK guide shows how to restore path variables; select absolute input/output paths again for other tools too. If execution is uncertain, query the existing Work/request ID before acting; a new submission is not a way to resolve a possibly duplicated operation. Use the troubleshooting index for the blocked step.
This guide helps customer operators proceed from receiving files to checking the first Work result. Product status and the signed manifest for the exact release are authoritative. Examples and generic operating-system commands do not override product refusals or release instructions.
setup.vibepackr.com. For offline setup, open the delivered Start_Setup.html. Confirm that the portal and offline page name the same release and component inventory. Distinguish a portal outage from an appliance problem.shasum -a 256 filename on macOS, sha256sum filename on Linux, and Get-FileHash -Algorithm SHA256 filename in Windows PowerShell. Follow your shell's quoting rules for filenames with spaces.Continue when: the exact delivered files have matching signatures and digests and the target environment is supported.
Use the filename and expected SHA-256 from this release's signed inventory. These are read-only operating-system commands. Replace the example filename with the received file and complete the release's signature verification separately. Do not use a digest copied from an older guide.
# macOS Terminal
shasum -a 256 "VibePackr-installer-for-this-platform.pkg"
# Linux shell
sha256sum "VibePackr-installer-for-this-platform.deb"# Windows PowerShell
Get-FileHash -Algorithm SHA256 "VibePackr-installer-for-this-platform.exe"Example decision: the manifest says A1... while the local command prints B2.... Stop before installation, retain the exact filename and two digests, and ask the delivery owner for a corrected signed file. Renaming the file does not change its digest.
Running in a cloud console means the VM is powered on. Confirm product service readiness separately in product status or the release diagnostic. During initialization, follow the official wait and status procedure instead of repeatedly attempting connections.Continue when: first boot has finished, the product service reports ready, and the unique installation identity and authenticated access route are confirmed.
Permission denied occurs, do not repair ownership, permissions, or lock files by hand. Send the exact error through the release support route.Continue when: the product confirms the administrator role, allowed scope, and validity period for this installation.
Continue when: the product shows a validated binding for the supported runtime and model on this installation.
For the next tasks after connection, use the post-install tools guide. It explains where to install and how to use Builder, GAPE, Integration Helper, SDK Engine, and Contract & Document. It also includes the Non-SI architecture diagram.
Continue when: the product confirms authentication, installation identity, and permitted functions for each client route you plan to use.
bound runtime or responsive model can exist without a Work call.not checked separately from failure, but do not mark it complete.| Item | Evidence to inspect |
|---|---|
| Delivered files | Signatures, digests, and release ID |
| Appliance | New installation identity and service readiness |
| Administrator | Role, scope, and validity period for this installation |
| Client | Authenticated connection and matching customer and installation identities |
| Runtime | Validated binding for the current model |
| Work | Authorized execution, final status, validated result, and receipt |
After installation, start at the use-case index to follow the work in order. New installation, runtime change and rebinding, separate PackrGUI and headless routes, Builder candidates, and first Work each describe owners, prerequisites, evidence, and failure branches. Cases A–J below are symptom-driven troubleshooting guides.
The following situations may arise during installation and use. Exact product messages can vary by version and platform. Perform only the safe action shown here; pass identity, authority, and state-integrity failures to the support route. Open each linked case for a worked example, ordered checks, outcome branches, sample support request, and completion and stop conditions. If you are unsure which case fits, start with the troubleshooting index.
Permission denied or a storage access error.detected or refused.BOUND.Prepared in Builder is not execution permission.The installer should record the release and image IDs, the exact files and digests installed on each platform, supported-environment checks, initial administrator scope, authenticated connections, and current runtime binding. For any Work that was run, keep its final state, result validation, and receipt location with the same installation and Work ID.
Check macOS, Windows and Linux clients and the headless route separately. A connection on one platform does not verify installation, authentication or permissions on another. If a screen or command differs from the example here, follow the instructions supplied with your release and include the product's actual message and your steps in a support request. Exclude customer data and secrets.
Online operation uses approved network/provider routes; closed on-premises operation provisions required installation assets, models and documentation before transfer. This guide fixes neither as the product default. The optional SDK Rust dependency set prepares SDK adapter-build Rust coverage; it does not replace appliance images, model weights, provider credentials or all native OS development tools.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Appliance | Matching release image, service readiness and unique installation identity | Use Case 1 for first install, Case A for readiness, Case J for earlier-state residue. |
| PackrGUI/headless | Per-route platform file, authentication and matching installation ID | Validate each route with Use Case 3; classify connection issues with Case C. |
| Builder/additional Packs | Exact candidate, validation, approval, entitlement and preconditions | Check supported Packs first; use Case 4 for a candidate, Case H for refusal and Use Case 5 for execution. |
| GAPE | Approved manifest, source revision and disclosure class | Review the selected revision; unobserved dynamic behavior requires separate evidence. |
| Integration Helper/source Document | Full request, published targets, mappings and typed stage decisions | Separate parsing, discovery, normalization and preparation; hand over only through a supplied registration route. |
| SDK Engine | OS, compiler, optional dependencies and input/output digests | Choose an installed-toolchain or optional-dependency route and record its distinct validation scope. |
After a client update recheck that client’s connection, authentication and installation identity. After a runtime change recheck fresh observation, validation and binding. After a Pack change recheck exact version, trust, current entitlement and preconditions. Retain the previous records and recovery target. If something changes unexpectedly, record the first differing observation and return to that component’s procedure.
Additional Packs use files and registration procedures appropriate to the supplied release, customer and installation scope. Copying a folder or renaming a candidate does not replace registration/approval. First application requires the approved plan, postcondition validation and receipt. Removal/rollback follows that Pack’s declared recovery procedure and current authority.
The same symptom can require different actions at different stages. Choose the last step you directly confirmed below. A failed step does not require repeating the entire installation or deleting earlier results.
| Current situation | Check first | Continue at |
|---|---|---|
| A linked file is missing | Whether only the HTML was moved; retained relative folders and supplied inventory | Request the exact missing path from delivery support; do not guess URLs |
| command not found | Working directory, absolute executable path, OS ./ or .\ form | Tool's first-exercise path binding; confirm file before changing PATH |
| No such file/path not found | Nested extraction folder, quoted spaces, .json.txt, restored variables | Install root/input-copy preparation; distinguish from product validation |
| App will not open/DLL or library warning | OS/CPU, bundled runtime/resources, exact warning/security status | GUI launch or release package guide; do not begin with network changes |
| JSON parsing error | UTF-8, complete object, quotes/commas, excerpt versus full request | Document DOC-1/2 or SDK-3 |
| SDK native/dependency refusal | Selected route, main/set OS and digests, native prerequisites | SDK-1/2 and actual failed stage |
| Output directory exists | Previous result, failed stage and selected path | Fresh output name; preserve originals |
| VM powered on/service not ready | Image ID, first boot and product readiness | Case A |
| Endpoint/identity warning or another organization | Expected endpoint/installation versus actual display | B/J; verify before changing trust |
| Timeout/login/enrollment/permission refusal | Readiness → network → authentication → role/scope | C/D/E |
| Model missing or not running | Discovery, validation, binding, resources and real invocation | F/G |
| Candidate/result exists but no execution/receipt | Candidate validation, approval, entitlement, Work/receipt separately | H/I and tool preparation results |
This is a worksheet. Replace brackets with actual observations; write unconfirmed for unknown values. Do not invent product error codes or success timestamps.
Goal: [e.g. first SDK Custom synthetic candidate]
OS/CPU and tool version: [actual observations]
Selected route: [installed-toolchain run / supplied-set run-offline / GUI, etc.]
Last success: [e.g. analyze actually confirmed]
Failed step/time: [actual stage, local timestamp and timezone]
Observation: [actual status/reason or OS error; redact secrets]
Input/package reference: [version and SHA-256; no customer contents]
Earlier results: [present/absent; distinguish this attempt]
Next check requested: [e.g. approved native prerequisites]Do not send raw full logs, customer responses, keys, tokens or profile contents in bulk. Share only redacted minimal messages/identifiers through the organization's support route. After resolution, recheck the first failed step and affected outputs, then continue.
Do not collapse every problem into “installation failed.” Record the last state you actually confirmed. This reduces unnecessary reinstalls and permission changes.
| Last confirmed state | Check next | Case |
|---|---|---|
| Files received but unverified | Signatures, digests, compatibility in main Section 1 | Installation and first-use guide |
| VM running; product readiness unknown | First boot and service readiness | A: Service readiness |
| Host identity warning | Stop before independent identity proof | B: Host identity |
| Connection or login failure | Separate reachability and authentication | C: Connection and auth |
| Administrator enrollment refused | Interactive enrollment and result | D: Administrator enrollment |
| Access refused after enrollment | Separate role, scope, and storage access | E: Administrator store |
| Runtime found; no binding | Fresh observation, validation, and scope | F: Binding |
| Local model startup or offline failure | Supported resources, local model, network | G: Local model |
| Builder candidate cannot run | Separate validation, approval, entitlement | H: Pack candidate |
| Binding exists; no Work result | Separate submission, execution, result, receipt | I: Work receipt |
| New VM shows prior-user residue | Stop use and check image origin | J: Image residue |
“I deployed a new VM for release [ID]. The VM runs, but the product is not ready. I have not enrolled an administrator or started Work. The first message was [verbatim] at [time with zone].” Start with A. Even if a client connection error appears at the same time, do not change authentication settings under C before product readiness is proven.
Conversely, if product readiness and network reachability are confirmed but login alone is refused, use C for authentication. If only a binding screen exists and there is no Work receipt, use I. This order does not prove a root cause. It prevents declaring an unproven later stage successful.
Stop self-service for a signature or file-digest mismatch, unexpected host identity, different customer or installation ID, suspected privilege expansion, earlier-user data, or state-integrity warning. Collect only the minimum case-specific support evidence. Do not put passwords, tokens, private keys, passkey responses, customer data, or full logs in an ordinary support request.
Online operation uses approved network/provider routes; closed on-premises operation provisions required installation assets, models and documentation before transfer. This guide fixes neither as the product default. The optional SDK Rust dependency set prepares SDK adapter-build Rust coverage; it does not replace appliance images, model weights, provider credentials or all native OS development tools.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Appliance | Matching release image, service readiness and unique installation identity | Use Case 1 for first install, Case A for readiness, Case J for earlier-state residue. |
| PackrGUI/headless | Per-route platform file, authentication and matching installation ID | Validate each route with Use Case 3; classify connection issues with Case C. |
| Builder/additional Packs | Exact candidate, validation, approval, entitlement and preconditions | Check supported Packs first; use Case 4 for a candidate, Case H for refusal and Use Case 5 for execution. |
Example support handover: release/component/OS, time and timezone, last confirmed stage, first refusal, performed change, current result and next owner. Keep unconfirmed, refused, waiting, failed and completed states distinct. Exclude secrets and customer content.
A broad issue category can contain different symptoms and remedies. Follow the example IDs below through situation, observation, action and resumption criteria. They are teaching scenarios; actual incident histories require separate evidence.
| Case | First example | Second example | Third example |
|---|---|---|---|
| A | A-1 The VM is running while first boot is still in progress | A-2 A process exists but required initialization fails | A-3 Yesterday’s readiness screenshot is healthy but today’s connection fails |
| B | B-1 Host-key warning after a replacement VM reuses an address | B-2 Distinguish a stale saved endpoint from the intended server | B-3 The host is said to be unchanged but its key changes again |
| C | C-1 Separate a connection timeout from product unreadiness | C-2 The server responds but the session has expired | C-3 GUI works while the automation service cannot connect |
| D | D-1 Administrator confirmation is refused through a remote pipe | D-2 An OS administrator logs in without a product administrator role | D-3 Enrollment completes with an unexpected customer/runtime scope |
| E | E-1 The first status read fails after successful enrollment | E-2 Reads work but out-of-scope operations are refused | E-3 Store access first fails after an update |
| F | F-1 Model files exist without an observed runtime | F-2 An alias changes while the old binding remains visible | F-3 Several models are discovered and the intended target is ambiguous |
| G | G-1 The model exits during loading but memory shortage is unconfirmed | G-2 A closed network waits for model files that were not provisioned | G-3 Separate an online metadata failure from local operation |
| H | H-1 Candidate structure validates while approval is pending | H-2 Approval exists but entitlement belongs to another installation | H-3 The candidate changes after approval |
| I | I-1 A model test responds but no Work ID exists | I-2 The submitted Work result is delayed | I-3 A report exists but its receipt refers to another installation or Work |
| J | J-1 A new VM’s first setup shows an earlier organization | J-2 Two different VMs show the same installation identity | J-3 Earlier state reappears in a replacement VM |
For SDK, Builder, GAPE, Integration Helper and source Document issues, also use the detailed examples in the post-install tool guides. Do not transfer preparation success between tools or to actual Work.
| Goal | Owner and prerequisite | Use case | Final evidence to check |
|---|---|---|---|
| Install a new VM and enroll its first administrator | Installer, exact signed image | 1. New installation | New installation identity, service readiness, administrator scope |
| Continue after changing a local model or runtime | Runtime administrator, existing approved scope | 2. Automatic rebinding | New Core binding after the change |
| Use GUI and automation clients | Authentication owner for each route | 3. GUI and headless | Per-route authentication, installation identity, and authority |
| Prepare a Pack candidate in Builder | Builder operator and separate approval owner | 4. Pack candidate | Candidate validation separated from approval |
| Execute and close the first Work | Approved Pack and Work authority | 5. First Work | Final state, validated result, matching receipt |
Each use case follows situation → prerequisites → steps → failure branches → completion evidence. If several symptoms appear, start at the last proven state. For symptom-specific resolution, use the case index. Include only minimal release, installation, and verbatim error details in support requests; omit customer content and secrets.
Online operation uses approved network/provider routes; closed on-premises operation provisions required installation assets, models and documentation before transfer. This guide fixes neither as the product default. The optional SDK Rust dependency set prepares SDK adapter-build Rust coverage; it does not replace appliance images, model weights, provider credentials or all native OS development tools.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Appliance | Matching release image, service readiness and unique installation identity | Use Case 1 for first install, Case A for readiness, Case J for earlier-state residue. |
| PackrGUI/headless | Per-route platform file, authentication and matching installation ID | Validate each route with Use Case 3; classify connection issues with Case C. |
| Builder/additional Packs | Exact candidate, validation, approval, entitlement and preconditions | Check supported Packs first; use Case 4 for a candidate, Case H for refusal and Use Case 5 for execution. |
Example support handover: release/component/OS, time and timezone, last confirmed stage, first refusal, performed change, current result and next owner. Keep unconfirmed, refused, waiting, failed and completed states distinct. Exclude secrets and customer content.
Start with each guide's first exercise. CLI examples select an absolute executable path, so a global PATH change is unnecessary. Launch GUI apps using the supplied installation procedure and release-specific screen names; do not invent menus or download URLs.
| Tool | Required exercise files/state | First result | What remains possible without them |
|---|---|---|---|
| SDK | Complete supplied example + selected toolchain/native prerequisites | Analyze result → Custom/MCP candidates | Read the Document and prepare a synthetic input copy |
| Document | Complete source JSON in this guide, UTF-8 editor/syntax checker | Valid syntax and matching required fields | Edit/review; Helper semantics are separate |
| Helper | Release executable + complete request.json + published target | Discovery, then per-stage typed results | Review declarations; no target means preparation is incomplete |
| GAPE | Approved snapshot/viewer or executable + approved manifest | Snapshot and validation at the selected revision | Review a supplied safe viewer projection |
| Builder | Supplied app + connection/role + supported candidate input | Saved candidate ID/revision and validation result | Describe goals, I/O and rollback; do not assume validation PASS |
| GUI/headless | Compatible client + administrator's per-route connection material | Authenticated matching installation | Prepare client files; do not record server connection complete |
The optional SDK Rust set is not an installer for other applications. Rust installation is not required for every tool. Users checking an existing installation do not create another VM or repeat initial administrator enrollment.
This diagram shows how your organization owns its environment and operations, while integration tools help you understand, prepare and declare work and the product controls execution. Open the image in a separate tab to zoom. Check the supplied component list for tools and versions available to install.
Choose the tools you need below. Local SDK exercises and Document preparation do not require appliance installation first. Confirm each component's availability, platform, version and installer in the supplied component list. Do not substitute a file from another release for a missing tool.
| Component | Where it is used | Check before installation |
|---|---|---|
| Appliance and headless client | VM in your environment and supported command line | Image, supported environment and installation steps |
| PackrGUI and Builder | Customer workstation | Platform installer, connection address and permissions |
| GAPE and Integration Helper | Approved integration workspace | Installer, supported input and target versions |
| SDK Engine and interfaces | Customer integration workstation | Platform installer and compatible appliance version |
| Contract & Document and this guide | Integration design and offline setup | Supplied templates and document version |
| Need | Guide | Output to check | What it does not prove |
|---|---|---|---|
| Prepare a Pack candidate | Builder | Candidate identity and validation result | Approval, entitlement, or execution |
| Understand source architecture | GAPE | Revision-bound observation and limitations | Running behavior or permission |
| Plan an external integration | Integration Helper | Typed preparation status and next action | Connected provider or registered capability |
| Check a supported SDK extension path | SDK Engine and interfaces | Local candidate, five stage records and package identity from the supplied SDK | Live API connection, registration or Work authority |
| Describe an operation and its target | Contract & Document | Source document and supplier-published target reference | A new product Contract or live request |
The Non-SI installation set must let a customer reach these guides online or offline from Start_Setup.html and identify the exact installable components for the appliance, the customer's workstation platform, Builder, GAPE, Integration Helper, SDK interfaces or Engine, and Contract & Document templates. Components can be delivered in separate platform installers inside one versioned set; they must be listed with hashes, compatibility, prerequisites, and the responsible installer. The set must also explain when a component is unavailable for the specific release. A documentation link or a historical implementation is not a substitute for an installable, validated component.
Install the SDK Engine separately on your integration workstation. Check the SDK Engine guide and supplied component list for the platform installer, supported appliance version, and installation and removal steps.
If a received file does not match the supplied list or signature verification fails, stop installation and contact your supplier's support route. Install only the verified file listed for your platform.
Record the release and component versions, customer and installation identity, the exact input revision or candidate ID, the typed status and reason, the last proven step, and the expected next action. Omit private keys, credentials, customer payloads, raw prompts, and internal engineering exports. Stop when identity, signature, authority, or state integrity differs.
Online operation uses approved network/provider routes; closed on-premises operation provisions required installation assets, models and documentation before transfer. This guide fixes neither as the product default. The optional SDK Rust dependency set prepares SDK adapter-build Rust coverage; it does not replace appliance images, model weights, provider credentials or all native OS development tools.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Appliance | Matching release image, service readiness and unique installation identity | Use Case 1 for first install, Case A for readiness, Case J for earlier-state residue. |
| PackrGUI/headless | Per-route platform file, authentication and matching installation ID | Validate each route with Use Case 3; classify connection issues with Case C. |
| Builder/additional Packs | Exact candidate, validation, approval, entitlement and preconditions | Check supported Packs first; use Case 4 for a candidate, Case H for refusal and Use Case 5 for execution. |
| GAPE | Approved manifest, source revision and disclosure class | Review the selected revision; unobserved dynamic behavior requires separate evidence. |
| Integration Helper/source Document | Full request, published targets, mappings and typed stage decisions | Separate parsing, discovery, normalization and preparation; hand over only through a supplied registration route. |
| SDK Engine | OS, compiler, optional dependencies and input/output digests | Choose an installed-toolchain or optional-dependency route and record its distinct validation scope. |
After a client update recheck that client’s connection, authentication and installation identity. After a runtime change recheck fresh observation, validation and binding. After a Pack change recheck exact version, trust, current entitlement and preconditions. Retain the previous records and recovery target. If something changes unexpectedly, record the first differing observation and return to that component’s procedure.
Additional Packs use files and registration procedures appropriate to the supplied release, customer and installation scope. Copying a folder or renaming a candidate does not replace registration/approval. First application requires the approved plan, postcondition validation and receipt. Removal/rollback follows that Pack’s declared recovery procedure and current authority.
A cloud console can report Running while the appliance is still initializing. Confirm product readiness in the setup interface before connecting clients or starting Work.
You created a new appliance and the cloud console says Running. PackrGUI cannot connect, while product status says initializing or service not ready. Record the cloud and product states separately.
If this release supplies packrctl and the authorized local operating route, these read-only commands show why VM power and product readiness need separate checks. Read the returned readiness and reason fields; a nonzero health exit can represent UNKNOWN or NOT_READY and is not a reason to restart the VM blindly.
packrctl status --json
packrctl health --json| Observed result | Next action |
|---|---|
| Official first boot is still in progress | Follow the release wait and status procedure; do not start Work. |
| First boot ended but the product is not ready | Preserve the first refusal and image ID; contact support. |
| A required initialization component is reported missing | Do not add arbitrary packages to the customer VM; ask for the exact release remedy. |
| Product readiness and installation identity are confirmed | Continue to administrator enrollment. |
Assume an operator creates a VM at 10:00 and sees running in the console at 10:02, while product status remains initializing. The evidence establishes VM power only. Service readiness, administrator enrollment, and client access remain unverified. Record image ID and boot time, perform the release-defined wait and status check once, then escalate a persistent refusal. Do not repair guest packages or initialization files directly on the customer VM.
| Observation | Supported conclusion | Next action |
|---|---|---|
| VM running, no product status | Product readiness unverified | Check official readiness state |
| Product initializing | In progress, not ready for connection | Apply release wait criterion |
| Product ready | Service gate passed | Check new installation identity |
“Release ID [value], instance creation time [with zone], VM state [Running], product status [exact displayed text], first-boot stage [value], and first error [verbatim]. No customer Work was started.”
Send the minimum status output named by the release, not customer data or a full system log.
Complete: the product reports service readiness for this installation identity. Stop: an initialization gap, integrity warning, release mismatch, or repeated readiness failure appears. Do not delete recovery files, reinstall, or force-start services.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| VM power is the only confirmed state | Latest first-boot completion and product-readiness observation | Use the release wait/status procedure; do not proceed to enrollment or clients before readiness. |
| A service responds but product readiness is absent | Product readiness reason and image/release match | Retain missing-component or initialization refusal details and use release support. |
| Readiness disappears after earlier success | Last change time and the earlier readiness record | Record the transition and check current readiness; an old screenshot is not current proof. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: An installer opens the GUI as soon as a new VM powers on. The GUI times out while the first-boot view still shows initialization. Product readiness must be checked before attributing the symptom to credentials.
Read these observations separately.
Check and action sequence:
Condition for resuming: Proceed to administrator setup only when that new installation is ready and identity matches; verify GUI connection separately.
If still unresolved: If the supplied wait limit is exceeded or progress stops, retain the first error and last update time and hand over to the image/deployment owner.
Situation: The management view shows a running service process while product health remains not ready. The first error describes an unavailable required initialization component or configuration. Compare the image and product readiness before treating a restart as a fix.
Read these observations separately.
Check and action sequence:
Condition for resuming: After supported correction, recheck current image/installation identity and readiness. A restarted process alone does not close the case.
If still unresolved: With an unconfirmed cause or different image, hold enrollment/Work and hand over minimal errors and image identity.
Situation: A user assumes the server is healthy because an earlier readiness screenshot exists. Maintenance or a reboot occurred later, and today’s product status has not been read. Separate prior success from current observation.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record recovery only for the current readiness, identity and client authentication actually reconfirmed.
If still unresolved: If current status cannot be read, retain that unconfirmed stage and management-path issue instead of filling it with an old screenshot.
Image/instance provenance, creation time, current status/health, initialization stage, first refusal and last update time.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: A-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
A host key may change when an instance is replaced or reconfigured. A warning means the identity of the destination is not yet confirmed; do not disable the check to reconnect.
You reconnect to yesterday's address and SSH or the app warns that the server identity changed. You may believe it is the same VM, but it could be a new instance, a regenerated key, a wrong address, or an unverified host.
| Observed result | Next action |
|---|---|
| New instance; independent identity matches | Follow the release's new-host registration procedure. |
| Apparently same instance but key changed | Stop until the change and current key are independently verified. |
| Fingerprint, installation ID, or destination differs | Do not update trust; report it immediately. |
| No independent verification route is available | Stop rather than guessing. |
Suppose a connection tool reports a different host key at the same address. A new instance might reuse the address, or the original instance might have regenerated its key. The warning alone cannot decide which. Keep the connection stopped while comparing instance and disk identity in the management console with the current key from a release-approved independent authenticated route. If either side is unavailable, do not delete or replace saved trust.
| Established fact | Still unproven |
|---|---|
| Address is unchanged | Server is the same instance |
| Key warning appeared | Key rotation is legitimate |
| Console instance ID matches | Connection key belongs to that instance |
“Release ID [value], expected installation ID [value], target [official alias], warning time [with zone], warning type [verbatim], and instance-replacement check [result]. I did not proceed after the warning.”
Complete: current host identity, installation identity, and official destination match independent evidence. Stop: if any identity mismatch remains, do not disable host checks, ignore the warning, or arbitrarily delete or replace saved keys.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Same address, different key | Instance replacement and independently obtained current host fingerprint | Stop connecting; have the trust owner verify current identity before approved trust updates. |
| Host matches but installation ID differs | Separate host and product installation identity records | Reconfirm the intended installation; do not use another customer/installation state. |
| Two clones share identity | Image provenance and both instance creation records | Retain clone state and use Case J; do not edit keys or IDs manually. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: An operator replaces a VM and the client connects to yesterday’s address. The client warns that the server key changed. Address reuse is a possible explanation, not verified identity for the current channel.
Read these observations separately.
Check and action sequence:
Condition for resuming: Return to connection only after both current host and product installation identity match expectations.
If still unresolved: Without an independent match, hold and hand over to the identity owner; do not delete trust records or disable checking.
Situation: A bookmark or client-profile alias looks familiar, but the connected product is not the expected installation. Even a valid server key does not establish that the intended work target was selected.
Read these observations separately.
Check and action sequence:
Condition for resuming: Continue only with current evidence of authentication to the intended target.
If still unresolved: If the official endpoint cannot be bound to the intended installation, stop access and involve address/identity owners.
Situation: A legitimate key update was verified once, but another warning occurs for the same claimed instance. A reboot or configuration-change explanation alone does not authorize repeated trust updates.
Read these observations separately.
Check and action sequence:
Condition for resuming: Recheck the specified connection only after the owner verifies current host/installation and change history.
If still unresolved: Escalate unexplained repeated key changes as an identity issue, not routine profile cleanup.
Expected target alias, warning time, replacement history, independent fingerprint verification and product installation identity match.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: B-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
A timeout and a login refusal require different checks. A timeout can indicate reachability or service readiness; a refusal after reaching the server points to authentication or access scope.
PackrGUI cannot connect. One attempt reports connection timed out; the next reports login refused. The first may concern reachability or readiness, while the second may concern authentication or scope. Record them as separate events.
| Screen or behavior | Check first | Safe next step |
|---|---|---|
| Timeout just after boot | Service readiness and official network route | Release wait and status procedure |
| Destination responds; login refused | Username, authentication method, allowed scope | Current account administrator or support route |
| Login succeeds; product remains unauthenticated | App customer and installation identity and session state | Preserve product refusal |
| Another customer or installation appears after login | Identity mismatch | Stop use immediately |
After a remedy, recheck service readiness → reachability → authentication → product installation identity in order. Include both the first and later errors with their exact text and times in support requests. Identify the destination only by an official shareable alias. Never send a password, token, or private key.
Complete: an authenticated client displays the expected customer and installation identity. Stop: do not work around identity mismatch or an unverified auth route by borrowing an account or key or disabling host checks.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Connection timeout | Service readiness, target address and approved route | Record the last reachable segment and involve its address/policy owner. |
| Identity or TLS warning | Requested target and independently verified server identity | Verify identity before authentication retries; do not disable verification. |
| Authentication refuses after reachability | Account, authentication method, session validity and installation scope | Use the current account’s supported authentication flow and retain its exact refusal. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: The same account worked yesterday, but today there is no response and no login prompt. Check server readiness and the approved route before assuming a password problem.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record connection recovery only when response, authentication and identity are confirmed on the approved route.
If still unresolved: If the failing segment is unknown, hand over the last reachable point and timeout to the network owner.
Situation: The GUI verifies server identity but login is refused; headless queries are also refused for the current account. Separate a responding network from a valid session.
Read these observations separately.
Check and action sequence:
Condition for resuming: The connection stage closes for the route whose current authenticated session shows the correct installation.
If still unresolved: If authorization still refuses after reauthentication, hand exact scope/reason to the account owner without passwords or tokens.
Situation: The workstation GUI works, but a scheduled server task is refused. Query from the service’s execution location and identity instead of reusing the GUI screenshot as success evidence.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record automation readiness only after its own authentication, identity and permitted functions are confirmed.
If still unresolved: If service authentication or scope authority is unavailable, hand over that state instead of copying user credentials.
Access route, current readiness, timeout/identity/authentication failure stage, session state and customer/installation scope.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: C-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
Administrator enrollment may require a live, interactive confirmation. A value sent through a script or pipe can be refused. Confirm the product's success record before using administrator functions.
An installation operator ran administrator enrollment from an automation script. The output refuses it because user confirmation is required. The binding wizard then cannot find administrator scope. Treating the command as successful would create a second failure.
| State | Action |
|---|---|
| Non-interactive input refused; no enrollment | Use the official interactive procedure. |
| Enrollment exists for another installation ID | Do not use it; contact support. |
| Enrollment exists with narrower scope | Ask the administrator for the defined scope-change procedure. |
| Enrollment result cannot be read | Move to the storage-access checks in Case E. |
“Release [value], enrollment stage [value], input method [interactive/non-interactive], product refusal [verbatim], enrollment status [none/present/unavailable]. No secret input is attached.”
Complete: the real administrator's product role and scope for this installation are recorded and readable. Stop: do not fake confirmation with automation or substitute OS administrator rights for product authority.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Piped input is refused | Interactive requirement and actual session type | Have the administrator confirm through the specified real terminal or setup UI. |
| OS login works without a product role | OS account versus product administrator enrollment | Read back enrollment; OS elevation does not substitute for the product role. |
| Enrolled scope differs from the intended scope | Customer, installation, runtime scope and expiry | Retain current scope and use the approved product change procedure. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: A setup script runs enrollment and receives a refusal requiring a real terminal or user confirmation. Check the supplied interactive requirement before treating it as an enrollment defect.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record administrator setup complete only with human confirmation and product enrollment results.
If still unresolved: If the interactive route is unavailable, hand over that constraint without automated confirmation or token manipulation.
Situation: An OS administrator expects the same authority inside the product. The product indicates no administrator role for the current installation.
Read these observations separately.
Check and action sequence:
Condition for resuming: Perform observations within scope only after confirming product administrator enrollment for the current installation.
If still unresolved: Without enrollment authority, hand over to its owner rather than expanding scope through attempts.
Situation: After enrollment appears complete, runtime binding is refused. The recorded scope refers to another customer/installation or a narrower runtime scope than intended.
Read these observations separately.
Check and action sequence:
Condition for resuming: Proceed only when the request is within recorded scope and the product has revalidated it.
If still unresolved: Hold when original authority cannot be established; do not edit stored enrollment records.
Enrollment route/interactivity, current installation identity, actual human confirmation and product role/scope/expiry.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: D-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
An administrator may complete enrollment and still see an access refusal when the product reads the policy. Verify enrollment success and subsequent access success separately; the refusal reason determines the next step.
Enrollment appeared successful. The first runtime observation then returns Permission denied or a storage-access error. Preserve the first error instead of enrolling the administrator repeatedly.
| Observation | Safe action |
|---|---|
| Administrator role is absent | Confirm the enrollment result in Case D. |
| Role exists but scope is insufficient | Request the administrator's scope-change procedure. |
| Role exists; storage access is denied | Stop use; send release version and first error to support. |
| Service is also not ready | Check readiness in Case A first. |
Provide release and installation IDs, first refusal message, whether enrollment succeeded, service readiness, and time. Do not attach lock files, the internal database, raw administrator policy, private keys, or full logs.
Complete: the product can read the administrator status and process an allowed observation. Stop: do not repeat enrollment, widen file permissions, delete a lock file, or change the service account.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Reading the role fails | Enrollment completion versus first store-access error | Retain and escalate the first error and installation ID before reenrolling. |
| Role exists but the request is refused | Requested customer, installation and capability scope | Separate role existence from scope; the owner authorizes any needed change. |
| Access fails after an update | Before/after versions, service state and installation identity | Use supplied recovery guidance; do not alter the database, locks or permissions directly. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: Enrollment completes, but a later policy/status read shows Permission denied. Preserve enrollment and the first access error separately before repeating enrollment.
Read these observations separately.
Check and action sequence:
Condition for resuming: After supported correction, read the administrator state and confirm permitted observation for the same installation.
If still unresolved: If store access remains refused, hand over the first error/version without attaching the database to an ordinary ticket.
Situation: Administrator status reads normally while one runtime/capability request is refused. Treating every refusal as filesystem permissions can hide an actual scope boundary.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record recovery only for the permitted capability successfully rechecked.
If still unresolved: Without scope authority, do not broaden permissions or replace service accounts.
Situation: An existing installation fails its administrator status read after an update. Earlier successful reads exist, but none after the update. Bind changed version, current identity and failed stage together.
Read these observations separately.
Check and action sequence:
Condition for resuming: Close this access issue only with a confirmed recovery version, current installation and successful read.
If still unresolved: Hold without a supported recovery procedure or on an integrity warning; hand over minimal errors and change history.
Enrollment result, first access failure stage/time, service state, current role/scope and before/after versions.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: E-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
Finding a local model and binding it to this installation are separate steps. After a model alias or runtime address changes, check the current binding result before using the model for Work.
The administrator confirms the local model is installed. PackrGUI says the runtime is detected but not bound. If a model alias or runtime address changed yesterday, distinguish the old state from the current observation.
| State | Meaning and action |
|---|---|
| Not detected | Check runtime process, supported scope, and official connection route. |
| Detected but validation refused | Preserve the refusal; resolve scope or identity. |
| Validated but target model ambiguous | Ask the administrator to select the exact model. |
| Bound after a new observation | Confirm installation ID and model reference, then prepare Work. |
Assume a runtime alias changes at 11:00 while the product still shows a bound record from 10:30. That record belongs to the prior state. A new discovery time, Core validation, and binding time and model reference after 11:00 are needed to establish rebinding. New detection alone is insufficient; use the branch table above to locate the first refused gate.
| Gate | Example observation | Conclusion |
|---|---|---|
| Detection | New model reference after change | Candidate found |
| Validation | Matches current installation and scope | Eligible for application |
| Binding | New record and time after change | New runtime selected |
Times are illustrative. Record actual product state and refusal codes; do not edit internal storage.
“Release [value], installation ID [value], runtime type [shareable name], expected model [name], change time [value], detection/validation/binding states [separately], refusal [verbatim]. No Work was run.”
Complete: the product displays a fresh binding linked to the current observation and approved scope. Stop: do not edit the database or copy an earlier refused binding.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Only model files are present | Process, observation, validation and binding states separately | Prepare a supported runtime and check that the product validates a fresh observation. |
| Old binding remains after an alias change | Observation time and current model/runtime reference | Check post-change observation and validation; do not copy an old binding. |
| The current scope is refused | Exact refusal and approved scope | Have the administrator determine a supported target/scope, then revalidate through the product. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: An operator expects binding because model files were provisioned. The product has no current runtime observation or only discovery status. Check file provisioning, process state and product observation separately.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record binding complete only for validated/bound current installation runtime/model references.
If still unresolved: Without a supported target/observation route, hand over instead of creating binding-state files.
Situation: After a model alias change, the screen still shows the old binding. Distinguish an old display, absent fresh observation and a refused new target before deciding what changed.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record application of the new environment only when the fresh observation’s target and binding match.
If still unresolved: Do not start new Work for the changed target on an old binding when fresh observation/reasons are unconfirmed.
Situation: Several models exist and the product discovers a runtime without applying binding. Selecting the first available model arbitrarily would not establish the intended supported target.
Read these observations separately.
Check and action sequence:
Condition for resuming: Continue within scope only after the intended target and validated binding are recorded.
If still unresolved: Do not invent a default target without selection authority or a supported combination.
Current runtime/model references, before/after values, observation time, validation/refusal and permitted administrator scope.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: F-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
Local model startup can fail because a model is unavailable, resources are insufficient, or a network check cannot complete. Check the exact message and the supplied offline setup procedure before changing network policy.
A customer plans to use a local model in an offline environment. The runtime waits for a model download or a metadata check times out. Alternatively, model startup fails, but the screen alone does not distinguish insufficient memory from a missing model.
| Result | Next step |
|---|---|
| Model file absent | Use the release-authorized offline model preparation route. |
| Product reports insufficient supported resources | Prepare resources under compatibility and customer change approval. |
| Only external metadata timed out | Check local model, binding, and Work separately; apply policy-compliant settings. |
| Runtime runs but binding is refused | Move to Case F. |
“Release [value], OS/architecture [value], model [value], local model presence [value], failing stage [startup/discovery/validation/Work], first error [verbatim], external-network policy [allowed/blocked]. No prompts or customer data attached.”
Complete: the supported local model is prepared and the current runtime is validated and bound. Actual inference and Work still require separate checks. Stop: unknown requirements, unapproved Internet access, or an unsupported claim that no external inference occurred.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| The model exits during startup | Supported model/architecture, memory/disk and actual error | Use the organizational environment-change procedure for resources, then observe again. |
| A closed network waits for download | Local model availability and pre-import inventory | Use the allowed model provisioning route; the SDK Rust dependency set does not supply model weights. |
| Only an online check fails while local state is healthy | Metadata request, local inference, binding and Work results separately | Record failed checks and successful local stages separately while preserving policy. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: The model exits shortly after startup. A user wants to add memory before checking the error. Resource, architecture and model provisioning facts need to be reviewed together.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record preparation complete when the model starts under supported conditions and current observation/validation/binding are confirmed.
If still unresolved: Without an exact failure reason, hand over exit observations/support requirements instead of repeatedly resizing or replacing models.
Situation: A closed on-premises environment has client packages and SDK dependencies but no model files. The runtime waits for a model download. Provisioned Rust dependencies do not establish model-weight availability.
Read these observations separately.
Check and action sequence:
Condition for resuming: Close preparation only with verified local model assets and confirmed runtime binding.
If still unresolved: With an unconfirmed import route or rights, involve provisioning/licensing owners instead of fetching arbitrary model files.
Situation: A local model is provisioned while an external metadata request times out. That result alone establishes neither failure of all local inference nor absence of external communication.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record success only for confirmed local stages and retain external lookup failure separately.
If still unresolved: Without confirmed communication scope/model selection, hand over without claiming no external traffic or completed local Work.
OS/architecture, model/runtime versions, required/current resources, local provisioning, first exit and external lookup status.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: G-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
Pack Builder helps prepare and validate Packs. Candidate creation, saving a file, a prepared screen state, and passkey enrollment are separate states. None automatically grants customer Pack approval, entitlement, or execution authority.
An operator creates a Pack candidate in Builder. Preview and structural validation pass, yet it does not appear in PackrGUI's execution list or a Work request is refused. “Builder made it, so it can run” is not a valid conclusion.
| State | Next step |
|---|---|
| Candidate validation failed | Fix displayed defects and revalidate the same candidate. |
| Validated but not approved | Hand it to the release-defined Pack approval owner. |
| Approved but no customer entitlement | Ask the entitlement owner to check exact installation and Pack scope. |
| Approval and entitlement exist but a precondition fails | Review the product condition and environment, then resolve through a safe procedure. |
“Release [value], Builder version [value], candidate ID/version [shareable value], validation [state], approval [state], customer entitlement [state], first Work refusal [verbatim].” Do not attach Pack source, internal contract text, or a passkey response.
Complete: the exact Pack is validated, approved, and entitled for this customer installation, with preconditions met. Stop: do not relabel a candidate as an approved Pack or bypass refused execution.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Candidate validates; approval is pending | Approval for the same revision/digest | Hand validation to its approver; do not mark execution complete. |
| Approved but not entitled | Entitlement for the current customer, installation and Pack version | Have its owner resolve the exact refusal, then recheck preconditions. |
| Preconditions differ before execution | Current target state and plan preconditions | Retain state and use supported changes; copying a candidate does not register it. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: Builder shows candidate validation PASS and the user looks for it in the execution list. No approval exists for that exact revision yet; a stage remains between preparation and approved use.
Read these observations separately.
Check and action sequence:
Condition for resuming: Move only to execution preparation after exact-candidate approval, entitlement and preconditions are confirmed.
If still unresolved: Without approval, do not copy the candidate into Pack folders or execute through another account.
Situation: A Pack approved for one installation is expected to work in another. The product refuses current-installation entitlement. Separate approval existence from its applicable scope.
Read these observations separately.
Check and action sequence:
Condition for resuming: Proceed with that Pack only when authority and plan are confirmed for the current installation.
If still unresolved: Without the authority owner’s confirmation, do not rename approval files or edit installation IDs for reuse.
Situation: A declaration or candidate file changes after review. The earlier approval screen remains, but the candidate digest differs. Determine whether the new bytes are actually covered.
Read these observations separately.
Check and action sequence:
Condition for resuming: Proceed with the changed candidate only when current bytes are covered by the required results.
If still unresolved: Do not copy an old approval or edit only manifest digests to make references appear aligned.
Candidate ID/revision/digest, validation subject, approval purpose/scope, current entitlement, preconditions and actual Work presence.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: H-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
A local runtime can be bound without any Work being submitted. Runtime readiness and completed Work have different records.
PackrGUI shows the runtime as bound. An operator believes the first task is complete, but the Work list has no result or receipt. Alternatively, a Work was submitted but remains pending/stopped/rolled back.
If your installation includes packrctl and you are authenticated, inspect rather than rerun an uncertain Work. Replace the placeholder with the returned Work ID.
packrctl work list --limit 10 --json
packrctl work show "PASTE_RETURNED_WORK_ID" --jsonAn empty list for the permitted principal does not prove that another principal never submitted Work. A report file or model response does not replace the product's typed Work and receipt record.
| Last proven state | What you can say | Check next |
|---|---|---|
| Runtime bound | Part of execution readiness | Work submission |
| Work submitted | Request received | Approval and preconditions |
| Work execution started | Execution began | Model call and result |
| Result validated | Output was checked | Final state and receipt |
| Success receipt confirmed | Completion evidence for this Work | Matching installation and release identities |
Suppose a local model alias changes and the appliance shows a new BOUND state, while Work readiness shows UNKNOWN. Record the installation and release, binding time, separate authority and runtime states, exact reason shown, and whether a Work ID exists. If readiness remains UNKNOWN, stop before submission and send these values through the supplied support route. Repeating a command, editing state files, or treating a binding record as a receipt cannot establish Work completion.
Suppose an operator gets an answer to a model test prompt and sees bound in the GUI, then reports first Work complete. With no Work ID, even submission is unproven. With an ID, separately check approval, execution start, model call, result validation, closure, and receipt. Use this table for the Work on your own installation.
| Last confirmed record | Still cannot claim |
|---|---|
| General model response | Model call for this Work |
| Work ID and submission | Approval and execution |
| Execution started | Successful result and receipt |
| Result validated | Final success and same-Work receipt |
Report the first missing gate. Do not use another Work's receipt or a manually created file to fill the gap.
“Release [value], installation ID [value], Work ID [if any], Pack/operation [shareable name], last confirmed state [value], first refusal/missing stage [verbatim], model call [yes/no/unknown], receipt [absent/present].” Do not send raw prompts or results.
Complete: the same authorized Work has a successful final state, validated result, and matching receipt. Stop: never fill a missing record with a binding screen, inferred model call, or another Work's receipt.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Only a model response exists | Product Work ID, request and authority state | Record the model response as such; separately establish whether product Work started. |
| A Work ID exists without a terminal state | Current state and update time for that same ID | Use the release query/wait procedure; do not submit duplicate Work. |
| Receipt refers to another Work or installation | Work/customer/installation IDs and result digest alignment | Withhold completion and escalate the minimal mismatching records. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: An operator sees a model test response and a bound-runtime screen and assumes the first Work completed. No matching request exists in the product Work list. Distinguish model testing from product execution.
Read these observations separately.
Check and action sequence:
Condition for resuming: Do not mark first Work complete before its actual authority/execution/validation/terminal state/receipt are confirmed.
If still unresolved: Without submission authority or a supported Pack, hand over preparation state instead of manufacturing a receipt from the model response.
Situation: A Work submission returns an actual ID, then the client disconnects. Before resubmitting the request, query that returned ID to avoid duplicate execution.
Read these observations separately.
Check and action sequence:
Condition for resuming: Handle the result only after confirming that same Work’s termination, result and receipt.
If still unresolved: If querying is unavailable or status is unconfirmed, hand over ID, first connection error and last state without resubmitting.
Situation: A shared folder contains reports and receipts from several runs. Similar file names do not bind them to the current Work.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record completion only when the same execution’s record, result and verified receipt align.
If still unresolved: Keep the current Work unconfirmed instead of editing receipt IDs or hashes to make them match.
Returned Work ID, current customer/installation, last state/update time, result digest and receipt references/verification.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: I-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
A newly deployed VM should have its own installation and host identity. An existing organization name, administrator, or access key on first setup needs investigation before the VM is used.
You create a new customer VM from an official image, but setup displays an earlier organization name or an apparently pre-enrolled administrator. Or you notice an unexpected user home, access key, or already-used installation ID. Do not assume it is harmless sample data and continue Work.
| Result | Action |
|---|---|
| Earlier customer or user trace or duplicate installation ID confirmed | Stop using the instance and report immediately. |
| Image ID differs from the official delivery inventory | Stop installation; verify the official image. |
| It is unclear whether the display is example data | Do not access the data; ask support to classify it. |
| Independent verification confirms a new installation identity | Record it and proceed with fresh administrator setup. |
If a new VM shows an unexpected user home or prior installation ID, do not browse it to decide whether it contains customer data. The finding itself requires review of image identity and access state. Stop Work and new user enrollment. Record only image ID, new instance ID, observation time, and product-displayed installation identity.
| Do | Avoid |
|---|---|
| Check official image and new instance provenance | Opening or copying prior user files |
| Report identity mismatch to deployment owner | Deleting files on the customer VM and resuming use |
| Wait for a validated replacement image | Resealing the source image locally |
“Release [value], official image ID [value], new instance creation time [with zone], expected installation ID [value], displayed identity type [customer/user/installation], minimal description of first screen [value]. No Work or additional enrollment was performed.”
Do not attach another customer's name, file contents, key, or full disk image to an ordinary support ticket.
Complete: the authorized owner independently verifies the image and fresh installation identity and explicitly releases it for use. Stop: a customer must not delete earlier files or replace keys to make an unverified image appear clean.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Earlier user or installation identity appears | Signed image provenance, current instance and installation identity | Stop use and customer data entry; hand evidence to the image owner. |
| An earlier provider binding appears | Displayed state and the release initialization requirements | Retain only minimal status; do not open credentials or private stores. |
| The same symptom appears in another new VM | Each image ID, creation time and unique identity | Have the owner verify image and procedure instead of creating more VMs to hide the symptom. |
Record the first refused stage and the corrected item, then check its current result. Recheck earlier proven stages when the change affects them. Proceed only with the required current evidence. Include exact version, time with timezone, failed stage/reason, last confirmed state, change and recheck result in support handover. The illustrative table is not an established cause or execution history.
The three cases below are worked teaching scenarios for realistic field conditions. Their illustrative states are not invented product error codes or customer incident histories. Distinguish causes using values observed in your own installation. Cite supplied execution records only within their recorded scope.
Each example supplies context, observations, discriminating checks/actions, resumption criteria and unresolved handover. One symptom can have several causes; do not blindly continue after the first refusal.
Situation: A supposedly new installation shows an unexpected organization or administrator during first setup. Verify provenance before assuming sample data and entering customer information.
Read these observations separately.
Check and action sequence:
Condition for resuming: Return to setup only after the owner independently verifies image/new identity and explicitly resumes use.
If still unresolved: Do not erase displays or user directories to make it appear to be a fresh installation.
Situation: A team creates two VMs with the same product installation ID but different addresses and instance names. Even before establishing a cloning/provenance cause, independent installation identity needs verification.
Read these observations separately.
Check and action sequence:
Condition for resuming: Use them as independent environments only after unique identities and approved resumption are confirmed.
If still unresolved: Do not alternate environments to hide the issue or distribute copied approval/entitlement files.
Situation: A replacement instance shows the same earlier state. Creating more instances from the same input does not establish that the source problem is resolved.
Read these observations separately.
Check and action sequence:
Condition for resuming: Close only with verified replacement provenance distinguished from the problematic input, unique identity and a resumption decision.
If still unresolved: Preserve original evidence; do not modify or reseal the original/Golden image yourself.
Official image/instance provenance, creation time, displayed identity type, expected-identity match and hold/handover state.
Keep original status separate from interpretation and include a timezone. This is a record worksheet, not a product API request or execution receipt.
case: J-[1/2/3]
release / component / OS: [actual values]
observed_at: [actual time and timezone]
last_confirmed_stage: [actual observation]
first_refusal: [minimal original message, no secrets]
changed_item: [actual change or none]
recheck_result: [observed / refused / not run]
next_owner: [authorized role]Exclude full logs, customer data, keys, tokens and passkey responses from ordinary tickets. Retain originals after handover. Changes to authority, identity or deployment scope follow the appropriate owner’s supported procedure.
A customer deploys the supplied appliance image as a new VM, then enrolls a local Appliance Administrator for its newly generated installation identity. Before deployment, have the component list, signature verification procedure, supported-environment list, and your organization's deployment approval ready.
The installer asks, “The VM says Running. Can I connect the GUI now?” The administrator responds, “First boot and product service readiness are separate checks. We also need to confirm a fresh installation identity.” That distinction is the first gate.
| Step | Operator action | Evidence before proceeding |
|---|---|---|
| Delivery check | Compare release ID, image, digest, signature | Exact files for this release |
| New VM | Create a new instance using the release-defined target and method | Instance and image IDs, creation time |
| First boot | Check the release's initialization completion condition | Product service readiness |
| Identity | Compare customer, installation, and host identity separately | Matching identities for the new installation |
| Enrollment | Actual local administrator reviews and approves customer, installation, runtime scope | Product role, scope, validity period |
This use case proves only exact signed files, fresh installation identity, ready service, and recorded scope from the real administrator. Runtime binding and Work receipt require later checks. For another customer's identity, earlier-user residue, or an integrity warning, stop use and follow the image-residue case.
Suppose the installer creates a VM at 09:00. The cloud console shows running at 09:02, but the product wizard has no ready result. Record VM creation time, image ID, and last product-status time separately. GUI authentication errors while initialization continues do not necessarily prove a failed first boot. Perform the release-defined wait and status check once; if readiness remains unproven, follow Case A.
The deployment operator and authority owner may be different people. The operator hands over installation ID and image provenance; the owner reviews the customer, installation, and runtime scope in the product. Close this stage only when the read-only result shows the scope and expiry.
| Field | Example placeholder | Purpose |
|---|---|---|
| Image and release | [release ID], [image ID] | Compare exact inputs |
| Product readiness | ready at [time] or unconfirmed | Separate from VM power |
| Installation identity | [installation ID] | Compare with later client and Work records |
| Administrator scope | [customer/installation/runtime scope], [expiry] | Limit of automatic binding |
Bracketed values are placeholders, not invented release data. A different customer or previous installation value stops handover.
The VM creator and product administrator may be different owners. Online installation obtains files through an approved portal or delivery route. Closed-network installation prepares the matching image, clients, needed models, digests and documentation before transfer. Both environments confirm actual identity and administrator scope in the installed product.
Before handover retain readiness, administrator role/scope/expiry tied to one installation ID and the next client owner. Hand over incomplete enrollment explicitly; do not mark runtime or Work complete.
Keep the planned procedure, performed actions, observed results and remaining stages separate. This scenario explains the procedure; the documentation update does not execute it in a customer environment.
Within the already approved installation and runtime scope, a local model alias or observed runtime value changes. Core validates the fresh observation and updates the binding. First capture the current installation identity, administrator scope, supported model, and prior binding state.
An operator changes a local model alias. The model server runs, but PackrGUI still shows the prior binding time. “The model responds” does not prove that the new model is bound.
| Observation | Before change | What must be rechecked afterward |
|---|---|---|
| Customer and installation IDs | Earlier approved scope | Current identity for the same installation |
| Runtime and model reference | Prior binding | New alias or model reference |
| Observation time | Earlier state time | Fresh observation after the change |
| Validation and binding | Prior status | New Core validation and binding |
| Work | Separate record | Only Work executed after the new binding |
If nothing is detected, inspect runtime startup and the official connection route. If validation is refused, use the binding case to separate scope, identity, and ambiguity. In support requests, send before/after state and time, installation ID, and product refusal; omit internal storage and customer prompts.
A fresh observation and new Core binding for this change must be recorded under the same installation identity. This does not establish a Work result or macOS and Windows auto-binding validation.
Assume a local alias changes from model-A to model-B at 10:00. A bound record at 09:40 belongs to the earlier state. Compare the change time with a later discovery time, then confirm Core validated the new model reference under the same installation ID and approved scope. If multiple candidates become visible, do not silently choose one.
If no new binding appears, classify the stage: no detection suggests runtime readiness or connection checks; an out-of-scope observation goes to the approval owner; an ambiguous target needs an explicit model choice. A screen that merely repeats an earlier timestamp does not establish a new binding.
| Time | Observation | Supported conclusion |
|---|---|---|
| 09:40 | model-A binding | Earlier state |
| 10:00 | Alias changed | Environment changed |
| 10:03 | model-B detected | Validation and binding still separate |
| 10:05 | New validation and binding for same installation | Post-change binding confirmed |
Times and model names illustrate the procedure, not actual release evidence. Verify subsequent Work through its own record.
During a maintenance window, change one supported model alias or runtime address at a time. Retain supported versions, the binding reference and last state before the change; then compare the fresh observation with the intended value. A successful online check or process restart alone does not establish a new binding.
Separate before/after runtime/model references, observation times, validation reason, effective binding and any separately authorized Work. A rollback also requires a newly observed/validated result.
Keep the planned procedure, performed actions, observed results and remaining stages separate. This scenario explains the procedure; the documentation update does not execute it in a customer environment.
Goal: connect your client to an already prepared company VM and confirm matching customer/installation identity. This exercise does not automatically execute Work. If no company VM exists, the deployment owner follows installation sections 1–4; general users receive the installation identity, readiness and connection material.
Obtain the actual compatible client file, digest/signature status, customer/installation/release references, endpoint and TLS server name, account/device enrollment method, allowed role and enrollment expiry/renewal support route. Receive any per-device profile through the organization's secure channel. Do not paste private keys into documentation or place them in a common installer ZIP. Use automatic enrollment portals only when the release actually provides one.
| OS | Prepare and launch | Confirm before connecting |
|---|---|---|
| macOS | Keep a supplied app in the documented user Applications/Applications location; follow included instructions for an installer | The app opened in Finder matches the received release |
| Windows | Distinguish installed and portable formats; retain the executable with bundled runtime/resource directories | Launch from the package location, without copying only the EXE |
| Linux | Follow the supplied distribution/CPU package instructions; retain its launcher/libraries | Do not substitute arbitrary libraries for another distribution |
If the app cannot open, record an application launch problem, before server connection. Check the exact OS warning, app path/version/CPU and included files. Disabling OS protections or running as administrator is not a general remedy.
Expected result: record the launched client's version/path, matching customer/installation reference and actual authentication state. If user enrollment or operational connection is not yet validated for that candidate, retain it as unconfirmed; do not fill in an assumed successful screen.
If blocked: launch problem → package/OS preparation; timeout/authentication → case C; changed identity → case B; admin enrollment → D/E. Follow the separate first Work use case for actual execution.
A customer connects from a workstation GUI and, if operational automation is required, checks the release-provided headless route separately. Even against the same appliance, the routes can differ in installer, authentication, session, allowed functions, and result evidence.
An operator sees the status screen in PackrGUI on a Mac. The team says, “Then headless Work on our Linux server is ready too.” That conclusion is unverified. Each client must directly prove authentication, installation identity, and permitted function.
| Item | PackrGUI | Headless |
|---|---|---|
| Installer | Verify signature and digest for that OS | Verify the release-named CLI or service files |
| Network | Official appliance destination and route | Official destination and policy for this route |
| Authentication | Current session shown in GUI | Current account or service authentication |
| Product identity | Matching customer and installation IDs | Separate check of the same IDs |
| Capability | Functions permitted on screen | Commands and Work scope allowed by release |
| Result | GUI status and record | Direct headless record and receipt |
packrctlAfter the installation operator supplies the approved local access route, use these commands if packrctl is included with your installation. Run them on the authorized appliance or managed client. They read status and health; they do not authenticate a GUI session or authorize Work.
packrctl status --json > headless-status.json
packrctl health --json > headless-health.jsonRead the JSON readiness and reason fields as well as the exit status. UNKNOWN is not READY. If packrctl is absent from the exact delivery inventory, record the headless route as not supplied rather than reusing a development binary.
If one route fails, use the connection and auth case before copying settings from the successful one. A host-identity warning requires an immediate stop under the identity case.
Record each route as verified only after its installer, connection, authentication, installation ID, and intended function have been checked directly.
For each platform, confirm the installer name, signature, supported version, and connection method in the supplied component list. After installation, record the server identity, authenticated session, and matching customer and installation IDs. If a platform installer or headless client is absent from the list, ask your supplier for the supported option before using another package.
Suppose PackrGUI on a Mac displays the expected installation ID, while a server automation client cannot connect. The GUI account, token lifetime, and network route may differ from those of the service. A GUI screenshot is not headless authentication proof. First verify that the release includes a headless client; if so, record that route's account, endpoint, and refusal separately.
Conversely, a successful headless status query does not prove that a GUI session exists or has the same authority. Record the last proven stage for each route, such as GUI: authenticated, installation matched and headless: network reachable only.
| Platform and route | Installer and signature | Connection | Authentication and installation ID | Binding | Actual Work and receipt |
|---|---|---|---|---|---|
| macOS GUI | [evidence] | [state] | [state] | [state] | [state] |
| Windows GUI | [evidence] | [state] | [state] | [state] | [state] |
| Linux GUI | [evidence] | [state] | [state] | [state] | [state] |
| Headless | [evidence] | [state] | [state] | [state] | [state] |
Write unverified until a route is exercised. Do not copy success between operating systems or clients.
Suppose the desktop GUI works while scheduled automation is refused. Compare the GUI session and automation service execution location, account, network route and installation scope separately. Use the release service-authentication procedure instead of copying GUI tokens or keys into automation.
Retain separate rows for GUI/headless package, version, authentication, installation ID, permitted features and status result. Record an unavailable route as unavailable; bind actual Work receipts to the route used.
Keep the planned procedure, performed actions, observed results and remaining stages separate. This scenario explains the procedure; the documentation update does not execute it in a customer environment.
A customer prepares and validates a needed function as a Pack candidate, then hands it to the authorized approval and entitlement owners. Check first whether an existing Pack solves the need. Creating a new candidate does not open an execution path.
A Builder user says, “Validation shows passed, so I will run it now.” The administrator replies, “That is candidate validation. We still need Pack approval, entitlement for this installation, contract scope, and preconditions separately.”
| State | Meaning | Checking owner |
|---|---|---|
| Candidate authored | Pack draft exists | Builder user |
| Candidate validated | Declarations and structure checked | Product validation path |
| Approved | Pack accepted for official use | Approval authority |
| Entitled | This customer and installation may use it | Entitlement owner |
| Pre-execution check | Contract, scope, and preconditions met | Product and Work approver |
| Work and receipt | Actual result of authorized operation | Product execution record |
Use the validation, approval, entitlement, and precondition branches in the Builder candidate case. Do not copy the candidate into a deployment directory or run a refused command under another account.
Preparation is complete only when candidate validation and formal approval and entitlement are each confirmed. This does not mean Work succeeded.
Suppose Builder reports that a candidate passed structural validation, but Work submission is refused. This is not automatically a product defect. Structure and contract validation, approval owner decision, installation entitlement, and execution-time preconditions are distinct gates. Classify the first stopped gate from the product's actual state.
For example, candidate validation PASS with approval pending means candidate prepared, no execution authority. Even an approved Pack cannot run for a mismatched customer or installation scope or failed precondition. Do not edit candidate files or policy storage to force a permitted state.
| Field | Value to transfer |
|---|---|
| Candidate identity | [candidate ID], [created time], [validation state] |
| Contract scope | [allowed capability], [target environment], [preconditions] |
| Approval state | [decision owner], [decision], [decision time] |
| Execution qualification | [customer and installation ID], [entitlement state] |
Brackets are fields for actual product records. Do not copy validation PASS into the approval field.
For example, adapt an inspection Pack input to a new target. Check existing Pack coverage first, then create only the needed candidate as a new revision. If the candidate changes after review, do not treat the previous approval as covering the new bytes.
Record candidate generation/validation, approval, installation entitlement, preconditions and Work receipt as separate states. Include unexecuted stages and the next authority owner.
Keep the planned procedure, performed actions, observed results and remaining stages separate. This scenario explains the procedure; the documentation update does not execute it in a customer environment.
A customer runs one supported Pack or release-named test operation through the governed product path and confirms final result and receipt for the same installation and Work ID. Service readiness, authenticated connection, administrator scope, and current runtime binding must be checked first.
An operator reports, “Qwen is bound, so the first Work is complete.” The reviewer asks, “Are the Work ID, execution approval, model call, result validation, and receipt tied to the same operation?” If no Work was submitted, the supported state is only runtime readiness.
| Stage | Question | State to record if absent |
|---|---|---|
| Operation selected | Is the supported Pack or operation, contract, and scope correct? | Target undecided |
| Preconditions | Are environment, authority, and entitlement met? | Pre-execution refusal |
| Approval | Was the exact plan and target approved? | Pending or refused |
| Submit and start | Is there a Work ID and start record for this installation? | Not submitted or not started |
| Model call | If a local model is used, is its call linked to this Work? | Call unproven |
| Result validation | Are result state and validation recorded? | Pending or failed validation |
| Receipt | Is there a final receipt for the same Work ID? | Completion unproven |
If your release supplies packrctl and lists CREATE_AUDIT_ARTIFACT as a supported operation, use this example only after that one Work is approved and the appliance reports the required authority and preconditions. Replace the key with an approved unused value. This operation creates a local audit artifact; it does not inspect an attached customer document or demonstrate a Qwen model call.
packrctl work run CREATE_AUDIT_ARTIFACT "create audit artifact" \
"REPLACE_WITH_ONE_UNUSED_APPROVED_KEY" --json > work-run.json
# Copy the returned result.work.work_id; do not invent a Work ID.
packrctl work show "PASTE_RETURNED_WORK_ID" --json > work-show.jsonInspect the typed result, final state, validation, receipt reference and human-acceptance state in the returned records. A command exit code or a generated JSON file alone is not a success receipt. Do not reissue work run after an uncertain result; reconcile the original request through the product's supported route.
For support, provide release, installation and Work IDs, shareable Pack or operation name, last confirmed stage, first error, and receipt status. Do not attach prompts, customer data, or raw results to an ordinary ticket. Complete: successful final state, validated result, and receipt for the same authorized Work are confirmed together.
Suppose an operator sees a local model respond and reports first Work complete. First check for a Work ID. Without it, even product receipt of a Work request is unproven. With an ID, read approval, start, model call, result validation, and final state separately. A general model response cannot substitute for a call bound to this Work.
For example, after changing a local model alias, the GUI may show a new BOUND state while Work readiness remains UNKNOWN. Record the authority, runtime, and Work readiness shown by your installation and any exact reason code. Do not submit Work until the required state is ready; send those values through the release support route if readiness remains unknown. Use the worksheet below for your own first Work.
| Gate | Value to record | If absent |
|---|---|---|
| Submission and identity | [Work ID], [submitted time] | Request receipt unproven |
| Approval and preconditions | [decision], [scope] | Execution authority unproven |
| Execution and model call | [execution state], [bound call] | Inference unproven |
| Result validation | [validation state] | Result unverified |
| Closure and receipt | [final state], [receipt ID] | Completion unproven |
Do not treat a failed, stopped, or rolled-back result as successful merely because a record file exists. Report the first missing gate; exclude raw prompts and output from ordinary support requests.
Plan one approved read operation. Immediately before execution check installation, Pack, input, current authority and plan; retain the actual returned Work ID. If a connection issue delays the result, query that same ID instead of starting duplicate Work to obtain a response.
Check that terminal state, postcondition validation, result digest, Work record and receipt refer to one execution. Record failure, rollback, waiting and unconfirmed states separately; a standalone model response does not replace the product receipt.
Keep the planned procedure, performed actions, observed results and remaining stages separate. This scenario explains the procedure; the documentation update does not execute it in a customer environment.
Goal: prepare the release's supplied read-only exercise Pack/candidate as a new revision and inspect validation. Do not modify an operational Pack or choose a service-changing Work for the first exercise. If no exercise input is supplied, write the goal below and request a compatible example from support.
Purpose: one synthetic inspection result / Input: supplied synthetic data / Output: review result / Changes: no customer service changes / Failure: inspect declared recovery state. Populate supported product fields in the provided template's format.Expected output: the product's candidate reference and validation record. Do not expect SDK adapter.rs or a GAPE snapshot. For product-managed candidates use the release's export procedure rather than finding and copying arbitrary state files.
Next exercise: follow first Work only after approval, current entitlement and preconditions are established. If validation passed while approval is pending, record candidate preparation/handover complete, Work not executed. Continue with BLD cases and case H below.
Here is an illustrative operator record, not a Builder API payload or an observed receipt. Enter actual values from the installed release and keep the refusal separate from validation:
Release: [signed release ID]
Installation: [customer-approved reference]
Candidate: [Builder candidate ID and revision]
Validation: PASS (structure only)
Approval: PENDING
Entitlement: NOT_CHECKED
Work: NOT_STARTED
Next owner: Pack approval ownerThe candidate declares an audit artifact and structural validation returns PASS. Work submission returns “approval pending.” Record candidate validated / execution not authorized. The next action belongs to the approval owner; repeating submission, using a different account, or copying the candidate into a Pack directory cannot change that state. If approval exists but entitlement is missing, the entitlement owner must resolve the exact customer and installation scope.
The passkey page opens and returns to Builder, but Core does not show a verified approval for the same session, plan, and candidate. Keep the Work in a denied or pending state. Check the displayed correlation ID and the release-defined credential enrollment status; do not paste passkey responses into a support ticket.
Candidate preparation ends with a validated candidate and a recorded handover. Approved Pack use requires separate approval, entitlement, current preconditions, actual Work, validated result, and matching receipt. See the candidate refusal case and first Work guide.
Suppose a team needs a weekly inspection artifact with a different input shape. First check whether the supported input of an existing approved Pack already covers it. If a new candidate is needed, retain the original Pack reference, changed declaration, candidate revision and validation result. The approver reviews that exact candidate digest; the operator separately checks the current installation entitlement and preconditions.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| An old validation result remains after editing | Compare current candidate revision/digest with the validation subject | Validate the edited candidate and bind the new result to the approval request. |
| Approval exists but execution is refused | Approval purpose, candidate, installation scope and current entitlement | Retain the current refusal; have its scope owner resolve it, then recheck the plan. |
| Files remain after a failed mutation | Recorded mutation/rollback state and validation result | Preserve the state and follow the release recovery procedure; deleting outputs does not establish success. |
Handover: original Pack reference, candidate ID/revision/digest, intended change, supported platform, validation, approval, entitlement, preconditions, rollback disposition and next owner. If no Work ran, record candidate preparation only.
These teaching examples use documented input, command and authority boundaries. Read them alongside actual product states/reasons; do not treat illustrative outcomes as execution history. Distinguish checks shared by online/offline environments from checks specific to the optional dependency route.
Situation: A user returns from a passkey page and assumes approval. The product has no verified approval for the same candidate, plan and session.
Read these observations separately.
Check and action sequence:
Condition for resuming: After product confirmation of exact-subject approval, separately check entitlement/preconditions.
If still unresolved: Do not fill missing approval with raw passkey responses or another account’s credentials.
Situation: A candidate/approved Pack operation fails but leaves some files. Before treating presence as success or deleting files and retrying, inspect product failure/rollback state.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record validated recovery separately from any later authorized execution.
If still unresolved: Do not hide failure by deleting original results, marking manual success or using another execution route.
Inspect what you received first. If you received only an approved snapshot and viewer, open the supplied HTML viewer in a browser, read snapshot ID/source revision/disclosure class and select one node. You do not need new source or a new manifest. An owner with an executable and approved manifest can run the local exercise below. A source Document or SDK input.json is not a GAPE manifest.
Replace gape_exe/$gapeExe and gape_manifest/$gapeManifest with the actual executable and approved manifest's absolute paths. The manifest's source paths and revision must exist too. Prepare only the output parent, leaving gape-observation-01 absent. Do not expand the source scope by guessing paths.
gape_exe="/absolute/path/packr-gape"
gape_manifest="/absolute/path/approved-manifest.json"
gape_output="$HOME/gape-observation-01"
test -f "$gape_exe" && test -f "$gape_manifest" || exit 1
test ! -e "$gape_output" || exit 1
"$gape_exe" snapshot "$gape_manifest" "$gape_output" || exit 1
"$gape_exe" validate-snapshot "$gape_output/gape-architecture-snapshot.json" || exit 1
ls -la "$gape_output"$gapeExe = 'C:\absolute\path\packr-gape.exe'
$gapeManifest = 'C:\absolute\path\approved-manifest.json'
$gapeOutput = Join-Path $env:USERPROFILE 'gape-observation-01'
if (!(Test-Path -LiteralPath $gapeExe -PathType Leaf) -or !(Test-Path -LiteralPath $gapeManifest -PathType Leaf)) { throw 'Executable or approved manifest missing' }
if (Test-Path -LiteralPath $gapeOutput) { throw 'Choose a fresh output path' }
& $gapeExe snapshot $gapeManifest $gapeOutput
if ($LASTEXITCODE -ne 0) { throw 'Snapshot failed' }
& $gapeExe validate-snapshot (Join-Path $gapeOutput 'gape-architecture-snapshot.json')
if ($LASTEXITCODE -ne 0) { throw 'Snapshot validation failed' }
Get-ChildItem -LiteralPath $gapeOutputWhat to read: snapshot stdout contains snapshot ID, node/edge/finding counts and execution_authority: NONE. Do not assume zero findings. Preserve validation and actual generated files. Open the included viewer if supplied; otherwise read snapshot JSON in an editor. Do not guess an HTML filename.
Short exercise: record one node's name, source revision, relationship and observation limits. To compare snapshots preserve both originals and check whether the release supports compare before.json after.json. Do not infer behavior outside observation. Keep engineering snapshots internal and use an approved PUBLIC_SAFE projection for external sharing.
If blocked: missing executable → installation preparation; missing source path/revision → approved-input preparation; failed snapshot validation → observation validation. Continue with GAPE-1/2 below; do not invent a manifest to expand scope.
Use GAPE when an integration owner needs to understand which component and interface a proposed operation depends on. Check that the exact release provides the GAPE tool and an approved input manifest. A general source folder, screenshot, or architecture infographic is not a manifest.
packr-gape and an approved manifest, run packr-gape snapshot manifest.json new-output-folder with a new output folder. Otherwise ask for the supported observation procedure.packr-gape validate-snapshot gape-architecture-snapshot.json when that command is supplied. Validation checks the snapshot's structure and provenance, not actual runtime behavior.UNRESOLVED or STALE as findings; do not promote them to consistent by editing the viewer.Use the commands below only when your installation includes packr-gape and an approved manifest for a source tree you are allowed to inspect. The output directory must be new. validate-snapshot checks the snapshot, not the running appliance.
packr-gape snapshot approved-manifest.json new-observation-folder
packr-gape validate-snapshot new-observation-folder/gape-architecture-snapshot.jsonUse the filename actually emitted by your release if it differs from this example; record the manifest digest, source revisions, snapshot ID, validation result, and execution_authority: NONE. If the binary or approved manifest is absent, stop this path and record not supplied for this release.
An operator sees a relationship between PackrGUI and an integration adapter in a GAPE snapshot. The relationship is STATIC_SOURCE; the current customer runtime may use another feature configuration, and a dynamic call may be outside the saved source observation. Record the exact source version shown in the snapshot and ask the integration owner for the supplied Contract and connection evidence. Do not write “connected” or “authorized” in a deployment record.
The snapshot contains an interface association but the expected owner rule is missing or bound to a different revision. GAPE reports UNRESOLVED or STALE. Preserve the manifest identity, snapshot digest, finding, and exact revision. The responsible owner reconciles the Contract and source separately; refreshing a graphic is not a repair.
The observation is complete when the manifest, snapshot validation result, selected projection, revision, disclosure class, limitations, and any unresolved findings are recorded. Integration registration or Work remains a separate path. Continue with Integration Helper or the Contract & Document guide.
Before a new integration, an owner may need to understand which components handle data. Pin the stored revision in the approved manifest and trace one node and its relations. Record provenance and unobserved dynamic paths; when comparing another document, retain both revisions. The diagram alone does not establish a runtime incident cause.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| The source changed but the old snapshot is open | Snapshot time, source revision and manifest digest | Observe approved new inputs into a fresh location and distinguish the earlier snapshot. |
| A node is not visible | Manifest scope, exclusions, supported language and viewer filters | Check scope and record out-of-scope or unconfirmed; do not infer capability absence. |
| A proposed share contains private paths | Projection classification and approved export | Stop sharing and check for an approved PUBLIC_SAFE projection; retain detailed engineering output internally. |
Handover: source revision, manifest and snapshot digests, observation scope, disclosure class, selected nodes/relations, unresolved items and next owner. Keep snapshot validation separate from runtime evidence.
These teaching examples use documented input, command and authority boundaries. Read them alongside actual product states/reasons; do not treat illustrative outcomes as execution history. Distinguish checks shared by online/offline environments from checks specific to the optional dependency route.
Situation: A diagram reported as inconsistent belongs to an earlier stored revision. First distinguish current source, approved manifest and observation revisions.
Read these observations separately.
Check and action sequence:
Condition for resuming: Continue scoped observation review when the intended revision matches a validated snapshot.
If still unresolved: With an unconfirmed manifest/revision, retain unconfirmed observation rather than editing the diagram to match.
Situation: A search finds no component and a user assumes absence. Filters, manifest exclusions and supported language can limit visibility/observation.
Read these observations separately.
Check and action sequence:
Condition for resuming: Cite only relations confirmed for that revision/scope.
If still unresolved: Do not label it unimplemented/absent without source support.
Required: a compatible Helper executable, complete request.json and supplier-published target references. SDK and Helper are separate executables. An SDK JSON excerpt is not a complete request. Before reusing a full SDK example, verify that the Helper release supports the same target and envelope.
request_id, correlation_id, draft and its definition/source/mapping/fixture. Do not add real API tokens.helper-first-01 is a fresh log directory. Run only the first command, then inspect its result.status, reason, lifecycle_stage, next_required_actions and candidate digest. Do not expect a singular next_action field. This CLI can return exit code 0 while printing a typed refusal, so exit code/`$LASTEXITCODE` alone is not permission to proceed.DENIED, implementation-needed, authority-needed or unknown states and read the next actions. r2-submit is unnecessary for the first exercise. Use a new request copy and log folder when modifying inputs.helper_exe="/absolute/path/packr-integration-helper"
helper_request="/absolute/path/request.json"
helper_logs="$HOME/helper-first-01"
test -f "$helper_exe" && test -f "$helper_request" || exit 1
test ! -e "$helper_logs" || exit 1
mkdir "$helper_logs" || exit 1
"$helper_exe" r2-discover "$helper_request" > "$helper_logs/01-discover.json" 2> "$helper_logs/01-discover.stderr.txt"
helper_exit=$?
cat "$helper_logs/01-discover.json"
cat "$helper_logs/01-discover.stderr.txt"
# Record helper_exit separately from JSON status/reason.$helperExe = 'C:\absolute\path\packr-integration-helper.exe'
$helperRequest = 'C:\absolute\path\request.json'
$helperLogs = Join-Path $env:USERPROFILE 'helper-first-01'
if (Test-Path -LiteralPath $helperLogs) { throw 'Choose a fresh log folder' }
New-Item -ItemType Directory -Path $helperLogs -ErrorAction Stop | Out-Null
& $helperExe r2-discover $helperRequest 2> (Join-Path $helperLogs '01-discover.stderr.txt') | Out-File -LiteralPath (Join-Path $helperLogs '01-discover.json') -Encoding utf8
$helperExit = $LASTEXITCODE
Get-Content -LiteralPath (Join-Path $helperLogs '01-discover.json') -Raw -Encoding UTF8
Get-Content -LiteralPath (Join-Path $helperLogs '01-discover.stderr.txt')These are logs, not replacement input requests. Save subsequent outputs separately as 02-normalize, 03-validate, 04-prepare and 05-status. Expected exercise outputs are stage decisions and candidate preparation records, not live API connection, registration or Work. When a published target is missing, use TARGET_NOT_PROVIDED as your progress note and keep it separate from the product's actual reason. See IH-1/2 for refusals and handover.
| Input | Owner | Check before use |
|---|---|---|
| Source Document or bounded MCP transcript | Customer integration owner | Supported revision and data minimization |
| Target Contract, capability, adapter revisions | Supplier-published release package | Exact identifiers and compatibility |
| Request envelope | Release procedure | Request and correlation identities, complete draft |
| Registration approval | Authorized product owner | Exact candidate digest, purpose, customer and installation scope |
status.read with a service string input and service/healthy output. Do not paste a live token or customer response into the document.TARGET_NOT_PROVIDED; a display name that looks similar is not a valid match.r2-discover, r2-normalize, r2-validate, r2-prepare, and r2-status, run those stages in that order with request.json. Preserve each status, reason, stage, and next action.REQUIRES_IMPLEMENTATION still needs an adapter implementation.r2-submit only in the release's authorized submission route. The CLI returns REQUIRES_AUTHORITY without trusted registration transport. Canonical registration requires a separate sealed active approval for the exact candidate and purpose. Registration still does not bind or authorize Work.If your component list includes the Helper executable and a matching complete request.json, run one stage at a time. Preserve each JSON result and read status, reason, stage, and next action before continuing; a shell exit alone is insufficient. The request needs a supported target reference from your release, not the illustrative status.read description above.
packr-integration-helper r2-discover request.json > 01-discover.json
packr-integration-helper r2-normalize request.json > 02-normalize.json
packr-integration-helper r2-validate request.json > 03-validate.json
packr-integration-helper r2-prepare request.json > 04-prepare.json
packr-integration-helper r2-status request.json > 05-status.jsonDecision example: discovery can report status=PASSED, reason=NONE, lifecycle_stage=DISCOVERED while normalization reports DENIED / CONTRACT_INCOMPATIBLE. Keep both files; stop before prepare and obtain the correct published target. Do not run all five commands blindly when an earlier typed result refuses progression.
r2-discover reports status=PASSED, reason=NONE, lifecycle_stage=DISCOVERED for a synthetic status.read document. r2-normalize then reports DENIED / CONTRACT_INCOMPATIBLE because no published target was bound. The source document is structurally accepted; the integration is not ready. Ask the supplier or integration owner for the exact target reference. Do not invent a Contract ID or change the display name until it matches by coincidence.
The validated candidate produces REQUIRES_AUTHORITY at submission. Record the candidate digest and approval purpose requested. The authorized owner must evaluate that exact candidate through the native registration path. Repeating the CLI call or adding a flag cannot turn a preparation status into registration.
Preparation requires the input and target revisions, request identity, each typed result, candidate digest, unresolved gap, and next owner. A live provider connection, registration, binding, authorized Work, and receipt require separate evidence. For the source declaration, continue with Contract & Document.
For example, connect a service-status source Document to published target references. Prepare with synthetic data and inspect status, reason and next action at each stage. A normalization refusal stops progression to prepare/submit. If inputs change, record the new request revision/digest and distinguish the old refusal from the new result.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| Discovery passes but normalization refuses | Source parsing versus exact target Contract/adapter revision | Obtain a published compatible target and validate the changed request from the first affected stage. |
| Only part of the mapping is populated | Required fields, types, supported transforms and omissions | Retain unsupported transforms as requiring implementation; edit only supported declarations. |
| Preparation exists without registration | Candidate digest, submission transport and exact authority purpose | Distinguish preparation from pending registration and hand over to the approved registration owner. |
Handover: full request digest, source/target revisions, request/correlation IDs, typed stage results, candidate digest, scaffold implementation needs, submission/registration state and next owner. Keep live API connection tests separate from preparation results.
These teaching examples use documented input, command and authority boundaries. Read them alongside actual product states/reasons; do not treat illustrative outcomes as execution history. Distinguish checks shared by online/offline environments from checks specific to the optional dependency route.
Situation: Synthetic source read_quality is discovered, but the full request references another Contract/adapter revision. Running straight through preparation would hide the first refusal.
Read these observations separately.
Check and action sequence:
Condition for resuming: Check preparation only after that request passes normalization/semantic validation.
If still unresolved: Without a published target, hand over unavailable-target state instead of inventing IDs/digests.
Situation: Preparation artifacts exist, but CLI submission returns REQUIRES_AUTHORITY. Copying local candidate files into server registration locations is not a remedy.
Read these observations separately.
Check and action sequence:
Condition for resuming: Record registration only from the actual registration result; confirm Work separately.
If still unresolved: Do not turn preparation into registration through repeated CLI submission or copied credentials.
Goal: save the complete source Document below as quality-document.json and check syntax. This file contains a source declaration only; it is not a complete SDK/Helper request or GAPE manifest.
{ through the final }. Do not include code fences or the json label.quality-document.json, UTF-8. Use plain text rather than a Word/formatted document; check for an accidental .json.txt suffix. Reopen the saved file and confirm operations.read_quality exists.properties with their required lists. This review and JSON parsing do not replace product semantic validation.draft.source of the supplier's complete request. Do not insert a file-path string or double-encoded JSON string. Check target references, mapping and fixture separately in the supplied request, then follow Helper's first exercise.document_path="/absolute/path/quality-document.json"
python3 -m json.tool "$document_path"$documentPath = 'C:\absolute\path\quality-document.json'
Get-Content -LiteralPath $documentPath -Raw -Encoding UTF8 -ErrorAction Stop | ConvertFrom-Json -ErrorAction Stop | Format-List
Get-FileHash -LiteralPath $documentPath -Algorithm SHA256Expected result: the parser displays an object without a parsing error. On syntax errors inspect the reported line/column, commas, quotes and braces. This parser does not adjudicate every duplicate key or unsupported product schema. Record syntax checked / Helper semantic validation not executed, and add actual Helper results separately.
Small edit exercise: renaming an input requires reviewing properties, required, explicit request mappings and the supported target together. Check the supplied original once before editing. DOC-1/2 cover name mismatch and incomplete requests.
| Artifact | Example field | Meaning |
|---|---|---|
| Planning brief | “Read one service health state” | Human goal; not parser input |
| Source Document | document_kind: CUSTOM_API | Declared source operation and input/output shape |
| Target reference | contract_id, contract_revision, adapter_id | Values copied from a supported supplier release |
| Complete request envelope | request_id, correlation_id, draft | Machine request; contains the source Document in draft.source |
| Typed result | status, reason, next_required_actions | Product preparation decision; not execution authority |
read_quality accepts a resource name and returns a component name and quality score as strings. It does not change the resource.document_kind to CUSTOM_API, use the supported protocol_revision value, and place read_quality under operations. Declare input_schema as an object with a required resource string. Declare output_schema as an object with required component and score strings. Copy the complete example below for punctuation and nesting; these inline field names are an explanation, not a full JSON file.required lists consistent. The bounded example accepts only supported primitive fields; nested objects, arrays, extra JSON Schema keywords, duplicate keys, and comments are not silently accepted. Never put a credential or sample production response into schema defaults or descriptions.python3 -m json.tool quality-document.json. A syntax PASS proves only that JSON parsed. Preserve the original document and its digest when making a correction.The CUSTOM_API example below declares a read-only read_quality operation. It does not call a live API or create a product Contract. Save the JSON as quality-document.json; put it under draft.source in the complete request supplied for your release and provide a compatible supported target reference.
{
"document_kind": "CUSTOM_API",
"protocol_revision": "1",
"operations": {
"read_quality": {
"input_schema": {
"type": "object",
"properties": {"resource": {"type": "string"}},
"required": ["resource"]
},
"output_schema": {
"type": "object",
"properties": {
"component": {"type": "string"},
"score": {"type": "string"}
},
"required": ["component", "score"]
}
}
}
}python3 -m json.tool quality-document.json > /dev/null
sha256sum quality-document.jsonThe first command proves JSON syntax only. Use shasum -a 256 quality-document.json on macOS or Get-FileHash -Algorithm SHA256 quality-document.json in PowerShell. The Helper's typed validation still decides whether the full envelope, target and mapping are acceptable.
The source document parses and discovery accepts read_quality. The request references an adapter revision from a different release. Normalization refuses the target. Compare the release manifest and supplier reference; correct the target revision in a new request only if an approved compatible value exists. Changing the source operation name to force a match would conceal the actual mismatch.
An editor changes the input property from resource to resource_name but leaves required: ["resource"]. The document is syntactically valid JSON but semantically inconsistent. Restore the property or update the required list, then re-run the exact local parser and Helper validation. Do not treat a successful syntax check as Contract validation.
Keep the source Document revision and digest, exact published target references, request identity, typed Helper result, and remaining approval owner. Do not call the declaration “connected” until actual authenticated registration and runtime evidence exists; do not call it “executed” without Work and receipt.
Suppose a read-only quality query needs one additional output field. Separate the human goal, source schema, target reference and full request envelope. Review output properties, required fields, synthetic response and explicit mapping together. Retain unsupported schema extensions as implementation requirements; a customer document does not replace a product-issued Contract.
| Symptom or situation | Facts to check separately | Action and result to recheck |
|---|---|---|
| JSON parses but semantic validation refuses | Property/required alignment, types and supported schema subset | Record parsing and semantic checks separately; correct the specifically refused declaration. |
| A source-field change no longer matches the mapping digest | Source revision, schema digest and mapping target | Prepare the changed request through supplied normalization/validation; do not edit just the digest. |
| A document includes live tokens or customer responses | Sensitive content in defaults, descriptions, examples and attachments | Stop sharing and create new synthetic inputs; follow organizational exposure handling. |
Handover: source Document revision/digest, envelope revision, published Contract/adapter references, mappings, synthetic inputs/expected outputs, parsing/semantic results and change reason. Distinguish an unfilled template from a complete executable request.
These teaching examples use documented input, command and authority boundaries. Read them alongside actual product states/reasons; do not treat illustrative outcomes as execution history. Distinguish checks shared by online/offline environments from checks specific to the optional dependency route.
Situation: The input property resource is renamed resource_name, but required still lists resource. JSON parsing can succeed while the declaration is semantically inconsistent.
Read these observations separately.
Check and action sequence:
Condition for resuming: Use the changed request for preparation only after both parsing and semantic validation are confirmed.
If still unresolved: Retain unsupported schema extensions as implementation requirements instead of silently accepting them.
Situation: A user saves a short CUSTOM_API example and sends it to Helper/SDK. The source description may be valid, but it is not the complete envelope containing request identity, targets, mappings and fixture.
Read these observations separately.
Check and action sequence:
Condition for resuming: Proceed to preparation only with a complete request and published target validated within supported coverage.
If still unresolved: Do not guess explanatory values as real target identifiers when required references are unavailable.
AI-assisted setup: install the release, connect the agent, then verify actual loading. Use the same common Skill kit across tools. The administrator or setup agent prepares connections; ordinary workers describe their goal and use the approved environment.
This documentation ZIP contains manuals, public agent instructions and reference listings; it contains no product executables or finished OS installers. Follow the supplied release inventory for available components, formats and actual paths. An example package layout below is not proof that the matching installer has been delivered.
| Where | Entry point and purpose | Required observation |
|---|---|---|
| Linux appliance VM | install.sh installs the server release; setup.sh forwards initial configuration and later authorized changes to the supplied native commands. Administrators on any desktop OS use SSH to this same server. | Check the target VM, release identity, service health and actual binding; installation alone does not prove them. |
| Windows / macOS / Linux client | Use the supplied OS installer and client setup entry. MSI/EXE, DMG and DEB are intended client formats, subject to the actual release inventory. Do not run the server installer on a workstation. | Verify OS/CPU and package digest, then open the complete local Manuals tree and Part.1. |
| AI runtime host | Install/import the common Skills and the native MCP adapter matching the OS where the agent actually runs. TOML is a planning worksheet. | Record live protocol/tool responses and the Skill files actually read by that host. File presence alone is insufficient. |
./packr-agent-mcp --version
./packr-agent-mcp register /absolute/private/setup-request.jsonRun this syntax only from the supplied binary directory on a validated supported platform, with real private paths and approved inputs. It is not a ready-to-run installer. If your host has no MCP support, use its permitted public CLI path with the same Skills and authority limits; do not invent a tunnel or shell callback.
MCP connection: use the matching release adapter and catalog, a private setup request and a fresh setup output. Import the generated descriptor into your runtime, then verify initialize, the 13 tool IDs and setup.status. Preserve previous registrations; each changed input or expanded scope needs a fresh reviewed registration.
release / OS / CPU: [actual values]
adapter and catalog digest: [actual values]
manual path: [actual local path]
registration output: [private reference, never secret contents]
MCP handshake / tool IDs / setup status: [observed or not run]
Skills read by the AI host: [exact names or not proven]
appliance identity and health: [observed or not configured]
first refusal and next owner: [reason code or none]OS-specific client guide · Full Skills / MCP / TOML reference · Interrupted setup and later expansion
After setup, use the product in this order. Follow the exact commands and supported components in your signed release documentation.
Part.1 install → Part.2 GAPE → Part.3A Helper planning → Part.4 Document/Contract → Part.3B Helper validation → Part.5 SDK and separate registration if needed → Part.6 Builder if needed → Part.7 GUI/headless → Part.8 operations. When an existing approved Pack meets the need, skip SDK/Builder authoring and check current authority and preconditions.
View workflow, both Helper phases and SDK/Builder skip conditionsPart.1 설치 → Part.2 GAPE → Part.3A Helper 계획 → Part.4 Document·Contract 연결 → Part.3B Helper 검증 → 필요 시 Part.5 SDK·별도 등록 → 필요 시 Part.6 Builder → Part.7 GUI·헤드리스 → Part.8 운영. 기존 승인 Pack으로 해결되면 SDK·Builder 작성은 생략하고 현재 권한·사전 조건을 확인합니다.
순서도·Helper 전후 단계·SDK·Builder 생략 조건 보기English is the default version; Korean is available as a secondary language. Previous file URLs and section links remain usable.
Steps, inputs, outputs and troubleshooting
Open manualA: planning before declarations · B: validation after declarations
Open manualSteps, inputs, outputs and troubleshooting
Open manualSkip authoring for an existing implemented, registered compatible integration
Open manualSkip authoring when an existing approved Pack meets the need
Open manualSteps, inputs, outputs and troubleshooting
Open manualSteps, inputs, outputs and troubleshooting
Open manual영어가 기본 버전이며 한국어를 선택할 수 있습니다. 이전 파일 주소와 절 링크도 계속 사용할 수 있습니다.
단계별 실습·입력·출력·문제 해결
매뉴얼 열기A: 선언 전 계획 · B: 선언 후 검증
매뉴얼 열기단계별 실습·입력·출력·문제 해결
매뉴얼 열기이미 구현·등록된 호환 연동을 쓰면 작성 생략
매뉴얼 열기기존 승인 Pack으로 해결되면 작성 생략
매뉴얼 열기단계별 실습·입력·출력·문제 해결
매뉴얼 열기단계별 실습·입력·출력·문제 해결
매뉴얼 열기This single page can travel with an offline bundle or be served through HTTPS. It does not contact a server, load external assets or submit setup data. The online portal does not own execution authority inside your VM.
For a release-specific installer, compatibility list or support route, use the documents delivered with your signed release. Missing documents or packages mean that component is not ready to install.
Choose a purpose in a Guide, then use the relevant Part for exact tool steps. The same sequence, vocabulary and artifact roles apply in both.
Choose a question, collect scoped observations and review the result. A retained-reading route needs no new installation.
Bind the exact review delivery and criterion evidence. Cloud access, document coverage and actual Google approval remain separate.
Prepare the exact OS, package, network choice and toolchain. Use the local SDK shortcut only after its prerequisites are supplied.
Choose a supported task. Keep source-document preparation, full SDK candidates and actual Work/report inspection as distinct routes.
Helper B checks the completed declarations before you decide whether implementation or a new Pack is needed. After an implementation or declaration change, repeat only the affected supported checks and finish the separate implementation/registration/Pack approval path before operation. A generated candidate grants no operating authority.
Select only the route needed for your goal. Retained PoC reading can begin without installation. A supplied local SDK exercise uses Part.1 → Part.5 and does not require a new GAPE scan or appliance account. An existing approved Pack can use Part.1 → Part.7 → Part.8 after its current prerequisites are checked. New integration/Pack authoring follows the full conditional sequence.
| Part | Role and expected boundary |
|---|---|
| Part.1 · Installation and first connection | OS preparation, supplied packages and first connection. Installation is not an executed Work. |
| Part.2 · GAPE observation, comparison and sharing | Revision-bound architecture observation. A worksheet is not the approved GAPE input manifest. |
| Part.3 · Integration Helper operation | A plans before the Document; B checks the completed full request. Each stage reads its typed status/reason. |
| Part.4 · Contract and Document authoring | Author the source Document and mappings; use the supplied target Contract/revision. JSON syntax alone does not establish semantic compatibility. |
| Part.5 · SDK Engine practice and candidates | Generate a local SDK implementation candidate. Reuse an implemented, registered, release-compatible integration when it already meets the need. |
| Part.6 · Builder and Additional Packs | Prepare a Pack candidate when a new Pack is needed. Reuse an existing approved Pack that meets the goal and installation scope. |
| Part.7 · PackrGUI and headless operation | Use the supplied GUI/headless route under its current authority and preconditions. Inspect the returned Work identity and result. |
| Part.8 · Operations, troubleshooting and support | Compare same-Work artifacts, receipt and closure; keep human acceptance pending until actually recorded. |
The status.read source-only example and the read_quality SDK exercise are different examples. Use a matching complete request; do not pass the status source file directly as the quality SDK request. Expected mapping values below are teaching expectations, not a newly captured run.
| File / role | Input | Output / check |
|---|---|---|
status-document.jsonSource-only CUSTOM_API declaration for status.read. Use it inside the complete supplied preparation request. | service: string | Declared service: string and healthy: boolean. This is a schema, not an observed service response. |
read-only-custom-api.json / custom-api-01.jsonThe complete maintained SDK base request; the guide copy is byte-equivalent JSON. | fixture.response.component = "fixture-component"; score = "97" (string) | STRING_TO_INTEGER maps score to expected integer quality_score 97. The documented SDK result is a local candidate. |
custom-api-02.jsonA complete second SDK request changing only the two fixture response values. | component = "my-test-component"; score = "88" (string) | Expected mapped component is "my-test-component" and quality_score is integer 88. Inspect actual manifest/stages; identical mapping source is possible. |
custom-api-score-number.jsonIntentional negative input, not a successful base example. | fixture.response.score = 88 (JSON number) against a declared string schema | Keep the actual typed failure result. Do not convert the example into a claimed successful candidate. |
Worksheet / SDK artifacts / Work reportsThree different artifact classes: human notes, local compiled candidate, actual Work/report/receipt records. | Use the matching tool and current target; never submit a worksheet or previous result as the next full request. | Bind outputs to the actual input, version, candidate or Work identity. File presence and exit 0 alone are insufficient. |
User-provided conceptual illustration. The n(n−1)/2 table is a theoretical upper bound for a simple undirected graph, not a measured integration count or benchmark. Listed components/features remain release-specific; this is not evidence of reviewer access or customer execution. The displayed edition is an English SVG with current documentation updates; the earlier raster original remains preserved.
가이드에서 목적을 고른 뒤 해당 Part에서 정확한 도구 단계를 확인합니다. 두 문서는 같은 순서·용어·자료 역할을 사용합니다.
질문을 정하고 범위에 맞는 관찰을 모아 결과를 검토합니다. 보존 기록 독해에는 신규 설치가 필요하지 않습니다.
정확한 심사 전달물과 기준 증거를 연결합니다. Cloud 접근·문서 범위·실제 Google 승인은 각각 구분합니다.
정확한 OS·패키지·네트워크 선택·도구 체인을 준비합니다. 로컬 SDK 준비 요건이 제공된 뒤에만 해당 단축 경로를 사용합니다.
지원 작업을 선택합니다. 소스 문서 준비·전체 SDK 후보·실제 Work 및 보고서 확인을 서로 다른 경로로 구분합니다.
Helper B는 구현·새 Pack 필요 여부를 결정하기 전에 완성된 선언을 확인합니다. 구현·선언 변경 후에는 영향을 받은 지원 검사를 다시 수행하고 별도 구현·등록·Pack 승인 경로를 마친 뒤 사용합니다. 생성 후보는 운영 권한을 부여하지 않습니다.
목표에 필요한 경로만 선택합니다. 보존 PoC 독해는 설치 없이 시작할 수 있습니다. 제공된 로컬 SDK 실습은 Part.1 → Part.5를 따르며 새 GAPE 관찰·어플라이언스 계정이 필요하지 않습니다. 기존 승인 Pack은 현재 준비 요건 확인 후 Part.1 → Part.7 → Part.8을 따를 수 있습니다. 새 연동·Pack 작성은 조건부 전체 순서를 따릅니다.
| Part | 역할과 기대 범위 |
|---|---|
| Part.1 · 설치·초기 연결 | OS 준비·제공 패키지·초기 연결입니다. 설치는 실행된 Work가 아닙니다. |
| Part.2 · GAPE 관찰·비교·공유 | 리비전에 고정된 구조 관찰입니다. 워크시트는 승인된 GAPE 입력 매니페스트가 아닙니다. |
| Part.3 · Integration Helper 사용 | A는 Document 작성 전 계획, B는 완성된 전체 요청 확인입니다. 단계마다 타입이 있는 status·reason을 읽습니다. |
| Part.4 · Contract·Document 작성 | 소스 Document·매핑을 작성하고 제공된 대상 Contract·리비전을 사용합니다. JSON 구문만으로 의미상 호환성이 확인되지 않습니다. |
| Part.5 · SDK Engine 실습·연동 후보 | 로컬 SDK 구현 후보를 생성합니다. 기존 구현·등록·릴리스 호환 연동이 요구를 충족하면 재사용합니다. |
| Part.6 · Builder·추가 Pack 사용 | 새 Pack이 필요할 때 Pack 후보를 준비합니다. 목표·설치 범위에 맞는 기존 승인 Pack은 재사용합니다. |
| Part.7 · PackrGUI·헤드리스 사용 | 현재 권한·사전 조건에 따라 제공 GUI·헤드리스 경로를 사용합니다. 반환된 Work 식별·결과를 확인합니다. |
| Part.8 · 운영·문제 해결·지원 | 동일 Work 산출물·영수증·종결을 비교하며 사람 인수은 실제 기록될 때까지 대기로 유지합니다. |
status.read 소스 전용 예제와 read_quality SDK 실습은 서로 다른 예제입니다. 일치하는 전체 요청을 사용하고 status 소스 파일을 quality SDK 전체 요청으로 제출하지 않습니다. 아래 매핑 값은 설명을 위한 기대값이며 새 실행 캡처가 아닙니다.
| 파일 / 역할 | 입력 | 출력 / 확인 |
|---|---|---|
status-document.jsonstatus.read의 소스 전용 CUSTOM_API 선언입니다. 제공된 전체 준비 요청 안에서 사용합니다. | service: string | service: string·healthy: boolean을 선언합니다. 스키마이며 관찰된 서비스 응답이 아닙니다. |
read-only-custom-api.json / custom-api-01.json유지관리되는 전체 SDK 기준 요청이며 가이드 사본은 같은 JSON입니다. | fixture.response.component = "fixture-component"; score = "97" (문자열) | STRING_TO_INTEGER는 score를 기대 정수 quality_score 97로 매핑합니다. 문서의 SDK 결과는 로컬 후보입니다. |
custom-api-02.jsonfixture 응답 값 두 개만 바꾼 두 번째 전체 SDK 요청입니다. | component = "my-test-component"; score = "88" (문자열) | 기대 매핑 component는 "my-test-component", quality_score는 정수 88입니다. 실제 매니페스트·단계를 확인하며 매핑 소스는 같을 수 있습니다. |
custom-api-score-number.json정상 기준 예제가 아닌 의도적 오류 입력입니다. | 선언된 문자열 스키마에 fixture.response.score = 88 (JSON 숫자) 사용 | 실제 타입 오류 결과를 보존하며 이 예제를 성공 후보로 기록하지 않습니다. |
Worksheet / SDK artifacts / Work reports사람 기록·로컬 컴파일 후보·실제 Work 및 보고서·영수증이라는 서로 다른 산출물 종류입니다. | 해당 도구·현재 타깃을 사용하며 워크시트·이전 결과를 다음 전체 요청으로 제출하지 않습니다. | 실제 입력·버전·후보 또는 Work 식별에 출력을 연결합니다. 파일 존재·종료 0만으로는 충분하지 않습니다. |