#374 by GitHub stars
rpamis/comet
Comet: agent skill harness for turning ideas into evaluated workflows
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
assets/skills-maintainer/comet-bilingual-docs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-github/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-github-ci-triage/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-github-idea-to-issue/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-github-issue-fix/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-github-issue-triage/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-github-pr-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-release/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-runtime-diagnose/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-maintainer/comet-safe-delivery/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-any/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-archive/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-build/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-classic/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-hotfix/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-memory/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-native/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-open/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-tweak/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills-zh/comet-verify/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-any/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-archive/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-build/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-classic/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-hotfix/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-memory/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-native/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-open/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-tweak/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
assets/skills/comet-verify/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/skills/code-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/skills/grill-me/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/skills/grilling/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/skills/implement/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/skills/setup-matt-pocock-skills/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/skills/tdd/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/skills/to-spec/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/archives/grill-test-20261013/application/skills/to-tickets/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/039-release/comet-classic-039/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/039-release/comet-classic-039-archive/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/039-release/comet-classic-039-build/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/039-release/comet-classic-039-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/039-release/comet-classic-039-hotfix/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/039-release/comet-classic-039-open/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/039-release/comet-classic-039-tweak/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/039-release/comet-classic-039-verify/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/040-beta/comet/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/040-beta/comet-archive/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/040-beta/comet-build/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/040-beta/comet-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/040-beta/comet-hotfix/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/040-beta/comet-open/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/040-beta/comet-tweak/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/040-beta/comet-verify/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-apply-change/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-archive-change/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-bulk-archive-change/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-continue-change/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-explore/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-ff-change/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-new-change/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-onboard/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-propose/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-sync-specs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/openspec/openspec-verify-change/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/brainstorming/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/dispatching-parallel-agents/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/executing-plans/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/finishing-a-development-branch/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/receiving-code-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/using-git-worktrees/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/verification-before-completion/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/writing-plans/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 4901cac9330f
No earlier version was observed for comparison.
eval/local/skills/benchmarks/dependency/superpowers/writing-skills/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
4901cac9330f → 1fb0f0705827
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 4901cac9330f
No earlier version was observed for comparison.
Verified commit 1fb0f070582714f8dd36cd01b7681a8aa0310942
git clone --filter=blob:none --no-checkout https://github.com/rpamis/comet.git .hotskills/rpamis-comet && git -C .hotskills/rpamis-comet checkout --detach 1fb0f070582714f8dd36cd01b7681a8aa0310942
# Copy each selected skill directory from .hotskills/rpamis-comet into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/rpamis/comet.git .hotskills/rpamis-comet && git -C .hotskills/rpamis-comet checkout --detach 1fb0f070582714f8dd36cd01b7681a8aa0310942
# Copy each selected skill directory from .hotskills/rpamis-comet into .agents/skills/<skill-name>/Heat
6.3- Star growth, last 7 daysAhead of 74% of tracked repositories
- Star growth, last 24 hoursAhead of 85% of tracked repositories
- Rank movement, last 7 daysAhead of 47% of tracked repositories
- Commits, last 30 daysAhead of 87% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- comet-bilingual-docs
assets/skills-maintainer/comet-bilingual-docs - comet-github
assets/skills-maintainer/comet-github - comet-github-ci-triage
assets/skills-maintainer/comet-github-ci-triage - comet-github-idea-to-issue
assets/skills-maintainer/comet-github-idea-to-issue - comet-github-issue-fix
assets/skills-maintainer/comet-github-issue-fix - comet-github-issue-triage
assets/skills-maintainer/comet-github-issue-triage - comet-github-pr-review
assets/skills-maintainer/comet-github-pr-review - comet-release
assets/skills-maintainer/comet-release - comet-runtime-diagnose
assets/skills-maintainer/comet-runtime-diagnose - comet-safe-delivery
assets/skills-maintainer/comet-safe-delivery - comet
assets/skills-zh/comet - comet-any
assets/skills-zh/comet-any - comet-archive
assets/skills-zh/comet-archive - comet-build
assets/skills-zh/comet-build - comet-classic
assets/skills-zh/comet-classic - comet-design
assets/skills-zh/comet-design - comet-hotfix
assets/skills-zh/comet-hotfix - comet-memory
assets/skills-zh/comet-memory - comet-native
assets/skills-zh/comet-native - comet-open
assets/skills-zh/comet-open - comet-review
assets/skills-zh/comet-review - comet-tweak
assets/skills-zh/comet-tweak - comet-verify
assets/skills-zh/comet-verify - comet
assets/skills/comet - comet-any
assets/skills/comet-any - comet-archive
assets/skills/comet-archive - comet-build
assets/skills/comet-build - comet-classic
assets/skills/comet-classic - comet-design
assets/skills/comet-design - comet-hotfix
assets/skills/comet-hotfix - comet-memory
assets/skills/comet-memory - comet-native
assets/skills/comet-native - comet-open
assets/skills/comet-open - comet-review
assets/skills/comet-review - comet-tweak
assets/skills/comet-tweak - comet-verify
assets/skills/comet-verify - grill-test
eval/archives/grill-test-20261013/application - code-review
eval/archives/grill-test-20261013/application/skills/code-review - grill-me
eval/archives/grill-test-20261013/application/skills/grill-me - grilling
eval/archives/grill-test-20261013/application/skills/grilling - implement
eval/archives/grill-test-20261013/application/skills/implement - setup-matt-pocock-skills
eval/archives/grill-test-20261013/application/skills/setup-matt-pocock-skills - tdd
eval/archives/grill-test-20261013/application/skills/tdd - to-spec
eval/archives/grill-test-20261013/application/skills/to-spec - to-tickets
eval/archives/grill-test-20261013/application/skills/to-tickets - comet
eval/local/skills/benchmarks/039-release/comet-classic-039 - comet-archive
eval/local/skills/benchmarks/039-release/comet-classic-039-archive - comet-build
eval/local/skills/benchmarks/039-release/comet-classic-039-build - comet-design
eval/local/skills/benchmarks/039-release/comet-classic-039-design - comet-hotfix
eval/local/skills/benchmarks/039-release/comet-classic-039-hotfix - comet-open
eval/local/skills/benchmarks/039-release/comet-classic-039-open - comet-tweak
eval/local/skills/benchmarks/039-release/comet-classic-039-tweak - comet-verify
eval/local/skills/benchmarks/039-release/comet-classic-039-verify - comet
eval/local/skills/benchmarks/040-beta/comet - comet-archive
eval/local/skills/benchmarks/040-beta/comet-archive - comet-build
eval/local/skills/benchmarks/040-beta/comet-build - comet-design
eval/local/skills/benchmarks/040-beta/comet-design - comet-hotfix
eval/local/skills/benchmarks/040-beta/comet-hotfix - comet-open
eval/local/skills/benchmarks/040-beta/comet-open - comet-tweak
eval/local/skills/benchmarks/040-beta/comet-tweak - comet-verify
eval/local/skills/benchmarks/040-beta/comet-verify - openspec-apply-change
eval/local/skills/benchmarks/dependency/openspec/openspec-apply-change - openspec-archive-change
eval/local/skills/benchmarks/dependency/openspec/openspec-archive-change - openspec-bulk-archive-change
eval/local/skills/benchmarks/dependency/openspec/openspec-bulk-archive-change - openspec-continue-change
eval/local/skills/benchmarks/dependency/openspec/openspec-continue-change - openspec-explore
eval/local/skills/benchmarks/dependency/openspec/openspec-explore - openspec-ff-change
eval/local/skills/benchmarks/dependency/openspec/openspec-ff-change - openspec-new-change
eval/local/skills/benchmarks/dependency/openspec/openspec-new-change - openspec-onboard
eval/local/skills/benchmarks/dependency/openspec/openspec-onboard - openspec-propose
eval/local/skills/benchmarks/dependency/openspec/openspec-propose - openspec-sync-specs
eval/local/skills/benchmarks/dependency/openspec/openspec-sync-specs - openspec-verify-change
eval/local/skills/benchmarks/dependency/openspec/openspec-verify-change - brainstorming
eval/local/skills/benchmarks/dependency/superpowers/brainstorming - dispatching-parallel-agents
eval/local/skills/benchmarks/dependency/superpowers/dispatching-parallel-agents - executing-plans
eval/local/skills/benchmarks/dependency/superpowers/executing-plans - finishing-a-development-branch
eval/local/skills/benchmarks/dependency/superpowers/finishing-a-development-branch - receiving-code-review
eval/local/skills/benchmarks/dependency/superpowers/receiving-code-review - requesting-code-review
eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review - subagent-driven-development
eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development - systematic-debugging
eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging - test-driven-development
eval/local/skills/benchmarks/dependency/superpowers/test-driven-development - using-git-worktrees
eval/local/skills/benchmarks/dependency/superpowers/using-git-worktrees - verification-before-completion
eval/local/skills/benchmarks/dependency/superpowers/verification-before-completion - writing-plans
eval/local/skills/benchmarks/dependency/superpowers/writing-plans - writing-skills
eval/local/skills/benchmarks/dependency/superpowers/writing-skills
How it works
comet-bilingual-docs
When your agent uses it
在保留已确认语义、仓库结构、子模块边界和聚焦验证的前提下,同步 Comet 中英文文档、README、Skill、发布说明和网站页面。文档变更需要保持双语,或中文措辞需要英文对应版本时使用。
What it loads into context
Frontmatter
80 tokensAlways available to the agent
SKILL.md
458 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 确定源语义
- 谨慎同步
- 验证与报告
Files
SKILL.mdcore1,716 bytesagents/openai.yamlasset217 bytes../comet-github/references/maintainer-contract.mddoc2,302 bytes
Read SKILL.md
# Comet 双语文档
先读取 `../comet-github/references/maintainer-contract.md`,并将文档变更限制在用户要求的范围内。
## 确定源语义
1. 确认权威的行为、发布范围或已接受的中文措辞。
2. 先更新并审阅中文语义。翻译时不要静默改变已经确认的用户可见术语。
3. Skill 内容需要用户确认时,在中文版本完成后暂停;确认后再同步英文版本。
4. 明确要求发布同步时,保持主 Changelog 和中英文网站页面的用户可见语义及信息架构一致。
## 谨慎同步
- 除非变更确实需要,准确保留示例、命令名、配置键、链接、锚点和代码围栏。View the complete source on GitHubcomet-github
When your agent uses it
将 Comet GitHub 维护请求路由到基于证据的 PR 审阅、Issue 分诊、本地想法收集、CI 诊断或 Issue 实施流程。用户提到 Comet GitHub Issue/PR 但未指定流程,或询问下一步如何处理时使用。
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
480 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 按意图路由
- 共享路由规则
- 交接输出
Files
SKILL.mdcore1,752 bytesagents/openai.yamlasset249 bytesreferences/maintainer-contract.mddoc2,302 bytes
Read SKILL.md
# Comet GitHub
将本 Skill 作为 Comet GitHub 工作的明确入口。路由前先读取[共享维护者契约](references/maintainer-contract.md)。
## 按意图路由
- “审阅 PR / 看这个 PR” → `comet-github-pr-review`
- “看下这个 Issue 是否成立 / 是不是 Bug” → `comet-github-issue-triage`
- “把这个本地想法提成 Issue” → `comet-github-idea-to-issue`
- “CI 有报错 / 哪个 job 失败了” → `comet-github-ci-triage`
- “按照这个 Issue 修复” → `comet-github-issue-fix`
如果请求同时包含审阅和修复,先完成只读诊断,再说明建议交接到哪个流程。不得从分析阶段无声地跨入代码修改或 GitHub 写操作。
View the complete source on GitHubcomet-github-ci-triage
When your agent uses it
使用 PR 当前准确 head、失败 job 日志、本地复现边界和可合并状态,诊断 Comet PR 的 GitHub Actions 与覆盖率检查。PR 出现 CI 报错、Codecov 问题、过期检查或无法解释的红色 job 时使用。
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
530 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 检查准确的远端状态
- 分类失败原因
- 准确报告状态
Files
SKILL.mdcore2,001 bytesagents/openai.yamlasset235 bytes../comet-github/references/maintainer-contract.mddoc2,302 bytes
Read SKILL.md
# Comet GitHub CI 分诊
先读取 `../comet-github/references/maintainer-contract.md`。默认只做诊断;只有用户要求时才实施修复。
## 检查准确的远端状态
1. 解析 PR,记录当前 head SHA 和目标分支。
2. 运行 `gh pr checks <pr> --json name,state,bucket,link,workflow,startedAt,completedAt`。
3. 对失败 job 使用 `gh run view <run-id> --log-failed` 或最小范围的 job 日志检查真实失败边界。不要在没有日志证据时相信聚合助手摘要。
4. 检查可合并状态,并确认显示的检查属于当前 head。过期 run 不能证明当前代码有问题。
5. Codecov 页面信息不完整时,通过可用 API 检查受影响文件和 patch coverage 元数据,并报告准确 head 和覆盖率范围。
## 分类失败原因
View the complete source on GitHubcomet-github-idea-to-issue
When your agent uses it
基于当前代码库,将本地 Comet 想法、观察到的回归或改进提案整理为聚焦的 GitHub Issue 草稿。用户要求把本地调查转换为 Issue、后续 Issue、Bug、Feature 或维护任务时使用。
What it loads into context
Frontmatter
78 tokensAlways available to the agent
SKILL.md
466 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 确定 Issue 内容
- 起草正文
- 确认后再发布
Files
SKILL.mdcore1,819 bytesagents/openai.yamlasset261 bytes../comet-github/references/maintainer-contract.mddoc2,302 bytes
Read SKILL.md
# Comet 本地想法转 GitHub Issue
先读取 `../comet-github/references/maintainer-contract.md`。起草阶段只读;创建 GitHub Issue 必须得到明确确认。
## 确定 Issue 内容
1. 理解本地观察,检查当前实现、测试、Runtime 路径和相关文档。
2. 按领域概念搜索已有 GitHub Issue 和 PR,判断这是重复问题、已有 Issue 的 follow-up,还是新报告。
3. 选择最匹配的仓库模板:bug、feature、task 或 question。起草字段前先读取当前 YAML 模板。
4. 区分用户可见问题和推测的实现原因。只有有助于复现或界定范围时才写入实现细节。
## 起草正文
生成以下内容:View the complete source on GitHubcomet-github-issue-fix
When your agent uses it
在隔离范围内,通过所属 Native 或 Classic workflow、匹配风险的测试、生成 Runtime 检查和谨慎交付,实施已确认的 Comet GitHub Issue 或 review 阻塞项。用户明确要求修复已验证的 Issue 或 PR 问题时使用。
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
455 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 确认工作边界
- 通过 Comet 所属流程实施
- 验证与交接
Files
SKILL.mdcore1,872 bytesagents/openai.yamlasset237 bytes../comet-github/references/maintainer-contract.mddoc2,302 bytes
Read SKILL.md
# Comet GitHub Issue 修复
先读取 `../comet-github/references/maintainer-contract.md`。将 Issue 或 review 作为输入契约,不要把它当作修改 GitHub 或发布代码的授权。
## 确认工作边界
1. 阅读实时 Issue/PR,验证报告的问题确实存在。不要实施未经确认的 review bot 推测。
2. 确认目标分支、仓库状态、已有脏文件和关联 worktree。
3. 保护用户当前 checkout。目标分支或工作区较脏时,使用隔离的 worktree/branch。
4. 编辑前定义最小行为、文件、测试、生成资产、文档和非目标范围。
## 通过 Comet 所属流程实施
- Native 工作使用 Native workflow,Classic 工作使用 Classic workflow。View the complete source on GitHubcomet-github-issue-triage
When your agent uses it
对照当前仓库契约、源码、Runtime、测试和安装行为,验证并分类 Comet GitHub Issue。用户询问 Issue 是否真实、可复现、重复、已实现、属于配置问题,或是否适合后续处理时使用。
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
524 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 收集当前证据
- 分类结果
- 报告与下一步
Files
SKILL.mdcore2,134 bytesagents/openai.yamlasset232 bytes../comet-github/references/maintainer-contract.mddoc2,302 bytes
Read SKILL.md
# Comet GitHub Issue 分诊
先读取 `../comet-github/references/maintainer-contract.md`。除非用户明确授权 GitHub 或代码变更,否则保持只读。
## 收集当前证据
1. 阅读完整 Issue 正文、评论、标签、作者、时间、关联 PR 和此前的分诊记录。
2. 按领域概念搜索已有 Issue,而不只是复用报告者的原文措辞。识别重复、被替代的 Issue 和已经实现的行为。
3. 检查当前源码、配置、安装路径、生成资产和相关测试,以实际仓库契约作为判断依据。
4. Bug 信息充分时复现最小有效路径。环境或凭证问题需要区分本地设置和产品行为。
不要仅因描述听起来合理就认定存在缺陷。报告可能有效、夸大、过期,或由本地安装/配置不一致造成。
## 分类结果View the complete source on GitHubcomet-github-pr-review
When your agent uses it
以只读、证据优先的方式审阅 Comet 社区 PR,包括最新 diff、关联 Issue、review thread 状态、可合并性和 CI。用户要求审阅 PR、判断评论是否仍然有效,或准备简洁的合并阻塞评论时使用。
What it loads into context
Frontmatter
80 tokensAlways available to the agent
SKILL.md
607 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 刷新目标状态
- 审阅实现
- 只报告必须处理的问题
- 评论和修复边界
Files
SKILL.mdcore2,417 bytesagents/openai.yamlasset235 bytes../comet-github/references/maintainer-contract.mddoc2,302 bytes
Read SKILL.md
# Comet GitHub PR 审阅
先读取 `../comet-github/references/maintainer-contract.md`。除非用户另行授权修复或回复 GitHub,否则保持只读。
## 刷新目标状态
1. 解析 PR 编号或 URL,并确认仓库。
2. 获取当前 PR 元数据:目标分支、源分支和 SHA、作者、关联 Issue、标签、可合并状态和更新时间。
3. 阅读完整 PR 正文、提交、diff、评论和 review thread。确认 thread 是否已解决或过期,不要把所有可见评论都当作仍然有效。
4. 查询准确 head 对应的当前检查。如果有失败检查,将详细调查交给 `comet-github-ci-triage`。
结论必须基于当前 PR head/base。测试通过不能证明 PR 可合并,因为 head 可能落后于 base 或存在当前冲突。
## 审阅实现View the complete source on GitHubcomet-release
When your agent uses it
根据真实版本和分支范围准备 Comet 发布或发布说明更新,保持 Changelog 面向用户、双语网站文档一致、生成资产已验证,并明确 Git 交付边界。Beta、hotfix、版本检查、发布说明或发布就绪检查时使用。
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
492 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 确定发布范围
- 编写发布内容
- 验证发布就绪
Files
../comet-github/references/maintainer-contract.mddoc2,302 bytesSKILL.mdcore2,042 bytesagents/openai.yamlasset216 bytes
Read SKILL.md
# Comet 发布
先读取 `../comet-github/references/maintainer-contract.md`。本 Skill 负责准备发布资产;commit、push、tag、GitHub Release 和 npm 发布仍然需要单独授权。
## 确定发布范围
1. 阅读 `package.json`、lockfile 元数据、当前顶部 Changelog 标题、当前分支、`origin/master`、上一发布 tag 以及 release/hotfix 分支范围。
2. 判断当前分支是否已有高于 master 的版本。如果已有,就追加或重写同一个版本,不要创建重复版本。
3. 根据真实发布范围列出候选变更,只保留用户从上一版本升级后能够感知的内容。
4. 将条目分类为 Added、Changed、Fixed、Removed 或 Security。只有已发布基线中已经存在的用户问题才归入 Fixed。
## 编写发布内容
使用专业、中性、面向用户的英文 Changelog。描述行为和价值,不写实现过程、bundle/cache 细节、生成文件名、Git 对象 ID、review follow-up 或普通测试重构。View the complete source on GitHubcomet-runtime-diagnose
When your agent uses it
通过区分过期配置与源码缺陷,并执行真实打包 Runtime 路径,诊断 Comet Hook、安装、路由、平台、生成 Runtime 或生命周期行为。Hook 或安装报告可能涉及配置、生成资产漂移、不支持的平台或跨项目归属问题时使用。
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
493 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 确定问题边界
- 执行真实路径
- 报告诊断结果
Files
../comet-github/references/maintainer-contract.mddoc2,302 bytesSKILL.mdcore1,978 bytesagents/openai.yamlasset260 bytes
Read SKILL.md
# Comet Runtime 诊断
先读取 `../comet-github/references/maintainer-contract.md`。修改源码或重新安装前,先完成诊断。
## 确定问题边界
将报告分类为以下一种或多种:
- 本地安装过期或不完整;
- 项目/全局配置或路径归属问题;
- 源码/Runtime 逻辑缺陷;
- 生成资产漂移;
- 平台注册、安装或卸载不一致;
- 文档或生命周期契约不一致。View the complete source on GitHubcomet-safe-delivery
When your agent uses it
在保护无关脏改动、关联 worktree、子模块和用户明确边界的前提下,提交、推送、合并或完成范围明确的 Comet 变更。用户要求提交、推送、合并回目标分支、清理 worktree 或交付已准备好的改动时使用。
What it loads into context
Frontmatter
88 tokensAlways available to the agent
SKILL.md
503 tokensWhen the skill is activated
Reference documents
582 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 交付前检查
- 暂存与验证
- 交付
Files
../comet-github/references/maintainer-contract.mddoc2,302 bytesSKILL.mdcore1,878 bytesagents/openai.yamlasset249 bytes
Read SKILL.md
# Comet 安全交付
先读取 `../comet-github/references/maintainer-contract.md`。只有用户明确授权后才执行 Git 交付动作;本 Skill 永远不会发布到 npm。
## 交付前检查
1. 记录当前分支、upstream、`git status --short --branch` 和 `git worktree list --porcelain`。
2. 检查 diff,确定准确的目标路径。如果与无关改动重叠,先确认范围。
3. 确认目标分支和 remote,不要静默切换分支或改变交付目标。
4. 涉及子模块时,先确认子模块自己的分支/状态;得到授权交付时,先提交子模块,再更新父仓库 gitlink。
## 暂存与验证
- 只暂存明确的目标路径;混合工作区中不要使用宽泛的暂存命令。View the complete source on GitHubcomet
When your agent uses it
Comet 工作流入口。当用户明确调用 /comet,或明确要求使用 Comet 但未指定 Native/Classic 时使用;按项目配置加载 Native 或 Classic。
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
631 tokensWhen the skill is activated
Reference documents
1,977 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,668 bytesagents/openai.yamlasset109 bytesreference/edit-review.mddoc2,325 bytesreference/host-check.mddoc1,872 bytesreference/task-learning.mddoc3,661 bytesruntime/classic/checks.yamlasset120 bytesruntime/classic/guardrails.yamlasset236 bytesruntime/classic/skill.yamlasset4,319 bytes
Read SKILL.md
# Comet 入口
`/comet` 按项目配置选择 Native 或 Classic,再将用户请求交给相应的工作流 Skill 执行。
加载本 Skill 后,立即执行下方步骤。此时用户已选择使用 Comet,应继续处理请求,不再判断是否需要使用 Comet,也不能只给出不执行的理由。
1. 在当前项目运行 PATH 中安装的 Comet CLI:
```text
comet workflow resolve . --activate --json
```
若项目还没有 `.comet/config.yaml`,该命令会把全局默认配置保存到项目中,并创建对应的产物目录。此后修改全局默认值,不会覆盖这个项目已经保存的配置。
View the complete source on GitHubcomet-any
When your agent uses it
根据目标调查 Skills,创作 Native 扩展、Classic 编排或独立应用的完整入口 Skill 与业务 Rule;确认后由 SDK 装配 Runtime、接入 Hook 并预览安装。不用于一般 Skill 的整理或评审。
What it loads into context
Frontmatter
70 tokensAlways available to the agent
SKILL.md
1,481 tokensWhen the skill is activated
Reference documents
2,336 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 开始或继续
- 分析与方案
- 确认、验证与交付
- 恢复边界
Files
SKILL.mdcore5,889 bytesagents/openai.yamlasset186 bytesreference/sdk-creation.mddoc9,312 bytes
Read SKILL.md
# Comet Any
根据用户目标调查真实 Skills,创作组合应用的正文、流程和业务实现。通过 `comet creator` 保存方案与进度,每完成一个阶段就读取当前动作,推进到完成、需要用户决定或外部能力阻塞。
Agent 编写入口 Skill、业务 Rule、执行端口与验证器;SDK 保留正文,追加执行协议和通用保护规则,并装配 Runtime。业务 Rule 描述业务约束,Runtime 与 Guard 控制动作、批准和写入权限。安装使用 SDK 正式分发。
## 开始或继续
1. 已知创作名称时运行 `comet creator status <name> --project <项目> --json`,再执行 `comet creator next <name> --project <项目> --json`。保留原名称与 Run;中断后先查询原 Action,不重复发起已完成工作。
2. 新创作先读取 `comet creator guide --project <项目> --json`。从用户描述确定目标与安装位置;只有无法调查且会改变结果的选择才询问用户。使用 `comet creator start <name> --project <项目> --goal <用户目标> --install-target <相对目录> --host codex|claude-code --json` 启动。
3. 首次领取或提交动作前,读取[创作动作与恢复](reference/sdk-creation.md)。使用返回的 Action、attempt、inputHash 和本次宿主会话标识;当前动作没有所需能力时明确阻塞,保留现场。
## 分析与方案
View the complete source on GitHubcomet-archive
When your agent uses it
归档并交付 Classic change。在用户调用 /comet-archive,或 Classic Runtime 进入 Archive、恢复交付时使用。
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
1,258 tokensWhen the skill is activated
Reference documents
3,944 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run 路径
- Compat 路径
Files
SKILL.mdcore4,926 bytesagents/openai.yamlasset199 bytesreference/compat.mddoc16,204 bytes
Read SKILL.md
# Comet 阶段 5:归档(Archive)
首次进入阶段、交接给新 Agent 或上下文恢复后,读取并执行 [任务上下文与产物语言](../comet-classic/reference/scripts.md#任务上下文与产物语言),优先采用当前 continuation 或已领取 Action 的 `contextRequest`;同一阶段连续执行不重复获取。
收到入口返回的 layout 后,按 `comet-classic/reference/classic-layout.md` 确定各逻辑根对应的目录。当前上下文已有这份协议时,无需重复加载。本文件中的 OpenSpec CLI 调用均通过适配器执行,文件路径均基于已绑定的 `<classic-*>` 根目录,无需先额外运行 root show。
## SDK Run 路径
首次进入当前 SDK 阶段、换 Agent 或恢复上下文时,读取[阶段入口与恢复](../comet-classic/reference/sdk-methods.md#阶段入口与恢复)及该参考的当前阶段章节;本会话已有且仍有效时直接复用。下文按当前阶段执行;`nextAction.kind` 的恢复路由只适用于没有 continuation mode 的旧响应。
优先复用同一 change、工作区和 Run 的最新有效响应中的 `agent.continuation`、`data.nextAction`、phase、revision 和路径摘要。只有冷恢复、工作区或外部状态变化、响应版本已过期或缺少当前步骤必要信息时,才运行 `comet state next <change-name> --json`;不要因加载下一 Skill 再读一次。后续写操作仍由 Runtime 校验当前版本与证据,不能用缓存跳过检查或批准。确认 `data.runtimeFormat: sdk`、phase 和 `nextAction.kind`,在已绑定的 `projectRoot` 执行;路径缺失或绑定发生变化时才运行 `comet classic workspace resolve <change-name> --json`。SDK Run 的 Verify 收据必须仍有效;状态文件和验证报告存在并不表示已获归档授权。`reconcile` 时运行 `comet state check <change-name> archive --recover --json` 核对原 Action 与磁盘、Git 证据,结果未明时不重做归档、提交、push 或 PR。
1. 复用当前有效的状态、工作区和证据摘要;缺少时运行 `comet state check <change-name> archive --json`。按 SDK 方法参考的 Archive 与 Git 交付章节 核对验证结论、当前绑定分支、归档影响和无关改动。需要推送或 PR 时,先确认 remote 和 PR base;多个可选目标不能猜测。用当前目标与效果摘要运行 `comet state propose-archive <change-name> --summary "<delivery-summary>"`,需要时附 `--remote <name>`、`--pr-base <branch>`。保存返回的 `data.wait.proposalHash` 为 `<proposalHash>`;恢复已有待决定 Wait 时复用它,不重复提案。
2. 按 decision-point.md 展示当前提案和 SDK 方法参考的 Archive 与 Git 交付选项。已有明确授权覆盖当前归档影响和相同交付目标时沿用;否则等待用户选择。用 `comet state decide-archive <change-name> --proposal-hash <proposalHash> --choice <local|push|pr|reverify|later>` 提交当前选择:local 仅归档并提交,push 再推送,pr 推送并创建 PR,reverify 返回 Verify,later 保留当前工作并停止本次调用。目标或 Verify 证据改变时重新核对并取得新的决定;旧提案哈希不能继续使用。View the complete source on GitHubcomet-build
When your agent uses it
制定计划、实施并验收 Classic 任务。在用户调用 /comet-build,或 Classic Runtime 进入 Build、返回 Build 修复时使用。
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
1,691 tokensWhen the skill is activated
Reference documents
5,739 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run 路径
- Compat 路径
Files
SKILL.mdcore6,736 bytesagents/openai.yamlasset211 bytesreference/compat.mddoc24,119 bytes
Read SKILL.md
# Comet 阶段 3:计划与构建(Build)
首次进入阶段、交接给新 Agent 或上下文恢复后,读取并执行 [任务上下文与产物语言](../comet-classic/reference/scripts.md#任务上下文与产物语言),优先采用当前 continuation 或已领取 Action 的 `contextRequest`;同一阶段连续执行不重复获取。
收到入口返回的 layout 后,按 `comet-classic/reference/classic-layout.md` 确定各逻辑根对应的目录。当前上下文已有这份协议时,无需重复加载。本文件中的 OpenSpec CLI 调用均通过适配器执行,文件路径均基于已绑定的 `<classic-*>` 根目录,无需先额外运行 root show。
## SDK Run 路径
首次进入当前 SDK 阶段、换 Agent 或恢复上下文时,读取[阶段入口与恢复](../comet-classic/reference/sdk-methods.md#阶段入口与恢复)及该参考的当前阶段章节;本会话已有且仍有效时直接复用。下文按当前阶段执行;`nextAction.kind` 的恢复路由只适用于没有 continuation mode 的旧响应。
优先复用当前有效结果中的 `agent.continuation` / `data.nextAction` 与已绑定状态;只有冷恢复、外部状态变化或缺少必要信息时,才运行 `comet state next <change-name> --json`。`data.runtimeFormat` 为 `sdk` 时,只按本节推进 Run;SDK 方法参考的执行策略选项、计划内容要求、实施与审查方法仍适用,状态和证据通过本节命令提交。`data.phase` 必须为 `build`。已有有效 layout 与当前配置时直接复用;缺少时运行 `comet state check <change-name> build --json`;若 `nextAction.kind` 为 `reconcile`,运行 `comet state check <change-name> build --recover --json` 核对原 Action 的结果,在结果明确前不重发外部工作。
先核对有效配置中的 `workflow` 或当前 `nextAction.stepId`。`tweak.build.*` / `workflow: tweak`:**立即执行:** 使用 Skill 工具加载 comet-tweak 技能。禁止跳过此步骤。`hotfix.build.*` / `workflow: hotfix`:**立即执行:** 使用 Skill 工具加载 comet-hotfix 技能。禁止跳过此步骤。技能加载后,传入同一 change、工作区、phase、Run revision 和 continuation,从该预设的 SDK Build 步骤继续,不要求 full Design Doc 或完整计划,也不重跑 Open。旧 Run 的原始 Action 仍可能引用 `comet-build`,同样按此规则路由。已批准升级且当前步骤为 `full.build.*` 时,执行下列 full 路径。
View the complete source on GitHubcomet-classic
When your agent uses it
Comet Classic 工作流入口。当用户明确调用 /comet-classic、要求启动或恢复 Classic,或 resume-probe 返回 auto_resume、确认唯一可恢复的未归档 Classic change 时使用。
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
3,269 tokensWhen the skill is activated
Reference documents
27,284 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. 确定目标与工作区
- 2. 载入当前阶段
- 3. 继续完成本次获准执行的工作
- 每个阶段都必须遵守的规则
Files
SKILL.mdcore13,608 bytesSKILL.mdcore13,608 bytesagents/openai.yamlasset124 bytesreference/auto-transition.mddoc3,723 bytesreference/classic-layout.mddoc4,221 bytesreference/comet-yaml-fields.mddoc18,650 bytesreference/context-recovery.mddoc17,128 bytesreference/debug-gate.mddoc2,812 bytesreference/decision-point.mddoc12,951 bytesreference/dirty-worktree.mddoc3,485 bytesreference/file-structure.mddoc2,085 bytesreference/intent-frame.mddoc11,059 bytesreference/scripts.mddoc17,564 bytesreference/sdk-methods.mddoc15,709 bytesreference/subagent-dispatch.mddoc10,521 bytesreference/workspace.mddoc2,173 bytes../comet/reference/host-check.mddoc1,872 bytes
Read SKILL.md
# Comet Classic — OpenSpec + Superpowers
Classic 分为 Open → Design → Build → Verify → Archive 五个阶段。OpenSpec 管理需求规格与归档,Superpowers 提供设计方法,以及用户选定的规划、执行和审查方法。完整流程(full)必须经过 brainstorming 和设计确认;hotfix/tweak 使用各自的预设步骤。
## 1. 确定目标与工作区
开始新任务或更换宿主时,必须读取并执行[宿主能力核对](../comet/reference/host-check.md),在批准 Open 前确认当前流程所需的能力。执行配置改变后,只补核对新策略需要的能力。
开始或恢复前,按 `comet-classic/reference/classic-layout.md` 解析产物路径,并执行 `comet-classic/reference/scripts.md` 的“CLI 引导”。使用公开 Comet CLI 和 OpenSpec 适配器。所有参考按当前动作读取相关章节,复用上下文中仍有效的规则。
- 未明确调用 Classic、需要判定是否恢复已有工作时:读取 `comet-classic/reference/context-recovery.md` 的 Ambient Resume,按 `comet resume-probe . --stdin --json` 结果处理;只有 `auto_resume` 自动进入,`ask_user` 按 `reason` 使用 Ambient Resume 表格中的问题与选项提问,`out_of_scope`/`none` 不进入。
- 启动新需求或目标 change 尚不明确时:读取 `comet-classic/reference/intent-frame.md` 的最小示例与目标选择规则,获取未归档的 change 列表后填写 CometIntentFrame,运行 `comet classic intent route --stdin`。Agent 只负责按证据填写意图字段,路由由 Runtime 计算;以返回结果为准,不另写一套自然语言评分规则。
- 已明确目标 change 且已由 Runtime 初始化时:按下方绑定工作区;SDK 新 change 使用 `comet-state.yaml`,历史 `.comet.yaml` 原地读写,compat 初始化仍使用旧名,以 `state next` 返回的 Runtime 归属判断恢复路径,不能只看状态文件是否存在。有多个未归档的 change 且尚未选定时,不提前绑定。真正的新 change 直接交 `/comet-open` 或对应预设 Skill,它们会先准备工作区再初始化;`workspace resolve` 对未初始化的 change 会报 not found。
View the complete source on GitHubcomet-design
When your agent uses it
完成 Classic 技术设计并请用户确认。在用户调用 /comet-design,或 Classic Runtime 进入 Design 时使用。
What it loads into context
Frontmatter
35 tokensAlways available to the agent
SKILL.md
1,232 tokensWhen the skill is activated
Reference documents
3,985 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run 路径
- Compat 路径
Files
SKILL.mdcore5,065 bytesagents/openai.yamlasset211 bytesreference/compat.mddoc15,897 bytes
Read SKILL.md
# Comet 阶段 2:深度设计(Design)
首次进入阶段、交接给新 Agent 或上下文恢复后,读取并执行 [任务上下文与产物语言](../comet-classic/reference/scripts.md#任务上下文与产物语言),优先采用当前 continuation 或已领取 Action 的 `contextRequest`;同一阶段连续执行不重复获取。
收到入口返回的 layout 后,按 `comet-classic/reference/classic-layout.md` 确定各逻辑根对应的目录。当前上下文已有这份协议时,无需重复加载。本文件中的 OpenSpec CLI 调用均通过适配器执行,文件路径均基于已绑定的 `<classic-*>` 根目录,无需先额外运行 root show。
## SDK Run 路径
首次进入当前 SDK 阶段、换 Agent 或恢复上下文时,读取[阶段入口与恢复](../comet-classic/reference/sdk-methods.md#阶段入口与恢复)及该参考的当前阶段章节;本会话已有且仍有效时直接复用。下文按当前阶段执行;`nextAction.kind` 的恢复路由只适用于没有 continuation mode 的旧响应。
优先复用同一 change、工作区和 Run 的最新有效响应中的 `agent.continuation`、`data.nextAction`、phase、revision 和路径摘要。只有冷恢复、工作区或外部状态变化、响应版本已过期或缺少当前步骤必要信息时,才运行 `comet state next <change-name> --json`;不要因加载下一 Skill 再读一次。后续写操作仍由 Runtime 校验当前版本与证据,不能用缓存跳过检查或批准。当 `data.runtimeFormat` 为 `sdk` 时,只执行本节的状态命令;设计探索、提问与正式文档要求见 SDK 方法参考的 Design 章节,状态操作使用本节命令。`data.phase` 必须为 `design`;已进入 Build 时交回当前阶段入口。`data.nextAction.kind` 为 `reconcile` 时,运行 `comet state check <change-name> design --recover --json` 核对已领取 Action 的原结果,在结果明确前停止,不重新提案或重发工作。
1. 待执行 Action 为 `full.design.handoff` 时,复用当前响应的 layout 与产物引用;缺少时才运行 `comet state check <change-name> design --json`,直接读取当前 OpenSpec proposal、tasks、delta specs 和已有 design.md 中本次设计需要的内容。按 SDK 方法参考的 Design 章节形成候选技术方案;此时还没有 SDK handoff 包,不执行旧 `comet handoff ... --write`,也不把手写摘要当作 SDK handoff。持续保存 `brainstorm-summary.md`,未确认内容标为候选。
2. 如候选方案需要 Spec Patch,先按 SDK 方法参考的设计确认规则向用户说明具体补丁并取得明确同意,再修改 delta spec。范围发生实质变化时重新澄清。待 OpenSpec 来源稳定后,执行 `comet state propose-design <change-name> --proposal "<candidate-summary>"`,其中摘要必须覆盖将请用户确认的方案、关键取舍、风险和 Spec Patch;保存返回的 `data.wait.proposalHash` 为 `<proposalHash>`。此命令生成并记录可追溯的 handoff;优先使用提案结果中的 `data.configuration.handoffContext`,缺少时再运行 `comet state next <change-name> --json`;读取 `data.configuration.handoffContext` 对应的 Markdown 包,核对它与候选方案及当前源文件一致。用户尚未决定时,恢复应复用这个 Wait,不重复运行 propose-design。View the complete source on GitHubcomet-hotfix
When your agent uses it
使用 Classic 预设流程修复局部缺陷。在用户明确调用 /comet-hotfix、选择 hotfix,或恢复 workflow: hotfix 时使用。
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
1,596 tokensWhen the skill is activated
Reference documents
5,562 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run 路径
- Compat 路径
Files
../comet-classic/reference/workspace.mddoc2,173 bytesSKILL.mdcore6,309 bytesagents/openai.yamlasset206 bytesreference/compat.mddoc19,863 bytes
Read SKILL.md
# Comet 预设路径:Hotfix
开始或恢复任务前,必须先读取并遵守 `comet-classic/reference/classic-layout.md`。本文件中的 OpenSpec CLI 调用必须通过适配器执行,文件路径必须基于该协议绑定的 `<classic-*>` 逻辑根目录。
快速缺陷修复流程:open → build → 根因消除检查 → verify → archive。跳过 brainstorming 和完整实施计划,适用于修复已有行为、不需要设计新功能的场景。
**适用条件**(必须全部满足):
1. 修复已有功能的缺陷,不新增功能
2. 不涉及接口变更或架构调整
3. 改动范围可预估(文件数仅作提示,不会自动要求升级,见 SDK 方法参考的预设范围复核)
**不适用**:修复过程中如发现 SDK 方法参考的预设范围复核列出的变化,需要由用户决定是否改用完整 `/comet-classic` 流程。
View the complete source on GitHubcomet-memory
When your agent uses it
使用于 Comet 需要根据有界语义评审包判断是否值得保存个人记忆、候选、更新、遗忘或跳过时。
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
1,520 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 输入边界
- 判断顺序
- 判断示例
- 固定输出
- 常见错误
Files
SKILL.mdcore5,781 bytesagents/openai.yamlasset175 bytes
Read SKILL.md
# Comet 语义记忆评审
你是固定的第一方记忆评审器。只做语义筛选,不写文件、不调用工具、不扫描仓库,也不修改任何 Skill、规则或 Agent 指令。
## 输入边界
只读取 Runtime 传入的 `comet.memory.review.v1` `MemoryReviewPacket`:配置语言、项目身份、workflow/change、可信检查点、少量用户证据、相关记忆、evidence 和预算。不要要求或推测完整对话、日志、diff、仓库内容或隐藏推理。
## 判断顺序
1. 先处理用户明确的“记住/以后都这样/改成/忘掉”。明确记忆优先,不能被隐式行为覆盖;直接用户文本保持原文,不翻译。
2. 只保留未来可复用且不易从仓库重查的个人偏好、协作习惯、输出方式或已验证个人经验。
3. 跳过一次性命令、测试/提交/Issue/PR 摘要、流水账、普通源码事实、猜测、原始日志、完整 diff、完整 transcript 和无后续收益的内容。
4. 整个 `actions` 集合只能使用一个 scope:所有真正的动作要么全部是 `global`,要么全部是 `project`,绝不能混用;无法保持单一 scope 时返回唯一 `skip`。自动行为默认是 `project`;只有 packet 明确提供跨项目一致成功证据时才可选择 `global`。不要自行创造证据或项目身份。View the complete source on GitHubcomet-native
When your agent uses it
Comet Native 工作流。当用户明确调用 /comet-native、要求启动或恢复 Native change,或入口路由到 Native 时使用。
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
4,128 tokensWhen the skill is activated
Reference documents
26,137 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 必须遵守的规则
- 开始或恢复
- SDK Run 路径
- 按需读取
- Shape
- Build ↔ Verify Loop
- Build
- Verify
- Archive
- 后续指令
Files
SKILL.mdcore16,711 bytesagents/openai.yamlasset118 bytesreference/artifacts.mddoc15,566 bytesreference/clarification.mddoc14,157 bytesreference/commands.mddoc52,234 bytesreference/edit-review.mddoc2,325 bytesreference/recovery.mddoc10,518 bytesreference/workspace.mddoc9,930 bytes../comet/reference/host-check.mddoc1,872 bytes
Read SKILL.md
# Comet Native
Native 在项目中保存需求和验收结论。先确认 change 的运行格式,再执行当前动作。
## 必须遵守的规则
- 已确认范围内的实现、文档修复、证据复用和恢复连续推进;只在需要新决定、授权或外部信息时暂停。使用最新 continuation 的命令、模板和任务包,修正输入后沿用当前任务。
- 以磁盘上的 `.comet/config.yaml`、当前 change 的 `comet-state.yaml`、Runtime 返回的进度,以及正式文件为准,聊天记忆只作辅助。工作流保存的正式文件中,Agent 只编辑 brief、完整目标 Spec、关联时的 `delta.yaml` 和 `children.yaml`;状态、检查结果、报告、锁和事务由 Runtime 管理。
- 通过 PATH 中公开的 `comet native` 命令推进,用户不手工执行命令。命令不可用时报告安装不完整并停止;参数以 `comet native <command> --help` 为准。
- 新建 change 走 CLI 并使用响应路径;拒绝后按信息中的命令或目标修正并重试;自定义 Hook、非 Comet 工作和普通同名文件保持中立。
- Builder 提交本轮待验收的代码和相关文件,称为“候选实现”。每轮都由新的只读 Verifier 独立判断全部验收项。判断全部验收项不等于重跑全部命令:仍与当前候选实现匹配的 Runtime 检查记录可以复用,只补充缺失或失效的检查。失败、阻塞、未执行和超时不能算通过。
- 只有用户明确确认完整 Shape、接受最终结果或选择相应交付方式后,才执行对应的确认命令。沿用已确认的需求范围和 Runtime 保存的用户选择。归档、merge、push、PR 和工作区清理各自需要的授权不能互相代替。
- Native 主流程由本 Skill 和 Runtime 完成,不依赖外部 Skill;不改变已确认的需求和约束时,实现方法由 Agent 自行选择。
View the complete source on GitHubcomet-open
When your agent uses it
创建 Classic change,整理需求并请用户确认。在用户调用 /comet-open,或 Classic 进入 Open、恢复初始化时使用。
What it loads into context
Frontmatter
38 tokensAlways available to the agent
SKILL.md
5,759 tokensWhen the skill is activated
Reference documents
1,217 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置条件
- 步骤
- 退出条件
- 自动衔接下一阶段
Files
SKILL.mdcore22,429 bytesSKILL.mdcore22,429 bytesSKILL.mdcore22,429 bytesSKILL.mdcore22,429 bytesSKILL.mdcore22,429 bytesSKILL.mdcore22,429 bytesSKILL.mdcore22,429 bytesSKILL.mdcore22,429 bytesSKILL.mdcore22,429 bytesagents/openai.yamlasset202 bytesreference/batch-changes.mddoc4,664 bytes
Read SKILL.md
# Comet 阶段 1:开启(Open)
首次进入阶段、交接给新 Agent 或上下文恢复后,读取并执行 [任务上下文与产物语言](../comet-classic/reference/scripts.md#任务上下文与产物语言),优先采用当前 continuation 或已领取 Action 的 `contextRequest`;同一阶段连续执行不重复获取。
开始或恢复任务前,必须先读取并遵守 `comet-classic/reference/classic-layout.md`。本文件中的 OpenSpec CLI 调用必须通过适配器执行,文件路径必须基于该协议绑定的 `<classic-*>` 逻辑根目录。
## 前置条件
- 无活跃 change,或用户希望创建新 change
## 步骤
### 0. 设置输出语言
View the complete source on GitHubcomet-review
When your agent uses it
手动审查当前 Comet change 的实现差异,只报告正确性、安全和边界问题,不推进工作流。
What it loads into context
Frontmatter
42 tokensAlways available to the agent
SKILL.md
1,759 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 只执行读取和审查操作
- 1. 定位项目与当前 change
- 2. 收集审查上下文
- 3. 确定实现差异
- 4. 执行审查
- 5. 输出
Files
SKILL.mdcore7,033 bytesSKILL.mdcore7,033 bytesSKILL.mdcore7,033 bytesSKILL.mdcore7,033 bytesagents/openai.yamlasset191 bytes
Read SKILL.md
# Comet 手动代码审查
对当前选中的 Comet change 执行一次按需、只读的代码审查。这个入口不属于任何阶段,也不替代 Build 或 Verify 的验证和审查。
本入口独立于 `review_mode`。`review_mode` 控制流程内的自动审查策略,`/comet-review` 则由用户手动触发,只执行一次审查;调用本入口不得读取、修改或覆盖当前 change 的 `review_mode`。
## 只执行读取和审查操作
本 Skill 的整个调用必须保持只读:
- 不修改、创建或删除文件;
- 不暂存、提交、切换分支、创建分支或创建 worktree;
- 不运行 `comet state select`、`comet native select`、`comet state set`、`comet state transition`、阶段守卫、`comet native next` 或归档命令;
- 不修复发现的问题,不推进 phase,不更新 tasks、状态、验证报告或审查记录;View the complete source on GitHubcomet-tweak
When your agent uses it
使用 Classic 预设流程完成单个 change 的轻量调整。在用户明确调用 /comet-tweak、选择 tweak,或恢复 workflow: tweak 时使用。
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
1,684 tokensWhen the skill is activated
Reference documents
5,613 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run 路径
- Compat 路径
Files
../comet-classic/reference/workspace.mddoc2,173 bytesSKILL.mdcore6,734 bytesagents/openai.yamlasset198 bytesreference/compat.mddoc20,237 bytes
Read SKILL.md
# Comet 预设路径:Tweak
开始或恢复任务前,必须先读取并遵守 `comet-classic/reference/classic-layout.md`。本文件中的 OpenSpec CLI 调用必须通过适配器执行,文件路径必须基于该协议绑定的 `<classic-*>` 逻辑根目录。
Tweak 为 Comet 五阶段流程提供一组预设配置。它通过 OpenSpec 完成需求与实施工作,复用 open、build、verify、archive 阶段,跳过 Superpowers brainstorming 和完整实施计划,不另建一套独立流程。
适用于配置调整、文档或提示词优化等轻量改动,也适用于需要依据 spec(含 delta spec)实施、但不需要完整 `/comet-classic` 深度设计的中等变更。Tweak 正常支持 delta spec,不能仅因为需要 delta spec 就要求升级流程。
**适用条件**(必须全部满足):
1. 可以在**单个 OpenSpec change** 中完成
2. 无需通过 Superpowers Design Doc 和完整实施计划,就能明确方案
3. 不涉及跨模块、跨层级的架构协调
4. 任务规模可预估(文件数和任务数仅作提示,不会自动要求升级,见 SDK 方法参考的预设范围复核)View the complete source on GitHubcomet-verify
When your agent uses it
验证 Classic change 并记录结果。在用户调用 /comet-verify,或 Classic Runtime 进入 Verify 时使用。
What it loads into context
Frontmatter
35 tokensAlways available to the agent
SKILL.md
1,005 tokensWhen the skill is activated
Reference documents
4,783 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run 路径
- Compat 路径
Files
SKILL.mdcore4,039 bytesagents/openai.yamlasset198 bytesreference/compat.mddoc18,405 bytes
Read SKILL.md
# Comet 阶段 4:验证(Verify)
首次进入阶段、交接给新 Agent 或上下文恢复后,读取并执行 [任务上下文与产物语言](../comet-classic/reference/scripts.md#任务上下文与产物语言),优先采用当前 continuation 或已领取 Action 的 `contextRequest`;同一阶段连续执行不重复获取。
收到入口返回的 layout 后,按 `comet-classic/reference/classic-layout.md` 确定各逻辑根对应的目录。当前上下文已有这份协议时,无需重复加载。本文件中的 OpenSpec CLI 调用均通过适配器执行,文件路径均基于已绑定的 `<classic-*>` 根目录,无需先额外运行 root show。
## SDK Run 路径
首次进入当前 SDK 阶段、换 Agent 或恢复上下文时,读取[阶段入口与恢复](../comet-classic/reference/sdk-methods.md#阶段入口与恢复)及该参考的当前阶段章节;本会话已有且仍有效时直接复用。下文按当前阶段执行;`nextAction.kind` 的恢复路由只适用于没有 continuation mode 的旧响应。
优先复用同一 change、工作区和 Run 的最新有效响应中的 `agent.continuation`、`data.nextAction`、phase、revision 和路径摘要。只有冷恢复、工作区或外部状态变化、响应版本已过期或缺少当前步骤必要信息时,才运行 `comet state next <change-name> --json`;不要因加载下一 Skill 再读一次。后续写操作仍由 Runtime 校验当前版本与证据,不能用缓存跳过检查或批准。确认 `data.runtimeFormat: sdk`、`data.phase: verify` 和 `nextAction.kind`,在已绑定的 `projectRoot` 执行。路径缺失或绑定发生变化时才运行 `comet classic workspace resolve <change-name> --json`;缺少当前任务、工作区或证据摘要时才运行 `comet state check <change-name> verify --json`。`reconcile` 时改用 `comet state check <change-name> verify --recover --json` 查明原 Action 和检查结果;结果未明时停止,不重复执行外部检查。
1. 按 SDK 方法参考的风险评估、最终集成审查和 light/full 验证方法检查当前 change,但以 SDK Run 的状态和证据为准;不调用旧 `state scale`、`state set`、`comet handoff` 或旧 `comet check` 证据路径。实施或任务记录需要修复时,先报告具体失败项;只有当前待执行的是 `<profile>.verify.run`(`<profile>` 为 full、hotfix 或 tweak),才运行 `comet state transition <change-name> verify-fail --reason "<failure-reason>"`。此命令将失败原因作为同一 Run 的 Verify Action 结果并返回 Build;按同次响应的当前 Build Action 继续;缺少续行信息时才读取 `state next --json`。已有检查失败或结果未明时先读取其 Action,不另报一次 Verify 失败。
2. 验证结论合格后,将实际检查项、证据引用、独立审查结论及可接受偏差写入仓库内的验证报告 `<report-ref>`。以明确的完整验证命令直接运行 `comet guard <change-name> verify --report <report-ref> --apply -- <program> [args...]`。Guard 在同一 Run 中提交报告 Action、报告证据和真实检查收据;不能用手工声明代替检查。检查失败后读取同次响应的失败收据和当前 Build/Verify Action;缺少时才读取 `state next --json`,按最新 Action 处理,不将失败解释为通过。View the complete source on GitHubcomet
When your agent uses it
Comet workflow entry. Use when the user invokes /comet or asks to use Comet without choosing Native or Classic; load Native or Classic from project configuration.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
579 tokensWhen the skill is activated
Reference documents
11,323 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Scripts executed separately
scripts/comet-archive.mjsscripts/comet-check.mjsscripts/comet-entry-runtime.mjsscripts/comet-env.mjsscripts/comet-guard.mjsscripts/comet-handoff.mjsscripts/comet-hook-guard.mjsscripts/comet-hook-router-guard.mjsscripts/comet-hook-router.mjsscripts/comet-intent.mjsscripts/comet-resume-probe.mjsscripts/comet-runtime.mjsscripts/comet-state.mjsscripts/comet-yaml-validate.mjs
Files
SKILL.mdcore2,748 bytesagents/openai.yamlasset108 bytesreference/edit-review.mddoc2,455 bytesreference/host-check.mddoc2,149 bytesreference/task-learning.mddoc4,186 bytesrules/comet-phase-guard.en.mddoc13,321 bytesrules/comet-phase-guard.mddoc11,545 bytesrules/comet-workflow-guard.en.mddoc10,296 bytesrules/comet-workflow-guard.mddoc8,961 bytesruntime/classic/checks.yamlasset120 bytesruntime/classic/guardrails.yamlasset236 bytesruntime/classic/skill.yamlasset4,361 bytesscripts/comet-archive.mjsruns1,330,790 bytesscripts/comet-check.mjsruns1,292,907 bytesscripts/comet-entry-runtime.mjsruns141,688 bytesscripts/comet-env.mjsruns668 bytesscripts/comet-guard.mjsruns1,366,200 bytesscripts/comet-handoff.mjsruns1,201,622 bytesscripts/comet-hook-guard.mjsruns1,270,689 bytesscripts/comet-hook-router-guard.mjsruns2,246,409 bytesscripts/comet-hook-router.mjsruns9,078 bytesscripts/comet-intent.mjsruns189,752 bytesscripts/comet-resume-probe.mjsruns907,692 bytesscripts/comet-runtime.mjsruns1,856,172 bytesscripts/comet-state.mjsruns1,490,738 bytesscripts/comet-yaml-validate.mjsruns260,522 bytes
Read SKILL.md
# Comet Entry
`/comet` selects Native or Classic from project configuration, then passes the request to that workflow's Skill.
Once this Skill is loaded, immediately follow the steps below. The user has already chosen Comet: continue their request without reconsidering whether to use it or merely explaining why you would not proceed.
1. Run the Comet CLI installed on PATH in the current project:
```text
comet workflow resolve . --activate --json
```
If the project has no `.comet/config.yaml`, this command saves the global defaults in the project and creates the configured artifact directories. Later changes to global defaults do not overwrite this project's saved configuration.
View the complete source on GitHubcomet-any
When your agent uses it
Inspect Skills for a goal and author the complete entry Skill and business Rule for Native extensions, Classic compositions, or standalone applications; after confirmation, the SDK assembles Runtime, connects Hooks, and previews installation. Not for general Skill cleanup or review.
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
1,403 tokensWhen the skill is activated
Reference documents
2,058 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Start or resume
- Analysis and plan
- Confirmation, validation, and delivery
- Recovery boundaries
Files
SKILL.mdcore7,293 bytesagents/openai.yamlasset204 bytesreference/sdk-creation.mddoc10,521 bytes
Read SKILL.md
# Comet Any
Investigate real Skills for the user's goal, then author the application's documents, workflow, and business implementation. Use `comet creator` to preserve the plan and progress. After each stage, read the current action and continue until completion, a user decision, or an external capability blocker.
The Agent writes the entry Skill, business Rule, execution ports, and validators. The SDK preserves the documents, appends execution protocol and common protection rules, and assembles Runtime. Business Rules describe business constraints; Runtime and Guard control actions, approval, and write permissions. Installation uses formal SDK distribution.
## Start or resume
1. When the creation name is known, run `comet creator status <name> --project <project> --json`, then `comet creator next <name> --project <project> --json`. Preserve the original name and Run; after interruption, inspect the original Action and do not repeat completed work.
2. For a new creation, read `comet creator guide --project <project> --json`. Determine the goal and installation location from the user's description; ask only about choices that cannot be investigated and would change the result. Start with `comet creator start <name> --project <project> --goal <user-goal> --install-target <relative-directory> --host codex|claude-code --json`.
3. Before the first claim or action submission, read [Creation actions and recovery](reference/sdk-creation.md). Use the returned Action, attempt, inputHash, and the current host session identifier; when the current action lacks a required capability, report the blocker and preserve the current work.
## Analysis and plan
View the complete source on GitHubcomet-archive
When your agent uses it
Archive and deliver a Classic change. Use when the user invokes /comet-archive or Classic Runtime enters Archive or resumes delivery.
What it loads into context
Frontmatter
35 tokensAlways available to the agent
SKILL.md
1,098 tokensWhen the skill is activated
Reference documents
3,308 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run path
- Compat path
Files
SKILL.mdcore5,142 bytesagents/openai.yamlasset173 bytesreference/compat.mddoc16,994 bytes
Read SKILL.md
# Comet Phase 5: Archive
On first entering a phase, handing off to a new Agent, or restoring context, read and follow [Task Context and Artifact Language](../comet-classic/reference/scripts.md#task-context-and-artifact-language). Prefer the current continuation or claimed Action's `contextRequest`; do not retrieve repeatedly during uninterrupted work in the same phase.
After entry returns layout, follow `comet-classic/reference/classic-layout.md` to bind each logical root to its directory. Do not reload the protocol if it is already in context. Use the adapter for OpenSpec CLI calls and the bound `<classic-*>` roots for paths; do not run an extra root show first.
## SDK Run path
On first entering the current SDK phase, handing off to a new Agent, or restoring context, read [phase entry and recovery](../comet-classic/reference/sdk-methods.md#phase-entry-and-recovery) and the current phase's section in that reference. Reuse them when already available and still valid in this session. Continue with the phase below; recovery routes based on `nextAction.kind` apply only to older responses without a continuation mode.
Reuse the latest valid response for the same change, workspace, and Run: `agent.continuation`, `data.nextAction`, phase, revision, and path summaries. Run `comet state next <change-name> --json` only for cold recovery, workspace or external state changes, a stale response version, or missing information needed for the current step; loading the next Skill is not a reason to query again. Runtime still validates current versions and evidence on writes; cached context cannot bypass checks or approval. Confirm `data.runtimeFormat: sdk`, phase, and `nextAction.kind`, and work in the bound `projectRoot`; run `comet classic workspace resolve <change-name> --json` only when paths are missing or the binding has changed. Verify receipts must still be valid; the state file and a report file do not authorize delivery. For `reconcile`, use `comet state check <change-name> archive --recover --json` to inspect the original Action and disk/Git evidence. Do not repeat archive, commit, push, or PR while the result is unknown.
1. Reuse current valid state, workspace, and evidence summaries; run `comet state check <change-name> archive --json` only when they are missing. Under SDK execution methods, inspect verification, the bound branch, archive impact, and unrelated edits. For push or PR, confirm remote and PR base; do not guess among alternatives. Run `comet state propose-archive <change-name> --summary "<delivery-summary>"`, adding `--remote <name>` and `--pr-base <branch>` as needed. Save `data.wait.proposalHash` as `<proposalHash>`. Reuse an existing pending Wait.
2. Present the current proposal and delivery options under decision-point.md and the Archive and Git delivery section of SDK execution methods. Reuse explicit authorization covering the current archive effects and same delivery target; otherwise await the user choice. Run `comet state decide-archive <change-name> --proposal-hash <proposalHash> --choice <local|push|pr|reverify|later>`: local archives and commits, push additionally pushes, pr pushes and creates the PR, reverify returns to Verify, and later preserves work and stops this invocation. Recheck and obtain a new decision if target or Verify evidence changes; never reuse a stale proposal hash.View the complete source on GitHubcomet-build
When your agent uses it
Plan, implement, and accept Classic tasks. Use when the user invokes /comet-build or Classic Runtime enters Build or returns to Build for repairs.
What it loads into context
Frontmatter
38 tokensAlways available to the agent
SKILL.md
1,475 tokensWhen the skill is activated
Reference documents
4,882 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run path
- Compat path
Files
SKILL.mdcore6,935 bytesagents/openai.yamlasset189 bytesreference/compat.mddoc26,572 bytes
Read SKILL.md
# Comet Phase 3: Plan and Build
On first entering a phase, handing off to a new Agent, or restoring context, read and follow [Task Context and Artifact Language](../comet-classic/reference/scripts.md#task-context-and-artifact-language). Prefer the current continuation or claimed Action's `contextRequest`; do not retrieve repeatedly during uninterrupted work in the same phase.
After entry returns layout, follow `comet-classic/reference/classic-layout.md` to bind each logical root to its directory. Do not reload the protocol if it is already in context. Use the adapter for all OpenSpec CLI calls and the bound `<classic-*>` roots for paths; do not run an extra root show first.
## SDK Run path
On first entering the current SDK phase, handing off to a new Agent, or restoring context, read [phase entry and recovery](../comet-classic/reference/sdk-methods.md#phase-entry-and-recovery) and the current phase's section in that reference. Reuse them when already available and still valid in this session. Continue with the phase below; recovery routes based on `nextAction.kind` apply only to older responses without a continuation mode.
Reuse the current valid result's `agent.continuation` / `data.nextAction` and bound state. Run `comet state next <change-name> --json` only on a cold resume, after external state changes, or when necessary information is missing. For `data.runtimeFormat: sdk`, advance only this Run; the implementation methods, plan content, and reviews are in SDK execution methods; submit state and evidence through this section. `data.phase` must be `build`. Reuse valid layout and configuration already in context; use `comet state check <change-name> build --json` only when they are missing. For `nextAction.kind: reconcile`, run `comet state check <change-name> build --recover --json` and establish the original outcome before repeating external work.
First check `workflow` in the valid configuration or the current `nextAction.stepId`. For `tweak.build.*` / `workflow: tweak`, **Immediately execute:** Use the Skill tool to load the comet-tweak skill. Skipping this step is prohibited. For `hotfix.build.*` / `workflow: hotfix`, **Immediately execute:** Use the Skill tool to load the comet-hotfix skill. Skipping this step is prohibited. After the skill loads, pass the same change, workspace, phase, Run revision, and continuation and resume its SDK Build step. Do not require a full Design Doc or implementation plan, or repeat Open. Older Runs may still store `comet-build` as the raw Action reference; route them the same way. After an approved upgrade, use the full path in SDK execution methods when the current step is `full.build.*`.
View the complete source on GitHubcomet-classic
When your agent uses it
Comet Classic workflow entry. Use when the user explicitly invokes /comet-classic, asks to start or resume Classic, or resume-probe returns auto_resume for one unambiguously recoverable active Classic change.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
2,695 tokensWhen the skill is activated
Reference documents
23,597 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Resolve the Target and Workspace
- 2. Load the Current Phase
- 3. Complete the Work Authorized for This Invocation
- Rules for Every Phase
Files
SKILL.mdcore13,924 bytesSKILL.mdcore13,924 bytesagents/openai.yamlasset113 bytesreference/auto-transition.mddoc3,969 bytesreference/classic-layout.mddoc4,216 bytesreference/comet-yaml-fields.mddoc24,327 bytesreference/context-recovery.mddoc19,465 bytesreference/debug-gate.mddoc3,261 bytesreference/decision-point.mddoc15,160 bytesreference/dirty-worktree.mddoc3,484 bytesreference/file-structure.mddoc2,215 bytesreference/intent-frame.mddoc12,188 bytesreference/scripts.mddoc18,994 bytesreference/sdk-methods.mddoc17,751 bytesreference/subagent-dispatch.mddoc10,742 bytesreference/workspace.mddoc2,485 bytes../comet/reference/host-check.mddoc2,149 bytes
Read SKILL.md
# Comet Classic — OpenSpec + Superpowers
Classic has five phases: Open → Design → Build → Verify → Archive. OpenSpec manages specifications and archiving. Superpowers provides design methods and the planning, execution, and review methods selected by the user. The full workflow requires brainstorming and design confirmation; hotfix/tweak follow their preset steps.
## 1. Resolve the Target and Workspace
For a new task or host change, perform the [host capability check](../comet/reference/host-check.md) before approving Open. When execution configuration changes, check only capabilities required by the new strategy.
Before starting or resuming, resolve artifact paths with `comet-classic/reference/classic-layout.md` and follow “CLI Bootstrap” in `comet-classic/reference/scripts.md`. Use the public Comet CLI and its OpenSpec adapter. Read only sections needed for the current action; reuse valid instructions already in context.
- When Classic was not explicitly invoked and existing work may need to resume: read Ambient Resume in `comet-classic/reference/context-recovery.md` and follow `comet resume-probe . --stdin --json`. Only `auto_resume` enters automatically; for `ask_user` ask by `reason` using the Ambient Resume table's question and options; `out_of_scope`/`none` does not enter.
- When starting a new request or the target change is unclear: read the minimal example and target-selection rules in `comet-classic/reference/intent-frame.md`. List active changes, fill a CometIntentFrame, and run `comet classic intent route --stdin`. The Agent extracts intent fields from evidence; Runtime computes the route. Follow its result without inventing a separate set of prose scoring rules.
- When the target change is explicit and Runtime has initialized it, bind its workspace below. New SDK changes use `comet-state.yaml`; historical `.comet.yaml` files are read and written in place, and compat initialization still uses the old name. Use Runtime ownership returned by `state next`, not the mere presence of the state file, to choose the recovery path. Bind only after selecting among active changes. A new change goes to `/comet-open` or the matching preset Skill, which prepares the workspace before initializing; `workspace resolve` reports not-found for an uninitialized change.
View the complete source on GitHubcomet-design
When your agent uses it
Complete the Classic technical design and obtain user confirmation. Use when the user invokes /comet-design or Classic Runtime enters Design.
What it loads into context
Frontmatter
33 tokensAlways available to the agent
SKILL.md
1,063 tokensWhen the skill is activated
Reference documents
3,472 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run path
- Compat path
Files
SKILL.mdcore5,172 bytesSKILL.mdcore5,172 bytesSKILL.mdcore5,172 bytesagents/openai.yamlasset187 bytesreference/compat.mddoc17,083 bytes
Read SKILL.md
# Comet Phase 2: Design
On first entering a phase, handing off to a new Agent, or restoring context, read and follow [Task Context and Artifact Language](../comet-classic/reference/scripts.md#task-context-and-artifact-language). Prefer the current continuation or claimed Action's `contextRequest`; do not retrieve repeatedly during uninterrupted work in the same phase.
After the entry returns layout, use `comet-classic/reference/classic-layout.md` to resolve each logical root. Reuse this protocol if it is already in context. Route all OpenSpec CLI calls through the adapter and use the bound `<classic-*>` roots for file paths; do not run an extra root show first.
## SDK Run path
On first entering the current SDK phase, handing off to a new Agent, or restoring context, read [phase entry and recovery](../comet-classic/reference/sdk-methods.md#phase-entry-and-recovery) and the current phase's section in that reference. Reuse them when already available and still valid in this session. Continue with the phase below; recovery routes based on `nextAction.kind` apply only to older responses without a continuation mode.
Reuse the latest valid response for the same change, workspace, and Run: `agent.continuation`, `data.nextAction`, phase, revision, and path summaries. Run `comet state next <change-name> --json` only for cold recovery, workspace or external state changes, a stale response version, or missing information needed for the current step; loading the next Skill is not a reason to query again. Runtime still validates current versions and evidence on writes; cached context cannot bypass checks or approval. For `data.runtimeFormat: sdk`, use this section for state changes; use the Design section of SDK execution methods for exploration, questions, and formal document requirements. `data.phase` must be `design`. If Build has begun, return to its entry. For `nextAction.kind: reconcile`, run `comet state check <change-name> design --recover --json` and establish the claimed Action's original outcome before proposing or redispatching.
1. At `full.design.handoff`, reuse layout and references from the current response; run `comet state check <change-name> design --json` only when they are missing. Read the current OpenSpec proposal, tasks, delta specs, and relevant existing design.md. Develop candidate solutions under the Design section of SDK execution methods and keep `brainstorm-summary.md` current, marking unapproved content as a candidate. There is no SDK handoff packet yet; do not call legacy `comet handoff ... --write` or substitute a handwritten summary.
2. For a needed Spec Patch, explain it and obtain explicit agreement under the Design confirmation rules in SDK execution methods before editing the delta spec. Reclarify material scope changes. When sources are stable, run `comet state propose-design <change-name> --proposal "<candidate-summary>"`; the summary must cover the proposed design, tradeoffs, risks, and Spec Patch. Save `data.wait.proposalHash` as `<proposalHash>`. This creates the traceable handoff. Use `data.configuration.handoffContext` from the proposal response, querying `comet state next <change-name> --json` only if it is missing, and verify the Markdown packet matches the candidate and source files. Reuse an existing pending Wait on recovery.View the complete source on GitHubcomet-hotfix
When your agent uses it
Use the Classic preset to repair a localized defect. Use when the user explicitly invokes /comet-hotfix, selects hotfix, or resumes workflow: hotfix.
What it loads into context
Frontmatter
42 tokensAlways available to the agent
SKILL.md
1,415 tokensWhen the skill is activated
Reference documents
4,698 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run path
- Compat path
Files
../comet-classic/reference/workspace.mddoc2,485 bytesSKILL.mdcore6,761 bytesagents/openai.yamlasset169 bytesreference/compat.mddoc20,255 bytes
Read SKILL.md
# Comet Preset: Hotfix
Before starting or resuming, read and follow `comet-classic/reference/classic-layout.md`. All OpenSpec CLI calls must use the adapter, and all paths must use the bound `<classic-*>` logical roots.
A short defect-repair flow: open → build → root cause check → verify → archive. It skips brainstorming and a full implementation plan, and applies to repairing existing behavior without designing new features.
**All applicability conditions must hold:**
1. Repair an existing feature's defect without adding a feature.
2. No interface changes or architectural redesign.
3. The scope can be estimated. File counts are only a prompt for review, not an automatic escalation rule; see “Escalation decisions.”
**When the preset may no longer fit:** If the repair encounters changes listed under “Escalation decisions,” let the user decide whether to use the full `/comet-classic` flow.
View the complete source on GitHubcomet-memory
When your agent uses it
Use when Comet must decide whether a bounded semantic review packet contains a personal memory worth creating, updating, forgetting, or skipping.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
1,384 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Input boundary
- Decision order
- Examples
- Fixed output
- Common mistakes
Files
SKILL.mdcore6,411 bytesSKILL.mdcore6,411 bytesSKILL.mdcore6,411 bytesagents/openai.yamlasset179 bytes
Read SKILL.md
# Comet Semantic Memory Review
You are a fixed first-party memory reviewer. You only filter meaning. Do not write files, call tools, scan repositories, or modify any Skill, rule, or agent instruction.
## Input boundary
Read only the Runtime-provided `comet.memory.review.v1` `MemoryReviewPacket`: configured language, project identity, workflow/change, trusted checkpoint, small user evidence, relevant memories, evidence, and budget. Do not request or infer the full conversation, logs, diff, repository contents, or hidden reasoning.
## Decision order
1. Handle explicit user requests first: “remember”, “always do this”, “change it to”, or “forget”. Explicit memory wins and cannot be overwritten by inferred behavior; preserve direct user text without translation.
2. Keep only reusable personal preferences, collaboration habits, output preferences, or verified personal experience that is not easy to rediscover from the repository.
3. Skip one-off commands, test/commit/Issue/PR summaries, activity logs, ordinary source facts, guesses, raw logs, complete diffs, complete transcripts, and content with no future value.
4. The entire `actions` collection must use one scope: all real actions must be either `global` or `project`, never a mixture; if a single scope cannot be maintained, return the one `skip`. Automatic behavior defaults to `project`; choose `global` only when the packet provides consistent successful evidence across projects. Never invent evidence or project identity.View the complete source on GitHubcomet-native
When your agent uses it
Comet Native workflow. Use when the user explicitly invokes /comet-native, asks to start or resume a Native change, or the entry routes to Native.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
3,471 tokensWhen the skill is activated
Reference documents
22,011 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Required rules
- Start or resume
- SDK Run path
- Read only what the action needs
- Shape
- Build ↔ Verify Loop
- Build
- Verify
- Archive
- Continuation
Scripts executed separately
scripts/comet-native-archive.mjsscripts/comet-native-cancel.mjsscripts/comet-native-doctor.mjsscripts/comet-native-hook-guard.mjsscripts/comet-native-init.mjsscripts/comet-native-new.mjsscripts/comet-native-next.mjsscripts/comet-native-root.mjsscripts/comet-native-runtime.mjsscripts/comet-native-select.mjsscripts/comet-native-show.mjsscripts/comet-native-spec.mjsscripts/comet-native-status.mjsscripts/comet-native-transfer.mjs
Files
SKILL.mdcore18,376 bytesSKILL.mdcore18,376 bytesagents/openai.yamlasset126 bytesreference/artifacts.mddoc17,842 bytesreference/clarification.mddoc16,106 bytesreference/commands.mddoc54,938 bytesreference/edit-review.mddoc2,455 bytesreference/recovery.mddoc10,796 bytesreference/workspace.mddoc10,608 bytesscripts/comet-native-archive.mjsruns1,675,756 bytesscripts/comet-native-cancel.mjsruns1,432,922 bytesscripts/comet-native-doctor.mjsruns2,063,849 bytesscripts/comet-native-hook-guard.mjsruns1,505,497 bytesscripts/comet-native-init.mjsruns1,433,748 bytesscripts/comet-native-new.mjsruns1,621,413 bytesscripts/comet-native-next.mjsruns1,838,593 bytesscripts/comet-native-root.mjsruns1,467,843 bytesscripts/comet-native-runtime.mjsruns2,443,111 bytesscripts/comet-native-select.mjsruns1,838,569 bytesscripts/comet-native-show.mjsruns1,605,257 bytesscripts/comet-native-spec.mjsruns1,580,517 bytesscripts/comet-native-status.mjsruns1,839,652 bytesscripts/comet-native-transfer.mjsruns1,450,583 bytes../comet/reference/host-check.mddoc2,149 bytes
Read SKILL.md
# Comet Native
Identify runtime format before acting; Runtime stores requirements and acceptance in the project.
## Required rules
- Continue confirmed implementation, document repairs, evidence reuse, and recovery. Pause for new decisions, authorization, or external information. Use current continuation commands, templates, and packages; correct inputs within the same task.
- Treat `.comet/config.yaml`, the current change's `comet-state.yaml`, Runtime progress, and formal artifacts on disk as authoritative; chat memory is supplementary. Among formal workflow files, the Agent edits only the brief, complete target Specs, association `delta.yaml`, and `children.yaml`. Runtime owns state, check results, reports, locks, and transactions.
- Advance through the public `comet native` CLI on PATH; do not ask the user to run commands manually. If the command is unavailable, report an incomplete installation and stop. Consult `comet native <command> --help` for arguments.
- Create changes with the CLI; use returned paths and follow denial commands or targets before retrying. Custom and non-Comet writes stay neutral.
- The Builder submits code as the candidate implementation. Each iteration requires a new read-only Verifier to assess every acceptance item independently. Assessing every item does not mean rerunning every command: reuse Runtime check records that still match the current candidate and add only missing or invalidated checks. Failed, blocked, unexecuted, and timed-out work cannot count as passed.
- Run confirmation commands only after the user explicitly confirms the complete Shape, accepts the final result, or selects the relevant delivery option. Reuse confirmed scope and user choices saved by Runtime. Authorization for Archive, merge, push, PR creation, and workspace cleanup is not interchangeable.
- This Skill and Runtime provide the Native workflow without an external Skill dependency. The Agent chooses implementation methods that preserve confirmed requirements and constraints.
View the complete source on GitHubcomet-open
When your agent uses it
Create a Classic change, clarify its requirements, and obtain user confirmation. Use when the user invokes /comet-open or Classic enters Open or resumes initialization.
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
4,874 tokensWhen the skill is activated
Reference documents
908 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Steps
- Exit conditions
- Continue to the next phase
Files
SKILL.mdcore23,432 bytesSKILL.mdcore23,432 bytesSKILL.mdcore23,432 bytesSKILL.mdcore23,432 bytesSKILL.mdcore23,432 bytesSKILL.mdcore23,432 bytesSKILL.mdcore23,432 bytesSKILL.mdcore23,432 bytesSKILL.mdcore23,432 bytesagents/openai.yamlasset181 bytesreference/batch-changes.mddoc4,466 bytes
Read SKILL.md
# Comet Phase 1: Open
On first entering a phase, handing off to a new Agent, or restoring context, read and follow [Task Context and Artifact Language](../comet-classic/reference/scripts.md#task-context-and-artifact-language). Prefer the current continuation or claimed Action's `contextRequest`; do not retrieve repeatedly during uninterrupted work in the same phase.
Before starting or resuming, read and follow `comet-classic/reference/classic-layout.md`. All OpenSpec CLI calls in this file must use the adapter, and all paths must use the `<classic-*>` logical roots bound by that protocol.
## Prerequisites
- There is no active change, or the user wants to create a new one.
## Steps
### 0. Set the output language
View the complete source on GitHubcomet-review
When your agent uses it
Manually review the implementation diff for the current Comet change. Report correctness, security, and edge-case issues without advancing the workflow.
What it loads into context
Frontmatter
42 tokensAlways available to the agent
SKILL.md
1,531 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Perform read-only operations
- 1. Locate the project and current change
- 2. Gather review context
- 3. Establish the implementation diff
- 4. Perform the review
- 5. Report the results
Files
SKILL.mdcore7,327 bytesSKILL.mdcore7,327 bytesSKILL.mdcore7,327 bytesSKILL.mdcore7,327 bytesSKILL.mdcore7,327 bytesagents/openai.yamlasset184 bytes
Read SKILL.md
# Comet Manual Code Review
Perform one on-demand, read-only code review of the currently selected Comet change. This entry is not a workflow phase and does not replace Build or Verify checks and reviews.
This entry is independent of `review_mode`. That field controls automatic reviews within the workflow; `/comet-review` is a single review explicitly requested by the user. Do not read, modify, or override the current change's `review_mode` during this invocation.
## Perform read-only operations
The entire Skill invocation must remain read-only:
- Do not modify, create, or delete files.
- Do not stage, commit, switch branches, create branches, or create worktrees.
- Do not run `comet state select`, `comet native select`, `comet state set`, `comet state transition`, phase guards, `comet native next`, or archive commands.
- Do not fix findings, advance phase, or update tasks, state, verification reports, or review records.View the complete source on GitHubcomet-tweak
When your agent uses it
Use the Classic preset for a lightweight adjustment within one change. Use when the user explicitly invokes /comet-tweak, selects tweak, or resumes workflow: tweak.
What it loads into context
Frontmatter
42 tokensAlways available to the agent
SKILL.md
1,477 tokensWhen the skill is activated
Reference documents
4,708 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run path
- Compat path
Files
../comet-classic/reference/workspace.mddoc2,485 bytesSKILL.mdcore7,089 bytesagents/openai.yamlasset178 bytesreference/compat.mddoc20,485 bytes
Read SKILL.md
# Comet Preset: Tweak
Before starting or resuming, read and follow `comet-classic/reference/classic-layout.md`. All OpenSpec CLI calls must use the adapter, and all paths must use the bound `<classic-*>` logical roots.
Tweak provides preset choices for Comet's five-phase workflow. It uses OpenSpec for requirements and implementation, reuses open/build/verify/archive, and skips Superpowers brainstorming and a full implementation plan. It does not create a separate workflow.
Use it for configuration, documentation, or prompt adjustments, and moderate changes that need spec-driven implementation, including delta spec, without the full `/comet-classic` deep-design flow. Delta spec is a normal Tweak artifact; needing it is not by itself a reason to escalate.
**All applicability conditions must hold:**
1. The work fits in **one OpenSpec change**.
2. The solution can be clarified without a Superpowers Design Doc and full implementation plan.
3. No cross-module or cross-layer architectural coordination is needed.
4. Task scope can be estimated. File/task counts are prompts only, not automatic escalation rules; see “Escalation decisions.”View the complete source on GitHubcomet-verify
When your agent uses it
Verify a Classic change and record the results. Use when the user invokes /comet-verify or Classic Runtime enters Verify.
What it loads into context
Frontmatter
34 tokensAlways available to the agent
SKILL.md
883 tokensWhen the skill is activated
Reference documents
3,979 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- SDK Run path
- Compat path
Files
SKILL.mdcore4,181 bytesagents/openai.yamlasset176 bytesreference/compat.mddoc18,934 bytes
Read SKILL.md
# Comet Phase 4: Verify
On first entering a phase, handing off to a new Agent, or restoring context, read and follow [Task Context and Artifact Language](../comet-classic/reference/scripts.md#task-context-and-artifact-language). Prefer the current continuation or claimed Action's `contextRequest`; do not retrieve repeatedly during uninterrupted work in the same phase.
After entry returns layout, follow `comet-classic/reference/classic-layout.md` to bind each logical root to its directory. Do not reload the protocol if it is already in context. Use the adapter for OpenSpec CLI calls and the bound `<classic-*>` roots for paths; do not run an extra root show first.
## SDK Run path
On first entering the current SDK phase, handing off to a new Agent, or restoring context, read [phase entry and recovery](../comet-classic/reference/sdk-methods.md#phase-entry-and-recovery) and the current phase's section in that reference. Reuse them when already available and still valid in this session. Continue with the phase below; recovery routes based on `nextAction.kind` apply only to older responses without a continuation mode.
Reuse the latest valid response for the same change, workspace, and Run: `agent.continuation`, `data.nextAction`, phase, revision, and path summaries. Run `comet state next <change-name> --json` only for cold recovery, workspace or external state changes, a stale response version, or missing information needed for the current step; loading the next Skill is not a reason to query again. Runtime still validates current versions and evidence on writes; cached context cannot bypass checks or approval. Confirm `data.runtimeFormat: sdk`, `data.phase: verify`, and `nextAction.kind`, and work in the bound `projectRoot`. Run `comet classic workspace resolve <change-name> --json` only when paths are missing or the binding has changed; use `comet state check <change-name> verify --json` only when current task, workspace, or evidence summaries are missing. For `reconcile`, use `comet state check <change-name> verify --recover --json` to investigate the original Action and check; stop if its result remains unknown.
1. Follow the risk assessment, integrated review, and light/full verification methods in SDK execution methods, but use the SDK Run as evidence authority. Do not call legacy `state scale`, `state set`, `comet handoff`, or `comet check` evidence commands. For implementation or task defects, report the specific failure. Only when `<profile>.verify.run` is pending (`<profile>` is full, hotfix, or tweak), run `comet state transition <change-name> verify-fail --reason "<failure-reason>"`. It records a failed Verify Action and returns to Build. Follow the current Build Action from that response; query `state next --json` only if continuation information is missing. Investigate existing failed or unknown checks before reporting another failure.
2. When verification passes, write actual checks, evidence references, independent review, and acceptable deviations in a repository report at `<report-ref>`. Run directly `comet guard <change-name> verify --report <report-ref> --apply -- <program> [args...]` with an explicit complete verification command. Guard records the report, evidence, and real check receipt in one Run; a manual claim is insufficient. On check failure, use the failure receipt and current Build or Verify Action from the same response; query `state next --json` only if they are missing, and follow the latest Action.View the complete source on GitHubgrill-test
When your agent uses it
依次执行原始 grill、to-spec、to-tickets、implement Skill,通过真实会话、审批和实际测试完成代码任务。
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
1,418 tokensWhen the skill is activated
Reference documents
2,376 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 原始 Skill 的职责
- 验收与恢复
- SDK 执行协议
Scripts executed separately
application.mjsbindings.mjstools/session.mjs
Files
SKILL.mdcore5,930 bytesapplication.jsonasset14,051 bytesapplication.mjsruns5,458 bytesbindings.mjsruns9,018 bytesinstallation.jsonasset2,199 bytesreferences/execution.mddoc2,583 bytesrules/workflow-guard.mddoc7,242 bytestools/session.mjsruns4,542 bytes
Read SKILL.md
# Grill Test
用户明确选择这条链路时使用。先读取[执行与恢复](references/execution.md),沿同一 SDK 根 Run 和当前子 Run 执行。
## 原始 Skill 的职责
1. grill:加载固定的 grill-me 原文;它仅要求执行 grilling 会话,没有文件输出。
**立即执行:** 使用 Skill 工具加载 grilling 技能。禁止跳过此步骤。
技能加载后,按原始 design tree/frontier 规则访谈。环境事实由子 Agent 调查,实际决定询问用户并等待回答。frontier 为空后,请用户确认共同理解。保留真实会话,并将会话摘要回传 SDK grill Action;通过该子 Run 的 confirm-understanding Wait 保存理解确认。此阶段不创建 brief 或其他业务文档,不借用 Native 的阶段产物。
2. to-spec:读取固定的 to-spec 原文,综合已确认的会话和代码事实,不再次访谈已有决定。按原模板七个章节生成第一份正式文档,确认测试 seams,发布至本地 tracker 的 .scratch/grill-test/spec.md。通过 confirm-spec 保存实际确认。
View the complete source on GitHubcode-review
When your agent uses it
Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to "review since X".
What it loads into context
Frontmatter
98 tokensAlways available to the agent
SKILL.md
1,518 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process
- Why two axes
Files
SKILL.mdcore6,721 bytesSKILL.mdcore6,721 bytesSKILL.mdcore6,721 bytesagents/openai.yamlasset103 bytes
Read SKILL.md
Two-axis review of the diff between `HEAD` and a fixed point the user supplies:
- **Standards** — does the code conform to this repo's documented coding standards?
- **Spec** — does the code faithfully implement the originating issue / spec?
Both axes run as **parallel sub-agents** so they don't pollute each other's context, then this skill aggregates their findings.
The issue tracker should have been provided to you — run `/setup-matt-pocock-skills` if `docs/agents/issue-tracker.md` is missing.
## Process
### 1. Pin the fixed point
Whatever the user said is the fixed point — a commit SHA, branch name, tag, `main`, `HEAD~5`, etc. If they didn't specify one, ask for it.View the complete source on GitHubgrill-me
When your agent uses it
A relentless interview to sharpen a plan or design.
What it loads into context
Frontmatter
24 tokensAlways available to the agent
SKILL.md
37 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore154 bytesagents/openai.yamlasset142 bytes
grilling
When your agent uses it
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
389 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,894 bytesagents/openai.yamlasset116 bytes
Read SKILL.md
Interview the user relentlessly until you reach a shared understanding. Map this as a **design tree**: every decision branches into the decisions that hang off it.
Work the tree in **rounds**. The **frontier** is every decision whose prerequisites are already settled — the questions you can ask _now_ without guessing at answers you haven't heard yet. Ask the whole frontier in one round: number each question and give your recommended answer. Then wait for the user's answers before the next round.
Each question should be formatted like so:
```
❓ **Q1** - **<question title>**: <question body, might be multiple paragraphs, including multiple choices>
➡<U+FE0F> <your recommended answer>
```
Each round the user answers reshapes the tree — settled decisions push the frontier outward and unblock questions that depended on them. Recompute the frontier and ask the next round. A question whose answer depends on another question still open in this round belongs to a _later_ round, not this one.
View the complete source on GitHubimplement
When your agent uses it
Implement a piece of work based on a spec or set of tickets.
What it loads into context
Frontmatter
28 tokensAlways available to the agent
SKILL.md
99 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore448 bytesagents/openai.yamlasset144 bytes
Read SKILL.md
Implement the work described by the user in the spec or tickets.
Use /tdd where possible, at pre-agreed seams.
Run typechecking regularly, single test files regularly, and the full test suite once at the end.
Once done, use /code-review to review the work.
Commit your work to the current branch.View the complete source on GitHubsetup-matt-pocock-skills
When your agent uses it
Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
1,708 tokensWhen the skill is activated
Reference documents
3,236 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process
Files
SKILL.mdcore7,038 bytesagents/openai.yamlasset157 bytesdomain.mddoc2,096 bytesissue-tracker-github.mddoc3,791 bytesissue-tracker-gitlab.mddoc3,873 bytesissue-tracker-local.mddoc1,845 bytestriage-labels.mddoc1,060 bytes
Read SKILL.md
# Setup Matt Pocock's Skills
Scaffold the per-repo configuration that the engineering skills assume:
- **Issue tracker** — where issues live (GitHub by default; local markdown is also supported out of the box)
- **Triage labels** — the strings used for the five canonical triage roles
- **Domain docs** — where `CONTEXT.md` and ADRs live, and the consumer rules for reading them
This is a prompt-driven skill, not a deterministic script. Explore, present what you found, confirm with the user, then write.
## Process
### 1. Explore
View the complete source on GitHubtdd
When your agent uses it
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
755 tokensWhen the skill is activated
Reference documents
856 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What a good test is
- Seams — where tests go
- Anti-patterns
- Rules of the loop
Files
SKILL.mdcore3,606 bytesSKILL.mdcore3,606 bytesSKILL.mdcore3,606 bytesagents/openai.yamlasset90 bytesmocking.mddoc1,540 bytestests.mddoc2,291 bytes
Read SKILL.md
# Test-Driven Development
TDD is the red → green loop. This skill is the reference that makes that loop produce tests worth keeping: what a good test is, where tests go, the anti-patterns, and the rules of the loop. Every section applies on every cycle — consult them before and during the loop, not after.
When exploring the codebase, read `CONTEXT.md` (if it exists) so test names and interface vocabulary match the project's domain language, and respect ADRs in the area you're touching.
## What a good test is
Tests verify behavior through public interfaces, not implementation details. Code can change entirely; tests shouldn't. A good test reads like a specification — "user can checkout with valid cart" tells you exactly what capability exists — and survives refactors because it doesn't care about internal structure.
See [tests.md](tests.md) for examples and [mocking.md](mocking.md) for mocking guidelines.
## Seams — where tests go
View the complete source on GitHubto-spec
When your agent uses it
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
629 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process
- Problem Statement
- Solution
- User Stories
- Implementation Decisions
- Testing Decisions
- Out of Scope
- Further Notes
Files
SKILL.mdcore3,110 bytesagents/openai.yamlasset140 bytes
Read SKILL.md
This skill takes the current conversation context and codebase understanding and produces a spec. Do NOT interview the user — just synthesize what you already know.
The issue tracker and triage label vocabulary should have been provided to you — run `/setup-matt-pocock-skills` if not.
## Process
1. Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout the spec, and respect any ADRs in the area you're touching.
2. Sketch out the seams at which you're going to test the feature. Existing seams should be preferred to new ones. Use the highest seam possible. If new seams are needed, propose them at the highest point you can. The fewer seams across the codebase, the better - the ideal number is one.
Check with the user that these seams match their expectations.
3. Write the spec using the template below, then publish it to the project issue tracker. Apply the `ready-for-agent` triage label - no need for additional triage.
View the complete source on GitHubto-tickets
When your agent uses it
Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker — edges as text in one file per ticket locally, or native blocking links on a real tracker.
What it loads into context
Frontmatter
65 tokensAlways available to the agent
SKILL.md
1,244 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process
- Parent
- What to build
- Acceptance criteria
- Blocked by
Files
SKILL.mdcore5,812 bytesSKILL.mdcore5,812 bytesagents/openai.yamlasset151 bytes
Read SKILL.md
# To Tickets
Break a plan, spec, or conversation into a set of **tickets** — tracer-bullet vertical slices, each declaring the tickets that **block** it.
The issue tracker and triage label vocabulary should have been provided to you — run `/setup-matt-pocock-skills` if not.
## Process
### 1. Gather context
Work from whatever is already in the conversation context. If the user passes a reference (a spec path, an issue number or URL) as an argument, fetch it and read its full body and comments.
### 2. Explore the codebase (optional)
View the complete source on GitHubcomet
When your agent uses it
Comet — OpenSpec + Superpowers dual-star development workflow. Start with /comet for automatic phase detection and dispatch to subcommands. Five phases: open → design → build → verify → archive.
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
4,092 tokensWhen the skill is activated
Reference documents
7,210 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Decision Core
- Subcommand Quick Reference
- Reference Appendix
Scripts executed separately
scripts/comet-archive.shscripts/comet-env.shscripts/comet-guard.shscripts/comet-handoff.shscripts/comet-hook-guard.shscripts/comet-state.shscripts/comet-yaml-validate.sh
Files
SKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesSKILL.mdcore17,640 bytesreference/auto-transition.mddoc1,467 bytesreference/comet-yaml-fields.mddoc3,736 bytesreference/context-recovery.mddoc1,914 bytesreference/debug-gate.mddoc1,123 bytesreference/decision-point.mddoc1,203 bytesreference/dirty-worktree.mddoc3,606 bytesreference/file-structure.mddoc1,379 bytesreference/subagent-dispatch.mddoc9,292 bytesrules/comet-phase-guard.mddoc7,371 bytesscripts/comet-archive.shruns7,289 bytesscripts/comet-env.shruns3,390 bytesscripts/comet-guard.shruns23,997 bytesscripts/comet-handoff.shruns10,456 bytesscripts/comet-hook-guard.shruns11,944 bytesscripts/comet-state.shruns44,775 bytesscripts/comet-yaml-validate.shruns6,815 bytes
Read SKILL.md
# Comet — OpenSpec + Superpowers Dual-Star Development Workflow
OpenSpec and Superpowers orbit the same goal like a binary star system.
```
OpenSpec handles WHAT — outline, proposal, spec lifecycle, archive
Superpowers handles HOW — technical design, planning, execution, closing
```
**Core principle: brainstorming cannot be skipped. Every change must undergo deep design (except hotfix and tweak presets).**
---
## Decision CoreView the complete source on GitHubcomet-archive
When your agent uses it
Comet Phase 5: Archive. Invoke with /comet-archive. Merge delta specs into main specs with OpenSpec semantics, archive change.
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
1,107 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Steps
- Exit Conditions
- Complete
- Context Compression Recovery
Files
SKILL.mdcore4,798 bytesSKILL.mdcore4,798 bytesSKILL.mdcore4,798 bytesSKILL.mdcore4,798 bytes
Read SKILL.md
# Comet Phase 5: Archive (Archive)
## Prerequisites
- Verification passed (Phase 4 complete)
- Branch handled
- `verify_result: pass` in `openspec/changes/<name>/.comet.yaml`
## Steps
### 0. Output Language Constraint
Archive summaries and lifecycle closure notes must use the language of the user request that triggered this workflow.
View the complete source on GitHubcomet-build
When your agent uses it
Comet Phase 3: Plan and Build. Invoke with /comet-build. Create plans and select execution method (subagent or direct) for implementation.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
4,441 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Steps
- Exit Conditions
- Automatic Handoff to Next Phase
Files
SKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytesSKILL.mdcore19,627 bytes
Read SKILL.md
# Comet Phase 3: Plan and Build (Build)
## Prerequisites
- Design Doc has been created (Phase 2 complete)
- Active change exists
## Steps
### 0. Entry State Verification (Entry Check)
Execute entry verification:
```bashView the complete source on GitHubcomet-design
When your agent uses it
Comet Phase 2: Deep Design. Invoke with /comet-design. Produce Design Doc and delta spec through brainstorming.
What it loads into context
Frontmatter
33 tokensAlways available to the agent
SKILL.md
2,965 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Steps
- Exit Conditions
- Context Compression Recovery
- Automatic Handoff to Next Phase
Files
SKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytesSKILL.mdcore12,984 bytes
Read SKILL.md
# Comet Phase 2: Deep Design (Design)
## Prerequisites
- Active change exists (proposal.md, design.md, tasks.md)
- No Design Doc (no corresponding file under `docs/superpowers/specs/`)
## Steps
### 0. Entry State Verification (Entry Check)
Execute entry verification:
```bashView the complete source on GitHubcomet-hotfix
When your agent uses it
Comet preset path: Bug fix / hotfix. Skip brainstorming, directly open → build → verify → archive. Applicable for behavior fixes, scenarios not involving new capability design.
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
2,313 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process (preset workflow, 6 steps)
- Continuous Execution Mode
- Upgrade Conditions
- Exit Conditions
- Automatic Handoff to Next Phase
Files
SKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytesSKILL.mdcore10,302 bytes
Read SKILL.md
# Comet Preset Path: Hotfix
Quick bug fix workflow: open → build → verify → archive. Skip brainstorming and full plan, applicable for behavior fixes not involving new capability design.
**Applicable conditions** (all must be met):
1. Fix bugs in existing functionality, no new capability
2. No interface changes or architecture adjustments
3. Change scope is predictable (usually ≤ 2 files)
**Not applicable**: If fix process discovers need for architecture adjustments, should upgrade to full `/comet` workflow.
---
## Process (preset workflow, 6 steps)View the complete source on GitHubcomet-open
When your agent uses it
Comet Phase 1: Open. Invoke with /comet-open. Explore ideas through OpenSpec, confirm requirements clarification, then create change structure (proposal + design + tasks).
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
2,911 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Steps
- Exit Conditions
- Automatic Handoff to Next Phase
Files
SKILL.mdcore13,475 bytesSKILL.mdcore13,475 bytesSKILL.mdcore13,475 bytesSKILL.mdcore13,475 bytesSKILL.mdcore13,475 bytesSKILL.mdcore13,475 bytesSKILL.mdcore13,475 bytes
Read SKILL.md
# Comet Phase 1: Open
## Prerequisites
- No active change, or user wants to create a new change
## Steps
### 0. Output Language Constraint
Every prompt and artifact request passed to OpenSpec must include the output-language constraint: use the language of the user request that triggered this workflow. When resuming an existing change with a clear dominant artifact language, preserve that language unless the user explicitly asks to switch.
### 1. Explore Ideas and Clarify Requirements
View the complete source on GitHubcomet-tweak
When your agent uses it
Comet preset path: Non-bug small changes (tweak). Skip brainstorming and full plan, directly open → lightweight build → light verify → archive. Applicable for copy, configuration, documentation or prompt local optimization.
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
1,989 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Process (preset workflow, 4 phases)
- Continuous Execution Mode
- Upgrade Conditions
- Exit Conditions
- Automatic Handoff to Next Phase
Files
SKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytesSKILL.mdcore8,937 bytes
Read SKILL.md
# Comet Preset Path: Tweak
Tweak is a preset workflow of Comet's five-phase capabilities, not an independent parallel process. It reuses open, build, verify, archive capabilities, only skipping brainstorming and full plan.
Applicable for non-bug small scope changes, such as copy adjustment, configuration adjustment, documentation or prompt local optimization.
**Applicable conditions** (all must be met):
1. No new capability
2. No architecture changes
3. No interface changes
4. Typically no more than 3 tasks (file count constraint see upgrade conditions below)
**Not applicable**: If change process discovers need for capability, architecture or interface adjustments, should upgrade to full `/comet` workflow.
View the complete source on GitHubcomet-verify
When your agent uses it
Comet Phase 4: Verify and Close. Invoke with /comet-verify. Verify implementation matches design, handle development branch.
What it loads into context
Frontmatter
36 tokensAlways available to the agent
SKILL.md
3,101 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Prerequisites
- Steps
- Exit Conditions
- Automatic Handoff to Next Phase
- Context Compression Recovery
Files
SKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytesSKILL.mdcore13,637 bytes
Read SKILL.md
# Comet Phase 4: Verify and Close (Verify)
## Prerequisites
- Code committed (Phase 3 complete)
- All tasks.md tasks completed
## Steps
### 0a. Output Language Constraint
Verification reports and branch-handling notes must use the language of the user request that triggered this workflow.
### 0b. Entry State Verification (Entry Check)View the complete source on GitHubcomet
When your agent uses it
Use when 用户要启动或恢复 Comet 工作流,需要根据 active change、.comet.yaml、hotfix/tweak 意图路由到对应阶段 Skill。
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
4,858 tokensWhen the skill is activated
Reference documents
13,639 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 决策核心(Decision Core)
- 子命令速查
- 参考附录(Reference Appendix)
Scripts executed separately
scripts/comet-archive.mjsscripts/comet-env.mjsscripts/comet-guard.mjsscripts/comet-handoff.mjsscripts/comet-hook-guard.mjsscripts/comet-intent.mjsscripts/comet-state.mjsscripts/comet-yaml-validate.mjs
Files
SKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesSKILL.mdcore17,298 bytesreference/auto-transition.mddoc1,294 bytesreference/comet-yaml-fields.mddoc4,717 bytesreference/context-recovery.mddoc2,406 bytesreference/debug-gate.mddoc2,375 bytesreference/decision-point.mddoc2,056 bytesreference/dirty-worktree.mddoc3,286 bytesreference/file-structure.mddoc1,312 bytesreference/intent-frame.mddoc4,613 bytesreference/scripts.mddoc2,709 bytesreference/subagent-dispatch.mddoc16,756 bytesrules/comet-phase-guard.mddoc8,916 bytesruntime/classic/checks.yamlasset120 bytesruntime/classic/guardrails.yamlasset236 bytesruntime/classic/skill.yamlasset4,240 bytesscripts/comet-archive.mjsruns347,072 bytesscripts/comet-env.mjsruns668 bytesscripts/comet-guard.mjsruns371,760 bytesscripts/comet-handoff.mjsruns346,040 bytesscripts/comet-hook-guard.mjsruns336,731 bytesscripts/comet-intent.mjsruns15,032 bytesscripts/comet-state.mjsruns342,058 bytesscripts/comet-yaml-validate.mjsruns276,280 bytes
Read SKILL.md
# Comet — OpenSpec + Superpowers 双星开发流程
OpenSpec 与 Superpowers 如双星系统围绕同一目标运转。
```
OpenSpec 负责 WHAT — 大纲、提案、spec 生命周期、归档
Superpowers 负责 HOW — 技术设计、计划、执行、收尾
```
**核心原则:brainstorming 必不可跳过。每次变更都必须经过深度设计(hotfix 和 tweak 预设除外)。**
<IMPORTANT>
本文中的“调用 `/comet-*`”“调用 OpenSpec/Superpowers 技能”均指使用当前平台的 Skill 工具加载对应 Skill,并把必要上下文作为 ARGUMENTS 传入。不得把“调用”降级为在当前 `/comet` 上下文中手工执行子 Skill 的步骤,也不得只按记忆或本文摘要模拟子 Skill。
View the complete source on GitHubcomet-archive
When your agent uses it
Use when Comet change 验证已通过,需要用户确认归档、合并 delta spec,或恢复 archive 阶段。
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
1,346 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置条件
- 步骤
- 退出条件
- 完成
- 上下文压缩恢复
Files
SKILL.mdcore4,911 bytesSKILL.mdcore4,911 bytesSKILL.mdcore4,911 bytesSKILL.mdcore4,911 bytesSKILL.mdcore4,911 bytesSKILL.mdcore4,911 bytesSKILL.mdcore4,911 bytes
Read SKILL.md
# Comet 阶段 5:归档(Archive)
## 前置条件
- 验证已通过(阶段 4 完成)
- 分支已处理
- `openspec/changes/<name>/.comet.yaml` 中 `verify_result: pass`
## 步骤
### 0. 输出语言约束
归档摘要和生命周期闭环说明必须使用触发本次工作流的用户请求语言。
View the complete source on GitHubcomet-build
When your agent uses it
Use when full Comet change 已完成 design 阶段,需要创建/恢复实施计划、选择执行方式或继续 build 阶段任务。
What it loads into context
Frontmatter
38 tokensAlways available to the agent
SKILL.md
5,293 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置条件
- 步骤
- 退出条件
- 自动衔接下一阶段
Files
SKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytesSKILL.mdcore19,967 bytes
Read SKILL.md
# Comet 阶段 3:计划与构建(Build)
## 前置条件
- Design Doc 已创建(阶段 2 完成)
- 活跃 change 存在
## 步骤
### 0. 入口状态验证(Entry Check)
按 `comet/reference/scripts.md` 定位脚本(定位 `comet-env.mjs`),然后执行入口验证;从任意入口恢复时先按 `comet/reference/context-recovery.md` 运行恢复检查:
```bashView the complete source on GitHubcomet-design
When your agent uses it
Use when full Comet change 已完成 open 阶段但缺少 Superpowers Design Doc,或 design 阶段需要从 OpenSpec 交接包恢复。
What it loads into context
Frontmatter
43 tokensAlways available to the agent
SKILL.md
3,190 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置条件
- 步骤
- 退出条件
- 上下文压缩恢复
- 自动衔接下一阶段
Files
SKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytesSKILL.mdcore11,944 bytes
Read SKILL.md
# Comet 阶段 2:深度设计(Design)
## 前置条件
- 活跃 change 已存在(proposal.md、design.md、tasks.md)
- 无 Design Doc(`docs/superpowers/specs/` 下无对应文件)
> 职责边界:open 阶段的 `design.md` 给出**高层方案框架**(架构决策方向、方案选型、数据流);design 阶段的 Design Doc 是对它的**深度技术细化**(详细实现设计、技术风险、测试策略、边界条件),是深化而非替代或重写。
## 步骤
### 0. 入口状态验证(Entry Check)
按 `comet/reference/scripts.md` 定位脚本(定位 `comet-env.mjs`),然后执行入口验证;从任意入口恢复时先按 `comet/reference/context-recovery.md` 运行恢复检查:View the complete source on GitHubcomet-hotfix
When your agent uses it
Use when 用户要修复已有行为 bug,且不新增 capability、不需要完整设计;也用于恢复 hotfix workflow。
What it loads into context
Frontmatter
35 tokensAlways available to the agent
SKILL.md
2,784 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 流程(预设流程,6 步)
- 连续执行模式
- 升级判定
- 退出条件
- 自动衔接下一阶段
Files
SKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytesSKILL.mdcore10,295 bytes
Read SKILL.md
# Comet 预设路径:Hotfix
快速 bug fix 工作流:open → build → verify → archive。跳过 brainstorming 和完整 plan,适用于行为修复、不涉及新 capability 设计的场景。
**适用条件**(必须全部满足):
1. 修复已有功能的 bug,不新增 capability
2. 不涉及接口变更或架构调整
3. 改动范围可预估(文件数仅作提示,不作为硬性升级条件,见下方升级判定)
**不适用**:如修复过程命中质变信号(见「升级判定」章节),由用户决定是否升级为完整 `/comet` 流程。
---
## 流程(预设流程,6 步)View the complete source on GitHubcomet-open
When your agent uses it
Use when Comet 需要创建新的 OpenSpec change,或 active change 缺少 proposal/design/tasks/.comet.yaml 初始化产物。
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
2,988 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置条件
- 步骤
- 退出条件
- 自动衔接下一阶段
Files
SKILL.mdcore11,426 bytesSKILL.mdcore11,426 bytesSKILL.mdcore11,426 bytesSKILL.mdcore11,426 bytesSKILL.mdcore11,426 bytesSKILL.mdcore11,426 bytesSKILL.mdcore11,426 bytes
Read SKILL.md
# Comet 阶段 1:开启(Open)
## 前置条件
- 无活跃 change,或用户希望创建新 change
## 步骤
### 0. 输出语言约束
传递给 OpenSpec 的所有提问和产物要求都必须包含输出语言约束:使用触发本次工作流的用户请求语言。恢复已有 change 且产物已有明确主语言时,除非用户明确要求切换,否则保持该语言。
### 1. 探索想法与需求澄清
View the complete source on GitHubcomet-tweak
When your agent uses it
Use when 用户要进行可收敛为单一 OpenSpec change 的轻量或中等变更,且不需要完整设计;也用于恢复 tweak workflow。
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
3,022 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 流程(预设流程,4 阶段)
- 连续执行模式
- 升级判定
- 退出条件
- 自动衔接下一阶段
Files
SKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytesSKILL.mdcore11,357 bytes
Read SKILL.md
# Comet 预设路径:Tweak
Tweak 是 Comet 五阶段能力的预设工作流,不是独立的平行流程。它串联 OpenSpec 的核心流程,复用 open、build、verify、archive 能力,仅跳过 Superpowers brainstorming 和完整 plan。
适用于串联 OpenSpec 的轻量改动,例如配置调整、文档或 prompt 优化,以及需 spec 驱动(含 delta spec)但不需要完整 `/comet` 深度设计流程的中等变更。delta spec 在 tweak 中是一等公民正常产物,需要 delta spec 本身不构成升级理由。
**适用条件**(必须全部满足):
1. 可收敛为**单一 OpenSpec change**
2. 不需要 Superpowers Design Doc 和完整 plan 才能澄清方案
3. 不涉及跨模块、跨层级的架构协调
4. 任务规模可预估(文件数和任务数仅作提示,不作为硬性升级条件,见下方升级判定)
**不适用**:如变更过程中命中质变信号(见「升级判定」章节),由用户决定是否升级为完整 `/comet` 流程。
View the complete source on GitHubcomet-verify
When your agent uses it
Use when Comet change 已完成 build 阶段,需要验证实现、处理验证失败决策或完成分支收尾。
What it loads into context
Frontmatter
36 tokensAlways available to the agent
SKILL.md
3,445 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 前置条件
- 步骤
- 退出条件
- 上下文压缩恢复
- 自动衔接下一阶段
Files
SKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytesSKILL.mdcore12,873 bytes
Read SKILL.md
# Comet 阶段 4:验证与收尾(Verify)
## 前置条件
- 代码已提交(阶段 3 完成)
- tasks.md 全部任务已完成
## 步骤
### 0a. 输出语言约束
验证报告和分支处理说明必须使用触发本次工作流的用户请求语言。
### 0b. 入口状态验证(Entry Check)View the complete source on GitHubopenspec-apply-change
When your agent uses it
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
1,114 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore4,774 bytesSKILL.mdcore4,774 bytesSKILL.mdcore4,774 bytes
Read SKILL.md
Implement tasks from an OpenSpec change.
**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
**Steps**
1. **Select the change**
If a name is provided, use it. Otherwise:
- Infer from conversation context if the user mentioned a change
- Auto-select if only one active change exists
- If ambiguous, run `openspec list --json` to get available changes and use the **AskUserQuestion tool** to let the user select
Always announce: "Using change: <name>" and how to override (e.g., `/opsx:apply <other>`).View the complete source on GitHubopenspec-archive-change
When your agent uses it
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
952 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore4,157 bytesSKILL.mdcore4,157 bytesSKILL.mdcore4,157 bytes
Read SKILL.md
Archive a completed change in the experimental workflow.
**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
**Steps**
1. **If no change name provided, prompt for selection**
Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.
Show only active changes (not already archived).
Include the schema used for each change if available.
**IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.View the complete source on GitHubopenspec-bulk-archive-change
When your agent uses it
Archive multiple completed changes at once. Use when archiving several parallel changes.
What it loads into context
Frontmatter
66 tokensAlways available to the agent
SKILL.md
1,847 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore7,660 bytesSKILL.mdcore7,660 bytes
Read SKILL.md
Archive multiple completed changes in a single operation.
This skill allows you to batch-archive changes, handling spec conflicts intelligently by checking the codebase to determine what's actually implemented.
**Input**: None required (prompts for selection)
**Steps**
1. **Get active changes**
Run `openspec list --json` to get all active changes.
If no active changes exist, inform user and stop.
View the complete source on GitHubopenspec-continue-change
When your agent uses it
Continue working on an OpenSpec change by creating the next artifact. Use when the user wants to progress their change, create the next artifact, or continue their workflow.
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
1,139 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore5,054 bytesSKILL.mdcore5,054 bytesSKILL.mdcore5,054 bytesSKILL.mdcore5,054 bytes
Read SKILL.md
Continue working on a change by creating the next artifact.
**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
**Steps**
1. **If no change name provided, prompt for selection**
Run `openspec list --json` to get available changes sorted by most recently modified. Then use the **AskUserQuestion tool** to let the user select which change to work on.
Present the top 3-4 most recently modified changes as options, showing:
- Change name
- Schema (from `schema` field if present, otherwise "spec-driven")
- Status (e.g., "0/5 tasks", "complete", "no tasks")View the complete source on GitHubopenspec-explore
When your agent uses it
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
2,115 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- The Stance
- What You Might Do
- OpenSpec Awareness
- What You Don't Have To Do
- Handling Different Entry Points
- Ending Discovery
- Guardrails
Files
SKILL.mdcore10,738 bytesSKILL.mdcore10,738 bytes
Read SKILL.md
Enter explore mode. Think deeply. Visualize freely. Follow the conversation wherever it goes.
**IMPORTANT: Explore mode is for thinking, not implementing.** You may read files, search code, and investigate the codebase, but you must NEVER write code or implement features. If the user asks you to implement something, remind them to exit explore mode first and create a change proposal. You MAY create OpenSpec artifacts (proposals, designs, specs) if the user asks—that's capturing thinking, not implementing.
**This is a stance, not a workflow.** There are no fixed steps, no required sequence, no mandatory outputs. You're a thinking partner helping the user explore.
---
## The Stance
- **Curious, not prescriptive** - Ask questions that emerge naturally, don't follow a script
- **Open threads, not interrogations** - Surface multiple interesting directions and let the user follow what resonates. Don't funnel them through a single path of questions.
- **Visual** - Use ASCII diagrams liberally when they'd help clarify thinking
- **Adaptive** - Follow interesting threads, pivot when new information emergesView the complete source on GitHubopenspec-ff-change
When your agent uses it
Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.
What it loads into context
Frontmatter
77 tokensAlways available to the agent
SKILL.md
977 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore4,438 bytesSKILL.mdcore4,438 bytesSKILL.mdcore4,438 bytesSKILL.mdcore4,438 bytesSKILL.mdcore4,438 bytes
Read SKILL.md
Fast-forward through artifact creation - generate everything needed to start implementation in one go.
**Input**: The user's request should include a change name (kebab-case) OR a description of what they want to build.
**Steps**
1. **If no clear input provided, ask what they want to build**
Use the **AskUserQuestion tool** (open-ended, no preset options) to ask:
> "What change do you want to work on? Describe what you want to build or fix."
From their description, derive a kebab-case name (e.g., "add user authentication" → `add-user-auth`).
**IMPORTANT**: Do NOT proceed without understanding what the user wants to build.View the complete source on GitHubopenspec-new-change
When your agent uses it
Start a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach.
What it loads into context
Frontmatter
83 tokensAlways available to the agent
SKILL.md
658 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore2,880 bytesSKILL.mdcore2,880 bytesSKILL.mdcore2,880 bytesSKILL.mdcore2,880 bytes
Read SKILL.md
Start a new change using the experimental artifact-driven approach.
**Input**: The user's request should include a change name (kebab-case) OR a description of what they want to build.
**Steps**
1. **If no clear input provided, ask what they want to build**
Use the **AskUserQuestion tool** (open-ended, no preset options) to ask:
> "What change do you want to work on? Describe what you want to build or fix."
From their description, derive a kebab-case name (e.g., "add user authentication" → `add-user-auth`).
**IMPORTANT**: Do NOT proceed without understanding what the user wants to build.View the complete source on GitHubopenspec-onboard
When your agent uses it
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
3,360 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Preflight
- Phase 1: Welcome
- Phase 2: Task Selection
- Phase 3: Explore Demo
- Phase 4: Create the Change
- Phase 5: Proposal
- Phase 6: Specs
- Phase 7: Design
- Phase 8: Tasks
- Phase 9: Apply (Implementation)
- Phase 10: Archive
- Phase 11: Recap & Next Steps
- Graceful Exit Handling
- Guardrails
Files
SKILL.mdcore14,166 bytesSKILL.mdcore14,166 bytesSKILL.mdcore14,166 bytesSKILL.mdcore14,166 bytesSKILL.mdcore14,166 bytesSKILL.mdcore14,166 bytesSKILL.mdcore14,166 bytes
Read SKILL.md
Guide the user through their first complete OpenSpec workflow cycle. This is a teaching experience—you'll do real work in their codebase while explaining each step.
---
## Preflight
Before starting, check if the OpenSpec CLI is installed:
```bash
# Unix/macOS
openspec --version 2>&1 || echo "CLI_NOT_INSTALLED"
# Windows (PowerShell)
# if (Get-Command openspec -ErrorAction SilentlyContinue) { openspec --version } else { echo "CLI_NOT_INSTALLED" }
```View the complete source on GitHubopenspec-propose
When your agent uses it
Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.
What it loads into context
Frontmatter
90 tokensAlways available to the agent
SKILL.md
1,044 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore4,646 bytesSKILL.mdcore4,646 bytesSKILL.mdcore4,646 bytesSKILL.mdcore4,646 bytesSKILL.mdcore4,646 bytes
Read SKILL.md
Propose a new change - create the change and generate all artifacts in one step.
I'll create a change with artifacts:
- proposal.md (what & why)
- design.md (how)
- tasks.md (implementation steps)
When ready to implement, run /opsx:apply
---
**Input**: The user's request should include a change name (kebab-case) OR a description of what they want to build.
**Steps**View the complete source on GitHubopenspec-sync-specs
When your agent uses it
Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.
What it loads into context
Frontmatter
81 tokensAlways available to the agent
SKILL.md
1,025 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore4,485 bytes
Read SKILL.md
Sync delta specs from a change to main specs.
This is an **agent-driven** operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).
**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
**Steps**
1. **If no change name provided, prompt for selection**
Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.
Show changes that have delta specs (under `specs/` directory).
View the complete source on GitHubopenspec-verify-change
When your agent uses it
Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
1,456 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore6,599 bytesSKILL.mdcore6,599 bytesSKILL.mdcore6,599 bytes
Read SKILL.md
Verify that an implementation matches the change artifacts (specs, tasks, design).
**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
**Steps**
1. **If no change name provided, prompt for selection**
Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.
Show changes that have implementation tasks (tasks artifact exists).
Include the schema used for each change if available.
Mark changes with incomplete tasks as "(In Progress)".
View the complete source on GitHubbrainstorming
When your agent uses it
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
2,220 tokensWhen the skill is activated
Reference documents
3,476 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Anti-Pattern: "This Is Too Simple To Need A Design"
- Checklist
- Process Flow
- The Process
- After the Design
- Key Principles
- Visual Companion
Scripts executed separately
scripts/helper.jsscripts/server.cjsscripts/start-server.shscripts/stop-server.sh
Files
SKILL.mdcore10,435 bytesscripts/frame-template.htmlasset8,094 bytesscripts/helper.jsruns5,615 bytesscripts/server.cjsruns25,693 bytesscripts/start-server.shruns6,908 bytesscripts/stop-server.shruns3,263 bytesspec-document-reviewer-prompt.mddoc1,747 bytesvisual-companion.mddoc13,084 bytes
Read SKILL.md
# Brainstorming Ideas Into Designs
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design and get user approval.
<HARD-GATE>
Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity.
</HARD-GATE>
## Anti-Pattern: "This Is Too Simple To Need A Design"
Every project goes through this process. A todo list, a single-function utility, a config change — all of them. "Simple" projects are where unexamined assumptions cause the most wasted work. The design can be short (a few sentences for truly simple projects), but you MUST present it and get approval.
View the complete source on GitHubdispatching-parallel-agents
When your agent uses it
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
What it loads into context
Frontmatter
30 tokensAlways available to the agent
SKILL.md
1,494 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- The Pattern
- Agent Prompt Structure
- Common Mistakes
- When NOT to Use
- Real Example from Session
- Key Benefits
- Verification
- Real-World Impact
Files
SKILL.mdcore6,644 bytes
Read SKILL.md
# Dispatching Parallel Agents
## Overview
You delegate tasks to specialized agents with isolated context. By precisely crafting their instructions and context, you ensure they stay focused and succeed at their task. They should never inherit your session's context or history — you construct exactly what they need. This also preserves your own context for coordination work.
When you have multiple unrelated failures (different test files, different subsystems, different bugs), investigating them sequentially wastes time. Each investigation is independent and can happen in parallel.
**Core principle:** Dispatch one agent per independent problem domain. Let them work concurrently.
## When to Use
```dot
digraph when_to_use {View the complete source on GitHubexecuting-plans
When your agent uses it
Use when you have a written implementation plan to execute in a separate session with review checkpoints
What it loads into context
Frontmatter
25 tokensAlways available to the agent
SKILL.md
562 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- The Process
- When to Stop and Ask for Help
- When to Revisit Earlier Steps
- Remember
- Integration
Files
SKILL.mdcore2,588 bytes
Read SKILL.md
# Executing Plans
## Overview
Load plan, review critically, execute all tasks, report when complete.
**Announce at start:** "I'm using the executing-plans skill to implement this plan."
**Note:** Tell your human partner that Superpowers works much better with access to subagents. The quality of its work will be significantly higher if run on a platform with subagent support (Claude Code, Codex CLI, Codex App, and Copilot CLI all qualify; see the per-platform tool refs in `../using-superpowers/references/`). If subagents are available, use superpowers:subagent-driven-development instead of this skill.
## The Process
### Step 1: Load and Review Plan
1. Read plan fileView the complete source on GitHubfinishing-a-development-branch
When your agent uses it
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
1,723 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- The Process
- Quick Reference
- Common Mistakes
- Red Flags
Files
SKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytesSKILL.mdcore6,832 bytes
Read SKILL.md
# Finishing a Development Branch
## Overview
Guide completion of development work by presenting clear options and handling chosen workflow.
**Core principle:** Verify tests → Detect environment → Present options → Execute choice → Clean up.
**Announce at start:** "I'm using the finishing-a-development-branch skill to complete this work."
## The Process
### Step 1: Verify Tests
View the complete source on GitHubreceiving-code-review
When your agent uses it
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
1,494 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- The Response Pattern
- Forbidden Responses
- Handling Unclear Feedback
- Source-Specific Handling
- YAGNI Check for "Professional" Features
- Implementation Order
- When To Push Back
- Acknowledging Correct Feedback
- Gracefully Correcting Your Pushback
- Common Mistakes
- Real Examples
- GitHub Thread Replies
- The Bottom Line
Files
SKILL.mdcore6,382 bytes
Read SKILL.md
# Code Review Reception
## Overview
Code review requires technical evaluation, not emotional performance.
**Core principle:** Verify before implementing. Ask before assuming. Technical correctness over social comfort.
## The Response Pattern
```
WHEN receiving code review feedback:
1. READ: Complete feedback without reactingView the complete source on GitHubrequesting-code-review
When your agent uses it
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
What it loads into context
Frontmatter
25 tokensAlways available to the agent
SKILL.md
659 tokensWhen the skill is activated
Reference documents
1,177 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Request Review
- How to Request
- Example
- Integration with Workflows
- Red Flags
Files
SKILL.mdcore2,826 bytesSKILL.mdcore2,826 bytescode-reviewer.mddoc5,213 bytes
Read SKILL.md
# Requesting Code Review
Dispatch a code reviewer subagent to catch issues before they cascade. The reviewer gets precisely crafted context for evaluation — never your session's history. This keeps the reviewer focused on the work product, not your thought process, and preserves your own context for continued work.
**Core principle:** Review early, review often.
## When to Request Review
**Mandatory:**
- After each task in subagent-driven development
- After completing major feature
- Before merge to main
**Optional but valuable:**View the complete source on GitHubsubagent-driven-development
When your agent uses it
Use when executing implementation plans with independent tasks in the current session
What it loads into context
Frontmatter
21 tokensAlways available to the agent
SKILL.md
4,843 tokensWhen the skill is activated
Reference documents
4,151 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- The Process
- Pre-Flight Plan Review
- Model Selection
- Handling Implementer Status
- Handling Reviewer ⚠<U+FE0F> Items
- Constructing Reviewer Prompts
- File Handoffs
- Durable Progress
- Prompt Templates
- Example Workflow
- Advantages
- Red Flags
- Integration
Scripts executed separately
scripts/review-packagescripts/sdd-workspacescripts/task-brief
Files
../requesting-code-review/code-reviewer.mddoc5,213 bytesSKILL.mdcore21,647 bytesSKILL.mdcore21,647 bytesimplementer-prompt.mddoc5,522 bytesscripts/review-packageruns1,350 bytesscripts/sdd-workspaceruns888 bytesscripts/task-briefruns1,102 bytestask-reviewer-prompt.mddoc7,919 bytes
Read SKILL.md
# Subagent-Driven Development
Execute plan by dispatching a fresh implementer subagent per task, a task review (spec compliance + code quality) after each, and a broad whole-branch review at the end.
**Why subagents:** You delegate tasks to specialized agents with isolated context. By precisely crafting their instructions and context, you ensure they stay focused and succeed at their task. They should never inherit your session's context or history — you construct exactly what they need. This also preserves your own context for coordination work.
**Core principle:** Fresh subagent per task + task review (spec + quality) + broad final review = high quality, fast iteration
**Narration:** between tool calls, narrate at most one short line — the
ledger and the tool results carry the record.
**Continuous execution:** Do not pause to check in with your human partner between tasks. Execute all tasks from the plan without stopping. The only reasons to stop are: BLOCKED status you cannot resolve, ambiguity that genuinely prevents progress, or all tasks complete. "Should I continue?" prompts and progress summaries waste their time — they asked you to execute the plan, so execute it.
## When to UseView the complete source on GitHubsystematic-debugging
When your agent uses it
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
What it loads into context
Frontmatter
24 tokensAlways available to the agent
SKILL.md
2,286 tokensWhen the skill is activated
Reference documents
5,727 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- The Iron Law
- When to Use
- The Four Phases
- Red Flags - STOP and Follow Process
- your human partner's Signals You're Doing It Wrong
- Common Rationalizations
- Quick Reference
- When Process Reveals "No Root Cause"
- Supporting Techniques
- Real-World Impact
Scripts executed separately
condition-based-waiting-example.tsfind-polluter.sh
Files
CREATION-LOG.mddoc4,257 bytesSKILL.mdcore9,885 bytesSKILL.mdcore9,885 bytescondition-based-waiting-example.tsruns5,054 bytescondition-based-waiting.mddoc3,516 bytesdefense-in-depth.mddoc3,650 bytesfind-polluter.shruns1,528 bytesroot-cause-tracing.mddoc5,316 bytestest-academic.mddoc653 bytestest-pressure-1.mddoc1,900 bytestest-pressure-2.mddoc2,283 bytestest-pressure-3.mddoc2,692 bytes
Read SKILL.md
# Systematic Debugging
## Overview
Random fixes waste time and create new bugs. Quick patches mask underlying issues.
**Core principle:** ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
**Violating the letter of this process is violating the spirit of debugging.**
## The Iron Law
```
NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRSTView the complete source on GitHubtest-driven-development
When your agent uses it
Use when implementing any feature or bugfix, before writing implementation code
What it loads into context
Frontmatter
21 tokensAlways available to the agent
SKILL.md
2,414 tokensWhen the skill is activated
Reference documents
1,915 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- When to Use
- The Iron Law
- Red-Green-Refactor
- Good Tests
- Why Order Matters
- Common Rationalizations
- Red Flags - STOP and Start Over
- Example: Bug Fix
- Verification Checklist
- When Stuck
- Debugging Integration
- Testing Anti-Patterns
- Final Rule
Files
SKILL.mdcore9,894 bytesSKILL.mdcore9,894 bytesSKILL.mdcore9,894 bytesSKILL.mdcore9,894 bytesSKILL.mdcore9,894 bytestesting-anti-patterns.mddoc8,251 bytes
Read SKILL.md
# Test-Driven Development (TDD)
## Overview
Write the test first. Watch it fail. Write minimal code to pass.
**Core principle:** If you didn't watch the test fail, you don't know if it tests the right thing.
**Violating the letter of the rules is violating the spirit of the rules.**
## When to Use
**Always:**
- New featuresView the complete source on GitHubusing-git-worktrees
When your agent uses it
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback
What it loads into context
Frontmatter
40 tokensAlways available to the agent
SKILL.md
1,761 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Step 0: Detect Existing Isolation
- Step 1: Create Isolated Workspace
- Step 2: Project Setup
- Step 3: Verify Clean Baseline
- Quick Reference
- Common Mistakes
- Red Flags
Files
SKILL.mdcore7,472 bytesSKILL.mdcore7,472 bytesSKILL.mdcore7,472 bytesSKILL.mdcore7,472 bytesSKILL.mdcore7,472 bytesSKILL.mdcore7,472 bytesSKILL.mdcore7,472 bytesSKILL.mdcore7,472 bytes
Read SKILL.md
# Using Git Worktrees
## Overview
Ensure work happens in an isolated workspace. Prefer your platform's native worktree tools. Fall back to manual git worktrees only when no native tool is available.
**Core principle:** Detect existing isolation first. Then use native tools. Then fall back to git. Never fight the harness.
**Announce at start:** "I'm using the using-git-worktrees skill to set up an isolated workspace."
## Step 0: Detect Existing Isolation
**Before creating anything, check if you are already in an isolated workspace.**
View the complete source on GitHubverification-before-completion
When your agent uses it
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
974 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- The Iron Law
- The Gate Function
- Common Failures
- Red Flags - STOP
- Rationalization Prevention
- Key Patterns
- Why This Matters
- When To Apply
- The Bottom Line
Files
SKILL.mdcore4,201 bytes
Read SKILL.md
# Verification Before Completion
## Overview
Claiming work is complete without verification is dishonesty, not efficiency.
**Core principle:** Evidence before claims, always.
**Violating the letter of this rule is violating the spirit of this rule.**
## The Iron Law
```
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCEView the complete source on GitHubwriting-plans
When your agent uses it
Use when you have a spec or requirements for a multi-step task, before touching code
What it loads into context
Frontmatter
25 tokensAlways available to the agent
SKILL.md
1,607 tokensWhen the skill is activated
Reference documents
361 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Scope Check
- File Structure
- Task Right-Sizing
- Bite-Sized Task Granularity
- Plan Document Header
- Task Structure
- No Placeholders
- Remember
- Self-Review
- Execution Handoff
Files
SKILL.mdcore7,092 bytesSKILL.mdcore7,092 bytesSKILL.mdcore7,092 bytesSKILL.mdcore7,092 bytesplan-document-reviewer-prompt.mddoc1,713 bytes
Read SKILL.md
# Writing Plans
## Overview
Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.
**Announce at start:** "I'm using the writing-plans skill to create the implementation plan."
**Context:** If working in an isolated worktree, it should have been created via the `superpowers:using-git-worktrees` skill at execution time.
**Save plans to:** `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`
- (User preferences for plan location override this default)View the complete source on GitHubwriting-skills
When your agent uses it
Use when creating new skills, editing existing skills, or verifying skills work before deployment
What it loads into context
Frontmatter
24 tokensAlways available to the agent
SKILL.md
5,838 tokensWhen the skill is activated
Reference documents
16,523 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- What is a Skill?
- TDD Mapping for Skills
- When to Create a Skill
- Skill Types
- Directory Structure
- SKILL.md Structure
- Skill Discovery Optimization (SDO)
- Flowchart Usage
- Code Examples
- File Organization
- The Iron Law (Same as TDD)
- Testing All Skill Types
- Common Rationalizations for Skipping Testing
- Match the Form to the Failure
- Bulletproofing Skills Against Rationalization
- RED-GREEN-REFACTOR for Skills
- Anti-Patterns
- STOP: Before Moving to Next Skill
- Skill Creation Checklist (TDD Adapted)
- Discovery Workflow
- The Bottom Line
Scripts executed separately
render-graphs.js
Files
SKILL.mdcore26,431 bytesSKILL.mdcore26,431 bytesSKILL.mdcore26,431 bytesanthropic-best-practices.mddoc46,197 bytesexamples/CLAUDE_MD_TESTING.mddoc5,423 bytesgraphviz-conventions.dotasset5,970 bytespersuasion-principles.mddoc5,901 bytesrender-graphs.jsruns4,857 bytestesting-skills-with-subagents.mddoc12,558 bytes
Read SKILL.md
# Writing Skills
## Overview
**Writing skills IS Test-Driven Development applied to process documentation.**
**Personal skills live in your runtime's skills directory**
You write test cases (pressure scenarios with subagents), watch them fail (baseline behavior), write the skill (documentation), watch tests pass (agents comply), and refactor (close loopholes).
**Core principle:** If you didn't watch an agent fail without the skill, you don't know if the skill teaches the right thing.
**REQUIRED BACKGROUND:** You MUST understand superpowers:test-driven-development before using this skill. That skill defines the fundamental RED-GREEN-REFACTOR cycle. This skill adapts TDD to documentation.
View the complete source on GitHubSkills included
- comet-bilingual-docs
- comet-github
- comet-github-ci-triage
- comet-github-idea-to-issue
- comet-github-issue-fix
- comet-github-issue-triage
- comet-github-pr-review
- comet-release
- comet-runtime-diagnose
- comet-safe-delivery
- comet
- comet-any
- comet-archive
- comet-build
- comet-classic
- comet-design
- comet-hotfix
- comet-memory
- comet-native
- comet-open
- comet-review
- comet-tweak
- comet-verify
- comet
- comet-any
- comet-archive
- comet-build
- comet-classic
- comet-design
- comet-hotfix
- comet-memory
- comet-native
- comet-open
- comet-review
- comet-tweak
- comet-verify
- grill-test
- code-review
- grill-me
- grilling
- implement
- setup-matt-pocock-skills
- tdd
- to-spec
- to-tickets
- comet
- comet-archive
- comet-build
- comet-design
- comet-hotfix
- comet-open
- comet-tweak
- comet-verify
- comet
- comet-archive
- comet-build
- comet-design
- comet-hotfix
- comet-open
- comet-tweak
- comet-verify
- openspec-apply-change
- openspec-archive-change
- openspec-bulk-archive-change
- openspec-continue-change
- openspec-explore
- openspec-ff-change
- openspec-new-change
- openspec-onboard
- openspec-propose
- openspec-sync-specs
- openspec-verify-change
- brainstorming
- dispatching-parallel-agents
- executing-plans
- finishing-a-development-branch
- receiving-code-review
- requesting-code-review
- subagent-driven-development
- systematic-debugging
- test-driven-development
- using-git-worktrees
- verification-before-completion
- writing-plans
- writing-skills
Repository facts
- License
- MIT
- Created
- May 14, 2026
- Last pushed
- Nov 6, 2026
- Forks
- 313
- Open issues
- 20
- Project activity
- Active
Rank over the last 12 weeks
Now #374 · best #306 · down 46 in 30 days
- #368 on Oct 31
- #367 on Nov 1
- #368 on Nov 2
- #371 from Nov 3 to Nov 4
- #372 on Nov 5
- #374 since Nov 6
76 earlier periods
- #302 on Aug 2
- #303 on Aug 7
- #304 on Aug 8
- #302 on Aug 9
- #311 on Aug 10
- #310 on Aug 11
- #306 on Aug 12
- #311 from Aug 13 to Aug 14
- #308 on Aug 15
- #312 on Aug 16
- #310 on Aug 17
- #315 on Aug 18
- #313 on Aug 19
- #310 on Aug 20
- #313 on Aug 21
- #307 on Aug 22
- #312 on Aug 23
- #314 from Aug 24 to Aug 25
- #313 on Aug 26
- #310 on Aug 27
- #313 on Aug 28
- #312 on Aug 29
- #306 on Aug 30
- #313 on Aug 31
- #316 on Sep 1
- #315 on Sep 2
- #322 on Sep 3
- #314 on Sep 4
- #313 from Sep 5 to Sep 6
- #321 on Sep 7
- #319 on Sep 8
- #318 from Sep 9 to Sep 10
- #311 on Sep 11
- #316 on Sep 12
- #312 on Sep 13
- #316 on Sep 14
- #317 on Sep 15
- #315 on Sep 16
- #313 from Sep 17 to Sep 18
- #311 on Sep 19
- #319 on Sep 20
- #317 on Sep 21
- #321 on Sep 22
- #317 on Sep 23
- #319 on Sep 24
- #317 on Sep 25
- #315 on Sep 26
- #319 on Sep 27
- #320 on Sep 28
- #323 on Sep 29
- #321 on Sep 30
- #319 on Oct 1
- #323 on Oct 2
- #318 on Oct 3
- #315 on Oct 4
- #325 from Oct 5 to Oct 6
- #328 on Oct 7
- #331 on Oct 8
- #335 on Oct 9
- #326 on Oct 10
- #330 on Oct 11
- #339 on Oct 12
- #335 on Oct 13
- #336 on Oct 14
- #334 on Oct 15
- #340 on Oct 16
- #337 on Oct 17
- #342 on Oct 18
- #343 on Oct 19
- #344 on Oct 20
- #346 on Oct 21
- #347 from Oct 22 to Oct 23
- #343 on Oct 24
- #355 on Oct 25
- #365 from Oct 28 to Oct 29
- #367 on Oct 30
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 3,127 notes
assets/skills-zh/comet-classic/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-open/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-open/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-open/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-open/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-open/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-open/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-open/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-open/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills-zh/comet-review/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedassets/skills/comet/scripts/comet-archive.mjs:1Analysis incomplete: file exceeds text byte budgetassets/skills/comet/scripts/comet-archive.mjs:4Analysis incomplete: physical or joined line exceeds character limitassets/skills/comet/scripts/comet-archive.mjs:2Analysis incomplete: physical or joined line exceeds character limitassets/skills/comet/scripts/comet-archive.mjs:5Analysis incomplete: physical or joined line exceeds character limitassets/skills/comet/scripts/comet-archive.mjs:3Analysis incomplete: physical or joined line exceeds character limitassets/skills/comet/scripts/comet-archive.mjs:19[Credential-related source omitted]assets/skills/comet/scripts/comet-archive.mjs:17Analysis incomplete: physical or joined line exceeds character limitassets/skills/comet/scripts/comet-archive.mjs:18Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- 5 dangerous shell commandsin 2 files: brainstorming/scripts/stop-server.sh:22 brainstorming/scripts/start-server.sh:148
- 71 network referencesin 30 files: writing-skills/anthropic-best-practices.md:7 tdd/mocking.md:42 brainstorming/visual-companion.md:40 and 27 more
- 2,240 obfuscation signalsin 34 files: comet-native/scripts/comet-native-init.mjs:4 comet-native/scripts/comet-native-root.mjs:4 comet-native/scripts/comet-native-status.mjs:4 and 31 more
- 4 instruction override signalsin 2 files: comet/rules/comet-phase-guard.en.md:26 comet-classic/SKILL.md:92
- 56 executable scriptsin 56 files: comet-native/scripts/comet-native-archive.mjs:1 comet-native/scripts/comet-native-cancel.mjs:1 comet-native/scripts/comet-native-doctor.mjs:1 and 53 more
- 15 references to secretsin 10 files: comet-native/scripts/comet-native-select.mjs:229 comet-native/scripts/comet-native-status.mjs:416 brainstorming/scripts/server.cjs:133 and 7 more
- No requests to vote in Hot
Show all 2,391 signals by file
assets/skills/comet-classic/SKILL.md
- Instruction override signalline 92
- Use Runtime phase, Guard results, and the current workspace binding to determine workflow state. Files and conversation help reconcile it; they do not authorize editing phase by hand to bypass confirmation or verification.
assets/skills/comet-native/scripts/comet-native-archive.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var Q2=Object.create;var uN=Object.defineProperty;var K2=Object.getOwnPropertyDescriptor;var G2=Object.getOwnPropertyNames;var Y2=Object.getPrototypeOf,X2=Object.prototype.hasOwnProperty;var Xm=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 17
}`,_U=xN("sha256").update(kT).digest("hex"),TU=1e4,ng=new Map});import{promises as sg}from"node:fs";function DU(t){let e=IN.get(t);if(e){if(Date.now()-e.at>$U){IN.delete(t);return}return e.value}}async function Tr(t){if(t===process.pid&&CN! - Possible obfuscationline 18
[Credential-related source omitted] - Possible obfuscationline 22
`)}}var HU,$n=K(()=>{"use strict";mN();oo();fc();so();HU=16*1024});import{AsyncLocalStorage as VU}from"node:async_hooks";function ug(){let t=jN.getStore();return t?.active?t:null}function IT(){ug()?.entries.clear()}async function dg(t){if(u - Possible obfuscationline 23
`)}};op.defaultYaml={explicit:!1,version:"1.2"};op.defaultTags={"!!":"tag:yaml.org,2002:"};qT.Directives=op});var kg=F(sp=>{"use strict";var UT=nt(),fz=ap();function hz(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 24
`)?QN(r,e):r.includes( `)? `+QN(r,e):(t.endsWith(" ")?"":" ")+r;Rg.indentComment=QN;Rg.lineComment=jz;Rg.stringifyComment=Oz});var n0=F(pp=>{"use strict";var $z="flow",KN="block",Eg="quoted";function Dz(t,e,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 54
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return Zl(a,e)}return s?d:as.foldFlowLines(d,c,as.FOLD_FLOW,Cg(e,!1))}function Hz(t,e,r,i){let{implici - Possible obfuscationline 61
`):R+= ${r.indent}`}else if(!f&&po.isCollection(e)){let U=b[0],E=b.indexOf( `),T=E!==-1,S=r.inFlow??e.flow??e.items.length===0;if(T||!S){let O=!1;if(T&&(U==="&"||U==="!")){let H=b.indexOf(" ");U==="&"&&H!==-1&&H<E&&b[H+1]==="!"&&(H=b.indexO - Possible obfuscationline 65
`)&&(R="");return v+=R+b,r.inFlow?k&&i&&i():y&&!k?v+=gp.lineComment(v,r.indent,l(y)):m&&n&&n(),v}c0.stringifyPair=Jz});var eA=F(ZN=>{"use strict";var u0=Xm("process");function Qz(t,...e){t==="debug"&&console.log(...e)}function Kz(t,e){(t=== - Possible obfuscationline 72
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Lg({indent:t,options:{commentString:e}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Bg.indentComment(e(i),t);r.push(a.trimStart())}}y0.stringifyCollection=nJ});var ls=F(sA - Possible obfuscationline 75
${a.comment}`:i.comment}i=n}t.items[r]=Jg.isPair(i)?i:new wA.Pair(i)}}else e("Expected a sequence for this tag");return t}function F0(t,e,r){let{replacer:i}=r,n=new zJ.YAMLSeq(t);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 76
`)?(r.push("..."),r.push(Sp.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(Sp.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 78
`}hO.stringifyDocument=P4});var Rp=F(gO=>{"use strict";var _4=lp(),iu=Sg(),ln=nt(),T4=ss(),O4=is(),j4=DA(),$4=mO(),LA=kg(),D4=VN(),B4=up(),HA=FN(),MA=class t{constructor(e,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 83
`}};xp.YAMLError=Ep;xp.YAMLParseError=FA;xp.YAMLWarning=VA;xp.prettifyError=L4});var Ip=F(vO=>{"use strict";function H4(t,{flow:e,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 84
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 85
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||q4.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",RO);r.atKey=!0 - Possible obfuscationline 86
`+y.comment:w.comment=y.comment);let k=new NO.Pair(w);r.options.keepSourceTokens&&(k.srcToken=u),s.items.push(k)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}EO.resolveBlockMap=z4});var I - Possible obfuscationline 90
`+v.comment:l.comment=v.comment),l.range=[i.offset,m,v.offset]}else l.range=[i.offset,m,m];return l}OO.resolveFlowCollection=nQ});var DO=F($O=>{"use strict";var aQ=nt(),oQ=or(),sQ=ls(),cQ=us(),lQ=xO(),uQ=IO(),dQ=jO();function QA(t,e,r,i,n,a - Possible obfuscationline 97
`),d+=p+v.slice(c)+g,p= `,f=!0):g===""?p=== `?d+= `:p= `:(d+=p+g,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 105
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function hQ({offset:t,props:e},r,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 107
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let n=i[1],a=" ",o=e.lastIndex;for(r.lastIndex=o;i=r.exec(t);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 121
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function AQ(t,e,r,i){let n=t.substr(e,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,r+2);r - Possible obfuscationline 127
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 128
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Pp.YAMLParseError(_p(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 136
`};delete t.items,Object.assign(t,{type:r,source:e,end:[n]});break}default:{let i="indent"in t?t.indent:-1,n="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 140
\r `),uS=t=>!t||cK.has(t),dS=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 145
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 146
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 155
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&uv.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Tp.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 157
[Credential-related source omitted] - Possible obfuscationline 158
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 159
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 160
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 161
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 162
`)){let s=jK(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of Ij(s,e).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 164
`)}function $K(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||fs.posix.isAbsolute(r)||fs.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 192
# 可选值:neutral | strict`}}});import{promises as lu}from"fs";import un from"path";async function oi(t,e,r){let i=await X(t,e,{label:r.label,expected:"file"});if(!i.exists){let a=new Error(`${r.label} does not exist`);throw a.code="ENOENT",a}l - Possible obfuscationline 193
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await Ic(ae.dirname(r))}function Uj(t){return ae.join(t,".runtime-migration-repair-failure.json")}async function zj(t){let e=[];async function r(i,n){let a;try{a=await Je.readdir - Possible obfuscationline 195
`,"utf8")}catch{}}async function xS(t,e,r){let i=ya(r.projectRoot),n=ae.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?CS(n):i.projectRoot;if(t=ae.resolve(t),Xi(n,t)&&(t=ae.join(a,ae.relative(n,t))),e=ae.resolve(e),t===a||!Xi(a,t)||!Xi - Possible obfuscationline 197
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Ic(ae.dirname(t)),await r.testHooks?.afterFence?.();let p=await Yi(l.backup,!0);if(ms(s)!==ms(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await OS(l.backup,l.stag - Possible obfuscationline 198
[Credential-related source omitted] - Possible obfuscationline 199
`:""},this._extScope=e,this._scope=new Fn.Scope({parent:e}),this._nodes=[new tR]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let i=this._extSco - Possible obfuscationline 202
[Credential-related source omitted] - Possible obfuscationline 205
[Credential-related source omitted] - Possible obfuscationline 206
`,{containedRoot:i,requireAtomicPublication:!0})}async function S(x){let V=(await b(x)).marker;if(!V||!["closing","reopening"].includes(V.state))return;let j=V.state==="closing",W=(await U(x,V)).record,z=await U(x,V),G=j?d(x):p(x),ce=j?p(x) - Possible obfuscationline 209
`)}}async function I(x,V=!0){let j=(await b(x)).marker;if(j?.writerProtocol&&j.writerProtocol!==t.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await S(x);let W=await b(x);if(W.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 210
[Credential-related source omitted] - Possible obfuscationline 211
`),r=e.length-1;for(;r>=0&&Zr.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function W7(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let i=0;i<t.length;i++)if(t[i]==="\\")i++;else if(t[i]===e[0])r++;else if(t - Possible obfuscationline 214
`)}function Rt(t,e){return Xc.parse(t,e)}function J7(...t){return Xc.use(...t),Rt.defaults=Xc.defaults,tL(Rt.defaults),Rt}var Zc,Yc,YY,Zr,XY,ZY,e7,Of,t7,Nx,rL,iL,r7,Ax,i7,Sx,n7,a7,Ew,Rx,o7,nL,s7,c7,l7,Ex,QB,u7,d7,p7,f7,aL,h7,Ao,ju,jf,m7,g7, - Possible obfuscationline 215
]`).replace("lheading",iL).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},p7=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,f7=/^(`+)([^`]|[^` - Possible obfuscationline 226
${h}`,n=n.substring(0,n.length-f.text.length)+v.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 236
`,t=t.substring(b.length+1),d=R.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 241
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 242
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 255
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 273
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${_a(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 274
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+_a(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Xc=new z7;Rt.options=Rt.setOptions=func - Possible obfuscationline 274
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+_a(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Xc=new z7;Rt.options=Rt.setOptions=func - Possible obfuscationline 275
[Credential-related source omitted] - Possible obfuscationline 276
`,"utf8"),await r.sync(),i=Jx(await r.stat({bigint:!0}))}finally{await r.close()}let n=await En(t);if(!i||!n||n.owner.id!==e.id||!Kw(n.identity,i))throw new Error(`Native lock changed after write: ${t}`);return n.identity}async function HX( - Possible obfuscationline 278
[Credential-related source omitted] - Possible obfuscationline 280
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(C.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 281
`,++r,f===13&&e.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function LZ(t,e,r,i){return t==="template"?e===96||e===36&&r.charCodeAt(i+1)===123: - Possible obfuscationline 282
[Credential-related source omitted] - Possible obfuscationline 283
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,fi(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let r=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 287
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(e,r,i){throw new t(e,{toml:r.s,ptr:i??r.p})}}});function ly(t){let e=t.p,r=t.s.charCodeAt(t.p++),i=r,n=r===39,a=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);a&&((r=t.s.charC - Possible obfuscationline 288
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":Ce.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&Ce.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!n&&r= - Possible obfuscationline 289
`)));else return null;return La(JSON.stringify(i))}catch{return null}}var $H,oh,DH,bee,py,Nee,Aee,BH,See,ch=K(()=>{"use strict";$H=er(SH(),1),oh=er(kr(),1);TH();el();FC();DH=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),b - Possible obfuscationline 290
`)),i=[],n=[],a=null,o=0;for(let l of r){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 292
`,WH= ${kn}: `});function gh(t){let e=t.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 293
[Credential-related source omitted] - Possible obfuscationline 294
`,r)}var ft=K(()=>{"use strict";fc();ja()});function Gu(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var dl,wh,yh,pl=K(()=>{"use strict";dl="c - Possible obfuscationline 299
`)),n.join( `)}).join( `)}function vi(t,e,r){return t==="zh-CN"?r:e}var vM,iI,wM,yM,kM,mM,bM,NM,rd,qs=K(()=>{"use strict";vM=["created","modified","deleted","notCreated"],iI={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 301
`)}function vi(t,e,r){return t==="zh-CN"?r:e}var vM,iI,wM,yM,kM,mM,bM,NM,rd,qs=K(()=>{"use strict";vM=["created","modified","deleted","notCreated"],iI={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 302
`, `).replaceAll("\r", `)}function Js(t){return Cte("sha256").update(wl(t)).digest("hex")}function hI(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new et(`${e} must be an object`);return t}function MM(t,e,r){let i=Object.keys(t).f - Possible obfuscationline 304
`)}function Js(t){return Cte("sha256").update(wl(t)).digest("hex")}function hI(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new et(`${e} must be an object`);return t}function MM(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if( - Possible obfuscationline 305
`),i=Dte(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new et(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=$ - Possible obfuscationline 325
`}${e}`}function gI(t,e){if(t.operation==="add"||t.operation==="modify"){let a=e.requirements.get(t.id);if(!a)return!1;let o=$y(t,t.operation==="modify"?a:void 0);return a.raw===jy(o.level,o.id,o.title,o.body)}if(t.operation==="remove")retu - Possible obfuscationline 326
${l.body??""}`).join( `),c=n.filter(l=>Vte.test(l.raw)||[...i].some(u=>BM(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&BM(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new rn([...i,...c.map(l=>l.id),...a,...o],"Native delta im - Possible obfuscationline 327
`),c=n.filter(l=>Vte.test(l.raw)||[...i].some(u=>BM(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&BM(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new rn([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; dec - Possible obfuscationline 328
`)}else e=Bte(e,s,jy(c.level,c.id,c.title,c.body))}r.push(...jh(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:jh(a)})}let n=wl(e);return{markdown:n,base_hash:t.delta.base_hash,result_hash:Js(n),rebased:t.rebased,chang - Possible obfuscationline 329
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=GM(l,e);else if(r)YM(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 330
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=GM(l,e);else if(r)YM(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=GM(l,null);if(d!==null)e - Possible obfuscationline 332
`)),a=n.flatMap((c,l)=>c.type==="heading"&&xh(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 333
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of Ly(t)){let d=u?XM(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=qh(p[1 - Possible obfuscationline 334
`)}}}var xt=K(()=>{"use strict";Pt();nl();za();Yy()});import{createHash as eie}from"crypto";function In(t){return eie("sha256").update(t).digest("hex")}var Ja=K(()=>{"use strict"});var aSe,oSe,sSe,cSe,lSe,uSe,Jh=K(()=>{"use strict";Zo();ft( - Possible obfuscationline 337
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 402
`});function $o(t){return t.replace(Kie,"$1 [REDACTED]").replace(Gie,"[REDACTED PRIVATE KEY]").replace(Yie,"$1[REDACTED]@").replace(Xie,"[REDACTED TOKEN]").replace(Zie,'$1"[REDACTED]"').replace(ene,"$1$2$1$3$4[REDACTED]$4").replace(tne,"$1$ - Possible obfuscationline 419
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 425
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-dne).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(une(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 429
`;o.write($),c.update($)});let ie=async()=>{let ue=y?await y:!1;if(!d.pid)return!0;if(process.platform==="win32")return ue;let $=Date.now()+1e3;for(;;){if(await rp(d.pid,g)==="dead")return!0;if(Date.now()>=$)return!1;await new Promise(ee=>s - Possible obfuscationline 430
`,{containedRoot:t,requireAtomicPublication:!0})}async function CB(t,e,r){let i=await lt(t,"application-scope-locks",{label:"工作区应用写入范围锁"});return ni(ZE.join(i,"_workspace.lock"),()=>ni(ZE.join(i,`${e}.lock`),r))}async function IB(t,e,r,i=!1 - Possible obfuscationline 432
[Credential-related source omitted] - Possible obfuscationline 434
`,{containedRoot:t,exclusive:!0,requireAtomicPublication:!0})),await GY(t,o),s&&await yc(di.join(t,a),{containedRoot:t,beforeRemove:async()=>{let l=await Pa(t,a,e.workflow,e.change),u=await Pa(t,o,e.workflow,e.change);if(!l||!u||!Cf(l,i)||! - Possible obfuscationline 435
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let s=await Pa(n,r,e.workflow,e.change);if(JSON.stringify(s)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 436
`,{containedRoot:e,requireAtomicPublication:!0})},a=async()=>JSON.stringify(await Promise.all(["",".runtime-store-v2",".runtime-store-history"].map(async f=>{let h=await X(f?e:tl.dirname(e),f||tl.basename(e),{label:"应用存储分区",expected:"direct
assets/skills/comet-native/scripts/comet-native-cancel.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
[Credential-related source omitted] - Access to secretsline 4
[Credential-related source omitted] - Possible obfuscationline 5
`)}};Pu.defaultYaml={explicit:!1,version:"1.2"};Pu.defaultTags={"!!":"tag:yaml.org,2002:"};xI.Directives=Pu});var fh=$(_u=>{"use strict";var CI=Ze(),aV=Iu();function oV(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 6
`)?My(t,e):t.includes( `)? `+My(t,e):(r.endsWith(" ")?"":" ")+t;wh.indentComment=My;wh.lineComment=RV;wh.stringifyComment=EV});var FI=$(Du=>{"use strict";var xV="flow",Fy="block",yh="quoted";function CV(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 36
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return $c(a,e)}return s?d:uo.foldFlowLines(d,c,uo.FOLD_FLOW,bh(e,!1))}function _V(r,e,t,i){let{implici - Possible obfuscationline 43
`):S+= ${t.indent}`}else if(!f&&wa.isCollection(e)){let H=y[0],x=y.indexOf( `),q=x!==-1,F=t.inFlow??e.flow??e.items.length===0;if(q||!F){let G=!1;if(q&&(H==="&"||H==="!")){let oe=y.indexOf(" ");H==="&"&&oe!==-1&&oe<x&&y[oe+1]==="!"&&(oe=y.i - Possible obfuscationline 47
`)&&(S="");return g+=S+y,t.inFlow?b&&i&&i():k&&!b?g+=Mu.lineComment(g,t.indent,l(k)):m&&n&&n(),g}UI.stringifyPair=HV});var zy=$(Uy=>{"use strict";var JI=oh("process");function MV(r,...e){r==="debug"&&console.log(...e)}function FV(r,e){(r=== - Possible obfuscationline 54
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function _h({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Ph.indentComment(e(i),r);t.push(a.trimStart())}}rP.stringifyCollection=GV});var mo=$(Zy - Possible obfuscationline 57
${a.comment}`:i.comment}i=n}r.items[t]=Mh.isPair(i)?i:new uk.Pair(i)}}else e("Expected a sequence for this tag");return r}function SP(r,e,t){let{replacer:i}=t,n=new L2.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(t.push("..."),t.push(Qu.indentComment(c,""))):t.push(`... ${c}`)}else t.push("...");else{let c=r.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&t[t.length-1]!==""&&t.push(""),t.push(Qu.indentComment(a(c),"")))}return t.join( `)+ `} - Possible obfuscationline 60
`}YP.stringifyDocument=NW});var Ku=$(ZP=>{"use strict";var AW=Ou(),Hc=vh(),Pi=Ze(),SW=fo(),EW=co(),RW=Ck(),xW=XP(),Pk=fh(),CW=jy(),IW=ju(),_k=Oy(),Tk=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 65
`}};Yu.YAMLError=Gu;Yu.YAMLParseError=Ok;Yu.YAMLWarning=jk;Yu.prettifyError=PW});var Zu=$(e_=>{"use strict";function _W(r,{flow:e,indicator:t,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||DW.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",c_);t.atKey=!0 - Possible obfuscationline 68
`+k.comment:w.comment=k.comment);let b=new a_.Pair(w);t.options.keepSourceTokens&&(b.srcToken=u),s.items.push(b)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}l_.resolveBlockMap=LW});var p - Possible obfuscationline 72
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}g_.resolveFlowCollection=GW});var y_=$(w_=>{"use strict";var YW=Ze(),XW=Jt(),ZW=mo(),eq=go(),tq=u_(),rq=p_(),iq=v_();function Mk(r,e,t,i,n,a - Possible obfuscationline 79
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 87
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function oq({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],a=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=t.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function mq(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=r.substr(e-2,t+2);r - Possible obfuscationline 109
${o}`:i}}if(t){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new ed.YAMLParseError(td(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 122
\r `),rb=r=>!r||eU.has(r),ib=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&im.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield rd.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 142
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`, `).replaceAll("\r", `)}function ko(r){return NU("sha256").update(ws(r)).digest("hex")}function fb(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Ke(`${e} must be an object`);return r}function pT(r,e,t){let i=Object.keys(r).fi - Possible obfuscationline 146
`)}function ko(r){return NU("sha256").update(ws(r)).digest("hex")}function fb(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Ke(`${e} must be an object`);return r}function pT(r,e,t){let i=Object.keys(r).filter(n=>!e.has(n));if(i - Possible obfuscationline 147
`),i=PU(t),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new Ke(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=t.length;for(let d=l.line+1;d<t.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=IU - Possible obfuscationline 167
`}${e}`}function gb(r,e){if(r.operation==="add"||r.operation==="modify"){let a=e.requirements.get(r.id);if(!a)return!1;let o=lm(r,r.operation==="modify"?a:void 0);return a.raw===cm(o.level,o.id,o.title,o.body)}if(r.operation==="remove")retu - Possible obfuscationline 168
${l.body??""}`).join( `),c=n.filter(l=>DU.test(l.raw)||[...i].some(u=>lT(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&lT(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new gi([...i,...c.map(l=>l.id),...a,...o],"Native delta imp - Possible obfuscationline 169
`),c=n.filter(l=>DU.test(l.raw)||[...i].some(u=>lT(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&lT(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new gi([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; decl - Possible obfuscationline 170
`)}else e=_U(e,s,cm(c.level,c.id,c.title,c.body))}t.push(...ad(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:ad(a)})}let n=ws(e);return{markdown:n,base_hash:r.delta.base_hash,result_hash:ko(n),rebased:r.rebased,change - Possible obfuscationline 171
`),t=e.length-1;for(;t>=0&&Rr.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join( `)}function qz(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])t++;else if(r - Possible obfuscationline 174
`)}function kt(r,e){return ks.parse(r,e)}function Qz(...r){return ks.use(...r),kt.defaults=ks.defaults,xT(kt.defaults),kt}var bs,ys,XU,Rr,ZU,ez,tz,yd,rz,Rb,CT,IT,iz,xb,nz,Cb,az,oz,mm,Ib,sz,PT,cz,lz,uz,Pb,kT,dz,pz,fz,hz,_T,mz,Sa,Uc,kd,gz,vz, - Possible obfuscationline 175
]`).replace("lheading",IT).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},fz=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,hz=/^(`+)([^`]|[^` - Possible obfuscationline 186
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+t.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,t=h. - Possible obfuscationline 196
`,r=r.substring(y.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 201
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 202
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 215
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 233
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${Fn(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 234
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+Fn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},ks=new Jz;kt.options=kt.setOptions=func - Possible obfuscationline 234
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+Fn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},ks=new Jz;kt.options=kt.setOptions=func - Possible obfuscationline 239
`)),n.join( `)}).join( `)}function Dr(r,e,t){return r==="zh-CN"?t:e}var HT,jb,MT,FT,VT,BT,WT,qT,zc,Ao=z(()=>{"use strict";HT=["created","modified","deleted","notCreated"],jb={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 241
`)}function Dr(r,e,t){return r==="zh-CN"?t:e}var HT,jb,MT,FT,VT,BT,WT,qT,zc,Ao=z(()=>{"use strict";HT=["created","modified","deleted","notCreated"],jb={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 242
${Lb(e)}`).digest("hex")}var Vt=z(()=>{"use strict"});function KT(r){let e=/^ {0,3}(#{1,6})[ \t]+(.+?)[ \t]*$/u.exec(r);return e?{level:e[1].length,text:e[2].replace(/[ \t]+#+[ \t]*$/u,"").trim()}:null}function JT(r,e){let t=/^ {0,3}(`{3,}| - Possible obfuscationline 244
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!t&&i===null,index:s},s+=1,e!==null)e=JT(l,e);else if(t)QT(l)&&(t=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=JT(l,null);if(d!==null)e - Possible obfuscationline 246
`)),a=n.flatMap((c,l)=>c.type==="heading"&&bd(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 247
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of gm(r)){let d=u?KT(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=Ad(p[1 - Possible obfuscationline 249
[Credential-related source omitted] - Possible obfuscationline 251
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(R.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 252
`,++t,f===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):a.unterminated(o,s,c):++t}return{pos:t,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function GJ(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 253
[Credential-related source omitted] - Possible obfuscationline 254
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Lr(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 258
${a}`,t),this.line=i,this.column=n,this.codeblock=a}static x(e,t,i){throw new r(e,{toml:t.s,ptr:i??t.p})}}});function xm(r){let e=r.p,t=r.s.charCodeAt(r.p++),i=t,n=t===39,a=t===r.s.charCodeAt(r.p)&&t===r.s.charCodeAt(r.p+1);a&&((t=r.s.charC - Possible obfuscationline 259
`:t===102?o+="\f":t===114?o+="\r":t===101?o+="\x1B":t===34?o+='"':t===92?o+="\\":Ne.x("unrecognised escape sequence",r),s=r.p+1,c=0);else t!==32&&t!==9&&(c===2&&Ne.x("invalid escape: only line-ending whitespace may be escaped",r,s),c=!n&&t= - Possible obfuscationline 260
`)));else return null;return xa(JSON.stringify(i))}catch{return null}}var M0,Hd,F0,O4,Pm,j4,$4,V0,D4,Fd=z(()=>{"use strict";M0=zt(I0(),1),Hd=zt(vr(),1);B0();Ns();BN();F0=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),O4=ne - Possible obfuscationline 261
[Credential-related source omitted] - Possible obfuscationline 262
`:""},this._extScope=e,this._scope=new fn.Scope({parent:e}),this._nodes=[new lA]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 265
[Credential-related source omitted] - Possible obfuscationline 268
[Credential-related source omitted] - Possible obfuscationline 281
}`,v9=mE("sha256").update(xD).digest("hex"),w9=1e4,_g=new Map});import{promises as jg}from"node:fs";function N9(r){let e=vE.get(r);if(e){if(Date.now()-e.at>b9){vE.delete(r);return}return e.value}}async function br(r){if(r===process.pid&&gE! - Possible obfuscationline 282
[Credential-related source omitted] - Possible obfuscationline 286
`)}}var E9,vn=z(()=>{"use strict";iE();Da();Us();Ba();E9=16*1024});import{randomUUID as C9}from"crypto";import{constants as I9,promises as cr}from"fs";import Nr from"path";async function NE(r,e){try{return await Vo(r,e),{linked:!0}}catch(t) - Possible obfuscationline 287
`)){let s=H9(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of UD(s,e).split( `))t.push(`${c}${l}`)}t.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 289
`)}function M9(r,e){if(typeof r!="string")throw new Error(`${e} must be a string`);let t=r.trim();if(t.length===0||Uo.posix.isAbsolute(t)||Uo.win32.isAbsolute(t)||/^(?:~|[\\/])/u.test(t))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 317
# 可选值:neutral | strict`}}});import{AsyncLocalStorage as r5}from"node:async_hooks";function Ug(){let r=EE.getStore();return r?.active?r:null}function GD(){Ug()?.entries.clear()}async function zg(r){if(Ug()!==null)return r();let e={entries:ne - Possible obfuscationline 318
`,{containedRoot:i,requireAtomicPublication:!0})}async function F(E){let B=(await y(E)).marker;if(!B||!["closing","reopening"].includes(B.state))return;let _=B.state==="closing",L=(await H(E,B)).record,W=await H(E,B),J=_?d(E):p(E),ie=_?p(E) - Possible obfuscationline 321
`)}}async function P(E,B=!0){let _=(await y(E)).marker;if(_?.writerProtocol&&_.writerProtocol!==r.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await F(E);let L=await y(E);if(L.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 322
[Credential-related source omitted] - Possible obfuscationline 324
`,w1= ${Vi}: `});function $E(r){let e=r.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 325
[Credential-related source omitted] - Possible obfuscationline 326
`,t)}var ht=z(()=>{"use strict";Us();Bn()});function qp(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var Ol,Up=z(()=>{"use strict";Ol="comet.n - Possible obfuscationline 327
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await tc(re.dirname(t))}function M1(r){return re.join(r,".runtime-migration-repair-failure.json")}async function F1(r){let e=[];async function t(i,n){let a;try{a=await Ue.readdir - Possible obfuscationline 329
`,"utf8")}catch{}}async function JE(r,e,t){let i=aa(t.projectRoot),n=re.resolve(t.sourceRoot??t.projectRoot),a=t.sourceRoot?QE(n):i.projectRoot;if(r=re.resolve(r),Ri(n,r)&&(r=re.join(a,re.relative(n,r))),e=re.resolve(e),r===a||!Ri(a,r)||!Ri - Possible obfuscationline 331
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await tc(re.dirname(r)),await t.testHooks?.afterFence?.();let p=await Ei(l.backup,!0);if(Go(s)!==Go(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await XE(l.backup,l.stag - Possible obfuscationline 332
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await bn(t)||(n&&await Ue.rmdir(e.runtimeRoot),await Qp(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 335
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=t){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 400
`});function Ua(r){return r.replace($Y,"$1 [REDACTED]").replace(DY,"[REDACTED PRIVATE KEY]").replace(BY,"$1[REDACTED]@").replace(LY,"[REDACTED TOKEN]").replace(HY,'$1"[REDACTED]"').replace(MY,"$1$2$1$3$4[REDACTED]$4").replace(FY,"$1$2[REDAC - Possible obfuscationline 417
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 423
BEGIN IMMEDIATE;`),t.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-YY).toISOString()),t.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(GY(),e.workflow,e.kind,e.command,e.occurredAt,e.dura - Possible obfuscationline 427
[Credential-related source omitted] - Possible obfuscationline 428
`,"utf8"),await t.sync(),i=ox(await t.stat({bigint:!0}))}finally{await t.close()}let n=await Xi(r);if(!i||!n||n.owner.id!==e.id||!Gv(n.identity,i))throw new Error(`Native lock changed after write: ${r}`);return n.identity}async function DX( - Possible obfuscationline 429
[Credential-related source omitted] - Possible obfuscationline 431
`,{containedRoot:r,exclusive:!0,requireAtomicPublication:!0})),await D7(r,o),s&&await Ys(Yr.join(r,a),{containedRoot:r,beforeRemove:async()=>{let l=await oa(r,a,e.workflow,e.change),u=await oa(r,o,e.workflow,e.change);if(!l||!u||!pf(l,i)||! - Possible obfuscationline 432
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let s=await oa(n,t,e.workflow,e.change);if(JSON.stringify(s)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 433
`,{containedRoot:r,requireAtomicPublication:!0})}async function JB(r,e,t){let i=await lt(r,"application-scope-locks",{label:"工作区应用写入范围锁"});return qr($R.join(i,"_workspace.lock"),()=>qr($R.join(i,`${e}.lock`),t))}async function QB(r,e,t,i=!1 - Possible obfuscationline 435
`,ze.e()-1)}`),{idx:ze.e()});let a=[],o=[];for(;ze.ri();){let l=ze.is(),u=ze.ie(),d=ze.it(),p=ze.ai(),f=ze.id(),h=ze.ss(),m=ze.se(),g;ze.ip()&&(g=s(r.slice(f===-1?l-1:l,f===-1?u+1:u)));let v=null;for(v=[],ze.rsa();ze.ra();){let w=ze.aks(),k - Possible obfuscationline 436
`,{containedRoot:e,requireAtomicPublication:!0})},a=async()=>JSON.stringify(await Promise.all(["",".runtime-store-v2",".runtime-store-history"].map(async f=>{let h=await K(f?e:uc.dirname(e),f||uc.basename(e),{label:"应用存储分区",expected:"direct
assets/skills/comet-native/scripts/comet-native-doctor.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var R8=Object.create;var hx=Object.defineProperty;var E8=Object.getOwnPropertyDescriptor;var x8=Object.getOwnPropertyNames;var C8=Object.getPrototypeOf,P8=Object.prototype.hasOwnProperty;var nk=(e=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 17
}`,c5=Px("sha256").update(lB).digest("hex"),l5=1e4,dk=new Map});import{promises as hk}from"node:fs";function f5(e){let t=_x.get(e);if(t){if(Date.now()-t.at>p5){_x.delete(e);return}return t.value}}async function si(e){if(e===process.pid&&Ix! - Possible obfuscationline 18
[Credential-related source omitted] - Possible obfuscationline 22
`)}}var g5,Fa=oe(()=>{"use strict";yx();Bs();Lu();Ho();g5=16*1024});import{AsyncLocalStorage as w5}from"node:async_hooks";function kk(){let e=$x.getStore();return e?.active?e:null}function vB(){kk()?.entries.clear()}async function bk(e){if( - Possible obfuscationline 23
`)}};Tm.defaultYaml={explicit:!1,version:"1.2"};Tm.defaultTags={"!!":"tag:yaml.org,2002:"};TB.Directives=Tm});var Ik=K(Om=>{"use strict";var OB=vt(),q5=_m();function W5(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let r=`Anchor must not contain whi - Possible obfuscationline 24
`)?Qx(r,t):r.includes( `)? `+Qx(r,t):(e.endsWith(" ")?"":" ")+r;$k.indentComment=Qx;$k.lineComment=uY;$k.stringifyComment=lY});var zB=K(Lm=>{"use strict";var dY="flow",Gx="block",Dk="quoted";function pY(e,t,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 54
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=t.doc.schema;if(h.some(p)||f?.some(p))return Fp(a,t)}return s?d:Gc.foldFlowLines(d,c,Gc.FOLD_FLOW,Lk(t,!1))}function mY(e,t,r,i){let{implici - Possible obfuscationline 61
`):S+= ${r.indent}`}else if(!f&&Ms.isCollection(t)){let R=N[0],C=N.indexOf( `),P=C!==-1,k=r.inFlow??t.flow??t.items.length===0;if(P||!k){let T=!1;if(P&&(R==="&"||R==="!")){let $=N.indexOf(" ");R==="&"&&$!==-1&&$<C&&N[$+1]==="!"&&($=N.indexO - Possible obfuscationline 65
`)&&(S="");return g+=S+N,r.inFlow?y&&i&&i():b&&!y?g+=Vm.lineComment(g,r.indent,l(b)):m&&n&&n(),g}GB.stringifyPair=SY});var tC=K(eC=>{"use strict";var XB=nk("process");function AY(e,...t){e==="debug"&&console.log(...t)}function RY(e,t){(e=== - Possible obfuscationline 72
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Kk({indent:e,options:{commentString:t}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Jk.indentComment(t(i),e);r.push(a.trimStart())}}sL.stringifyCollection=jY});var el=K(cC - Possible obfuscationline 75
${a.comment}`:i.comment}i=n}e.items[r]=ib.isPair(i)?i:new yC.Pair(i)}}else t("Expected a sequence for this tag");return e}function PL(e,t,r){let{replacer:i}=r,n=new N7.YAMLSeq(e);n.tag="tag:yaml.org,2002:pairs";let a=0;if(t&&Symbol.iterator - Possible obfuscationline 76
`)?(r.push("..."),r.push(Gm.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(Gm.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 78
`}rH.stringifyDocument=oX});var Ym=K(nH=>{"use strict";var sX=$m(),Wp=jk(),ua=vt(),cX=Xc(),lX=Kc(),uX=BC(),dX=iH(),HC=Ik(),pX=qx(),fX=Dm(),FC=Vx(),MC=class e{constructor(t,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 83
`}};Zm.YAMLError=Xm;Zm.YAMLParseError=VC;Zm.YAMLWarning=qC;Zm.prettifyError=hX});var tg=K(aH=>{"use strict";function mX(e,{flow:t,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 84
`))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 85
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||kX.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",fH);r.atKey=!0 - Possible obfuscationline 86
`+b.comment:w.comment=b.comment);let y=new uH.Pair(w);r.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}hH.resolveBlockMap=NX});var v - Possible obfuscationline 90
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}bH.resolveFlowCollection=jX});var AH=K(SH=>{"use strict";var $X=vt(),DX=_r(),BX=el(),LX=tl(),HX=mH(),FX=vH(),MX=NH();function QC(e,t,r,i,n,a - Possible obfuscationline 97
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+t.source.l - Possible obfuscationline 105
`}let h=i+n.length+t.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function WX({offset:e,props:t},r,i){if(t[0].type!=="block-scalar-header")return i(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 107
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=t.exec(e);if(!i)return e;let n=i[1],a=" ",o=t.lastIndex;for(r.lastIndex=o;i=r.exec(e);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 121
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function ZX(e,t,r,i){let n=e.substr(t,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=e.substr(t-2,r+2);r - Possible obfuscationline 127
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)t.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)t.warnings.push(this.warnings[a])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 128
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new rg.YAMLParseError(ig(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 136
`};delete e.items,Object.assign(e,{type:r,source:t,end:[n]});break}default:{let i="indent"in e?e.indent:-1,n="end"in e&&Array.isArray(e.end)?e.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 140
\r `),dP=e=>!e||LZ.has(e),pP=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 145
`,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.b - Possible obfuscationline 146
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 155
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(t&&kb.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield ng.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0? - Possible obfuscationline 157
[Credential-related source omitted] - Possible obfuscationline 158
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 159
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 160
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 161
`,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 162
`)){let s=uee(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of wF(s,t).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i=" - Possible obfuscationline 164
`)}function dee(e,t){if(typeof e!="string")throw new Error(`${t} must be a string`);let r=e.trim();if(r.length===0||nl.posix.isAbsolute(r)||nl.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${t} must be a project-relative pat - Possible obfuscationline 192
# 可选值:neutral | strict`}}});import{promises as Xp}from"fs";import pa from"path";async function Mi(e,t,r){let i=await le(e,t,{label:r.label,expected:"file"});if(!i.exists){let a=new Error(`${r.label} does not exist`);throw a.code="ENOENT",a} - Possible obfuscationline 193
`,{containedRoot:t,exclusive:!0,requireAtomicPublication:!0}),await td(de.dirname(r))}function jF(e){return de.join(e,".runtime-migration-repair-failure.json")}async function $F(e){let t=[];async function r(i,n){let a;try{a=await lt.readdir - Possible obfuscationline 195
`,"utf8")}catch{}}async function EP(e,t,r){let i=Vo(r.projectRoot),n=de.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?xP(n):i.projectRoot;if(e=de.resolve(e),qn(n,e)&&(e=de.join(a,de.relative(n,e))),t=de.resolve(t),e===a||!qn(a,e)||!qn - Possible obfuscationline 197
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await td(de.dirname(e)),await r.testHooks?.afterFence?.();let p=await Vn(l.backup,!0);if(ol(s)!==ol(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await TP(l.backup,l.stag - Possible obfuscationline 198
`,{containedRoot:t.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await yn(r)||(n&&await lt.rmdir(t.runtimeRoot),await Ws(r,t.runtimeRoot,{projectRoot:t.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 201
[Credential-related source omitted] - Possible obfuscationline 202
`:""},this._extScope=t,this._scope=new za.Scope({parent:t}),this._nodes=[new oI]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let i=this._extSco - Possible obfuscationline 205
[Credential-related source omitted] - Possible obfuscationline 208
[Credential-related source omitted] - Possible obfuscationline 209
`,{containedRoot:i,requireAtomicPublication:!0})}async function k(I){let U=(await N(I)).marker;if(!U||!["closing","reopening"].includes(U.state))return;let x=U.state==="closing",L=(await R(I,U)).record,F=await R(I,U),z=x?d(I):p(I),Y=x?p(I): - Possible obfuscationline 212
`)}}async function D(I,U=!0){let x=(await N(I)).marker;if(x?.writerProtocol&&x.writerProtocol!==e.writerProtocol)throw new E("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await k(I);let L=await N(I);if(L.marker?.schema===f)throw new E("STORE_RU - Possible obfuscationline 213
[Credential-related source omitted] - Possible obfuscationline 278
`});function Ui(e){return e.replace(pse,"$1 [REDACTED]").replace(fse,"[REDACTED PRIVATE KEY]").replace(hse,"$1[REDACTED]@").replace(mse,"[REDACTED TOKEN]").replace(gse,'$1"[REDACTED]"').replace(vse,"$1$2$1$3$4[REDACTED]$4").replace(wse,"$1$ - Possible obfuscationline 295
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=t.length>1e3?[...t.filter(a=>a.parentSpanId===null),...t.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 301
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-Cse).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(xse(),t.workflow,t.kind,t.command,t.occurredAt,t.du - Possible obfuscationline 305
`;o.write(M),c.update(M)});let ie=async()=>{let ce=b?await b:!1;if(!d.pid)return!0;if(process.platform==="win32")return ce;let M=Date.now()+1e3;for(;;){if(await Jc(d.pid,v)==="dead")return!0;if(Date.now()>=M)return!1;await new Promise(re=>s - Possible obfuscationline 306
`,r)}var kt=oe(()=>{"use strict";Lu();Xa()});import{lstatSync as Gse,promises as Al}from"fs";import rt from"path";import Yse from"os";async function QN(e){try{return await Al.lstat(e),!0}catch(t){if(t.code==="ENOENT")return!1;throw t}}async - Possible obfuscationline 307
${pv(t)}`).digest("hex")}var Gt=oe(()=>{"use strict"});var $2=K(Nv=>{"use strict";Object.defineProperty(Nv,"__esModule",{value:!0});function uce(e,t){if(e==null)return{};var r={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(t.indexOf(i - Possible obfuscationline 309
[Credential-related source omitted] - Possible obfuscationline 311
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(O.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 312
`,++r,f===13&&t.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function nle(e,t,r,i){return e==="template"?t===96||t===36&&r.charCodeAt(i+1)===123 - Possible obfuscationline 313
[Credential-related source omitted] - Possible obfuscationline 314
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Ki(this.state.lastTokEndLoc,l)),d}parseTemplate(t){let r=this.startNode(),i=this.parseTemplateElement(t),n= - Possible obfuscationline 318
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(t,r,i){throw new e(t,{toml:r.s,ptr:i??r.p})}}});function dS(e){let t=e.p,r=e.s.charCodeAt(e.p++),i=r,n=r===39,a=r===e.s.charCodeAt(e.p)&&r===e.s.charCodeAt(e.p+1);a&&((r=e.s.charC - Possible obfuscationline 319
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":$e.x("unrecognised escape sequence",e),s=e.p+1,c=0);else r!==32&&r!==9&&(c===2&&$e.x("invalid escape: only line-ending whitespace may be escaped",e,s),c=!n&&r= - Possible obfuscationline 320
`),r=t.length-1;for(;r>=0&&Pi.blankLine.test(t[r]);)r--;return t.length-r<=2?e:t.slice(0,r+1).join( `)}function xue(e,t){if(e.indexOf(t[1])===-1)return-1;let r=0;for(let i=0;i<e.length;i++)if(e[i]==="\\")i++;else if(e[i]===t[0])r++;else if( - Possible obfuscationline 323
`)}function Ft(e,t){return xd.parse(e,t)}function _ue(...e){return xd.use(...e),Ft.defaults=xd.defaults,Y2(Ft.defaults),Ft}var Cd,Ed,$le,Pi,Dle,Ble,Lle,Pv,Hle,x0,X2,Z2,Fle,C0,Mle,P0,Vle,qle,vS,I0,Wle,eU,Ule,zle,Jle,_0,W2,Kle,Qle,Gle,Yle,tU, - Possible obfuscationline 324
]`).replace("lheading",Z2).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Gle=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Yle=/^(`+)([^`]|[ - Possible obfuscationline 335
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 345
`,e=e.substring(N.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 350
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:r,tokens:this.lexer.inline(r)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules. - Possible obfuscationline 351
`),this.blockTokens(t,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 364
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(t){this.infiniteLoopError(t.charCodeAt(0));break}}return this.state.top=!0,r}inline(t,r=[]){return this.inlineQueue.push({src:t,tokens:r}),r}linkInTex - Possible obfuscationline 382
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${os(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${t - Network accessline 383
Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error occurred:</p><pre>"+os(r.message+"",!0)+"</pre>";return t?Promise.resolve(i):i}if(t)return Promise.reject(r);throw r}}},xd=new Iue;Ft.options=Ft.setOptions=fun - Possible obfuscationline 383
Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error occurred:</p><pre>"+os(r.message+"",!0)+"</pre>";return t?Promise.resolve(i):i}if(t)return Promise.reject(r);throw r}}},xd=new Iue;Ft.options=Ft.setOptions=fun - Possible obfuscationline 384
`)));else return null;return ss(JSON.stringify(i))}catch{return null}}var lU,Tv,uU,Lue,wS,Hue,Fue,dU,Mue,jv=oe(()=>{"use strict";lU=yr($2(),1),Tv=yr(zr(),1);q2();Pd();B0();uU=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]), - Possible obfuscationline 385
`)),i=[],n=[],a=null,o=0;for(let l of r){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 390
`)),n.join( `)}).join( `)}function Gi(e,t,r){return e==="zh-CN"?r:t}var OU,X0,jU,$U,DU,Z0,BU,LU,Ff,Tl=oe(()=>{"use strict";OU=["created","modified","deleted","notCreated"],X0={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",accepta - Possible obfuscationline 392
[Credential-related source omitted] - Possible obfuscationline 393
`,"utf8"),await r.sync(),i=PO(await r.stat({bigint:!0}))}finally{await r.close()}let n=await xa(e);if(!i||!n||n.owner.id!==t.id||!Jv(n.identity,i))throw new Error(`Native lock changed after write: ${e}`);return n.identity}async function ape - Possible obfuscationline 395
`,_z= ${ba}: `});function Ml(e){let t=e.input;if(!t||typeof t!="object"||typeof t.candidateId!="string"||!t.candidateId||typeof t.identityProvider!="string"||!t.identityProvider||typeof t.builderExecutionRef!="string"||!t.builderExecutionRe - Possible obfuscationline 396
[Credential-related source omitted] - Possible obfuscationline 397
`, `).replaceAll("\r", `)}function ql(e){return Ipe("sha256").update(Ud(e)).digest("hex")}function FO(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new pt(`${t} must be an object`);return e}function Wz(e,t,r){let i=Object.keys(e).f - Possible obfuscationline 399
`)}function ql(e){return Ipe("sha256").update(Ud(e)).digest("hex")}function FO(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new pt(`${t} must be an object`);return e}function Wz(e,t,r){let i=Object.keys(e).filter(n=>!t.has(n));if( - Possible obfuscationline 400
`),i=Lpe(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new pt(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=B - Possible obfuscationline 420
`}${t}`}function VO(e,t){if(e.operation==="add"||e.operation==="modify"){let a=t.requirements.get(e.id);if(!a)return!1;let o=eA(e,e.operation==="modify"?a:void 0);return a.raw===ZS(o.level,o.id,o.title,o.body)}if(e.operation==="remove")retu - Possible obfuscationline 421
${l.body??""}`).join( `),c=n.filter(l=>Wpe.test(l.raw)||[...i].some(u=>Mz(l.raw,u))||Object.keys(t).some(u=>!i.has(u)&&Mz(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Qn([...i,...c.map(l=>l.id),...a,...o],"Native delta im - Possible obfuscationline 422
`),c=n.filter(l=>Wpe.test(l.raw)||[...i].some(u=>Mz(l.raw,u))||Object.keys(t).some(u=>!i.has(u)&&Mz(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Qn([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; dec - Possible obfuscationline 423
`)}else t=Hpe(t,s,ZS(c.level,c.id,c.title,c.body))}r.push(...lw(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:lw(a)})}let n=Ud(t);return{markdown:n,base_hash:e.delta.base_hash,result_hash:ql(n),rebased:e.rebased,chang - Possible obfuscationline 424
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:t===null&&!r&&i===null,index:s},s+=1,t!==null)t=JO(l,t);else if(r)aJ(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 425
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:t===null&&!r&&i===null,index:s},s+=1,t!==null)t=JO(l,t);else if(r)aJ(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=JO(l,null);if(d!==null)t - Possible obfuscationline 427
`)),a=n.flatMap((c,l)=>c.type==="heading"&&Lv(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 428
[Credential-related source omitted] - Access to secretsline 428
[Credential-related source omitted] - Possible obfuscationline 429
`).trim();if(a.length===0)throw new Error("Native acceptance evidence block is empty");let o;try{o=JSON.parse(a)}catch(l){throw new Error(`Native acceptance evidence block is invalid JSON: ${l.message}`,{cause:l})}let s=lJ(o),c=kfe(s);if(a! - Possible obfuscationline 432
`}function dhe(e,t){if(!/^[a-f0-9-]{8,}$/u.test(t))throw new Error(`Invalid Native transaction id: ${t}`);return Pa.join(e.transactionsDir,t)}function wA(e,t){let r=dhe(e,t);return{directory:r,journal:Pa.join(r,"transaction.json"),events:Pa - Possible obfuscationline 433
`)}}}var xt=oe(()=>{"use strict";Tt();us();uc();Gd()});import{createHash as LJ}from"crypto";import{createReadStream as yhe}from"fs";async function vo(e){let t=LJ("sha256");for await(let r of yhe(e))t.update(r);return t.digest("hex")}functio - Possible obfuscationline 434
${JSON.stringify({initial:s.combined,final:c.combined})}`)})}function Ghe(e){return e.isFile()?"file":e.isDirectory()?"directory":e.isSymbolicLink()?"symlink":"other"}async function MJ(e){let t=Ue.resolve(e.paths.projectRoot),r=Ue.resolve(e - Possible obfuscationline 436
${JSON.stringify({visitedNodeCount:u,recordCount:d,encodedBytes:p,xor:c.toString("hex"),sum:l.toString(16).padStart(64,"0")})}`);return{records:o,omissions:s,evidence:{hash:b,visitedNodeCount:u,recordCount:d,storedRecordCount:o.length,encod - Possible obfuscationline 437
${JSON.stringify({include:e,exclude:t,hash:"sha256"})}`)}function lj(e,t,r){let i=new Set(t),n=[...t];for(;n.length>0;){if(r&&!r())return null;let a=n.pop(),o=e[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!i.has - Possible obfuscationline 439
${Buffer.byteLength(i)}:${i}`)}function a4(e){return e.reason==="git-enumeration-limit"||e.reason==="git-selection-changed"||e.reason==="physical-enumeration-limit"||e.reason==="physical-selection-changed"}function o4(e){for(let t=e.length-
assets/skills/comet-native/scripts/comet-native-hook-guard.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
[Credential-related source omitted] - Possible obfuscationline 5
`:""},this._extScope=e,this._scope=new kn.Scope({parent:e}),this._nodes=[new Xk]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 8
[Credential-related source omitted] - Possible obfuscationline 11
[Credential-related source omitted] - Possible obfuscationline 24
}`,$Q=nA("sha256").update(mO).digest("hex"),DQ=1e4,qm=new Map});import{promises as Jm}from"node:fs";function MQ(r){let e=oA.get(r);if(e){if(Date.now()-e.at>HQ){oA.delete(r);return}return e.value}}async function Sr(r){if(r===process.pid&&aA! - Possible obfuscationline 25
[Credential-related source omitted] - Possible obfuscationline 29
`)}}var WQ,Sn=z(()=>{"use strict";zN();qa();Zs();Ua();WQ=16*1024});import{randomUUID as zQ}from"crypto";import{constants as JQ,promises as lr}from"fs";import Er from"path";async function dA(r,e){try{return await Vo(r,e),{linked:!0}}catch(t) - Possible obfuscationline 30
`)}};rp.defaultYaml={explicit:!1,version:"1.2"};rp.defaultTags={"!!":"tag:yaml.org,2002:"};$O.Directives=rp});var ng=$(ip=>{"use strict";var DO=it(),l3=tp();function u3(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 31
`)?NA(t,e):t.includes( `)? `+NA(t,e):(r.endsWith(" ")?"":" ")+t;lg.indentComment=NA;lg.lineComment=P3;lg.stringifyComment=I3});var KO=$(cp=>{"use strict";var _3="flow",AA="block",ug="quoted";function T3(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 61
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return _l(a,e)}return s?d:Jo.foldFlowLines(d,c,Jo.FOLD_FLOW,pg(e,!1))}function $3(r,e,t,i){let{implici - Possible obfuscationline 68
`):S+= ${t.indent}`}else if(!f&&Qa.isCollection(e)){let H=y[0],x=y.indexOf( `),V=x!==-1,F=t.inFlow??e.flow??e.items.length===0;if(V||!F){let G=!1;if(V&&(H==="&"||H==="!")){let oe=y.indexOf(" ");H==="&"&&oe!==-1&&oe<x&&y[oe+1]==="!"&&(oe=y.i - Possible obfuscationline 72
`)&&(S="");return g+=S+y,t.inFlow?b&&i&&i():k&&!b?g+=pp.lineComment(g,t.indent,l(k)):m&&n&&n(),g}ZO.stringifyPair=W3});var CA=$(xA=>{"use strict";var tj=Uh("process");function q3(r,...e){r==="debug"&&console.log(...e)}function U3(r,e){(r=== - Possible obfuscationline 79
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Ng({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=bg.indentComment(e(i),r);t.push(a.trimStart())}}uj.stringifyCollection=eK});var Yo=$($A - Possible obfuscationline 82
${a.comment}`:i.comment}i=n}r.items[t]=_g.isPair(i)?i:new zA.Pair(i)}}else e("Expected a sequence for this tag");return r}function Tj(r,e,t){let{replacer:i}=t,n=new VK.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 83
`)?(t.push("..."),t.push(kp.indentComment(c,""))):t.push(`... ${c}`)}else t.push("...");else{let c=r.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&t[t.length-1]!==""&&t.push(""),t.push(kp.indentComment(a(c),"")))}return t.join( `)+ `} - Possible obfuscationline 85
`}a$.stringifyDocument=R6});var bp=$(s$=>{"use strict";var x6=ap(),$l=cg(),Xi=it(),C6=Ko(),I6=Uo(),P6=uS(),_6=o$(),pS=ng(),T6=gA(),O6=op(),fS=mA(),hS=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 90
`}};Ap.YAMLError=Np;Ap.YAMLParseError=mS;Ap.YAMLWarning=gS;Ap.prettifyError=j6});var Ep=$(c$=>{"use strict";function $6(r,{flow:e,indicator:t,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 91
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 92
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||M6.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",g$);t.atKey=!0 - Possible obfuscationline 93
`+k.comment:w.comment=k.comment);let b=new f$.Pair(w);t.options.keepSourceTokens&&(b.srcToken=u),s.items.push(b)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}v$.resolveBlockMap=V6});var k - Possible obfuscationline 97
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}S$.resolveFlowCollection=eG});var x$=$(R$=>{"use strict";var tG=it(),rG=er(),iG=Yo(),nG=Xo(),aG=w$(),oG=k$(),sG=E$();function NS(r,e,t,i,n,a - Possible obfuscationline 104
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 112
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function uG({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 114
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],a=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=t.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 128
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function yG(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=r.substr(e-2,t+2);r - Possible obfuscationline 134
${o}`:i}}if(t){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 135
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Rp.YAMLParseError(xp(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 143
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 147
\r `),LS=r=>!r||n8.has(r),HS=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 152
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 153
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 162
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&Qg.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Cp.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 164
[Credential-related source omitted] - Possible obfuscationline 165
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 166
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 167
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 168
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 169
`)){let s=P8(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of bD(s,e).split( `))t.push(`${c}${l}`)}t.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 171
`)}function _8(r,e){if(typeof r!="string")throw new Error(`${e} must be a string`);let t=r.trim();if(t.length===0||ts.posix.isAbsolute(t)||ts.win32.isAbsolute(t)||/^(?:~|[\\/])/u.test(t))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 199
# 可选值:neutral | strict`}}});import{promises as Wl}from"fs";import Zi from"path";async function Qr(r,e,t){let i=await K(r,e,{label:t.label,expected:"file"});if(!i.exists){let a=new Error(`${t.label} does not exist`);throw a.code="ENOENT",a}l - Possible obfuscationline 200
`,{containedRoot:i,requireAtomicPublication:!0})}async function F(E){let B=(await y(E)).marker;if(!B||!["closing","reopening"].includes(B.state))return;let _=B.state==="closing",L=(await H(E,B)).record,q=await H(E,B),J=_?d(E):p(E),ie=_?p(E) - Possible obfuscationline 203
`)}}async function P(E,B=!0){let _=(await y(E)).marker;if(_?.writerProtocol&&_.writerProtocol!==r.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await F(E);let L=await y(E);if(L.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 204
[Credential-related source omitted] - Possible obfuscationline 205
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await hc(ee.dirname(t))}function e1(r){return ee.join(r,".runtime-migration-repair-failure.json")}async function t1(r){let e=[];async function t(i,n){let a;try{a=await Ue.readdir - Possible obfuscationline 207
`,"utf8")}catch{}}async function lE(r,e,t){let i=pa(t.projectRoot),n=ee.resolve(t.sourceRoot??t.projectRoot),a=t.sourceRoot?uE(n):i.projectRoot;if(r=ee.resolve(r),ji(n,r)&&(r=ee.join(a,ee.relative(n,r))),e=ee.resolve(e),r===a||!ji(a,r)||!ji - Possible obfuscationline 209
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await hc(ee.dirname(r)),await t.testHooks?.afterFence?.();let p=await Oi(l.backup,!0);if(ns(s)!==ns(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await mE(l.backup,l.stag - Possible obfuscationline 210
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await Cn(t)||(n&&await Ue.rmdir(e.runtimeRoot),await Hp(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 214
`)}function At(r,e){return vc.parse(r,e)}function K5(...r){return vc.use(...r),At.defaults=vc.defaults,O1(At.defaults),At}var wc,gc,Z9,Mr,e5,t5,r5,Jp,i5,FE,j1,$1,n5,VE,a5,WE,o5,s5,Nv,qE,c5,D1,l5,u5,d5,UE,R1,p5,f5,h5,m5,B1,g5,to,Xl,Qp,v5,w5, - Possible obfuscationline 215
]`).replace("lheading",$1).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},h5=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,m5=/^(`+)([^`]|[^` - Possible obfuscationline 226
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+t.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,t=h. - Possible obfuscationline 236
`,r=r.substring(y.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 241
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 242
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 255
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 273
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${ga(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 274
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+ga(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},vc=new Q5;At.options=At.setOptions=func - Possible obfuscationline 274
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+ga(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},vc=new Q5;At.options=At.setOptions=func - Possible obfuscationline 275
[Credential-related source omitted] - Possible obfuscationline 276
`,"utf8"),await t.sync(),i=fR(await t.stat({bigint:!0}))}finally{await t.close()}let n=await un(r);if(!i||!n||n.owner.id!==e.id||!Vv(n.identity,i))throw new Error(`Native lock changed after write: ${r}`);return n.identity}async function VY( - Possible obfuscationline 278
[Credential-related source omitted] - Possible obfuscationline 280
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(R.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 281
`,++t,f===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):a.unterminated(o,s,c):++t}return{pos:t,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function F7(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 282
[Credential-related source omitted] - Possible obfuscationline 283
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Zr(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 287
${a}`,t),this.line=i,this.column=n,this.codeblock=a}static x(e,t,i){throw new r(e,{toml:t.s,ptr:i??t.p})}}});function rw(r){let e=r.p,t=r.s.charCodeAt(r.p++),i=t,n=t===39,a=t===r.s.charCodeAt(r.p)&&t===r.s.charCodeAt(r.p+1);a&&((t=r.s.charC - Possible obfuscationline 288
`:t===102?o+="\f":t===114?o+="\r":t===101?o+="\x1B":t===34?o+='"':t===92?o+="\\":Ae.x("unrecognised escape sequence",r),s=r.p+1,c=0);else t!==32&&t!==9&&(c===2&&Ae.x("invalid escape: only line-ending whitespace may be escaped",r,s),c=!n&&t= - Possible obfuscationline 289
`)));else return null;return Di(JSON.stringify(i))}catch{return null}}function bf(r,e,t,i={}){let n=ps(r,e);if(e===t)return{kind:"unchanged",reason:"文件内容未改变",fingerprint:n};let a=ps(r,t);return i.formal?{kind:"requirements-changed",reason:" - Possible obfuscationline 290
`)),i=[],n=[],a=null,o=0;for(let l of t){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 292
`,SL= ${tn}: `});function lx(r){let e=r.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 293
[Credential-related source omitted] - Possible obfuscationline 294
`,t)}var vt=z(()=>{"use strict";Zs();va()});function If(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var vu,Cf,Pf=z(()=>{"use strict";vu="come - Possible obfuscationline 299
`)),n.join( `)}).join( `)}function ni(r,e,t){return r==="zh-CN"?t:e}var nH,Nx,aH,oH,sH,rH,cH,lH,Su,ws=z(()=>{"use strict";nH=["created","modified","deleted","notCreated"],Nx={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 301
`)}function ni(r,e,t){return r==="zh-CN"?t:e}var nH,Nx,aH,oH,sH,rH,cH,lH,Su,ws=z(()=>{"use strict";nH=["created","modified","deleted","notCreated"],Nx={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 302
`, `).replaceAll("\r", `)}function ks(r){return PZ("sha256").update(jc(r)).digest("hex")}function Ox(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Xe(`${e} must be an object`);return r}function kH(r,e,t){let i=Object.keys(r).fi - Possible obfuscationline 304
`)}function ks(r){return PZ("sha256").update(jc(r)).digest("hex")}function Ox(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Xe(`${e} must be an object`);return r}function kH(r,e,t){let i=Object.keys(r).filter(n=>!e.has(n));if(i - Possible obfuscationline 305
`),i=LZ(t),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new Xe(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=t.length;for(let d=l.line+1;d<t.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=BZ - Possible obfuscationline 325
`}${e}`}function Dx(r,e){if(r.operation==="add"||r.operation==="modify"){let a=e.requirements.get(r.id);if(!a)return!1;let o=Pw(r,r.operation==="modify"?a:void 0);return a.raw===Iw(o.level,o.id,o.title,o.body)}if(r.operation==="remove")retu - Possible obfuscationline 326
${l.body??""}`).join( `),c=n.filter(l=>qZ.test(l.raw)||[...i].some(u=>wH(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&wH(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Li([...i,...c.map(l=>l.id),...a,...o],"Native delta imp - Possible obfuscationline 327
`),c=n.filter(l=>qZ.test(l.raw)||[...i].some(u=>wH(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&wH(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Li([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; decl - Possible obfuscationline 328
`)}else e=HZ(e,s,Iw(c.level,c.id,c.title,c.body))}t.push(...Jf(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:Jf(a)})}let n=jc(e);return{markdown:n,base_hash:r.delta.base_hash,result_hash:ks(n),rebased:r.rebased,change - Possible obfuscationline 329
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!t&&i===null,index:s},s+=1,e!==null)e=CH(l,e);else if(t)IH(l)&&(t=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 330
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!t&&i===null,index:s},s+=1,e!==null)e=CH(l,e);else if(t)IH(l)&&(t=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=CH(l,null);if(d!==null)e - Possible obfuscationline 332
`)),a=n.flatMap((c,l)=>c.type==="heading"&&Vf(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 333
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of jw(r)){let d=u?PH(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=th(p[1 - Possible obfuscationline 335
${JSON.stringify({include:r,exclude:e,hash:"sha256"})}`)}function tC(r,e,t){let i=new Set(e),n=[...e];for(;n.length>0;){if(t&&!t())return null;let a=n.pop(),o=r[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!i.has - Possible obfuscationline 336
`)+ `,timeout:lC,killSignal:"SIGKILL",maxBuffer:ah,windowsHide:!0,stdio:["pipe","pipe","pipe"]}));for(let s=0;s<i.length;s+=4096){let c=o(["--batch-check"],i.slice(s,s+4096)),l=new Map;for(let f of c.toString("ascii").trimEnd().split( `)){l - Possible obfuscationline 338
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=t){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 403
`});function mo(r){return r.replace(Gte,"$1 [REDACTED]").replace(Yte,"[REDACTED PRIVATE KEY]").replace(Xte,"$1[REDACTED]@").replace(Zte,"[REDACTED TOKEN]").replace(ere,'$1"[REDACTED]"').replace(tre,"$1$2$1$3$4[REDACTED]$4").replace(rre,"$1$ - Possible obfuscationline 420
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 426
BEGIN IMMEDIATE;`),t.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-pre).toISOString()),t.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(dre(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 430
[Credential-related source omitted] - Possible obfuscationline 432
`,{containedRoot:r,exclusive:!0,requireAtomicPublication:!0})),await B9(r,o),s&&await ac(Yr.join(r,a),{containedRoot:r,beforeRemove:async()=>{let l=await ha(r,a,e.workflow,e.change),u=await ha(r,o,e.workflow,e.change);if(!l||!u||!Fp(l,i)||! - Possible obfuscationline 433
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let s=await ha(n,t,e.workflow,e.change);if(JSON.stringify(s)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 434
`,{containedRoot:r,requireAtomicPublication:!0})}async function y1(r,e,t){let i=await dt(r,"application-scope-locks",{label:"工作区应用写入范围锁"});return Br(EE.join(i,"_workspace.lock"),()=>Br(EE.join(i,`${e}.lock`),t))}async function k1(r,e,t,i=!1 - Possible obfuscationline 436
`,Je.e()-1)}`),{idx:Je.e()});let a=[],o=[];for(;Je.ri();){let l=Je.is(),u=Je.ie(),d=Je.it(),p=Je.ai(),f=Je.id(),h=Je.ss(),m=Je.se(),g;Je.ip()&&(g=s(r.slice(f===-1?l-1:l,f===-1?u+1:u)));let v=null;for(v=[],Je.rsa();Je.ra();){let w=Je.aks(),k - Possible obfuscationline 437
`,{containedRoot:e,requireAtomicPublication:!0})},a=async()=>JSON.stringify(await Promise.all(["",".runtime-store-v2",".runtime-store-history"].map(async f=>{let h=await K(f?e:kc.dirname(e),f||kc.basename(e),{label:"应用存储分区",expected:"direct
assets/skills/comet-native/scripts/comet-native-init.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var XF=Object.create;var mI=Object.defineProperty;var ZF=Object.getOwnPropertyDescriptor;var eV=Object.getOwnPropertyNames;var tV=Object.getPrototypeOf,rV=Object.prototype.hasOwnProperty;var sh=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};Ru.defaultYaml={explicit:!1,version:"1.2"};Ru.defaultTags={"!!":"tag:yaml.org,2002:"};EI.Directives=Ru});var ph=$(xu=>{"use strict";var RI=Ze(),hV=Eu();function mV(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 6
`)?Ly(t,e):t.includes( `)? `+Ly(t,e):(r.endsWith(" ")?"":" ")+t;vh.indentComment=Ly;vh.lineComment=$V;vh.stringifyComment=jV});var HI=$(Tu=>{"use strict";var DV="flow",Hy="block",wh="quoted";function BV(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 36
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return Bc(a,e)}return s?d:co.foldFlowLines(d,c,co.FOLD_FLOW,kh(e,!1))}function MV(r,e,t,i){let{implici - Possible obfuscationline 43
`):S+= ${t.indent}`}else if(!f&&va.isCollection(e)){let H=y[0],x=y.indexOf( `),q=x!==-1,F=t.inFlow??e.flow??e.items.length===0;if(q||!F){let G=!1;if(q&&(H==="&"||H==="!")){let oe=y.indexOf(" ");H==="&"&&oe!==-1&&oe<x&&y[oe+1]==="!"&&(oe=y.i - Possible obfuscationline 47
`)&&(S="");return g+=S+y,t.inFlow?b&&i&&i():k&&!b?g+=Du.lineComment(g,t.indent,l(k)):m&&n&&n(),g}WI.stringifyPair=QV});var qy=$(Wy=>{"use strict";var UI=sh("process");function KV(r,...e){r==="debug"&&console.log(...e)}function GV(r,e){(r=== - Possible obfuscationline 54
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Ph({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Ih.indentComment(e(i),r);t.push(a.trimStart())}}eP.stringifyCollection=a2});var fo=$(Yy - Possible obfuscationline 57
${a.comment}`:i.comment}i=n}r.items[t]=Hh.isPair(i)?i:new ck.Pair(i)}}else e("Expected a sequence for this tag");return r}function NP(r,e,t){let{replacer:i}=t,n=new J2.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(t.push("..."),t.push(qu.indentComment(c,""))):t.push(`... ${c}`)}else t.push("...");else{let c=r.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&t[t.length-1]!==""&&t.push(""),t.push(qu.indentComment(a(c),"")))}return t.join( `)+ `} - Possible obfuscationline 60
`}KP.stringifyDocument=_W});var Uu=$(YP=>{"use strict";var TW=Iu(),Fc=gh(),_i=Ze(),OW=uo(),jW=oo(),$W=Rk(),DW=GP(),Ck=ph(),BW=Ty(),LW=Pu(),Ik=_y(),Pk=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 65
`}};Ju.YAMLError=zu;Ju.YAMLParseError=_k;Ju.YAMLWarning=Tk;Ju.prettifyError=HW});var Ku=$(XP=>{"use strict";function MW(r,{flow:e,indicator:t,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||UW.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",o_);t.atKey=!0 - Possible obfuscationline 68
`+k.comment:w.comment=k.comment);let b=new i_.Pair(w);t.options.keepSourceTokens&&(b.srcToken=u),s.items.push(b)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}s_.resolveBlockMap=JW});var u - Possible obfuscationline 72
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}h_.resolveFlowCollection=aq});var v_=$(g_=>{"use strict";var oq=Ze(),sq=Jt(),cq=fo(),lq=ho(),uq=c_(),dq=u_(),pq=m_();function Lk(r,e,t,i,n,a - Possible obfuscationline 79
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 87
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function mq({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],a=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=t.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Sq(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=r.substr(e-2,t+2);r - Possible obfuscationline 109
${o}`:i}}if(t){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Gu.YAMLParseError(Yu(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 122
\r `),eb=r=>!r||lU.has(r),tb=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&rm.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Xu.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 142
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`)){let s=jU(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of pT(s,e).split( `))t.push(`${c}${l}`)}t.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 146
`)}function $U(r,e){if(typeof r!="string")throw new Error(`${e} must be a string`);let t=r.trim();if(t.length===0||vo.posix.isAbsolute(t)||vo.win32.isAbsolute(t)||/^(?:~|[\\/])/u.test(t))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 174
# 可选值:neutral | strict`}}});function yo(r){return r!==0&&r!==0n&&r!=="0"}function $n(r,e){return yo(r.dev)&&yo(e.dev)&&yo(r.ino)&&yo(e.ino)}function st(r,e){let t=yo(r.dev)&&yo(e.dev);if(t&&r.dev!==e.dev)return!1;let i=yo(r.ino)&&yo(e.ino); - Possible obfuscationline 175
`,t)}var ht=z(()=>{"use strict";ws();Ln()});import{types as bz}from"node:util";import{createHash as Nz}from"node:crypto";function Az(r,e,t){let i=new WeakMap,n=v=>{let w=i.get(v);if(w)return w;let k=Array.isArray(v)?[...v]:{...v};return i.s - Possible obfuscationline 188
}`,Kz=$b("sha256").update(WT).digest("hex"),Gz=1e4,Rm=new Map});import{promises as Im}from"node:fs";function eJ(r){let e=Bb.get(r);if(e){if(Date.now()-e.at>Zz){Bb.delete(r);return}return e.value}}async function kr(r){if(r===process.pid&&Db! - Possible obfuscationline 189
[Credential-related source omitted] - Possible obfuscationline 193
`)}}var iJ,on=z(()=>{"use strict";Rb();ka();ws();Ea();iJ=16*1024});import{createHash as oJ}from"node:crypto";import{lstatSync as wd,readFileSync as sJ,realpathSync as XT}from"node:fs";import cJ from"node:os";import Mr from"node:path";functi - Possible obfuscationline 194
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await Rs(te.dirname(t))}function o0(r){return te.join(r,".runtime-migration-repair-failure.json")}async function s0(r){let e=[];async function t(i,n){let a;try{a=await qe.readdir - Possible obfuscationline 196
`,"utf8")}catch{}}async function Jb(r,e,t){let i=Fn(t.projectRoot),n=te.resolve(t.sourceRoot??t.projectRoot),a=t.sourceRoot?Qb(n):i.projectRoot;if(r=te.resolve(r),Ni(n,r)&&(r=te.join(a,te.relative(n,r))),e=te.resolve(e),r===a||!Ni(a,r)||!Ni - Possible obfuscationline 198
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Rs(te.dirname(r)),await t.testHooks?.afterFence?.();let p=await bi(l.backup,!0);if(xo(s)!==xo(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await Xb(l.backup,l.stag - Possible obfuscationline 199
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await sn(t)||(n&&await qe.rmdir(e.runtimeRoot),await yd(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 204
`)),n.join( `)}).join( `)}function Vr(r,e,t){return r==="zh-CN"?t:e}var _0,oN,T0,O0,j0,I0,$0,D0,pl,Io=z(()=>{"use strict";_0=["created","modified","deleted","notCreated"],oN={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 206
[Credential-related source omitted] - Possible obfuscationline 207
`:""},this._extScope=e,this._scope=new dn.Scope({parent:e}),this._nodes=[new PN]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 210
[Credential-related source omitted] - Possible obfuscationline 213
[Credential-related source omitted] - Possible obfuscationline 214
`,{containedRoot:i,requireAtomicPublication:!0})}async function F(E){let B=(await y(E)).marker;if(!B||!["closing","reopening"].includes(B.state))return;let _=B.state==="closing",L=(await H(E,B)).record,W=await H(E,B),J=_?d(E):p(E),ie=_?p(E) - Possible obfuscationline 217
`)}}async function P(E,B=!0){let _=(await y(E)).marker;if(_?.writerProtocol&&_.writerProtocol!==r.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await F(E);let L=await y(E);if(L.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 218
[Credential-related source omitted] - Possible obfuscationline 219
`),t=e.length-1;for(;t>=0&&jr.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join( `)}function p9(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])t++;else if(r - Possible obfuscationline 222
`)}function Nt(r,e){return Gs.parse(r,e)}function g9(...r){return Gs.use(...r),Nt.defaults=Gs.defaults,UD(Nt.defaults),Nt}var Ys,Ks,k8,jr,b8,N8,A8,vp,S8,YS,zD,JD,E8,XS,R8,ZS,x8,C8,Jg,eE,I8,QD,P8,_8,T8,tE,LD,O8,j8,$8,D8,KD,B8,$a,jl,wp,L8,H8, - Possible obfuscationline 223
]`).replace("lheading",JD).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},$8=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,D8=/^(`+)([^`]|[^` - Possible obfuscationline 234
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+t.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,t=h. - Possible obfuscationline 244
`,r=r.substring(y.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 249
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 250
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 263
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 281
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${Yn(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 282
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+Yn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Gs=new m9;Nt.options=Nt.setOptions=func - Possible obfuscationline 282
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+Yn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Gs=new m9;Nt.options=Nt.setOptions=func - Possible obfuscationline 283
[Credential-related source omitted] - Possible obfuscationline 284
`,"utf8"),await t.sync(),i=kE(await t.stat({bigint:!0}))}finally{await t.close()}let n=await Ki(r);if(!i||!n||n.owner.id!==e.id||!lv(n.identity,i))throw new Error(`Native lock changed after write: ${r}`);return n.identity}async function a5( - Possible obfuscationline 286
[Credential-related source omitted] - Possible obfuscationline 288
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(R.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 289
`,++t,f===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):a.unterminated(o,s,c):++t}return{pos:t,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function nY(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 290
[Credential-related source omitted] - Possible obfuscationline 291
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Kr(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 295
${a}`,t),this.line=i,this.column=n,this.codeblock=a}static x(e,t,i){throw new r(e,{toml:t.s,ptr:i??t.p})}}});function Av(r){let e=r.p,t=r.s.charCodeAt(r.p++),i=t,n=t===39,a=t===r.s.charCodeAt(r.p)&&t===r.s.charCodeAt(r.p+1);a&&((t=r.s.charC - Possible obfuscationline 296
`:t===102?o+="\f":t===114?o+="\r":t===101?o+="\x1B":t===34?o+='"':t===92?o+="\\":Se.x("unrecognised escape sequence",r),s=r.p+1,c=0);else t!==32&&t!==9&&(c===2&&Se.x("invalid escape: only line-ending whitespace may be escaped",r,s),c=!n&&t= - Possible obfuscationline 297
`)));else return null;return Ha(JSON.stringify(i))}catch{return null}}var AB,Fp,SB,FY,Rv,VY,WY,EB,qY,Wp=z(()=>{"use strict";AB=zt(pB(),1),Fp=zt(vr(),1);kB();Xs();hR();SB=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),FY=ne - Possible obfuscationline 298
`)),i=[],n=[],a=null,o=0;for(let l of t){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 300
`,OB= ${Wi}: `});function yR(r){let e=r.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 301
[Credential-related source omitted] - Possible obfuscationline 302
`, `).replaceAll("\r", `)}function Xo(r){return k7("sha256").update(uc(r)).digest("hex")}function IR(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Ge(`${e} must be an object`);return r}function aL(r,e,t){let i=Object.keys(r).fi - Possible obfuscationline 304
`)}function Xo(r){return k7("sha256").update(uc(r)).digest("hex")}function IR(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Ge(`${e} must be an object`);return r}function aL(r,e,t){let i=Object.keys(r).filter(n=>!e.has(n));if(i - Possible obfuscationline 305
`),i=C7(t),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new Ge(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=t.length;for(let d=l.line+1;d<t.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=x7 - Possible obfuscationline 325
`}${e}`}function TR(r,e){if(r.operation==="add"||r.operation==="modify"){let a=e.requirements.get(r.id);if(!a)return!1;let o=Hv(r,r.operation==="modify"?a:void 0);return a.raw===Lv(o.level,o.id,o.title,o.body)}if(r.operation==="remove")retu - Possible obfuscationline 326
${l.body??""}`).join( `),c=n.filter(l=>j7.test(l.raw)||[...i].some(u=>rL(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&rL(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new xi([...i,...c.map(l=>l.id),...a,...o],"Native delta imp - Possible obfuscationline 327
`),c=n.filter(l=>j7.test(l.raw)||[...i].some(u=>rL(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&rL(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new xi([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; decl - Possible obfuscationline 328
`)}else e=I7(e,s,Lv(c.level,c.id,c.title,c.body))}t.push(...af(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:af(a)})}let n=uc(e);return{markdown:n,base_hash:r.delta.base_hash,result_hash:Xo(n),rebased:r.rebased,change - Possible obfuscationline 329
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!t&&i===null,index:s},s+=1,e!==null)e=fL(l,e);else if(t)hL(l)&&(t=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 330
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!t&&i===null,index:s},s+=1,e!==null)e=fL(l,e);else if(t)hL(l)&&(t=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=fL(l,null);if(d!==null)e - Possible obfuscationline 332
`)),a=n.flatMap((c,l)=>c.type==="heading"&&xd(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 333
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of Vv(r)){let d=u?mL(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=gf(p[1 - Possible obfuscationline 334
`)}}}var xt=z(()=>{"use strict";kt();tc();dc();Zv()});import{createHash as DX}from"crypto";function Xi(r){return DX("sha256").update(r).digest("hex")}var sa=z(()=>{"use strict"});var Kwe,Gwe,Ywe,Xwe,Zwe,eye,yf=z(()=>{"use strict";Eo();ht(); - Possible obfuscationline 337
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=t){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 402
`});import{createRequire as Nee}from"node:module";function yw(r,e){if(!ww){let t=process.emitWarning;process.emitWarning=((i,...n)=>{String(i instanceof Error?i.message:i).startsWith("SQLite is an experimental feature and might change at an - Possible obfuscationline 419
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 425
BEGIN IMMEDIATE;`),t.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-_ee).toISOString()),t.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(Pee(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 429
`;o.write(T),c.update(T)});let je=async()=>{let de=k?await k:!1;if(!d.pid)return!0;if(process.platform==="win32")return de;let T=Date.now()+1e3;for(;;){if(await Pm(d.pid,v)==="dead")return!0;if(Date.now()>=T)return!1;await new Promise(ee=>s - Possible obfuscationline 431
`: `}function PJ(r){return r.match(/[^\r\n]*(?:\r\n|\n|\r|$)/gu)?.filter(Boolean)??[]}function _J(r){return r.replace(/(?:\r\n|\n|\r)$/u,"")}function w0(r){let e=[],t=!1;for(let i of PJ(r)){let n=_J(i);if(n===iN){if(t)throw new Error("Comet - Possible obfuscationline 432
`}function PJ(r){return r.match(/[^\r\n]*(?:\r\n|\n|\r|$)/gu)?.filter(Boolean)??[]}function _J(r){return r.replace(/(?:\r\n|\n|\r)$/u,"")}function w0(r){let e=[],t=!1;for(let i of PJ(r)){let n=_J(i);if(n===iN){if(t)throw new Error("Comet .g - Possible obfuscationline 434
`}function C0(r,e,t){let i=[r.summary],n=R0(r.next);return n&&i.push(n),r.user_message&&i.push("",Vn.relay,r.user_message),i.push("",`${Vn.detail} ${e}`),t!==void 0&&i.push("",Vn.details,JSON.stringify(t,null,2)),i.join( `)}Io();Dn();Le();D - Possible obfuscationline 435
[Credential-related source omitted] - Possible obfuscationline 437
`,{containedRoot:r,exclusive:!0,requireAtomicPublication:!0})),await a8(r,o),s&&await ks(Jr.join(r,a),{containedRoot:r,beforeRemove:async()=>{let l=await Gn(r,a,e.workflow,e.change),u=await Gn(r,o,e.workflow,e.change);if(!l||!u||!dp(l,i)||! - Possible obfuscationline 438
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let s=await Gn(n,t,e.workflow,e.change);if(JSON.stringify(s)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 439
`,{containedRoot:r,requireAtomicPublication:!0})}async function _D(r,e,t){let i=await ct(r,"application-scope-locks",{label:"工作区应用写入范围锁"});return Hr($S.join(i,"_workspace.lock"),()=>Hr($S.join(i,`${e}.lock`),t))}async function TD(r,e,t,i=!1 - Possible obfuscationline 441
`,Ue.e()-1)}`),{idx:Ue.e()});let a=[],o=[];for(;Ue.ri();){let l=Ue.is(),u=Ue.ie(),d=Ue.it(),p=Ue.ai(),f=Ue.id(),h=Ue.ss(),m=Ue.se(),g;Ue.ip()&&(g=s(r.slice(f===-1?l-1:l,f===-1?u+1:u)));let v=null;for(v=[],Ue.rsa();Ue.ra();){let w=Ue.aks(),k - Possible obfuscationline 442
`,{containedRoot:e,requireAtomicPublication:!0})},a=async()=>JSON.stringify(await Promise.all(["",".runtime-store-v2",".runtime-store-history"].map(async f=>{let h=await Q(f?e:Zs.dirname(e),f||Zs.basename(e),{label:"应用存储分区",expected:"direct
assets/skills/comet-native/scripts/comet-native-new.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var Vq=Object.create;var kb=Object.defineProperty;var Wq=Object.getOwnPropertyDescriptor;var qq=Object.getOwnPropertyNames;var Uq=Object.getPrototypeOf,zq=Object.prototype.hasOwnProperty;var gm=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};_d.defaultYaml={explicit:!1,version:"1.2"};_d.defaultTags={"!!":"tag:yaml.org,2002:"};H_.Directives=_d});var bm=B(Td=>{"use strict";var M_=at(),aU=Pd();function oU(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 6
`)?_b(r,e):r.includes( `)? `+_b(r,e):(t.endsWith(" ")?"":" ")+r;Em.indentComment=_b;Em.lineComment=EU;Em.stringifyComment=RU});var Z_=B(Bd=>{"use strict";var xU="flow",Tb="block",xm="quoted";function CU(t,e,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 36
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return Rl(a,e)}return s?d:Ho.foldFlowLines(d,c,Ho.FOLD_FLOW,Im(e,!1))}function _U(t,e,r,i){let{implici - Possible obfuscationline 43
`):S+= ${r.indent}`}else if(!f&&Ua.isCollection(e)){let H=b[0],C=b.indexOf( `),W=C!==-1,R=r.inFlow??e.flow??e.items.length===0;if(W||!R){let O=!1;if(W&&(H==="&"||H==="!")){let z=b.indexOf(" ");H==="&"&&z!==-1&&z<C&&b[z+1]==="!"&&(z=b.indexO - Possible obfuscationline 47
`)&&(S="");return g+=S+b,r.inFlow?y&&i&&i():k&&!y?g+=Fd.lineComment(g,r.indent,l(k)):m&&n&&n(),g}iT.stringifyPair=HU});var Bb=B(Db=>{"use strict";var aT=gm("process");function MU(t,...e){t==="debug"&&console.log(...e)}function FU(t,e){(t=== - Possible obfuscationline 54
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Hm({indent:t,options:{commentString:e}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Lm.indentComment(e(i),t);r.push(a.trimStart())}}hT.stringifyCollection=GU});var Wo=B(qb - Possible obfuscationline 57
${a.comment}`:i.comment}i=n}t.items[r]=Jm.isPair(i)?i:new tN.Pair(i)}}else e("Expected a sequence for this tag");return t}function DT(t,e,r){let{replacer:i}=r,n=new Lz.YAMLSeq(t);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(r.push("..."),r.push(Qd.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(Qd.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 60
`}l0.stringifyDocument=NK});var Gd=B(d0=>{"use strict";var AK=jd(),Il=Rm(),zi=at(),SK=Fo(),RK=Bo(),EK=yN(),xK=u0(),bN=bm(),CK=Rb(),IK=$d(),NN=Sb(),AN=class t{constructor(e,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 65
`}};Xd.YAMLError=Yd;Xd.YAMLParseError=SN;Xd.YAMLWarning=RN;Xd.prettifyError=PK});var ep=B(p0=>{"use strict";function _K(t,{flow:e,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||DK.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",k0);r.atKey=!0 - Possible obfuscationline 68
`+k.comment:w.comment=k.comment);let y=new v0.Pair(w);r.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}b0.resolveBlockMap=LK});var S - Possible obfuscationline 72
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}C0.resolveFlowCollection=GK});var _0=B(P0=>{"use strict";var YK=at(),XK=Xt(),ZK=Wo(),eJ=qo(),tJ=N0(),rJ=S0(),iJ=I0();function _N(t,e,r,i,n,a - Possible obfuscationline 79
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 87
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function oJ({offset:t,props:e},r,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let n=i[1],a=" ",o=e.lastIndex;for(r.lastIndex=o;i=r.exec(t);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function mJ(t,e,r,i){let n=t.substr(e,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,r+2);r - Possible obfuscationline 109
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new tp.YAMLParseError(rp(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete t.items,Object.assign(t,{type:r,source:e,end:[n]});break}default:{let i="indent"in t?t.indent:-1,n="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 122
\r `),KN=t=>!t||e4.has(t),JN=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&dg.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield ip.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 142
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`)){let s=E4(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of SO(s,e).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 146
`)}function x4(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||Ko.posix.isAbsolute(r)||Ko.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 174
# 可选值:neutral | strict`}}});function Qo(t){return t!==0&&t!==0n&&t!=="0"}function la(t,e){return Qo(t.dev)&&Qo(e.dev)&&Qo(t.ino)&&Qo(e.ino)}function pt(t,e){let r=Qo(t.dev)&&Qo(e.dev);if(r&&t.dev!==e.dev)return!1;let i=Qo(t.ino)&&Qo(e.ino); - Possible obfuscationline 175
`,r)}var ht=J(()=>{"use strict";ec();pa()});import{types as pQ}from"node:util";import{createHash as fQ}from"node:crypto";function hQ(t,e,r){let i=new WeakMap,n=v=>{let w=i.get(v);if(w)return w;let k=Array.isArray(v)?[...v]:{...v};return i.s - Possible obfuscationline 188
}`,MQ=RA("sha256").update(nj).digest("hex"),FQ=1e4,Dg=new Map});import{promises as Hg}from"node:fs";function UQ(t){let e=xA.get(t);if(e){if(Date.now()-e.at>qQ){xA.delete(t);return}return e.value}}async function Er(t){if(t===process.pid&&EA! - Possible obfuscationline 189
[Credential-related source omitted] - Possible obfuscationline 193
`)}}var JQ,En=J(()=>{"use strict";Og();Ja();ec();Za();JQ=16*1024});import{createHash as YQ}from"node:crypto";import{lstatSync as Sp,readFileSync as XQ,realpathSync as fj}from"node:fs";import ZQ from"node:os";import zr from"node:path";functi - Possible obfuscationline 194
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await lc(te.dirname(r))}function bj(t){return te.join(t,".runtime-migration-repair-failure.json")}async function Nj(t){let e=[];async function r(i,n){let a;try{a=await ze.readdir - Possible obfuscationline 196
`,"utf8")}catch{}}async function HA(t,e,r){let i=fa(r.projectRoot),n=te.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?MA(n):i.projectRoot;if(t=te.resolve(t),ji(n,t)&&(t=te.join(a,te.relative(n,t))),e=te.resolve(e),t===a||!ji(a,t)||!ji - Possible obfuscationline 198
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await lc(te.dirname(t)),await r.testHooks?.afterFence?.();let p=await Oi(l.backup,!0);if(is(s)!==is(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await UA(l.backup,l.stag - Possible obfuscationline 199
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await xn(r)||(n&&await ze.rmdir(e.runtimeRoot),await Rp(r,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 200
`, `).replaceAll("\r", `)}function ss(t){return K6("sha256").update(pc(t)).digest("hex")}function oS(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new et(`${e} must be an object`);return t}function Xj(t,e,r){let i=Object.keys(t).fi - Possible obfuscationline 202
`)}function ss(t){return K6("sha256").update(pc(t)).digest("hex")}function oS(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new et(`${e} must be an object`);return t}function Xj(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if(i - Possible obfuscationline 203
`),i=t3(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new et(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=e3 - Possible obfuscationline 223
`}${e}`}function uS(t,e){if(t.operation==="add"||t.operation==="modify"){let a=e.requirements.get(t.id);if(!a)return!1;let o=uv(t,t.operation==="modify"?a:void 0);return a.raw===lv(o.level,o.id,o.title,o.body)}if(t.operation==="remove")retu - Possible obfuscationline 224
${l.body??""}`).join( `),c=n.filter(l=>s3.test(l.raw)||[...i].some(u=>Qj(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&Qj(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Di([...i,...c.map(l=>l.id),...a,...o],"Native delta imp - Possible obfuscationline 225
`),c=n.filter(l=>s3.test(l.raw)||[...i].some(u=>Qj(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&Qj(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Di([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; decl - Possible obfuscationline 226
`)}else e=r3(e,s,lv(c.level,c.id,c.title,c.body))}r.push(...Tp(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:Tp(a)})}let n=pc(e);return{markdown:n,base_hash:t.delta.base_hash,result_hash:ss(n),rebased:t.rebased,change - Possible obfuscationline 229
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 230
[Credential-related source omitted] - Possible obfuscationline 232
[Credential-related source omitted] - Possible obfuscationline 234
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(x.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 235
`,++r,f===13&&e.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function E8(t,e,r,i){return t==="template"?e===96||e===36&&r.charCodeAt(i+1)===123: - Possible obfuscationline 236
[Credential-related source omitted] - Possible obfuscationline 237
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Yr(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let r=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 241
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(e,r,i){throw new t(e,{toml:r.s,ptr:i??r.p})}}});function Vv(t){let e=t.p,r=t.s.charCodeAt(t.p++),i=r,n=r===39,a=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);a&&((r=t.s.charC - Possible obfuscationline 242
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":xe.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&xe.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!n&&r= - Possible obfuscationline 243
`),r=e.length-1;for(;r>=0&&$r.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function Q9(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let i=0;i<t.length;i++)if(t[i]==="\\")i++;else if(t[i]===e[0])r++;else if(t - Possible obfuscationline 246
`)}function Rt(t,e){return _c.parse(t,e)}function Z9(...t){return _c.use(...t),Rt.defaults=_c.defaults,i1(Rt.defaults),Rt}var Tc,Pc,i9,$r,n9,a9,o9,wf,s9,DR,n1,a1,c9,BR,l9,LR,u9,d9,Jv,HR,p9,o1,f9,h9,m9,MR,GD,g9,v9,w9,y9,s1,k9,so,ku,yf,b9,N9, - Possible obfuscationline 247
]`).replace("lheading",a1).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},w9=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,y9=/^(`+)([^`]|[^` - Possible obfuscationline 258
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 268
`,t=t.substring(b.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 273
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 274
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 287
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 305
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${Na(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 306
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+Na(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},_c=new X9;Rt.options=Rt.setOptions=func - Possible obfuscationline 306
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+Na(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},_c=new X9;Rt.options=Rt.setOptions=func - Possible obfuscationline 307
`)));else return null;return Aa(JSON.stringify(i))}catch{return null}}var m1,bf,g1,o5,Qv,s5,c5,v1,l5,Af=J(()=>{"use strict";m1=Yt(FD(),1),bf=Yt(Ar(),1);QD();Oc();zR();g1=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),o5=ne - Possible obfuscationline 308
`)),i=[],n=[],a=null,o=0;for(let l of r){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 309
`:""},this._extScope=e,this._scope=new Ln.Scope({parent:e}),this._nodes=[new uE]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let i=this._extSco - Possible obfuscationline 312
[Credential-related source omitted] - Possible obfuscationline 315
[Credential-related source omitted] - Possible obfuscationline 316
`,{containedRoot:i,requireAtomicPublication:!0})}async function R(E){let M=(await b(E)).marker;if(!M||!["closing","reopening"].includes(M.state))return;let T=M.state==="closing",F=(await H(E,M)).record,U=await H(E,M),G=T?d(E):p(E),oe=T?p(E) - Possible obfuscationline 319
`)}}async function _(E,M=!0){let T=(await b(E)).marker;if(T?.writerProtocol&&T.writerProtocol!==t.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await R(E);let F=await b(E);if(F.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 320
[Credential-related source omitted] - Possible obfuscationline 322
`,zH= ${an}: `});import{promises as xte}from"node:fs";function ti(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e} must be an object`);return t}function ri(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if(i.length>0 - Possible obfuscationline 323
${an}: `});import{promises as xte}from"node:fs";function ti(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e} must be an object`);return t}function ri(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if(i.length>0)throw - Possible obfuscationline 328
`)),n.join( `)}).join( `)}function ai(t,e,r){return t==="zh-CN"?r:e}var yM,kC,kM,bM,NM,vM,AM,SM,qu,Ps=J(()=>{"use strict";yM=["created","modified","deleted","notCreated"],kC={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 330
[Credential-related source omitted] - Possible obfuscationline 331
`,"utf8"),await r.sync(),i=QC(await r.stat({bigint:!0}))}finally{await r.close()}let n=await hn(t);if(!i||!n||n.owner.id!==e.id||!Sy(n.identity,i))throw new Error(`Native lock changed after write: ${t}`);return n.identity}async function die - Possible obfuscationline 332
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=$F(l,e);else if(r)DF(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 333
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=$F(l,e);else if(r)DF(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=$F(l,null);if(d!==null)e - Possible obfuscationline 335
`)),a=n.flatMap((c,l)=>c.type==="heading"&&dh(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 336
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of Oy(t)){let d=u?BF(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=Ph(p[1 - Possible obfuscationline 338
${JSON.stringify({include:t,exclude:e,hash:"sha256"})}`)}function mI(t,e,r){let i=new Set(e),n=[...e];for(;n.length>0;){if(r&&!r())return null;let a=n.pop(),o=t[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!i.has - Possible obfuscationline 403
`});function xo(t){return t.replace(Hae,"$1 [REDACTED]").replace(Mae,"[REDACTED PRIVATE KEY]").replace(Fae,"$1[REDACTED]@").replace(Vae,"[REDACTED TOKEN]").replace(Wae,'$1"[REDACTED]"').replace(qae,"$1$2$1$3$4[REDACTED]$4").replace(Uae,"$1$ - Possible obfuscationline 420
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 426
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-toe).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(eoe(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 430
`;o.write(j),c.update(j)});let _e=async()=>{let de=k?await k:!1;if(!d.pid)return!0;if(process.platform==="win32")return de;let j=Date.now()+1e3;for(;;){if(await Mg(d.pid,v)==="dead")return!0;if(Date.now()>=j)return!1;await new Promise(re=>s - Possible obfuscationline 431
`);return{task:e,...r?{path:r}:{},...i?{phase:i}:{},...n?{operation:n}:{},terms:h,strongTerms:d,phraseTerms:p,weakTerms:f,remoteQuery:m}}function Pj(t,e){return t.toLocaleLowerCase().includes(e.toLocaleLowerCase())}var _j=5,nv=40,eS=5,$j=60 - Possible obfuscationline 432
`, `).replaceAll("\r", `)).digest("hex")}function D6(t){let e=typeof t.score=="number"&&Number.isFinite(t.score)?t.score:0,r={source:t.source,kind:t.document?.kind??"project-knowledge",...t.title?{title:t.title}:{},snippet:t.content.slice(0 - Possible obfuscationline 436
[Credential-related source omitted] - Possible obfuscationline 437
${t}`.toLocaleLowerCase();return r.reduce((n,a)=>n+(i.includes(a.toLocaleLowerCase())?1:0),0)}var RS=class{constructor(e,r,i){this.projectRoot=e;this.manifest=r;this.reportDiagnostic=i}projectRoot;manifest;reportDiagnostic;async status(){re
assets/skills/comet-native/scripts/comet-native-next.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var e4=Object.create;var YS=Object.defineProperty;var t4=Object.getOwnPropertyDescriptor;var r4=Object.getOwnPropertyNames;var i4=Object.getPrototypeOf,n4=Object.prototype.hasOwnProperty;var wv=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};af.defaultYaml={explicit:!1,version:"1.2"};af.defaultTags={"!!":"tag:yaml.org,2002:"};zO.Directives=af});var Sv=q(of=>{"use strict";var JO=pt(),g4=nf();function v4(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 6
`)?lA(r,e):r.includes( `)? `+lA(r,e):(t.endsWith(" ")?"":" ")+r;Cv.indentComment=lA;Cv.lineComment=B4;Cv.stringifyComment=D4});var oj=q(df=>{"use strict";var L4="flow",uA="block",Iv="quoted";function H4(t,e,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 36
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return Mu(a,e)}return s?d:Ps.foldFlowLines(d,c,Ps.FOLD_FLOW,_v(e,!1))}function V4(t,e,r,i){let{implici - Possible obfuscationline 43
`):N+= ${r.indent}`}else if(!f&&Lo.isCollection(e)){let x=b[0],E=b.indexOf( `),_=E!==-1,S=r.inFlow??e.flow??e.items.length===0;if(_||!S){let T=!1;if(_&&(x==="&"||x==="!")){let $=b.indexOf(" ");x==="&"&&$!==-1&&$<E&&b[$+1]==="!"&&($=b.indexO - Possible obfuscationline 47
`)&&(N="");return v+=N+b,r.inFlow?y&&i&&i():k&&!y?v+=mf.lineComment(v,r.indent,l(k)):m&&n&&n(),v}uj.stringifyPair=G4});var mA=q(hA=>{"use strict";var pj=wv("process");function Y4(t,...e){t==="debug"&&console.log(...e)}function X4(t,e){(t=== - Possible obfuscationline 54
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Fv({indent:t,options:{commentString:e}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Mv.indentComment(e(i),t);r.push(a.trimStart())}}bj.stringifyCollection=sK});var js=q(NA - Possible obfuscationline 57
${a.comment}`:i.comment}i=n}t.items[r]=Gv.isPair(i)?i:new OA.Pair(i)}}else e("Expected a sequence for this tag");return t}function qj(t,e,r){let{replacer:i}=r,n=new QK.YAMLSeq(t);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(r.push("..."),r.push(Sf.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(Sf.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 60
`}g$.stringifyDocument=OQ});var Af=q(w$=>{"use strict";var jQ=cf(),Wu=xv(),Rn=pt(),$Q=Ts(),DQ=Cs(),BQ=YA(),LQ=v$(),ZA=Sv(),HQ=iA(),MQ=lf(),eR=rA(),tR=class t{constructor(e,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 65
`}};Ef.YAMLError=Rf;Ef.YAMLParseError=rR;Ef.YAMLWarning=iR;Ef.prettifyError=FQ});var Cf=q(y$=>{"use strict";function VQ(t,{flow:e,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||JQ.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",x$);r.atKey=!0 - Possible obfuscationline 68
`+k.comment:w.comment=k.comment);let y=new A$.Pair(w);r.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}C$.resolveBlockMap=QQ});var _ - Possible obfuscationline 72
`+v.comment:l.comment=v.comment),l.range=[i.offset,m,v.offset]}else l.range=[i.offset,m,m];return l}$$.resolveFlowCollection=s3});var L$=q(B$=>{"use strict";var c3=pt(),l3=wr(),u3=js(),d3=$s(),p3=I$(),f3=_$(),h3=D$();function lR(t,e,r,i,n,a - Possible obfuscationline 79
`),d+=p+v.slice(c)+g,p= `,f=!0):g===""?p=== `?d+= `:p= `:(d+=p+g,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 87
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function v3({offset:t,props:e},r,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let n=i[1],a=" ",o=e.lastIndex;for(r.lastIndex=o;i=r.exec(t);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function E3(t,e,r,i){let n=t.substr(e,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,r+2);r - Possible obfuscationline 109
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new If.YAMLParseError(Pf(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete t.items,Object.assign(t,{type:r,source:e,end:[n]});break}default:{let i="indent"in t?t.indent:-1,n="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 122
\r `),RR=t=>!t||dG.has(t),ER=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&fw.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield _f.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 142
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`)+ `,timeout:FR,killSignal:"SIGKILL",maxBuffer:Hf,windowsHide:!0,stdio:["pipe","pipe","pipe"]}));for(let s=0;s<i.length;s+=4096){let c=o(["--batch-check"],i.slice(s,s+4096)),l=new Map;for(let f of c.toString("ascii").trimEnd().split( `)){l - Possible obfuscationline 146
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 147
${Rw(e)}`).digest("hex")}var Ft=Y(()=>{"use strict"});import Ws from"path";function t1(t,e){return ed[e][t]}function f6(t,e,r,i){let n=/^(\s*)([a-z_]+):/u.exec(t);if(!n)return null;let a=n[1].length,o=n[2];if(a===0&&o in ed.en)return o;if(a - Possible obfuscationline 150
`)}function h6(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||Ws.posix.isAbsolute(r)||Ws.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 178
# 可选值:neutral | strict`}}});import{constants as zs,promises as Vi}from"fs";import{createHash as P6}from"node:crypto";function YR(t){return"birthtimeNs"in t&&typeof t.birthtimeNs=="bigint"?t.birthtimeNs:t.birthtimeMs}function o1(t){return"ct - Possible obfuscationline 179
`,r)}var bt=Y(()=>{"use strict";cl();qa()});import{types as e9}from"node:util";import{createHash as t9}from"node:crypto";function r9(t,e,r){let i=new WeakMap,n=g=>{let w=i.get(g);if(w)return w;let k=Array.isArray(g)?[...g]:{...g};return i.s - Possible obfuscationline 192
}`,u9=hE("sha256").update(E1).digest("hex"),d9=1e4,Uw=new Map});import{promises as Kw}from"node:fs";function m9(t){let e=gE.get(t);if(e){if(Date.now()-e.at>h9){gE.delete(t);return}return e.value}}async function qt(t){if(t===process.pid&&mE! - Possible obfuscationline 193
[Credential-related source omitted] - Possible obfuscationline 197
`)}}var w9,aa=Y(()=>{"use strict";pE();Vo();cl();za();w9=16*1024});import{createHash as b9}from"node:crypto";import{lstatSync as eh,readFileSync as N9,realpathSync as $1}from"node:fs";import S9 from"node:os";import Ni from"node:path";functi - Possible obfuscationline 198
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await fl(se.dirname(r))}function q1(t){return se.join(t,".runtime-migration-repair-failure.json")}async function W1(t){let e=[];async function r(i,n){let a;try{a=await et.readdir - Possible obfuscationline 200
`,"utf8")}catch{}}async function CE(t,e,r){let i=Ja(r.projectRoot),n=se.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?IE(n):i.projectRoot;if(t=se.resolve(t),hn(n,t)&&(t=se.join(a,se.relative(n,t))),e=se.resolve(e),t===a||!hn(a,t)||!hn - Possible obfuscationline 202
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await fl(se.dirname(t)),await r.testHooks?.afterFence?.();let p=await fn(l.backup,!0);if(Ys(s)!==Ys(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await jE(l.backup,l.stag - Possible obfuscationline 203
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await In(r)||(n&&await et.rmdir(e.runtimeRoot),await hl(r,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 205
[Credential-related source omitted] - Possible obfuscationline 207
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(I.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 208
`,++r,f===13&&e.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function F8(t,e,r,i){return t==="template"?e===96||e===36&&r.charCodeAt(i+1)===123: - Possible obfuscationline 209
[Credential-related source omitted] - Possible obfuscationline 210
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Ai(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let r=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 214
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(e,r,i){throw new t(e,{toml:r.s,ptr:i??r.p})}}});function by(t){let e=t.p,r=t.s.charCodeAt(t.p++),i=r,n=r===39,a=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);a&&((r=t.s.charC - Possible obfuscationline 215
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":Oe.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&Oe.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!n&&r= - Possible obfuscationline 216
`),r=e.length-1;for(;r>=0&&ai.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function uY(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let i=0;i<t.length;i++)if(t[i]==="\\")i++;else if(t[i]===e[0])r++;else if(t - Possible obfuscationline 219
`)}function Dt(t,e){return bl.parse(t,e)}function hY(...t){return bl.use(...t),Dt.defaults=bl.defaults,FB(Dt.defaults),Dt}var Nl,kl,w5,ai,y5,k5,b5,Nh,N5,_x,VB,qB,S5,Tx,A5,Ox,R5,E5,xy,jx,x5,WB,C5,I5,P5,$x,jB,_5,T5,O5,j5,UB,$5,Go,Ad,Sh,D5,B5, - Possible obfuscationline 220
]`).replace("lheading",qB).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},O5=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,j5=/^(`+)([^`]|[^` - Possible obfuscationline 231
${h}`,n=n.substring(0,n.length-f.text.length)+v.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 241
`,t=t.substring(b.length+1),d=N.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 246
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 247
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 260
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 278
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${Xa(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 279
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+Xa(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},bl=new fY;Dt.options=Dt.setOptions=func - Possible obfuscationline 279
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+Xa(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},bl=new fY;Dt.options=Dt.setOptions=func - Possible obfuscationline 280
`)));else return null;return Za(JSON.stringify(i))}catch{return null}}var ZB,Rh,eL,bY,Cy,NY,SY,tL,AY,xh=Y(()=>{"use strict";ZB=dr(RB(),1),Rh=dr(Hr(),1);OB();Sl();Fx();eL=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),bY=ne - Possible obfuscationline 281
[Credential-related source omitted] - Possible obfuscationline 282
`:""},this._extScope=e,this._scope=new fa.Scope({parent:e}),this._nodes=[new pC]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let i=this._extSco - Possible obfuscationline 285
[Credential-related source omitted] - Possible obfuscationline 288
[Credential-related source omitted] - Possible obfuscationline 289
`,{containedRoot:i,requireAtomicPublication:!0})}async function S(C){let L=(await b(C)).marker;if(!L||!["closing","reopening"].includes(L.state))return;let D=L.state==="closing",V=(await x(C,L)).record,J=await x(C,L),te=D?d(C):p(C),le=D?p(C - Possible obfuscationline 292
`)}}async function O(C,L=!0){let D=(await b(C)).marker;if(D?.writerProtocol&&D.writerProtocol!==t.writerProtocol)throw new R("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await S(C);let V=await b(C);if(V.marker?.schema===f)throw new R("STORE_RU - Possible obfuscationline 293
[Credential-related source omitted] - Possible obfuscationline 295
`,HF= ${Hn}: `});function uo(t){let e=t.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 296
[Credential-related source omitted] - Possible obfuscationline 361
`});function _i(t){return t.replace(Iie,"$1 [REDACTED]").replace(Pie,"[REDACTED PRIVATE KEY]").replace(_ie,"$1[REDACTED]@").replace(Tie,"[REDACTED TOKEN]").replace(Oie,'$1"[REDACTED]"').replace(jie,"$1$2$1$3$4[REDACTED]$4").replace($ie,"$1$ - Possible obfuscationline 378
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 384
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-Uie).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(Wie(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 388
[Credential-related source omitted] - Possible obfuscationline 389
`,"utf8"),await r.sync(),i=jP(await r.stat({bigint:!0}))}finally{await r.close()}let n=await Vn(t);if(!i||!n||n.owner.id!==e.id||!Gk(n.identity,i))throw new Error(`Native lock changed after write: ${t}`);return n.identity}async function cne - Possible obfuscationline 390
`, `).replaceAll("\r", `)}function xc(t){return fne("sha256").update(ru(t)).digest("hex")}function HP(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new st(`${e} must be an object`);return t}function BV(t,e,r){let i=Object.keys(t).f - Possible obfuscationline 392
`)}function xc(t){return fne("sha256").update(ru(t)).digest("hex")}function HP(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new st(`${e} must be an object`);return t}function BV(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if( - Possible obfuscationline 393
`),i=bne(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new st(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=k - Possible obfuscationline 413
`}${e}`}function VP(t,e){if(t.operation==="add"||t.operation==="modify"){let a=e.requirements.get(t.id);if(!a)return!1;let o=ib(t,t.operation==="modify"?a:void 0);return a.raw===rb(o.level,o.id,o.title,o.body)}if(t.operation==="remove")retu - Possible obfuscationline 414
${l.body??""}`).join( `),c=n.filter(l=>xne.test(l.raw)||[...i].some(u=>jV(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&jV(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new kn([...i,...c.map(l=>l.id),...a,...o],"Native delta im - Possible obfuscationline 415
`),c=n.filter(l=>xne.test(l.raw)||[...i].some(u=>jV(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&jV(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new kn([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; dec - Possible obfuscationline 416
`)}else e=Nne(e,s,rb(c.level,c.id,c.title,c.body))}r.push(...$m(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:$m(a)})}let n=ru(e);return{markdown:n,base_hash:t.delta.base_hash,result_hash:xc(n),rebased:t.rebased,chang - Possible obfuscationline 421
`)),n.join( `)}).join( `)}function Ti(t,e,r){return t==="zh-CN"?r:e}var JV,KP,KV,QV,GV,UV,YV,XV,ap,Cc=Y(()=>{"use strict";JV=["created","modified","deleted","notCreated"],KP={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 423
`)}function Ti(t,e,r){return t==="zh-CN"?r:e}var JV,KP,KV,QV,GV,UV,YV,XV,ap,Cc=Y(()=>{"use strict";JV=["created","modified","deleted","notCreated"],KP={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 425
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=tq(l,e);else if(r)rq(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=tq(l,null);if(d!==null)e - Possible obfuscationline 427
`)),a=n.flatMap((c,l)=>c.type==="heading"&&Wm(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 428
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of ob(t)){let d=u?iq(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=zm(p[1 - Possible obfuscationline 429
`)}}}var xt=Y(()=>{"use strict";$t();tu();Ic();wb()});import{createHash as Mae}from"node:crypto";import{promises as h_}from"node:fs";import Nq from"node:os";import Sa from"node:path";function sp(t){return{id:t.id,name:t.name,status:"planned - Possible obfuscationline 430
${JSON.stringify({include:t,exclude:e,hash:"sha256"})}`)}function k_(t,e,r){let i=new Set(e),n=[...e];for(;n.length>0;){if(r&&!r())return null;let a=n.pop(),o=t[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!i.has - Possible obfuscationline 433
`),t.omissionOverflow&&_c(a,"existing-overflow",t.omissionOverflow);let o=(p,f)=>{f||(i+=1),n+=1,_c(a,"omission",p)},s=p=>{i+=1,n+=1,_c(a,"entry",p)},c=()=>{for(let p=r.length-1;p>=0;p-=1){let f=r[p];if(!(f.reason==="git-enumeration-limit"| - Possible obfuscationline 434
`);let r=0;Kq(t.baseline,t.current,n=>{if(r>=t.detailedChangeCount){_c(e,"change",n);let a=0;for(let o of t.declaredArtifacts)tg(o,n.path)&&(a+=1,_c(e,"change-attribution",o));_c(e,"change-end",{attributionCount:a}),a===0&&_c(e,"unattribute
assets/skills/comet-native/scripts/comet-native-root.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var zV=Object.create;var GI=Object.defineProperty;var JV=Object.getOwnPropertyDescriptor;var QV=Object.getOwnPropertyNames;var KV=Object.getPrototypeOf,GV=Object.prototype.hasOwnProperty;var Th=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};zu.defaultYaml={explicit:!1,version:"1.2"};zu.defaultTags={"!!":"tag:yaml.org,2002:"};oP.Directives=zu});var Bh=$(Ju=>{"use strict";var sP=et(),c2=Uu();function l2(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 6
`)?lk(r,e):r.includes( `)? `+lk(r,e):(t.endsWith(" ")?"":" ")+r;Vh.indentComment=lk;Vh.lineComment=I2;Vh.stringifyComment=C2});var kP=$(Xu=>{"use strict";var P2="flow",uk="block",Wh="quoted";function _2(t,e,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 36
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return Gc(a,e)}return s?d:wo.foldFlowLines(d,c,wo.FOLD_FLOW,Uh(e,!1))}function j2(t,e,r,i){let{implici - Possible obfuscationline 43
`):S+= ${r.indent}`}else if(!f&&Ca.isCollection(e)){let H=y[0],x=y.indexOf( `),q=x!==-1,F=r.inFlow??e.flow??e.items.length===0;if(q||!F){let G=!1;if(q&&(H==="&"||H==="!")){let oe=y.indexOf(" ");H==="&"&&oe!==-1&&oe<x&&y[oe+1]==="!"&&(oe=y.i - Possible obfuscationline 47
`)&&(S="");return g+=S+y,r.inFlow?b&&i&&i():k&&!b?g+=rd.lineComment(g,r.indent,l(k)):m&&n&&n(),g}SP.stringifyPair=V2});var mk=$(hk=>{"use strict";var RP=Th("process");function W2(t,...e){t==="debug"&&console.log(...e)}function q2(t,e){(t=== - Possible obfuscationline 54
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function tm({indent:t,options:{commentString:e}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=em.indentComment(e(i),t);r.push(a.trimStart())}}$P.stringifyCollection=Z2});var No=$(Nk - Possible obfuscationline 57
${a.comment}`:i.comment}i=n}t.items[r]=um.isPair(i)?i:new Ok.Pair(i)}}else e("Expected a sequence for this tag");return t}function i_(t,e,r){let{replacer:i}=r,n=new FW.YAMLSeq(t);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(r.push("..."),r.push(ud.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(ud.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 60
`}P_.stringifyDocument=Eq});var dd=$(T_=>{"use strict";var Rq=Ku(),el=Fh(),Di=et(),xq=ko(),Cq=go(),Iq=Yk(),Pq=__(),Zk=Bh(),_q=ik(),Tq=Gu(),eb=rk(),tb=class t{constructor(e,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 65
`}};fd.YAMLError=pd;fd.YAMLParseError=rb;fd.YAMLWarning=ib;fd.prettifyError=Oq});var md=$(O_=>{"use strict";function jq(t,{flow:e,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||Hq.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",F_);r.atKey=!0 - Possible obfuscationline 68
`+k.comment:w.comment=k.comment);let b=new L_.Pair(w);r.options.keepSourceTokens&&(b.srcToken=u),s.items.push(b)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}V_.resolveBlockMap=Fq});var U - Possible obfuscationline 72
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}K_.resolveFlowCollection=Zq});var X_=$(Y_=>{"use strict";var eU=et(),tU=Xt(),rU=No(),iU=Ao(),nU=W_(),aU=U_(),oU=G_();function lb(t,e,r,i,n,a - Possible obfuscationline 79
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 87
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function lU({offset:t,props:e},r,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let n=i[1],a=" ",o=e.lastIndex;for(r.lastIndex=o;i=r.exec(t);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function wU(t,e,r,i){let n=t.substr(e,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,r+2);r - Possible obfuscationline 109
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new gd.YAMLParseError(vd(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete t.items,Object.assign(t,{type:r,source:e,end:[n]});break}default:{let i="indent"in t?t.indent:-1,n="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 122
\r `),Eb=t=>!t||iz.has(t),Rb=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&xm.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield wd.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 142
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`)){let s=Iz(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of UT(s,e).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 146
`)}function Pz(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||Ro.posix.isAbsolute(r)||Ro.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 174
# 可选值:neutral | strict`}}});function Co(t){return t!==0&&t!==0n&&t!=="0"}function qn(t,e){return Co(t.dev)&&Co(e.dev)&&Co(t.ino)&&Co(e.ino)}function ct(t,e){let r=Co(t.dev)&&Co(e.dev);if(r&&t.dev!==e.dev)return!1;let i=Co(t.ino)&&Co(e.ino); - Possible obfuscationline 175
`,r)}var pt=z(()=>{"use strict";Ps();Jn()});import{types as mJ}from"node:util";import{createHash as gJ}from"node:crypto";function vJ(t,e,r){let i=new WeakMap,n=v=>{let w=i.get(v);if(w)return w;let k=Array.isArray(v)?[...v]:{...v};return i.s - Possible obfuscationline 188
}`,WJ=oN("sha256").update(S0).digest("hex"),qJ=1e4,Ym=new Map});import{promises as eg}from"node:fs";function QJ(t){let e=cN.get(t);if(e){if(Date.now()-e.at>JJ){cN.delete(t);return}return e.value}}async function Sr(t){if(t===process.pid&&sN! - Possible obfuscationline 189
[Credential-related source omitted] - Possible obfuscationline 193
`)}}var YJ,mn=z(()=>{"use strict";Yb();_a();Ps();Da();YJ=16*1024});import{createHash as e4}from"node:crypto";import{lstatSync as Ld,readFileSync as t4,realpathSync as O0}from"node:fs";import r4 from"node:os";import qr from"node:path";functi - Possible obfuscationline 194
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await Ls(ee.dirname(r))}function F0(t){return ee.join(t,".runtime-migration-repair-failure.json")}async function V0(t){let e=[];async function r(i,n){let a;try{a=await Ue.readdir - Possible obfuscationline 196
`,"utf8")}catch{}}async function kN(t,e,r){let i=Gn(r.projectRoot),n=ee.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?bN(n):i.projectRoot;if(t=ee.resolve(t),Ri(n,t)&&(t=ee.join(a,ee.relative(n,t))),e=ee.resolve(e),t===a||!Ri(a,t)||!Ri - Possible obfuscationline 198
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Ls(ee.dirname(t)),await r.testHooks?.afterFence?.();let p=await Ei(l.backup,!0);if(Do(s)!==Do(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await RN(l.backup,l.stag - Possible obfuscationline 199
[Credential-related source omitted] - Possible obfuscationline 200
`:""},this._extScope=e,this._scope=new kn.Scope({parent:e}),this._nodes=[new YN]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let i=this._extSco - Possible obfuscationline 203
[Credential-related source omitted] - Possible obfuscationline 206
[Credential-related source omitted] - Possible obfuscationline 207
`,{containedRoot:i,requireAtomicPublication:!0})}async function F(E){let B=(await y(E)).marker;if(!B||!["closing","reopening"].includes(B.state))return;let _=B.state==="closing",L=(await H(E,B)).record,W=await H(E,B),J=_?d(E):p(E),ie=_?p(E) - Possible obfuscationline 210
`)}}async function P(E,B=!0){let _=(await y(E)).marker;if(_?.writerProtocol&&_.writerProtocol!==t.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await F(E);let L=await y(E);if(L.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 211
[Credential-related source omitted] - Possible obfuscationline 213
`,TD= ${Ki}: `});import{createHash as Q8}from"crypto";function En(t){throw new TypeError(`Value is not valid canonical JSON: ${t}`)}function K8(t,e){e.has(t)&&En("cyclic structures are not supported"),e.add(t);try{let r=Object.keys(t);for(l - Possible obfuscationline 214
${Ki}: `});import{createHash as Q8}from"crypto";function En(t){throw new TypeError(`Value is not valid canonical JSON: ${t}`)}function K8(t,e){e.has(t)&&En("cyclic structures are not supported"),e.add(t);try{let r=Object.keys(t);for(let i=0 - Possible obfuscationline 215
[Credential-related source omitted] - Possible obfuscationline 216
`,"utf8"),await r.sync(),i=YS(await r.stat({bigint:!0}))}finally{await r.close()}let n=await Gi(t);if(!i||!n||n.owner.id!==e.id||!kv(n.identity,i))throw new Error(`Native lock changed after write: ${t}`);return n.identity}async function n9( - Possible obfuscationline 219
`}function A9(t,e){if(!/^[a-f0-9-]{8,}$/u.test(e))throw new Error(`Invalid Native transaction id: ${e}`);return qa.join(t.transactionsDir,e)}function Cv(t,e){let r=A9(t,e);return{directory:r,journal:qa.join(r,"transaction.json"),events:qa.j - Possible obfuscationline 220
`, `).replaceAll("\r", `)}function is(t){return C9("sha256").update(sc(t)).digest("hex")}function uE(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Ge(`${e} must be an object`);return t}function h1(t,e,r){let i=Object.keys(t).fi - Possible obfuscationline 222
`)}function is(t){return C9("sha256").update(sc(t)).digest("hex")}function uE(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Ge(`${e} must be an object`);return t}function h1(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if(i - Possible obfuscationline 223
`),i=D9(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new Ge(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=$9 - Possible obfuscationline 243
`}${e}`}function fE(t,e){if(t.operation==="add"||t.operation==="modify"){let a=e.requirements.get(t.id);if(!a)return!1;let o=_v(t,t.operation==="modify"?a:void 0);return a.raw===Pv(o.level,o.id,o.title,o.body)}if(t.operation==="remove")retu - Possible obfuscationline 244
${l.body??""}`).join( `),c=n.filter(l=>V9.test(l.raw)||[...i].some(u=>d1(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&d1(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Ii([...i,...c.map(l=>l.id),...a,...o],"Native delta imp - Possible obfuscationline 245
`),c=n.filter(l=>V9.test(l.raw)||[...i].some(u=>d1(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&d1(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Ii([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; decl - Possible obfuscationline 246
`)}else e=B9(e,s,Pv(c.level,c.id,c.title,c.body))}r.push(...Hp(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:Hp(a)})}let n=sc(e);return{markdown:n,base_hash:t.delta.base_hash,result_hash:is(n),rebased:t.rebased,change - Possible obfuscationline 247
`),r=e.length-1;for(;r>=0&&Lr.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function G5(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let i=0;i<t.length;i++)if(t[i]==="\\")i++;else if(t[i]===e[0])r++;else if(t - Possible obfuscationline 250
`)}function Rt(t,e){return lc.parse(t,e)}function eY(...t){return lc.use(...t),Rt.defaults=lc.defaults,I1(Rt.defaults),Rt}var uc,cc,n5,Lr,a5,o5,s5,Zp,c5,AE,P1,_1,l5,SE,u5,EE,d5,p5,Bv,RE,f5,T1,h5,m5,g5,xE,N1,v5,w5,y5,k5,O1,b5,Ga,Kl,ef,N5,A5, - Possible obfuscationline 251
]`).replace("lheading",_1).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},y5=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,k5=/^(`+)([^`]|[^` - Possible obfuscationline 262
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 272
`,t=t.substring(y.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 277
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 278
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 291
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 309
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${la(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 310
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+la(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},lc=new Z5;Rt.options=Rt.setOptions=func - Possible obfuscationline 310
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+la(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},lc=new Z5;Rt.options=Rt.setOptions=func - Possible obfuscationline 315
`)),n.join( `)}).join( `)}function Gr(t,e,r){return t==="zh-CN"?r:e}var F1,_E,V1,W1,q1,H1,U1,z1,Gl,os=z(()=>{"use strict";F1=["created","modified","deleted","notCreated"],_E={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 317
`)}function Gr(t,e,r){return t==="zh-CN"?r:e}var F1,_E,V1,W1,q1,H1,U1,z1,Gl,os=z(()=>{"use strict";F1=["created","modified","deleted","notCreated"],_E={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 319
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=K1(l,e);else if(r)G1(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=K1(l,null);if(d!==null)e - Possible obfuscationline 321
`)),a=n.flatMap((c,l)=>c.type==="heading"&&tf(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 322
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of Lv(t)){let d=u?Y1(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=nf(p[1 - Possible obfuscationline 324
[Credential-related source omitted] - Possible obfuscationline 326
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(R.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 327
`,++r,f===13&&e.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function ZY(t,e,r,i){return t==="template"?e===96||e===36&&r.charCodeAt(i+1)===123: - Possible obfuscationline 328
[Credential-related source omitted] - Possible obfuscationline 329
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Xr(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let r=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 333
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(e,r,i){throw new t(e,{toml:r.s,ptr:i??r.p})}}});function Kv(t){let e=t.p,r=t.s.charCodeAt(t.p++),i=r,n=r===39,a=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);a&&((r=t.s.charC - Possible obfuscationline 334
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":Se.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&Se.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!n&&r= - Possible obfuscationline 335
`)));else return null;return Za(JSON.stringify(i))}catch{return null}}var VB,kf,WB,D7,Xv,B7,L7,qB,H7,Nf=z(()=>{"use strict";VB=Yt(_B(),1),kf=Yt(br(),1);HB();dc();TR();WB=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),D7=ne - Possible obfuscationline 336
[Credential-related source omitted] - Possible obfuscationline 337
`)}}}var It=z(()=>{"use strict";bt();Xo();wc();Dp()});import{createHash as ree}from"crypto";function sn(t){return ree("sha256").update(t).digest("hex")}var ya=z(()=>{"use strict"});var Ake,Ske,Eke,Rke,xke,Cke,Uf=z(()=>{"use strict";jo();pt( - Possible obfuscationline 340
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Network accessline 403
setTimeout(() => { if (!started) stop('registration-timeout'); }, Number(process.argv[1]) || 30000).unref(); send({ type: 'ready' }); `});import{createRequire as Fte}from"node:module";function qw(t,e){if(!Ww){let r=process.emitWarning;proce - Network accessline 404
send({ type: 'ready' }); `});import{createRequire as Fte}from"node:module";function qw(t,e){if(!Ww){let r=process.emitWarning;process.emitWarning=((i,...n)=>{String(i instanceof Error?i.message:i).startsWith("SQLite is an experimental featu - Network accessline 405
`});import{createRequire as Fte}from"node:module";function qw(t,e){if(!Ww){let r=process.emitWarning;process.emitWarning=((i,...n)=>{String(i instanceof Error?i.message:i).startsWith("SQLite is an experimental feature and might change at an - Possible obfuscationline 405
`});import{createRequire as Fte}from"node:module";function qw(t,e){if(!Ww){let r=process.emitWarning;process.emitWarning=((i,...n)=>{String(i instanceof Error?i.message:i).startsWith("SQLite is an experimental feature and might change at an - Possible obfuscationline 422
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 428
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-Gte).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(Kte(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 432
`;o.write(T),c.update(T)});let je=async()=>{let de=k?await k:!1;if(!d.pid)return!0;if(process.platform==="win32")return de;let T=Date.now()+1e3;for(;;){if(await tg(d.pid,v)==="dead")return!0;if(Date.now()>=T)return!1;await new Promise(te=>s - Possible obfuscationline 436
${n.birthtimeMs}`),path:qR(r,a)}}async function mL(t){let e=fL(t.projectRoot,t.nativeRoot);if(!e)throw new Error("Native root is outside the project root");zR(e,"Native workspace root ref");let[r,i]=await Promise.all([dL(t.projectRoot,"come - Possible obfuscationline 438
${t.sessionId}`)}:{}},l=t.binding?{schema:"comet.native.workspace.v3",...c,...t.binding,finish:t.finish??null}:{schema:"comet.native.workspace.v2",...c};return ow(l),l}async function JR(t){let e=await $X(t),r=vL(t.paths,t.name),i=vn(t.paths - Possible obfuscationline 439
`}function QX(t){return BX("sha256").update(t).digest("hex")}function KX(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`Native root-move cleanup manifest entry ${e} must be an object`);let r=t,i=Object.keys(r).sort(),n=r. - Possible obfuscationline 441
`}function CL(t,e,r){let i=[t.summary],n=RL(t.next);return n&&i.push(n),t.user_message&&i.push("",va.relay,t.user_message),i.push("",`${va.detail} ${e}`),r!==void 0&&i.push("",va.details,JSON.stringify(r,null,2)),i.join( `)}os();Un();Le();U - Possible obfuscationline 442
[Credential-related source omitted] - Possible obfuscationline 444
`,{containedRoot:t,exclusive:!0,requireAtomicPublication:!0})),await sZ(t,o),s&&await Ts(ti.join(t,a),{containedRoot:t,beforeRemove:async()=>{let l=await wa(t,a,e.workflow,e.change),u=await wa(t,o,e.workflow,e.change);if(!l||!u||!jf(l,i)||! - Possible obfuscationline 445
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let s=await wa(n,r,e.workflow,e.change);if(JSON.stringify(s)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 446
`,{containedRoot:t,requireAtomicPublication:!0})}async function WL(t,e,r){let i=await lt(t,"application-scope-locks",{label:"工作区应用写入范围锁"});return Wr(ix.join(i,"_workspace.lock"),()=>Wr(ix.join(i,`${e}.lock`),r))}async function qL(t,e,r,i=!1 - Possible obfuscationline 448
`,Je.e()-1)}`),{idx:Je.e()});let a=[],o=[];for(;Je.ri();){let l=Je.is(),u=Je.ie(),d=Je.it(),p=Je.ai(),f=Je.id(),h=Je.ss(),m=Je.se(),g;Je.ip()&&(g=s(t.slice(f===-1?l-1:l,f===-1?u+1:u)));let v=null;for(v=[],Je.rsa();Je.ra();){let w=Je.aks(),k
assets/skills/comet-native/scripts/comet-native-runtime.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var sie=Object.create;var sT=Object.defineProperty;var cie=Object.getOwnPropertyDescriptor;var lie=Object.getOwnPropertyNames;var uie=Object.getPrototypeOf,die=Object.prototype.hasOwnProperty;var JS=(e=>typeof require<"u"?require:typeof Pro - Possible obfuscationline 5
`)}){if(yT.getStore())return e();let r={label:"执行工作流命令"},i=Date.now(),n=setInterval(()=>{try{t({...r,elapsedMs:Date.now()-i})}catch{}},5e3);n.unref?.();try{return await yT.run(r,e)}finally{clearInterval(n)}}function eA(e=0){Iie+=1,_ie+=e;fo - Possible obfuscationline 18
}`,Wie=ST("sha256").update(QV).digest("hex"),Uie=1e4,rA=new Map});import{promises as aA}from"node:fs";function Gie(e){let t=RT.get(e);if(t){if(Date.now()-t.at>Kie){RT.delete(e);return}return t.value}}async function Cr(e){if(e===process.pid& - Possible obfuscationline 19
[Credential-related source omitted] - Possible obfuscationline 23
`)}}var Xie,fs=ce(()=>{"use strict";XS();hl();Wp();ps();Xie=16*1024});import{AsyncLocalStorage as ene}from"node:async_hooks";function pA(){let e=PT.getStore();return e?.active?e:null}function Gw(){pA()?.entries.clear()}async function Hu(e){ - Possible obfuscationline 24
`)}};Xw.defaultYaml={explicit:!1,version:"1.2"};Xw.defaultTags={"!!":"tag:yaml.org,2002:"};yq.Directives=Xw});var bA=ee(Zw=>{"use strict";var kq=qt(),Ane=Yw();function Rne(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let r=`Anchor must not contain - Possible obfuscationline 25
`)?qT(r,t):r.includes( `)? `+qT(r,t):(e.endsWith(" ")?"":" ")+r;EA.indentComment=qT;EA.lineComment=Une;EA.stringifyComment=Wne});var jq=ee(ny=>{"use strict";var zne="flow",WT="block",xA="quoted";function Jne(e,t,r="flow",{indentAtStart:i,li - Possible obfuscationline 55
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=t.doc.schema;if(h.some(p)||f?.some(p))return ym(a,t)}return s?d:Mu.foldFlowLines(d,c,Mu.FOLD_FLOW,PA(t,!1))}function Qne(e,t,r,i){let{implic - Possible obfuscationline 62
`):S+= ${r.indent}`}else if(!f&&kl.isCollection(t)){let E=N[0],R=N.indexOf( `),A=R!==-1,b=r.inFlow??t.flow??t.items.length===0;if(A||!b){let I=!1;if(A&&(E==="&"||E==="!")){let P=N.indexOf(" ");E==="&"&&P!==-1&&P<R&&N[P+1]==="!"&&(P=N.indexO - Possible obfuscationline 66
`)&&(S="");return v+=S+N,r.inFlow?y&&i&&i():k&&!y?v+=cy.lineComment(v,r.indent,l(k)):m&&n&&n(),v}Bq.stringifyPair=nae});var GT=ee(KT=>{"use strict";var Lq=JS("process");function aae(e,...t){e==="debug"&&console.log(...t)}function oae(e,t){( - Possible obfuscationline 73
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function LA({indent:e,options:{commentString:t}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=HA.indentComment(t(i),e);r.push(a.trimStart())}}Kq.stringifyCollection=mae});var Uu=ee( - Possible obfuscationline 76
${a.comment}`:i.comment}i=n}e.items[r]=KA.isPair(i)?i:new f0.Pair(i)}}else t("Expected a sequence for this tag");return e}function vW(e,t,r){let{replacer:i}=r,n=new ioe.YAMLSeq(e);n.tag="tag:yaml.org,2002:pairs";let a=0;if(t&&Symbol.iterato - Possible obfuscationline 77
`)?(r.push("..."),r.push(vy.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(vy.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 79
`}qW.stringifyDocument=Moe});var gy=ee(UW=>{"use strict";var Voe=ty(),Sm=RA(),Ro=qt(),qoe=qu(),Woe=Lu(),Uoe=_0(),zoe=WW(),j0=bA(),Joe=BT(),Koe=ry(),O0=DT(),$0=class e{constructor(t,r,i){this.commentBefore=null,this.comment=null,this.errors= - Possible obfuscationline 84
`}};yy.YAMLError=wy;yy.YAMLParseError=D0;yy.YAMLWarning=B0;yy.prettifyError=Goe});var by=ee(zW=>{"use strict";function Qoe(e,{flow:t,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=! - Possible obfuscationline 85
`))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 86
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||tse.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",e2);r.atKey=! - Possible obfuscationline 87
`+k.comment:w.comment=k.comment);let y=new YW.Pair(w);r.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}t2.resolveBlockMap=ise});var - Possible obfuscationline 91
`+v.comment:l.comment=v.comment),l.range=[i.offset,m,v.offset]}else l.range=[i.offset,m,m];return l}c2.resolveFlowCollection=mse});var d2=ee(u2=>{"use strict";var vse=qt(),gse=mi(),wse=Uu(),yse=zu(),kse=r2(),bse=n2(),Nse=l2();function q0(e, - Possible obfuscationline 98
`),d+=p+v.slice(c)+g,p= `,f=!0):g===""?p=== `?d+= `:p= `:(d+=p+g,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+t.source.l - Possible obfuscationline 106
`}let h=i+n.length+t.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function Rse({offset:e,props:t},r,i){if(t[0].type!=="block-scalar-header")return i(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source: - Possible obfuscationline 108
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=t.exec(e);if(!i)return e;let n=i[1],a=" ",o=t.lastIndex;for(r.lastIndex=o;i=r.exec(e);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 122
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Ose(e,t,r,i){let n=e.substr(t,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=e.substr(t-2,r+2); - Possible obfuscationline 128
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)t.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)t.warnings.push(this.warnings[a])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 129
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Ny.YAMLParseError(Sy(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 137
`};delete e.items,Object.assign(e,{type:r,source:t,end:[n]});break}default:{let i="indent"in e?e.indent:-1,n="end"in e&&Array.isArray(e.end)?e.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 141
\r `),aj=e=>!e||yce.has(e),oj=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this. - Possible obfuscationline 146
`,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.b - Possible obfuscationline 147
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 156
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(t&&dR.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Ay.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0? - Possible obfuscationline 158
[Credential-related source omitted] - Possible obfuscationline 159
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 160
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 161
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 162
`,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 163
`)){let s=Wce(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of oU(s,t).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i=" - Possible obfuscationline 165
`)}function Uce(e,t){if(typeof e!="string")throw new Error(`${t} must be a string`);let r=e.trim();if(r.length===0||Gu.posix.isAbsolute(r)||Gu.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${t} must be a project-relative pat - Possible obfuscationline 193
# 可选值:neutral | strict`}}});import{promises as Pm}from"fs";import Eo from"path";async function tn(e,t,r){let i=await ue(e,t,{label:r.label,expected:"file"});if(!i.exists){let a=new Error(`${r.label} does not exist`);throw a.code="ENOENT",a} - Possible obfuscationline 194
`,{containedRoot:t,exclusive:!0,requireAtomicPublication:!0}),await df(we.dirname(r))}function NU(e){return we.join(e,".runtime-migration-repair-failure.json")}async function SU(e){let t=[];async function r(i,n){let a;try{a=await Et.readdir - Possible obfuscationline 196
`,"utf8")}catch{}}async function bj(e,t,r){let i=lc(r.projectRoot),n=we.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?Nj(n):i.projectRoot;if(e=we.resolve(e),no(n,e)&&(e=we.join(a,we.relative(n,e))),t=we.resolve(t),e===a||!no(a,e)||!no - Possible obfuscationline 198
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await df(we.dirname(e)),await r.testHooks?.afterFence?.();let p=await io(l.backup,!0);if(Yu(s)!==Yu(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await xj(l.backup,l.stag - Possible obfuscationline 199
[Credential-related source omitted] - Possible obfuscationline 200
`:""},this._extScope=t,this._scope=new ws.Scope({parent:t}),this._nodes=[new Gj]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let i=this._extSco - Possible obfuscationline 203
[Credential-related source omitted] - Possible obfuscationline 206
[Credential-related source omitted] - Possible obfuscationline 207
`,{containedRoot:i,requireAtomicPublication:!0})}async function b(T){let U=(await N(T)).marker;if(!U||!["closing","reopening"].includes(U.state))return;let C=U.state==="closing",L=(await E(T,U)).record,V=await E(T,U),Z=C?d(T):p(T),re=C?p(T) - Possible obfuscationline 210
`)}}async function j(T,U=!0){let C=(await N(T)).marker;if(C?.writerProtocol&&C.writerProtocol!==e.writerProtocol)throw new _("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await b(T);let L=await N(T);if(L.marker?.schema===f)throw new _("STORE_RU - Possible obfuscationline 211
[Credential-related source omitted] - Possible obfuscationline 212
`),r=t.length-1;for(;r>=0&&Sn.blankLine.test(t[r]);)r--;return t.length-r<=2?e:t.slice(0,r+1).join( `)}function Kve(e,t){if(e.indexOf(t[1])===-1)return-1;let r=0;for(let i=0;i<e.length;i++)if(e[i]==="\\")i++;else if(e[i]===t[0])r++;else if( - Possible obfuscationline 215
`)}function gr(e,t){return jf.parse(e,t)}function Xve(...e){return jf.use(...e),gr.defaults=jf.defaults,O4(gr.defaults),gr}var Of,Tf,rve,Sn,ive,nve,ave,Rk,ove,hD,$4,D4,sve,mD,cve,vD,lve,uve,$E,gD,dve,B4,pve,fve,hve,wD,x4,mve,vve,gve,wve,H4, - Possible obfuscationline 216
]`).replace("lheading",D4).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},gve=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,wve=/^(`+)([^`]|[ - Possible obfuscationline 227
${h}`,n=n.substring(0,n.length-f.text.length)+v.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 237
`,e=e.substring(N.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 242
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:r,tokens:this.lexer.inline(r)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules. - Possible obfuscationline 243
`),this.blockTokens(t,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 256
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(t){this.infiniteLoopError(t.charCodeAt(0));break}}return this.state.top=!0,r}inline(t,r=[]){return this.inlineQueue.push({src:t,tokens:r}),r}linkInTex - Possible obfuscationline 274
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${bc(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${t - Network accessline 275
Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error occurred:</p><pre>"+bc(r.message+"",!0)+"</pre>";return t?Promise.resolve(i):i}if(t)return Promise.reject(r);throw r}}},jf=new Yve;gr.options=gr.setOptions=fun - Possible obfuscationline 275
Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error occurred:</p><pre>"+bc(r.message+"",!0)+"</pre>";return t?Promise.resolve(i):i}if(t)return Promise.reject(r);throw r}}},jf=new Yve;gr.options=gr.setOptions=fun - Possible obfuscationline 276
[Credential-related source omitted] - Possible obfuscationline 277
`,"utf8"),await r.sync(),i=FD(await r.stat({bigint:!0}))}finally{await r.close()}let n=await Mo(e);if(!i||!n||n.owner.id!==t.id||!Bk(n.identity,i))throw new Error(`Native lock changed after write: ${e}`);return n.identity}async function Wge - Possible obfuscationline 279
[Credential-related source omitted] - Possible obfuscationline 281
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(D.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 282
`,++r,f===13&&t.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function Vwe(e,t,r,i){return e==="template"?t===96||t===36&&r.charCodeAt(i+1)===123 - Possible obfuscationline 283
[Credential-related source omitted] - Possible obfuscationline 284
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Gn(this.state.lastTokEndLoc,l)),d}parseTemplate(t){let r=this.startNode(),i=this.parseTemplateElement(t),n= - Possible obfuscationline 288
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(t,r,i){throw new e(t,{toml:r.s,ptr:i??r.p})}}});function ux(e){let t=e.p,r=e.s.charCodeAt(e.p++),i=r,n=r===39,a=r===e.s.charCodeAt(e.p)&&r===e.s.charCodeAt(e.p+1);a&&((r=e.s.charC - Possible obfuscationline 289
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":Ge.x("unrecognised escape sequence",e),s=e.p+1,c=0);else r!==32&&r!==9&&(c===2&&Ge.x("invalid escape: only line-ending whitespace may be escaped",e,s),c=!n&&r= - Possible obfuscationline 290
`)));else return null;return _a(JSON.stringify(i))}catch{return null}}function ib(e,t,r,i={}){let n=Rd(e,t);if(t===r)return{kind:"unchanged",reason:"文件内容未改变",fingerprint:n};let a=Rd(e,r);return i.formal?{kind:"requirements-changed",reason:" - Possible obfuscationline 291
`)),i=[],n=[],a=null,o=0;for(let l of r){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 293
`,y6= ${Un}: `});function js(e){let t=e.input;if(!t||typeof t!="object"||typeof t.candidateId!="string"||!t.candidateId||typeof t.identityProvider!="string"||!t.identityProvider||typeof t.builderExecutionRef!="string"||!t.builderExecutionRe - Possible obfuscationline 294
[Credential-related source omitted] - Possible obfuscationline 295
`,r)}var Tt=ce(()=>{"use strict";Wp();Fo()});function Av(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var zf,lb,Jf,_d=ce(()=>{"use strict";zf= - Possible obfuscationline 300
`)),n.join( `)}).join( `)}function ea(e,t,r){return e==="zh-CN"?r:t}var G6,rB,Q6,Y6,X6,iB,Z6,e3,Tv,$d=ce(()=>{"use strict";G6=["created","modified","deleted","notCreated"],rB={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",accepta - Possible obfuscationline 302
`)}function ea(e,t,r){return e==="zh-CN"?r:t}var G6,rB,Q6,Y6,X6,iB,Z6,e3,Tv,$d=ce(()=>{"use strict";G6=["created","modified","deleted","notCreated"],rB={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 303
`, `).replaceAll("\r", `)}function Ld(e){return Vke("sha256").update(ah(e)).digest("hex")}function fB(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Ot(`${t} must be an object`);return e}function y3(e,t,r){let i=Object.keys(e).f - Possible obfuscationline 305
`)}function Ld(e){return Vke("sha256").update(ah(e)).digest("hex")}function fB(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Ot(`${t} must be an object`);return e}function y3(e,t,r){let i=Object.keys(e).filter(n=>!t.has(n));if( - Possible obfuscationline 306
`),i=Qke(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new Ot(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=G - Possible obfuscationline 326
`}${t}`}function mB(e,t){if(e.operation==="add"||e.operation==="modify"){let a=t.requirements.get(e.id);if(!a)return!1;let o=Fx(e,e.operation==="modify"?a:void 0);return a.raw===Lx(o.level,o.id,o.title,o.body)}if(e.operation==="remove")retu - Possible obfuscationline 327
${l.body??""}`).join( `),c=n.filter(l=>rbe.test(l.raw)||[...i].some(u=>g3(l.raw,u))||Object.keys(t).some(u=>!i.has(u)&&g3(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new lo([...i,...c.map(l=>l.id),...a,...o],"Native delta im - Possible obfuscationline 328
`),c=n.filter(l=>rbe.test(l.raw)||[...i].some(u=>g3(l.raw,u))||Object.keys(t).some(u=>!i.has(u)&&g3(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new lo([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; dec - Possible obfuscationline 329
`)}else t=Yke(t,s,Lx(c.level,c.id,c.title,c.body))}r.push(...Sb(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:Sb(a)})}let n=ah(t);return{markdown:n,base_hash:e.delta.base_hash,result_hash:Ld(n),rebased:e.rebased,chang - Possible obfuscationline 330
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:t===null&&!r&&i===null,index:s},s+=1,t!==null)t=kB(l,t);else if(r)T3(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 331
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:t===null&&!r&&i===null,index:s},s+=1,t!==null)t=kB(l,t);else if(r)T3(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=kB(l,null);if(d!==null)t - Possible obfuscationline 333
`)),a=n.flatMap((c,l)=>c.type==="heading"&&yb(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 334
[Credential-related source omitted] - Access to secretsline 334
[Credential-related source omitted] - Possible obfuscationline 335
`).trim();if(a.length===0)throw new Error("Native acceptance evidence block is empty");let o;try{o=JSON.parse(a)}catch(l){throw new Error(`Native acceptance evidence block is invalid JSON: ${l.message}`,{cause:l})}let s=D3(o),c=Tbe(s);if(a! - Possible obfuscationline 338
`}function SNe(e,t){if(!/^[a-f0-9-]{8,}$/u.test(t))throw new Error(`Invalid Native transaction id: ${t}`);return Uo.join(e.transactionsDir,t)}function aC(e,t){let r=SNe(e,t);return{directory:r,journal:Uo.join(r,"transaction.json"),events:Uo - Possible obfuscationline 339
`)}}}var Mt=ce(()=>{"use strict";jt();Ac();Wo();ph()});import{createHash as uQ}from"crypto";import{createReadStream as _Ne}from"fs";async function Jo(e){let t=uQ("sha256");for await(let r of _Ne(e))t.update(r);return t.digest("hex")}functio - Possible obfuscationline 340
${JSON.stringify({initial:s.combined,final:c.combined})}`)})}function cSe(e){return e.isFile()?"file":e.isDirectory()?"directory":e.isSymbolicLink()?"symlink":"other"}async function fQ(e){let t=pt.resolve(e.paths.projectRoot),r=pt.resolve(e - Possible obfuscationline 342
${JSON.stringify({visitedNodeCount:u,recordCount:d,encodedBytes:p,xor:c.toString("hex"),sum:l.toString(16).padStart(64,"0")})}`);return{records:o,omissions:s,evidence:{hash:k,visitedNodeCount:u,recordCount:d,storedRecordCount:o.length,encod - Possible obfuscationline 343
${JSON.stringify({include:e,exclude:t,hash:"sha256"})}`)}function BB(e,t,r){let i=new Set(t),n=[...t];for(;n.length>0;){if(r&&!r())return null;let a=n.pop(),o=e[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!i.has - Possible obfuscationline 345
${Buffer.byteLength(i)}:${i}`)}function _Q(e){return e.reason==="git-enumeration-limit"||e.reason==="git-selection-changed"||e.reason==="physical-enumeration-limit"||e.reason==="physical-selection-changed"}function TQ(e){for(let t=e.length- - Possible obfuscationline 346
`)+ `,timeout:lH,killSignal:"SIGKILL",maxBuffer:Zb,windowsHide:!0,stdio:["pipe","pipe","pipe"]}));for(let s=0;s<i.length;s+=4096){let c=o(["--batch-check"],i.slice(s,s+4096)),l=new Map;for(let f of c.toString("ascii").trimEnd().split( `)){l - Possible obfuscationline 348
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let
assets/skills/comet-native/scripts/comet-native-select.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var ZQ=Object.create;var FA=Object.defineProperty;var eK=Object.getOwnPropertyDescriptor;var tK=Object.getOwnPropertyNames;var rK=Object.getPrototypeOf,iK=Object.prototype.hasOwnProperty;var uv=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 17
}`,OK=rS("sha256").update(hj).digest("hex"),jK=1e4,gv=new Map});import{promises as yv}from"node:fs";function LK(t){let e=nS.get(t);if(e){if(Date.now()-e.at>BK){nS.delete(t);return}return e.value}}async function Tr(t){if(t===process.pid&&iS! - Possible obfuscationline 18
[Credential-related source omitted] - Possible obfuscationline 22
`)}}var MK,Wn=ee(()=>{"use strict";GA();mo();Uc();go();MK=16*1024});import{randomUUID as WK}from"crypto";import{constants as UK,promises as wr}from"fs";import Or from"path";async function lS(t,e){try{return await As(t,e),{linked:!0}}catch(r - Possible obfuscationline 23
`)}};Zp.defaultYaml={explicit:!1,version:"1.2"};Zp.defaultTags={"!!":"tag:yaml.org,2002:"};jj.Directives=Zp});var Pv=W(ef=>{"use strict";var $j=lt(),s3=Xp();function c3(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 24
`)?kS(r,e):r.includes( `)? `+kS(r,e):(t.endsWith(" ")?"":" ")+r;$v.indentComment=kS;$v.lineComment=C3;$v.stringifyComment=x3});var Qj=W(of=>{"use strict";var I3="flow",bS="block",Dv="quoted";function P3(t,e,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 54
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return Eu(a,e)}return s?d:xs.foldFlowLines(d,c,xs.FOLD_FLOW,Lv(e,!1))}function O3(t,e,r,i){let{implici - Possible obfuscationline 61
`):N+= ${r.indent}`}else if(!f&&yo.isCollection(e)){let x=b[0],E=b.indexOf( `),C=E!==-1,A=r.inFlow??e.flow??e.items.length===0;if(C||!A){let B=!1;if(C&&(x==="&"||x==="!")){let V=b.indexOf(" ");x==="&"&&V!==-1&&V<E&&b[V+1]==="!"&&(V=b.indexO - Possible obfuscationline 65
`)&&(N="");return g+=N+b,r.inFlow?y&&i&&i():k&&!y?g+=uf.lineComment(g,r.indent,l(k)):m&&n&&n(),g}Xj.stringifyPair=M3});var ES=W(RS=>{"use strict";var e$=uv("process");function V3(t,...e){t==="debug"&&console.log(...e)}function q3(t,e){(t=== - Possible obfuscationline 72
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Qv({indent:t,options:{commentString:e}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Jv.indentComment(e(i),t);r.push(a.trimStart())}}l$.stringifyCollection=X3});var _s=W(OS - Possible obfuscationline 75
${a.comment}`:i.comment}i=n}t.items[r]=iw.isPair(i)?i:new WS.Pair(i)}}else e("Expected a sequence for this tag");return t}function _$(t,e,r){let{replacer:i}=r,n=new FG.YAMLSeq(t);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 76
`)?(r.push("..."),r.push(wf.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(wf.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 78
`}nD.stringifyDocument=S6});var yf=W(oD=>{"use strict";var R6=rf(),Pu=jv(),mn=lt(),E6=Is(),x6=Rs(),C6=cR(),I6=aD(),uR=Pv(),P6=hS(),_6=nf(),dR=fS(),pR=class t{constructor(e,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 83
`}};bf.YAMLError=kf;bf.YAMLParseError=fR;bf.YAMLWarning=hR;bf.prettifyError=T6});var Af=W(sD=>{"use strict";function O6(t,{flow:e,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 84
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 85
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||L6.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",mD);r.atKey=!0 - Possible obfuscationline 86
`+k.comment:w.comment=k.comment);let y=new pD.Pair(w);r.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}gD.resolveBlockMap=F6});var y - Possible obfuscationline 90
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}AD.resolveFlowCollection=X6});var ED=W(RD=>{"use strict";var Z6=lt(),e9=or(),t9=_s(),r9=Ts(),i9=vD(),n9=yD(),a9=SD();function kR(t,e,r,i,n,a - Possible obfuscationline 97
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 105
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function c9({offset:t,props:e},r,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 107
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let n=i[1],a=" ",o=e.lastIndex;for(r.lastIndex=o;i=r.exec(t);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 121
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function v9(t,e,r,i){let n=t.substr(e,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,r+2);r - Possible obfuscationline 127
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 128
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Sf.YAMLParseError(Rf(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 136
`};delete t.items,Object.assign(t,{type:r,source:e,end:[n]});break}default:{let i="indent"in t?t.indent:-1,n="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 140
\r `),DR=t=>!t||r8.has(t),BR=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 145
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 146
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 155
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&kw.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Ef.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 157
[Credential-related source omitted] - Possible obfuscationline 158
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 159
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 160
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 161
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 162
`)){let s=C8(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of y1(s,e).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 164
`)}function I8(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||$s.posix.isAbsolute(r)||$s.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 192
# 可选值:neutral | strict`}}});import{promises as Du}from"fs";import gn from"path";async function ri(t,e,r){let i=await re(t,e,{label:r.label,expected:"file"});if(!i.exists){let a=new Error(`${r.label} does not exist`);throw a.code="ENOENT",a} - Possible obfuscationline 193
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await nl(ce.dirname(r))}function V1(t){return ce.join(t,".runtime-migration-repair-failure.json")}async function q1(t){let e=[];async function r(i,n){let a;try{a=await rt.readdir - Possible obfuscationline 195
`,"utf8")}catch{}}async function eE(t,e,r){let i=_a(r.projectRoot),n=ce.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?tE(n):i.projectRoot;if(t=ce.resolve(t),en(n,t)&&(t=ce.join(a,ce.relative(n,t))),e=ce.resolve(e),t===a||!en(a,t)||!en - Possible obfuscationline 197
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await nl(ce.dirname(t)),await r.testHooks?.afterFence?.();let p=await Zi(l.backup,!0);if(Bs(s)!==Bs(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await oE(l.backup,l.stag - Possible obfuscationline 198
[Credential-related source omitted] - Possible obfuscationline 199
`:""},this._extScope=e,this._scope=new Gn.Scope({parent:e}),this._nodes=[new $E]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let i=this._extSco - Possible obfuscationline 202
[Credential-related source omitted] - Possible obfuscationline 205
[Credential-related source omitted] - Possible obfuscationline 206
`,{containedRoot:i,requireAtomicPublication:!0})}async function A(P){let z=(await b(P)).marker;if(!z||!["closing","reopening"].includes(z.state))return;let O=z.state==="closing",L=(await x(P,z)).record,F=await x(P,z),q=O?d(P):p(P),Q=O?p(P): - Possible obfuscationline 209
`)}}async function $(P,z=!0){let O=(await b(P)).marker;if(O?.writerProtocol&&O.writerProtocol!==t.writerProtocol)throw new R("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await A(P);let L=await b(P);if(L.marker?.schema===f)throw new R("STORE_RU - Possible obfuscationline 210
[Credential-related source omitted] - Possible obfuscationline 227
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 229
[Credential-related source omitted] - Access to secretsline 229
[Credential-related source omitted] - Possible obfuscationline 230
[Credential-related source omitted] - Access to secretsline 230
[Credential-related source omitted] - Possible obfuscationline 231
`, `).replaceAll("\r", `)}function ec(t){return sre("sha256").update(Al(t)).digest("hex")}function UC(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new at(`${e} must be an object`);return t}function iM(t,e,r){let i=Object.keys(t).f - Possible obfuscationline 233
`)}function ec(t){return sre("sha256").update(Al(t)).digest("hex")}function UC(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new at(`${e} must be an object`);return t}function iM(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if( - Possible obfuscationline 234
`),i=mre(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new at(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=h - Possible obfuscationline 254
`}${e}`}function QC(t,e){if(t.operation==="add"||t.operation==="modify"){let a=e.requirements.get(t.id);if(!a)return!1;let o=Yy(t,t.operation==="modify"?a:void 0);return a.raw===Gy(o.level,o.id,o.title,o.body)}if(t.operation==="remove")retu - Possible obfuscationline 255
${l.body??""}`).join( `),c=n.filter(l=>bre.test(l.raw)||[...i].some(u=>eM(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&eM(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new nn([...i,...c.map(l=>l.id),...a,...o],"Native delta im - Possible obfuscationline 256
`),c=n.filter(l=>bre.test(l.raw)||[...i].some(u=>eM(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&eM(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new nn([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; dec - Possible obfuscationline 257
`)}else e=gre(e,s,Gy(c.level,c.id,c.title,c.body))}r.push(...Ih(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:Ih(a)})}let n=Al(e);return{markdown:n,base_hash:t.delta.base_hash,result_hash:ec(n),rebased:t.rebased,chang - Possible obfuscationline 258
`),r=e.length-1;for(;r>=0&&Kr.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function Iie(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let i=0;i<t.length;i++)if(t[i]==="\\")i++;else if(t[i]===e[0])r++;else if( - Possible obfuscationline 261
`)}function Rt(t,e){return Cl.parse(t,e)}function Oie(...t){return Cl.use(...t),Rt.defaults=Cl.defaults,wM(Rt.defaults),Rt}var Il,xl,Bre,Kr,Lre,Hre,Fre,Fh,Mre,iI,yM,kM,Vre,nI,qre,aI,Wre,Ure,nk,oI,zre,bM,Jre,Qre,Kre,sI,dM,Gre,Yre,Xre,Zre,NM, - Possible obfuscationline 262
]`).replace("lheading",kM).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Xre=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Zre=/^(`+)([^`]|[ - Possible obfuscationline 273
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 283
`,t=t.substring(b.length+1),d=N.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 288
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 289
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 302
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 320
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${za(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 321
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+za(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Cl=new Tie;Rt.options=Rt.setOptions=fun - Possible obfuscationline 321
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+za(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Cl=new Tie;Rt.options=Rt.setOptions=fun - Possible obfuscationline 326
`)),n.join( `)}).join( `)}function li(t,e,r){return t==="zh-CN"?r:e}var IM,dI,PM,_M,TM,pI,OM,jM,pd,rc=ee(()=>{"use strict";IM=["created","modified","deleted","notCreated"],dI={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",accepta - Possible obfuscationline 328
`)}function li(t,e,r){return t==="zh-CN"?r:e}var IM,dI,PM,_M,TM,pI,OM,jM,pd,rc=ee(()=>{"use strict";IM=["created","modified","deleted","notCreated"],dI={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 329
${Wh(e)}`).digest("hex")}var jt=ee(()=>{"use strict"});import LM from"node:path";function Wie(t,e){return t<e?-1:t>e?1:0}function MM(t,e){if(Buffer.byteLength(t,"utf8")<=e)return{value:t,truncated:!1};let r="",i=0;for(let n of t){let a=Buff - Possible obfuscationline 331
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=gI(l,e);else if(r)qM(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=gI(l,null);if(d!==null)e - Possible obfuscationline 333
`)),a=n.flatMap((c,l)=>c.type==="heading"&&Vh(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 334
[Credential-related source omitted] - Access to secretsline 334
[Credential-related source omitted] - Possible obfuscationline 335
`).trim();if(a.length===0)throw new Error("Native acceptance evidence block is empty");let o;try{o=JSON.parse(a)}catch(l){throw new Error(`Native acceptance evidence block is invalid JSON: ${l.message}`,{cause:l})}let s=JM(o),c=Xie(s);if(a! - Possible obfuscationline 337
[Credential-related source omitted] - Possible obfuscationline 339
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(_.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 340
`,++r,f===13&&e.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function Qne(t,e,r,i){return t==="template"?e===96||e===36&&r.charCodeAt(i+1)===123 - Possible obfuscationline 341
[Credential-related source omitted] - Possible obfuscationline 342
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,di(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let r=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 346
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(e,r,i){throw new t(e,{toml:r.s,ptr:i??r.p})}}});function wk(t){let e=t.p,r=t.s.charCodeAt(t.p++),i=r,n=r===39,a=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);a&&((r=t.s.charC - Possible obfuscationline 347
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":Te.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&Te.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!n&&r= - Possible obfuscationline 348
`)));else return null;return Ga(JSON.stringify(i))}catch{return null}}var LV,sm,HV,_ae,bk,Tae,Oae,FV,jae,lm=ee(()=>{"use strict";LV=Xt(xV(),1),sm=Xt(Sr(),1);$V();Pl();pP();HV=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]), - Possible obfuscationline 349
[Credential-related source omitted] - Possible obfuscationline 350
`,r)}var wt=ee(()=>{"use strict";Uc();Va()});function wm(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var Ed,xk,vm,Ll=ee(()=>{"use strict";Ed= - Possible obfuscationline 351
`)+ `,timeout:EP,killSignal:"SIGKILL",maxBuffer:km,windowsHide:!0,stdio:["pipe","pipe","pipe"]}));for(let s=0;s<i.length;s+=4096){let c=o(["--batch-check"],i.slice(s,s+4096)),l=new Map;for(let f of c.toString("ascii").trimEnd().split( `)){l - Possible obfuscationline 353
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 418
`});function gi(t){return t.replace(_oe,"$1 [REDACTED]").replace(Toe,"[REDACTED PRIVATE KEY]").replace(Ooe,"$1[REDACTED]@").replace(joe,"[REDACTED TOKEN]").replace($oe,'$1"[REDACTED]"').replace(Doe,"$1$2$1$3$4[REDACTED]$4").replace(Boe,"$1$ - Possible obfuscationline 424
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-Hoe).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(Loe(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 428
[Credential-related source omitted] - Possible obfuscationline 429
`,"utf8"),await r.sync(),i=N_(await r.stat({bigint:!0}))}finally{await r.close()}let n=await jn(t);if(!i||!n||n.owner.id!==e.id||!vb(n.identity,i))throw new Error(`Native lock changed after write: ${t}`);return n.identity}async function mce - Possible obfuscationline 430
`)}}}var $t=ee(()=>{"use strict";xt();Jl();Fl();Cb()});import{createHash as MW}from"crypto";import{createReadStream as Bce}from"fs";async function __(t){let e=MW("sha256");for await(let r of Bce(t))e.update(r);return e.digest("hex")}functio - Possible obfuscationline 431
${JSON.stringify({initial:s.combined,final:c.combined})}`)})}function hle(t){return t.isFile()?"file":t.isDirectory()?"directory":t.isSymbolicLink()?"symlink":"other"}async function WW(t){let e=Le.resolve(t.paths.projectRoot),r=Le.resolve(t - Possible obfuscationline 433
${JSON.stringify({visitedNodeCount:u,recordCount:d,encodedBytes:p,xor:c.toString("hex"),sum:l.toString(16).padStart(64,"0")})}`);return{records:o,omissions:s,evidence:{hash:k,visitedNodeCount:u,recordCount:d,storedRecordCount:o.length,encod - Possible obfuscationline 434
${JSON.stringify({include:t,exclude:e,hash:"sha256"})}`)}function j_(t,e,r){let i=new Set(e),n=[...e];for(;n.length>0;){if(r&&!r())return null;let a=n.pop(),o=t[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!i.has - Possible obfuscationline 436
${Buffer.byteLength(i)}:${i}`)}function c2(t){return t.reason==="git-enumeration-limit"||t.reason==="git-selection-changed"||t.reason==="physical-enumeration-limit"||t.reason==="physical-selection-changed"}function l2(t){for(let e=t.length- - Possible obfuscationline 439
`),t.omissionOverflow&&Ec(a,"existing-overflow",t.omissionOverflow);let o=(p,f)=>{f||(i+=1),n+=1,Ec(a,"omission",p)},s=p=>{i+=1,n+=1,Ec(a,"entry",p)},c=()=>{for(let p=r.length-1;p>=0;p-=1){let f=r[p];if(!(f.reason==="git-enumeration-limit"|
assets/skills/comet-native/scripts/comet-native-show.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
[Credential-related source omitted] - Possible obfuscationline 5
`:""},this._extScope=e,this._scope=new An.Scope({parent:e}),this._nodes=[new Tb]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let i=this._extSco - Possible obfuscationline 8
[Credential-related source omitted] - Possible obfuscationline 11
[Credential-related source omitted] - Possible obfuscationline 24
}`,HK=LA("sha256").update(cj).digest("hex"),FK=1e4,og=new Map});import{promises as lg}from"node:fs";function WK(t){let e=FA.get(t);if(e){if(Date.now()-e.at>qK){FA.delete(t);return}return e.value}}async function Nr(t){if(t===process.pid&&HA! - Possible obfuscationline 25
[Credential-related source omitted] - Possible obfuscationline 29
`)}}var JK,xn=Q(()=>{"use strict";EA();Ka();ac();Ga();JK=16*1024});import{randomUUID as GK}from"crypto";import{constants as YK,promises as cr}from"fs";import Ar from"path";async function UA(t,e){try{return await zo(t,e),{linked:!0}}catch(r) - Possible obfuscationline 30
`)}};np.defaultYaml={explicit:!1,version:"1.2"};np.defaultTags={"!!":"tag:yaml.org,2002:"};Cj.Directives=np});var kg=B(ap=>{"use strict";var Ij=at(),f3=ip();function h3(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 31
`)?rS(r,e):r.includes( `)? `+rS(r,e):(t.endsWith(" ")?"":" ")+r;Rg.indentComment=rS;Rg.lineComment=j3;Rg.stringifyComment=O3});var Vj=B(up=>{"use strict";var $3="flow",iS="block",Eg="quoted";function D3(t,e,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 61
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return ql(a,e)}return s?d:Xo.foldFlowLines(d,c,Xo.FOLD_FLOW,Cg(e,!1))}function H3(t,e,r,i){let{implici - Possible obfuscationline 68
`):S+= ${r.indent}`}else if(!f&&Za.isCollection(e)){let L=b[0],C=b.indexOf( `),q=C!==-1,R=r.inFlow??e.flow??e.items.length===0;if(q||!R){let O=!1;if(q&&(L==="&"||L==="!")){let W=b.indexOf(" ");L==="&"&&W!==-1&&W<C&&b[W+1]==="!"&&(W=b.indexO - Possible obfuscationline 72
`)&&(S="");return g+=S+b,r.inFlow?y&&i&&i():k&&!y?g+=hp.lineComment(g,r.indent,l(k)):m&&n&&n(),g}zj.stringifyPair=J3});var cS=B(sS=>{"use strict";var Qj=am("process");function Q3(t,...e){t==="debug"&&console.log(...e)}function K3(t,e){(t=== - Possible obfuscationline 79
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Lg({indent:t,options:{commentString:e}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Bg.indentComment(e(i),t);r.push(a.trimStart())}}i$.stringifyCollection=nG});var rs=B(mS - Possible obfuscationline 82
${a.comment}`:i.comment}i=n}t.items[r]=Jg.isPair(i)?i:new ES.Pair(i)}}else e("Expected a sequence for this tag");return t}function R$(t,e,r){let{replacer:i}=r,n=new zG.YAMLSeq(t);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 83
`)?(r.push("..."),r.push(Np.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(Np.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 85
`}X$.stringifyDocument=P6});var Ap=B(eD=>{"use strict";var _6=sp(),Jl=Sg(),rn=at(),T6=es(),O6=Go(),j6=WS(),$6=Z$(),zS=kg(),D6=GA(),B6=cp(),JS=KA(),QS=class t{constructor(e,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 90
`}};Rp.YAMLError=Sp;Rp.YAMLParseError=KS;Rp.YAMLWarning=GS;Rp.prettifyError=L6});var xp=B(tD=>{"use strict";function H6(t,{flow:e,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 91
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 92
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||W6.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",lD);r.atKey=!0 - Possible obfuscationline 93
`+k.comment:w.comment=k.comment);let y=new oD.Pair(w);r.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}uD.resolveBlockMap=z6});var f - Possible obfuscationline 97
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}vD.resolveFlowCollection=n9});var kD=B(yD=>{"use strict";var a9=at(),o9=Xt(),s9=rs(),c9=is(),l9=dD(),u9=fD(),d9=wD();function rR(t,e,r,i,n,a - Possible obfuscationline 104
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 112
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function h9({offset:t,props:e},r,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 114
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let n=i[1],a=" ",o=e.lastIndex;for(r.lastIndex=o;i=r.exec(t);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 128
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function A9(t,e,r,i){let n=t.substr(e,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,r+2);r - Possible obfuscationline 134
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 135
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Cp.YAMLParseError(Ip(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 143
`};delete t.items,Object.assign(t,{type:r,source:e,end:[n]});break}default:{let i="indent"in t?t.indent:-1,n="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 147
\r `),wR=t=>!t||c8.has(t),yR=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 152
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 153
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 162
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&uv.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Pp.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 164
[Credential-related source omitted] - Possible obfuscationline 165
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 166
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 167
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 168
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 169
`)){let s=j8(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of f1(s,e).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 171
`)}function $8(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||os.posix.isAbsolute(r)||os.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 199
# 可选值:neutral | strict`}}});import{promises as Zl}from"fs";import nn from"path";async function Kr(t,e,r){let i=await G(t,e,{label:r.label,expected:"file"});if(!i.exists){let a=new Error(`${r.label} does not exist`);throw a.code="ENOENT",a}l - Possible obfuscationline 200
`,{containedRoot:i,requireAtomicPublication:!0})}async function R(E){let F=(await b(E)).marker;if(!F||!["closing","reopening"].includes(F.state))return;let T=F.state==="closing",M=(await L(E,F)).record,z=await L(E,F),K=T?d(E):p(E),oe=T?p(E) - Possible obfuscationline 203
`)}}async function _(E,F=!0){let T=(await b(E)).marker;if(T?.writerProtocol&&T.writerProtocol!==t.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await R(E);let M=await b(E);if(M.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 204
[Credential-related source omitted] - Possible obfuscationline 205
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await Nc(ie.dirname(r))}function z1(t){return ie.join(t,".runtime-migration-repair-failure.json")}async function J1(t){let e=[];async function r(i,n){let a;try{a=await Ue.readdir - Possible obfuscationline 207
`,"utf8")}catch{}}async function WR(t,e,r){let i=ma(r.projectRoot),n=ie.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?UR(n):i.projectRoot;if(t=ie.resolve(t),ji(n,t)&&(t=ie.join(a,ie.relative(n,t))),e=ie.resolve(e),t===a||!ji(a,t)||!ji - Possible obfuscationline 209
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Nc(ie.dirname(t)),await r.testHooks?.afterFence?.();let p=await Oi(l.backup,!0);if(ls(s)!==ls(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await GR(l.backup,l.stag - Possible obfuscationline 210
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await Pn(r)||(n&&await Ue.rmdir(e.runtimeRoot),await Vp(r,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 214
`)}function Nt(t,e){return Ec.parse(t,e)}function r7(...t){return Ec.use(...t),Nt.defaults=Ec.defaults,IB(Nt.defaults),Nt}var xc,Rc,oY,Lr,sY,cY,lY,Xp,uY,bE,PB,_B,dY,NE,pY,AE,fY,hY,Hv,SE,mY,TB,gY,vY,wY,RE,NB,yY,kY,bY,NY,OB,AY,oo,uu,Zp,SY,RY, - Possible obfuscationline 215
]`).replace("lheading",_B).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},bY=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,NY=/^(`+)([^`]|[^` - Possible obfuscationline 226
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 236
`,t=t.substring(b.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 241
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 242
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 255
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 273
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${ya(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 274
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+ya(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Ec=new t7;Nt.options=Nt.setOptions=func - Possible obfuscationline 274
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+ya(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Ec=new t7;Nt.options=Nt.setOptions=func - Possible obfuscationline 275
[Credential-related source omitted] - Possible obfuscationline 276
`,"utf8"),await r.sync(),i=zE(await r.stat({bigint:!0}))}finally{await r.close()}let n=await pn(t);if(!i||!n||n.owner.id!==e.id||!ow(n.identity,i))throw new Error(`Native lock changed after write: ${t}`);return n.identity}async function K7( - Possible obfuscationline 278
[Credential-related source omitted] - Possible obfuscationline 280
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(x.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 281
`,++r,f===13&&e.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function QX(t,e,r,i){return t==="template"?e===96||e===36&&r.charCodeAt(i+1)===123: - Possible obfuscationline 282
[Credential-related source omitted] - Possible obfuscationline 283
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Zr(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let r=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 287
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(e,r,i){throw new t(e,{toml:r.s,ptr:i??r.p})}}});function kw(t){let e=t.p,r=t.s.charCodeAt(t.p++),i=r,n=r===39,a=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);a&&((r=t.s.charC - Possible obfuscationline 288
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":xe.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&xe.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!n&&r= - Possible obfuscationline 289
`)));else return null;return Sa(JSON.stringify(i))}catch{return null}}var uH,Ef,dH,_Z,Aw,TZ,OZ,pH,jZ,Cf=Q(()=>{"use strict";uH=Jt(ZL(),1),Ef=Jt(hr(),1);sH();Cc();Fx();dH=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),_Z=ne - Possible obfuscationline 290
`)),i=[],n=[],a=null,o=0;for(let l of r){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 292
`,wH= ${on}: `});function Bf(t){let e=t.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 293
[Credential-related source omitted] - Possible obfuscationline 294
`,r)}var mt=Q(()=>{"use strict";ac();ka()});function Hf(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var xu,Pw,Lf,Mc=Q(()=>{"use strict";xu="c - Possible obfuscationline 299
`)),n.join( `)}).join( `)}function ni(t,e,r){return t==="zh-CN"?r:e}var HH,rC,FH,MH,VH,BH,qH,WH,Tu,As=Q(()=>{"use strict";HH=["created","modified","deleted","notCreated"],rC={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 301
`)}function ni(t,e,r){return t==="zh-CN"?r:e}var HH,rC,FH,MH,VH,BH,qH,WH,Tu,As=Q(()=>{"use strict";HH=["created","modified","deleted","notCreated"],rC={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 302
`, `).replaceAll("\r", `)}function Rs(t){return Aee("sha256").update(Uc(t)).digest("hex")}function hC(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Xe(`${e} must be an object`);return t}function rF(t,e,r){let i=Object.keys(t).f - Possible obfuscationline 304
`)}function Rs(t){return Aee("sha256").update(Uc(t)).digest("hex")}function hC(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Xe(`${e} must be an object`);return t}function rF(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if( - Possible obfuscationline 305
`),i=_ee(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new Xe(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=P - Possible obfuscationline 325
`}${e}`}function vC(t,e){if(t.operation==="add"||t.operation==="modify"){let a=e.requirements.get(t.id);if(!a)return!1;let o=Uw(t,t.operation==="modify"?a:void 0);return a.raw===Ww(o.level,o.id,o.title,o.body)}if(t.operation==="remove")retu - Possible obfuscationline 326
${l.body??""}`).join( `),c=n.filter(l=>Bee.test(l.raw)||[...i].some(u=>ZH(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&ZH(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Fi([...i,...c.map(l=>l.id),...a,...o],"Native delta im - Possible obfuscationline 327
`),c=n.filter(l=>Bee.test(l.raw)||[...i].some(u=>ZH(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&ZH(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Fi([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; dec - Possible obfuscationline 328
`)}else e=Tee(e,s,Ww(c.level,c.id,c.title,c.body))}r.push(...Gf(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:Gf(a)})}let n=Uc(e);return{markdown:n,base_hash:t.delta.base_hash,result_hash:Rs(n),rebased:t.rebased,chang - Possible obfuscationline 329
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=uF(l,e);else if(r)dF(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 330
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=uF(l,e);else if(r)dF(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=uF(l,null);if(d!==null)e - Possible obfuscationline 332
`)),a=n.flatMap((c,l)=>c.type==="heading"&&Uf(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 333
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of Kw(t)){let d=u?pF(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=oh(p[1 - Possible obfuscationline 335
${JSON.stringify({include:t,exclude:e,hash:"sha256"})}`)}function DC(t,e,r){let i=new Set(e),n=[...e];for(;n.length>0;){if(r&&!r())return null;let a=n.pop(),o=t[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!i.has - Possible obfuscationline 336
`)+ `,timeout:KC,killSignal:"SIGKILL",maxBuffer:ph,windowsHide:!0,stdio:["pipe","pipe","pipe"]}));for(let s=0;s<i.length;s+=4096){let c=o(["--batch-check"],i.slice(s,s+4096)),l=new Map;for(let f of c.toString("ascii").trimEnd().split( `)){l - Possible obfuscationline 338
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 403
`});function Oa(t){return t.replace(Xre,"$1 [REDACTED]").replace(Zre,"[REDACTED PRIVATE KEY]").replace(eie,"$1[REDACTED]@").replace(tie,"[REDACTED TOKEN]").replace(rie,'$1"[REDACTED]"').replace(iie,"$1$2$1$3$4[REDACTED]$4").replace(nie,"$1$ - Possible obfuscationline 420
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 426
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-hie).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(fie(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 430
[Credential-related source omitted] - Possible obfuscationline 432
`,{containedRoot:t,exclusive:!0,requireAtomicPublication:!0})),await M5(t,o),s&&await dc(Yr.join(t,a),{containedRoot:t,beforeRemove:async()=>{let l=await va(t,a,e.workflow,e.change),u=await va(t,o,e.workflow,e.change);if(!l||!u||!Wp(l,i)||! - Possible obfuscationline 433
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let s=await va(n,r,e.workflow,e.change);if(JSON.stringify(s)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 434
`,{containedRoot:t,requireAtomicPublication:!0})}async function mB(t,e,r){let i=await dt(t,"application-scope-locks",{label:"工作区应用写入范围锁"});return Qr(aE.join(i,"_workspace.lock"),()=>Qr(aE.join(i,`${e}.lock`),r))}async function gB(t,e,r,i=!1 - Possible obfuscationline 436
`,ze.e()-1)}`),{idx:ze.e()});let a=[],o=[];for(;ze.ri();){let l=ze.is(),u=ze.ie(),d=ze.it(),p=ze.ai(),f=ze.id(),h=ze.ss(),m=ze.se(),g;ze.ip()&&(g=s(t.slice(f===-1?l-1:l,f===-1?u+1:u)));let v=null;for(v=[],ze.rsa();ze.ra();){let w=ze.aks(),k - Possible obfuscationline 437
`,{containedRoot:e,requireAtomicPublication:!0})},a=async()=>JSON.stringify(await Promise.all(["",".runtime-store-v2",".runtime-store-history"].map(async f=>{let h=await G(f?e:Ic.dirname(e),f||Ic.basename(e),{label:"应用存储分区",expected:"direct
assets/skills/comet-native/scripts/comet-native-spec.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var XW=Object.create;var UP=Object.defineProperty;var ZW=Object.getOwnPropertyDescriptor;var e2=Object.getOwnPropertyNames;var t2=Object.getPrototypeOf,r2=Object.prototype.hasOwnProperty;var am=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
[Credential-related source omitted] - Access to secretsline 5
[Credential-related source omitted] - Possible obfuscationline 6
${Gk(e)}`).digest("hex")}var Wt=Q(()=>{"use strict"});var C_=B(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});function k2(t,e){if(t==null)return{};var r={};for(var i in t)if({}.hasOwnProperty.call(t,i)){if(e.indexOf(i)! - Possible obfuscationline 8
[Credential-related source omitted] - Possible obfuscationline 10
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(x.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 11
`,++r,f===13&&e.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function hq(t,e,r,i){return t==="template"?e===96||e===36&&r.charCodeAt(i+1)===123: - Possible obfuscationline 12
[Credential-related source omitted] - Possible obfuscationline 13
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,zr(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let r=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 14
`)}};Td.defaultYaml={explicit:!1,version:"1.2"};Td.defaultTags={"!!":"tag:yaml.org,2002:"};L_.Directives=Td});var Am=B(Od=>{"use strict";var H_=nt(),Kq=_d();function Gq(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 15
`)?Wb(r,e):r.includes( `)? `+Wb(r,e):(t.endsWith(" ")?"":" ")+r;Cm.indentComment=Wb;Cm.lineComment=gU;Cm.stringifyComment=mU});var X_=B(Ld=>{"use strict";var vU="flow",qb="block",Im="quoted";function wU(t,e,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 45
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return Sl(a,e)}return s?d:Fo.foldFlowLines(d,c,Fo.FOLD_FLOW,_m(e,!1))}function bU(t,e,r,i){let{implici - Possible obfuscationline 52
`):E+= ${r.indent}`}else if(!f&&za.isCollection(e)){let V=b[0],I=b.indexOf( `),W=I!==-1,S=r.inFlow??e.flow??e.items.length===0;if(W||!S){let O=!1;if(W&&(V==="&"||V==="!")){let z=b.indexOf(" ");V==="&"&&z!==-1&&z<I&&b[z+1]==="!"&&(z=b.indexO - Possible obfuscationline 56
`)&&(E="");return g+=E+b,r.inFlow?y&&i&&i():k&&!y?g+=Vd.lineComment(g,r.indent,l(k)):m&&n&&n(),g}rT.stringifyPair=IU});var Kb=B(Qb=>{"use strict";var nT=am("process");function PU(t,...e){t==="debug"&&console.log(...e)}function _U(t,e){(t=== - Possible obfuscationline 63
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Fm({indent:t,options:{commentString:e}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Mm.indentComment(e(i),t);r.push(a.trimStart())}}fT.stringifyCollection=MU});var Uo=B(rN - Possible obfuscationline 66
${a.comment}`:i.comment}i=n}t.items[r]=Gm.isPair(i)?i:new fN.Pair(i)}}else e("Expected a sequence for this tag");return t}function $T(t,e,r){let{replacer:i}=r,n=new Cz.YAMLSeq(t);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 67
`)?(r.push("..."),r.push(Gd.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(Gd.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 69
`}c0.stringifyDocument=pJ});var Yd=B(u0=>{"use strict";var fJ=$d(),Cl=xm(),Ji=nt(),hJ=Wo(),mJ=Ho(),gJ=_N(),vJ=l0(),ON=Am(),wJ=Bb(),yJ=Dd(),jN=Db(),$N=class t{constructor(e,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 74
`}};Zd.YAMLError=Xd;Zd.YAMLParseError=DN;Zd.YAMLWarning=BN;Zd.prettifyError=kJ});var tp=B(d0=>{"use strict";function bJ(t,{flow:e,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 75
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 76
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||RJ.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",y0);r.atKey=!0 - Possible obfuscationline 77
`+k.comment:w.comment=k.comment);let y=new g0.Pair(w);r.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}k0.resolveBlockMap=CJ});var A - Possible obfuscationline 81
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}x0.resolveFlowCollection=MJ});var P0=B(I0=>{"use strict";var FJ=nt(),VJ=Xt(),WJ=Uo(),qJ=zo(),UJ=b0(),zJ=A0(),JJ=C0();function WN(t,e,r,i,n,a - Possible obfuscationline 88
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 96
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function GJ({offset:t,props:e},r,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 98
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let n=i[1],a=" ",o=e.lastIndex;for(r.lastIndex=o;i=r.exec(t);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 112
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function a4(t,e,r,i){let n=t.substr(e,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,r+2);r - Possible obfuscationline 118
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 119
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new rp.YAMLParseError(ip(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 127
`};delete t.items,Object.assign(t,{type:r,source:e,end:[n]});break}default:{let i="indent"in t?t.indent:-1,n="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 131
\r `),aA=t=>!t||q4.has(t),oA=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 136
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 137
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 146
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&fg.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield np.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 148
[Credential-related source omitted] - Possible obfuscationline 149
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 150
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 151
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 152
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 156
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(e,r,i){throw new t(e,{toml:r.s,ptr:i??r.p})}}});function vg(t){let e=t.p,r=t.s.charCodeAt(t.p++),i=r,n=r===39,a=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);a&&((r=t.s.charC - Possible obfuscationline 157
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":Ee.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&Ee.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!n&&r= - Possible obfuscationline 158
`),r=e.length-1;for(;r>=0&&Or.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function uK(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let i=0;i<t.length;i++)if(t[i]==="\\")i++;else if(t[i]===e[0])r++;else if(t - Possible obfuscationline 161
`)}function Nt(t,e){return Js.parse(t,e)}function hK(...t){return Js.use(...t),Nt.defaults=Js.defaults,TO(Nt.defaults),Nt}var Qs,zs,wQ,Or,yQ,kQ,bQ,fp,NQ,EA,OO,jO,AQ,RA,SQ,xA,EQ,RQ,Ag,CA,xQ,$O,CQ,IQ,PQ,IA,EO,_Q,TQ,OQ,jQ,DO,$Q,Ja,Ol,hp,DQ,BQ, - Possible obfuscationline 162
]`).replace("lheading",jO).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},OQ=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,jQ=/^(`+)([^`]|[^` - Possible obfuscationline 173
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 183
`,t=t.substring(b.length+1),d=E.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 188
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 189
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 202
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 220
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${la(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 221
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+la(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Js=new fK;Nt.options=Nt.setOptions=func - Possible obfuscationline 221
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+la(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Js=new fK;Nt.options=Nt.setOptions=func - Possible obfuscationline 222
`)));else return null;return ua(JSON.stringify(i))}catch{return null}}var qO,gp,UO,bK,Sg,NK,AK,zO,SK,wp=Q(()=>{"use strict";qO=Gt(C_(),1),gp=Gt(Ar(),1);SO();Ks();$A();UO=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),bK=ne - Possible obfuscationline 223
`)),i=[],n=[],a=null,o=0;for(let l of r){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 236
}`,YK=YA("sha256").update(oj).digest("hex"),XK=1e4,xg=new Map});import{promises as Pg}from"node:fs";function r3(t){let e=ZA.get(t);if(e){if(Date.now()-e.at>t3){ZA.delete(t);return}return e.value}}async function Er(t){if(t===process.pid&&XA! - Possible obfuscationline 237
[Credential-related source omitted] - Possible obfuscationline 241
`)}}var a3,_n=Q(()=>{"use strict";FA();Ka();$s();Ga();a3=16*1024});import{randomUUID as l3}from"crypto";import{constants as u3,promises as lr}from"fs";import Rr from"path";async function nS(t,e){try{return await To(t,e),{linked:!0}}catch(r) - Possible obfuscationline 242
`)){let s=k3(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of Aj(s,e).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 244
`)}function b3(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||ts.posix.isAbsolute(r)||ts.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 272
# 可选值:neutral | strict`}}});import{AsyncLocalStorage as B3}from"node:async_hooks";function Fg(){let t=cS.getStore();return t?.active?t:null}function Cj(){Fg()?.entries.clear()}async function Vg(t){if(Fg()!==null)return t();let e={entries:ne - Possible obfuscationline 273
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await cc(te.dirname(r))}function Zj(t){return te.join(t,".runtime-migration-repair-failure.json")}async function e$(t){let e=[];async function r(i,n){let a;try{a=await Je.readdir - Possible obfuscationline 275
`,"utf8")}catch{}}async function yS(t,e,r){let i=ha(r.projectRoot),n=te.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?kS(n):i.projectRoot;if(t=te.resolve(t),Di(n,t)&&(t=te.join(a,te.relative(n,t))),e=te.resolve(e),t===a||!Di(a,t)||!Di - Possible obfuscationline 277
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await cc(te.dirname(t)),await r.testHooks?.afterFence?.();let p=await $i(l.backup,!0);if(is(s)!==is(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await ES(l.backup,l.stag - Possible obfuscationline 278
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await Xi(r)||(n&&await Je.rmdir(e.runtimeRoot),await lc(r,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 283
`)),n.join( `)}).join( `)}function Xr(t,e,r){return t==="zh-CN"?r:e}var w$,OS,y$,k$,b$,g$,N$,A$,Gl,os=Q(()=>{"use strict";w$=["created","modified","deleted","notCreated"],OS={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 285
[Credential-related source omitted] - Possible obfuscationline 286
`:""},this._extScope=e,this._scope=new $n.Scope({parent:e}),this._nodes=[new iE]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let i=this._extSco - Possible obfuscationline 289
[Credential-related source omitted] - Possible obfuscationline 292
[Credential-related source omitted] - Possible obfuscationline 293
`,{containedRoot:i,requireAtomicPublication:!0})}async function S(R){let H=(await b(R)).marker;if(!H||!["closing","reopening"].includes(H.state))return;let T=H.state==="closing",M=(await V(R,H)).record,U=await V(R,H),K=T?d(R):p(R),ae=T?p(R) - Possible obfuscationline 296
`)}}async function _(R,H=!0){let T=(await b(R)).marker;if(T?.writerProtocol&&T.writerProtocol!==t.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await S(R);let M=await b(R);if(M.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 297
[Credential-related source omitted] - Possible obfuscationline 298
`,"utf8"),await r.sync(),i=Px(await r.stat({bigint:!0}))}finally{await r.close()}let n=await hn(t);if(!i||!n||n.owner.id!==e.id||!Rw(n.identity,i))throw new Error(`Native lock changed after write: ${t}`);return n.identity}async function YX( - Possible obfuscationline 300
`,nH= ${ln}: `});function $w(t){let e=t.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 301
[Credential-related source omitted] - Possible obfuscationline 302
`, `).replaceAll("\r", `)}function Es(t){return _Z("sha256").update(Fc(t)).digest("hex")}function Kx(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Xe(`${e} must be an object`);return t}function xH(t,e,r){let i=Object.keys(t).fi - Possible obfuscationline 304
`)}function Es(t){return _Z("sha256").update(Fc(t)).digest("hex")}function Kx(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Xe(`${e} must be an object`);return t}function xH(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if(i - Possible obfuscationline 305
`),i=HZ(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new Xe(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=LZ - Possible obfuscationline 325
`}${e}`}function Xx(t,e){if(t.operation==="add"||t.operation==="modify"){let a=e.requirements.get(t.id);if(!a)return!1;let o=Jw(t,t.operation==="modify"?a:void 0);return a.raw===zw(o.level,o.id,o.title,o.body)}if(t.operation==="remove")retu - Possible obfuscationline 326
${l.body??""}`).join( `),c=n.filter(l=>UZ.test(l.raw)||[...i].some(u=>SH(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&SH(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Fi([...i,...c.map(l=>l.id),...a,...o],"Native delta imp - Possible obfuscationline 327
`),c=n.filter(l=>UZ.test(l.raw)||[...i].some(u=>SH(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&SH(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Fi([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; decl - Possible obfuscationline 328
`)}else e=MZ(e,s,zw(c.level,c.id,c.title,c.body))}r.push(...Zf(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:Zf(a)})}let n=Fc(e);return{markdown:n,base_hash:t.delta.base_hash,result_hash:Es(n),rebased:t.rebased,change - Possible obfuscationline 329
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=$H(l,e);else if(r)DH(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 330
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=$H(l,e);else if(r)DH(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=$H(l,null);if(d!==null)e - Possible obfuscationline 332
`)),a=n.flatMap((c,l)=>c.type==="heading"&&Hp(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 333
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of Gw(t)){let d=u?BH(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=ch(p[1 - Possible obfuscationline 334
`)}}}var Et=Q(()=>{"use strict";St();jc();Rs();uy()});import{createHash as ite}from"crypto";function gn(t){return ite("sha256").update(t).digest("hex")}var Pa=Q(()=>{"use strict"});var qbe,Ube,zbe,Jbe,Qbe,Kbe,uh=Q(()=>{"use strict";Zo();ft( - Possible obfuscationline 337
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 402
`});function ko(t){return t.replace(Gte,"$1 [REDACTED]").replace(Yte,"[REDACTED PRIVATE KEY]").replace(Xte,"$1[REDACTED]@").replace(Zte,"[REDACTED TOKEN]").replace(ere,'$1"[REDACTED]"').replace(tre,"$1$2$1$3$4[REDACTED]$4").replace(rre,"$1$ - Possible obfuscationline 419
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 425
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-pre).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(dre(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 429
`;o.write(j),c.update(j)});let Te=async()=>{let de=k?await k:!1;if(!d.pid)return!0;if(process.platform==="win32")return de;let j=Date.now()+1e3;for(;;){if(await _g(d.pid,v)==="dead")return!0;if(Date.now()>=j)return!1;await new Promise(re=>s - Possible obfuscationline 430
[Credential-related source omitted] - Possible obfuscationline 432
`,{containedRoot:t,exclusive:!0,requireAtomicPublication:!0})),await R6(t,o),s&&await ic(Yr.join(t,a),{containedRoot:t,beforeRemove:async()=>{let l=await ga(t,a,e.workflow,e.change),u=await ga(t,o,e.workflow,e.change);if(!l||!u||!Bp(l,i)||! - Possible obfuscationline 433
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let s=await ga(n,r,e.workflow,e.change);if(JSON.stringify(s)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 434
`,{containedRoot:t,requireAtomicPublication:!0})}async function pL(t,e,r){let i=await pt(t,"application-scope-locks",{label:"工作区应用写入范围锁"});return Qr(rx.join(i,"_workspace.lock"),()=>Qr(rx.join(i,`${e}.lock`),r))}async function fL(t,e,r,i=!1 - Possible obfuscationline 436
`,Qe.e()-1)}`),{idx:Qe.e()});let a=[],o=[];for(;Qe.ri();){let l=Qe.is(),u=Qe.ie(),d=Qe.it(),p=Qe.ai(),f=Qe.id(),h=Qe.ss(),m=Qe.se(),g;Qe.ip()&&(g=s(t.slice(f===-1?l-1:l,f===-1?u+1:u)));let v=null;for(v=[],Qe.rsa();Qe.ra();){let w=Qe.aks(),k - Possible obfuscationline 437
`,{containedRoot:e,requireAtomicPublication:!0})},a=async()=>JSON.stringify(await Promise.all(["",".runtime-store-v2",".runtime-store-history"].map(async f=>{let h=await Y(f?e:_c.dirname(e),f||_c.basename(e),{label:"应用存储分区",expected:"direct
assets/skills/comet-native/scripts/comet-native-status.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var XQ=Object.create;var LA=Object.defineProperty;var ZQ=Object.getOwnPropertyDescriptor;var eK=Object.getOwnPropertyNames;var tK=Object.getPrototypeOf,rK=Object.prototype.hasOwnProperty;var cv=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 17
}`,IK=eS("sha256").update(dj).digest("hex"),PK=1e4,hv=new Map});import{promises as vv}from"node:fs";function jK(t){let e=rS.get(t);if(e){if(Date.now()-e.at>OK){rS.delete(t);return}return e.value}}async function Tr(t){if(t===process.pid&&tS! - Possible obfuscationline 18
[Credential-related source omitted] - Possible obfuscationline 22
`)}}var BK,zn=ee(()=>{"use strict";qA();go();Fc();vo();BK=16*1024});import{randomUUID as FK}from"crypto";import{constants as MK,promises as wr}from"fs";import Or from"path";async function sS(t,e){try{return await ys(t,e),{linked:!0}}catch(r - Possible obfuscationline 23
`)}};Yp.defaultYaml={explicit:!1,version:"1.2"};Yp.defaultTags={"!!":"tag:yaml.org,2002:"};_j.Directives=Yp});var Cv=W(Xp=>{"use strict";var Tj=lt(),i3=Gp();function n3(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 24
`)?wS(r,e):r.includes( `)? `+wS(r,e):(t.endsWith(" ")?"":" ")+r;Ov.indentComment=wS;Ov.lineComment=S3;Ov.stringifyComment=A3});var Uj=W(nf=>{"use strict";var R3="flow",yS="block",jv="quoted";function E3(t,e,r="flow",{indentAtStart:i,lineWid - Possible obfuscationline 54
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return Su(a,e)}return s?d:Rs.foldFlowLines(d,c,Rs.FOLD_FLOW,Dv(e,!1))}function I3(t,e,r,i){let{implici - Possible obfuscationline 61
`):N+= ${r.indent}`}else if(!f&&ko.isCollection(e)){let x=b[0],E=b.indexOf( `),C=E!==-1,A=r.inFlow??e.flow??e.items.length===0;if(C||!A){let B=!1;if(C&&(x==="&"||x==="!")){let V=b.indexOf(" ");x==="&"&&V!==-1&&V<E&&b[V+1]==="!"&&(V=b.indexO - Possible obfuscationline 65
`)&&(N="");return g+=N+b,r.inFlow?y&&i&&i():k&&!y?g+=cf.lineComment(g,r.indent,l(k)):m&&n&&n(),g}Kj.stringifyPair=B3});var SS=W(AS=>{"use strict";var Yj=cv("process");function L3(t,...e){t==="debug"&&console.log(...e)}function H3(t,e){(t=== - Possible obfuscationline 72
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function zv({indent:t,options:{commentString:e}},r,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Uv.indentComment(e(i),t);r.push(a.trimStart())}}o$.stringifyCollection=Q3});var Is=W(_S - Possible obfuscationline 75
${a.comment}`:i.comment}i=n}t.items[r]=tw.isPair(i)?i:new VS.Pair(i)}}else e("Expected a sequence for this tag");return t}function C$(t,e,r){let{replacer:i}=r,n=new DG.YAMLSeq(t);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 76
`)?(r.push("..."),r.push(gf.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&r[r.length-1]!==""&&r.push(""),r.push(gf.indentComment(a(c),"")))}return r.join( `)+ `} - Possible obfuscationline 78
`}tD.stringifyDocument=k6});var vf=W(iD=>{"use strict";var b6=ef(),Cu=Tv(),vn=lt(),N6=xs(),A6=As(),S6=oR(),R6=rD(),cR=Cv(),E6=pS(),x6=tf(),lR=dS(),uR=class t{constructor(e,r,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 83
`}};yf.YAMLError=wf;yf.YAMLParseError=dR;yf.YAMLWarning=pR;yf.prettifyError=C6});var bf=W(nD=>{"use strict";function I6(t,{flow:e,indicator:r,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 84
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 85
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||j6.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",pD);r.atKey=!0 - Possible obfuscationline 86
`+k.comment:w.comment=k.comment);let y=new lD.Pair(w);r.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}fD.resolveBlockMap=D6});var g - Possible obfuscationline 90
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}kD.resolveFlowCollection=Q6});var AD=W(ND=>{"use strict";var K6=lt(),G6=or(),Y6=Is(),X6=Ps(),Z6=hD(),e9=gD(),t9=bD();function wR(t,e,r,i,n,a - Possible obfuscationline 97
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 105
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function n9({offset:t,props:e},r,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 107
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let n=i[1],a=" ",o=e.lastIndex;for(r.lastIndex=o;i=r.exec(t);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 121
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function f9(t,e,r,i){let n=t.substr(e,r),o=n.length===r&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,r+2);r - Possible obfuscationline 127
${o}`:i}}if(r){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 128
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Nf.YAMLParseError(Af(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 136
`};delete t.items,Object.assign(t,{type:r,source:e,end:[n]});break}default:{let i="indent"in t?t.indent:-1,n="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 140
\r `),jR=t=>!t||X9.has(t),$R=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 145
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 146
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(r=n-(i[n-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 155
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&ww.has(n))break;r=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Sf.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 157
[Credential-related source omitted] - Possible obfuscationline 158
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 159
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let i="end"in r.value?r.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 160
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 161
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 162
`)){let s=S8(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of g1(s,e).split( `))r.push(`${c}${l}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 164
`)}function R8(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||Os.posix.isAbsolute(r)||Os.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 192
# 可选值:neutral | strict`}}});import{promises as ju}from"fs";import wn from"path";async function ri(t,e,r){let i=await re(t,e,{label:r.label,expected:"file"});if(!i.exists){let a=new Error(`${r.label} does not exist`);throw a.code="ENOENT",a} - Possible obfuscationline 193
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await il(ce.dirname(r))}function H1(t){return ce.join(t,".runtime-migration-repair-failure.json")}async function F1(t){let e=[];async function r(i,n){let a;try{a=await tt.readdir - Possible obfuscationline 195
`,"utf8")}catch{}}async function XR(t,e,r){let i=ja(r.projectRoot),n=ce.resolve(r.sourceRoot??r.projectRoot),a=r.sourceRoot?ZR(n):i.projectRoot;if(t=ce.resolve(t),Zi(n,t)&&(t=ce.join(a,ce.relative(n,t))),e=ce.resolve(e),t===a||!Zi(a,t)||!Zi - Possible obfuscationline 197
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await il(ce.dirname(t)),await r.testHooks?.afterFence?.();let p=await Xi(l.backup,!0);if($s(s)!==$s(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await nE(l.backup,l.stag - Possible obfuscationline 198
[Credential-related source omitted] - Possible obfuscationline 199
`:""},this._extScope=e,this._scope=new Xn.Scope({parent:e}),this._nodes=[new BE]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let i=this._extSco - Possible obfuscationline 202
[Credential-related source omitted] - Possible obfuscationline 205
[Credential-related source omitted] - Possible obfuscationline 206
`,{containedRoot:i,requireAtomicPublication:!0})}async function A(P){let U=(await b(P)).marker;if(!U||!["closing","reopening"].includes(U.state))return;let O=U.state==="closing",L=(await x(P,U)).record,F=await x(P,U),q=O?d(P):p(P),Q=O?p(P): - Possible obfuscationline 209
`)}}async function $(P,U=!0){let O=(await b(P)).marker;if(O?.writerProtocol&&O.writerProtocol!==t.writerProtocol)throw new R("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await A(P);let L=await b(P);if(L.marker?.schema===f)throw new R("STORE_RU - Possible obfuscationline 210
[Credential-related source omitted] - Possible obfuscationline 211
`),r=e.length-1;for(;r>=0&&Kr.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function oie(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let i=0;i<t.length;i++)if(t[i]==="\\")i++;else if(t[i]===e[0])r++;else if( - Possible obfuscationline 214
`)}function Rt(t,e){return Sl.parse(t,e)}function uie(...t){return Sl.use(...t),Rt.defaults=Sl.defaults,aM(Rt.defaults),Rt}var Rl,Al,hre,Kr,mre,gre,vre,Ch,wre,YC,oM,sM,yre,XC,kre,ZC,bre,Nre,Wy,eI,Are,cM,Sre,Rre,Ere,tI,XF,xre,Cre,Ire,Pre,lM, - Possible obfuscationline 215
]`).replace("lheading",sM).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ire=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Pre=/^(`+)([^`]|[ - Possible obfuscationline 226
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+r.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,r=h. - Possible obfuscationline 236
`,t=t.substring(b.length+1),d=N.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 241
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 242
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let i=this.inlineQueue[r];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 255
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 273
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${Ua(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 274
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+Ua(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Sl=new lie;Rt.options=Rt.setOptions=fun - Possible obfuscationline 274
Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error occurred:</p><pre>"+Ua(r.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(r);throw r}}},Sl=new lie;Rt.options=Rt.setOptions=fun - Possible obfuscationline 275
[Credential-related source omitted] - Possible obfuscationline 276
`,"utf8"),await r.sync(),i=EI(await r.stat({bigint:!0}))}finally{await r.close()}let n=await $n(t);if(!i||!n||n.owner.id!==e.id||!dk(n.identity,i))throw new Error(`Native lock changed after write: ${t}`);return n.identity}async function ine - Possible obfuscationline 278
[Credential-related source omitted] - Possible obfuscationline 280
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(r){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(_.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 281
`,++r,f===13&&e.charCodeAt(r)===10&&++r,++n,d=i=r):a.unterminated(o,s,c):++r}return{pos:r,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function rae(t,e,r,i){return t==="template"?e===96||e===36&&r.charCodeAt(i+1)===123 - Possible obfuscationline 282
[Credential-related source omitted] - Possible obfuscationline 283
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,ui(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let r=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 287
${a}`,r),this.line=i,this.column=n,this.codeblock=a}static x(e,r,i){throw new t(e,{toml:r.s,ptr:i??r.p})}}});function Rk(t){let e=t.p,r=t.s.charCodeAt(t.p++),i=r,n=r===39,a=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);a&&((r=t.s.charC - Possible obfuscationline 288
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":Te.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&Te.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!n&&r= - Possible obfuscationline 289
`)));else return null;return Ga(JSON.stringify(i))}catch{return null}}var HV,rm,FV,Hae,Ck,Fae,Mae,MV,Vae,nm=ee(()=>{"use strict";HV=Xt(CV(),1),rm=Xt(Ar(),1);DV();El();kP();FV=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]), - Possible obfuscationline 290
`)),i=[],n=[],a=null,o=0;for(let l of r){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 292
`,JV= ${Pn}: `});function Ad(t){let e=t.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 293
[Credential-related source omitted] - Possible obfuscationline 294
`,r)}var yt=ee(()=>{"use strict";Fc();za()});function hm(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var Rd,$k,fm,Bl=ee(()=>{"use strict";Rd= - Possible obfuscationline 295
`)+ `,timeout:jP,killSignal:"SIGKILL",maxBuffer:bm,windowsHide:!0,stdio:["pipe","pipe","pipe"]}));for(let s=0;s<i.length;s+=4096){let c=o(["--batch-check"],i.slice(s,s+4096)),l=new Map;for(let f of c.toString("ascii").trimEnd().split( `)){l - Possible obfuscationline 297
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 298
`, `).replaceAll("\r", `)}function uc(t){return Soe("sha256").update(Ml(t)).digest("hex")}function qP(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new at(`${e} must be an object`);return t}function Rq(t,e,r){let i=Object.keys(t).f - Possible obfuscationline 300
`)}function uc(t){return Soe("sha256").update(Ml(t)).digest("hex")}function qP(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new at(`${e} must be an object`);return t}function Rq(t,e,r){let i=Object.keys(t).filter(n=>!e.has(n));if( - Possible obfuscationline 301
`),i=Toe(r),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new at(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=r.length;for(let d=l.line+1;d<r.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=_ - Possible obfuscationline 321
`}${e}`}function zP(t,e){if(t.operation==="add"||t.operation==="modify"){let a=e.requirements.get(t.id);if(!a)return!1;let o=zk(t,t.operation==="modify"?a:void 0);return a.raw===Uk(o.level,o.id,o.title,o.body)}if(t.operation==="remove")retu - Possible obfuscationline 322
${l.body??""}`).join( `),c=n.filter(l=>Loe.test(l.raw)||[...i].some(u=>Nq(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&Nq(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new an([...i,...c.map(l=>l.id),...a,...o],"Native delta im - Possible obfuscationline 323
`),c=n.filter(l=>Loe.test(l.raw)||[...i].some(u=>Nq(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&Nq(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new an([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; dec - Possible obfuscationline 324
`)}else e=Ooe(e,s,Uk(c.level,c.id,c.title,c.body))}r.push(...Nm(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:Nm(a)})}let n=Ml(e);return{markdown:n,base_hash:t.delta.base_hash,result_hash:uc(n),rebased:t.rebased,chang - Possible obfuscationline 389
`});function gi(t){return t.replace(zoe,"$1 [REDACTED]").replace(Joe,"[REDACTED PRIVATE KEY]").replace(Qoe,"$1[REDACTED]@").replace(Koe,"[REDACTED TOKEN]").replace(Goe,'$1"[REDACTED]"').replace(Yoe,"$1$2$1$3$4[REDACTED]$4").replace(Xoe,"$1$ - Possible obfuscationline 406
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 412
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-cse).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(sse(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 416
[Credential-related source omitted] - Access to secretsline 416
[Credential-related source omitted] - Possible obfuscationline 421
`)),n.join( `)}).join( `)}function vi(t,e,r){return t==="zh-CN"?r:e}var rW,m_,iW,nW,aW,g_,oW,sW,Dd,pc=ee(()=>{"use strict";rW=["created","modified","deleted","notCreated"],m_={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",accepta - Possible obfuscationline 423
`)}function vi(t,e,r){return t==="zh-CN"?r:e}var rW,m_,iW,nW,aW,g_,oW,sW,Dd,pc=ee(()=>{"use strict";rW=["created","modified","deleted","notCreated"],m_={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 424
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=A_(l,e);else if(r)bW(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 425
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!r&&i===null,index:s},s+=1,e!==null)e=A_(l,e);else if(r)bW(l)&&(r=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=A_(l,null);if(d!==null)e - Possible obfuscationline 427
`)),a=n.flatMap((c,l)=>c.type==="heading"&&Om(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 428
[Credential-related source omitted] - Access to secretsline 428
[Credential-related source omitted] - Possible obfuscationline 429
`).trim();if(a.length===0)throw new Error("Native acceptance evidence block is empty");let o;try{o=JSON.parse(a)}catch(l){throw new Error(`Native acceptance evidence block is invalid JSON: ${l.message}`,{cause:l})}let s=RW(o),c=fce(s);if(a! - Possible obfuscationline 430
`)}}}var jt=ee(()=>{"use strict";xt();Il();Jl();Cb()});import{createHash as KW}from"crypto";import{createReadStream as Kce}from"fs";async function $_(t){let e=KW("sha256");for await(let r of Kce(t))e.update(r);return e.digest("hex")}functio - Possible obfuscationline 431
${JSON.stringify({initial:s.combined,final:c.combined})}`)})}function Ele(t){return t.isFile()?"file":t.isDirectory()?"directory":t.isSymbolicLink()?"symlink":"other"}async function XW(t){let e=He.resolve(t.paths.projectRoot),r=He.resolve(t - Possible obfuscationline 433
${JSON.stringify({visitedNodeCount:u,recordCount:d,encodedBytes:p,xor:c.toString("hex"),sum:l.toString(16).padStart(64,"0")})}`);return{records:o,omissions:s,evidence:{hash:k,visitedNodeCount:u,recordCount:d,storedRecordCount:o.length,encod - Possible obfuscationline 434
${JSON.stringify({include:t,exclude:e,hash:"sha256"})}`)}function L_(t,e,r){let i=new Set(e),n=[...e];for(;n.length>0;){if(r&&!r())return null;let a=n.pop(),o=t[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!i.has - Possible obfuscationline 436
${Buffer.byteLength(i)}:${i}`)}function g2(t){return t.reason==="git-enumeration-limit"||t.reason==="git-selection-changed"||t.reason==="physical-enumeration-limit"||t.reason==="physical-selection-changed"}function v2(t){for(let e=t.length- - Possible obfuscationline 439
`),t.omissionOverflow&&Rc(a,"existing-overflow",t.omissionOverflow);let o=(p,f)=>{f||(i+=1),n+=1,Rc(a,"omission",p)},s=p=>{i+=1,n+=1,Rc(a,"entry",p)},c=()=>{for(let p=r.length-1;p>=0;p-=1){let f=r[p];if(!(f.reason==="git-enumeration-limit"|
assets/skills/comet-native/scripts/comet-native-transfer.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var oV=Object.create;var xI=Object.defineProperty;var sV=Object.getOwnPropertyDescriptor;var cV=Object.getOwnPropertyNames;var lV=Object.getPrototypeOf,uV=Object.prototype.hasOwnProperty;var mh=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 9
`)),n.join( `)}).join( `)}function Mr(r,e,t){return r==="zh-CN"?t:e}var JI,zy,QI,KI,GI,UI,YI,XI,Qc,bo=Q(()=>{"use strict";JI=["created","modified","deleted","notCreated"],zy={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 11
[Credential-related source omitted] - Possible obfuscationline 12
`:""},this._extScope=e,this._scope=new ln.Scope({parent:e}),this._nodes=[new vk]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 15
[Credential-related source omitted] - Possible obfuscationline 18
[Credential-related source omitted] - Possible obfuscationline 31
}`,GJ=mN("sha256").update(x0).digest("hex"),YJ=1e4,gm=new Map});import{promises as ym}from"node:fs";function t4(r){let e=vN.get(r);if(e){if(Date.now()-e.at>e4){vN.delete(r);return}return e.value}}async function Ar(r){if(r===process.pid&&gN! - Possible obfuscationline 32
[Credential-related source omitted] - Possible obfuscationline 36
`)}}var n4,fn=Q(()=>{"use strict";uN();Aa();Ms();Ta();n4=16*1024});import{randomUUID as s4}from"crypto";import{constants as c4,promises as lr}from"fs";import Sr from"path";async function NN(r,e){try{return await Oo(r,e),{linked:!0}}catch(t) - Possible obfuscationline 37
`)}};Id.defaultYaml={explicit:!1,version:"1.2"};Id.defaultTags={"!!":"tag:yaml.org,2002:"};Q0.Directives=Id});var Pm=H(Pd=>{"use strict";var K0=it(),A4=Cd();function S4(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 38
`)?ON(t,e):t.includes( `)? `+ON(t,e):(r.endsWith(" ")?"":" ")+t;$m.indentComment=ON;$m.lineComment=q4;$m.stringifyComment=W4});var cO=H($d=>{"use strict";var U4="flow",jN="block",Dm="quoted";function z4(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 68
${c}`);if(o){let p=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:f,tags:h}=e.doc.schema;if(h.some(p)||f?.some(p))return kl(a,e)}return s?d:Bo.foldFlowLines(d,c,Bo.FOLD_FLOW,Lm(e,!1))}function K4(r,e,t,i){let{implici - Possible obfuscationline 75
`):S+= ${t.indent}`}else if(!f&&$a.isCollection(e)){let F=b[0],E=b.indexOf( `),T=E!==-1,O=t.inFlow??e.flow??e.items.length===0;if(T||!O){let U=!1;if(T&&(F==="&"||F==="!")){let X=b.indexOf(" ");F==="&"&&X!==-1&&X<E&&b[X+1]==="!"&&(X=b.indexO - Possible obfuscationline 79
`)&&(S="");return g+=S+b,t.inFlow?y&&i&&i():k&&!y?g+=Hd.lineComment(g,t.indent,l(k)):m&&n&&n(),g}pO.stringifyPair=iQ});var HN=H(LN=>{"use strict";var hO=mh("process");function nQ(r,...e){r==="debug"&&console.log(...e)}function aQ(r,e){(r=== - Possible obfuscationline 86
${n}${f}`}else return`${p}${o}${d.join(" ")}${o}${f}`}function Qm({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let a=Jm.indentComment(e(i),r);t.push(a.trimStart())}}AO.stringifyCollection=hQ});var Fo=H(zN - Possible obfuscationline 89
${a.comment}`:i.comment}i=n}r.items[t]=ig.isPair(i)?i:new iA.Pair(i)}}else e("Expected a sequence for this tag");return r}function UO(r,e,t){let{replacer:i}=t,n=new r6.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator - Possible obfuscationline 90
`)?(t.push("..."),t.push(Jd.indentComment(c,""))):t.push(`... ${c}`)}else t.push("...");else{let c=r.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&t[t.length-1]!==""&&t.push(""),t.push(Jd.indentComment(a(c),"")))}return t.join( `)+ `} - Possible obfuscationline 92
`}wj.stringifyDocument=M6});var Qd=H(kj=>{"use strict";var F6=Td(),Sl=jm(),zi=it(),V6=Ho(),W6=$o(),q6=bA(),U6=yj(),AA=Pm(),z6=xN(),J6=Od(),SA=RN(),EA=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 97
`}};Gd.YAMLError=Kd;Gd.YAMLParseError=RA;Gd.YAMLWarning=xA;Gd.prettifyError=Q6});var Xd=H(bj=>{"use strict";function K6(r,{flow:e,indicator:t,next:i,offset:n,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,u=s,d="",p="",f=!1,h=!1,m - Possible obfuscationline 98
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 99
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||e3.containsNewline(p))&&n(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(c,"BAD_INDENT",Ij);t.atKey=!0 - Possible obfuscationline 100
`+k.comment:w.comment=k.comment);let y=new Rj.Pair(w);t.options.keepSourceTokens&&(y.srcToken=u),s.items.push(y)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[i.offset,c,l??c],s}Pj.resolveBlockMap=r3});var O - Possible obfuscationline 104
`+g.comment:l.comment=g.comment),l.range=[i.offset,m,g.offset]}else l.range=[i.offset,m,m];return l}Bj.resolveFlowCollection=h3});var Mj=H(Hj=>{"use strict";var m3=it(),g3=tr(),v3=Fo(),w3=Vo(),y3=_j(),k3=Oj(),b3=Lj();function OA(r,e,t,i,n,a - Possible obfuscationline 111
`),d+=p+g.slice(c)+v,p= `,f=!0):v===""?p=== `?d+= `:p= `:(d+=p+v,p=" ",f=!1)}switch(n.chomp){case"-":break;case"+":for(let m=s;m<o.length;++m)d+= `+o[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 119
`}let h=i+n.length+e.source.length;return{value:d,type:a,comment:n.comment,range:[i,h,h]}}function S3({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 121
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],a=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?a=== `?n+=a:a= `:(n+=a+i[1],a=" "),o=t.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 135
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function O3(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let s=r.substr(e-2,t+2);r - Possible obfuscationline 141
${o}`:i}}if(t){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 142
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Zd.YAMLParseError(ep(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 150
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.ke - Possible obfuscationline 154
\r `),KA=r=>!r||wK.has(r),GA=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 159
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 160
`,this.pos);if(n!==-1){for(;n!==-1;){let a=this.continueScalar(n+1);if(a===-1)break;n=i.indexOf( `,a)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 169
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&kg.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield tp.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 171
[Credential-related source omitted] - Possible obfuscationline 172
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 173
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 174
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 175
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 176
`)){let s=qK(o,i,n,a);if(s){let c=o.match(/^\s*/u)?.[0]??"";for(let l of j$(s,e).split( `))t.push(`${c}${l}`)}t.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?i="native":o.startsWith("classic:")?i="classic":o.startsWith("hook:")?i="h - Possible obfuscationline 178
`)}function UK(r,e){if(typeof r!="string")throw new Error(`${e} must be a string`);let t=r.trim();if(t.length===0||Uo.posix.isAbsolute(t)||Uo.win32.isAbsolute(t)||/^(?:~|[\\/])/u.test(t))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 206
# 可选值:neutral | strict`}}});import{promises as Tl}from"fs";import Ji from"path";async function Rr(r,e,t){let i=await Y(r,e,{label:t.label,expected:"file"});if(!i.exists){let a=new Error(`${t.label} does not exist`);throw a.code="ENOENT",a}l - Possible obfuscationline 207
`,{containedRoot:i,requireAtomicPublication:!0})}async function O(R){let B=(await b(R)).marker;if(!B||!["closing","reopening"].includes(B.state))return;let _=B.state==="closing",L=(await F(R,B)).record,q=await F(R,B),G=_?d(R):p(R),ne=_?p(R) - Possible obfuscationline 210
`)}}async function C(R,B=!0){let _=(await b(R)).marker;if(_?.writerProtocol&&_.writerProtocol!==r.writerProtocol)throw new A("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await O(R);let L=await b(R);if(L.marker?.schema===f)throw new A("STORE_RU - Possible obfuscationline 211
[Credential-related source omitted] - Possible obfuscationline 212
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await ec(re.dirname(t))}function gD(r){return re.join(r,".runtime-migration-repair-failure.json")}async function vD(r){let e=[];async function t(i,n){let a;try{a=await Je.readdir - Possible obfuscationline 214
`,"utf8")}catch{}}async function vS(r,e,t){let i=ra(t.projectRoot),n=re.resolve(t.sourceRoot??t.projectRoot),a=t.sourceRoot?wS(n):i.projectRoot;if(r=re.resolve(r),Ii(n,r)&&(r=re.join(a,re.relative(n,r))),e=re.resolve(e),r===a||!Ii(a,r)||!Ii - Possible obfuscationline 216
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await ec(re.dirname(r)),await t.testHooks?.afterFence?.();let p=await Ci(l.backup,!0);if(Ko(s)!==Ko(p))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await NS(l.backup,l.stag - Possible obfuscationline 217
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await Pi(t)||(n&&await Je.rmdir(e.runtimeRoot),await pp(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 221
`)}function At(r,e){return ac.parse(r,e)}function t9(...r){return ac.use(...r),At.defaults=ac.defaults,QD(At.defaults),At}var oc,nc,a8,Lr,o8,s8,c8,kp,l8,zS,KD,GD,u8,JS,d8,QS,p8,f8,Jg,KS,h8,YD,m8,g8,v8,GS,FD,w8,y8,k8,b8,XD,N8,Ma,Vl,bp,A8,S8, - Possible obfuscationline 222
]`).replace("lheading",GD).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},k8=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,b8=/^(`+)([^`]|[^` - Possible obfuscationline 233
${h}`,n=n.substring(0,n.length-f.text.length)+g.text;break}else if(p?.type==="list"){let f=p,h=f.raw+ `+t.join( `),m=this.list(h);a[a.length-1]=m,i=i.substring(0,i.length-p.raw.length)+m.raw,n=n.substring(0,n.length-f.raw.length)+m.raw,t=h. - Possible obfuscationline 243
`,r=r.substring(b.length+1),d=S.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(l)&&(o=!0)),n.items.push({type:"list_item",raw:l,task:!!this.options.gfm&&this.rules.other.listIsTask.test(u),loose:!1,text:u,tokens:[]}) - Possible obfuscationline 248
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 249
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 262
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 280
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${na(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 281
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+na(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},ac=new e9;At.options=At.setOptions=func - Possible obfuscationline 281
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+na(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},ac=new e9;At.options=At.setOptions=func - Possible obfuscationline 282
[Credential-related source omitted] - Possible obfuscationline 283
`,"utf8"),await t.sync(),i=wE(await t.stat({bigint:!0}))}finally{await t.close()}let n=await en(r);if(!i||!n||n.owner.id!==e.id||!fv(n.identity,i))throw new Error(`Native lock changed after write: ${r}`);return n.identity}async function Q9( - Possible obfuscationline 285
[Credential-related source omitted] - Possible obfuscationline 287
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(x.UnterminatedString,this.state.startLoc);let a=this - Possible obfuscationline 288
`,++t,f===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):a.unterminated(o,s,c):++t}return{pos:t,str:l,firstInvalidLoc:u,lineStart:i,curLine:n,containsInvalid:!!u}}function J5(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 289
[Credential-related source omitted] - Possible obfuscationline 290
`),cooked:a===null?null:a.slice(1,l)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Yr(this.state.lastTokEndLoc,l)),d}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 294
${a}`,t),this.line=i,this.column=n,this.codeblock=a}static x(e,t,i){throw new r(e,{toml:t.s,ptr:i??t.p})}}});function xv(r){let e=r.p,t=r.s.charCodeAt(r.p++),i=t,n=t===39,a=t===r.s.charCodeAt(r.p)&&t===r.s.charCodeAt(r.p+1);a&&((t=r.s.charC - Possible obfuscationline 295
`:t===102?o+="\f":t===114?o+="\r":t===101?o+="\x1B":t===34?o+='"':t===92?o+="\\":Ce.x("unrecognised escape sequence",r),s=r.p+1,c=0);else t!==32&&t!==9&&(c===2&&Ce.x("invalid escape: only line-ending whitespace may be escaped",r,s),c=!n&&t= - Possible obfuscationline 296
`)));else return null;return Ua(JSON.stringify(i))}catch{return null}}var CB,zp,IB,PY,Pv,_Y,TY,PB,OY,Qp=Q(()=>{"use strict";CB=zt(vB(),1),zp=zt(gr(),1);EB();sc();pR();IB=new Set([".js",".mjs",".cjs",".jsx",".ts",".mts",".cts",".tsx"]),PY=ne - Possible obfuscationline 297
`)),i=[],n=[],a=null,o=0;for(let l of t){if(l.type==="heading"&&(a!==null&&l.depth<=a&&(a=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(l.text.trim())&&(a=l.depth)),l.type!=="table"||a===null)continue;let u=l,d=u.header.flatMa - Possible obfuscationline 299
`,LB= ${Jr}: `});function vR(r){let e=r.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 300
[Credential-related source omitted] - Possible obfuscationline 301
`,t)}var wt=Q(()=>{"use strict";Ms();aa()});function tf(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var nu,rf=Q(()=>{"use strict";nu="comet.n - Possible obfuscationline 302
`, `).replaceAll("\r", `)}function as(r){return b7("sha256").update(yc(r)).digest("hex")}function TR(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Xe(`${e} must be an object`);return r}function hL(r,e,t){let i=Object.keys(r).fi - Possible obfuscationline 304
`)}function as(r){return b7("sha256").update(yc(r)).digest("hex")}function TR(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Xe(`${e} must be an object`);return r}function hL(r,e,t){let i=Object.keys(r).filter(n=>!e.has(n));if(i - Possible obfuscationline 305
`),i=I7(t),n=[],a=new Set;for(let l of i){if(a.has(l.id))throw new Xe(`Native total Spec contains duplicate requirement ID ${l.id}`);a.add(l.id);let u=t.length;for(let d=l.line+1;d<t.length;d+=1){if(i.some(f=>f.line===d)){u=d;break}let p=C7 - Possible obfuscationline 325
`}${e}`}function $R(r,e){if(r.operation==="add"||r.operation==="modify"){let a=e.requirements.get(r.id);if(!a)return!1;let o=Qv(r,r.operation==="modify"?a:void 0);return a.raw===Jv(o.level,o.id,o.title,o.body)}if(r.operation==="remove")retu - Possible obfuscationline 326
${l.body??""}`).join( `),c=n.filter(l=>$7.test(l.raw)||[...i].some(u=>dL(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&dL(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Oi([...i,...c.map(l=>l.id),...a,...o],"Native delta imp - Possible obfuscationline 327
`),c=n.filter(l=>$7.test(l.raw)||[...i].some(u=>dL(l.raw,u))||Object.keys(e).some(u=>!i.has(u)&&dL(s,u)));if(!(c.length===0&&a.length===0&&o.length===0))throw new Oi([...i,...c.map(l=>l.id),...a,...o],"Native delta impact is uncertain; decl - Possible obfuscationline 328
`)}else e=P7(e,s,Jv(c.level,c.id,c.title,c.body))}t.push(...ff(a)),i.push({id:a.id,operation:a.operation,status:"changed",targetIds:ff(a)})}let n=yc(e);return{markdown:n,base_hash:r.delta.base_hash,result_hash:as(n),rebased:r.rebased,change - Possible obfuscationline 329
`),o=0,s=0;for(;o<=a.length;){let c=a.indexOf( `,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!t&&i===null,index:s},s+=1,e!==null)e=NL(l,e);else if(t)AL(l)&&(t=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l - Possible obfuscationline 330
`,o),l=c===-1?a.slice(o):a.slice(o,c);if(yield{line:l,body:e===null&&!t&&i===null,index:s},s+=1,e!==null)e=NL(l,e);else if(t)AL(l)&&(t=!1);else if(i!==null)new RegExp(`</${i}\\s*>`,"iu").test(l)&&(i=null);else{let d=NL(l,null);if(d!==null)e - Possible obfuscationline 332
`)),a=n.flatMap((c,l)=>c.type==="heading"&&Fu(c.text)==="acceptanceExamples"?[{index:l,depth:c.depth}]:[]);if(a.length===0)return[];if(a.length!==1)throw new Error("Brief must contain exactly one Acceptance examples section");let o=a[0],s=[ - Possible obfuscationline 333
`),s.context,i),...l[0]===void 0?{}:{briefAcceptanceRef:l[0]}}),s=null};for(let{line:l,body:u}of Yv(r)){let d=u?SL(l):null,p=d?/^Scenario\s*:\s*(.*)$/iu.exec(d.text):null;if(p){for(c();o.at(-1)&&o.at(-1).level>=d.level;)o.pop();let f=Sf(p[1 - Possible obfuscationline 334
`)}}}var It=Q(()=>{"use strict";St();uc();kc();cw()});import{createHash as BX}from"crypto";function nn(r){return BX("sha256").update(r).digest("hex")}var ma=Q(()=>{"use strict"});var Kwe,Gwe,Ywe,Xwe,Zwe,eye,xf=Q(()=>{"use strict";yo();wt(); - Possible obfuscationline 337
`)){let h=f.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=t){if(a+=m,a>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");l.set(h[1],m)}}let - Possible obfuscationline 402
`});import{createRequire as Aee}from"node:module";function Cw(r,e){if(!xw){let t=process.emitWarning;process.emitWarning=((i,...n)=>{String(i instanceof Error?i.message:i).startsWith("SQLite is an experimental feature and might change at an - Possible obfuscationline 419
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),n=e.length>1e3?[...e.filter(a=>a.parentSpanId===null),...e.filter(a=>a.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 425
BEGIN IMMEDIATE;`),t.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-Tee).toISOString()),t.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(_ee(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 429
`;o.write(j),c.update(j)});let de=async()=>{let ae=k?await k:!1;if(!d.pid)return!0;if(process.platform==="win32")return ae;let j=Date.now()+1e3;for(;;){if(await km(d.pid,v)==="dead")return!0;if(Date.now()>=j)return!1;await new Promise(z=>se - Possible obfuscationline 431
`}function qI(r,e,t){let i=[r.summary],n=VI(r.next);return n&&i.push(n),r.user_message&&i.push("",qn.relay,r.user_message),i.push("",`${qn.detail} ${e}`),t!==void 0&&i.push("",qn.details,JSON.stringify(t,null,2)),i.join( `)}bo();Un();De();U - Possible obfuscationline 432
[Credential-related source omitted] - Possible obfuscationline 434
`,{containedRoot:r,exclusive:!0,requireAtomicPublication:!0})),await qG(r,o),s&&await qs(Kr.join(r,a),{containedRoot:r,beforeRemove:async()=>{let l=await ia(r,a,e.workflow,e.change),u=await ia(r,o,e.workflow,e.change);if(!l||!u||!mp(l,i)||! - Possible obfuscationline 435
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let s=await ia(n,t,e.workflow,e.change);if(JSON.stringify(s)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 436
`,{containedRoot:r,requireAtomicPublication:!0})}async function jD(r,e,t){let i=await nt(r,"application-scope-locks",{label:"工作区应用写入范围锁"});return zr(PS.join(i,"_workspace.lock"),()=>zr(PS.join(i,`${e}.lock`),t))}async function $D(r,e,t,i=!1 - Possible obfuscationline 438
`,Qe.e()-1)}`),{idx:Qe.e()});let a=[],o=[];for(;Qe.ri();){let l=Qe.is(),u=Qe.ie(),d=Qe.it(),p=Qe.ai(),f=Qe.id(),h=Qe.ss(),m=Qe.se(),g;Qe.ip()&&(g=s(r.slice(f===-1?l-1:l,f===-1?u+1:u)));let v=null;for(v=[],Qe.rsa();Qe.ra();){let w=Qe.aks(),k - Possible obfuscationline 439
`,{containedRoot:e,requireAtomicPublication:!0})},a=async()=>JSON.stringify(await Promise.all(["",".runtime-store-v2",".runtime-store-history"].map(async f=>{let h=await Y(f?e:cc.dirname(e),f||cc.basename(e),{label:"应用存储分区",expected:"direct
assets/skills/comet/rules/comet-phase-guard.en.md
- Instruction override signalline 26
| `open` | Create proposal/design/tasks, run guard | Write source code | | `design` | brainstorming, create Design Doc, run guard | W - Instruction override signalline 27
| `design` | brainstorming, create Design Doc, run guard | Write source code | | `build` | Write source code, tests, execute plans | S - Instruction override signalline 28
| `build` | Write source code, tests, execute plans | Skip user confirmation points |
assets/skills/comet/scripts/comet-archive.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var Q$=Object.create;var xg=Object.defineProperty;var Z$=Object.getOwnPropertyDescriptor;var eD=Object.getOwnPropertyNames;var tD=Object.getPrototypeOf,rD=Object.prototype.hasOwnProperty;var yp=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}){if($g.getStore())return r();let t={label:"执行工作流命令"},i=Date.now(),n=setInterval(()=>{try{e({...t,elapsedMs:Date.now()-i})}catch{}},5e3);n.unref?.();try{return await $g.run(t,r)}finally{clearInterval(n)}}function ix(r=0){fD+=1,hD+=r;for( - Possible obfuscationline 18
}`,PD=Mg("sha256").update(dx).digest("hex"),ID=1e4,Ap=new Map});import{promises as Tp}from"node:fs";function _D(r){let e=Fg.get(r);if(e){if(Date.now()-e.at>ND){Fg.delete(r);return}return e.value}}async function Wn(r){if(r===process.pid&&qg! - Possible obfuscationline 19
[Credential-related source omitted] - Possible obfuscationline 23
`)}}var jD,Os=De(()=>{"use strict";Eg();_o();wl();bl();jD=16*1024});var kx=De(()=>{"use strict"});var bx=De(()=>{"use strict"});var Vg=De(()=>{"use strict";kx();bx()});import{randomUUID as FD}from"crypto";import{constants as WD,promises as - Possible obfuscationline 24
`)}};xl.defaultYaml={explicit:!1,version:"1.2"};xl.defaultTags={"!!":"tag:yaml.org,2002:"};_x.Directives=xl});var Fp=M(Rl=>{"use strict";var $x=We(),ij=Sl();function nj(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 25
`)?rw(t,e):t.includes( `)? `+rw(t,e):(r.endsWith(" ")?"":" ")+t;Up.indentComment=rw;Up.lineComment=xj;Up.stringifyComment=Sj});var Kx=M(Tl=>{"use strict";var Rj="flow",iw="block",zp="quoted";function Ej(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 55
${l}`);if(o){let f=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:p,tags:h}=e.doc.schema;if(h.some(f)||p?.some(f))return Ja(s,e)}return a?d:$s.foldFlowLines(d,l,$s.FOLD_FLOW,Jp(e,!1))}function Ij(r,e,t,i){let{implici - Possible obfuscationline 62
`):P+= ${t.indent}`}else if(!p&&Un.isCollection(e)){let W=C[0],O=C.indexOf( `),B=O!==-1,N=t.inFlow??e.flow??e.items.length===0;if(B||!N){let U=!1;if(B&&(W==="&"||W==="!")){let E=C.indexOf(" ");W==="&"&&E!==-1&&E<O&&C[E+1]==="!"&&(E=C.indexO - Possible obfuscationline 66
`)&&(P="");return g+=P+C,t.inFlow?b&&i&&i():y&&!b?g+=$l.lineComment(g,t.indent,u(y)):m&&n&&n(),g}Xx.stringifyPair=Lj});var cw=M(aw=>{"use strict";var Zx=yp("process");function Mj(r,...e){r==="debug"&&console.log(...e)}function qj(r,e){(r=== - Possible obfuscationline 73
${n}${p}`}else return`${f}${o}${d.join(" ")}${o}${p}`}function sf({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let s=nf.indentComment(e(i),r);t.push(s.trimStart())}}cR.stringifyCollection=Jj});var Ms=M(mw - Possible obfuscationline 76
${s.comment}`:i.comment}i=n}r.items[t]=hf.isPair(i)?i:new Ew.Pair(i)}}else e("Expected a sequence for this tag");return r}function TR(r,e,t){let{replacer:i}=t,n=new jL.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator - Possible obfuscationline 77
`)?(t.push("..."),t.push(Hl.indentComment(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=r.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(Hl.indentComment(s(l),"")))}return t.join( `)+ `} - Possible obfuscationline 79
`}iE.stringifyDocument=kM});var Bl=M(sE=>{"use strict";var bM=Al(),Qa=Vp(),li=We(),CM=js(),SM=Ns(),xM=Vw(),RM=nE(),zw=Fp(),EM=Yg(),AM=Pl(),Kw=Gg(),Jw=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 84
`}};Ul.YAMLError=Vl;Ul.YAMLParseError=Gw;Ul.YAMLWarning=Yw;Ul.prettifyError=PM});var Kl=M(oE=>{"use strict";function IM(r,{flow:e,indicator:t,next:i,offset:n,onError:s,parentIndent:o,startOnNewline:a}){let l=!1,u=a,c=a,d="",f="",p=!1,h=!1,m - Possible obfuscationline 85
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 86
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||$M.containsNewline(f))&&n(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(l,"BAD_INDENT",hE);t.atKey=!0 - Possible obfuscationline 87
`+y.comment:v.comment=y.comment);let b=new dE.Pair(v);t.options.keepSourceTokens&&(b.srcToken=c),a.items.push(b)}}return u&&u<l&&n(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[i.offset,l,u??l],a}mE.resolveBlockMap=jM});var y - Possible obfuscationline 91
`+g.comment:u.comment=g.comment),u.range=[i.offset,m,g.offset]}else u.range=[i.offset,m,m];return u}CE.resolveFlowCollection=JM});var RE=M(xE=>{"use strict";var GM=We(),YM=Tt(),XM=Ms(),QM=qs(),ZM=gE(),e2=yE(),t2=SE();function ry(r,e,t,i,n,s - Possible obfuscationline 98
`),d+=f+g.slice(l)+w,f= `,p=!0):w===""?f=== `?d+= `:f= `:(d+=f+w,f=" ",p=!1)}switch(n.chomp){case"-":break;case"+":for(let m=a;m<o.length;++m)d+= `+o[m][0].slice(l);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 106
`}let h=i+n.length+e.source.length;return{value:d,type:s,comment:n.comment,range:[i,h,h]}}function n2({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 108
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],s=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?s=== `?n+=s:s= `:(n+=s+i[1],s=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 122
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function f2(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let a=r.substr(e-2,t+2);r - Possible obfuscationline 128
${o}`:i}}if(t){for(let s=0;s<this.errors.length;++s)e.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)e.warnings.push(this.warnings[s])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 129
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Jl.YAMLParseError(Gl(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 137
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.ke - Possible obfuscationline 141
\r `),yy=r=>!r||Q2.has(r),vy=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 146
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 147
`,this.pos);if(n!==-1){for(;n!==-1;){let s=this.continueScalar(n+1);if(s===-1)break;n=i.indexOf( `,s)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 156
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&Of.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Yl.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 158
[Credential-related source omitted] - Possible obfuscationline 159
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 160
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 161
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 162
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 164
[Credential-related source omitted] - Possible obfuscationline 166
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(x.UnterminatedString,this.state.startLoc);let s=this - Possible obfuscationline 167
`,++t,p===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):s.unterminated(o,a,l):++t}return{pos:t,str:u,firstInvalidLoc:c,lineStart:i,curLine:n,containsInvalid:!!c}}function LF(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 168
[Credential-related source omitted] - Possible obfuscationline 169
`),cooked:s===null?null:s.slice(1,u)},a.tail=l,this.next();let d=this.finishNode(a,"TemplateElement");return this.resetEndLocation(d,yr(this.state.lastTokEndLoc,u)),d}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 170
`:""},this._extScope=e,this._scope=new Ui.Scope({parent:e}),this._nodes=[new wk]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 173
[Credential-related source omitted] - Possible obfuscationline 176
deps: ${t}}`};var n6={keyword:"dependencies",type:"object",schemaType:"object",error:Cn.error,code(r){let[e,t]=s6(r);qT(r,e),FT(r,t)}};function s6({schema:r}){let e={},t={};for(let i in r){if(i==="__proto__")continue;let n=Array.isArray(r[i - Possible obfuscationline 177
`)}}function oN(r){try{let e=JSON.parse(r);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 178
]`).replace("lheading",yP).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},PW=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,IW=/^(`+)([^`]|[^` - Possible obfuscationline 179
`),t=e.length-1;for(;t>=0&&cr.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join( `)}function sH(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])t++;else if(r - Possible obfuscationline 193
${h}`,n=n.substring(0,n.length-p.text.length)+g.text;break}else if(f?.type==="list"){let p=f,h=p.raw+ `+t.join( `),m=this.list(h);s[s.length-1]=m,i=i.substring(0,i.length-f.raw.length)+m.raw,n=n.substring(0,n.length-p.raw.length)+m.raw,t=h. - Possible obfuscationline 203
`,r=r.substring(C.length+1),d=P.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(o=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}) - Possible obfuscationline 208
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 209
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 222
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 240
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${mn(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 241
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+mn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Jo=new cH;function st(r,e){return Jo.pa - Possible obfuscationline 241
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+mn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Jo=new cH;function st(r,e){return Jo.pa - Possible obfuscationline 242
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await Qn(Y.dirname(t))}function YP(r){return Y.join(r,".runtime-migration-repair-failure.json")}async function XP(r){let e=[];async function t(i,n){let s;try{s=await Se.readdir(i - Possible obfuscationline 244
`,"utf8")}catch{}}async function Dv(r,e,t){let i=hi(t.projectRoot),n=Y.resolve(t.sourceRoot??t.projectRoot),s=t.sourceRoot?Ru(n):i.projectRoot;if(r=Y.resolve(r),Ot(n,r)&&(r=Y.join(s,Y.relative(n,r))),e=Y.resolve(e),r===s||!Ot(s,r)||!Ot(i.ru - Possible obfuscationline 246
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Qn(Y.dirname(r)),await t.testHooks?.afterFence?.();let f=await $r(u.backup,!0);if(Ks(a)!==Ks(f))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await qv(u.backup,u.stage - Possible obfuscationline 247
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await Qn(f),await t.testHooks?.beforePublish?.(),await vt(s,c,"directory"),Js(await Se.lstat(c,{bigint:!0}))!==d)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await u())return;tr - Possible obfuscationline 248
[Credential-related source omitted] - Possible obfuscationline 249
`,{containedRoot:i,requireAtomicPublication:!0})}async function N(R){let $=(await C(R)).marker;if(!$||!["closing","reopening"].includes($.state))return;let j=$.state==="closing",J=(await W(R,$)).record,K=await W(R,$),ue=j?d(R):f(R),ee=j?f(R - Possible obfuscationline 252
`)}}async function re(R,$=!0){let j=(await C(R)).marker;if(j?.writerProtocol&&j.writerProtocol!==r.writerProtocol)throw new S("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await N(R);let J=await C(R);if(J.marker?.schema===p)throw new S("STORE_R - Possible obfuscationline 253
[Credential-related source omitted] - Network accessline 254
`,{containedRoot:i});await s();try{return await t(i)}finally{n.state="stable",await s()}})}))}async function JO(r,e){let t=co(e.workflow,e.change),i=WO(e,e.workflow,e.change);return t5(r,i,async n=>{if(await mm(n,co(e.workflow,e.change,"his - Network accessline 255
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let a=await mm(n,t,e.workflow,e.change);if(JSON.stringify(a)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 255
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let a=await mm(n,t,e.workflow,e.change);if(JSON.stringify(a)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 256
`;function Pt(r){return/^# comet-execution: managed-run\r?\n/u.test(r)}var n8=["open","design","build","verify","archive"],s8=["en","zh-CN"],o8=["off","beta"],a8=["subagent-driven-development","executing-plans","direct","autonomous"],c8=["p - Possible obfuscationline 257
`,{containedRoot:t})};n.readOnly?await c():await Pn(le.join(t,s,`${i}.lock`),c)}async function bC(r,e,t={}){let i=e??await Nt(r),n;try{n=await SN(i,r)}catch(h){if(h.code==="ENOENT")return null;throw h}let{document:s,id:o}=n,a=le.relative(i, - Possible obfuscationline 258
`,{label:"Classic main spec snapshot",exclusive:!0})}async function BN(r,e){let i=(await ho(r,e)).delivery;if(i?.action!=="archive-only")return;if((await FN(r,e)).archived!==!0)throw new Error("Classic document archive must be completed fir - Network accessline 259
`,{label:"Classic delivery receipt"})}function _N(r,e,t){return e===t||Id(r,["merge-base","--is-ancestor",e,t])!==null}function W8(r){let e=/^git@([^:/]+):([^/]+\/[^/]+)$/u.exec(r);try{let t=new URL(e?`ssh://git@${e[1]}/${e[2]}`:r);if(!["ht - Possible obfuscationline 259
`,{label:"Classic delivery receipt"})}function _N(r,e,t){return e===t||Id(r,["merge-base","--is-ancestor",e,t])!==null}function W8(r){let e=/^git@([^:/]+):([^/]+\/[^/]+)$/u.exec(r);try{let t=new URL(e?`ssh://git@${e[1]}/${e[2]}`:r);if(!["ht - Possible obfuscationline 260
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function us(r){let e=Dd(r);if(e)throw new Error(e)}async function Qi(r,e){us(e);let t=[],i=async n=>(await H(r,Xi.relative(r,n),{label:"Classic cha - Possible obfuscationline 261
`, `).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\. - Possible obfuscationline 262
`).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\.JS; - Possible obfuscationline 264
`,{label:"Classic archive requirements"})}async function Oa(r,e){let t=Rr.join(e,i_),i=["proposal.md","design.md","tasks.md"];if(await Ue(r,t,{label:"Classic archive requirements",expected:"file"})){let s=JSON.parse(await ne(r,t,{label:"Cla - Possible obfuscationline 265
`,On.trajectory,"Run trajectory",i)}async function f_(r,e,t={}){en(r,e);let i=await cs(r,e,On.trajectory,"Run trajectory",t);return i===null?[]:i.split(/\r?\n/).map((n,s)=>({line:n,number:s+1})).filter(({line:n})=>n.length>0).map(({line:n,n - Possible obfuscationline 268
`,On.checkpoint,"Run checkpoint",i)}async function C_(r,e,t={}){en(r,e);let i=await cs(r,e,On.checkpoint,"Run checkpoint",t);return i===null?null:JSON.parse(i)}import ko from"node:path";async function Na(r,e){let t=ko.resolve(r,e),i=ko.rela - Possible obfuscationline 269
`}async function H_(r){let e=Hz(r),t=await Vz(r);return{document:e,files:t,hash:Uz(e,t)}}async function Vm(r){return(await H_(r)).hash}async function q_(r){try{return await Vt.access(r),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}asy - Possible obfuscationline 271
`));let u=await Vm(a);if(u!==e)throw new Error(`calculated hash is ${u}`);return a}catch(n){throw new Error(`Skill snapshot is invalid or missing: ${e}`,{cause:n})}}async function B_(r){try{return await MC.access(r),!0}catch(e){if(e.code=== - Possible obfuscationline 272
`)+ `}:{},...this.stderr.length>0?{stderr:this.stderr.join( `)+ `}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function xo(r,e,t){return await Ue(r,e,{label:t,expected:"file"})?ne(r,e,{label:t}):null}async function Gm( - Possible obfuscationline 275
`}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function xo(r,e,t){return await Ue(r,e,{label:t,expected:"file"})?ne(r,e,{label:t}):null}async function Gm(r,e,t,i){await Ye(r,e,t,{label:i})}function lK(r){let e=Dd(r);if - Possible obfuscationline 279
`),d=["{",` "change": "${X_(i)}",`,' "phase": "design",',` "mode": "${n}",`,' "canonical_spec": "openspec",',' "task_hash_policy": "task-content-v1",',' "generated_by": "comet-handoff.sh",',` "context_hash": "${s}",`,' "files": [',c - Possible obfuscationline 282
`,"Classic handoff spec JSON output")}async function Vd(r){let{projectRoot:e,changeDir:t,change:i,handoffContext:n,handoffHash:s}=r,o=Ke(e,t),a=await Ro(e,t,o),l=r.contextCompression==="beta"?"spec-context":"design-context";if(n!==`${o}/.co - Possible obfuscationline 283
`)));let p=await Ro(l.projectRoot,c,d),h=new Map(p.map(K=>[Jm.resolve(K.file),K])),m=f.files.map(K=>Jm.relative(c,K).replaceAll("\\","/"));if(i==="--hash-only"){if(!u.exists)throw new nr(Vr(`ERROR: change directory not found: ${d}`));for(le - Possible obfuscationline 284
`));let P=Ke(l.projectRoot,b),W=Ke(l.projectRoot,C),O=Bd(p),B=`classic-handoff:${O}`,N=await wt(c);if(!N.classic)throw new nr(Vr("ERROR: design handoff requires Classic state"));let U=N.run?await tl(c,N.run.pendingRef):null,E=U?.id===B&&U.t - Possible obfuscationline 285
`))e.stderr.push(u);return e.toResult(l.exitCode)}throw l}});async function Ud(r,e,t){let i=[],n=kK.basename(e);if(t.designDoc)try{let o=await ne(r,t.designDoc,{label:"Classic Design Doc"}),a=/^---\s*\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/u.exe - Possible obfuscationline 286
`}function ii(r,e,t){let i=r.replace(/\r\n/gu, `),n=i.split( `),s=n[0]==="---"?n.indexOf("---",1):-1,o=t.match(/^([^:\n]+):/u)?.[1]?.trim();if(s!==-1){let l=n.slice(1,s);if(l.filter(c=>/^archived-with:/u.test(c)).length===1&&l.includes(`arc - Possible obfuscationline 292
`)){if(!t)continue;let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid check manifest entry");let{p:n,h:s,s:o,m:a}=i;if(typeof n!="string"||!n||typeof s!="string"||!s)throw new Error("Invalid check manif
assets/skills/comet/scripts/comet-check.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var G1=Object.create;var Tm=Object.defineProperty;var Y1=Object.getOwnPropertyDescriptor;var X1=Object.getOwnPropertyNames;var Q1=Object.getPrototypeOf,Z1=Object.prototype.hasOwnProperty;var bd=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};Dc.defaultYaml={explicit:!1,version:"1.2"};Dc.defaultTags={"!!":"tag:yaml.org,2002:"};ux.Directives=Dc});var Ed=L(Lc=>{"use strict";var dx=We(),p$=jc();function f$(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 6
`)?Wm(t,e):t.includes( `)? `+Wm(t,e):(r.endsWith(" ")?"":" ")+t;Od.indentComment=Wm;Od.lineComment=_$;Od.stringifyComment=N$});var Cx=L(Hc=>{"use strict";var $$="flow",Hm="block",Nd="quoted";function j$(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 36
${l}`);if(o){let f=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:p,tags:h}=e.doc.schema;if(h.some(f)||p?.some(f))return xa(s,e)}return a?d:ss.foldFlowLines(d,l,ss.FOLD_FLOW,$d(e,!1))}function M$(r,e,t,i){let{implici - Possible obfuscationline 43
`):T+= ${t.indent}`}else if(!p&&vn.isCollection(e)){let z=S[0],O=S.indexOf( `),J=O!==-1,q=t.inFlow??e.flow??e.items.length===0;if(J||!q){let U=!1;if(J&&(z==="&"||z==="!")){let E=S.indexOf(" ");z==="&"&&E!==-1&&E<O&&S[E+1]==="!"&&(E=S.indexO - Possible obfuscationline 47
`)&&(T="");return g+=T+S,t.inFlow?b&&i&&i():v&&!b?g+=zc.lineComment(g,t.indent,u(v)):m&&n&&n(),g}Px.stringifyPair=z$});var Jm=L(zm=>{"use strict";var Tx=bd("process");function J$(r,...e){r==="debug"&&console.log(...e)}function K$(r,e){(r=== - Possible obfuscationline 54
${n}${p}`}else return`${f}${o}${d.join(" ")}${o}${p}`}function Vd({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let s=Bd.indentComment(e(i),r);t.push(s.trimStart())}}qx.stringifyCollection=ij});var ls=L(eg - Possible obfuscationline 57
${s.comment}`:i.comment}i=n}r.items[t]=Zd.isPair(i)?i:new dg.Pair(i)}}else e("Expected a sequence for this tag");return r}function aC(r,e,t){let{replacer:i}=t,n=new Uj.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(t.push("..."),t.push(el.indentComment(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=r.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(el.indentComment(s(l),"")))}return t.join( `)+ `} - Possible obfuscationline 60
`}$C.stringifyDocument=ID});var tl=L(DC=>{"use strict";var TD=qc(),Aa=Td(),Zr=We(),OD=as(),ND=is(),_D=Ig(),$D=jC(),Og=Ed(),jD=jm(),DD=Fc(),Ng=$m(),_g=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 65
`}};il.YAMLError=rl;il.YAMLParseError=$g;il.YAMLWarning=jg;il.prettifyError=LD});var sl=L(LC=>{"use strict";function MD(r,{flow:e,indicator:t,next:i,offset:n,onError:s,parentIndent:o,startOnNewline:a}){let l=!1,u=a,c=a,d="",f="",p=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||BD.containsNewline(f))&&n(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(l,"BAD_INDENT",UC);t.atKey=!0 - Possible obfuscationline 68
`+v.comment:y.comment=v.comment);let b=new HC.Pair(y);t.options.keepSourceTokens&&(b.srcToken=c),a.items.push(b)}}return u&&u<l&&n(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[i.offset,l,u??l],a}zC.resolveBlockMap=UD});var G - Possible obfuscationline 72
`+g.comment:u.comment=g.comment),u.range=[i.offset,m,g.offset]}else u.range=[i.offset,m,m];return u}ZC.resolveFlowCollection=iL});var rR=L(tR=>{"use strict";var nL=We(),sL=bt(),oL=ls(),aL=us(),cL=JC(),lL=GC(),uL=eR();function Wg(r,e,t,i,n,s - Possible obfuscationline 79
`),d+=f+g.slice(l)+w,f= `,p=!0):w===""?f=== `?d+= `:f= `:(d+=f+w,f=" ",p=!1)}switch(n.chomp){case"-":break;case"+":for(let m=a;m<o.length;++m)d+= `+o[m][0].slice(l);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 87
`}let h=i+n.length+e.source.length;return{value:d,type:s,comment:n.comment,range:[i,h,h]}}function fL({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],s=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?s=== `?n+=s:s= `:(n+=s+i[1],s=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function SL(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let a=r.substr(e-2,t+2);r - Possible obfuscationline 109
${o}`:i}}if(t){for(let s=0;s<this.errors.length;++s)e.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)e.warnings.push(this.warnings[s])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new ol.YAMLParseError(al(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.ke - Possible obfuscationline 122
\r `),iw=r=>!r||aM.has(r),nw=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(n!==-1){for(;n!==-1;){let s=this.continueScalar(n+1);if(s===-1)break;n=i.indexOf( `,s)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&gp.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield cl.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 142
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`:""},this._extScope=e,this._scope=new Ci.Scope({parent:e}),this._nodes=[new Yw]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 147
[Credential-related source omitted] - Possible obfuscationline 150
deps: ${t}}`};var mB={keyword:"dependencies",type:"object",schemaType:"object",error:Qi.error,code(r){let[e,t]=gB(r);GP(r,e),YP(r,t)}};function gB({schema:r}){let e={},t={};for(let i in r){if(i==="__proto__")continue;let n=Array.isArray(r[i - Possible obfuscationline 151
`)}){if(Bv.getStore())return r();let t={label:"执行工作流命令"},i=Date.now(),n=setInterval(()=>{try{e({...t,elapsedMs:Date.now()-i})}catch{}},5e3);n.unref?.();try{return await Bv.run(t,r)}finally{clearInterval(n)}}function qI(r=0){YV+=1,XV+=r;for( - Possible obfuscationline 164
}`,d4=Jv("sha256").update(JI).digest("hex"),p4=1e4,Nf=new Map});import{promises as jf}from"node:fs";function g4(r){let e=Gv.get(r);if(e){if(Date.now()-e.at>m4){Gv.delete(r);return}return e.value}}async function Dn(r){if(r===process.pid&&Kv! - Possible obfuscationline 165
[Credential-related source omitted] - Possible obfuscationline 169
`)}}var v4,Ns=Me(()=>{"use strict";Fv();vo();hl();ou();v4=16*1024});var GQ,ek=Me(()=>{"use strict";St();ys();ye();GQ=16*1024});var tk=Me(()=>{"use strict";St();er();ys();ye();ek()});import{promises as rU}from"node:fs";import ik from"node:pa - Possible obfuscationline 170
`)}}function q0(r){try{let e=JSON.parse(r);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 172
[Credential-related source omitted] - Possible obfuscationline 174
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(C.UnterminatedString,this.state.startLoc);let s=this - Possible obfuscationline 175
`,++t,p===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):s.unterminated(o,a,l):++t}return{pos:t,str:u,firstInvalidLoc:c,lineStart:i,curLine:n,containsInvalid:!!c}}function w9(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 176
[Credential-related source omitted] - Possible obfuscationline 177
[Credential-related source omitted] - Possible obfuscationline 178
`,{containedRoot:i,requireAtomicPublication:!0})}async function q(R){let N=(await S(R)).marker;if(!N||!["closing","reopening"].includes(N.state))return;let j=N.state==="closing",K=(await z(R,N)).record,B=await z(R,N),ue=j?d(R):f(R),ee=j?f(R - Possible obfuscationline 181
`)}}async function ie(R,N=!0){let j=(await S(R)).marker;if(j?.writerProtocol&&j.writerProtocol!==r.writerProtocol)throw new x("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await q(R);let K=await S(R);if(K.marker?.schema===p)throw new x("STORE_R - Possible obfuscationline 182
[Credential-related source omitted] - Possible obfuscationline 183
`;function $t(r){return/^# comet-execution: managed-run\r?\n/u.test(r)}var SU=["open","design","build","verify","archive"],xU=["en","zh-CN"],CU=["off","beta"],RU=["subagent-driven-development","executing-plans","direct","autonomous"],EU=["p - Possible obfuscationline 184
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await qn(G.dirname(t))}function G0(r){return G.join(r,".runtime-migration-repair-failure.json")}async function Y0(r){let e=[];async function t(i,n){let s;try{s=await xe.readdir(i - Possible obfuscationline 186
`,"utf8")}catch{}}async function kk(r,e,t){let i=li(t.projectRoot),n=G.resolve(t.sourceRoot??t.projectRoot),s=t.sourceRoot?yu(n):i.projectRoot;if(r=G.resolve(r),Et(n,r)&&(r=G.join(s,G.relative(n,r))),e=G.resolve(e),r===s||!Et(s,r)||!Et(i.ru - Possible obfuscationline 188
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await qn(G.dirname(r)),await t.testHooks?.afterFence?.();let f=await Nr(u.backup,!0);if(Ls(a)!==Ls(f))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await Ck(u.backup,u.stage - Possible obfuscationline 189
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await qn(f),await t.testHooks?.beforePublish?.(),await ht(s,c,"directory"),Ms(await xe.lstat(c,{bigint:!0}))!==d)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await u())return;tr - Possible obfuscationline 190
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await dt(t)||(n&&await xe.rmdir(e.runtimeRoot),await yk(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 191
`,{containedRoot:t})};n.readOnly?await c():await nn(le.join(t,s,`${i}.lock`),c)}async function Pk(r,e,t={}){let i=e??await _t(r),n;try{n=await rT(i,r)}catch(h){if(h.code==="ENOENT")return null;throw h}let{document:s,id:o}=n,a=le.relative(i, - Possible obfuscationline 192
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function pc(r){let e=Ik(r);if(e)throw new Error(e)}async function Oi(r,e){pc(e);let t=[],i=async n=>(await V(r,on.relative(r,n),{label:"Classic cha - Possible obfuscationline 193
`,an.trajectory,"Run trajectory",i)}async function ST(r,e,t={}){_i(r,e);let i=await Mn(r,e,an.trajectory,"Run trajectory",t);return i===null?[]:i.split(/\r?\n/).map((n,s)=>({line:n,number:s+1})).filter(({line:n})=>n.length>0).map(({line:n,n - Possible obfuscationline 196
`,an.checkpoint,"Run checkpoint",i)}async function OT(r,e,t={}){_i(r,e);let i=await Mn(r,e,an.checkpoint,"Run checkpoint",t);return i===null?null:JSON.parse(i)}import Us from"node:path";async function na(r,e){let t=Us.resolve(r,e),i=Us.rela - Possible obfuscationline 197
`}async function ZT(r){let e=Z3(r),t=await t6(r);return{document:e,files:t,hash:r6(e,t)}}async function Eh(r){return(await ZT(r)).hash}async function YT(r){try{return await Dt.access(r),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}asy - Possible obfuscationline 199
[Credential-related source omitted] - Possible obfuscationline 201
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let a=await Ih(n,t,e.workflow,e.change);if(JSON.stringify(a)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 202
]`).replace("lheading",iN).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},c5=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,l5=/^(`+)([^`]|[^` - Possible obfuscationline 203
`),t=e.length-1;for(;t>=0&&cr.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join( `)}function q5(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])t++;else if(r - Possible obfuscationline 217
${h}`,n=n.substring(0,n.length-p.text.length)+g.text;break}else if(f?.type==="list"){let p=f,h=p.raw+ `+t.join( `),m=this.list(h);s[s.length-1]=m,i=i.substring(0,i.length-f.raw.length)+m.raw,n=n.substring(0,n.length-p.raw.length)+m.raw,t=h. - Possible obfuscationline 227
`,r=r.substring(S.length+1),d=T.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(o=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}) - Possible obfuscationline 232
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 233
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 246
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 264
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${pn(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 265
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+pn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},fa=new H5;function st(r,e){return fa.pa - Possible obfuscationline 265
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+pn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},fa=new H5;function st(r,e){return fa.pa - Possible obfuscationline 266
`}function Gu(r,e,t){let i=r.replace(/\r\n/gu, `),n=i.split( `),s=n[0]==="---"?n.indexOf("---",1):-1,o=t.match(/^([^:\n]+):/u)?.[1]?.trim();if(s!==-1){let l=n.slice(1,s);if(l.filter(c=>/^archived-with:/u.test(c)).length===1&&l.includes(`arc - Possible obfuscationline 272
`)){if(!t)continue;let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid check manifest entry");let{p:n,h:s,s:o,m:a}=i;if(typeof n!="string"||!n||typeof s!="string"||!s)throw new Error("Invalid check manif - Possible obfuscationline 273
`)+ `)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>t.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);i(c.slice(0,p)),i(c.slice(p))}};function n(c){if(c.includes(" - Possible obfuscationline 274
`)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>t.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);i(c.slice(0,p)),i(c.slice(p))}};function n(c){if(c.includes("\0") - Possible obfuscationline 275
`, `).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\. - Possible obfuscationline 276
`).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\.JS; - Possible obfuscationline 277
`)+ `}:{},...this.stderr.length>0?{stderr:this.stderr.join( `)+ `}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function ro(r,e,t){return await nt(r,e,{label:t,expected:"file"})?ae(r,e,{label:t}):null}async function Zh( - Possible obfuscationline 280
`}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function ro(r,e,t){return await nt(r,e,{label:t,expected:"file"})?ae(r,e,{label:t}):null}async function Zh(r,e,t,i){await jt(r,e,t,{label:i})}function x8(r){let e=Ik(r);if - Possible obfuscationline 284
`),d=["{",` "change": "${LN(i)}",`,' "phase": "design",',` "mode": "${n}",`,' "canonical_spec": "openspec",',' "task_hash_policy": "task-content-v1",',' "generated_by": "comet-handoff.sh",',` "context_hash": "${s}",`,' "files": [',c - Possible obfuscationline 287
`,"Classic handoff spec JSON output")}async function tm(r){let{projectRoot:e,changeDir:t,change:i,handoffContext:n,handoffHash:s}=r,o=rt(e,t),a=await io(e,t,o),l=r.contextCompression==="beta"?"spec-context":"design-context";if(n!==`${o}/.co - Possible obfuscationline 288
`)));let p=await io(l.projectRoot,c,d),h=new Map(p.map(B=>[Qh.resolve(B.file),B])),m=f.files.map(B=>Qh.relative(c,B).replaceAll("\\","/"));if(i==="--hash-only"){if(!u.exists)throw new Qt(Mr(`ERROR: change directory not found: ${d}`));for(le - Possible obfuscationline 289
`));let T=rt(l.projectRoot,b),z=rt(l.projectRoot,S),O=td(p),J=`classic-handoff:${O}`,q=await Wt(c);if(!q.classic)throw new Qt(Mr("ERROR: design handoff requires Classic state"));let U=q.run?await Sh(c,q.run.pendingRef):null,E=U?.id===J&&U.t - Possible obfuscationline 290
[Credential-related source omitted] - Possible obfuscationline 299
`,s=r.indexOf(n);if(s<0||s!==r.lastIndexOf(n))throw new Error("旧 Handoff tasks 来源范围不明确");let o=s+n.length;return r.slice(0,o)+Hn(r.slice(o,o+i.length))+r.slice(o+i.length)}async function L8(r,e,t,i,n,s){let o={},a=e.actionContexts[t.id]?.se - Possible obfuscationline 300
`))!==u.handoffHash)throw new Error("旧 Handoff 来源摘要与原 Design 审批不符");let S=w?Qb(i,y,u.handoffHash,v):Xb(y,"compact",u.handoffHash,v),T=await ae(r,p,{label:It}),z=w?void 0:v.find(({reference:O})=>O===`${i}/tasks.md`);if(XN(T,z)!==XN(S,z))thro
assets/skills/comet/scripts/comet-entry-runtime.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var Ia=Object.create;var ri=Object.defineProperty;var Ta=Object.getOwnPropertyDescriptor;var La=Object.getOwnPropertyNames;var Ma=Object.getPrototypeOf,$a=Object.prototype.hasOwnProperty;var ct=(n=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};je.defaultYaml={explicit:!1,version:"1.2"};je.defaultTags={"!!":"tag:yaml.org,2002:"};ki.Directives=je});var yt=w(Ie=>{"use strict";var vi=P(),lc=xe();function uc(n){if(/[\x00-\x19\s,[\]{}]/.test(n)){let t=`Anchor must not contain whit - Possible obfuscationline 6
`)?Rn(t,e):t.includes( `)? `+Rn(t,e):(n.endsWith(" ")?"":" ")+t;Et.indentComment=Rn;Et.lineComment=Ac;Et.stringifyComment=Oc});var Ti=w(qe=>{"use strict";var xc="flow",Nn="block",_t="quoted";function jc(n,e,t="flow",{indentAtStart:r,lineWid - Possible obfuscationline 36
${c}`);if(s){let f=d=>d.default&&d.tag!=="tag:yaml.org,2002:str"&&d.test?.test(u),{compat:p,tags:g}=e.doc.schema;if(g.some(f)||p?.some(f))return ye(o,e)}return a?u:Q.foldFlowLines(u,c,Q.FOLD_FLOW,Rt(e,!1))}function Lc(n,e,t,r){let{implicitK - Possible obfuscationline 43
`):_+= ${t.indent}`}else if(!p&&B.isCollection(e)){let N=E[0],b=E.indexOf( `),O=b!==-1,U=t.inFlow??e.flow??e.items.length===0;if(O||!U){let he=!1;if(O&&(N==="&"||N==="!")){let A=E.indexOf(" ");N==="&"&&A!==-1&&A<b&&E[A+1]==="!"&&(A=E.indexO - Possible obfuscationline 47
`)&&(_="");return h+=_+E,t.inFlow?S&&r&&r():v&&!S?h+=Be.lineComment(h,t.indent,l(v)):d&&i&&i(),h}qi.stringifyPair=Kc});var jn=w(xn=>{"use strict";var Di=ct("process");function Jc(n,...e){n==="debug"&&console.log(...e)}function Yc(n,e){(n=== - Possible obfuscationline 54
${i}${p}`}else return`${f}${s}${u.join(" ")}${s}${p}`}function Mt({indent:n,options:{commentString:e}},t,r,i){if(r&&i&&(r=r.replace(/^\n+/,"")),r){let o=Lt.indentComment(e(r),n);t.push(o.trimStart())}}Vi.stringifyCollection=el});var ne=w(Fn - Possible obfuscationline 57
${o.comment}`:r.comment}r=i}n.items[t]=Yt.isPair(r)?r:new Gn.Pair(r)}}else e("Expected a sequence for this tag");return n}function yo(n,e,t){let{replacer:r}=t,i=new Bl.YAMLSeq(n);i.tag="tag:yaml.org,2002:pairs";let o=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(t.push("..."),t.push(Ge.indentComment(c,""))):t.push(`... ${c}`)}else t.push("...");else{let c=n.comment;c&&s&&(c=c.replace(/^\n+/,"")),c&&((!s||a)&&t[t.length-1]!==""&&t.push(""),t.push(Ge.indentComment(o(c),"")))}return t.join( `)+ `} - Possible obfuscationline 60
`}Yo.stringifyDocument=Ru});var Xe=w(Ho=>{"use strict";var Nu=Le(),Se=St(),L=P(),Cu=ee(),Ou=G(),Au=hr(),xu=Uo(),wr=yt(),ju=kn(),Iu=Me(),gr=bn(),yr=class n{constructor(e,t,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warn - Possible obfuscationline 65
`}};Ze.YAMLError=Qe;Ze.YAMLParseError=br;Ze.YAMLWarning=kr;Ze.prettifyError=Tu});var tt=w(zo=>{"use strict";function Lu(n,{flow:e,indicator:t,next:r,offset:i,onError:o,parentIndent:s,startOnNewline:a}){let c=!1,l=a,m=a,u="",f="",p=!1,g=!1,d - Possible obfuscationline 66
`))return!0;if(n.end){for(let e of n.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of n.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 67
`+d.comment:a.comment=d.comment);continue}(d.newlineAfterProp||Du.containsNewline(f))&&i(f??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else d.found?.indent!==r.indent&&i(c,"BAD_INDENT",ns);t.atKey=!0 - Possible obfuscationline 68
`+v.comment:k.comment=v.comment);let S=new Zo.Pair(k);t.options.keepSourceTokens&&(S.srcToken=m),a.items.push(S)}}return l&&l<c&&i(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[r.offset,c,l??c],a}rs.resolveBlockMap=Bu});var s - Possible obfuscationline 72
`+h.comment:l.comment=h.comment),l.range=[r.offset,d,h.offset]}else l.range=[r.offset,d,d];return l}us.resolveFlowCollection=ef});var ms=w(ds=>{"use strict";var tf=P(),nf=C(),rf=ne(),of=re(),sf=is(),af=ss(),cf=fs();function Rr(n,e,t,r,i,o){ - Possible obfuscationline 79
`),u+=f+h.slice(c)+y,f= `,p=!0):y===""?f=== `?u+= `:f= `:(u+=f+y,f=" ",p=!1)}switch(i.chomp){case"-":break;case"+":for(let d=a;d<s.length;++d)u+= `+s[d][0].slice(c);u[u.length-1]!== `&&(u+= `);break;default:u+= `}let g=r+i.length+e.source.l - Possible obfuscationline 87
`}let g=r+i.length+e.source.length;return{value:u,type:o,comment:i.comment,range:[r,g,g]}}function ff({offset:n,props:e},t,r){if(e[0].type!=="block-scalar-header")return r(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let r=e.exec(n);if(!r)return n;let i=r[1],o=" ",s=e.lastIndex;for(t.lastIndex=s;r=t.exec(n);)r[1]===""?o=== `?i+=o:o= `:(i+=o+r[1],o=" "),s=t.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function kf(n,e,t,r){let i=n.substr(e,t),s=i.length===t&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(s)}catch{let a=n.substr(e-2,t+2);r - Possible obfuscationline 109
${s}`:r}}if(t){for(let o=0;o<this.errors.length;++o)e.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)e.warnings.push(this.warnings[o])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new nt.YAMLParseError(rt(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete n.items,Object.assign(n,{type:t,source:e,end:[i]});break}default:{let r="indent"in n?n.indent:-1,i="end"in n&&Array.isArray(n.end)?n.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.ke - Possible obfuscationline 120
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":re - Possible obfuscationline 122
\r `),Br=n=>!n||od.has(n),Kr=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(i!==-1){for(;i!==-1;){let o=this.continueScalar(i+1);if(o===-1)break;i=r.indexOf( `,o)}i!==-1&&(t=i-(r[i-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let s=this.continueScalar(r+1);if(s===-1)break;r=Math.max(r,s-2)}}else{if(e&&ln.has(i))break;t=r}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield it.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let r="end"in t.value?t.value.end:void 0;(Array.isArray(r)? - Possible obfuscationline 142
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 156
}`,Vm=Ja("sha256").update(Ya).digest("hex");var lh=16*1024;import{createHash as Ga}from"node:crypto";import{lstatSync as Ae,readFileSync as Xa,realpathSync as li}from"node:fs";import V from"node:path";function pn(n){return`${n.dev}:${n.ino}
assets/skills/comet/scripts/comet-env.mjs
- Executable scriptline 1
#!/usr/bin/env node
assets/skills/comet/scripts/comet-guard.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var Nj=Object.create;var Fg=Object.defineProperty;var $j=Object.getOwnPropertyDescriptor;var jj=Object.getOwnPropertyNames;var Dj=Object.getPrototypeOf,Lj=Object.prototype.hasOwnProperty;var kp=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}){if(Yg.getStore())return r();let t={label:"执行工作流命令"},i=Date.now(),n=setInterval(()=>{try{e({...t,elapsedMs:Date.now()-i})}catch{}},5e3);n.unref?.();try{return await Yg.run(t,r)}finally{clearInterval(n)}}function bx(r=0){Jj+=1,Gj+=r;for( - Possible obfuscationline 18
}`,lD=ew("sha256").update(Ix).digest("hex"),uD=1e4,Ip=new Map});import{promises as _p}from"node:fs";function hD(r){let e=rw.get(r);if(e){if(Date.now()-e.at>fD){rw.delete(r);return}return e.value}}async function Bn(r){if(r===process.pid&&tw! - Possible obfuscationline 19
[Credential-related source omitted] - Possible obfuscationline 23
`)}}var wD,Ns=Be(()=>{"use strict";Hg();Uo();xl();Il();wD=16*1024});var Mx=Be(()=>{"use strict"});var qx=Be(()=>{"use strict"});var ow=Be(()=>{"use strict";Mx();qx()});import{randomUUID as bD}from"crypto";import{constants as CD,promises as - Possible obfuscationline 24
`)}};_l.defaultYaml={explicit:!1,version:"1.2"};_l.defaultTags={"!!":"tag:yaml.org,2002:"};Xx.Directives=_l});var Hp=q(Nl=>{"use strict";var Qx=Ke(),MD=Ol();function qD(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 25
`)?yw(t,e):t.includes( `)? `+yw(t,e):(r.endsWith(" ")?"":" ")+t;Kp.indentComment=yw;Kp.lineComment=sL;Kp.stringifyComment=nL});var dR=q(Ml=>{"use strict";var oL="flow",vw="block",Jp="quoted";function aL(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 55
${l}`);if(o){let f=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:p,tags:h}=e.doc.schema;if(h.some(f)||p?.some(f))return dc(s,e)}return a?d:Ds.foldFlowLines(d,l,Ds.FOLD_FLOW,Yp(e,!1))}function uL(r,e,t,i){let{implici - Possible obfuscationline 62
`):P+= ${t.indent}`}else if(!p&&Kn.isCollection(e)){let H=k[0],O=k.indexOf( `),z=O!==-1,j=t.inFlow??e.flow??e.items.length===0;if(z||!j){let W=!1;if(z&&(H==="&"||H==="!")){let x=k.indexOf(" ");H==="&"&&x!==-1&&x<O&&k[x+1]==="!"&&(x=k.indexO - Possible obfuscationline 66
`)&&(P="");return g+=P+k,t.inFlow?C&&i&&i():v&&!C?g+=Hl.lineComment(g,t.indent,u(v)):m&&n&&n(),g}mR.stringifyPair=yL});var xw=q(Sw=>{"use strict";var wR=kp("process");function vL(r,...e){r==="debug"&&console.log(...e)}function kL(r,e){(r=== - Possible obfuscationline 73
${n}${p}`}else return`${f}${o}${d.join(" ")}${o}${p}`}function af({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let s=of.indentComment(e(i),r);t.push(s.trimStart())}}ER.stringifyCollection=IL});var Fs=q(Ow - Possible obfuscationline 76
${s.comment}`:i.comment}i=n}r.items[t]=gf.isPair(i)?i:new Hw.Pair(i)}}else e("Expected a sequence for this tag");return r}function JR(r,e,t){let{replacer:i}=t,n=new wM.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator - Possible obfuscationline 77
`)?(t.push("..."),t.push(Yl.indentComment(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=r.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(Yl.indentComment(s(l),"")))}return t.join( `)+ `} - Possible obfuscationline 79
`}bE.stringifyDocument=t2});var Xl=q(SE=>{"use strict";var r2=jl(),mc=zp(),yi=Ke(),i2=Ms(),n2=$s(),s2=oy(),o2=CE(),cy=Hp(),a2=pw(),c2=Dl(),ly=dw(),uy=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 84
`}};Zl.YAMLError=Ql;Zl.YAMLParseError=dy;Zl.YAMLWarning=py;Zl.prettifyError=l2});var tu=q(xE=>{"use strict";function u2(r,{flow:e,indicator:t,next:i,offset:n,onError:s,parentIndent:o,startOnNewline:a}){let l=!1,u=a,c=a,d="",f="",p=!1,h=!1,m - Possible obfuscationline 85
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 86
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||m2.containsNewline(f))&&n(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(l,"BAD_INDENT",_E);t.atKey=!0 - Possible obfuscationline 87
`+v.comment:y.comment=v.comment);let C=new IE.Pair(y);t.options.keepSourceTokens&&(C.srcToken=c),a.items.push(C)}}return u&&u<l&&n(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[i.offset,l,u??l],a}NE.resolveBlockMap=w2});var D - Possible obfuscationline 91
`+g.comment:u.comment=g.comment),u.range=[i.offset,m,g.offset]}else u.range=[i.offset,m,m];return u}FE.resolveFlowCollection=I2});var BE=q(HE=>{"use strict";var T2=Ke(),O2=Lt(),_2=Fs(),N2=Ws(),$2=$E(),j2=DE(),D2=WE();function yy(r,e,t,i,n,s - Possible obfuscationline 98
`),d+=f+g.slice(l)+w,f= `,p=!0):w===""?f=== `?d+= `:f= `:(d+=f+w,f=" ",p=!1)}switch(n.chomp){case"-":break;case"+":for(let m=a;m<o.length;++m)d+= `+o[m][0].slice(l);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 106
`}let h=i+n.length+e.source.length;return{value:d,type:s,comment:n.comment,range:[i,h,h]}}function q2({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 108
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],s=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?s=== `?n+=s:s= `:(n+=s+i[1],s=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 122
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function J2(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let a=r.substr(e-2,t+2);r - Possible obfuscationline 128
${o}`:i}}if(t){for(let s=0;s<this.errors.length;++s)e.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)e.warnings.push(this.warnings[s])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 129
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new ru.YAMLParseError(iu(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 137
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.ke - Possible obfuscationline 141
\r `),$y=r=>!r||Nq.has(r),jy=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 146
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 147
`,this.pos);if(n!==-1){for(;n!==-1;){let s=this.continueScalar(n+1);if(s===-1)break;n=i.indexOf( `,s)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 156
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&Nf.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield nu.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 158
[Credential-related source omitted] - Possible obfuscationline 159
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 160
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 161
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 162
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 164
[Credential-related source omitted] - Possible obfuscationline 166
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(R.UnterminatedString,this.state.startLoc);let s=this - Possible obfuscationline 167
`,++t,p===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):s.unterminated(o,a,l):++t}return{pos:t,str:u,firstInvalidLoc:c,lineStart:i,curLine:n,containsInvalid:!!c}}function yW(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 168
[Credential-related source omitted] - Possible obfuscationline 169
`),cooked:s===null?null:s.slice(1,u)},a.tail=l,this.next();let d=this.finishNode(a,"TemplateElement");return this.resetEndLocation(d,Ar(this.state.lastTokEndLoc,u)),d}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 170
`)}}function KI(r){try{let e=JSON.parse(r);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 171
`:""},this._extScope=e,this._scope=new tn.Scope({parent:e}),this._nodes=[new xb]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 174
[Credential-related source omitted] - Possible obfuscationline 177
deps: ${t}}`};var c8={keyword:"dependencies",type:"object",schemaType:"object",error:$n.error,code(r){let[e,t]=l8(r);TN(r,e),ON(r,t)}};function l8({schema:r}){let e={},t={};for(let i in r){if(i==="__proto__")continue;let n=Array.isArray(r[i - Possible obfuscationline 178
]`).replace("lheading",DP).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},lH=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,uH=/^(`+)([^`]|[^` - Possible obfuscationline 179
`),t=e.length-1;for(;t>=0&&wr.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join( `)}function FH(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])t++;else if(r - Possible obfuscationline 193
${h}`,n=n.substring(0,n.length-p.text.length)+g.text;break}else if(f?.type==="list"){let p=f,h=p.raw+ `+t.join( `),m=this.list(h);s[s.length-1]=m,i=i.substring(0,i.length-f.raw.length)+m.raw,n=n.substring(0,n.length-p.raw.length)+m.raw,t=h. - Possible obfuscationline 203
`,r=r.substring(k.length+1),d=P.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(o=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}) - Possible obfuscationline 208
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 209
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 222
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 240
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${vn(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 241
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+vn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},oa=new BH;function ut(r,e){return oa.pa - Possible obfuscationline 241
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+vn(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},oa=new BH;function ut(r,e){return oa.pa - Possible obfuscationline 242
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await es(G.dirname(t))}function hI(r){return G.join(r,".runtime-migration-repair-failure.json")}async function mI(r){let e=[];async function t(i,n){let s;try{s=await Ee.readdir(i - Possible obfuscationline 244
`,"utf8")}catch{}}async function Xv(r,e,t){let i=Ci(t.projectRoot),n=G.resolve(t.sourceRoot??t.projectRoot),s=t.sourceRoot?Nu(n):i.projectRoot;if(r=G.resolve(r),Mt(n,r)&&(r=G.join(s,G.relative(n,r))),e=G.resolve(e),r===s||!Mt(s,r)||!Mt(i.ru - Possible obfuscationline 246
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await es(G.dirname(r)),await t.testHooks?.afterFence?.();let f=await Vr(u.backup,!0);if(Gs(a)!==Gs(f))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await tk(u.backup,u.stage - Possible obfuscationline 247
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await es(f),await t.testHooks?.beforePublish?.(),await xt(s,c,"directory"),Ys(await Ee.lstat(c,{bigint:!0}))!==d)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await u())return;tr - Possible obfuscationline 248
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await kt(t)||(n&&await Ee.rmdir(e.runtimeRoot),await Gv(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 249
`;function Wt(r){return/^# comet-execution: managed-run\r?\n/u.test(r)}var fV=["open","design","build","verify","archive"],hV=["en","zh-CN"],mV=["off","beta"],gV=["subagent-driven-development","executing-plans","direct","autonomous"],wV=["p - Possible obfuscationline 250
`,{containedRoot:t})};n.readOnly?await c():await Sn(le.join(t,s,`${i}.lock`),c)}async function Sk(r,e,t={}){let i=e??await qt(r),n;try{n=await YI(i,r)}catch(h){if(h.code==="ENOENT")return null;throw h}let{document:s,id:o}=n,a=le.relative(i, - Possible obfuscationline 253
Next: regenerate or rewrite this artifact in English while preserving necessary technical terms.`:null}import di from"node:path";import{createHash as WV,randomUUID as Sie}from"node:crypto";var HV=/^(\s*[-*]\s+\[)([ xX])(\]\s+)(.*)$/u,e0=/\s - Possible obfuscationline 254
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function Vc(r){let e=Sa(r);if(e)throw new Error(e)}async function Gi(r,e){Vc(e);let t=[],i=async n=>(await B(r,An.relative(r,n),{label:"Classic cha - Possible obfuscationline 255
`, `).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\. - Possible obfuscationline 256
[Credential-related source omitted] - Possible obfuscationline 258
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let a=await Bh(n,t,e.workflow,e.change);if(JSON.stringify(a)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 260
`,{label:"Classic archive requirements"})}async function Uc(r,e){let t=_r.join(e,$0),i=["proposal.md","design.md","tasks.md"];if(await et(r,t,{label:"Classic archive requirements",expected:"file"})){let s=JSON.parse(await Z(r,t,{label:"Clas - Possible obfuscationline 261
`,Tn.trajectory,"Run trajectory",i)}async function U0(r,e,t={}){Yi(r,e);let i=await is(r,e,Tn.trajectory,"Run trajectory",t);return i===null?[]:i.split(/\r?\n/).map((n,s)=>({line:n,number:s+1})).filter(({line:n})=>n.length>0).map(({line:n,n - Possible obfuscationline 264
`,Tn.checkpoint,"Run checkpoint",i)}async function eT(r,e,t={}){Yi(r,e);let i=await is(r,e,Tn.checkpoint,"Run checkpoint",t);return i===null?null:JSON.parse(i)}import ho from"node:path";async function Ea(r,e){let t=ho.resolve(r,e),i=ho.rela - Possible obfuscationline 265
`}async function CT(r){let e=h4(r),t=await g4(r);return{document:e,files:t,hash:w4(e,t)}}async function em(r){return(await CT(r)).hash}async function vT(r){try{return await Xt.access(r),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}asy - Possible obfuscationline 267
`));let u=await em(a);if(u!==e)throw new Error(`calculated hash is ${u}`);return a}catch(n){throw new Error(`Skill snapshot is invalid or missing: ${e}`,{cause:n})}}async function ST(r){try{return await Uk.access(r),!0}catch(e){if(e.code=== - Possible obfuscationline 268
`)+ `}:{},...this.stderr.length>0?{stderr:this.stderr.join( `)+ `}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function ko(r,e,t){return await et(r,e,{label:t,expected:"file"})?Z(r,e,{label:t}):null}async function om(r - Possible obfuscationline 271
`}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function ko(r,e,t){return await et(r,e,{label:t,expected:"file"})?Z(r,e,{label:t}):null}async function om(r,e,t,i){await gt(r,e,t,{label:i})}function j4(r){let e=Sa(r);if( - Possible obfuscationline 275
`),d=["{",` "change": "${_T(i)}",`,' "phase": "design",',` "mode": "${n}",`,' "canonical_spec": "openspec",',' "task_hash_policy": "task-content-v1",',' "generated_by": "comet-handoff.sh",',` "context_hash": "${s}",`,' "files": [',c - Possible obfuscationline 278
`,"Classic handoff spec JSON output")}async function Jc(r){let{projectRoot:e,changeDir:t,change:i,handoffContext:n,handoffHash:s}=r,o=rt(e,t),a=await bo(e,t,o),l=r.contextCompression==="beta"?"spec-context":"design-context";if(n!==`${o}/.co - Possible obfuscationline 279
`)));let p=await bo(l.projectRoot,c,d),h=new Map(p.map(K=>[sm.resolve(K.file),K])),m=f.files.map(K=>sm.relative(c,K).replaceAll("\\","/"));if(i==="--hash-only"){if(!u.exists)throw new lr(Jr(`ERROR: change directory not found: ${d}`));for(le - Possible obfuscationline 280
`));let P=rt(l.projectRoot,C),H=rt(l.projectRoot,k),O=od(p),z=`classic-handoff:${O}`,j=await bt(c);if(!j.classic)throw new lr(Jr("ERROR: design handoff requires Classic state"));let W=j.run?await Yh(c,j.run.pendingRef):null,x=W?.id===z&&W.t - Possible obfuscationline 281
`))e.stderr.push(u);return e.toResult(l.exitCode)}throw l}});async function Gc(r,e,t){let i=[],n=z4.basename(e);if(t.designDoc)try{let o=await Z(r,t.designDoc,{label:"Classic Design Doc"}),a=/^---\s*\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/u.exec - Possible obfuscationline 282
`)}function as(r){return K4("sha256").update(r).digest("hex")}function Ei(r){let e=[];for(let t of r.split( `)){if(!t)continue;let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid check manifest entry");l - Possible obfuscationline 283
`)){if(!t)continue;let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid check manifest entry");let{p:n,h:s,s:o,m:a}=i;if(typeof n!="string"||!n||typeof s!="string"||!s)throw new Error("Invalid check manif - Possible obfuscationline 284
`)+ `)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>t.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);i(c.slice(0,p)),i(c.slice(p))}};function n(c){if(c.includes(" - Possible obfuscationline 285
[Credential-related source omitted] - Possible obfuscationline 287
`:"")+_})})}),v=await Gr(r,e,f,{baseline:h.entries}).catch(()=>null),C=v?v.digest:"unavailable",k=v?(()=>{let x=cd(h.entries,v.entries);return[...x.added,...x.removed,...x.changed].slice(0,100)})():void 0,P,H;if(v){let x=ir.join(e,".comet", - Possible obfuscationline 288
`,u3,"Classic state event log"),t}var lO=["open-complete","design-complete","build-complete","verify-pass","verify-fail","archive-confirm","archive-reopen","archived","preset-escalate"],d3={"open-complete":{event:"open-complete",from:"open" - Possible obfuscationline 289
`)};throw m}let p=(0,gd.parseDocument)(f);if(p.errors.length>0||!(0,gd.isMap)(p.contents)){for(let m of p.errors)c(m.message);return(0,gd.isMap)(p.contents)||c("document root must be a mapping"),a.push("",_a(hd,`${l} error(s), ${u} warning( - Possible obfuscationline 290
`)}}let h=p.toJS();for(let m of g3)Object.prototype.hasOwnProperty.call(h,m)||c(`missing required field '${m}'`);for(let[m,g]of Object.entries(w3)){if(!Object.prototype.hasOwnProperty.call(h,m))continue;let w=md(h[m]);if(!w){m==="auto_trans - Possible obfuscationline 292
[Credential-related source omitted]
assets/skills/comet/scripts/comet-handoff.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var JN=Object.create;var $h=Object.defineProperty;var KN=Object.getOwnPropertyDescriptor;var GN=Object.getOwnPropertyNames;var YN=Object.getPrototypeOf,XN=Object.prototype.hasOwnProperty;var Vu=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};fc.defaultYaml={explicit:!1,version:"1.2"};fc.defaultTags={"!!":"tag:yaml.org,2002:"};Wb.Directives=fc});var Yu=D(hc=>{"use strict";var Hb=We(),p_=pc();function f_(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 6
`)?Uh(t,e):t.includes( `)? `+Uh(t,e):(r.endsWith(" ")?"":" ")+t;td.indentComment=Uh;td.lineComment=__;td.stringifyComment=N_});var tS=D(vc=>{"use strict";var $_="flow",zh="block",rd="quoted";function D_(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 36
${l}`);if(o){let f=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(p),{compat:d,tags:h}=e.doc.schema;if(h.some(f)||d?.some(f))return ta(s,e)}return a?p:Ln.foldFlowLines(p,l,Ln.FOLD_FLOW,nd(e,!1))}function M_(r,e,t,i){let{implici - Possible obfuscationline 43
`):O+= ${t.indent}`}else if(!d&&rn.isCollection(e)){let K=C[0],T=C.indexOf( `),J=T!==-1,F=t.inFlow??e.flow??e.items.length===0;if(J||!F){let V=!1;if(J&&(K==="&"||K==="!")){let P=C.indexOf(" ");K==="&"&&P!==-1&&P<T&&C[P+1]==="!"&&(P=C.indexO - Possible obfuscationline 47
`)&&(O="");return g+=O+C,t.inFlow?S&&i&&i():k&&!S?g+=xc.lineComment(g,t.indent,u(k)):m&&n&&n(),g}sS.stringifyPair=z_});var Xh=D(Yh=>{"use strict";var aS=Vu("process");function J_(r,...e){r==="debug"&&console.log(...e)}function K_(r,e){(r=== - Possible obfuscationline 54
${n}${d}`}else return`${f}${o}${p.join(" ")}${o}${d}`}function hd({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let s=fd.indentComment(e(i),r);t.push(s.trimStart())}}gS.stringifyCollection=i1});var Wn=D(nm - Possible obfuscationline 57
${s.comment}`:i.comment}i=n}r.items[t]=xd.isPair(i)?i:new mm.Pair(i)}}else e("Expected a sequence for this tag");return r}function MS(r,e,t){let{replacer:i}=t,n=new U1.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(t.push("..."),t.push(Oc.indentComment(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=r.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(Oc.indentComment(s(l),"")))}return t.join( `)+ `} - Possible obfuscationline 60
`}dx.stringifyDocument=I$});var Nc=D(fx=>{"use strict";var T$=gc(),sa=ed(),Wr=We(),O$=Fn(),N$=Dn(),_$=_m(),$$=px(),Dm=Yu(),D$=Fh(),j$=wc(),jm=Mh(),Lm=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 65
`}};$c.YAMLError=_c;$c.YAMLParseError=Mm;$c.YAMLWarning=Fm;$c.prettifyError=L$});var jc=D(hx=>{"use strict";function M$(r,{flow:e,indicator:t,next:i,offset:n,onError:s,parentIndent:o,startOnNewline:a}){let l=!1,u=a,c=a,p="",f="",d=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||B$.containsNewline(f))&&n(f??p[p.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(l,"BAD_INDENT",Sx);t.atKey=!0 - Possible obfuscationline 68
`+k.comment:v.comment=k.comment);let S=new vx.Pair(v);t.options.keepSourceTokens&&(S.srcToken=c),a.items.push(S)}}return u&&u<l&&n(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[i.offset,l,u??l],a}xx.resolveBlockMap=U$});var E - Possible obfuscationline 72
`+g.comment:u.comment=g.comment),u.range=[i.offset,m,g.offset]}else u.range=[i.offset,m,m];return u}Tx.resolveFlowCollection=iD});var _x=D(Nx=>{"use strict";var nD=We(),sD=vt(),oD=Wn(),aD=Hn(),cD=Cx(),lD=Ex(),uD=Ox();function Um(r,e,t,i,n,s - Possible obfuscationline 79
`),p+=f+g.slice(l)+w,f= `,d=!0):w===""?f=== `?p+= `:f= `:(p+=f+w,f=" ",d=!1)}switch(n.chomp){case"-":break;case"+":for(let m=a;m<o.length;++m)p+= `+o[m][0].slice(l);p[p.length-1]!== `&&(p+= `);break;default:p+= `}let h=i+n.length+e.source.l - Possible obfuscationline 87
`}let h=i+n.length+e.source.length;return{value:p,type:s,comment:n.comment,range:[i,h,h]}}function fD({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],s=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?s=== `?n+=s:s= `:(n+=s+i[1],s=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function SD(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let a=r.substr(e-2,t+2);r - Possible obfuscationline 109
${o}`:i}}if(t){for(let s=0;s<this.errors.length;++s)e.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)e.warnings.push(this.warnings[s])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Lc.YAMLParseError(Mc(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.ke - Possible obfuscationline 122
\r `),ag=r=>!r||aj.has(r),cg=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(n!==-1){for(;n!==-1;){let s=this.continueScalar(n+1);if(s===-1)break;n=i.indexOf( `,s)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&qd.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Fc.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 142
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`)}){if(Zg.getStore())return r();let t={label:"执行工作流命令"},i=Date.now(),n=setInterval(()=>{try{e({...t,elapsedMs:Date.now()-i})}catch{}},5e3);n.unref?.();try{return await Zg.run(t,r)}finally{clearInterval(n)}}function wR(r=0){xM+=1,CM+=r;for( - Possible obfuscationline 157
}`,MM=rw("sha256").update(RR).digest("hex"),FM=1e4,vp=new Map});import{promises as Sp}from"node:fs";function BM(r){let e=nw.get(r);if(e){if(Date.now()-e.at>HM){nw.delete(r);return}return e.value}}async function fn(r){if(r===process.pid&&iw! - Possible obfuscationline 158
`)}}function _R(r){try{let e=JSON.parse(r);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 159
[Credential-related source omitted] - Possible obfuscationline 163
`)}}var o2,ss=Me(()=>{"use strict";Yg();Ys();zc();nl();o2=16*1024});var $l=D(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.regexpCode=Ve.getEsmExportName=Ve.getProperty=Ve.safeStringify=Ve.stringify=Ve.strConcat=Ve. - Possible obfuscationline 164
`:""},this._extScope=e,this._scope=new pi.Scope({parent:e}),this._nodes=[new cy]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 167
[Credential-related source omitted] - Possible obfuscationline 170
deps: ${t}}`};var ZV={keyword:"dependencies",type:"object",schemaType:"object",error:Bi.error,code(r){let[e,t]=e4(r);uI(r,e),dI(r,t)}};function e4({schema:r}){let e={},t={};for(let i in r){if(i==="__proto__")continue;let n=Array.isArray(r[i - Possible obfuscationline 172
[Credential-related source omitted] - Possible obfuscationline 174
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(x.UnterminatedString,this.state.startLoc);let s=this - Possible obfuscationline 175
`,++t,d===13&&e.charCodeAt(t)===10&&++t,++n,p=i=t):s.unterminated(o,a,l):++t}return{pos:t,str:u,firstInvalidLoc:c,lineStart:i,curLine:n,containsInvalid:!!c}}function WU(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 176
[Credential-related source omitted] - Possible obfuscationline 177
`),cooked:s===null?null:s.slice(1,u)},a.tail=l,this.next();let p=this.finishNode(a,"TemplateElement");return this.resetEndLocation(p,hr(this.state.lastTokEndLoc,u)),p}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 178
`;function Tt(r){return/^# comet-execution: managed-run\r?\n/u.test(r)}var ZL=["open","design","build","verify","archive"],eM=["en","zh-CN"],tM=["off","beta"],rM=["subagent-driven-development","executing-plans","direct","autonomous"],iM=["p - Possible obfuscationline 179
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await gn(U.dirname(t))}function XR(r){return U.join(r,".runtime-migration-repair-failure.json")}async function QR(r){let e=[];async function t(i,n){let s;try{s=await Se.readdir(i - Possible obfuscationline 181
`,"utf8")}catch{}}async function pw(r,e,t){let i=Br(t.projectRoot),n=U.resolve(t.sourceRoot??t.projectRoot),s=t.sourceRoot?ul(n):i.projectRoot;if(r=U.resolve(r),bt(n,r)&&(r=U.join(s,U.relative(n,r))),e=U.resolve(e),r===s||!bt(s,r)||!bt(i.ru - Possible obfuscationline 183
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await gn(U.dirname(r)),await t.testHooks?.afterFence?.();let f=await Sr(u.backup,!0);if(os(a)!==os(f))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await gw(u.backup,u.stage - Possible obfuscationline 184
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await gn(f),await t.testHooks?.beforePublish?.(),await ut(s,c,"directory"),as(await Se.lstat(c,{bigint:!0}))!==p)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await u())return;tr - Possible obfuscationline 185
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await mt(t)||(n&&await Se.rmdir(e.runtimeRoot),await uw(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 186
`,{containedRoot:t})};n.readOnly?await c():await $i(se.join(t,s,`${i}.lock`),c)}async function kw(r,e,t={}){let i=e??await It(r),n;try{n=await aE(i,r)}catch(h){if(h.code==="ENOENT")return null;throw h}let{document:s,id:o}=n,a=se.relative(i, - Possible obfuscationline 187
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function Ea(r){let e=ml(r);if(e)throw new Error(e)}async function oi(r,e){Ea(e);let t=[],i=async n=>(await W(r,ji.relative(r,n),{label:"Classic cha - Possible obfuscationline 188
`, `).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\. - Possible obfuscationline 189
[Credential-related source omitted] - Possible obfuscationline 191
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let a=await Hp(n,t,e.workflow,e.change);if(JSON.stringify(a)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 192
`,Fi.trajectory,"Run trajectory",i)}async function VE(r,e,t={}){ci(r,e);let i=await pn(r,e,Fi.trajectory,"Run trajectory",t);return i===null?[]:i.split(/\r?\n/).map((n,s)=>({line:n,number:s+1})).filter(({line:n})=>n.length>0).map(({line:n,n - Possible obfuscationline 195
`,Fi.checkpoint,"Run checkpoint",i)}async function ZE(r,e,t={}){ci(r,e);let i=await pn(r,e,Fi.checkpoint,"Run checkpoint",t);return i===null?null:JSON.parse(i)}import gs from"node:path";async function Rl(r,e){let t=gs.resolve(r,e),i=gs.rela - Possible obfuscationline 196
`}async function bP(r){let e=IF(r),t=await OF(r);return{document:e,files:t,hash:NF(e,t)}}async function ef(r){return(await bP(r)).hash}async function yP(r){try{return await Ot.access(r),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}asy - Possible obfuscationline 198
`));let u=await ef(a);if(u!==e)throw new Error(`calculated hash is ${u}`);return a}catch(n){throw new Error(`Skill snapshot is invalid or missing: ${e}`,{cause:n})}}async function SP(r){try{return await Dw.access(r),!0}catch(e){if(e.code=== - Possible obfuscationline 199
`)+ `}:{},...this.stderr.length>0?{stderr:this.stderr.join( `)+ `}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function ks(r,e,t){return await Lt(r,e,{label:t,expected:"file"})?ge(r,e,{label:t}):null}async function sf( - Possible obfuscationline 202
`}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function ks(r,e,t){return await Lt(r,e,{label:t,expected:"file"})?ge(r,e,{label:t}):null}async function sf(r,e,t,i){await ar(r,e,t,{label:i})}function XF(r){let e=ml(r);if - Possible obfuscationline 206
`),p=["{",` "change": "${OP(i)}",`,' "phase": "design",',` "mode": "${n}",`,' "canonical_spec": "openspec",',' "task_hash_policy": "task-content-v1",',' "generated_by": "comet-handoff.sh",',` "context_hash": "${s}",`,' "files": [',c - Possible obfuscationline 209
`,"Classic handoff spec JSON output")}async function Na(r){let{projectRoot:e,changeDir:t,change:i,handoffContext:n,handoffHash:s}=r,o=tt(e,t),a=await bs(e,t,o),l=r.contextCompression==="beta"?"spec-context":"design-context";if(n!==`${o}/.co - Possible obfuscationline 210
`)));let d=await bs(l.projectRoot,c,p),h=new Map(d.map(H=>[nf.resolve(H.file),H])),m=f.files.map(H=>nf.relative(c,H).replaceAll("\\","/"));if(i==="--hash-only"){if(!u.exists)throw new Mt(Rr(`ERROR: change directory not found: ${p}`));for(le - Possible obfuscationline 211
`));let O=tt(l.projectRoot,S),K=tt(l.projectRoot,C),T=Il(d),J=`classic-handoff:${T}`,F=await ai(c);if(!F.classic)throw new Mt(Rr("ERROR: design handoff requires Classic state"));let V=F.run?await Yp(c,F.run.pendingRef):null,P=V?.id===J&&V.t - Possible obfuscationline 212
[Credential-related source omitted] - Possible obfuscationline 213
`,{containedRoot:i,requireAtomicPublication:!0})}async function F(R){let _=(await C(R)).marker;if(!_||!["closing","reopening"].includes(_.state))return;let L=_.state==="closing",Q=(await K(R,_)).record,H=await K(R,_),pe=L?p(R):f(R),Z=L?f(R) - Possible obfuscationline 216
`)}}async function oe(R,_=!0){let L=(await C(R)).marker;if(L?.writerProtocol&&L.writerProtocol!==r.writerProtocol)throw new b("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await F(R);let Q=await C(R);if(Q.marker?.schema===d)throw new b("STORE_R - Possible obfuscationline 217
[Credential-related source omitted] - Possible obfuscationline 218
]`).replace("lheading",UT).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},N6=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,_6=/^(`+)([^`]|[^` - Possible obfuscationline 219
`),t=e.length-1;for(;t>=0&&Zt.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join( `)}function l9(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])t++;else if(r - Possible obfuscationline 233
${h}`,n=n.substring(0,n.length-d.text.length)+g.text;break}else if(f?.type==="list"){let d=f,h=d.raw+ `+t.join( `),m=this.list(h);s[s.length-1]=m,i=i.substring(0,i.length-f.raw.length)+m.raw,n=n.substring(0,n.length-d.raw.length)+m.raw,t=h. - Possible obfuscationline 243
`,r=r.substring(C.length+1),p=O.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(o=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}) - Possible obfuscationline 248
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 249
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 262
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 280
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${Gi(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 281
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+Gi(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Uo=new p9;function it(r,e){return Uo.pa - Possible obfuscationline 281
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+Gi(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Uo=new p9;function it(r,e){return Uo.pa - Possible obfuscationline 282
`}function Iu(r,e,t){let i=r.replace(/\r\n/gu, `),n=i.split( `),s=n[0]==="---"?n.indexOf("---",1):-1,o=t.match(/^([^:\n]+):/u)?.[1]?.trim();if(s!==-1){let l=n.slice(1,s);if(l.filter(c=>/^archived-with:/u.test(c)).length===1&&l.includes(`arc - Possible obfuscationline 288
`)){if(!t)continue;let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid check manifest entry");let{p:n,h:s,s:o,m:a}=i;if(typeof n!="string"||!n||typeof s!="string"||!s)throw new Error("Invalid check manif - Possible obfuscationline 289
`)+ `)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(d=>/^[0-9a-f]+$/iu.test(d))){c.forEach((d,h)=>t.set(d,f[h]));return}if(c.length>1){let d=Math.floor(c.length/2);i(c.slice(0,d)),i(c.slice(d))}};function n(c){if(c.includes(" - Possible obfuscationline 290
[Credential-related source omitted] - Possible obfuscationline 299
`,s=r.indexOf(n);if(s<0||s!==r.lastIndexOf(n))throw new Error("旧 Handoff tasks 来源范围不明确");let o=s+n.length;return r.slice(0,o)+dn(r.slice(o,o+i.length))+r.slice(o+i.length)}async function j9(r,e,t,i,n,s){let o={},a=e.actionContexts[t.id]?.se - Possible obfuscationline 300
`))!==u.handoffHash)throw new Error("旧 Handoff 来源摘要与原 Design 审批不符");let C=w?qw(i,v,u.handoffHash,k):Fw(v,"compact",u.handoffHash,k),O=await ge(r,d,{label:Et}),K=w?void 0:k.find(({reference:T})=>T===`${i}/tasks.md`);if(kO(O,K)!==kO(C,K))thro - Possible obfuscationline 301
`)!==o.artifact.sha256)throw new Error("Classic Archive 原始执行清单摘要不符");return oc(r,e,t,i,n)}async function oc(r,e,t,i,n=t.outcome?.artifacts){if(!n?.length&&t.status==="succeeded")return bO(r,e,t,i);let s=`${i}/${xO}`,o=n?.find(f=>f.uri===s);
assets/skills/comet/scripts/comet-hook-guard.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var w$=Object.create;var Km=Object.defineProperty;var y$=Object.getOwnPropertyDescriptor;var v$=Object.getOwnPropertyNames;var k$=Object.getPrototypeOf,b$=Object.prototype.hasOwnProperty;var Fd=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};Vc.defaultYaml={explicit:!1,version:"1.2"};Vc.defaultTags={"!!":"tag:yaml.org,2002:"};Ox.Directives=Vc});var Jd=D(Uc=>{"use strict";var Nx=Be(),q$=Bc();function W$(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 6
`)?lg(t,e):t.includes( `)? `+lg(t,e):(r.endsWith(" ")?"":" ")+t;Zd.indentComment=lg;Zd.lineComment=aD;Zd.stringifyComment=oD});var Ux=D(Yc=>{"use strict";var cD="flow",ug="block",ep="quoted";function lD(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 36
${l}`);if(o){let f=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:p,tags:h}=e.doc.schema;if(h.some(f)||p?.some(f))return Ea(s,e)}return a?d:us.foldFlowLines(d,l,us.FOLD_FLOW,rp(e,!1))}function pD(r,e,t,i){let{implici - Possible obfuscationline 43
`):O+= ${t.indent}`}else if(!p&&Rn.isCollection(e)){let G=x[0],T=x.indexOf( `),z=T!==-1,M=t.inFlow??e.flow??e.items.length===0;if(z||!M){let U=!1;if(z&&(G==="&"||G==="!")){let A=x.indexOf(" ");G==="&"&&A!==-1&&A<T&&x[A+1]==="!"&&(A=x.indexO - Possible obfuscationline 47
`)&&(O="");return g+=O+x,t.inFlow?S&&i&&i():k&&!S?g+=el.lineComment(g,t.indent,u(k)):m&&n&&n(),g}Gx.stringifyPair=kD});var mg=D(hg=>{"use strict";var Xx=Fd("process");function bD(r,...e){r==="debug"&&console.log(...e)}function SD(r,e){(r=== - Possible obfuscationline 54
${n}${p}`}else return`${f}${o}${d.join(" ")}${o}${p}`}function pp({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let s=dp.indentComment(e(i),r);t.push(s.trimStart())}}oC.stringifyCollection=OD});var hs=D(Sg - Possible obfuscationline 57
${s.comment}`:i.comment}i=n}r.items[t]=bp.isPair(i)?i:new _g.Pair(i)}}else e("Expected a sequence for this tag");return r}function PC(r,e,t){let{replacer:i}=t,n=new vj.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(t.push("..."),t.push(cl.indentComment(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=r.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(cl.indentComment(s(l),"")))}return t.join( `)+ `} - Possible obfuscationline 60
`}tE.stringifyDocument=iL});var ll=D(iE=>{"use strict";var nL=Kc(),Ia=Qd(),ti=Be(),sL=ps(),oL=cs(),aL=Xg(),cL=rE(),Zg=Jd(),lL=ig(),uL=Jc(),ew=rg(),tw=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 65
`}};dl.YAMLError=ul;dl.YAMLParseError=rw;dl.YAMLWarning=iw;dl.prettifyError=dL});var fl=D(nE=>{"use strict";function pL(r,{flow:e,indicator:t,next:i,offset:n,onError:s,parentIndent:o,startOnNewline:a}){let l=!1,u=a,c=a,d="",f="",p=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||wL.containsNewline(f))&&n(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(l,"BAD_INDENT",pE);t.atKey=!0 - Possible obfuscationline 68
`+k.comment:y.comment=k.comment);let S=new lE.Pair(y);t.options.keepSourceTokens&&(S.srcToken=c),a.items.push(S)}}return u&&u<l&&n(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[i.offset,l,u??l],a}fE.resolveBlockMap=vL});var g - Possible obfuscationline 72
`+g.comment:u.comment=g.comment),u.range=[i.offset,m,g.offset]}else u.range=[i.offset,m,m];return u}kE.resolveFlowCollection=OL});var xE=D(SE=>{"use strict";var NL=Be(),_L=Et(),$L=hs(),DL=ms(),jL=hE(),LL=gE(),ML=bE();function lw(r,e,t,i,n,s - Possible obfuscationline 79
`),d+=f+g.slice(l)+w,f= `,p=!0):w===""?f=== `?d+= `:f= `:(d+=f+w,f=" ",p=!1)}switch(n.chomp){case"-":break;case"+":for(let m=a;m<o.length;++m)d+= `+o[m][0].slice(l);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 87
`}let h=i+n.length+e.source.length;return{value:d,type:s,comment:n.comment,range:[i,h,h]}}function WL({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],s=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?s=== `?n+=s:s= `:(n+=s+i[1],s=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function YL(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let a=r.substr(e-2,t+2);r - Possible obfuscationline 109
${o}`:i}}if(t){for(let s=0;s<this.errors.length;++s)e.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)e.warnings.push(this.warnings[s])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new hl.YAMLParseError(ml(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.ke - Possible obfuscationline 122
\r `),Ew=r=>!r||DM.has(r),Rw=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(n!==-1){for(;n!==-1;){let s=this.continueScalar(n+1);if(s===-1)break;n=i.indexOf( `,s)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&Mp.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield gl.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 142
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`, `).split( `),n=i.indexOf(`*** Update File: ${r.path}`);if(n<0)return null;let s=[],o=[],a=()=>{if(!s.length)return!1;let l=s.join( `),u=t.indexOf(l);return u<0||t.indexOf(l,u+l.length)>=0?!1:(t=t.slice(0,u)+o.join( `)+t.slice(u+l.length) - Possible obfuscationline 148
`)+t.slice(u+l.length),s=[],o=[],!0)};for(let l of i.slice(n+1)){if(l.startsWith("***"))return s.length&&a()?t:null;if(l.startsWith("@@")){if(s.length&&!a())return null;continue}if(l.startsWith(" "))s.push(l.slice(1)),o.push(l.slice(1));els - Possible obfuscationline 149
`)}){if(yy.getStore())return r();let t={label:"执行工作流命令"},i=Date.now(),n=setInterval(()=>{try{e({...t,elapsedMs:Date.now()-i})}catch{}},5e3);n.unref?.();try{return await yy.run(t,r)}finally{clearInterval(n)}}function wA(r=0){QF+=1,ZF+=r;for( - Possible obfuscationline 162
}`,fq=Sy("sha256").update(RA).digest("hex"),hq=1e4,vf=new Map});import{promises as Sf}from"node:fs";function yq(r){let e=Cy.get(r);if(e){if(Date.now()-e.at>wq){Cy.delete(r);return}return e.value}}async function jn(r){if(r===process.pid&&xy! - Possible obfuscationline 163
`)}}function $A(r){try{let e=JSON.parse(r);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 164
[Credential-related source omitted] - Possible obfuscationline 168
`)}}var Dq,Rs=je(()=>{"use strict";my();ko();Cl();Fl();Dq=16*1024});var LP=D(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});function iW(r,e){if(r==null)return{};var t={};for(var i in r)if({}.hasOwnProperty.call(r,i)){if - Possible obfuscationline 170
[Credential-related source omitted] - Possible obfuscationline 172
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(C.UnterminatedString,this.state.startLoc);let s=this - Possible obfuscationline 173
`,++t,p===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):s.unterminated(o,a,l):++t}return{pos:t,str:u,firstInvalidLoc:c,lineStart:i,curLine:n,containsInvalid:!!c}}function XW(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 174
[Credential-related source omitted] - Possible obfuscationline 175
`),cooked:s===null?null:s.slice(1,u)},a.tail=l,this.next();let d=this.finishNode(a,"TemplateElement");return this.resetEndLocation(d,hr(this.state.lastTokEndLoc,u)),d}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 176
`:""},this._extScope=e,this._scope=new $i.Scope({parent:e}),this._nodes=[new vk]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 179
[Credential-related source omitted] - Possible obfuscationline 182
deps: ${t}}`};var u9={keyword:"dependencies",type:"object",schemaType:"object",error:fn.error,code(r){let[e,t]=d9(r);uO(r,e),dO(r,t)}};function d9({schema:r}){let e={},t={};for(let i in r){if(i==="__proto__")continue;let n=Array.isArray(r[i - Possible obfuscationline 183
`;function Kt(r){return/^# comet-execution: managed-run\r?\n/u.test(r)}var uA=["open","design","build","verify","archive"],TF=["en","zh-CN"],OF=["off","beta"],NF=["subagent-driven-development","executing-plans","direct","autonomous"],_F=["p - Possible obfuscationline 184
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await Fn(J.dirname(t))}function QA(r){return J.join(r,".runtime-migration-repair-failure.json")}async function ZA(r){let e=[];async function t(i,n){let s;try{s=await Ce.readdir(i - Possible obfuscationline 186
`,"utf8")}catch{}}async function Ny(r,e,t){let i=ni(t.projectRoot),n=J.resolve(t.sourceRoot??t.projectRoot),s=t.sourceRoot?Ul(n):i.projectRoot;if(r=J.resolve(r),Rt(n,r)&&(r=J.join(s,J.relative(n,r))),e=J.resolve(e),r===s||!Rt(s,r)||!Rt(i.ru - Possible obfuscationline 188
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Fn(J.dirname(r)),await t.testHooks?.afterFence?.();let f=await Or(u.backup,!0);if(As(a)!==As(f))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await jy(u.backup,u.stage - Possible obfuscationline 189
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await Fn(f),await t.testHooks?.beforePublish?.(),await ht(s,c,"directory"),Ps(await Ce.lstat(c,{bigint:!0}))!==d)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await u())return;tr - Possible obfuscationline 190
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await mt(t)||(n&&await Ce.rmdir(e.runtimeRoot),await Ty(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 191
`,{containedRoot:t})};n.readOnly?await c():await Ln(ae.join(t,s,`${i}.lock`),c)}async function qy(r,e,t={}){let i=e??await Dt(r),n;try{n=await sP(i,r)}catch(h){if(h.code==="ENOENT")return null;throw h}let{document:s,id:o}=n,a=ae.relative(i, - Possible obfuscationline 192
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function tn(r){let e=Za(r);if(e)throw new Error(e)}async function qn(r,e){tn(e);let t=[],i=async n=>(await V(r,Ei.relative(r,n),{label:"Classic cha - Possible obfuscationline 196
${s}`,t),this.line=i,this.column=n,this.codeblock=s}static x(e,t,i){throw new r(e,{toml:t.s,ptr:i??t.p})}};function Jf(r){let e=r.p,t=r.s.charCodeAt(r.p++),i=t,n=t===39,s=t===r.s.charCodeAt(r.p)&&t===r.s.charCodeAt(r.p+1);s&&((t=r.s.charCod - Possible obfuscationline 197
`:t===102?o+="\f":t===114?o+="\r":t===101?o+="\x1B":t===34?o+='"':t===92?o+="\\":ke.x("unrecognised escape sequence",r),a=r.p+1,l=0);else t!==32&&t!==9&&(l===2&&ke.x("invalid escape: only line-ending whitespace may be escaped",r,a),l=!n&&t= - Possible obfuscationline 198
]`).replace("lheading",QP).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},BH=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,VH=/^(`+)([^`]|[^` - Possible obfuscationline 199
`),t=e.length-1;for(;t>=0&&ir.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join( `)}function kB(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])t++;else if(r - Possible obfuscationline 213
${h}`,n=n.substring(0,n.length-p.text.length)+g.text;break}else if(f?.type==="list"){let p=f,h=p.raw+ `+t.join( `),m=this.list(h);s[s.length-1]=m,i=i.substring(0,i.length-f.raw.length)+m.raw,n=n.substring(0,n.length-p.raw.length)+m.raw,t=h. - Possible obfuscationline 223
`,r=r.substring(x.length+1),d=O.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(o=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}) - Possible obfuscationline 228
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 229
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 242
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 260
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${on(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 261
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+on(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Wo=new xB;function it(r,e){return Wo.pa - Possible obfuscationline 261
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+on(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Wo=new xB;function it(r,e){return Wo.pa - Possible obfuscationline 262
`)));else return null;return Un(JSON.stringify(i))}catch{return null}}function ih(r,e,t,i={}){let n=rh(r,e);if(e===t)return{kind:"unchanged",reason:"文件内容未改变",fingerprint:n};let s=rh(r,t);return i.formal?{kind:"requirements-changed",reason:" - Possible obfuscationline 263
[Credential-related source omitted] - Possible obfuscationline 265
[Credential-related source omitted] - Possible obfuscationline 266
`,{containedRoot:i,requireAtomicPublication:!0})}async function M(E){let N=(await x(E)).marker;if(!N||!["closing","reopening"].includes(N.state))return;let j=N.state==="closing",K=(await G(E,N)).record,B=await G(E,N),ue=j?d(E):f(E),Z=j?f(E) - Possible obfuscationline 269
`)}}async function ie(E,N=!0){let j=(await x(E)).marker;if(j?.writerProtocol&&j.writerProtocol!==r.writerProtocol)throw new b("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await M(E);let K=await x(E);if(K.marker?.schema===p)throw new b("STORE_R - Network accessline 270
[Credential-related source omitted] - Possible obfuscationline 270
[Credential-related source omitted] - Possible obfuscationline 271
`}function hd(r,e,t){let i=r.replace(/\r\n/gu, `),n=i.split( `),s=n[0]==="---"?n.indexOf("---",1):-1,o=t.match(/^([^:\n]+):/u)?.[1]?.trim();if(s!==-1){let l=n.slice(1,s);if(l.filter(c=>/^archived-with:/u.test(c)).length===1&&l.includes(`arc - Possible obfuscationline 277
`)){if(!t)continue;let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid check manifest entry");let{p:n,h:s,s:o,m:a}=i;if(typeof n!="string"||!n||typeof s!="string"||!s)throw new Error("Invalid check manif - Possible obfuscationline 278
`)+ `)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>t.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);i(c.slice(0,p)),i(c.slice(p))}};function n(c){if(c.includes(" - Possible obfuscationline 279
`)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>t.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);i(c.slice(0,p)),i(c.slice(p))}};function n(c){if(c.includes("\0") - Possible obfuscationline 280
`, `).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\. - Possible obfuscationline 281
`).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\.JS; - Possible obfuscationline 282
`,yn.trajectory,"Run trajectory",i)}async function DN(r,e,t={}){qi(r,e);let i=await Nn(r,e,yn.trajectory,"Run trajectory",t);return i===null?[]:i.split(/\r?\n/).map((n,s)=>({line:n,number:s+1})).filter(({line:n})=>n.length>0).map(({line:n,n - Possible obfuscationline 285
`,yn.checkpoint,"Run checkpoint",i)}async function VN(r,e,t={}){qi(r,e);let i=await Nn(r,e,yn.checkpoint,"Run checkpoint",t);return i===null?null:JSON.parse(i)}import Zs from"node:path";async function xd(r,e){let t=Zs.resolve(r,e),i=Zs.rela - Possible obfuscationline 286
`}async function p_(r){let e=Tz(r),t=await Nz(r);return{document:e,files:t,hash:_z(e,t)}}async function km(r){return(await p_(r)).hash}async function l_(r){try{return await qt.access(r),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}asy - Possible obfuscationline 288
`));let u=await km(a);if(u!==e)throw new Error(`calculated hash is ${u}`);return a}catch(n){throw new Error(`Skill snapshot is invalid or missing: ${e}`,{cause:n})}}async function f_(r){try{return await bS.access(r),!0}catch(e){if(e.code=== - Possible obfuscationline 289
`)+ `}:{},...this.stderr.length>0?{stderr:this.stderr.join( `)+ `}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function no(r,e,t){return await ut(r,e,{label:t,expected:"file"})?ce(r,e,{label:t}):null}async function Cm( - Possible obfuscationline 292
`}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function no(r,e,t){return await ut(r,e,{label:t,expected:"file"})?ce(r,e,{label:t}):null}async function Cm(r,e,t,i){await rr(r,e,t,{label:i})}function Xz(r){let e=Za(r);if - Possible obfuscationline 296
`),d=["{",` "change": "${x_(i)}",`,' "phase": "design",',` "mode": "${n}",`,' "canonical_spec": "openspec",',' "task_hash_policy": "task-content-v1",',' "generated_by": "comet-handoff.sh",',` "context_hash": "${s}",`,' "files": [',c - Possible obfuscationline 299
`,"Classic handoff spec JSON output")}async function Rm(r){let{projectRoot:e,changeDir:t,change:i,handoffContext:n,handoffHash:s}=r,o=qe(e,t),a=await so(e,t,o),l=r.contextCompression==="beta"?"spec-context":"design-context";if(n!==`${o}/.co - Possible obfuscationline 300
`)));let p=await so(l.projectRoot,c,d),h=new Map(p.map(B=>[xm.resolve(B.file),B])),m=f.files.map(B=>xm.relative(c,B).replaceAll("\\","/"));if(i==="--hash-only"){if(!u.exists)throw new Xt(Fr(`ERROR: change directory not found: ${d}`));for(le
assets/skills/comet/scripts/comet-hook-router-guard.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var zZ=Object.create;var YN=Object.defineProperty;var JZ=Object.getOwnPropertyDescriptor;var GZ=Object.getOwnPropertyNames;var QZ=Object.getPrototypeOf,YZ=Object.prototype.hasOwnProperty;var Zk=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 17
}`,Tee=cP("sha256").update(pH).digest("hex"),jee=1e4,ub=new Map});import{promises as fb}from"node:fs";function Mee(t){let e=uP.get(t);if(e){if(Date.now()-e.at>Dee){uP.delete(t);return}return e.value}}async function nn(t){if(t===process.pid& - Possible obfuscationline 18
[Credential-related source omitted] - Possible obfuscationline 22
`)}}var Hee,aa=V(()=>{"use strict";Al();is();bf();as();Hee=16*1024});import{createHash as Vee}from"node:crypto";import{lstatSync as mg,readFileSync as Kee,realpathSync as bH}from"node:fs";import Uee from"node:os";import Fn from"node:path";f - Possible obfuscationline 23
`)}};wg.defaultYaml={explicit:!1,version:"1.2"};wg.defaultTags={"!!":"tag:yaml.org,2002:"};OH.Directives=wg});var Rb=Q(yg=>{"use strict";var $H=mt(),hte=gg();function mte(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain w - Possible obfuscationline 24
`)?CP(r,e):r.includes( `)? `+CP(r,e):(t.endsWith(" ")?"":" ")+r;Ib.indentComment=CP;Ib.lineComment=$te;Ib.stringifyComment=Ote});var JH=Q(Ag=>{"use strict";var Dte="flow",xP="block",_b="quoted";function Mte(t,e,r="flow",{indentAtStart:n,lin - Possible obfuscationline 54
${c}`);if(a){let f=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:p,tags:h}=e.doc.schema;if(h.some(f)||p?.some(f))return Pf(o,e)}return s?d:Nl.foldFlowLines(d,c,Nl.FOLD_FLOW,jb(e,!1))}function Hte(t,e,r,n){let{implic - Possible obfuscationline 61
`):S+= ${r.indent}`}else if(!p&&wc.isCollection(e)){let _=k[0],A=k.indexOf( `),T=A!==-1,x=r.inFlow??e.flow??e.items.length===0;if(T||!x){let M=!1;if(T&&(_==="&"||_==="!")){let N=k.indexOf(" ");_==="&"&&N!==-1&&N<A&&k[N+1]==="!"&&(N=k.indexO - Possible obfuscationline 65
`)&&(S="");return w+=S+k,r.inFlow?b&&n&&n():v&&!b?w+=xg.lineComment(w,r.indent,u(v)):m&&i&&i(),w}XH.stringifyPair=Jte});var TP=Q(_P=>{"use strict";var eF=Zk("process");function Gte(t,...e){t==="debug"&&console.log(...e)}function Qte(t,e){(t - Possible obfuscationline 72
${i}${p}`}else return`${f}${a}${d.join(" ")}${a}${p}`}function qb({indent:t,options:{commentString:e}},r,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){let o=Wb.indentComment(e(n),t);r.push(o.trimStart())}}lF.stringifyCollection=ore});var Tl=Q(B - Possible obfuscationline 75
${o.comment}`:n.comment}n=i}t.items[r]=Xb.isPair(n)?n:new QP.Pair(n)}}else e("Expected a sequence for this tag");return t}function _F(t,e,r){let{replacer:n}=r,i=new zre.YAMLSeq(t);i.tag="tag:yaml.org,2002:pairs";let o=0;if(e&&Symbol.iterato - Possible obfuscationline 76
`)?(r.push("..."),r.push($g.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=t.comment;c&&a&&(c=c.replace(/^\n+/,"")),c&&((!a||s)&&r[r.length-1]!==""&&r.push(""),r.push($g.indentComment(o(c),"")))}return r.join( `)+ `} - Possible obfuscationline 78
`}iW.stringifyDocument=_ne});var Dg=Q(aW=>{"use strict";var Tne=kg(),jf=Pb(),po=mt(),jne=Il(),One=Cl(),$ne=hI(),Dne=oW(),gI=Rb(),Mne=kP(),Lne=bg(),wI=vP(),yI=class t{constructor(e,r,n){this.commentBefore=null,this.comment=null,this.errors=[ - Possible obfuscationline 83
`}};Lg.YAMLError=Mg;Lg.YAMLParseError=vI;Lg.YAMLWarning=kI;Lg.prettifyError=Bne});var Hg=Q(sW=>{"use strict";function Hne(t,{flow:e,indicator:r,next:n,offset:i,onError:o,parentIndent:a,startOnNewline:s}){let c=!1,u=s,l=s,d="",f="",p=!1,h=!1 - Possible obfuscationline 84
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 85
`+m.comment:s.comment=m.comment);continue}(m.newlineAfterProp||Kne.containsNewline(f))&&i(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==n.indent&&i(c,"BAD_INDENT",mW);r.atKey=! - Possible obfuscationline 86
`+v.comment:y.comment=v.comment);let b=new pW.Pair(y);r.options.keepSourceTokens&&(b.srcToken=l),s.items.push(b)}}return u&&u<c&&i(u,"IMPOSSIBLE","Map comment with trailing content"),s.range=[n.offset,c,u??c],s}gW.resolveBlockMap=zne});var - Possible obfuscationline 90
`+w.comment:u.comment=w.comment),u.range=[n.offset,m,w.offset]}else u.range=[n.offset,m,m];return u}AW.resolveFlowCollection=oie});var CW=Q(RW=>{"use strict";var aie=mt(),sie=Tr(),cie=Tl(),lie=jl(),uie=wW(),die=vW(),pie=EW();function CI(t,e - Possible obfuscationline 97
`),d+=f+w.slice(c)+g,f= `,p=!0):g===""?f=== `?d+= `:f= `:(d+=f+g,f=" ",p=!1)}switch(i.chomp){case"-":break;case"+":for(let m=s;m<a.length;++m)d+= `+a[m][0].slice(c);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=n+i.length+e.source.l - Possible obfuscationline 105
`}let h=n+i.length+e.source.length;return{value:d,type:o,comment:i.comment,range:[n,h,h]}}function mie({offset:t,props:e},r,n){if(e[0].type!=="block-scalar-header")return n(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source: - Possible obfuscationline 107
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=e.exec(t);if(!n)return t;let i=n[1],o=" ",a=e.lastIndex;for(r.lastIndex=a;n=r.exec(t);)n[1]===""?o=== `?i+=o:o= `:(i+=o+n[1],o=" "),a=r.lastIndex;let s=/[ \t]*(.*)/sy;r - Possible obfuscationline 121
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Eie(t,e,r,n){let i=t.substr(e,r),a=i.length===r&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(a)}catch{let s=t.substr(e-2,r+2); - Possible obfuscationline 127
${a}`:n}}if(r){for(let o=0;o<this.errors.length;++o)e.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)e.warnings.push(this.warnings[o])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 128
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Fg.YAMLParseError(Wg(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 136
`};delete t.items,Object.assign(t,{type:r,source:e,end:[i]});break}default:{let n="indent"in t?t.indent:-1,i="end"in t&&Array.isArray(t.end)?t.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.ke - Possible obfuscationline 140
\r `),WI=t=>!t||loe.has(t),qI=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this. - Possible obfuscationline 145
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 146
`,this.pos);if(i!==-1){for(;i!==-1;){let o=this.continueScalar(i+1);if(o===-1)break;i=n.indexOf( `,o)}i!==-1&&(r=i-(n[i-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 155
`){let a=this.continueScalar(n+1);if(a===-1)break;n=Math.max(n,a-2)}}else{if(e&&mS.has(i))break;r=n}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield qg.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 157
[Credential-related source omitted] - Possible obfuscationline 158
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 159
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)? - Possible obfuscationline 160
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 161
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 162
`)){let s=$oe(a,n,i,o);if(s){let c=a.match(/^\s*/u)?.[0]??"";for(let u of k2(s,e).split( `))r.push(`${c}${u}`)}r.push(a),/^[a-z_]+:/u.test(a)?(a.startsWith("native:")?n="native":a.startsWith("classic:")?n="classic":a.startsWith("hook:")?n=" - Possible obfuscationline 164
`)}function Doe(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||Dl.posix.isAbsolute(r)||Dl.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative pat - Possible obfuscationline 192
# 可选值:neutral | strict`}}});import{promises as Hf}from"fs";import mo from"path";async function yt(t,e,r){let n=await H(t,e,{label:r.label,expected:"file"});if(!n.exists){let o=new Error(`${r.label} does not exist`);throw o.code="ENOENT",o}l - Possible obfuscationline 193
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await vc(oe.dirname(r))}function L2(t){return oe.join(t,".runtime-migration-repair-failure.json")}async function B2(t){let e=[];async function r(n,i){let o;try{o=await Le.readdir - Possible obfuscationline 195
`,"utf8")}catch{}}async function n_(t,e,r){let n=uo(r.projectRoot),i=oe.resolve(r.sourceRoot??r.projectRoot),o=r.sourceRoot?Qg(i):n.projectRoot;if(t=oe.resolve(t),jr(i,t)&&(t=oe.join(o,oe.relative(i,t))),e=oe.resolve(e),t===o||!jr(o,t)||!jr - Possible obfuscationline 197
`,{containedRoot:a,exclusive:!0,requireAtomicPublication:!0}),await vc(oe.dirname(t)),await r.testHooks?.afterFence?.();let f=await vi(u.backup,!0);if(Ml(s)!==Ml(f))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await c_(u.backup,u.stag - Possible obfuscationline 198
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await vc(f),await r.testHooks?.beforePublish?.(),await sr(o,l,"directory"),Ll(await Le.lstat(l,{bigint:!0}))!==d)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await u())return;tr - Possible obfuscationline 199
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(a){if(a.code!=="EEXIST")throw a;await Kt(r)||(i&&await Le.rmdir(e.runtimeRoot),await Gg(r,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 200
`, `).split( `),i=n.indexOf(`*** Update File: ${t.path}`);if(i<0)return null;let o=[],a=[],s=()=>{if(!o.length)return!1;let c=o.join( `),u=r.indexOf(c);return u<0||r.indexOf(c,u+c.length)>=0?!1:(r=r.slice(0,u)+a.join( `)+r.slice(u+c.length) - Possible obfuscationline 204
`)+r.slice(u+c.length),o=[],a=[],!0)};for(let c of n.slice(i+1)){if(c.startsWith("***"))return o.length&&s()?r:null;if(c.startsWith("@@")){if(o.length&&!s())return null;continue}if(c.startsWith(" "))o.push(c.slice(1)),a.push(c.slice(1));els - Possible obfuscationline 206
`))throw new Error("Invalid project config write transaction: unexpected fields");if(n.schema!==z2)throw new Error("Invalid project config write transaction: unsupported schema");if(typeof n.id!="string"||!J2.test(n.id))throw new Error("Inv - Possible obfuscationline 207
`,{containedRoot:t,exclusive:!0}),{candidate:i.candidate,quarantine:i.quarantine}}async function $S(t){let e=await w_(t);if(!e)return null;let{journal:r}=e,[n,i,o]=await Promise.all([bc(t),OS(t,r.candidate),OS(t,r.quarantine)]);if(i!==null& - Possible obfuscationline 208
`)}}function Pq(t){try{let e=JSON.parse(t);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 210
[Credential-related source omitted] - Possible obfuscationline 212
`):i=String.fromCharCode(n),++this.state.curLine,this.state.lineStart=this.state.pos,i}jsxReadString(r){let n="",i=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(O.UnterminatedString,this.state.startLoc);let o=this - Possible obfuscationline 213
`,++r,p===13&&e.charCodeAt(r)===10&&++r,++i,d=n=r):o.unterminated(a,s,c):++r}return{pos:r,str:u,firstInvalidLoc:l,lineStart:n,curLine:i,containsInvalid:!!l}}function Cce(t,e,r,n){return t==="template"?e===96||e===36&&r.charCodeAt(n+1)===123 - Possible obfuscationline 214
[Credential-related source omitted] - Possible obfuscationline 215
`),cooked:o===null?null:o.slice(1,u)},s.tail=c,this.next();let d=this.finishNode(s,"TemplateElement");return this.resetEndLocation(d,Vn(this.state.lastTokEndLoc,u)),d}parseTemplate(e){let r=this.startNode(),n=this.parseTemplateElement(e),i= - Possible obfuscationline 219
${o}`,r),this.line=n,this.column=i,this.codeblock=o}static x(e,r,n){throw new t(e,{toml:r.s,ptr:n??r.p})}}});function cA(t){let e=t.p,r=t.s.charCodeAt(t.p++),n=r,i=r===39,o=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);o&&((r=t.s.charC - Possible obfuscationline 220
`:r===102?a+="\f":r===114?a+="\r":r===101?a+="\x1B":r===34?a+='"':r===92?a+="\\":je.x("unrecognised escape sequence",t),s=t.p+1,c=0);else r!==32&&r!==9&&(c===2&&je.x("invalid escape: only line-ending whitespace may be escaped",t,s),c=!i&&r= - Possible obfuscationline 221
`),r=e.length-1;for(;r>=0&&Pn.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function Gle(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let n=0;n<t.length;n++)if(t[n]==="\\")n++;else if(t[n]===e[0])r++;else if( - Possible obfuscationline 224
`)}function Bt(t,e){return Dd.parse(t,e)}function Zle(...t){return Dd.use(...t),Bt.defaults=Dd.defaults,CV(Bt.defaults),Bt}var Md,$d,nle,Pn,ile,ole,ale,$w,sle,D0,xV,NV,cle,M0,lle,L0,ule,dle,hA,B0,ple,PV,fle,hle,mle,H0,vV,gle,wle,yle,vle,IV, - Possible obfuscationline 225
]`).replace("lheading",NV).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},yle=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,vle=/^(`+)([^`]|[ - Possible obfuscationline 236
${h}`,i=i.substring(0,i.length-p.text.length)+w.text;break}else if(f?.type==="list"){let p=f,h=p.raw+ `+r.join( `),m=this.list(h);o[o.length-1]=m,n=n.substring(0,n.length-f.raw.length)+m.raw,i=i.substring(0,i.length-p.raw.length)+m.raw,r=h. - Possible obfuscationline 246
`,t=t.substring(k.length+1),d=S.slice(h)}}i.loose||(a?i.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(a=!0)),i.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(l),loose:!1,text:l,tokens:[]}) - Possible obfuscationline 251
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 252
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let n=this.inlineQueue[r];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],n=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 265
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(o);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 283
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${ws(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 284
Please report this to https://github.com/markedjs/marked.`,t){let n="<p>An error occurred:</p><pre>"+ws(r.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},Dd=new Xle;Bt.options=Bt.setOptions=fun - Possible obfuscationline 284
Please report this to https://github.com/markedjs/marked.`,t){let n="<p>An error occurred:</p><pre>"+ws(r.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},Dd=new Xle;Bt.options=Bt.setOptions=fun - Possible obfuscationline 285
[Credential-related source omitted] - Possible obfuscationline 286
`:""},this._extScope=e,this._scope=new Aa.Scope({parent:e}),this._nodes=[new PT]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extSco - Possible obfuscationline 289
[Credential-related source omitted] - Possible obfuscationline 292
[Credential-related source omitted] - Possible obfuscationline 293
`,{containedRoot:n,requireAtomicPublication:!0})}async function x(P){let B=(await k(P)).marker;if(!B||!["closing","reopening"].includes(B.state))return;let D=B.state==="closing",K=(await _(P,B)).record,J=await _(P,B),re=D?d(P):f(P),ee=D?f(P - Possible obfuscationline 296
`)}}async function j(P,B=!0){let D=(await k(P)).marker;if(D?.writerProtocol&&D.writerProtocol!==t.writerProtocol)throw new R("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await x(P);let K=await k(P);if(K.marker?.schema===p)throw new R("STORE_RU - Possible obfuscationline 297
[Credential-related source omitted] - Possible obfuscationline 362
`});import{createRequire as gke}from"node:module";function _u(t,e){if(!tR){let r=process.emitWarning;process.emitWarning=((n,...i)=>{String(n instanceof Error?n.message:n).startsWith("SQLite is an experimental feature and might change at an - Possible obfuscationline 379
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),i=e.length>1e3?[...e.filter(o=>o.parentSpanId===null),...e.filter(o=>o.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 385
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-Rke).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(Eke(),e.workflow,e.kind,e.command,e.occurredAt,e.du - Possible obfuscationline 388
`)){let h=p.match(/^([a-f0-9]{40}(?:[a-f0-9]{24})?) blob (\d+)$/u);if(!h)continue;let m=Number(h[2]);if(Number.isSafeInteger(m)&&m<=r){if(o+=m,o>64*1024*1024)throw new Error("Git blob batch exceeds its total size limit");u.set(h[1],m)}}let - Possible obfuscationline 389
${TQ(e)}`).digest("hex")}var Ln=V(()=>{"use strict"});import{lstatSync as Xbe,promises as vp}from"fs";import Pt from"path";import Zbe from"os";async function RR(t){try{return await vp.lstat(t),!0}catch(e){if(e.code==="ENOENT")return!1;throw - Possible obfuscationline 390
`,"utf8"),await r.sync(),n=HQ(await r.stat({bigint:!0}))}finally{await r.close()}let i=await Ho(t);if(!n||!i||i.owner.id!==e.id||!IR(i.identity,n))throw new Error(`Native lock changed after write: ${t}`);return i.identity}async function lSe - Possible obfuscationline 391
`)),n=[],i=[],o=null,a=0;for(let u of r){if(u.type==="heading"&&(o!==null&&u.depth<=o&&(o=null),/^(?:test(?:ing)? plan|测试计划|Spec → 测试名与断言计划)$/iu.test(u.text.trim())&&(o=u.depth)),u.type!=="table"||o===null)continue;let l=u,d=l.header.flatMa - Possible obfuscationline 393
`,e3= ${Dt}: `});function bD(t){let e=t.input;if(!e||typeof e!="object"||typeof e.candidateId!="string"||!e.candidateId||typeof e.identityProvider!="string"||!e.identityProvider||typeof e.builderExecutionRef!="string"||!e.builderExecutionRe - Possible obfuscationline 394
[Credential-related source omitted] - Possible obfuscationline 395
`,r)}var rr=V(()=>{"use strict";bf();ju()});function kv(){return{dropped_entries:0,first_dropped_at:null,last_dropped_at:null,outcome_counts:{pass:0,fail:0,blocked:0,"execution-error":0,recovery:0}}}var sm,vv,bv=V(()=>{"use strict";sm="come - Possible obfuscationline 400
`)),i.join( `)}).join( `)}function Ii(t,e,r){return t==="zh-CN"?r:e}var y3,_D,v3,k3,b3,g3,S3,A3,dm,Rp=V(()=>{"use strict";y3=["created","modified","deleted","notCreated"],_D={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptan - Possible obfuscationline 402
`)}function Ii(t,e,r){return t==="zh-CN"?r:e}var y3,_D,v3,k3,b3,g3,S3,A3,dm,Rp=V(()=>{"use strict";y3=["created","modified","deleted","notCreated"],_D={en:{outcome:"Outcome",scope:"Scope",nonGoals:"Non-goals",acceptanceExamples:"Acceptance - Possible obfuscationline 403
`, `).replaceAll("\r", `)}function Mu(t){return rAe("sha256").update(Cp(t)).digest("hex")}function DD(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new ut(`${e} must be an object`);return t}function T3(t,e,r){let n=Object.keys(t).f - Possible obfuscationline 405
`)}function Mu(t){return rAe("sha256").update(Cp(t)).digest("hex")}function DD(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new ut(`${e} must be an object`);return t}function T3(t,e,r){let n=Object.keys(t).filter(i=>!e.has(i));if( - Possible obfuscationline 406
`),n=uAe(r),i=[],o=new Set;for(let u of n){if(o.has(u.id))throw new ut(`Native total Spec contains duplicate requirement ID ${u.id}`);o.add(u.id);let l=r.length;for(let d=u.line+1;d<r.length;d+=1){if(n.some(p=>p.line===d)){l=d;break}let f=l - Possible obfuscationline 426
`}${e}`}function BD(t,e){if(t.operation==="add"||t.operation==="modify"){let o=e.requirements.get(t.id);if(!o)return!1;let a=rC(t,t.operation==="modify"?o:void 0);return o.raw===tC(a.level,a.id,a.title,a.body)}if(t.operation==="remove")retu - Possible obfuscationline 427
${u.body??""}`).join( `),c=i.filter(u=>gAe.test(u.raw)||[...n].some(l=>I3(u.raw,l))||Object.keys(e).some(l=>!n.has(l)&&I3(s,l)));if(!(c.length===0&&o.length===0&&a.length===0))throw new io([...n,...c.map(u=>u.id),...o,...a],"Native delta im - Possible obfuscationline 428
`),c=i.filter(u=>gAe.test(u.raw)||[...n].some(l=>I3(u.raw,l))||Object.keys(e).some(l=>!n.has(l)&&I3(s,l)));if(!(c.length===0&&o.length===0&&a.length===0))throw new io([...n,...c.map(u=>u.id),...o,...a],"Native delta impact is uncertain; dec - Possible obfuscationline 429
`)}else e=dAe(e,s,tC(c.level,c.id,c.title,c.body))}r.push(...Iv(o)),n.push({id:o.id,operation:o.operation,status:"changed",targetIds:Iv(o)})}let i=Cp(e);return{markdown:i,base_hash:t.delta.base_hash,result_hash:Mu(i),rebased:t.rebased,chang - Possible obfuscationline 430
`),a=0,s=0;for(;a<=o.length;){let c=o.indexOf( `,a),u=c===-1?o.slice(a):o.slice(a,c);if(yield{line:u,body:e===null&&!r&&n===null,index:s},s+=1,e!==null)e=H3(u,e);else if(r)F3(u)&&(r=!1);else if(n!==null)new RegExp(`</${n}\\s*>`,"iu").test(u - Possible obfuscationline 431
`,a),u=c===-1?o.slice(a):o.slice(a,c);if(yield{line:u,body:e===null&&!r&&n===null,index:s},s+=1,e!==null)e=H3(u,e);else if(r)F3(u)&&(r=!1);else if(n!==null)new RegExp(`</${n}\\s*>`,"iu").test(u)&&(n=null);else{let d=H3(u,null);if(d!==null)e
assets/skills/comet/scripts/comet-hook-router.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
import f from"path";import z from"os";import{promises as _,realpathSync as I}from"fs";import{fileURLToPath as G,pathToFileURL as K}from"url";import A from"node:path";import{fileURLToPath as L}from"node:url";function E(e){return e.charCodeAt - Possible obfuscationline 15
`}}var Z="Usage: comet-hook-router --platform <platform-id> [--project-root <project-root>]";function V(e){let t,n;for(let o=0;o<e.length;o++){let r=e[o];if(r==="--platform"){t=e[++o];continue}if(r==="--project-root"){n=e[++o];continue}thro
assets/skills/comet/scripts/comet-intent.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var Lc=Object.create;var Mi=Object.defineProperty;var qc=Object.getOwnPropertyDescriptor;var Dc=Object.getOwnPropertyNames;var Mc=Object.getPrototypeOf,Wc=Object.prototype.hasOwnProperty;var xt=(n=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};Be.defaultYaml={explicit:!1,version:"1.2"};Be.defaultTags={"!!":"tag:yaml.org,2002:"};io.Directives=Be});var Ot=w(Ke=>{"use strict";var oo=C(),ml=Fe();function pl(n){if(/[\x00-\x19\s,[\]{}]/.test(n)){let t=`Anchor must not contain whit - Possible obfuscationline 6
`)?Zn(t,e):t.includes( `)? `+Zn(t,e):(n.endsWith(" ")?"":" ")+t;Dt.indentComment=Zn;Dt.lineComment=jl;Dt.stringifyComment=Il});var vo=w(Ve=>{"use strict";var Ll="flow",er="block",Mt="quoted";function ql(n,e,t="flow",{indentAtStart:r,lineWid - Possible obfuscationline 36
${c}`);if(s){let d=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(u),{compat:h,tags:g}=e.doc.schema;if(g.some(d)||h?.some(d))return Ae(o,e)}return a?u:te.foldFlowLines(u,c,te.FOLD_FLOW,$t(e,!1))}function Wl(n,e,t,r){let{implici - Possible obfuscationline 43
`):E+= ${t.indent}`}else if(!h&&Y.isCollection(e)){let R=S[0],v=S.indexOf( `),P=v!==-1,z=t.inFlow??e.flow??e.items.length===0;if(P||!z){let Ee=!1;if(P&&(R==="&"||R==="!")){let T=S.indexOf(" ");R==="&"&&T!==-1&&T<v&&S[T+1]==="!"&&(T=S.indexO - Possible obfuscationline 47
`)&&(E="");return p+=E+S,t.inFlow?_&&r&&r():k&&!_?p+=Qe.lineComment(p,t.indent,l(k)):m&&i&&i(),p}So.stringifyPair=Jl});var or=w(ir=>{"use strict";var Co=xt("process");function Vl(n,...e){n==="debug"&&console.log(...e)}function Gl(n,e){(n=== - Possible obfuscationline 54
${i}${h}`}else return`${d}${s}${u.join(" ")}${s}${h}`}function zt({indent:n,options:{commentString:e}},t,r,i){if(r&&i&&(r=r.replace(/^\n+/,"")),r){let o=Gt.indentComment(e(r),n);t.push(o.trimStart())}}jo.stringifyCollection=iu});var oe=w(dr - Possible obfuscationline 57
${o.comment}`:r.comment}r=i}n.items[t]=sn.isPair(r)?r:new Sr.Pair(r)}}else e("Expected a sequence for this tag");return n}function ns(n,e,t){let{replacer:r}=t,i=new Yu.YAMLSeq(n);i.tag="tag:yaml.org,2002:pairs";let o=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(t.push("..."),t.push(st.indentComment(c,""))):t.push(`... ${c}`)}else t.push("...");else{let c=n.comment;c&&s&&(c=c.replace(/^\n+/,"")),c&&((!s||a)&&t[t.length-1]!==""&&t.push(""),t.push(st.indentComment(o(c),"")))}return t.join( `)+ `} - Possible obfuscationline 60
`}Ps.stringifyDocument=Af});var at=w(As=>{"use strict";var Of=He(),Le=qt(),D=C(),If=re(),jf=Z(),Lf=Fr(),qf=Ts(),Kr=Ot(),Df=Jn(),Mf=Ye(),Ur=Yn(),Hr=class n{constructor(e,t,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warn - Possible obfuscationline 65
`}};lt.YAMLError=ct;lt.YAMLParseError=Yr;lt.YAMLWarning=Jr;lt.prettifyError=Wf});var ft=w(Os=>{"use strict";function $f(n,{flow:e,indicator:t,next:r,offset:i,onError:o,parentIndent:s,startOnNewline:a}){let c=!1,l=a,f=a,u="",d="",h=!1,g=!1,m - Possible obfuscationline 66
`))return!0;if(n.end){for(let e of n.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of n.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||Hf.containsNewline(d))&&i(d??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==r.indent&&i(c,"BAD_INDENT",$s);t.atKey=!0 - Possible obfuscationline 68
`+k.comment:b.comment=k.comment);let _=new Ds.Pair(b);t.options.keepSourceTokens&&(_.srcToken=f),a.items.push(_)}}return l&&l<c&&i(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[r.offset,c,l??c],a}Fs.resolveBlockMap=Jf});var U - Possible obfuscationline 72
`+p.comment:l.comment=p.comment),l.range=[r.offset,m,p.offset]}else l.range=[r.offset,m,m];return l}Vs.resolveFlowCollection=od});var Xs=w(zs=>{"use strict";var sd=C(),ad=N(),cd=oe(),ld=se(),ud=Bs(),fd=Us(),dd=Gs();function Zr(n,e,t,r,i,o){ - Possible obfuscationline 79
`),u+=d+p.slice(c)+y,d= `,h=!0):y===""?d=== `?u+= `:d= `:(u+=d+y,d=" ",h=!1)}switch(i.chomp){case"-":break;case"+":for(let m=a;m<s.length;++m)u+= `+s[m][0].slice(c);u[u.length-1]!== `&&(u+= `);break;default:u+= `}let g=r+i.length+e.source.l - Possible obfuscationline 87
`}let g=r+i.length+e.source.length;return{value:u,type:o,comment:i.comment,range:[r,g,g]}}function hd({offset:n,props:e},t,r){if(e[0].type!=="block-scalar-header")return r(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let r=e.exec(n);if(!r)return n;let i=r[1],o=" ",s=e.lastIndex;for(t.lastIndex=s;r=t.exec(n);)r[1]===""?o=== `?i+=o:o= `:(i+=o+r[1],o=" "),s=t.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Ed(n,e,t,r){let i=n.substr(e,t),s=i.length===t&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(s)}catch{let a=n.substr(e-2,t+2);r - Possible obfuscationline 109
${s}`:r}}if(t){for(let o=0;o<this.errors.length;++o)e.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)e.warnings.push(this.warnings[o])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new dt.YAMLParseError(mt(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete n.items,Object.assign(n,{type:t,source:e,end:[i]});break}default:{let r="indent"in n?n.indent:-1,i="end"in n&&Array.isArray(n.end)?n.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.ke - Possible obfuscationline 122
\r `),hi=n=>!n||lm.has(n),gi=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(i!==-1){for(;i!==-1;){let o=this.continueScalar(i+1);if(o===-1)break;i=r.indexOf( `,o)}i!==-1&&(t=i-(r[i-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let s=this.continueScalar(r+1);if(s===-1)break;r=Math.max(r,s-2)}}else{if(e&&Sn.has(i))break;t=r}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield pt.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let r="end"in t.value?t.value.end:void 0;(Array.isArray(r)? - Possible obfuscationline 142
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
${t.map(r=>`- ${r}`).join( `)}`);this.issues=t}issues};function j(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function X(n,e,t,r){return typeof n!="string"||!e.includes(n)?(r.push(`${t} must be one of: ${e.join(", ")}`),null): - Possible obfuscationline 145
`)}`);this.issues=t}issues};function j(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}function X(n,e,t,r){return typeof n!="string"||!e.includes(n)?(r.push(`${t} must be one of: ${e.join(", ")}`),null):n}function $n(n,e,t,r){retu - Possible obfuscationline 147
`)}catch(o){if(o instanceof SyntaxError)return Rt(1,void 0,`Invalid JSON: ${o.message}`);if(o instanceof Re)return Rt(1,void 0,o.message);throw o}};var Ji=["open-complete","design-complete","build-complete","verify-pass","verify-fail","arch - Possible obfuscationline 152
`;function dc(n,e){let t=e.indexOf("--"),r=t<0?e:e.slice(0,t);if(!r.includes("--help")&&!r.includes("-h"))return;let i={check:["comet check run <change> <build|verify> [--local] [--incremental] [--cwd <path>] [--timeout-ms <ms>] -- <program - Possible obfuscationline 155
`:void 0}function mc(n,e){let t=m=>m!==null&&typeof m=="object"&&!Array.isArray(m)?m:{},r=t(n),i=t(r.entry),o=t(r.run??i.run??(typeof r.runId=="string"?r:void 0)),s=t(r.state??i.state??r),a=t(r.preparation??r.workspace??i.workspace),c=t(r.c - Possible obfuscationline 156
`)}){if(gc.getStore())return n();let t={label:"执行工作流命令"},r=Date.now(),i=setInterval(()=>{try{e({...t,elapsedMs:Date.now()-r})}catch{}},5e3);i.unref?.();try{return await gc.run(t,n)}finally{clearInterval(i)}}async function vc(n){let e={gitCo - Possible obfuscationline 173
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),i=e.length>1e3?[...e.filter(o=>o.parentSpanId===null),...e.filter(o=>o.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 179
BEGIN IMMEDIATE;`),t.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-Wp).toISOString()),t.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(Mp(),e.workflow,e.kind,e.command,e.occurredAt,e.dura
assets/skills/comet/scripts/comet-resume-probe.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var xC=Object.create;var du=Object.defineProperty;var CC=Object.getOwnPropertyDescriptor;var SC=Object.getOwnPropertyNames;var EC=Object.getPrototypeOf,RC=Object.prototype.hasOwnProperty;var ga=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}){if(Ou.getStore())return r();let e={label:"执行工作流命令"},i=Date.now(),n=setInterval(()=>{try{t({...e,elapsedMs:Date.now()-i})}catch{}},5e3);n.unref?.();try{return await Ou.run(e,r)}finally{clearInterval(n)}}function pm(r=0){KC+=1,GC+=r;for( - Possible obfuscationline 18
}`,cS=ju("sha256").update(km).digest("hex"),lS=1e4,Ia=new Map});import{promises as Sm}from"node:fs";function pS(r){let t=Mu.get(r);if(t){if(Date.now()-t.at>fS){Mu.delete(r);return}return t.value}}async function Yr(r){if(r===process.pid&&$u! - Possible obfuscationline 19
[Credential-related source omitted] - Possible obfuscationline 23
`)}}var gS,Is=pe(()=>{"use strict";Su();En();Sa();Ps();gS=16*1024});import{randomUUID as PS}from"crypto";import{constants as AS,promises as He}from"fs";import et from"path";async function Hu(r,t){try{return await Ss(r,t),{linked:!0}}catch(e - Possible obfuscationline 24
`)}};Ns.defaultYaml={explicit:!1,version:"1.2"};Ns.defaultTags={"!!":"tag:yaml.org,2002:"};Bm.Directives=Ns});var Ba=F(_s=>{"use strict";var Hm=ge(),US=Os();function VS(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let e=`Anchor must not contain whi - Possible obfuscationline 25
`)?ed(e,t):e.includes( `)? `+ed(e,t):(r.endsWith(" ")?"":" ")+e;Ja.indentComment=ed;Ja.lineComment=dE;Ja.stringifyComment=uE});var rg=F(Ms=>{"use strict";var fE="flow",td="block",Ka="quoted";function pE(r,t,e="flow",{indentAtStart:i,lineWid - Possible obfuscationline 55
${l}`);if(o){let h=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(f),{compat:u,tags:p}=t.doc.schema;if(p.some(h)||u?.some(h))return Nn(s,t)}return c?f:Zr.foldFlowLines(f,l,Zr.FOLD_FLOW,Ya(t,!1))}function gE(r,t,e,i){let{implici - Possible obfuscationline 62
`):I+= ${e.indent}`}else if(!u&&Rr.isCollection(t)){let Q=S[0],O=S.indexOf( `),H=O!==-1,J=e.inFlow??t.flow??t.items.length===0;if(H||!J){let ne=!1;if(H&&(Q==="&"||Q==="!")){let C=S.indexOf(" ");Q==="&"&&C!==-1&&C<O&&S[C+1]==="!"&&(C=S.index - Possible obfuscationline 66
`)&&(I="");return w+=I+S,e.inFlow?E&&i&&i():x&&!E?w+=Bs.lineComment(w,e.indent,d(x)):m&&n&&n(),w}og.stringifyPair=SE});var od=F(sd=>{"use strict";var cg=ga("process");function EE(r,...t){r==="debug"&&console.log(...t)}function RE(r,t){(r=== - Possible obfuscationline 73
${n}${u}`}else return`${h}${o}${f.join(" ")}${o}${u}`}function oc({indent:r,options:{commentString:t}},e,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let s=sc.indentComment(t(i),r);e.push(s.trimStart())}}wg.stringifyCollection=LE});var ii=F(pd - Possible obfuscationline 76
${s.comment}`:i.comment}i=n}r.items[e]=mc.isPair(i)?i:new Sd.Pair(i)}}else t("Expected a sequence for this tag");return r}function Fg(r,t,e){let{replacer:i}=e,n=new CR.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator - Possible obfuscationline 77
`)?(e.push("..."),e.push(Ys.indentComment(l,""))):e.push(`... ${l}`)}else e.push("...");else{let l=r.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||c)&&e[e.length-1]!==""&&e.push(""),e.push(Ys.indentComment(s(l),"")))}return e.join( `)+ `} - Possible obfuscationline 79
`}fw.stringifyDocument=aP});var Xs=F(hw=>{"use strict";var cP=Ls(),jn=za(),Lt=ge(),lP=ti(),uP=Xr(),dP=Bd(),fP=pw(),Ud=Ba(),pP=Ku(),hP=js(),Vd=Ju(),zd=class r{constructor(t,e,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 84
`}};Zs.YAMLError=Qs;Zs.YAMLParseError=Jd;Zs.YAMLWarning=Kd;Zs.prettifyError=mP});var to=F(mw=>{"use strict";function gP(r,{flow:t,indicator:e,next:i,offset:n,onError:s,parentIndent:o,startOnNewline:c}){let l=!1,d=c,a=c,f="",h="",u=!1,p=!1,m - Possible obfuscationline 85
`))return!0;if(r.end){for(let t of r.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of r.items){for(let e of t.start)if(e.type==="newline")return!0;if(t.sep){for(let e of t.sep)if(e.type==="newline")return!0}if( - Possible obfuscationline 86
`+m.comment:c.comment=m.comment);continue}(m.newlineAfterProp||bP.containsNewline(h))&&n(h??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(l,"BAD_INDENT",Cw);e.atKey=!0 - Possible obfuscationline 87
`+x.comment:v.comment=x.comment);let E=new kw.Pair(v);e.options.keepSourceTokens&&(E.srcToken=a),c.items.push(E)}}return d&&d<l&&n(d,"IMPOSSIBLE","Map comment with trailing content"),c.range=[i.offset,l,d??l],c}Sw.resolveBlockMap=CP});var P - Possible obfuscationline 91
`+w.comment:d.comment=w.comment),d.range=[i.offset,m,w.offset]}else d.range=[i.offset,m,m];return d}Ow.resolveFlowCollection=LP});var Dw=F(_w=>{"use strict";var jP=ge(),$P=$e(),MP=ii(),FP=ni(),qP=Ew(),WP=Pw(),BP=Nw();function ef(r,t,e,i,n,s - Possible obfuscationline 98
`),f+=h+w.slice(l)+g,h= `,u=!0):g===""?h=== `?f+= `:h= `:(f+=h+g,h=" ",u=!1)}switch(n.chomp){case"-":break;case"+":for(let m=c;m<o.length;++m)f+= `+o[m][0].slice(l);f[f.length-1]!== `&&(f+= `);break;default:f+= `}let p=i+n.length+t.source.l - Possible obfuscationline 106
`}let p=i+n.length+t.source.length;return{value:f,type:s,comment:n.comment,range:[i,p,p]}}function VP({offset:r,props:t},e,i){if(t[0].type!=="block-scalar-header")return i(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 108
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,e=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=t.exec(r);if(!i)return r;let n=i[1],s=" ",o=t.lastIndex;for(e.lastIndex=o;i=e.exec(r);)i[1]===""?s=== `?n+=s:s= `:(n+=s+i[1],s=" "),o=e.lastIndex;let c=/[ \t]*(.*)/sy;r - Possible obfuscationline 122
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function eA(r,t,e,i){let n=r.substr(t,e),o=n.length===e&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let c=r.substr(t-2,e+2);r - Possible obfuscationline 128
${o}`:i}}if(e){for(let s=0;s<this.errors.length;++s)t.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)t.warnings.push(this.warnings[s])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 129
${e.comment}`:e.comment}this.doc.range[2]=e.offset;break}default:this.errors.push(new ro.YAMLParseError(io(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,e=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 137
`};delete r.items,Object.assign(r,{type:e,source:t,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.ke - Possible obfuscationline 141
\r `),wf=r=>!r||FA.has(r),yf=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 146
`,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.b - Possible obfuscationline 147
`,this.pos);if(n!==-1){for(;n!==-1;){let s=this.continueScalar(n+1);if(s===-1)break;n=i.indexOf( `,s)}n!==-1&&(e=n-(i[n-1]==="\r"?2:1))}if(e===-1){if(!this.atEnd)return this.setNext("quoted-scalar");e=this.buffer.length}return yield*this.pu - Possible obfuscationline 156
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(t&&Nc.has(n))break;e=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield no.SCALAR,yield*this.pushToIndex(e+1,!0),t?"flow":"doc")}*pushCount(t){return t>0? - Possible obfuscationline 158
[Credential-related source omitted] - Possible obfuscationline 159
`)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf( `,e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let e=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 160
`,e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let e=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,e.value){let i="end"in e.value?e.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 161
`)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf( `,e)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 162
`,e)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 163
`)}}function vv(r){try{let t=JSON.parse(r);return Number.isSafeInteger(t.pid)&&Number(t.pid)>0&&typeof t.nonce=="string"&&t.nonce.length>0&&typeof t.createdAt=="number"&&Number.isFinite(t.createdAt)&&(t.hostname===void 0||typeof t.hostname= - Possible obfuscationline 165
[Credential-related source omitted] - Possible obfuscationline 167
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(e){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(y.UnterminatedString,this.state.startLoc);let s=this - Possible obfuscationline 168
`,++e,u===13&&t.charCodeAt(e)===10&&++e,++n,f=i=e):s.unterminated(o,c,l):++e}return{pos:e,str:d,firstInvalidLoc:a,lineStart:i,curLine:n,containsInvalid:!!a}}function zO(r,t,e,i){return r==="template"?t===96||t===36&&e.charCodeAt(i+1)===123: - Possible obfuscationline 169
[Credential-related source omitted] - Possible obfuscationline 170
`),cooked:s===null?null:s.slice(1,d)},c.tail=l,this.next();let f=this.finishNode(c,"TemplateElement");return this.resetEndLocation(f,pt(this.state.lastTokEndLoc,d)),f}parseTemplate(t){let e=this.startNode(),i=this.parseTemplateElement(t),n= - Possible obfuscationline 171
`,{containedRoot:t,exclusive:!0,requireAtomicPublication:!0}),await Ir(_.dirname(e))}function Uy(r){return _.join(r,".runtime-migration-repair-failure.json")}async function Vy(r){let t=[];async function e(i,n){let s;try{s=await re.readdir(i - Possible obfuscationline 173
`,"utf8")}catch{}}async function Lf(r,t,e){let i=Dt(e.projectRoot),n=_.resolve(e.sourceRoot??e.projectRoot),s=e.sourceRoot?uo(n):i.projectRoot;if(r=_.resolve(r),Fe(n,r)&&(r=_.join(s,_.relative(n,r))),t=_.resolve(t),r===s||!Fe(s,r)||!Fe(i.ru - Possible obfuscationline 175
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Ir(_.dirname(r)),await e.testHooks?.afterFence?.();let h=await kt(d.backup,!0);if(ui(c)!==ui(h))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await qf(d.backup,d.stage - Possible obfuscationline 176
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await Ir(h),await e.testHooks?.beforePublish?.(),await Pe(s,a,"directory"),di(await re.lstat(a,{bigint:!0}))!==f)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await d())return;tr - Possible obfuscationline 177
`,{containedRoot:t.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await Le(e)||(n&&await re.rmdir(t.runtimeRoot),await _f(e,t.runtimeRoot,{projectRoot:t.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 178
`,{containedRoot:e})};n.readOnly?await a():await an(U.join(e,s,`${i}.lock`),a)}async function op(r,t,e={}){let i=t??await Ve(r),n;try{n=await xv(i,r)}catch(p){if(p.code==="ENOENT")return null;throw p}let{document:s,id:o}=n,c=U.relative(i,r) - Possible obfuscationline 179
`,{containedRoot:i,requireAtomicPublication:!0})}async function J(k){let A=(await S(k)).marker;if(!A||!["closing","reopening"].includes(A.state))return;let P=A.state==="closing",D=(await Q(k,A)).record,N=await Q(k,A),Y=P?f(k):h(k),M=P?h(k): - Possible obfuscationline 182
`)}}async function W(k,A=!0){let P=(await S(k)).marker;if(P?.writerProtocol&&P.writerProtocol!==r.writerProtocol)throw new R("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await J(k);let D=await S(k);if(D.marker?.schema===u)throw new R("STORE_RU - Possible obfuscationline 183
[Credential-related source omitted] - Possible obfuscationline 200
[Credential-related source omitted] - Possible obfuscationline 201
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function Rp(r){let t=ts(r);if(t)throw new Error(t)}function zT(r,t){return{label:Se(r,t),directory:t}}async function JT(r,t,e){let i=zT(r,t);if(!(a - Possible obfuscationline 202
]`).replace("lheading",cb).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},$N=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,MN=/^(`+)([^`]|[^` - Possible obfuscationline 203
`),e=t.length-1;for(;e>=0&&ot.blankLine.test(t[e]);)e--;return t.length-e<=2?r:t.slice(0,e+1).join( `)}function h1(r,t){if(r.indexOf(t[1])===-1)return-1;let e=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===t[0])e++;else if(r - Possible obfuscationline 217
${p}`,n=n.substring(0,n.length-u.text.length)+w.text;break}else if(h?.type==="list"){let u=h,p=u.raw+ `+e.join( `),m=this.list(p);s[s.length-1]=m,i=i.substring(0,i.length-h.raw.length)+m.raw,n=n.substring(0,n.length-u.raw.length)+m.raw,e=p. - Possible obfuscationline 227
`,r=r.substring(S.length+1),f=I.slice(p)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(d)&&(o=!0)),n.items.push({type:"list_item",raw:d,task:!!this.options.gfm&&this.rules.other.listIsTask.test(a),loose:!1,text:a,tokens:[]}) - Possible obfuscationline 232
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(r){let t=this.rules.block.text.exec(r);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(r){let t=this.rules. - Possible obfuscationline 233
`),this.blockTokens(t,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let i=this.inlineQueue[e];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 246
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=c.text):e.push(s);continue}if(t){this.infiniteLoopError(t.charCodeAt(0));break}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}linkInTex - Possible obfuscationline 264
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${fr(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 265
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+fr(e.message+"",!0)+"</pre>";return t?Promise.resolve(i):i}if(t)return Promise.reject(e);throw e}}},mn=new w1;function Ce(r,t){return mn.pa - Possible obfuscationline 265
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+fr(e.message+"",!0)+"</pre>";return t?Promise.resolve(i):i}if(t)return Promise.reject(e);throw e}}},mn=new w1;function Ce(r,t){return mn.pa - Possible obfuscationline 266
`)}function $r(r){return/[*?]/u.test(r)}function Eh(r){return $r(r)?ds(r):t=>t===r||t.startsWith(`${r}/`)}function ds(r){let t=[];for(let i=0;i<r.length;i+=1){let n=r[i];n==="*"&&r[i+1]==="*"?(i+=1,r[i+1]==="/"?(i+=1,t.push({kind:"globstar- - Possible obfuscationline 267
`)+ `)?.trimEnd().split(/\r?\n/u);if(h?.length===a.length&&h.every(u=>/^[0-9a-f]+$/iu.test(u))){a.forEach((u,p)=>e.set(u,h[p]));return}if(a.length>1){let u=Math.floor(a.length/2);i(a.slice(0,u)),i(a.slice(u))}};function n(a){if(a.includes(" - Possible obfuscationline 268
`)?.trimEnd().split(/\r?\n/u);if(h?.length===a.length&&h.every(u=>/^[0-9a-f]+$/iu.test(u))){a.forEach((u,p)=>e.set(u,h[p]));return}if(a.length>1){let u=Math.floor(a.length/2);i(a.slice(0,u)),i(a.slice(u))}};function n(a){if(a.includes("\0") - Possible obfuscationline 269
`, `).trim(),e=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\. - Possible obfuscationline 270
`).trim(),e=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\.JS; - Possible obfuscationline 271
`,hr.trajectory,"Run trajectory",i)}async function Ub(r,t,e={}){Zt(r,t);let i=await Tr(r,t,hr.trajectory,"Run trajectory",e);return i===null?[]:i.split(/\r?\n/).map((n,s)=>({line:n,number:s+1})).filter(({line:n})=>n.length>0).map(({line:n,n - Possible obfuscationline 274
`,hr.checkpoint,"Run checkpoint",i)}async function Zb(r,t,e={}){Zt(r,t);let i=await Tr(r,t,hr.checkpoint,"Run checkpoint",e);return i===null?null:JSON.parse(i)}import Ni from"node:path";async function sa(r,t){let e=Ni.resolve(r,t),i=Ni.rela - Possible obfuscationline 275
`}async function bx(r){let t=C_(r),e=await E_(r);return{document:t,files:e,hash:R_(t,e)}}async function Yl(r){return(await bx(r)).hash}async function yx(r){try{return await ze.access(r),!0}catch(t){if(t.code==="ENOENT")return!1;throw t}}asy - Possible obfuscationline 277
`));let d=await Yl(c);if(d!==t)throw new Error(`calculated hash is ${d}`);return c}catch(n){throw new Error(`Skill snapshot is invalid or missing: ${t}`,{cause:n})}}async function xx(r){try{return await $h.access(r),!0}catch(t){if(t.code=== - Possible obfuscationline 278
`)+ `}:{},...this.stderr.length>0?{stderr:this.stderr.join( `)+ `}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function ji(r,t,e){return await Ee(r,t,{label:e,expected:"file"})?de(r,t,{label:e}):null}async function eu( - Possible obfuscationline 281
`}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function ji(r,t,e){return await Ee(r,t,{label:e,expected:"file"})?de(r,t,{label:e}):null}async function eu(r,t,e,i){await Si(r,t,e,{label:i})}function V_(r){let t=ts(r);if - Possible obfuscationline 285
`),f=["{",` "change": "${Ox(i)}",`,' "phase": "design",',` "mode": "${n}",`,' "canonical_spec": "openspec",',' "task_hash_policy": "task-content-v1",',' "generated_by": "comet-handoff.sh",',` "context_hash": "${s}",`,' "files": [',a - Possible obfuscationline 288
`,"Classic handoff spec JSON output")}async function Wx(r){let{projectRoot:t,changeDir:e,change:i,handoffContext:n,handoffHash:s}=r,o=Se(t,e),c=await $i(t,e,o),l=r.contextCompression==="beta"?"spec-context":"design-context";if(n!==`${o}/.co - Possible obfuscationline 289
`)));let u=await $i(l.projectRoot,a,f),p=new Map(u.map(N=>[Zl.resolve(N.file),N])),m=h.files.map(N=>Zl.relative(a,N).replaceAll("\\","/"));if(i==="--hash-only"){if(!d.exists)throw new it(Rt(`ERROR: change directory not found: ${f}`));for(le - Possible obfuscationline 290
`));let I=Se(l.projectRoot,E),Q=Se(l.projectRoot,S),O=aa(u),H=`classic-handoff:${O}`,J=await Ct(a);if(!J.classic)throw new it(Rt("ERROR: design handoff requires Classic state"));let ne=J.run?await zl(a,J.run.pendingRef):null,C=ne?.id===H&&n - Possible obfuscationline 365
BEGIN IMMEDIATE;`),e.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-uD).toISOString()),e.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(lD(),t.workflow,t.kind,t.command,t.occurredAt,t.dura - Possible obfuscationline 366
`));let s=[];for(let o of n.files){let c=Wt.relative(r,o).replaceAll("\\","/");if(e.designRequirements&&c===`${i.relative}/design.md`)continue;let l;if(c===`${i.relative}/tasks.md`&&(e.designRequirements||e.presetRequirements||e.taskCheckbo - Possible obfuscationline 367
`))}async function xD(r,t,e){let i=e.state;if(i.workflow==="full")return;let n=i.workflow,o=e.waits.slice().reverse().find(u=>u.stepId===`${n}.build.escalation-confirm`&&u.status==="resolved"&&u.decision?.choice==="continue")?.proposal?.out - Possible obfuscationline 368
`).toLowerCase()}function GD(r,t){switch(r){case"open":return"/comet-open";case"design":return"/comet-design";case"build":return t==="hotfix"||t==="tweak"?`/comet-${t}`:"/comet-build";case"verify":return"/comet-verify";case"archive":return" - Possible obfuscationline 375
`;function kC(r,t){let e=t.indexOf("--"),i=e<0?t:t.slice(0,e);if(!i.includes("--help")&&!i.includes("-h"))return;let n={check:["comet check run <change> <build|verify> [--local] [--incremental] [--cwd <path>] [--timeout-ms <ms>] -- <program - Possible obfuscationline 378
`:void 0}xr();function dL(r,t){return{exitCode:t.exitCode,stdout:JSON.stringify({command:r,exitCode:t.exitCode,agent:Ih(t.data),...t.data===void 0?{}:{data:t.data},...t.envelope===void 0?{}:{summary:t.envelope.summary,...t.envelope.next===v
assets/skills/comet/scripts/comet-runtime.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var k5=Object.create;var RR=Object.defineProperty;var b5=Object.getOwnPropertyDescriptor;var C5=Object.getOwnPropertyNames;var S5=Object.getPrototypeOf,R5=Object.prototype.hasOwnProperty;var xy=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}){if(ER.getStore())return t();let r={label:"执行工作流命令"},n=Date.now(),i=setInterval(()=>{try{e({...r,elapsedMs:Date.now()-n})}catch{}},5e3);i.unref?.();try{return await ER.run(r,t)}finally{clearInterval(i)}}function _j(t=0){P5+=1,I5+=t;for( - Possible obfuscationline 22
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),i=e.length>1e3?[...e.filter(s=>s.parentSpanId===null),...e.filter(s=>s.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 28
BEGIN IMMEDIATE;`),r.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-z5).toISOString()),r.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(V5(),e.workflow,e.kind,e.command,e.occurredAt,e.dura - Possible obfuscationline 29
`)}};bh.defaultYaml={explicit:!1,version:"1.2"};bh.defaultTags={"!!":"tag:yaml.org,2002:"};Zj.Directives=bh});var Wy=U(Ch=>{"use strict";var e$=at(),aJ=kh();function cJ(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let r=`Anchor must not contain whi - Possible obfuscationline 30
`)?JR(r,e):r.includes( `)? `+JR(r,e):(t.endsWith(" ")?"":" ")+r;Uy.indentComment=JR;Uy.lineComment=PJ;Uy.stringifyComment=AJ});var f$=U(Ah=>{"use strict";var IJ="flow",GR="block",Vy="quoted";function TJ(t,e,r="flow",{indentAtStart:n,lineWid - Possible obfuscationline 60
${l}`);if(o){let f=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:p,tags:h}=e.doc.schema;if(h.some(f)||p?.some(f))return tp(s,e)}return a?d:Pc.foldFlowLines(d,l,Pc.FOLD_FLOW,Jy(e,!1))}function NJ(t,e,r,n){let{implici - Possible obfuscationline 67
`):C+= ${r.indent}`}else if(!p&&la.isCollection(e)){let _=k[0],R=k.indexOf( `),D=R!==-1,N=r.inFlow??e.flow??e.items.length===0;if(D||!N){let L=!1;if(D&&(_==="&"||_==="!")){let E=k.indexOf(" ");_==="&"&&E!==-1&&E<R&&k[E+1]==="!"&&(E=k.indexO - Possible obfuscationline 71
`)&&(C="");return g+=C+k,r.inFlow?b&&n&&n():y&&!b?g+=Oh.lineComment(g,r.indent,u(y)):m&&i&&i(),g}w$.stringifyPair=HJ});var ex=U(ZR=>{"use strict";var v$=xy("process");function qJ(t,...e){t==="debug"&&console.log(...e)}function BJ(t,e){(t=== - Possible obfuscationline 78
${i}${p}`}else return`${f}${o}${d.join(" ")}${o}${p}`}function iv({indent:t,options:{commentString:e}},r,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){let s=nv.indentComment(e(n),t);r.push(s.trimStart())}}P$.stringifyCollection=QJ});var _c=U(ax - Possible obfuscationline 81
${s.comment}`:n.comment}n=i}t.items[r]=fv.isPair(n)?n:new yx.Pair(n)}}else e("Expected a sequence for this tag");return t}function X$(t,e,r){let{replacer:n}=r,i=new W9.YAMLSeq(t);i.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator - Possible obfuscationline 82
`)?(r.push("..."),r.push(Fh.indentComment(l,""))):r.push(`... ${l}`)}else r.push("...");else{let l=t.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&r[r.length-1]!==""&&r.push(""),r.push(Fh.indentComment(s(l),"")))}return r.join( `)+ `} - Possible obfuscationline 84
`}S1.stringifyDocument=R8});var Wh=U(x1=>{"use strict";var x8=Rh(),sp=Ky(),fs=at(),E8=Tc(),A8=Ec(),P8=Dx(),I8=R1(),Mx=Wy(),T8=qR(),O8=xh(),Fx=HR(),Wx=class t{constructor(e,r,n){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 89
`}};qh.YAMLError=Hh;qh.YAMLParseError=Hx;qh.YAMLWarning=qx;qh.prettifyError=_8});var Kh=U(E1=>{"use strict";function N8(t,{flow:e,indicator:r,next:n,offset:i,onError:s,parentIndent:o,startOnNewline:a}){let l=!1,u=a,c=a,d="",f="",p=!1,h=!1,m - Possible obfuscationline 90
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let r of e.start)if(r.type==="newline")return!0;if(e.sep){for(let r of e.sep)if(r.type==="newline")return!0}if( - Possible obfuscationline 91
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||M8.containsNewline(f))&&i(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==n.indent&&i(l,"BAD_INDENT",j1);r.atKey=!0 - Possible obfuscationline 92
`+y.comment:v.comment=y.comment);let b=new O1.Pair(v);r.options.keepSourceTokens&&(b.srcToken=c),a.items.push(b)}}return u&&u<l&&i(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,l,u??l],a}$1.resolveBlockMap=W8});var M - Possible obfuscationline 96
`+g.comment:u.comment=g.comment),u.range=[n.offset,m,g.offset]}else u.range=[n.offset,m,m];return u}q1.resolveFlowCollection=Q8});var U1=U(K1=>{"use strict";var Z8=at(),eG=xr(),tG=_c(),rG=Nc(),nG=D1(),iG=M1(),sG=B1();function Jx(t,e,r,n,i,s - Possible obfuscationline 103
`),d+=f+g.slice(l)+w,f= `,p=!0):w===""?f=== `?d+= `:f= `:(d+=f+w,f=" ",p=!1)}switch(i.chomp){case"-":break;case"+":for(let m=a;m<o.length;++m)d+= `+o[m][0].slice(l);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=n+i.length+e.source.l - Possible obfuscationline 111
`}let h=n+i.length+e.source.length;return{value:d,type:s,comment:i.comment,range:[n,h,h]}}function cG({offset:t,props:e},r,n){if(e[0].type!=="block-scalar-header")return n(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i - Possible obfuscationline 113
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=e.exec(t);if(!n)return t;let i=n[1],s=" ",o=e.lastIndex;for(r.lastIndex=o;n=r.exec(t);)n[1]===""?s=== `?i+=s:s= `:(i+=s+n[1],s=" "),o=r.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 127
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function wG(t,e,r,n){let i=t.substr(e,r),o=i.length===r&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(o)}catch{let a=t.substr(e-2,r+2);r - Possible obfuscationline 133
${o}`:n}}if(r){for(let s=0;s<this.errors.length;++s)e.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)e.warnings.push(this.warnings[s])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 134
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Uh.YAMLParseError(Vh(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 142
`};delete t.items,Object.assign(t,{type:r,source:e,end:[i]});break}default:{let n="indent"in t?t.indent:-1,i="end"in t&&Array.isArray(t.end)?t.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.ke - Possible obfuscationline 146
\r `),uE=t=>!t||r7.has(t),dE=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 151
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 152
`,this.pos);if(i!==-1){for(;i!==-1;){let s=this.continueScalar(i+1);if(s===-1)break;i=n.indexOf( `,s)}i!==-1&&(r=i-(n[i-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pu - Possible obfuscationline 161
`){let o=this.continueScalar(n+1);if(o===-1)break;n=Math.max(n,o-2)}}else{if(e&&Tv.has(i))break;r=n}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield zh.SCALAR,yield*this.pushToIndex(r+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 163
[Credential-related source omitted] - Possible obfuscationline 164
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 165
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let r=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)? - Possible obfuscationline 166
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf( `,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 167
`,r)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 168
`)){let a=P7(o,n,i,s);if(a){let l=o.match(/^\s*/u)?.[0]??"";for(let u of WD(a,e).split( `))r.push(`${l}${u}`)}r.push(o),/^[a-z_]+:/u.test(o)?(o.startsWith("native:")?n="native":o.startsWith("classic:")?n="classic":o.startsWith("hook:")?n="h - Possible obfuscationline 170
`)}function I7(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let r=t.trim();if(r.length===0||Dc.posix.isAbsolute(r)||Dc.win32.isAbsolute(r)||/^(?:~|[\\/])/u.test(r))throw new Error(`${e} must be a project-relative path - Possible obfuscationline 198
# 可选值:neutral | strict`}}});function Lc(t){return t!==0&&t!==0n&&t!=="0"}function pu(t,e){return Lc(t.dev)&&Lc(e.dev)&&Lc(t.ino)&&Lc(e.ino)}function Gr(t,e){let r=Lc(t.dev)&&Lc(e.dev);if(r&&t.dev!==e.dev)return!1;let n=Lc(t.ino)&&Lc(e.ino); - Possible obfuscationline 199
`)!==s.join( `))throw new Error("Invalid project config write transaction: unexpected fields");if(n.schema!==tL)throw new Error("Invalid project config write transaction: unsupported schema");if(typeof n.id!="string"||!rL.test(n.id))throw n - Possible obfuscationline 200
`))throw new Error("Invalid project config write transaction: unexpected fields");if(n.schema!==tL)throw new Error("Invalid project config write transaction: unsupported schema");if(typeof n.id!="string"||!rL.test(n.id))throw new Error("Inv - Possible obfuscationline 201
`,{containedRoot:t,exclusive:!0}),{candidate:i.candidate,quarantine:i.quarantine}}async function Vv(t){let e=await _E(t);if(!e)return null;let{journal:r}=e,[n,i,s]=await Promise.all([pa(t),Uv(t,r.candidate),Uv(t,r.quarantine)]);if(i!==null& - Possible obfuscationline 202
`, `).split( `),i=n.indexOf(`*** Update File: ${t.path}`);if(i<0)return null;let s=[],o=[],a=()=>{if(!s.length)return!1;let l=s.join( `),u=r.indexOf(l);return u<0||r.indexOf(l,u+l.length)>=0?!1:(r=r.slice(0,u)+o.join( `)+r.slice(u+l.length) - Possible obfuscationline 206
`)+r.slice(u+l.length),s=[],o=[],!0)};for(let l of n.slice(i+1)){if(l.startsWith("***"))return s.length&&a()?r:null;if(l.startsWith("@@")){if(s.length&&!a())return null;continue}if(l.startsWith(" "))s.push(l.slice(1)),o.push(l.slice(1));els - Possible obfuscationline 207
`,"utf8"),await om.rename(i,n)}catch(s){throw await om.rm(i,{force:!0}),s}}async function sk(t){await om.rm(am(t),{force:!0})}async function lm(t,e,r){let n=await yu(t);return n.status!=="selected"||n.selection.workflow!==e||n.selection.cha - Possible obfuscationline 208
`;FL=["open","design","build","verify","archive"],JX=["en","zh-CN"],GX=["off","beta"],XX=["subagent-driven-development","executing-plans","direct","autonomous"],YX=["plan-ready"],QX=["confirmed"],ZX=["tdd","direct"],eY=["off","standard","th - Possible obfuscationline 221
}`,TY=cA("sha256").update(GL).digest("hex"),OY=1e4,gk=new Map});import{promises as vk}from"node:fs";function $Y(t){let e=uA.get(t);if(e){if(Date.now()-e.at>jY){uA.delete(t);return}return e.value}}async function va(t){if(t===process.pid&&lA! - Possible obfuscationline 222
[Credential-related source omitted] - Possible obfuscationline 226
`)}}var MY,ka=A(()=>{"use strict";mp();da();tm();Cm();MY=16*1024});var NM=U(Nm=>{"use strict";Object.defineProperty(Nm,"__esModule",{value:!0});function qY(t,e){if(t==null)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if( - Possible obfuscationline 228
[Credential-related source omitted] - Possible obfuscationline 230
`):i=String.fromCharCode(n),++this.state.curLine,this.state.lineStart=this.state.pos,i}jsxReadString(r){let n="",i=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(I.UnterminatedString,this.state.startLoc);let s=this - Possible obfuscationline 231
`,++r,p===13&&e.charCodeAt(r)===10&&++r,++i,d=n=r):s.unterminated(o,a,l):++r}return{pos:r,str:u,firstInvalidLoc:c,lineStart:n,curLine:i,containsInvalid:!!c}}function DQ(t,e,r,n){return t==="template"?e===96||e===36&&r.charCodeAt(n+1)===123: - Possible obfuscationline 232
[Credential-related source omitted] - Possible obfuscationline 233
`),cooked:s===null?null:s.slice(1,u)},a.tail=l,this.next();let d=this.finishNode(a,"TemplateElement");return this.resetEndLocation(d,qn(this.state.lastTokEndLoc,u)),d}parseTemplate(e){let r=this.startNode(),n=this.parseTemplateElement(e),i= - Possible obfuscationline 237
${s}`,r),this.line=n,this.column=i,this.codeblock=s}static x(e,r,n){throw new t(e,{toml:r.s,ptr:n??r.p})}}});function Ok(t){let e=t.p,r=t.s.charCodeAt(t.p++),n=r,i=r===39,s=r===t.s.charCodeAt(t.p)&&r===t.s.charCodeAt(t.p+1);s&&((r=t.s.charC - Possible obfuscationline 238
`:r===102?o+="\f":r===114?o+="\r":r===101?o+="\x1B":r===34?o+='"':r===92?o+="\\":Ae.x("unrecognised escape sequence",t),a=t.p+1,l=0);else r!==32&&r!==9&&(l===2&&Ae.x("invalid escape: only line-ending whitespace may be escaped",t,a),l=!i&&r= - Possible obfuscationline 239
`),r=e.length-1;for(;r>=0&&vn.blankLine.test(e[r]);)r--;return e.length-r<=2?t:e.slice(0,r+1).join( `)}function see(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let n=0;n<t.length;n++)if(t[n]==="\\")n++;else if(t[n]===e[0])r++;else if( - Possible obfuscationline 242
`)}function Mt(t,e){return _u.parse(t,e)}function lee(...t){return _u.use(...t),Mt.defaults=_u.defaults,GM(Mt.defaults),Mt}var Nu,Ou,fZ,vn,hZ,mZ,gZ,Wm,wZ,cP,XM,YM,yZ,lP,vZ,uP,kZ,bZ,Lk,dP,CZ,QM,SZ,RZ,xZ,pP,qM,EZ,AZ,PZ,IZ,ZM,TZ,Sa,Pp,Hm,OZ,_Z - Possible obfuscationline 243
]`).replace("lheading",YM).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},PZ=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,IZ=/^(`+)([^`]|[^` - Possible obfuscationline 254
${h}`,i=i.substring(0,i.length-p.text.length)+g.text;break}else if(f?.type==="list"){let p=f,h=p.raw+ `+r.join( `),m=this.list(h);s[s.length-1]=m,n=n.substring(0,n.length-f.raw.length)+m.raw,i=i.substring(0,i.length-p.raw.length)+m.raw,r=h. - Possible obfuscationline 264
`,t=t.substring(k.length+1),d=C.slice(h)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(o=!0)),i.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}) - Possible obfuscationline 269
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules. - Possible obfuscationline 270
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let n=this.inlineQueue[r];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],n=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 283
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):r.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}linkInTex - Possible obfuscationline 301
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${_o(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${t - Network accessline 302
Please report this to https://github.com/markedjs/marked.`,t){let n="<p>An error occurred:</p><pre>"+_o(r.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},_u=new cee;Mt.options=Mt.setOptions=fun - Possible obfuscationline 302
Please report this to https://github.com/markedjs/marked.`,t){let n="<p>An error occurred:</p><pre>"+_o(r.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},_u=new cee;Mt.options=Mt.setOptions=fun - Possible obfuscationline 303
`)));else return null;return No(JSON.stringify(n))}catch{return null}}function qk(t,e,r,n={}){let i=Hk(t,e);if(e===r)return{kind:"unchanged",reason:"文件内容未改变",fingerprint:i};let s=Hk(t,r);return n.formal?{kind:"requirements-changed",reason:" - Possible obfuscationline 304
`,{containedRoot:t})}async function l2(t,e){let r=await SP(t),n=await Km(r,`${e}.input-ref.json`);if(!n||typeof n.file!="string"||!Ra.isAbsolute(n.file)||typeof n.hash!="string"||!Tp.test(n.hash))return null;try{let i=await Kk.readFile(n.fi - Possible obfuscationline 305
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await Aa(te.dirname(r))}function x2(t){return te.join(t,".runtime-migration-repair-failure.json")}async function E2(t){let e=[];async function r(n,i){let s;try{s=await je.readdir - Possible obfuscationline 307
`,"utf8")}catch{}}async function AP(t,e,r){let n=ps(r.projectRoot),i=te.resolve(r.sourceRoot??r.projectRoot),s=r.sourceRoot?Gm(i):n.projectRoot;if(t=te.resolve(t),Ar(i,t)&&(t=te.join(s,te.relative(i,t))),e=te.resolve(e),t===s||!Ar(s,t)||!Ar - Possible obfuscationline 309
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Aa(te.dirname(t)),await r.testHooks?.afterFence?.();let f=await pi(u.backup,!0);if(Zc(a)!==Zc(f))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await OP(u.backup,u.stag - Possible obfuscationline 310
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await Aa(f),await r.testHooks?.beforePublish?.(),await nr(s,c,"directory"),el(await je.lstat(c,{bigint:!0}))!==d)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await u())return;tr - Possible obfuscationline 311
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await Yt(r)||(i&&await je.rmdir(e.runtimeRoot),await xP(r,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 312
`)}}function $2(t){try{let e=JSON.parse(t);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 313
[Credential-related source omitted] - Possible obfuscationline 314
`:""},this._extScope=e,this._scope=new ro.Scope({parent:e}),this._nodes=[new cI]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extSco - Possible obfuscationline 317
[Credential-related source omitted] - Possible obfuscationline 320
[Credential-related source omitted] - Possible obfuscationline 321
`,{containedRoot:n,requireAtomicPublication:!0})}async function N(T){let W=(await k(T)).marker;if(!W||!["closing","reopening"].includes(W.state))return;let B=W.state==="closing",Z=(await _(T,W)).record,Q=await _(T,W),me=B?d(T):f(T),ae=B?f(T - Possible obfuscationline 324
`)}}async function re(T,W=!0){let B=(await k(T)).marker;if(B?.writerProtocol&&B.writerProtocol!==t.writerProtocol)throw new x("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await N(T);let Z=await k(T);if(Z.marker?.schema===p)throw new x("STORE_R - Possible obfuscationline 325
[Credential-related source omitted] - Possible obfuscationline 326
`}function Ci(t,e,r){let n=t.replace(/\r\n/gu, `),i=n.split( `),s=i[0]==="---"?i.indexOf("---",1):-1,o=r.match(/^([^:\n]+):/u)?.[1]?.trim();if(s!==-1){let l=i.slice(1,s);if(l.filter(c=>/^archived-with:/u.test(c)).length===1&&l.includes(`arc - Possible obfuscationline 332
`)){if(!r)continue;let n=JSON.parse(r);if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Invalid check manifest entry");let{p:i,h:s,s:o,m:a}=n;if(typeof i!="string"||!i||typeof s!="string"||!s)throw new Error("Invalid check manif - Possible obfuscationline 333
`)+ `)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>r.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);n(c.slice(0,p)),n(c.slice(p))}};function i(c){if(c.includes(" - Possible obfuscationline 334
`)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>r.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);n(c.slice(0,p)),n(c.slice(p))}};function i(c){if(c.includes("\0") - Possible obfuscationline 335
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function Yi(t){let e=Ur(t);if(e)throw new Error(e)}async function Qi(t,e){Yi(e);let r=[],n=async i=>(await F(t,Es.relative(t,i),{label:"Classic cha - Possible obfuscationline 336
`, `).trim(),r=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\. - Possible obfuscationline 337
[Credential-related source omitted] - Possible obfuscationline 339
`,{containedRoot:i,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let a=await pC(i,r,e.workflow,e.change);if(JSON.stringify(a)!==JSON.stringify(n))throw new Error(`Change ${e.workflow}/${e.change} is alread
assets/skills/comet/scripts/comet-state.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var s2=Object.create;var xy=Object.defineProperty;var o2=Object.getOwnPropertyDescriptor;var a2=Object.getOwnPropertyNames;var c2=Object.getPrototypeOf,l2=Object.prototype.hasOwnProperty;var zf=(r=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}){if(Dy.getStore())return r();let t={label:"执行工作流命令"},i=Date.now(),n=setInterval(()=>{try{e({...t,elapsedMs:Date.now()-i})}catch{}},5e3);n.unref?.();try{return await Dy.run(t,r)}finally{clearInterval(n)}}function DE(r=0){k2+=1,b2+=r;for( - Possible obfuscationline 18
}`,D2=qy("sha256").update(BE).digest("hex"),j2=1e4,rh=new Map});import{promises as sh}from"node:fs";function F2(r){let e=Wy.get(r);if(e){if(Date.now()-e.at>q2){Wy.delete(r);return}return e.value}}async function $s(r){if(r===process.pid&&Fy! - Possible obfuscationline 19
[Credential-related source omitted] - Possible obfuscationline 23
`)}}var B2,No=Ke(()=>{"use strict";Ay();Va();Vu();Ju();B2=16*1024});var QE=Ke(()=>{"use strict"});var ZE=Ke(()=>{"use strict"});var Uy=Ke(()=>{"use strict";QE();ZE()});import{randomUUID as z2}from"crypto";import{constants as J2,promises as - Possible obfuscationline 24
`)}};Xu.defaultYaml={explicit:!1,version:"1.2"};Xu.defaultTags={"!!":"tag:yaml.org,2002:"};dA.Directives=Xu});var gh=F(Qu=>{"use strict";var pA=Ze(),uq=Yu();function dq(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whi - Possible obfuscationline 25
`)?rv(t,e):t.includes( `)? `+rv(t,e):(r.endsWith(" ")?"":" ")+t;bh.indentComment=rv;bh.lineComment=Oq;bh.stringifyComment=Tq});var xA=F(id=>{"use strict";var _q="flow",iv="block",Ch="quoted";function Nq(r,e,t="flow",{indentAtStart:i,lineWid - Possible obfuscationline 55
${l}`);if(o){let f=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(d),{compat:p,tags:h}=e.doc.schema;if(h.some(f)||p?.some(f))return vl(s,e)}return a?d:jo.foldFlowLines(d,l,jo.FOLD_FLOW,Rh(e,!1))}function jq(r,e,t,i){let{implici - Possible obfuscationline 62
`):A+= ${t.indent}`}else if(!p&&Ms.isCollection(e)){let D=k[0],T=k.indexOf( `),J=T!==-1,j=t.inFlow??e.flow??e.items.length===0;if(J||!j){let B=!1;if(J&&(D==="&"||D==="!")){let R=k.indexOf(" ");D==="&"&&R!==-1&&R<T&&k[R+1]==="!"&&(R=k.indexO - Possible obfuscationline 66
`)&&(A="");return g+=A+k,t.inFlow?C&&i&&i():v&&!C?g+=ad.lineComment(g,t.indent,u(v)):m&&n&&n(),g}IA.stringifyPair=Vq});var cv=F(av=>{"use strict";var OA=zf("process");function Uq(r,...e){r==="debug"&&console.log(...e)}function Kq(r,e){(r=== - Possible obfuscationline 73
${n}${p}`}else return`${f}${o}${d.join(" ")}${o}${p}`}function $h({indent:r,options:{commentString:e}},t,i,n){if(i&&n&&(i=i.replace(/^\n+/,"")),i){let s=Nh.indentComment(e(i),r);t.push(s.trimStart())}}FA.stringifyCollection=tF});var Fo=F(mv - Possible obfuscationline 76
${s.comment}`:i.comment}i=n}r.items[t]=Bh.isPair(i)?i:new Ev.Pair(i)}}else e("Expected a sequence for this tag");return r}function cP(r,e,t){let{replacer:i}=t,n=new BF.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator - Possible obfuscationline 77
`)?(t.push("..."),t.push(md.indentComment(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=r.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(md.indentComment(s(l),"")))}return t.join( `)+ `} - Possible obfuscationline 79
`}DP.stringifyDocument=AW});var gd=F(LP=>{"use strict";var PW=ed(),Sl=kh(),Zi=Ze(),IW=Mo(),TW=$o(),OW=Vv(),_W=jP(),Kv=gh(),NW=Yy(),$W=td(),zv=Gy(),Jv=class r{constructor(e,t,i){this.commentBefore=null,this.comment=null,this.errors=[],this.w - Possible obfuscationline 84
`}};yd.YAMLError=wd;yd.YAMLParseError=Gv;yd.YAMLWarning=Yv;yd.prettifyError=DW});var kd=F(MP=>{"use strict";function jW(r,{flow:e,indicator:t,next:i,offset:n,onError:s,parentIndent:o,startOnNewline:a}){let l=!1,u=a,c=a,d="",f="",p=!1,h=!1,m - Possible obfuscationline 85
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if( - Possible obfuscationline 86
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||WW.containsNewline(f))&&n(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==i.indent&&n(l,"BAD_INDENT",KP);t.atKey=!0 - Possible obfuscationline 87
`+v.comment:y.comment=v.comment);let C=new BP.Pair(y);t.options.keepSourceTokens&&(C.srcToken=c),a.items.push(C)}}return u&&u<l&&n(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[i.offset,l,u??l],a}zP.resolveBlockMap=BW});var Y - Possible obfuscationline 91
`+g.comment:u.comment=g.comment),u.range=[i.offset,m,g.offset]}else u.range=[i.offset,m,m];return u}eI.resolveFlowCollection=tH});var iI=F(rI=>{"use strict";var rH=Ze(),iH=tr(),nH=Fo(),sH=Wo(),oH=JP(),aH=YP(),cH=tI();function rk(r,e,t,i,n,s - Possible obfuscationline 98
`),d+=f+g.slice(l)+w,f= `,p=!0):w===""?f=== `?d+= `:f= `:(d+=f+w,f=" ",p=!1)}switch(n.chomp){case"-":break;case"+":for(let m=a;m<o.length;++m)d+= `+o[m][0].slice(l);d[d.length-1]!== `&&(d+= `);break;default:d+= `}let h=i+n.length+e.source.l - Possible obfuscationline 106
`}let h=i+n.length+e.source.length;return{value:d,type:s,comment:n.comment,range:[i,h,h]}}function dH({offset:r,props:e},t,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n - Possible obfuscationline 108
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(r);if(!i)return r;let n=i[1],s=" ",o=e.lastIndex;for(t.lastIndex=o;i=t.exec(r);)i[1]===""?s=== `?n+=s:s= `:(n+=s+i[1],s=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 122
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function kH(r,e,t,i){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let a=r.substr(e-2,t+2);r - Possible obfuscationline 128
${o}`:i}}if(t){for(let s=0;s<this.errors.length;++s)e.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)e.warnings.push(this.warnings[s])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 129
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new bd.YAMLParseError(Cd(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 137
`};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let i="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.ke - Possible obfuscationline 141
\r `),yk=r=>!r||sB.has(r),vk=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 146
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 147
`,this.pos);if(n!==-1){for(;n!==-1;){let s=this.continueScalar(n+1);if(s===-1)break;n=i.indexOf( `,s)}n!==-1&&(t=n-(i[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pu - Possible obfuscationline 156
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&om.has(n))break;t=i}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield Sd.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 158
[Credential-related source omitted] - Possible obfuscationline 159
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 160
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let i="end"in t.value?t.value.end:void 0;(Array.isArray(i)? - Possible obfuscationline 161
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf( `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 162
`,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 164
[Credential-related source omitted] - Possible obfuscationline 166
`):n=String.fromCharCode(i),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(t){let i="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(x.UnterminatedString,this.state.startLoc);let s=this - Possible obfuscationline 167
`,++t,p===13&&e.charCodeAt(t)===10&&++t,++n,d=i=t):s.unterminated(o,a,l):++t}return{pos:t,str:u,firstInvalidLoc:c,lineStart:i,curLine:n,containsInvalid:!!c}}function VV(r,e,t,i){return r==="template"?e===96||e===36&&t.charCodeAt(i+1)===123: - Possible obfuscationline 168
[Credential-related source omitted] - Possible obfuscationline 169
`),cooked:s===null?null:s.slice(1,u)},a.tail=l,this.next();let d=this.finishNode(a,"TemplateElement");return this.resetEndLocation(d,Xr(this.state.lastTokEndLoc,u)),d}parseTemplate(e){let t=this.startNode(),i=this.parseTemplateElement(e),n= - Possible obfuscationline 170
`)!==s.join( `))throw new Error("Invalid project config write transaction: unexpected fields");if(i.schema!==jT)throw new Error("Invalid project config write transaction: unsupported schema");if(typeof i.id!="string"||!LT.test(i.id))throw n - Possible obfuscationline 171
`))throw new Error("Invalid project config write transaction: unexpected fields");if(i.schema!==jT)throw new Error("Invalid project config write transaction: unsupported schema");if(typeof i.id!="string"||!LT.test(i.id))throw new Error("Inv - Possible obfuscationline 172
`,{containedRoot:r,exclusive:!0}),{candidate:n.candidate,quarantine:n.quarantine}}async function zm(r){let e=await Kb(r);if(!e)return null;let{journal:t}=e,[i,n,s]=await Promise.all([Ks(r),Km(r,t.candidate),Km(r,t.quarantine)]);if(n!==null& - Possible obfuscationline 173
`,"utf8"),await ep.rename(n,i)}catch(s){throw await ep.rm(n,{force:!0}),s}}async function rg(r){await ep.rm(tp(r),{force:!0})}async function ip(r,e,t){let i=await fc(r);return i.status!=="selected"||i.selection.workflow!==e||i.selection.cha - Possible obfuscationline 174
`)}}function yO(r){try{let e=JSON.parse(r);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 175
`:""},this._extScope=e,this._scope=new Mn.Scope({parent:e}),this._nodes=[new TC]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let i=this._extSco - Possible obfuscationline 178
[Credential-related source omitted] - Possible obfuscationline 181
deps: ${t}}`};var Zz={keyword:"dependencies",type:"object",schemaType:"object",error:ws.error,code(r){let[e,t]=e8(r);JN(r,e),GN(r,t)}};function e8({schema:r}){let e={},t={};for(let i in r){if(i==="__proto__")continue;let n=Array.isArray(r[i - Possible obfuscationline 182
]`).replace("lheading",Y0).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},DU=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,jU=/^(`+)([^`]|[^` - Possible obfuscationline 183
`),t=e.length-1;for(;t>=0&&jr.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join( `)}function p4(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<r.length;i++)if(r[i]==="\\")i++;else if(r[i]===e[0])t++;else if(r - Possible obfuscationline 197
${h}`,n=n.substring(0,n.length-p.text.length)+g.text;break}else if(f?.type==="list"){let p=f,h=p.raw+ `+t.join( `),m=this.list(h);s[s.length-1]=m,i=i.substring(0,i.length-f.raw.length)+m.raw,n=n.substring(0,n.length-p.raw.length)+m.raw,t=h. - Possible obfuscationline 207
`,r=r.substring(k.length+1),d=A.slice(h)}}n.loose||(o?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(o=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}) - Possible obfuscationline 212
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules. - Possible obfuscationline 213
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){this.tokenizer.lexer=this,this.options - Possible obfuscationline 226
`+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInTex - Possible obfuscationline 244
`}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${ls(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${t - Network accessline 245
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+ls(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},sc=new m4;function Rt(r,e){return sc.pa - Possible obfuscationline 245
Please report this to https://github.com/markedjs/marked.`,r){let i="<p>An error occurred:</p><pre>"+ls(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},sc=new m4;function Rt(r,e){return sc.pa - Possible obfuscationline 246
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await Us(Q.dirname(t))}function PT(r){return Q.join(r,".runtime-migration-repair-failure.json")}async function IT(r){let e=[];async function t(i,n){let s;try{s=await Ie.readdir(i - Possible obfuscationline 248
`,"utf8")}catch{}}async function Db(r,e,t){let i=on(t.projectRoot),n=Q.resolve(t.sourceRoot??t.projectRoot),s=t.sourceRoot?Qd(n):i.projectRoot;if(r=Q.resolve(r),rr(n,r)&&(r=Q.join(s,Q.relative(n,r))),e=Q.resolve(e),r===s||!rr(s,r)||!rr(i.ru - Possible obfuscationline 250
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await Us(Q.dirname(r)),await t.testHooks?.afterFence?.();let f=await yi(u.backup,!0);if(Go(a)!==Go(f))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await qb(u.backup,u.stage - Possible obfuscationline 251
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await Us(f),await t.testHooks?.beforePublish?.(),await Mt(s,c,"directory"),Yo(await Ie.lstat(c,{bigint:!0}))!==d)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await u())return;tr - Possible obfuscationline 252
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;await $t(t)||(n&&await Ie.rmdir(e.runtimeRoot),await Nb(t,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:! - Possible obfuscationline 253
`;function Gt(r){return/^# comet-execution: managed-run\r?\n/u.test(r)}var j3=["open","design","build","verify","archive"],L3=["en","zh-CN"],M3=["off","beta"],q3=["subagent-driven-development","executing-plans","direct","autonomous"],F3=["p - Possible obfuscationline 254
[Credential-related source omitted] - Possible obfuscationline 255
`,{containedRoot:i,requireAtomicPublication:!0})}async function j(E){let N=(await k(E)).marker;if(!N||!["closing","reopening"].includes(N.state))return;let M=N.state==="closing",X=(await D(E,N)).record,G=await D(E,N),fe=M?d(E):f(E),ie=M?f(E - Possible obfuscationline 258
`)}}async function oe(E,N=!0){let M=(await k(E)).marker;if(M?.writerProtocol&&M.writerProtocol!==r.writerProtocol)throw new S("STORE_WRITER_FENCED","此 Run 需要应用协调写入协议");await j(E);let X=await k(E);if(X.marker?.schema===p)throw new S("STORE_R - Possible obfuscationline 259
[Credential-related source omitted] - Possible obfuscationline 260
`}function ma(r,e,t){let i=r.replace(/\r\n/gu, `),n=i.split( `),s=n[0]==="---"?n.indexOf("---",1):-1,o=t.match(/^([^:\n]+):/u)?.[1]?.trim();if(s!==-1){let l=n.slice(1,s);if(l.filter(c=>/^archived-with:/u.test(c)).length===1&&l.includes(`arc - Possible obfuscationline 266
`)){if(!t)continue;let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid check manifest entry");let{p:n,h:s,s:o,m:a}=i;if(typeof n!="string"||!n||typeof s!="string"||!s)throw new Error("Invalid check manif - Possible obfuscationline 267
`)+ `)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>t.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);i(c.slice(0,p)),i(c.slice(p))}};function n(c){if(c.includes(" - Possible obfuscationline 268
`)?.trimEnd().split(/\r?\n/u);if(f?.length===c.length&&f.every(p=>/^[0-9a-f]+$/iu.test(p))){c.forEach((p,h)=>t.set(p,f[h]));return}if(c.length>1){let p=Math.floor(c.length/2);i(c.slice(0,p)),i(c.slice(p))}};function n(c){if(c.includes("\0") - Possible obfuscationline 269
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function vn(r){let e=Un(r);if(e)throw new Error(e)}async function Ui(r,e){vn(e);let t=[],i=async n=>(await W(r,yn.relative(r,n),{label:"Classic cha - Possible obfuscationline 270
`, `).trim(),t=/^@ECHO off\nGOTO start\n:find_dp0\nSET dp0=%~dp0\nEXIT \/b\n:start\nSETLOCAL\nCALL :find_dp0\n\nIF EXIST "%dp0%\\node\.exe" \(\n {2}SET "_prog=%dp0%\\node\.exe"\n\) ELSE \(\n {2}SET "_prog=node"\n {2}SET PATHEXT=%PATHEXT:;\. - Possible obfuscationline 271
[Credential-related source omitted] - Possible obfuscationline 273
`,{containedRoot:n,exclusive:!0,requireAtomicPublication:!0})}catch(o){if(o.code!=="EEXIST")throw o;let a=await fw(n,t,e.workflow,e.change);if(JSON.stringify(a)!==JSON.stringify(i))throw new Error(`Change ${e.workflow}/${e.change} is alread - Possible obfuscationline 275
`,{label:"Classic archive requirements"})}async function gu(r,e){let t=si.join(e,E$),i=["proposal.md","design.md","tasks.md"];if(await nt(r,t,{label:"Classic archive requirements",expected:"file"})){let s=JSON.parse(await Y(r,t,{label:"Clas - Possible obfuscationline 276
`,Ss.trajectory,"Run trajectory",i)}async function N$(r,e,t={}){Jn(r,e);let i=await Gs(r,e,Ss.trajectory,"Run trajectory",t);return i===null?[]:i.split(/\r?\n/).map((n,s)=>({line:n,number:s+1})).filter(({line:n})=>n.length>0).map(({line:n,n - Possible obfuscationline 279
`,Ss.checkpoint,"Run checkpoint",i)}async function H$(r,e,t={}){Jn(r,e);let i=await Gs(r,e,Ss.checkpoint,"Run checkpoint",t);return i===null?null:JSON.parse(i)}import Sa from"node:path";async function Uc(r,e){let t=Sa.resolve(r,e),i=Sa.rela - Possible obfuscationline 280
`}async function uD(r){let e=s7(r),t=await a7(r);return{document:e,files:t,hash:c7(e,t)}}async function xw(r){return(await uD(r)).hash}async function aD(r){try{return await yr.access(r),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}asy - Possible obfuscationline 282
`));let u=await xw(a);if(u!==e)throw new Error(`calculated hash is ${u}`);return a}catch(n){throw new Error(`Skill snapshot is invalid or missing: ${e}`,{cause:n})}}async function dD(r){try{return await FR.access(r),!0}catch(e){if(e.code=== - Possible obfuscationline 283
`)+ `}:{},...this.stderr.length>0?{stderr:this.stderr.join( `)+ `}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function Pa(r,e,t){return await nt(r,e,{label:t,expected:"file"})?Y(r,e,{label:t}):null}async function Iw(r - Possible obfuscationline 286
`}:{},...this.envelope===void 0?{}:{envelope:this.envelope}}}};async function Pa(r,e,t){return await nt(r,e,{label:t,expected:"file"})?Y(r,e,{label:t}):null}async function Iw(r,e,t,i){await Qe(r,e,t,{label:i})}function x7(r){let e=Un(r);if( - Possible obfuscationline 290
`),d=["{",` "change": "${xD(i)}",`,' "phase": "design",',` "mode": "${n}",`,' "canonical_spec": "openspec",',' "task_hash_policy": "task-content-v1",',' "generated_by": "comet-handoff.sh",',` "context_hash": "${s}",`,' "files": [',c - Possible obfuscationline 293
`,"Classic handoff spec JSON output")}async function jD(r){let{projectRoot:e,changeDir:t,change:i}=r,n=at(e,t),s=await oi(e,t);if(s.problems.length)throw new Error(s.problems.join( `));let o=await ho(e,t,n),a=new Map(o.map(h=>[pf.resolve(h. - Possible obfuscationline 294
`));let o=await ho(e,t,n),a=new Map(o.map(h=>[pf.resolve(h.file),h]));for(let h of s.files)if(!await KR(e,h,a))throw new Error(`Required OpenSpec artifact is missing or empty: ${h}`);let l=`${t}/.comet/handoff`;await Ai(e,`${t}/.comet`,"Cla - Possible obfuscationline 295
`)));let p=await ho(l.projectRoot,c,d),h=new Map(p.map(G=>[pf.resolve(G.file),G])),m=f.files.map(G=>pf.relative(c,G).replaceAll("\\","/"));if(i==="--hash-only"){if(!u.exists)throw new Or(_i(`ERROR: change directory not found: ${d}`));for(le - Possible obfuscationline 296
`));let A=at(l.projectRoot,C),D=at(l.projectRoot,k),T=vu(p),J=`classic-handoff:${T}`,j=await Me(c);if(!j.classic)throw new Or(_i("ERROR: design handoff requires Classic state"));let B=j.run?await bw(c,j.run.pendingRef):null,R=B?.id===J&&B.t - Possible obfuscationline 297
`))e.stderr.push(u);return e.toResult(l.exitCode)}throw l}});import{createHash as _7}from"node:crypto";import N7 from"node:path";function pt(r){if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Classic delivery recovery evidence
assets/skills/comet/scripts/comet-yaml-validate.mjs
- Executable scriptline 1
#!/usr/bin/env node - Possible obfuscationline 4
var If=Object.create;var Ws=Object.defineProperty;var jf=Object.getOwnPropertyDescriptor;var Lf=Object.getOwnPropertyNames;var Df=Object.getPrototypeOf,Mf=Object.prototype.hasOwnProperty;var An=(t=>typeof require<"u"?require:typeof Proxy<"u - Possible obfuscationline 5
`)}};Ft.defaultYaml={explicit:!1,version:"1.2"};Ft.defaultTags={"!!":"tag:yaml.org,2002:"};ra.Directives=Ft});var Wn=v(Wt=>{"use strict";var ia=R(),hd=$t();function gd(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let n=`Anchor must not contain whit - Possible obfuscationline 6
`)?Ri(n,e):n.includes( `)? `+Ri(n,e):(t.endsWith(" ")?"":" ")+n;Un.indentComment=Ri;Un.lineComment=Dd;Un.stringifyComment=Ld});var wa=v(Ut=>{"use strict";var Md="flow",Ni="block",Hn="quoted";function $d(t,e,n="flow",{indentAtStart:r,lineWid - Possible obfuscationline 36
${l}`);if(s){let d=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(f),{compat:p,tags:h}=e.doc.schema;if(h.some(d)||p?.some(d))return wt(o,e)}return a?f:xe.foldFlowLines(f,l,xe.FOLD_FLOW,Vn(e,!1))}function qd(t,e,n,r){let{implici - Possible obfuscationline 43
`):x+= ${n.indent}`}else if(!p&&we.isCollection(e)){let A=E[0],C=E.indexOf( `),D=C!==-1,Se=n.inFlow??e.flow??e.items.length===0;if(D||!Se){let dt=!1;if(D&&(A==="&"||A==="!")){let M=E.indexOf(" ");A==="&"&&M!==-1&&M<C&&E[M+1]==="!"&&(M=E.ind - Possible obfuscationline 47
`)&&(x="");return g+=x+E,n.inFlow?_&&r&&r():k&&!_?g+=Gt.lineComment(g,n.indent,c(k)):m&&i&&i(),g}ka.stringifyPair=Gd});var ji=v(Ii=>{"use strict";var Ea=An("process");function zd(t,...e){t==="debug"&&console.log(...e)}function Xd(t,e){(t=== - Possible obfuscationline 54
${i}${p}`}else return`${d}${s}${f.join(" ")}${s}${p}`}function ir({indent:t,options:{commentString:e}},n,r,i){if(r&&i&&(r=r.replace(/^\n+/,"")),r){let o=rr.indentComment(e(r),t);n.push(o.trimStart())}}Ta.stringifyCollection=sm});var Oe=v(qi - Possible obfuscationline 57
${o.comment}`:r.comment}r=i}t.items[n]=mr.isPair(r)?r:new Qi.Pair(r)}}else e("Expected a sequence for this tag");return t}function ec(t,e,n){let{replacer:r}=n,i=new Vm.YAMLSeq(t);i.tag="tag:yaml.org,2002:pairs";let o=0;if(e&&Symbol.iterator - Possible obfuscationline 58
`)?(n.push("..."),n.push(rn.indentComment(l,""))):n.push(`... ${l}`)}else n.push("...");else{let l=t.comment;l&&s&&(l=l.replace(/^\n+/,"")),l&&((!s||a)&&n[n.length-1]!==""&&n.push(""),n.push(rn.indentComment(o(l),"")))}return n.join( `)+ `} - Possible obfuscationline 60
`}Pc.stringifyDocument=Tp});var on=v(Nc=>{"use strict";var Ip=Bt(),kt=Jn(),te=R(),jp=Re(),Lp=Ce(),Dp=wo(),Mp=Rc(),bo=Wn(),$p=Si(),Fp=Kt(),vo=ki(),ko=class t{constructor(e,n,r){this.commentBefore=null,this.comment=null,this.errors=[],this.wa - Possible obfuscationline 65
`}};an.YAMLError=sn;an.YAMLParseError=So;an.YAMLWarning=Eo;an.prettifyError=Wp});var ln=v(Oc=>{"use strict";function qp(t,{flow:e,indicator:n,next:r,offset:i,onError:o,parentIndent:s,startOnNewline:a}){let l=!1,c=a,u=a,f="",d="",p=!1,h=!1,m - Possible obfuscationline 66
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let n of e.start)if(n.type==="newline")return!0;if(e.sep){for(let n of e.sep)if(n.type==="newline")return!0}if( - Possible obfuscationline 67
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||Hp.containsNewline(d))&&i(d??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==r.indent&&i(l,"BAD_INDENT",$c);n.atKey=!0 - Possible obfuscationline 68
`+k.comment:b.comment=k.comment);let _=new Lc.Pair(b);n.options.keepSourceTokens&&(_.srcToken=u),a.items.push(_)}}return c&&c<l&&i(c,"IMPOSSIBLE","Map comment with trailing content"),a.range=[r.offset,l,c??l],a}Fc.resolveBlockMap=Vp});var B - Possible obfuscationline 72
`+g.comment:c.comment=g.comment),c.range=[r.offset,m,g.offset]}else c.range=[r.offset,m,m];return c}Hc.resolveFlowCollection=sh});var Gc=v(Vc=>{"use strict";var ah=R(),ch=I(),lh=Oe(),uh=Ae(),fh=Wc(),dh=Bc(),mh=Yc();function No(t,e,n,r,i,o){ - Possible obfuscationline 79
`),f+=d+g.slice(l)+y,d= `,p=!0):y===""?d=== `?f+= `:d= `:(f+=d+y,d=" ",p=!1)}switch(i.chomp){case"-":break;case"+":for(let m=a;m<s.length;++m)f+= `+s[m][0].slice(l);f[f.length-1]!== `&&(f+= `);break;default:f+= `}let h=r+i.length+e.source.l - Possible obfuscationline 87
`}let h=r+i.length+e.source.length;return{value:f,type:o,comment:i.comment,range:[r,h,h]}}function gh({offset:t,props:e},n,r){if(e[0].type!=="block-scalar-header")return r(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i - Possible obfuscationline 89
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,n=/[ \t]*(.*?)[ \t]*\r?\n/sy}let r=e.exec(t);if(!r)return t;let i=r[1],o=" ",s=e.lastIndex;for(n.lastIndex=s;r=n.exec(t);)r[1]===""?o=== `?i+=o:o= `:(i+=o+r[1],o=" "),s=n.lastIndex;let a=/[ \t]*(.*)/sy;r - Possible obfuscationline 103
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function _h(t,e,n,r){let i=t.substr(e,n),s=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(s)}catch{let a=t.substr(e-2,n+2);r - Possible obfuscationline 109
${s}`:r}}if(n){for(let o=0;o<this.errors.length;++o)e.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)e.warnings.push(this.warnings[o])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],thi - Possible obfuscationline 110
${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new un.YAMLParseError(fn(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc - Possible obfuscationline 118
`};delete t.items,Object.assign(t,{type:n,source:e,end:[i]});break}default:{let r="indent"in t?t.indent:-1,i="end"in t&&Array.isArray(t.end)?t.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.ke - Possible obfuscationline 122
\r `),Uo=t=>!t||ug.has(t),Ho=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.p - Possible obfuscationline 127
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.b - Possible obfuscationline 128
`,this.pos);if(i!==-1){for(;i!==-1;){let o=this.continueScalar(i+1);if(o===-1)break;i=r.indexOf( `,o)}i!==-1&&(n=i-(r[i-1]==="\r"?2:1))}if(n===-1){if(!this.atEnd)return this.setNext("quoted-scalar");n=this.buffer.length}return yield*this.pu - Possible obfuscationline 137
`){let s=this.continueScalar(r+1);if(s===-1)break;r=Math.max(r,s-2)}}else{if(e&&Or.has(i))break;n=r}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield dn.SCALAR,yield*this.pushToIndex(n+1,!0),e?"flow":"doc")}*pushCount(e){return e>0? - Possible obfuscationline 139
[Credential-related source omitted] - Possible obfuscationline 140
`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf( `,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let n=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=! - Possible obfuscationline 141
`,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let n=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){let r="end"in n.value?n.value.end:void 0;(Array.isArray(r)? - Possible obfuscationline 142
`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf( `,n)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":ca - Possible obfuscationline 143
`,n)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block- - Possible obfuscationline 144
`)}){if(wu.getStore())return t();let n={label:"执行工作流命令"},r=Date.now(),i=setInterval(()=>{try{e({...n,elapsedMs:Date.now()-r})}catch{}},5e3);i.unref?.();try{return await wu.run(n,t)}finally{clearInterval(i)}}function Fw(t=0){Mw+=1,$w+=t;for( - Possible obfuscationline 157
}`,Qw=gs("sha256").update(Ru).digest("hex"),Zw=1e4,Jr=new Map;async function hs(t,e){let n=await Z.lstat(t,{bigint:!0});if(!n.isFile()||n.isSymbolicLink()||n.size>BigInt(e))throw new Error("Invalid process probe cache");let r=await Z.readFi - Possible obfuscationline 158
`)}}function Lu(t){try{let e=JSON.parse(t);return Number.isSafeInteger(e.pid)&&Number(e.pid)>0&&typeof e.nonce=="string"&&e.nonce.length>0&&typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)&&(e.hostname===void 0||typeof e.hostname= - Possible obfuscationline 159
[Credential-related source omitted] - Possible obfuscationline 163
`)}}import{createHash as _y}from"node:crypto";import{lstatSync as kn,readFileSync as xy,realpathSync as Ju}from"node:fs";import Py from"node:os";import U from"node:path";function Es(t){return`${t.dev}:${t.ino}:${t.birthtimeNs}`}function Qr( - Possible obfuscationline 164
`,{containedRoot:e,exclusive:!0,requireAtomicPublication:!0}),await ke(w.dirname(n))}function Zu(t){return w.join(t,".runtime-migration-repair-failure.json")}async function ef(t){let e=[];async function n(r,i){let o;try{o=await P.readdir(r, - Possible obfuscationline 166
`,"utf8")}catch{}}async function Ps(t,e,n){let r=re(n.projectRoot),i=w.resolve(n.sourceRoot??n.projectRoot),o=n.sourceRoot?En(i):r.projectRoot;if(t=w.resolve(t),L(i,t)&&(t=w.join(o,w.relative(i,t))),e=w.resolve(e),t===o||!L(o,t)||!L(r.runti - Possible obfuscationline 168
`,{containedRoot:s,exclusive:!0,requireAtomicPublication:!0}),await ke(w.dirname(t)),await n.testHooks?.afterFence?.();let d=await X(c.backup,!0);if(Fe(a)!==Fe(d))throw new Error("旧 Runtime 在建立兼容 fence 期间发生变化");if(await As(c.backup,c.stage, - Possible obfuscationline 169
`,{containedRoot:o,exclusive:!0,requireAtomicPublication:!0}),await ke(d),await n.testHooks?.beforePublish?.(),await T(o,u,"directory"),We(await P.lstat(u,{bigint:!0}))!==f)throw new Error("Runtime 兼容标记父目录在发布前发生变化");if(await c())return;try{ - Possible obfuscationline 170
`,{containedRoot:e.projectRoot,exclusive:!0,requireAtomicPublication:!0})}catch(s){if(s.code!=="EEXIST")throw s;await ie(n)||(i&&await P.rmdir(e.runtimeRoot),await _s(n,e.runtimeRoot,{projectRoot:e.projectRoot,ignoreForeignWorkspaceFence:!0 - Possible obfuscationline 171
`,{containedRoot:n})};i.readOnly?await u():await bs(S.join(n,o,`${r}.lock`),u)}async function By(t,e,n={}){let r=e??await nt(t),i;try{i=await uf(r,t)}catch(h){if(h.code==="ENOENT")return null;throw h}let{document:o,id:s}=i,a=S.relative(r,t) - Possible obfuscationline 172
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function wf(t){let e=Ds(t);if(e)throw new Error(e)}function Hy(t,e){return{label:xt(t,e),directory:e}}async function Ls(t,e,n){let r=Hy(t,e);if(!(a - Possible obfuscationline 174
`)}}let h=p.toJS();for(let m of eb)Object.prototype.hasOwnProperty.call(h,m)||u(`missing required field '${m}'`);for(let[m,g]of Object.entries(tb)){if(!Object.prototype.hasOwnProperty.call(h,m))continue;let y=Rn(h[m]);if(!y){m==="auto_trans - Possible obfuscationline 181
`;function Sf(t,e){let n=e.indexOf("--"),r=n<0?e:e.slice(0,n);if(!r.includes("--help")&&!r.includes("-h"))return;let i={check:["comet check run <change> <build|verify> [--local] [--incremental] [--cwd <path>] [--timeout-ms <ms>] -- <program - Possible obfuscationline 184
`:void 0}function Ef(t,e){let n=m=>m!==null&&typeof m=="object"&&!Array.isArray(m)?m:{},r=n(t),i=n(r.entry),o=n(r.run??i.run??(typeof r.runId=="string"?r:void 0)),s=n(r.state??i.state??r),a=n(r.preparation??r.workspace??i.workspace),l=n(r.c - Possible obfuscationline 201
WHERE excluded.revision >= trace_spans.revision OR (trace_spans.started_at IS NULL AND excluded.started_at IS NOT NULL)`),i=e.length>1e3?[...e.filter(o=>o.parentSpanId===null),...e.filter(o=>o.parentSpanId!==null).slice(-999)].slice(0,1e3): - Possible obfuscationline 207
BEGIN IMMEDIATE;`),n.prepare("DELETE FROM samples WHERE occurredAt < ?").run(new Date(Date.now()-hb).toISOString()),n.prepare("INSERT INTO samples VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)").run(pb(),e.workflow,e.kind,e.command,e.occurredAt,e.dura
eval/archives/grill-test-20261013/application/application.mjs
- Executable scriptline 1
Executable file - Possible obfuscationline 4
const composition={"executorIds":["grill-test-host","grill-test-local"],"kind":"standalone","transitionHandlers":[],"validatorRefs":[{"id":"grill-test-spec","version":"1"},{"id":"grill-test-tickets","version":"1"},{"id":"grill-test-implemen
eval/archives/grill-test-20261013/application/bindings.mjs
- Executable scriptline 1
Executable file
eval/archives/grill-test-20261013/application/skills/setup-matt-pocock-skills/SKILL.md
- Network accessline 44
- **GitHub** — issues live in the repo's GitHub Issues (uses the `gh` CLI) - **GitLab** — issues live in the repo's GitLab Issues (uses the [`glab`](https://gitlab.com/gitlab-org/cli) CLI) - Network accessline 45
- **GitLab** — issues live in the repo's GitLab Issues (uses the [`glab`](https://gitlab.com/gitlab-org/cli) CLI)
eval/archives/grill-test-20261013/application/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md
- Network accessline 3
Issues and specs for this repo live as GitLab issues. Use the [`glab`](https://gitlab.com/gitlab-org/cli) CLI for all operations.
eval/archives/grill-test-20261013/application/skills/tdd/mocking.md
- Access to secretsline 32
[Credential-related source omitted] - Network accessline 42
// GOOD: Each function is independently mockable const api = { getUser: (id) => fetch(`/users/${id}`), - Network accessline 43
const api = { getUser: (id) => fetch(`/users/${id}`), getOrders: (userId) => fetch(`/users/${userId}/orders`), - Network accessline 44
getUser: (id) => fetch(`/users/${id}`), - Network accessline 45
getOrders: (userId) => fetch(`/users/${userId}/orders`), - Network accessline 46
createOrder: (data) => fetch('/orders', { method: 'POST', body: data }), - Network accessline 49
// BAD: Mocking requires conditional logic inside the mock const api = { fetch: (endpoint, options) => fetch(endpoint, options), - Network accessline 50
const api = { fetch: (endpoint, options) => fetch(endpoint, options), }; - Network accessline 51
fetch: (endpoint, options) => fetch(endpoint, options),
eval/archives/grill-test-20261013/application/tools/session.mjs
- Executable scriptline 1
Executable file
eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-archive.sh
- Executable scriptline 1
#!/bin/bash
eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-env.sh
- Executable scriptline 1
#!/bin/bash
eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-guard.sh
- Executable scriptline 1
#!/bin/bash
eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-handoff.sh
- Executable scriptline 1
#!/bin/bash
eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-hook-guard.sh
- Executable scriptline 1
#!/bin/bash
eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-state.sh
- Executable scriptline 1
#!/bin/bash
eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-yaml-validate.sh
- Executable scriptline 1
#!/bin/bash
eval/local/skills/benchmarks/040-beta/comet/scripts/comet-archive.mjs
eval/local/skills/benchmarks/040-beta/comet/scripts/comet-env.mjs
- Executable scriptline 1
#!/usr/bin/env node
eval/local/skills/benchmarks/040-beta/comet/scripts/comet-guard.mjs
eval/local/skills/benchmarks/040-beta/comet/scripts/comet-handoff.mjs
eval/local/skills/benchmarks/040-beta/comet/scripts/comet-hook-guard.mjs
eval/local/skills/benchmarks/040-beta/comet/scripts/comet-intent.mjs
- Executable scriptline 1
#!/usr/bin/env node
eval/local/skills/benchmarks/040-beta/comet/scripts/comet-state.mjs
eval/local/skills/benchmarks/040-beta/comet/scripts/comet-yaml-validate.mjs
eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/helper.js
- Executable scriptline 1
Executable file
eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/server.cjs
- Executable scriptline 1
Executable file - Network accessline 104
const STATE_DIR = path.join(SESSION_DIR, 'state'); const SUPERPOWERS_VERSION = readSuperpowersVersion(); const SUPERPOWERS_BRAND_IMAGE_URL = 'https://primeradiant.com/brand/superpowers-visual-brainstorming-logo.png'; - Network accessline 105
const SUPERPOWERS_VERSION = readSuperpowersVersion(); const SUPERPOWERS_BRAND_IMAGE_URL = 'https://primeradiant.com/brand/superpowers-visual-brainstorming-logo.png'; const TELEMETRY_DISABLE_ENV_VARS = [ - Network accessline 106
const SUPERPOWERS_BRAND_IMAGE_URL = 'https://primeradiant.com/brand/superpowers-visual-brainstorming-logo.png'; - Access to secretsline 133
[Credential-related source omitted] - Access to secretsline 134
[Credential-related source omitted] - Network accessline 251
return '<div class="brand"><a href="https://github.com/obra/superpowers">' + logo + '<span class="brand-copy">' + text + '</span></a></div>';
eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/start-server.sh
eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/stop-server.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 22
rm -f "${STATE_DIR}/server-info" - Dangerous shell operationline 79
rm -f "$PID_FILE" "$SERVER_ID_FILE" - Dangerous shell operationline 109
rm -f "$PID_FILE" "$SERVER_ID_FILE" "${STATE_DIR}/server.log" - Dangerous shell operationline 114
rm -rf "$SESSION_DIR"
eval/local/skills/benchmarks/dependency/superpowers/brainstorming/visual-companion.md
- Network accessline 40
# Returns: {"type":"server-started","port":52341, # "url":"http://localhost:52341/?key=ab12…", - Network accessline 41
# "url":"http://localhost:52341/?key=ab12…", - Network accessline 48
**The URL contains a session key (`?key=…`).** The server rejects any request without it, so always give the user the **complete** URL from the `url` field — never strip the query string, and never hand out a bare `http://host:port`. The - Network accessline 49
without it, so always give the user the **complete** URL from the `url` field — never strip the query string, and never hand out a bare `http://host:port`. The key gates HTTP and WebSocket access so a stray browser tab or another machine on - Network accessline 50
never strip the query string, and never hand out a bare `http://host:port`. The - Access to secretsline 53
[Credential-related source omitted]
eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/review-package
- Executable scriptline 1
#!/usr/bin/env bash
eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/sdd-workspace
- Executable scriptline 1
#!/usr/bin/env bash
eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/task-brief
- Executable scriptline 1
#!/usr/bin/env bash
eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/SKILL.md
eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting-example.ts
- Executable scriptline 1
Executable file
eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/find-polluter.sh
- Executable scriptline 1
#!/usr/bin/env bash
eval/local/skills/benchmarks/dependency/superpowers/writing-skills/SKILL.md
- Network accessline 95
**Frontmatter (YAML):** - Two required fields: `name` and `description` (see [agentskills.io/specification](https://agentskills.io/specification) for all supported fields) - Network accessline 96
- Two required fields: `name` and `description` (see [agentskills.io/specification](https://agentskills.io/specification) for all supported fields) - Network accessline 636
**GREEN Phase - Write Minimal Skill:** - [ ] Name uses only letters, numbers, hyphens (no parentheses/special chars) - [ ] YAML frontmatter with required `name` and `description` fields (max 1024 chars; see [spec](https://agentskills.io/spe - Network accessline 637
- [ ] Name uses only letters, numbers, hyphens (no parentheses/special chars) - [ ] YAML frontmatter with required `name` and `description` fields (max 1024 chars; see [spec](https://agentskills.io/specification)) - [ ] Description starts w - Network accessline 638
- [ ] YAML frontmatter with required `name` and `description` fields (max 1024 chars; see [spec](https://agentskills.io/specification))
eval/local/skills/benchmarks/dependency/superpowers/writing-skills/anthropic-best-practices.md
- Network accessline 7
For conceptual background on how Skills work, see the [Skills overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview). - Network accessline 13
The [context window](https://platform.claude.com/docs/en/build-with-claude/context-windows) is a public good. Your Skill shares the context window with everything else your agent needs to know, including: - Network accessline 152
For complete Skill structure details, see the [Skills overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview#skill-structure). - Network accessline 237
SKILL.md serves as an overview that points agents to detailed materials as needed, like a table of contents in an onboarding guide. For an explanation of how progressive disclosure works, see [How Skills work](https://platform.claude.com/do - Network accessline 249
<img src="https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-simple-file.png?fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=87782ff239b297d9a9e8e1b72ed72db9" alt="Simple SKILL.md file showing YAML frontmatter and - Network accessline 253
<img src="https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-bundling-content.png?fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=a5e0aa41e3d53985a7e3e43668a33ea3" alt="Bundling additional reference files like refe - Network accessline 919
<img src="https://mintcdn.com/anthropic-claude-docs/4Bny2bjzuGBK7o00/images/agent-skills-executable-scripts.png?fit=max&auto=format&n=4Bny2bjzuGBK7o00&q=85&s=4bbc45f2c2e0bee9f2f0d5da669bad00" alt="Bundling executable scripts alongside instr - Network accessline 1011
List required packages in your SKILL.md and verify they're available in the [code execution tool documentation](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool). - Network accessline 1015
Skills run in a code execution environment with filesystem access, bash commands, and code execution capabilities. For the conceptual explanation of this architecture, see [The Skills architecture](https://platform.claude.com/docs/en/agents - Network accessline 1051
For complete details on the technical architecture, see [How Skills work](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview#how-skills-work) in the Skills overview. - Network accessline 1095
The SKILL.md frontmatter requires `name` (64 characters max) and `description` (1024 characters max) fields. See the [Skills overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview#skill-structure) for complete - Network accessline 1099
Keep SKILL.md body under 500 lines for optimal performance. If your content exceeds this, split it into separate files using the progressive disclosure patterns described earlier. For architectural details, see the [Skills overview](https:/ - Network accessline 1138
<CardGroup cols={2}> <Card title="Get started with Agent Skills" icon="rocket" href="https://platform.claude.com/docs/en/agents-and-tools/agent-skills/quickstart"> - Network accessline 1139
<Card title="Get started with Agent Skills" icon="rocket" href="https://platform.claude.com/docs/en/agents-and-tools/agent-skills/quickstart"> - Network accessline 1143
<Card title="Use Skills in Claude Code" icon="terminal" href="https://code.claude.com/docs/en/skills"> - Network accessline 1147
<Card title="Use Skills with the API" icon="code" href="https://platform.claude.com/docs/en/build-with-claude/skills-guide">
eval/local/skills/benchmarks/dependency/superpowers/writing-skills/render-graphs.js
- Executable scriptline 1
#!/usr/bin/env node
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 2 facts
- Contacts primeradiant.com, which SKILL.md, the README and the plugin manifest do not mentionbrainstorming/scripts/server.cjs:106High confidence
- Contacts github.com, which SKILL.md, the README and the plugin manifest do not mentionbrainstorming/scripts/server.cjs:251High confidence
Hidden characters: 1 fact
- Joiner U+200C outside an emoji or a script that needs it, in codecomet/scripts/comet-resume-probe.mjs:165High confidence
Signal confidence: 302 facts
- Instruction override signal in prose of the SKILL.mdcomet-classic/SKILL.md:92High confidence
- Instruction override signal in prose of documentationcomet/rules/comet-phase-guard.en.md:26Low confidence
- Instruction override signal in prose of documentationcomet/rules/comet-phase-guard.en.md:27Low confidence
- Instruction override signal in prose of documentationcomet/rules/comet-phase-guard.en.md:28Low confidence
- Executable script in code of a file that runscomet/scripts/comet-entry-runtime.mjs:1High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:4High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:5High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:6High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:36High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:43High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:47High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:54High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:57High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:58High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:60High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:65High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:66High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:67High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:68High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:72High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:79High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:87High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:89High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:103High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:109High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:110High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:118High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:120High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:122High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:127High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:128High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:137High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:139High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:140High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:141High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:142High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:143High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-entry-runtime.mjs:156High confidence
- Executable script in code of a file that runscomet/scripts/comet-env.mjs:1High confidence
- Executable script in code of a file that runscomet/scripts/comet-hook-router.mjs:1High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-hook-router.mjs:4High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-hook-router.mjs:15High confidence
- Executable script in code of a file that runscomet/scripts/comet-intent.mjs:1High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-intent.mjs:4High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-intent.mjs:5High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-intent.mjs:6High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-intent.mjs:36High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-intent.mjs:43High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-intent.mjs:47High confidence
- Possible obfuscation in code of a file that runscomet/scripts/comet-intent.mjs:54High confidence
and 252 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Path .claude/rules/01-workspace-safety.md | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md assets/skills-maintainer/comet-bilingual-docs/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md assets/skills-maintainer/comet-bilingual-docs/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md assets/skills-maintainer/comet-bilingual-docs/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md assets/skills-maintainer/comet-bilingual-docs/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/rpamis-comet/)