Skip to main content

external-attach-diagnostic

Guarded macOS-only external attach diagnostic: verifies a live LingTai PID and incarnation against an exact agent directory, captures bounded /usr/bin/sample stacks plus content-free runtime facts, and optionally performs one controlled external mcp.* burst without exercising NotificationStore locking.

설치로 이동

소스 정보

저장소
Lingtai-AI/lingtai-kernel
최근 소스 활동
2026년 8월 24일 06:36
감지된 SKILL.md 언어
영어
스타
11
포크
14

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
external-attach-diagnostic
description
Guarded macOS-only external attach diagnostic: verifies a live LingTai PID and incarnation against an exact agent directory, captures bounded /usr/bin/sample stacks plus content-free runtime facts, and optionally performs one controlled external mcp.* burst without exercising NotificationStore locking.
version
1.0.0
last_changed_at
2026-08-24T02:20:00Z
tags
["lingtai","diagnostic","external","attach","sample","stack","pid","privacy","notification"]
related_files
["src/lingtai/intrinsic_skills/system-manual/reference/external-attach-diagnostic/scripts/external_attach_diagnostic.py","src/lingtai/adapters/posix/process_identity.py","src/lingtai/adapters/posix/process_scan.py","src/lingtai/kernel/process_match.py","src/lingtai/kernel/runtime_identity.py"]
maintenance
Keep host support, process-incarnation checks, data-minimization boundaries, and controlled-burst semantics synchronized with the named runtime helpers.
# External Attach Diagnostic Use this **only for an authorized, live macOS incident investigation** when an external observer needs bounded process stacks. It is a reusable script, not an in-process debug mode and not a timing profiler: its samples are **stacks, not semantic stage timings**. The script is at `scripts/external_attach_diagnostic.py`. Run it from a Python environment that can import the target LingTai runtime. It requires exact `--agent-dir` and `--pid`, plus an **absent** absolute `--artifact-dir`: ```bash python3 scripts/external_attach_diagnostic.py \ --agent-dir /absolute/path/to/agent \ --pid 12345 \ --artifact-dir /absolute/empty-parent/attach-20260824 ``` ## Preconditions and refusal rules 1. It is macOS-only and requires executable `/usr/bin/sample`. Unsupported host/tool failure happens **before** it creates the artifact directory or mutates the agent directory. 2. `--agent-dir` and the artifact parent must be canonical absolute directories; the artifact target itself must not exist. The script creates only that new evidence directory (mode `0700`). 3. The supplied PID is verified through the existing process-table adapter and canonical `match_agent_run`, then bound to a stable existing `process_identity` before and after each capture. It never trusts PID alone or a command substring. 4. Default mode is observational with respect to the agent: it writes only the requested evidence directory and **refuses any notification mutation** unless the explicit controlled-burst flag is present. Artifacts contain bounded `/usr/bin/sample` stack files and an `evidence.json` record with a hashed start-identity token, kernel identity, heartbeat age, and safe file counts. They do **not** read or record prompt, notification, tool, or secret bodies. Stack capture does not infer semantic stages or timings. Optional related PIDs are operator-supplied only and must each have a stable incarnation identity: ```bash python3 scripts/external_attach_diagnostic.py \ --agent-dir /absolute/path/to/agent --pid 12345 \ --related-pid 12361 --related-pid 12372 \ --sample-seconds 3 --artifact-dir /absolute/empty-parent/attach-20260824 ``` `--sample-seconds` is bounded to 1–10 seconds; at most eight related PIDs are accepted. The script suppresses `/usr/bin/sample` stdout/stderr from the artifact record and stores only stack outputs. ## Controlled external producer burst (exceptional) This is a **separate, explicitly opt-in** simulation of an external producer; it does not call the Store and therefore does **not** exercise Store locking. After all read-only preflight and stack capture succeeds, it atomically creates exactly one unique, content-free file: ```bash python3 scripts/external_attach_diagnostic.py \ --agent-dir /absolute/path/to/agent --pid 12345 \ --artifact-dir /absolute/empty-parent/attach-control \ --controlled-burst --burst-run-id incident-20260824-a ``` The target is exactly `.notification/mcp.external-attach-diagnostic.<run-id>.json`. Its exclusive creation refuses an existing target rather than overwriting or merging any notification. The payload is only a control marker/run ID; it contains no prompt, notification, or tool body. The script never creates `.notification/` for this purpose: a canonical existing directory is required. If cleanup is authorized after observing the burst, use the same exact run ID: ```bash python3 scripts/external_attach_diagnostic.py \ --agent-dir /absolute/path/to/agent --pid 12345 \ --artifact-dir /absolute/empty-parent/attach-cleanup \ --cleanup-controlled-burst --burst-run-id incident-20260824-a ``` Cleanup is deliberately narrow: it revalidates the exact filename and its own content-free marker before deleting it. It cannot enumerate, clear, or touch any other notification file, and it refuses an absent, malformed, altered, or foreign target. ## Limits - No in-process debug mode, cache, notification cap, database, refresh, restart, or daemon-manager operation is involved. - It cannot establish causality from stacks. Preserve external timing/incident context separately if authorized. - A changed PID incarnation during preflight or sampling makes the invocation fail rather than attributing output to a recycled PID. - Do not use this script as a notification Store concurrency test. The focused cross-process Store tests own real native lock-path coverage.
GitHub에서 보기