just-vibe 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +20 -8
- package/docs/adaptive-assistance.md +44 -0
- package/docs/command-quality.md +3 -1
- package/docs/compatibility.md +9 -1
- package/docs/prompt-improvements.md +19 -0
- package/docs/releases.md +6 -0
- package/docs/technical-coverage.md +30 -30
- package/evals/README.md +4 -0
- package/evals/behavior/harness.mjs +2 -5
- package/evals/conversation/README.md +59 -0
- package/evals/conversation/controls/atomic.mjs +9 -0
- package/evals/conversation/controls/browser.mjs +15 -0
- package/evals/conversation/controls/cleanup.mjs +15 -0
- package/evals/conversation/controls/fingerprint.mjs +16 -0
- package/evals/conversation/controls/privacy.mjs +5 -0
- package/evals/conversation/controls/rules.mjs +5 -0
- package/evals/conversation/controls/transcript.mjs +6 -0
- package/evals/conversation/fixture/README.md +13 -0
- package/evals/conversation/fixture/src/atomic.mjs +7 -0
- package/evals/conversation/fixture/src/browser.mjs +5 -0
- package/evals/conversation/fixture/src/cleanup.mjs +13 -0
- package/evals/conversation/fixture/src/fingerprint.mjs +16 -0
- package/evals/conversation/fixture/src/privacy.mjs +4 -0
- package/evals/conversation/fixture/src/rules.mjs +6 -0
- package/evals/conversation/fixture/src/transcript.mjs +5 -0
- package/evals/conversation/harness.mjs +96 -0
- package/evals/conversation/oracle.mjs +85 -0
- package/evals/releases/0.8.0-publication.json +35 -0
- package/evals/releases/0.8.0-technical-guidance.md +4 -0
- package/evals/releases/0.8.0.md +4 -0
- package/evals/releases/0.8.1-publication.json +38 -0
- package/evals/releases/0.8.1.md +15 -0
- package/evals/releases/0.9.0.md +19 -0
- package/evals/releases/prompt-improvements/conversation.json +348 -0
- package/evals/releases/prompt-improvements/lesson.json +8 -0
- package/evals/releases/prompt-improvements/lesson.md +55 -0
- package/evals/releases/prompt-improvements.md +32 -0
- package/evals/scenarios.json +1108 -18
- package/package.json +7 -2
- package/plugins/just-vibe/.claude-plugin/plugin.json +1 -1
- package/plugins/just-vibe/.codex-plugin/plugin.json +1 -1
- package/plugins/just-vibe/catalog/commands.json +646 -397
- package/plugins/just-vibe/catalog/packs.json +154 -22
- package/plugins/just-vibe/catalog/profiles.json +224 -112
- package/plugins/just-vibe/hooks/hooks.json +7 -1
- package/plugins/just-vibe/references/adaptive.md +102 -0
- package/plugins/just-vibe/references/command-reference.md +2 -2
- package/plugins/just-vibe/references/daily-workflows.md +4 -4
- package/plugins/just-vibe/references/examples/api.md +15 -0
- package/plugins/just-vibe/references/examples/architecture.md +15 -0
- package/plugins/just-vibe/references/examples/backend.md +15 -0
- package/plugins/just-vibe/references/examples/data.md +15 -0
- package/plugins/just-vibe/references/examples/database.md +15 -0
- package/plugins/just-vibe/references/examples/decisions.md +15 -0
- package/plugins/just-vibe/references/examples/general.md +15 -0
- package/plugins/just-vibe/references/examples/git.md +15 -0
- package/plugins/just-vibe/references/examples/github.md +15 -0
- package/plugins/just-vibe/references/examples/installation.md +15 -0
- package/plugins/just-vibe/references/examples/llm.md +15 -0
- package/plugins/just-vibe/references/examples/ml-data.md +15 -0
- package/plugins/just-vibe/references/examples/ml-deployment.md +15 -0
- package/plugins/just-vibe/references/examples/ml-evaluation.md +15 -0
- package/plugins/just-vibe/references/examples/ml-experiments.md +15 -0
- package/plugins/just-vibe/references/examples/operations.md +15 -0
- package/plugins/just-vibe/references/examples/react.md +15 -0
- package/plugins/just-vibe/references/examples/security.md +15 -0
- package/plugins/just-vibe/references/examples/testing.md +15 -0
- package/plugins/just-vibe/references/examples/ui.md +15 -0
- package/plugins/just-vibe/references/examples/vercel.md +15 -0
- package/plugins/just-vibe/references/examples/vite.md +15 -0
- package/plugins/just-vibe/references/execution.md +19 -1
- package/plugins/just-vibe/references/frontend-icons.md +9 -0
- package/plugins/just-vibe/references/memory-checks.md +2 -2
- package/plugins/just-vibe/references/practice.md +1 -1
- package/plugins/just-vibe/references/profile-comparisons.md +18 -0
- package/plugins/just-vibe/references/profiles/accessibility-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/agent-systems-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/ai-evaluation-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/ai-security-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/analytics-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/android-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/api-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/application-security-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/applied-ai-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/backend-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/bioinformatics-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/blockchain-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/build-release-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/business-intelligence-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/capacity-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/causal-inference-scientist.md +6 -0
- package/plugins/just-vibe/references/profiles/cloud-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/cloud-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/cloud-security-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/compiler-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/computer-vision-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/controls-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/creative-technologist.md +6 -0
- package/plugins/just-vibe/references/profiles/cryptography-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/data-analyst.md +6 -0
- package/plugins/just-vibe/references/profiles/data-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/data-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/data-governance-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/data-platform-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/data-quality-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/data-scientist.md +6 -0
- package/plugins/just-vibe/references/profiles/database-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/database-reliability-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/design-systems-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/desktop-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/detection-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/developer-advocate.md +6 -0
- package/plugins/just-vibe/references/profiles/developer-experience-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/devops-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/distributed-systems-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/edge-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/embedded-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/engineering-manager.md +6 -0
- package/plugins/just-vibe/references/profiles/enterprise-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/experimentation-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/finops-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/firmware-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/frontend-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/frontend-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/fullstack-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/game-networking-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/gameplay-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/geospatial-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/graphics-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/hpc-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/identity-access-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/inference-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/infrastructure-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/integration-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/integration-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/ios-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/iot-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/kubernetes-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/llm-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/machine-learning-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/ml-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/ml-data-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/ml-platform-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/mlops-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/mobile-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/network-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/nlp-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/observability-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/performance-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/platform-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/platform-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/principal-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/privacy-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/product-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/product-security-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/protocol-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/qa-automation-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/recommendation-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/reinforcement-learning-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/research-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/research-scientist.md +6 -0
- package/plugins/just-vibe/references/profiles/responsible-ai-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/robotics-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/runtime-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/scientific-software-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/search-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/security-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/security-automation-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/security-incident-responder.md +6 -0
- package/plugins/just-vibe/references/profiles/senior-software-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/simulation-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/site-reliability-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/software-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/solutions-architect.md +6 -0
- package/plugins/just-vibe/references/profiles/speech-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/staff-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/storage-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/streaming-data-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/supply-chain-security-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/systems-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/tech-lead.md +6 -0
- package/plugins/just-vibe/references/profiles/technical-writer.md +6 -0
- package/plugins/just-vibe/references/profiles/test-infrastructure-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/ui-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/ux-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/web-performance-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles/xr-engineer.md +6 -0
- package/plugins/just-vibe/references/profiles.md +3 -1
- package/plugins/just-vibe/references/proofs.md +1 -1
- package/plugins/just-vibe/references/runtime.md +3 -1
- package/plugins/just-vibe/references/security/review.md +4 -2
- package/plugins/just-vibe/references/task-undo.md +1 -1
- package/plugins/just-vibe/references/working-alternatives.md +1 -1
- package/plugins/just-vibe/scripts/hooks.mjs +12 -3
- package/plugins/just-vibe/scripts/installer.mjs +5 -1
- package/plugins/just-vibe/scripts/lib/adaptive-learning.mjs +98 -0
- package/plugins/just-vibe/scripts/lib/adaptive-store.mjs +113 -0
- package/plugins/just-vibe/scripts/lib/assistant-hooks.mjs +32 -0
- package/plugins/just-vibe/scripts/lib/assistant-runtime.mjs +236 -0
- package/plugins/just-vibe/scripts/lib/automation.mjs +1 -0
- package/plugins/just-vibe/scripts/lib/capability-guidance.mjs +34 -0
- package/plugins/just-vibe/scripts/lib/catalog.mjs +19 -1
- package/plugins/just-vibe/scripts/lib/evidence.mjs +21 -6
- package/plugins/just-vibe/scripts/lib/memory.mjs +13 -8
- package/plugins/just-vibe/scripts/lib/practice.mjs +2 -1
- package/plugins/just-vibe/scripts/lib/process.mjs +28 -2
- package/plugins/just-vibe/scripts/lib/profiles.mjs +1 -1
- package/plugins/just-vibe/scripts/lib/routing.mjs +5 -0
- package/plugins/just-vibe/scripts/lib/storage.mjs +7 -2
- package/plugins/just-vibe/scripts/lib/tasks.mjs +8 -1
- package/plugins/just-vibe/scripts/lib/workbench.mjs +30 -5
- package/plugins/just-vibe/scripts/lib/workspaces.mjs +19 -9
- package/plugins/just-vibe/scripts/toolkit.mjs +18 -5
- package/plugins/just-vibe/skills/api-breaking/SKILL.md +13 -5
- package/plugins/just-vibe/skills/api-client/SKILL.md +13 -5
- package/plugins/just-vibe/skills/api-contract-test/SKILL.md +13 -5
- package/plugins/just-vibe/skills/api-design/SKILL.md +9 -5
- package/plugins/just-vibe/skills/api-errors/SKILL.md +13 -5
- package/plugins/just-vibe/skills/api-openapi/SKILL.md +13 -5
- package/plugins/just-vibe/skills/api-pagination/SKILL.md +15 -7
- package/plugins/just-vibe/skills/api-webhooks/SKILL.md +9 -5
- package/plugins/just-vibe/skills/arch-boundaries/SKILL.md +15 -7
- package/plugins/just-vibe/skills/arch-contracts/SKILL.md +13 -5
- package/plugins/just-vibe/skills/arch-event-flow/SKILL.md +13 -5
- package/plugins/just-vibe/skills/arch-feature/SKILL.md +15 -7
- package/plugins/just-vibe/skills/arch-map/SKILL.md +13 -5
- package/plugins/just-vibe/skills/arch-modernize/SKILL.md +13 -5
- package/plugins/just-vibe/skills/arch-scale/SKILL.md +15 -7
- package/plugins/just-vibe/skills/arch-tenancy/SKILL.md +9 -5
- package/plugins/just-vibe/skills/auto/SKILL.md +20 -15
- package/plugins/just-vibe/skills/automate/SKILL.md +13 -5
- package/plugins/just-vibe/skills/backend-auth/SKILL.md +9 -5
- package/plugins/just-vibe/skills/backend-cache/SKILL.md +17 -9
- package/plugins/just-vibe/skills/backend-concurrency/SKILL.md +11 -7
- package/plugins/just-vibe/skills/backend-idempotency/SKILL.md +16 -8
- package/plugins/just-vibe/skills/backend-jobs/SKILL.md +13 -5
- package/plugins/just-vibe/skills/backend-permissions/SKILL.md +10 -6
- package/plugins/just-vibe/skills/backend-resilience/SKILL.md +13 -5
- package/plugins/just-vibe/skills/backend-service/SKILL.md +9 -5
- package/plugins/just-vibe/skills/brainstorm/SKILL.md +13 -5
- package/plugins/just-vibe/skills/build/SKILL.md +9 -5
- package/plugins/just-vibe/skills/challenge/SKILL.md +13 -5
- package/plugins/just-vibe/skills/checkpoint/SKILL.md +9 -5
- package/plugins/just-vibe/skills/ci/SKILL.md +13 -5
- package/plugins/just-vibe/skills/cleanup/SKILL.md +13 -5
- package/plugins/just-vibe/skills/compare/SKILL.md +14 -10
- package/plugins/just-vibe/skills/copy/SKILL.md +13 -5
- package/plugins/just-vibe/skills/coverage/SKILL.md +13 -5
- package/plugins/just-vibe/skills/data-backfill/SKILL.md +15 -6
- package/plugins/just-vibe/skills/data-contract/SKILL.md +13 -5
- package/plugins/just-vibe/skills/data-incremental/SKILL.md +13 -5
- package/plugins/just-vibe/skills/data-lineage/SKILL.md +13 -5
- package/plugins/just-vibe/skills/data-pipeline/SKILL.md +13 -5
- package/plugins/just-vibe/skills/data-profile/SKILL.md +13 -5
- package/plugins/just-vibe/skills/data-quality/SKILL.md +13 -5
- package/plugins/just-vibe/skills/data-reconcile/SKILL.md +13 -5
- package/plugins/just-vibe/skills/db-access/SKILL.md +9 -5
- package/plugins/just-vibe/skills/db-explain/SKILL.md +13 -5
- package/plugins/just-vibe/skills/db-index/SKILL.md +13 -5
- package/plugins/just-vibe/skills/db-integrity/SKILL.md +15 -7
- package/plugins/just-vibe/skills/db-locks/SKILL.md +13 -5
- package/plugins/just-vibe/skills/db-migrate/SKILL.md +14 -9
- package/plugins/just-vibe/skills/db-query/SKILL.md +15 -7
- package/plugins/just-vibe/skills/db-schema/SKILL.md +13 -5
- package/plugins/just-vibe/skills/debug/SKILL.md +9 -5
- package/plugins/just-vibe/skills/decide/SKILL.md +14 -10
- package/plugins/just-vibe/skills/decision-adr/SKILL.md +13 -5
- package/plugins/just-vibe/skills/decision-buy-build/SKILL.md +13 -5
- package/plugins/just-vibe/skills/decision-matrix/SKILL.md +13 -5
- package/plugins/just-vibe/skills/decision-premortem/SKILL.md +13 -5
- package/plugins/just-vibe/skills/decision-reversible/SKILL.md +13 -5
- package/plugins/just-vibe/skills/decision-revisit/SKILL.md +13 -5
- package/plugins/just-vibe/skills/decision-spike/SKILL.md +15 -7
- package/plugins/just-vibe/skills/deploy/SKILL.md +15 -6
- package/plugins/just-vibe/skills/deps/SKILL.md +9 -5
- package/plugins/just-vibe/skills/design/SKILL.md +13 -5
- package/plugins/just-vibe/skills/docs/SKILL.md +13 -5
- package/plugins/just-vibe/skills/doctor/SKILL.md +12 -5
- package/plugins/just-vibe/skills/explain/SKILL.md +13 -5
- package/plugins/just-vibe/skills/fix/SKILL.md +10 -6
- package/plugins/just-vibe/skills/git-bisect/SKILL.md +14 -6
- package/plugins/just-vibe/skills/git-commit/SKILL.md +16 -8
- package/plugins/just-vibe/skills/git-conflicts/SKILL.md +14 -6
- package/plugins/just-vibe/skills/git-diff/SKILL.md +14 -6
- package/plugins/just-vibe/skills/git-recover/SKILL.md +14 -6
- package/plugins/just-vibe/skills/git-split/SKILL.md +14 -6
- package/plugins/just-vibe/skills/git-status/SKILL.md +14 -6
- package/plugins/just-vibe/skills/git-worktree/SKILL.md +18 -9
- package/plugins/just-vibe/skills/github-actions/SKILL.md +12 -8
- package/plugins/just-vibe/skills/github-address-review/SKILL.md +14 -6
- package/plugins/just-vibe/skills/github-fix-ci/SKILL.md +11 -7
- package/plugins/just-vibe/skills/github-issue/SKILL.md +16 -8
- package/plugins/just-vibe/skills/github-pr/SKILL.md +14 -9
- package/plugins/just-vibe/skills/github-release/SKILL.md +12 -7
- package/plugins/just-vibe/skills/github-review/SKILL.md +10 -6
- package/plugins/just-vibe/skills/github-triage/SKILL.md +14 -6
- package/plugins/just-vibe/skills/handoff/SKILL.md +10 -6
- package/plugins/just-vibe/skills/help/SKILL.md +8 -6
- package/plugins/just-vibe/skills/integrate/SKILL.md +9 -5
- package/plugins/just-vibe/skills/learn/SKILL.md +13 -5
- package/plugins/just-vibe/skills/llm-cost/SKILL.md +13 -5
- package/plugins/just-vibe/skills/llm-evals/SKILL.md +19 -10
- package/plugins/just-vibe/skills/llm-injection/SKILL.md +13 -5
- package/plugins/just-vibe/skills/llm-prompt/SKILL.md +13 -5
- package/plugins/just-vibe/skills/llm-rag/SKILL.md +16 -7
- package/plugins/just-vibe/skills/llm-retrieval/SKILL.md +13 -5
- package/plugins/just-vibe/skills/llm-structured/SKILL.md +13 -5
- package/plugins/just-vibe/skills/llm-tools/SKILL.md +17 -8
- package/plugins/just-vibe/skills/map/SKILL.md +13 -5
- package/plugins/just-vibe/skills/match/SKILL.md +13 -5
- package/plugins/just-vibe/skills/migrate/SKILL.md +10 -6
- package/plugins/just-vibe/skills/ml-ablation/SKILL.md +15 -6
- package/plugins/just-vibe/skills/ml-baseline/SKILL.md +15 -6
- package/plugins/just-vibe/skills/ml-batch/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-calibrate/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-dataset/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-dataset-version/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-debug-training/SKILL.md +9 -5
- package/plugins/just-vibe/skills/ml-drift/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-error-analysis/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-evaluate/SKILL.md +14 -9
- package/plugins/just-vibe/skills/ml-experiments/SKILL.md +12 -8
- package/plugins/just-vibe/skills/ml-explain/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-features/SKILL.md +17 -9
- package/plugins/just-vibe/skills/ml-frame/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-imbalance/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-inference-perf/SKILL.md +15 -6
- package/plugins/just-vibe/skills/ml-labels/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-leakage/SKILL.md +19 -11
- package/plugins/just-vibe/skills/ml-monitor/SKILL.md +15 -6
- package/plugins/just-vibe/skills/ml-package/SKILL.md +9 -5
- package/plugins/just-vibe/skills/ml-parity/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-report/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-reproduce/SKILL.md +15 -6
- package/plugins/just-vibe/skills/ml-robustness/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-rollout/SKILL.md +15 -6
- package/plugins/just-vibe/skills/ml-serving/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-slices/SKILL.md +12 -8
- package/plugins/just-vibe/skills/ml-split/SKILL.md +16 -8
- package/plugins/just-vibe/skills/ml-threshold/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-train/SKILL.md +12 -8
- package/plugins/just-vibe/skills/ml-training-cost/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ml-tune/SKILL.md +15 -6
- package/plugins/just-vibe/skills/ops-alerts/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ops-container/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ops-incident/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ops-logs/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ops-observability/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ops-postmortem/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ops-restore/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ops-runbook/SKILL.md +13 -5
- package/plugins/just-vibe/skills/orient/SKILL.md +11 -5
- package/plugins/just-vibe/skills/perf/SKILL.md +13 -5
- package/plugins/just-vibe/skills/plan/SKILL.md +13 -5
- package/plugins/just-vibe/skills/polish/SKILL.md +13 -5
- package/plugins/just-vibe/skills/pr/SKILL.md +14 -6
- package/plugins/just-vibe/skills/profile/SKILL.md +7 -5
- package/plugins/just-vibe/skills/profiles/SKILL.md +11 -4
- package/plugins/just-vibe/skills/react-async/SKILL.md +15 -7
- package/plugins/just-vibe/skills/react-audit/SKILL.md +10 -5
- package/plugins/just-vibe/skills/react-component/SKILL.md +10 -5
- package/plugins/just-vibe/skills/react-effects/SKILL.md +15 -7
- package/plugins/just-vibe/skills/react-forms/SKILL.md +13 -5
- package/plugins/just-vibe/skills/react-hydration/SKILL.md +14 -6
- package/plugins/just-vibe/skills/react-rerenders/SKILL.md +13 -5
- package/plugins/just-vibe/skills/react-state/SKILL.md +13 -5
- package/plugins/just-vibe/skills/refactor/SKILL.md +9 -5
- package/plugins/just-vibe/skills/release/SKILL.md +14 -6
- package/plugins/just-vibe/skills/remember/SKILL.md +15 -11
- package/plugins/just-vibe/skills/repro/SKILL.md +13 -5
- package/plugins/just-vibe/skills/research/SKILL.md +13 -5
- package/plugins/just-vibe/skills/resume/SKILL.md +8 -6
- package/plugins/just-vibe/skills/review/SKILL.md +23 -13
- package/plugins/just-vibe/skills/scope/SKILL.md +13 -5
- package/plugins/just-vibe/skills/security/SKILL.md +9 -5
- package/plugins/just-vibe/skills/security-authz/SKILL.md +9 -5
- package/plugins/just-vibe/skills/security-config/SKILL.md +9 -5
- package/plugins/just-vibe/skills/security-dependencies/SKILL.md +9 -5
- package/plugins/just-vibe/skills/security-fix/SKILL.md +9 -5
- package/plugins/just-vibe/skills/security-inputs/SKILL.md +9 -5
- package/plugins/just-vibe/skills/security-secrets/SKILL.md +9 -5
- package/plugins/just-vibe/skills/security-threat-model/SKILL.md +9 -5
- package/plugins/just-vibe/skills/security-uploads/SKILL.md +9 -5
- package/plugins/just-vibe/skills/setup/SKILL.md +11 -5
- package/plugins/just-vibe/skills/skill/SKILL.md +9 -5
- package/plugins/just-vibe/skills/spec/SKILL.md +13 -5
- package/plugins/just-vibe/skills/tasks/SKILL.md +13 -5
- package/plugins/just-vibe/skills/teach/SKILL.md +11 -13
- package/plugins/just-vibe/skills/teach-test/SKILL.md +12 -5
- package/plugins/just-vibe/skills/test/SKILL.md +13 -5
- package/plugins/just-vibe/skills/test-e2e/SKILL.md +14 -6
- package/plugins/just-vibe/skills/test-fixtures/SKILL.md +14 -6
- package/plugins/just-vibe/skills/test-flaky/SKILL.md +14 -6
- package/plugins/just-vibe/skills/test-integration/SKILL.md +14 -6
- package/plugins/just-vibe/skills/test-load/SKILL.md +14 -6
- package/plugins/just-vibe/skills/test-property/SKILL.md +14 -6
- package/plugins/just-vibe/skills/test-regression/SKILL.md +16 -8
- package/plugins/just-vibe/skills/test-unit/SKILL.md +14 -6
- package/plugins/just-vibe/skills/tools/SKILL.md +8 -6
- package/plugins/just-vibe/skills/trace/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ui-accessibility/SKILL.md +15 -7
- package/plugins/just-vibe/skills/ui-audit/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ui-flow/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ui-motion/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ui-responsive/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ui-states/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ui-system/SKILL.md +13 -5
- package/plugins/just-vibe/skills/ui-visual-diff/SKILL.md +13 -5
- package/plugins/just-vibe/skills/undo/SKILL.md +11 -7
- package/plugins/just-vibe/skills/vercel-audit/SKILL.md +9 -5
- package/plugins/just-vibe/skills/vercel-build-fix/SKILL.md +12 -8
- package/plugins/just-vibe/skills/vercel-env/SKILL.md +13 -5
- package/plugins/just-vibe/skills/vercel-performance/SKILL.md +13 -5
- package/plugins/just-vibe/skills/vercel-preview/SKILL.md +16 -7
- package/plugins/just-vibe/skills/vercel-release-check/SKILL.md +15 -7
- package/plugins/just-vibe/skills/vercel-routing/SKILL.md +13 -5
- package/plugins/just-vibe/skills/vercel-runtime/SKILL.md +10 -6
- package/plugins/just-vibe/skills/verify/SKILL.md +11 -12
- package/plugins/just-vibe/skills/vite-assets/SKILL.md +15 -7
- package/plugins/just-vibe/skills/vite-bundle/SKILL.md +16 -8
- package/plugins/just-vibe/skills/vite-chunks/SKILL.md +14 -6
- package/plugins/just-vibe/skills/vite-config/SKILL.md +14 -6
- package/plugins/just-vibe/skills/vite-env/SKILL.md +11 -6
- package/plugins/just-vibe/skills/vite-hmr/SKILL.md +14 -6
- package/plugins/just-vibe/skills/vite-setup/SKILL.md +14 -6
- package/plugins/just-vibe/skills/vite-upgrade/SKILL.md +14 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.0
|
|
4
|
+
|
|
5
|
+
- Add automatic request routing and compaction/resume context through native Codex/Claude plugin hooks, with focused workflow loading and guidance for discovering actual host capabilities.
|
|
6
|
+
- Add personal/project feedback overlays that change effective command instructions and routing, retain source/version history, and support rollback, retirement and forgetting without rewriting package caches.
|
|
7
|
+
- Add attributed evidence with source/artifact freshness, tool-activity records, and one bounded missing-evidence continuation; preserve current instructions and distinguish blockers from successful verification.
|
|
8
|
+
- Add local activation settings, task retention, natural-language personalization controls, packaged runtime tests and native installation checks.
|
|
9
|
+
- Preserve task identity across host continuation turns, enforce task-only feedback restrictions against the complete user message, and isolate optional project-hook failures while checking evidence after project commands finish.
|
|
10
|
+
|
|
11
|
+
- Refine website spacing and long-text wrapping across the full catalog; add page transitions, section entrances, animated menus and pickers, state feedback, reduced-motion handling, and layout/navigation regression checks.
|
|
12
|
+
- Default all frontend workflows to no emojis unless explicitly requested; route UI, React, Vite, design, polish, matching and UI copy through shared iconography guidance, including general workflows and role profiles used for frontend work.
|
|
13
|
+
- Replace website text-glyph icons with Lucide SVGs and preserve icon markup when copy-button feedback resets.
|
|
14
|
+
- Add a public website with installation guides, an editable prompt builder, searchable command and role libraries, and catalog-generated scope and verification documentation.
|
|
15
|
+
- Add the just-vibe visual identity, generated logo and brand assets, responsive layouts, static-page/link checks, and browser accessibility and interaction checks.
|
|
16
|
+
- Configure Vercel deployment independently of GitHub Actions and the npm CLI release process.
|
|
17
|
+
|
|
18
|
+
## 0.8.1
|
|
19
|
+
|
|
20
|
+
- Clarify review/teaching variants and local implementation versus live execution; add effective infer/default/ask policies to every command.
|
|
21
|
+
- Consolidate runtime-backed prompt procedures, make proof reports conditional, and preserve selected findings, exclusions and corrections across turns.
|
|
22
|
+
- Add 22 conditional worked examples with misleading cases and concrete contributions for all 112 profiles, including a same-feature comparison.
|
|
23
|
+
- Add a multi-turn review/repair harness with seven defect categories, working/disabled controls, immutable turn captures and independent scope checks; include linked guides in isolated evaluation payloads.
|
|
24
|
+
|
|
25
|
+
- Bind lab/practice cleanup to complete reviewed snapshots, reject staged changes, and preflight every workspace before removing any.
|
|
26
|
+
- Redact structured credentials and common sensitive command arguments before recording evidence; preserve output structure and command outcomes for key/value logs.
|
|
27
|
+
- Preserve POSIX file permissions during memory edits, workspace selection, task undo and recovery, with conservative restoration for legacy records.
|
|
28
|
+
- Treat symlink targets as incomplete snapshot coverage so old checks cannot certify changed linked inputs.
|
|
29
|
+
- Retry browser text, URL, title and focus assertions within a bounded deadline for asynchronous UI changes.
|
|
30
|
+
- Allow retired memory rules to move while retaining provenance, current revision checks and destination-file protection.
|
|
31
|
+
- Add regression coverage and delayed-state Chromium smoke checks for the reviewed defects; document cleanup input migration and permission compatibility.
|
|
32
|
+
|
|
3
33
|
## 0.8.0
|
|
4
34
|
|
|
5
35
|
- Expand all 213 canonical workflows with authored technical evidence, methods, misdiagnosis controls and discriminating checks; aliases inherit them.
|
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Tools, skills, and commands for coding agents.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[Website](https://just-vibe-tools.vercel.app/) · [Documentation](https://just-vibe-tools.vercel.app/docs/) · [Command library](https://just-vibe-tools.vercel.app/commands/) · [Engineering profiles](https://just-vibe-tools.vercel.app/profiles/)
|
|
6
|
+
|
|
7
|
+
**v0.9.0 contains 112 engineering profiles and 216 skill names backed by 213 canonical workflows** for Codex and Claude Code: focused skills for development, architecture, decisions, Git/GitHub, Vercel, Vite, React, UI, backend, APIs, databases, data, ML, LLMs, testing, security, and operations. Each canonical workflow has selection guidance, scope, concrete decision branches, evidence requirements, outputs, verification, recovery conditions and at least three example requests. Each entry point also contains an authored technical method: evidence to inspect, a procedure, a likely misdiagnosis and a discriminating check. Applied methods live in 22 pack guides. The v0.8.1 prompt update adds explicit infer/default/ask policies, a conditional worked example for each pack, and guidance for preserving corrections across turns; see [prompt improvements](docs/prompt-improvements.md).
|
|
6
8
|
|
|
7
9
|
The [technical audit](docs/technical-audit.md) and [complete coverage inventory](docs/technical-coverage.md) document the latest expansion across every canonical workflow. Review/security commands now route to concrete vulnerability, framework, language and scanner guides. [Security fixture controls](evals/security/README.md) distinguish seeded defects from legitimate behavior; they do not claim model-review accuracy.
|
|
8
10
|
|
|
@@ -11,9 +13,17 @@ The active coding agent executes the workflows with its available tools. The dep
|
|
|
11
13
|
v0.7 adds a quick path for simple work, a small starter catalog, contextual routing with reasons, project preferences and checkpoints, explicit evidence collectors, and optional project hooks. Detailed auth, component, training and delivery scenarios load only when relevant. See [daily workflows](plugins/just-vibe/references/daily-workflows.md) for configuration and examples, and the [v0.7 validation record](evals/releases/0.7.0.md) for tested scope and limits.
|
|
12
14
|
|
|
13
15
|
|
|
16
|
+
## Automatic assistance
|
|
17
|
+
|
|
18
|
+
Describe the outcome normally: “Fix the mobile menu,” “Why is training unstable?” or “Address this PR’s feedback.” Trusted native hooks now route each request to a focused shortlist, restore selected work after compaction, and direct the agent to discover and use its actual tools. Command names remain optional.
|
|
19
|
+
|
|
20
|
+
The agent loads the relevant full workflow with versioned personal/project feedback. Explicit corrections and endorsements can change instructions, routing triggers, preferred tools and required checks. History, rollback, retirement and forgetting are supported. Silence and passing tests do not create preferences. Source and artifact changes invalidate old evidence; completion can request one bounded follow-up for missing evidence, then reports unresolved work honestly.
|
|
21
|
+
|
|
22
|
+
Automatic assistance is included starting in **v0.9.0**. Native hook support and host trust are required; setup does not grant that trust. Personal state lives under `~/.just-vibe/adaptive`, outside repositories, with bounded task retention. No additional model service or runtime dependency is used. See [automatic assistance, schemas and limits](plugins/just-vibe/references/adaptive.md) and [validation](docs/adaptive-assistance.md).
|
|
23
|
+
|
|
14
24
|
## Intent, evidence and reversible work
|
|
15
25
|
|
|
16
|
-
|
|
26
|
+
v0.8.0 adds working runtime helpers behind natural-language skill requests:
|
|
17
27
|
|
|
18
28
|
- Remember an explicit correction, inspect instruction provenance/loading, and test a rule with compliant/violating controls.
|
|
19
29
|
- Build two or three alternatives in owned worktrees, run equal checks, preview them, and apply the selected result with an undo record.
|
|
@@ -24,12 +34,12 @@ The v0.8 source adds working runtime helpers behind natural-language skill reque
|
|
|
24
34
|
|
|
25
35
|
See the [workflow guide](plugins/just-vibe/references/intent-workflows.md) for examples, boundaries and recovery. Users provide ordinary briefs; the agent prepares the helper inputs. These features support judgment rather than claiming an objective quality score.
|
|
26
36
|
|
|
27
|
-
**
|
|
37
|
+
**Release information:** Check [npm for just-vibe 0.9.0](https://www.npmjs.com/package/just-vibe/v/0.9.0) and the [release validation record](evals/releases/0.9.0.md) for registry verification and tested scope. This release uses the maintainer-authorized local-check exception because GitHub Actions minutes are unavailable; no CI pass is claimed.
|
|
28
38
|
|
|
29
39
|
|
|
30
40
|
## Use the workflows
|
|
31
41
|
|
|
32
|
-
|
|
42
|
+
With trusted hooks, use an ordinary request. For explicit shortcuts, Claude Code supports a command followed by as much context as needed:
|
|
33
43
|
|
|
34
44
|
```text
|
|
35
45
|
/just-vibe:auto fix checkout, add regression coverage, and verify.
|
|
@@ -72,7 +82,7 @@ The host interprets the conversation; the `memory` helper can persist individual
|
|
|
72
82
|
|
|
73
83
|
## Engineering profiles
|
|
74
84
|
|
|
75
|
-
Profiles shape the agent's priorities and verification throughout a task. They are separate from commands: a machine learning engineer emphasizes prediction-time data, evaluation and serving parity; a frontend engineer emphasizes state, interactions and rendered behavior. Each of the **112 profiles** has concrete priorities, a decision rule, checks, a scope boundary and candidate workflows.
|
|
85
|
+
Profiles shape the agent's priorities and verification throughout a task. They are separate from commands: a machine learning engineer emphasizes prediction-time data, evaluation and serving parity; a frontend engineer emphasizes state, interactions and rendered behavior. Each of the **112 profiles** has concrete priorities, a decision rule, checks, a scope boundary, a concrete task contribution and candidate workflows.
|
|
76
86
|
|
|
77
87
|
```text
|
|
78
88
|
/just-vibe:profiles architecture
|
|
@@ -257,13 +267,15 @@ The default checks validate catalogs, generated skills, references, manifests an
|
|
|
257
267
|
|
|
258
268
|
The default host test copies and installs the bundled payload. `--local` tests direct checkout registration. `--github` installs the published private repository and requires Git access; use it after pushing a release. Both variants execute the cached plugin runtime and check every skill is present, independently of the source checkout.
|
|
259
269
|
|
|
260
|
-
Edit `plugins/just-vibe/catalog/commands.json` for command contracts and
|
|
270
|
+
Edit `plugins/just-vibe/catalog/commands.json` for command contracts and the single canonical procedure, `catalog/packs.json` for pack requirements/input policies, and `references/packs/` plus `references/examples/` for operational guidance. Profile contributions live in `catalog/profiles.json`. Run `npm run build:skills` to regenerate skills, the command reference, technical coverage inventory, and evaluation scenarios. `npm run validate` rejects drift. Neither generation nor the installed runtime depends on the ignored local plan.
|
|
261
271
|
|
|
262
272
|
Every workflow has normal, edge and missing-evidence cases in [evals/scenarios.json](evals/scenarios.json). The [independent behavioral harness](evals/README.md) additionally prepares and grades 21 raw-artifact tasks, including code repairs and report judgments. Catalog structure, runtime utility coverage and observed agent behavior have separate validation fields. These are not claims that all commands have been run against live services or evaluated across models. See the [v0.4 observed results](evals/releases/0.4.0.md) and [evaluation guidance](evals/README.md) for the tested scope.
|
|
263
273
|
|
|
274
|
+
The [conversation harness](evals/conversation/README.md) records review, selected repairs and later corrections with separate scope and behavior checks. Its [development record](evals/releases/prompt-improvements.md) describes observed results and limitations.
|
|
275
|
+
|
|
264
276
|
The [v0.6 results](evals/releases/0.6.0.md) record 32 controlled implementation trials and eight revised-command development trials. All passed their bounded checks; this does not rank overall output quality or convenience. The tasks supplied detailed contracts and did not measure user effort or preference. The [command-depth review](docs/command-quality.md#focused-depth-review) explains 27 focused revisions, and the [contextual review guide](docs/command-quality.md#output-quality-and-convenience) covers judgment, clarity, discovery and correction burden. [Benchmark protocol and supporting metrics](evals/benchmark/README.md) remain available for reproduction. External integration, browser and deployment checks require the relevant task environment.
|
|
265
277
|
|
|
266
|
-
The [technical-guidance validation record](evals/releases/0.8.0-technical-guidance.md) covers the
|
|
278
|
+
The [technical-guidance validation record](evals/releases/0.8.0-technical-guidance.md) covers the v0.8.0 command expansion and security controls. The earlier [v0.8 validation record](evals/releases/0.8.0.md) covers the new intent helpers, real browser reports, installation checks and the pending Windows confirmation. GitHub CI remains blocked by account billing. The [v0.9.0 release record](evals/releases/0.9.0.md) records the current local checks and release-specific waiver; Windows validation remains pending.
|
|
267
279
|
|
|
268
280
|
### Repository layout
|
|
269
281
|
|
|
@@ -281,7 +293,7 @@ The [technical-guidance validation record](evals/releases/0.8.0-technical-guidan
|
|
|
281
293
|
| `scripts/` and `tests/` | Validation and lifecycle tests |
|
|
282
294
|
| `evals/` | Behavior scenarios and isolated project/data fixtures |
|
|
283
295
|
|
|
284
|
-
The installer has no runtime npm dependencies or lifecycle install scripts.
|
|
296
|
+
The installer has no runtime npm dependencies or lifecycle install scripts. Automatic routing hooks use native host trust and keep personal task records. Optional project check/formatter hooks still do no work until separately configured and trusted. It adds no MCP servers, rules or permissions. Provider/check commands use argument arrays rather than interpolating user input into a shell. Host CLIs own installation state and caches. Local planning and naming documents are excluded from both Git and the npm archive.
|
|
285
297
|
|
|
286
298
|
## Troubleshooting
|
|
287
299
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Automatic assistance implementation and validation
|
|
2
|
+
|
|
3
|
+
Included starting in version 0.9.0. User operation and JSON schemas live in the packaged [adaptive reference](../plugins/just-vibe/references/adaptive.md). The website has a matching guide.
|
|
4
|
+
|
|
5
|
+
## Implementation
|
|
6
|
+
|
|
7
|
+
| Need | Implementation | Important boundary |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| Ordinary conversation activates workflows | Bundled UserPromptSubmit hook, shared assistant runtime, local request/context routing | Shortlist retrieval is heuristic; the host resolves meaning, scope and mode. |
|
|
10
|
+
| Only relevant methods are loaded | Compact injected entry point, select/load protocol, full canonical workflow retrieval | Existing direct skills remain available; native catalog truncation cannot remove the hook's runtime path. |
|
|
11
|
+
| Agents discover and use real tools | Capability-specific guidance with observed/unknown state; existing host capability-report validation; full workflow methods | The hook cannot enumerate every host connector; the active agent uses its native discovery tools. |
|
|
12
|
+
| Missing steps remain visible | Per-task requirements, attributed evidence, tool-event metadata, source/artifact hashes, one bounded Stop continuation | Delivery and activity do not prove model compliance; host reports remain labeled. |
|
|
13
|
+
| Corrections change future behavior | Project/user learning records, trigger preference/suppression, effective workflow overlays and additional requirements | Only explicit user feedback is eligible; interpretation is performed by the host. |
|
|
14
|
+
| Updates are explainable and reversible | Per-lesson source excerpts, revisions, version history, rollback, retirement and forgetting | User-scope learning requires explicit cross-project language. |
|
|
15
|
+
| Context survives compaction | SessionStart resume/compact restores the same task, selection and access to current evidence | Context does not restore authorization or assert freshness. |
|
|
16
|
+
| Controls remain usable without memorizing commands | Natural-language personalization routing and a shared agent guide | Ambiguous maintenance targets must be resolved first. |
|
|
17
|
+
|
|
18
|
+
All runtime code is dependency-free Node. It uses the existing atomic state, bounded reads, path protection, discovery and fingerprint utilities. Hooks never execute project scripts themselves; existing optional check/formatter automation retains its separate trust gate. No account identity or host permission settings are changed by this feature.
|
|
19
|
+
|
|
20
|
+
The packaged command bodies remain canonical. Effective instructions are assembled on load with versioned personal overrides; `show` uses the same loader. Direct skills reach that loader through shared execution guidance. This avoids writing personal preferences into installed plugin caches that are replaced during upgrades.
|
|
21
|
+
|
|
22
|
+
## Host support
|
|
23
|
+
|
|
24
|
+
The adapter uses the common `session_id`, `cwd`, `hook_event_name`, `prompt`, tool-event and Stop output shapes. Codex turn IDs also prevent late events from crossing task boundaries. Plugin hooks use `CLAUDE_PLUGIN_ROOT`, which Codex supplies for compatibility. Host hook review/trust is not bypassed by the installer.
|
|
25
|
+
|
|
26
|
+
Codex can represent a Stop continuation as another incoming prompt. The runtime recognizes its own exact emitted reminder by hash, adopts a fresh host turn ID when supplied, and preserves the existing task and retry budget. That reminder cannot become a new user-feedback source. Native host events remain distinct from manually supplied CLI inputs; local records are provenance aids, not cryptographic attestations against a process with filesystem access.
|
|
27
|
+
|
|
28
|
+
References checked during implementation: [Codex hooks](https://learn.chatgpt.com/docs/hooks), [Codex skills](https://learn.chatgpt.com/docs/build-skills), [Claude hooks](https://code.claude.com/docs/en/hooks) and [Claude plugin discovery](https://code.claude.com/docs/en/plugins-reference).
|
|
29
|
+
|
|
30
|
+
## Validation
|
|
31
|
+
|
|
32
|
+
- `tests/adaptive.test.mjs` exercises ordinary UI/ML/GitHub/backend requests, unrelated requests, negative clauses, both adapter shapes, effective command loading, tool discovery uncertainty, artifact/source freshness, scoped learning, positive feedback, rollback, user-message provenance and bounded completion.
|
|
33
|
+
- The test drives the real hook entry point and CLI through request, selection, load, evidence and completion in an isolated project. It checks that generated continuation prompts do not create feedback or restart retries, that new continuation turn IDs remain attached to the task, that task-only restrictions cannot be omitted from quoted feedback, and that optional project-hook failures or mutations do not suppress or prematurely certify completion.
|
|
34
|
+
- Existing project-automation, routing, installation, package and full-runtime regression tests cover interaction with previous features.
|
|
35
|
+
- `npm run test:hosts` installs, repeats, upgrades, checks, uninstalls and reinstalls through native Codex/Claude plugin managers in isolated configuration directories. It verifies the installed payload without changing the user's active installation.
|
|
36
|
+
- Website production build and static documentation/link checks cover the new guide and navigation.
|
|
37
|
+
|
|
38
|
+
These are deterministic/runtime and installation checks. They do not establish that every host version delivers every event, that a model always chooses the right workflow, or that users subjectively prefer every learned change. No new model-behavior score or comparison with another toolkit is claimed.
|
|
39
|
+
|
|
40
|
+
Validation run on September 20, 2026: 202 root tests passed, one Windows-only test skipped on macOS; 27 of those passing tests cover this feature. Both native lifecycles passed with Codex CLI 0.152.0 and Claude Code 2.1.258. Skill/plugin validators passed during development. The website built 345 pages and passed all four static catalog/link/metadata tests on Node 24.21.0. The new documentation page was inspected in the browser at desktop and mobile widths during development; its mobile content did not overflow the viewport. These checks used isolated state and did not update the user's active installation. See the [v0.9.0 release record](../evals/releases/0.9.0.md) for publication verification.
|
|
41
|
+
|
|
42
|
+
## Manual acceptance checks
|
|
43
|
+
|
|
44
|
+
In a host with the plugin enabled and its hooks reviewed, send an ordinary task without a workflow name. Confirm the hook context has a task ID, the agent selects and loads the relevant method, uses actual tools, and reports concrete evidence. Follow with an explicit correction; inspect its source/version, start another session, and verify the next effective workflow includes it. Roll back the lesson and verify the prior behavior returns. Repeat with a conceptual question and an unrelated conversation to assess unnecessary activation and user effort.
|
package/docs/command-quality.md
CHANGED
|
@@ -6,6 +6,8 @@ The catalog owns each canonical command's scope, mode, required inputs, selectio
|
|
|
6
6
|
|
|
7
7
|
216 names resolve to 213 canonical workflows. `do` inherits `auto`, `responsive` inherits `ui-responsive`, and `a11y` inherits `ui-accessibility`. Alias source records contain identity/search metadata only. Loading materializes the canonical behavior; validation rejects scope, mode, method, evidence or other behavioral drift. Routing collapses matching aliases to one canonical recommendation while preserving matched names.
|
|
8
8
|
|
|
9
|
+
The [prompt improvements](prompt-improvements.md) add explicit input policies, request variants, conditional worked examples, concrete role contributions and multi-turn validation. Every generated skill uses one canonical procedure; do not reintroduce parallel runtime instructions.
|
|
10
|
+
|
|
9
11
|
## Writing useful guidance
|
|
10
12
|
|
|
11
13
|
Selection should distinguish a nearby workflow: explain versus teach, debug versus fix, local pr drafting versus remote github-pr identity/actions. A task-specific procedure should name the evidence to inspect and the decision it informs. Canonical commands must also supply technical.evidence, technical.method, technical.pitfall and technical.check. These fields appear directly in the skill, CLI contract and evaluation specification; references add conditional depth. A branch should cover a situation that changes the method, such as a partial external operation, incompatible old consumer, stale request completion or missing evaluation labels.
|
|
@@ -69,7 +71,7 @@ The schema verifies the presence and shape of this contract, not the quality of
|
|
|
69
71
|
|
|
70
72
|
## Profiles and ownership
|
|
71
73
|
|
|
72
|
-
`catalog/profiles.json` owns role guidance independently of action contracts. Maintain a distinct purpose, priorities, a decision rule, relevant verification, a boundary and valid canonical workflow links for each role. Generate the profile index and individual references with the same build command. A title alone is not a useful profile; nearby roles must change emphasis in an explainable way.
|
|
74
|
+
`catalog/profiles.json` owns role guidance independently of action contracts. Maintain a distinct purpose, priorities, a decision rule, relevant verification, a boundary, a concrete task contribution and valid canonical workflow links for each role. Generate the profile index and individual references with the same build command. A title alone is not a useful profile; nearby roles must change emphasis in an explainable way.
|
|
73
75
|
|
|
74
76
|
Test profile state transitions for pin protection, scope and budget preservation. Keep role discovery separate from activation. Do not claim that structural validation proves role expertise or that previous workflow trials evaluate newly added role guidance.
|
|
75
77
|
|
package/docs/compatibility.md
CHANGED
|
@@ -24,7 +24,7 @@ The profile/profile-discovery skills and all 112 role guides ship in both host p
|
|
|
24
24
|
|
|
25
25
|
Project state and contextual routing use the bundled Node utilities on all supported runtime platforms. State is schema-versioned and bound to the selected project path. Partial snapshot coverage always requires revalidation. `tools` now shows a starter selection; use `tools --all` for the previous full inventory.
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
The v0.7 project check/formatter hooks use PostToolUse and Stop and ship at the native plugin hook location. They remain inactive until project configuration and separate local trust are present. Codex also requires native hook trust. Native installation on macOS is verified separately from actual hook-event delivery on every host/OS. A direct hook runner test establishes handler behavior, not host parity. Command arrays support native executables and standard npm Windows wrappers through the shared process helper.
|
|
28
28
|
|
|
29
29
|
GitHub evidence needs authenticated gh; Vercel evidence needs authenticated vercel and an explicit deployment identity. Browser evidence needs project-installed Playwright and Chromium, with authorized interactions. SQL migration evidence inspects local SQL and an optional supplied applied-history export; it does not connect to a live database. The package installs no optional provider or browser dependencies automatically. See the [daily workflow reference](../plugins/just-vibe/references/daily-workflows.md).
|
|
30
30
|
|
|
@@ -33,3 +33,11 @@ GitHub evidence needs authenticated gh; Vercel evidence needs authenticated verc
|
|
|
33
33
|
The new memory/guard, task, lab, proof, practice, experiment and decision helpers use the existing Node runtime without added runtime dependencies. Labs/practice/local undo require Git and a committed project root. Preview commands must run foreground loopback servers; the worker owns their process lifetime. These worktrees are not security sandboxes. Selected file and snapshot bounds can require a narrower task; incomplete coverage never grants selection/cleanup authority.
|
|
34
34
|
|
|
35
35
|
The 216-skill payload passed isolated native Codex/Claude lifecycle checks on macOS. ML imports use supplied local exports, and browser proof screenshots use already-installed Playwright/Chromium. Native teaching questions still depend on the active host mode; exercise assessment does not fabricate question-tool availability. See the [v0.8 validation record](../evals/releases/0.8.0.md) and [workflow guides](../plugins/just-vibe/references/intent-workflows.md).
|
|
36
|
+
|
|
37
|
+
## v0.9 automatic assistance
|
|
38
|
+
|
|
39
|
+
Version 0.9.0 adds request routing, resume/compaction restoration, tool-activity records, scoped feedback overlays and bounded completion reminders. Supported hosts must deliver UserPromptSubmit, SessionStart, PostToolUse and Stop events and trust the plugin's native hooks. The installer does not grant native trust. Existing optional project checks still require their separate configuration and trust.
|
|
40
|
+
|
|
41
|
+
Codex supplies the CLAUDE_PLUGIN_ROOT compatibility variable used by the shared hook command. Both adapters are exercised with fixture events; native install/update/uninstall lifecycle checks run separately on macOS. This does not establish every event on every host/OS or perfect model adherence. Hosted tools and some specialized paths can be absent from tool-hook observations. Use actual attributed evidence rather than inferring success from missing or returned tool events.
|
|
42
|
+
|
|
43
|
+
Personal learning and task state live under ~/.just-vibe/adaptive (or JUST_VIBE_HOME), keyed by canonical project and host/session. See the [adaptive reference](../plugins/just-vibe/references/adaptive.md) and [implementation/validation record](adaptive-assistance.md).
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Prompt improvements
|
|
2
|
+
|
|
3
|
+
These changes improve existing workflows rather than adding more command names. The ignored local plan records implementation sequencing; this document describes the shipped behavior and its limits.
|
|
4
|
+
|
|
5
|
+
| Area | Result | Source of truth |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| Modes and scope | Separate source inspection, local implementation and actual execution. ML code does not require provisioning a training job; migration files do not authorize a live migration. | Command mode/scope/branches and shared execution |
|
|
8
|
+
| Request variants | Review a diff, repository or named files; teach a topic, explain workflow implementation, or prepare explicitly requested practice. | `review` and `teach` contracts |
|
|
9
|
+
| Missing context | Infer from project evidence, state reversible defaults, ask only about consequential unresolved choices. Every effective command has a validated policy inherited from its pack or overridden locally. | `inputPolicy` in catalogs |
|
|
10
|
+
| Worked examples | All 22 packs have an evidence → decision → artifact → verification example and a misleading case. Read these only when relevant. | `references/examples/` |
|
|
11
|
+
| Prompt duplication | One canonical execution procedure, with conditional guides for detailed operations. Ordinary verification does not require a durable proof report. | `procedure` and skill generator |
|
|
12
|
+
| Profiles | All 112 roles name a concrete contribution; a same-feature comparison explains differences without expanding permission or scope. | Profile `contribution` and comparison guide |
|
|
13
|
+
| Follow-ups | Keep stable finding identities, selected paths, exclusions, corrections and completed work across “fix these” and “continue.” | Shared execution and conversation evaluation |
|
|
14
|
+
|
|
15
|
+
The `requiredInputs` fields identify evidence for the selected outcome; they are not mandatory questionnaires for every variant. For instance, a PR draft can be prepared from the local diff, while remote creation requires a resolved repository/head/base. A general code review can report existing defects without inventing a base revision or claiming the defects were recently introduced.
|
|
16
|
+
|
|
17
|
+
The catalog resolves pack input policies before alias materialization. CLI contracts, generated skills and evaluation specifications therefore see the same policy. Validation rejects missing policies, profile contributions, independent alias behavior and a second runtime procedure. Structural checks cannot establish that the prose is useful; the [conversation evaluation](../evals/conversation/README.md) records actual responses, selected edits and independent checks.
|
|
18
|
+
|
|
19
|
+
Examples are authored guidance, not measured results. Role contributions are expected artifacts, not credentials. The [observed development record](../evals/releases/prompt-improvements.md) distinguishes executable controls, real agent outcomes and untested environments. These changes are published in v0.8.1; see its [validation and publication status](../evals/releases/0.8.1.md).
|
package/docs/releases.md
CHANGED
|
@@ -49,3 +49,9 @@ Push the release commit and matching `vVERSION` tag. Run **Publish npm package**
|
|
|
49
49
|
If publication fails, check whether that exact version already exists before retrying. A successful upload followed by a failed verification still consumes the version. If a bad release is already live, publish a corrected new version and deprecate the affected one with a clear explanation.
|
|
50
50
|
|
|
51
51
|
Official references: [npm publishing](https://docs.npmjs.com/creating-and-publishing-unscoped-public-packages/), [trusted publishing](https://docs.npmjs.com/trusted-publishers/), [semantic versioning](https://docs.npmjs.com/about-semantic-versioning/).
|
|
52
|
+
|
|
53
|
+
## Maintainer exception for unavailable CI
|
|
54
|
+
|
|
55
|
+
The default publisher still requires successful CI. An explicit maintainer instruction can waive unavailable CI for a specific release without recording a fictitious pass or disabling Actions globally. Keep the local checks and exact-archive verification: match the clean source commit, package/manifests, SHA-256 release record and tested tarball; check whether that version already exists before publication. Publish only those verified bytes, complete npm account verification, then compare registry integrity and execute the exact version from a fresh temporary directory/cache outside the source checkout. `npm exec` inside the package checkout can select the local package and fail to resolve its bin.
|
|
56
|
+
|
|
57
|
+
Record the reason, maintainer authorization, source commit, artifact hashes, local checks and outstanding platform coverage. Tag the actual published source revision. Never overwrite a published version or weaken the normal CI check for future releases. The [0.8.0 publication record](../evals/releases/0.8.0-publication.json) and [0.8.1 publication record](../evals/releases/0.8.1-publication.json) document separately authorized release-specific exceptions.
|
|
@@ -9,7 +9,7 @@ Generated from the canonical catalog. This is an inventory of authored guidance
|
|
|
9
9
|
| [orient](../plugins/just-vibe/skills/orient/SKILL.md) | A package script's name does not prove it works, and importing configuration can execute code during inspection. | Technical method and pack guide in entry point |
|
|
10
10
|
| [explain](../plugins/just-vibe/skills/explain/SKILL.md) | Plausible business intent cannot be inferred solely from a function name; configuration-dependent behavior remains conditional. | Technical method and pack guide in entry point |
|
|
11
11
|
| [teach](../plugins/just-vibe/skills/teach/SKILL.md) | Teaching a command does not authorize running it; overwhelming prerequisite lists can obscure the actual concept. | [Project exercises](../plugins/just-vibe/references/practice.md) |
|
|
12
|
-
| [teach-test](../plugins/just-vibe/skills/teach-test/SKILL.md) | Inline answer
|
|
12
|
+
| [teach-test](../plugins/just-vibe/skills/teach-test/SKILL.md) | Inline questions or an early answer key defeat native assessment; if the host forbids quiz dialogs, explain the limit and stop the quiz without disguising it as clarification. | Technical method and pack guide in entry point |
|
|
13
13
|
| [trace](../plugins/just-vibe/skills/trace/SKILL.md) | A static call graph does not prove which branch executed; queue handoffs can change identity and ordering. | Technical method and pack guide in entry point |
|
|
14
14
|
| [map](../plugins/just-vibe/skills/map/SKILL.md) | A large unlabeled graph hides ownership and can imply nonexistent deployed services. | Technical method and pack guide in entry point |
|
|
15
15
|
| [research](../plugins/just-vibe/skills/research/SKILL.md) | Current documentation may describe a different major than the project; search snippets alone can omit decisive conditions. | Technical method and pack guide in entry point |
|
|
@@ -28,10 +28,10 @@ Generated from the canonical catalog. This is an inventory of authored guidance
|
|
|
28
28
|
| [migrate](../plugins/just-vibe/skills/migrate/SKILL.md) | Updating a version string does not migrate runtime semantics; code rollback may not read new persisted data. | [Language and runtime review methods](../plugins/just-vibe/references/scenarios/language-review.md) |
|
|
29
29
|
| [automate](../plugins/just-vibe/skills/automate/SKILL.md) | A script that retries uncertain mutations or interpolates user text into shell source can amplify failures. | Technical method and pack guide in entry point |
|
|
30
30
|
| [cleanup](../plugins/just-vibe/skills/cleanup/SKILL.md) | Static search can miss reflection, routing conventions, plugins or public consumers. | Technical method and pack guide in entry point |
|
|
31
|
-
| [design](../plugins/just-vibe/skills/design/SKILL.md) | Attractive static composition can conceal inaccessible controls, content overflow or missing recovery states. |
|
|
32
|
-
| [polish](../plugins/just-vibe/skills/polish/SKILL.md) | Arbitrary token changes can improve one screen while breaking sibling components or dense content. |
|
|
33
|
-
| [match](../plugins/just-vibe/skills/match/SKILL.md) | A different viewport or unloaded font can masquerade as implementation error; screenshot similarity does not prove behavior. |
|
|
34
|
-
| [copy](../plugins/just-vibe/skills/copy/SKILL.md) | Friendly copy that says a failed operation succeeded or hides irreversible consequences misleads users. |
|
|
31
|
+
| [design](../plugins/just-vibe/skills/design/SKILL.md) | Attractive static composition can conceal inaccessible controls, content overflow or missing recovery states. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
32
|
+
| [polish](../plugins/just-vibe/skills/polish/SKILL.md) | Arbitrary token changes can improve one screen while breaking sibling components or dense content. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
33
|
+
| [match](../plugins/just-vibe/skills/match/SKILL.md) | A different viewport or unloaded font can masquerade as implementation error; screenshot similarity does not prove behavior. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
34
|
+
| [copy](../plugins/just-vibe/skills/copy/SKILL.md) | Friendly copy that says a failed operation succeeded or hides irreversible consequences misleads users. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
35
35
|
| [review](../plugins/just-vibe/skills/review/SKILL.md) | Style preferences, file length or theoretical edge cases without a trigger are not automatically defects. | [Review selection and evidence](../plugins/just-vibe/references/security/review.md); [Language and runtime review methods](../plugins/just-vibe/references/scenarios/language-review.md) |
|
|
36
36
|
| [test](../plugins/just-vibe/skills/test/SKILL.md) | Mock call assertions or tests mirroring helper logic can pass while behavior is wrong. | Technical method and pack guide in entry point |
|
|
37
37
|
| [verify](../plugins/just-vibe/skills/verify/SKILL.md) | A green command on another revision or a screenshot of one state cannot establish all acceptance criteria. | [Requirement evidence](../plugins/just-vibe/references/proofs.md) |
|
|
@@ -55,7 +55,7 @@ Generated from the canonical catalog. This is an inventory of authored guidance
|
|
|
55
55
|
| [doctor](../plugins/just-vibe/skills/doctor/SKILL.md) | Finding an executable or directory does not prove the plugin is enabled or the current session loaded its latest skills. | Technical method and pack guide in entry point |
|
|
56
56
|
| [help](../plugins/just-vibe/skills/help/SKILL.md) | Dumping every command creates search burden; a lexical match does not establish capability availability. | [Discovery and daily utilities](../plugins/just-vibe/references/daily-workflows.md) |
|
|
57
57
|
| [tools](../plugins/just-vibe/skills/tools/SKILL.md) | An installed CLI is not authenticated access; a skill description is not an executable scanner. | [Discovery and daily utilities](../plugins/just-vibe/references/daily-workflows.md) |
|
|
58
|
-
| [auto](../plugins/just-vibe/skills/auto/SKILL.md) | Lexical routing is a suggestion, not authorization or a reason to execute every matching command. | [Daily workflow paths](../plugins/just-vibe/references/daily-workflows.md); [Intent and evidence workflows](../plugins/just-vibe/references/intent-workflows.md) |
|
|
58
|
+
| [auto](../plugins/just-vibe/skills/auto/SKILL.md) | Lexical routing is a suggestion, not authorization or a reason to execute every matching command. | [Adaptive assistance](../plugins/just-vibe/references/adaptive.md); [Daily workflow paths](../plugins/just-vibe/references/daily-workflows.md); [Intent and evidence workflows](../plugins/just-vibe/references/intent-workflows.md) |
|
|
59
59
|
| [profiles](../plugins/just-vibe/skills/profiles/SKILL.md) | A job title is neither a credential nor evidence that all specialty checks were performed. | Technical method and pack guide in entry point |
|
|
60
60
|
| [profile](../plugins/just-vibe/skills/profile/SKILL.md) | Agent inference cannot clear a user pin, and a principal role does not authorize broader architecture changes. | [Project continuity](../plugins/just-vibe/references/daily-workflows.md) |
|
|
61
61
|
|
|
@@ -128,40 +128,40 @@ Generated from the canonical catalog. This is an inventory of authored guidance
|
|
|
128
128
|
|
|
129
129
|
| Workflow | Specific failure or ambiguity addressed | Conditional references |
|
|
130
130
|
|---|---|---|
|
|
131
|
-
| [vite-setup](../plugins/just-vibe/skills/vite-setup/SKILL.md) | Copying a config for another major or adding a second package manager can create a setup that only works on one machine. |
|
|
132
|
-
| [vite-config](../plugins/just-vibe/skills/vite-config/SKILL.md) | A config file can execute arbitrary imports; read-only inspection should not evaluate it just to discover values. |
|
|
133
|
-
| [vite-hmr](../plugins/just-vibe/skills/vite-hmr/SKILL.md) | Full page reload and preserved hot state are different outcomes; disabling host checks is not a generic websocket repair. |
|
|
134
|
-
| [vite-env](../plugins/just-vibe/skills/vite-env/SKILL.md) | Prefixing a secret with VITE_ makes it public; booleans read from env may be strings with surprising truthiness. | [Framework-specific review branches](../plugins/just-vibe/references/security/frameworks.md) |
|
|
135
|
-
| [vite-bundle](../plugins/just-vibe/skills/vite-bundle/SKILL.md) | Removing a named import or counting source file sizes does not prove tree-shaking or network improvement. |
|
|
136
|
-
| [vite-chunks](../plugins/just-vibe/skills/vite-chunks/SKILL.md) | A smaller entry chunk can add serial requests or cause a stale HTML document to reference a deleted old chunk. |
|
|
137
|
-
| [vite-assets](../plugins/just-vibe/skills/vite-assets/SKILL.md) | A leading slash can escape a subpath deployment; a concatenated filename may never enter the build graph. |
|
|
138
|
-
| [vite-upgrade](../plugins/just-vibe/skills/vite-upgrade/SKILL.md) | A passing install with ignored peer conflicts does not establish refresh or production compatibility. |
|
|
131
|
+
| [vite-setup](../plugins/just-vibe/skills/vite-setup/SKILL.md) | Copying a config for another major or adding a second package manager can create a setup that only works on one machine. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
132
|
+
| [vite-config](../plugins/just-vibe/skills/vite-config/SKILL.md) | A config file can execute arbitrary imports; read-only inspection should not evaluate it just to discover values. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
133
|
+
| [vite-hmr](../plugins/just-vibe/skills/vite-hmr/SKILL.md) | Full page reload and preserved hot state are different outcomes; disabling host checks is not a generic websocket repair. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
134
|
+
| [vite-env](../plugins/just-vibe/skills/vite-env/SKILL.md) | Prefixing a secret with VITE_ makes it public; booleans read from env may be strings with surprising truthiness. | [Framework-specific review branches](../plugins/just-vibe/references/security/frameworks.md); [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
135
|
+
| [vite-bundle](../plugins/just-vibe/skills/vite-bundle/SKILL.md) | Removing a named import or counting source file sizes does not prove tree-shaking or network improvement. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
136
|
+
| [vite-chunks](../plugins/just-vibe/skills/vite-chunks/SKILL.md) | A smaller entry chunk can add serial requests or cause a stale HTML document to reference a deleted old chunk. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
137
|
+
| [vite-assets](../plugins/just-vibe/skills/vite-assets/SKILL.md) | A leading slash can escape a subpath deployment; a concatenated filename may never enter the build graph. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
138
|
+
| [vite-upgrade](../plugins/just-vibe/skills/vite-upgrade/SKILL.md) | A passing install with ignored peer conflicts does not establish refresh or production compatibility. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
139
139
|
|
|
140
140
|
## React
|
|
141
141
|
|
|
142
142
|
| Workflow | Specific failure or ambiguity addressed | Conditional references |
|
|
143
143
|
|---|---|---|
|
|
144
|
-
| [react-audit](../plugins/just-vibe/skills/react-audit/SKILL.md) | Missing memoization is not automatically a defect, and ordinary JSX text is escaped by React. | [Framework-specific review branches](../plugins/just-vibe/references/security/frameworks.md) |
|
|
145
|
-
| [react-rerenders](../plugins/just-vibe/skills/react-rerenders/SKILL.md) | Render counts include harmless work and development checks; memoization can retain stale behavior or cost more than recomputation. |
|
|
146
|
-
| [react-effects](../plugins/just-vibe/skills/react-effects/SKILL.md) | Suppressing dependency warnings conceals stale closures; aborting a request cannot undo a completed server mutation. |
|
|
147
|
-
| [react-state](../plugins/just-vibe/skills/react-state/SKILL.md) | Copying props into state on every update can erase user edits; a module variable can leak state between instances or server requests. |
|
|
148
|
-
| [react-component](../plugins/just-vibe/skills/react-component/SKILL.md) | ARIA labels alone do not implement keyboard behavior, focus management or controlled value semantics. | [dialog interaction](../plugins/just-vibe/references/scenarios/dialog.md); [combobox interaction](../plugins/just-vibe/references/scenarios/combobox.md); [date-picker interaction](../plugins/just-vibe/references/scenarios/date-picker.md) |
|
|
149
|
-
| [react-forms](../plugins/just-vibe/skills/react-forms/SKILL.md) | A disabled button alone does not prevent retries or duplicate server effects; number parsing can turn an empty field into zero. |
|
|
150
|
-
| [react-async](../plugins/just-vibe/skills/react-async/SKILL.md) | Canceling one waiter must not cancel shared work still owned by another; late rejection can delete a newer cache entry. |
|
|
151
|
-
| [react-hydration](../plugins/just-vibe/skills/react-hydration/SKILL.md) | Suppressing hydration warnings does not repair invalid markup or mismatched event/state attachment. |
|
|
144
|
+
| [react-audit](../plugins/just-vibe/skills/react-audit/SKILL.md) | Missing memoization is not automatically a defect, and ordinary JSX text is escaped by React. | [Framework-specific review branches](../plugins/just-vibe/references/security/frameworks.md); [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
145
|
+
| [react-rerenders](../plugins/just-vibe/skills/react-rerenders/SKILL.md) | Render counts include harmless work and development checks; memoization can retain stale behavior or cost more than recomputation. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
146
|
+
| [react-effects](../plugins/just-vibe/skills/react-effects/SKILL.md) | Suppressing dependency warnings conceals stale closures; aborting a request cannot undo a completed server mutation. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
147
|
+
| [react-state](../plugins/just-vibe/skills/react-state/SKILL.md) | Copying props into state on every update can erase user edits; a module variable can leak state between instances or server requests. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
148
|
+
| [react-component](../plugins/just-vibe/skills/react-component/SKILL.md) | ARIA labels alone do not implement keyboard behavior, focus management or controlled value semantics. | [dialog interaction](../plugins/just-vibe/references/scenarios/dialog.md); [combobox interaction](../plugins/just-vibe/references/scenarios/combobox.md); [date-picker interaction](../plugins/just-vibe/references/scenarios/date-picker.md); [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
149
|
+
| [react-forms](../plugins/just-vibe/skills/react-forms/SKILL.md) | A disabled button alone does not prevent retries or duplicate server effects; number parsing can turn an empty field into zero. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
150
|
+
| [react-async](../plugins/just-vibe/skills/react-async/SKILL.md) | Canceling one waiter must not cancel shared work still owned by another; late rejection can delete a newer cache entry. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
151
|
+
| [react-hydration](../plugins/just-vibe/skills/react-hydration/SKILL.md) | Suppressing hydration warnings does not repair invalid markup or mismatched event/state attachment. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
152
152
|
|
|
153
153
|
## UI and frontend
|
|
154
154
|
|
|
155
155
|
| Workflow | Specific failure or ambiguity addressed | Conditional references |
|
|
156
156
|
|---|---|---|
|
|
157
|
-
| [ui-audit](../plugins/just-vibe/skills/ui-audit/SKILL.md) | A screenshot cannot establish keyboard behavior, contrast in every state or successful end-to-end completion. |
|
|
158
|
-
| [ui-system](../plugins/just-vibe/skills/ui-system/SKILL.md) | Renaming colors without updating focus, disabled, dark-mode or data-visualization states leaves an incomplete system. |
|
|
159
|
-
| [ui-states](../plugins/just-vibe/skills/ui-states/SKILL.md) | Replacing failed data with an empty-state message misrepresents the result and can encourage destructive user action. |
|
|
160
|
-
| [ui-responsive](../plugins/just-vibe/skills/ui-responsive/SKILL.md) | Hiding overflow can conceal controls; hover-only affordances fail on touch or keyboard. |
|
|
161
|
-
| [ui-accessibility](../plugins/just-vibe/skills/ui-accessibility/SKILL.md) | Passing an automated checker does not prove keyboard or screen-reader usability; positive tabindex creates fragile ordering. |
|
|
162
|
-
| [ui-motion](../plugins/just-vibe/skills/ui-motion/SKILL.md) | A smooth animation can still hide focus, block input or cause discomfort; reduced motion must preserve outcome and feedback. |
|
|
163
|
-
| [ui-visual-diff](../plugins/just-vibe/skills/ui-visual-diff/SKILL.md) | Approving a new screenshot merely because it differs converts a regression into the expected result. |
|
|
164
|
-
| [ui-flow](../plugins/just-vibe/skills/ui-flow/SKILL.md) | Optimizing one screen can break cross-screen state or erase work when users navigate backward. |
|
|
157
|
+
| [ui-audit](../plugins/just-vibe/skills/ui-audit/SKILL.md) | A screenshot cannot establish keyboard behavior, contrast in every state or successful end-to-end completion. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
158
|
+
| [ui-system](../plugins/just-vibe/skills/ui-system/SKILL.md) | Renaming colors without updating focus, disabled, dark-mode or data-visualization states leaves an incomplete system. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
159
|
+
| [ui-states](../plugins/just-vibe/skills/ui-states/SKILL.md) | Replacing failed data with an empty-state message misrepresents the result and can encourage destructive user action. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
160
|
+
| [ui-responsive](../plugins/just-vibe/skills/ui-responsive/SKILL.md) | Hiding overflow can conceal controls; hover-only affordances fail on touch or keyboard. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
161
|
+
| [ui-accessibility](../plugins/just-vibe/skills/ui-accessibility/SKILL.md) | Passing an automated checker does not prove keyboard or screen-reader usability; positive tabindex creates fragile ordering. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
162
|
+
| [ui-motion](../plugins/just-vibe/skills/ui-motion/SKILL.md) | A smooth animation can still hide focus, block input or cause discomfort; reduced motion must preserve outcome and feedback. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
163
|
+
| [ui-visual-diff](../plugins/just-vibe/skills/ui-visual-diff/SKILL.md) | Approving a new screenshot merely because it differs converts a regression into the expected result. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
164
|
+
| [ui-flow](../plugins/just-vibe/skills/ui-flow/SKILL.md) | Optimizing one screen can break cross-screen state or erase work when users navigate backward. | [Frontend iconography](../plugins/just-vibe/references/frontend-icons.md) |
|
|
165
165
|
|
|
166
166
|
## Backend
|
|
167
167
|
|
package/evals/README.md
CHANGED
|
@@ -30,6 +30,10 @@ The grader verifies input/instruction hashes, permitted changed files, independe
|
|
|
30
30
|
|
|
31
31
|
`npm run eval:behavior -- list` shows available cases. `npm run check` checks the harness itself against seeded wrong reports, broken code, vacuous tests and correct controls. Those synthetic harness checks are **not** model trials. It does not call models or services.
|
|
32
32
|
|
|
33
|
+
## Multi-turn behavior
|
|
34
|
+
|
|
35
|
+
The [conversation harness](conversation/README.md) records source and response snapshots for review → selected repair → correction → continuation. Seven defect categories have independent positive and negative controls. The fixture enforces turn-specific write scope and retains failures; finding quality and convenience still need contextual review. See the [observed development record](releases/prompt-improvements.md).
|
|
36
|
+
|
|
33
37
|
## Controlled comparisons
|
|
34
38
|
|
|
35
39
|
Prepare the same case in three fresh directories with `--arm baseline`, `--arm just-vibe`, or `--arm ecc --ecc-root /path/to/pinned/ECC`. ECC supports cases with a declared matched source file in the manifest. Record the ECC revision before preparation. The comparator supplies that matched guide, not ECC's complete installed hooks/agents/runtime; name this limitation when interpreting results.
|
|
@@ -33,11 +33,8 @@ export function prepare({ id, out, arm = 'just-vibe', eccRoot }) {
|
|
|
33
33
|
if (arm === 'just-vibe') {
|
|
34
34
|
const target = join(workspace, '_instructions/just-vibe');
|
|
35
35
|
for (const name of ['scripts', 'catalog']) cpSync(join(pluginRoot, name), join(target, name), { recursive: true });
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
cpSync(join(pluginRoot, 'references', name), join(target, 'references', name));
|
|
39
|
-
}
|
|
40
|
-
cpSync(join(pluginRoot, 'references/profiles'), join(target, 'references/profiles'), { recursive: true });
|
|
36
|
+
// Carry conditional and transitive guides too; availability is not an instruction to load them all.
|
|
37
|
+
cpSync(join(pluginRoot, 'references'), join(target, 'references'), { recursive: true });
|
|
41
38
|
for (const id of fixture.commands) {
|
|
42
39
|
const c = getCommand(catalog, id, { canonical: true });
|
|
43
40
|
cpSync(join(pluginRoot, 'skills', c.id), join(target, 'skills', c.id), { recursive: true });
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Conversation and selective-repair evaluation
|
|
2
|
+
|
|
3
|
+
This development fixture exercises a general source review followed by selected repairs, a correction and continuation. It does not require a diff baseline. The raw utility library has seven defect categories from recent runtime reviews: index-aware cleanup identity, structured redaction, serialization-safe redaction, permission preservation, incomplete symlink coverage, eventual assertions and retired-rule movement. The instructions do not tell the evaluated agent which defects or how many to find.
|
|
4
|
+
|
|
5
|
+
`fixture/` contains public contracts and source. `controls/` and `oracle.mjs` belong to the evaluator. Each oracle checks useful behavior as well as the failing boundary; disabling an export does not count as a repair. `tests/conversation.test.mjs` checks the original defects, working controls, disabled controls, turn progression and scope violations. These deterministic checks make no model calls.
|
|
6
|
+
|
|
7
|
+
## Prepare a real trial
|
|
8
|
+
|
|
9
|
+
Create a JSON configuration outside the future trial directory:
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{ "out": ".tmp/trials/conversation-1", "arm": "just-vibe" }
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Run `npm run eval:conversation -- prepare CONFIG.json`. Use a new directory each time. The `baseline` arm omits toolkit instructions. Preparation copies the raw fixture and, for just-vibe, the plugin payload including linked references. It records input identities and instruction hashes. It neither launches a model nor establishes a successful evaluation.
|
|
16
|
+
|
|
17
|
+
Give an independent agent only `turns/1/prompt.txt` and the workspace it names. Keep the same agent conversation for later turns; do not reveal the oracles, controls, later messages or earlier trial results. Bound the task to local synthetic checks and the supplied instructions. This is an evaluator workflow, not a sandbox for hostile submissions.
|
|
18
|
+
|
|
19
|
+
## Capture and continue
|
|
20
|
+
|
|
21
|
+
After the agent responds, capture its actual response verbatim:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"run": ".tmp/trials/conversation-1",
|
|
26
|
+
"response": "Actual complete response from the agent",
|
|
27
|
+
"actor": "Actual host task/agent identifier"
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Run `npm run eval:conversation -- capture CONFIG.json`. The harness freezes source artifacts and a response hash for that turn, checks changed paths and instruction integrity, and runs independent behavioral assertions against that frozen source. It withholds execution after a scope violation. Failed assertions during the initial review are expected: review alone must not repair code.
|
|
32
|
+
|
|
33
|
+
Then create the next request with `npm run eval:conversation -- begin CONFIG.json`:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"run": ".tmp/trials/conversation-1",
|
|
38
|
+
"message": "Fix only findings 1 and 2. Keep the remaining findings unchanged.",
|
|
39
|
+
"allowedWrites": ["src/cleanup.mjs", "src/privacy.mjs"],
|
|
40
|
+
"expectFixed": ["cleanup", "privacy"]
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The two file names above are an example, not a required review order. Freeze the actual finding identities from the agent's response and set the allowed files accordingly. `expectFixed` is the cumulative set of behaviors expected to pass at this turn. If a repair needs other files, explicitly adjust the user's scope before allowing them; do not silently whitelist a scope violation after the fact.
|
|
45
|
+
|
|
46
|
+
Suggested continuation:
|
|
47
|
+
|
|
48
|
+
1. Review without edits.
|
|
49
|
+
2. Fix only the first two actual findings.
|
|
50
|
+
3. Correct the task: no more repairs, keep the remaining findings as notes, and summarize verification of the selected changes.
|
|
51
|
+
4. Say “continue.” Previously excluded findings must stay excluded.
|
|
52
|
+
|
|
53
|
+
Capture every response before beginning the next turn. Changes between turns are rejected. Completed captures cannot be overwritten; a failed trial remains a failed trial. Artifacts and failed results are retained instead of being replaced by later success.
|
|
54
|
+
|
|
55
|
+
## Interpret the evidence
|
|
56
|
+
|
|
57
|
+
Check actual changes and executable outcomes separately from review prose. Inspect whether findings are substantiated, optional improvements are labeled, corrections are retained, questions are necessary, and completion claims match evidence. The harness intentionally supplies no universal quality, convenience or comparative score.
|
|
58
|
+
|
|
59
|
+
One trial does not establish cross-model reliability, native Claude/Codex parity or performance on a production repository. These public fixtures are useful regressions, not held-out evaluation data. Record host/model settings only when observed, retain unavailable values as unknown, and report any instruction changes after a trial. See the [development record](../releases/prompt-improvements.md) for observed results.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { writeFileSync, renameSync, statSync, chmodSync, rmSync } from 'node:fs';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
export function atomicSave(path, text) {
|
|
4
|
+
let mode = 0o600;
|
|
5
|
+
try { mode = statSync(path).mode & 0o777; } catch (error) { if (error.code !== 'ENOENT') throw error; }
|
|
6
|
+
const temp = `${path}.${randomUUID()}.tmp`;
|
|
7
|
+
try { writeFileSync(temp, text, { flag: 'wx', mode: 0o600 }); chmodSync(temp, mode); renameSync(temp, path); }
|
|
8
|
+
finally { rmSync(temp, { force: true }); }
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export async function assertEventually(read, expected, timeoutMs = 1000) {
|
|
2
|
+
const deadline = Date.now() + timeoutMs;
|
|
3
|
+
do {
|
|
4
|
+
let timer;
|
|
5
|
+
const timeout = new Promise((_, reject) => { timer = setTimeout(() => reject(Error('Expectation timed out')), Math.max(0, deadline - Date.now())); });
|
|
6
|
+
let actual;
|
|
7
|
+
try { actual = await Promise.race([Promise.resolve().then(read), timeout]); }
|
|
8
|
+
finally { clearTimeout(timer); }
|
|
9
|
+
if (actual === expected) return true;
|
|
10
|
+
const remaining = deadline - Date.now();
|
|
11
|
+
if (remaining <= 0) break;
|
|
12
|
+
await new Promise(resolve => setTimeout(resolve, Math.min(10, remaining)));
|
|
13
|
+
} while (true);
|
|
14
|
+
throw Error('Expectation timed out');
|
|
15
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
export function cleanupToken(root) {
|
|
6
|
+
const git = args => execFileSync('git', args, { cwd: root });
|
|
7
|
+
const hash = createHash('sha256').update(git(['ls-files', '--stage', '-z']));
|
|
8
|
+
const names = git(['ls-files', '--cached', '--others', '--exclude-standard', '-z']).toString().split('\0').filter(Boolean);
|
|
9
|
+
for (const name of [...new Set(names)].sort()) {
|
|
10
|
+
hash.update(JSON.stringify(name));
|
|
11
|
+
try { const bytes = readFileSync(join(root, name)); hash.update(`${bytes.length}:`); hash.update(bytes); }
|
|
12
|
+
catch (error) { if (error.code !== 'ENOENT') throw error; hash.update('absent'); }
|
|
13
|
+
}
|
|
14
|
+
return hash.digest('hex');
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { readdirSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { join, relative } from 'node:path';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
4
|
+
export function fingerprint(root) {
|
|
5
|
+
let complete = true;
|
|
6
|
+
const hash = createHash('sha256');
|
|
7
|
+
function walk(dir) {
|
|
8
|
+
for (const entry of readdirSync(dir, { withFileTypes: true }).sort((a, b) => a.name.localeCompare(b.name))) {
|
|
9
|
+
const path = join(dir, entry.name);
|
|
10
|
+
if (entry.isSymbolicLink()) { complete = false; continue; }
|
|
11
|
+
if (entry.isDirectory()) walk(path);
|
|
12
|
+
else { const bytes = readFileSync(path); hash.update(JSON.stringify([relative(root, path), bytes.length])); hash.update(bytes); }
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
walk(root); return { complete, digest: hash.digest('hex') };
|
|
16
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export function redactEvidence(value) {
|
|
2
|
+
if (Array.isArray(value)) return value.map(redactEvidence);
|
|
3
|
+
if (value && typeof value === 'object') return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, /^(token|password|secret)$/i.test(key) ? '[REDACTED]' : redactEvidence(item)]));
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export function moveRule(rules, id, destination) {
|
|
2
|
+
if (!['AGENTS.md', 'CLAUDE.md'].includes(destination)) throw Error('Invalid destination');
|
|
3
|
+
if (!rules.some(rule => rule.id === id)) throw Error('Unknown rule');
|
|
4
|
+
return rules.map(rule => ({ ...rule, ...(rule.id === id ? { destination } : {}) }));
|
|
5
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export function roundTrip(value, secrets) {
|
|
2
|
+
if (typeof value === 'string') return secrets.filter(Boolean).reduce((text, secret) => text.split(secret).join('[REDACTED]'), value);
|
|
3
|
+
if (Array.isArray(value)) return value.map(item => roundTrip(item, secrets));
|
|
4
|
+
if (value && typeof value === 'object') return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, roundTrip(item, secrets)]));
|
|
5
|
+
return value;
|
|
6
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Workspace utilities
|
|
2
|
+
|
|
3
|
+
This is a small Node.js utility library. There are no dependencies. Public contracts:
|
|
4
|
+
|
|
5
|
+
- `cleanupToken(root)` returns a stable approval token for the Git index and working tree of a local repository. Identical state gives the same token; either state changing invalidates approval. Repository fixtures contain ordinary files only.
|
|
6
|
+
- `redactEvidence(value)` returns a JSON-compatible deep copy, redacting values of case-insensitive `token`, `password`, and `secret` keys at any nesting level, while preserving unrelated data. Inputs are acyclic JSON values.
|
|
7
|
+
- `roundTrip(value, secrets)` removes each supplied nonempty string secret from string values, preserving JSON types/structure and unrelated text. Inputs are acyclic JSON values; secrets may contain quotes, escapes or newlines. Secret values must not appear in returned strings.
|
|
8
|
+
- `atomicSave(path, text)` atomically replaces an existing regular file while preserving its POSIX access mode. Creating a new file uses a private mode. Callers supply a writable directory. Atomicity does not promise crash durability.
|
|
9
|
+
- `fingerprint(root)` returns `{ complete, digest }` over ordinary files. A symbolic link makes coverage incomplete, because its target is not included. Do not follow links outside the tree.
|
|
10
|
+
- `assertEventually(read, expected, timeoutMs)` waits for an asynchronous state reader to return the expected string, resolving true on success. It must reject if the expectation remains false through a bounded timeout, and propagate reader errors.
|
|
11
|
+
- `moveRule(rules, id, destination)` returns updated copies, moving exactly that rule between instruction files, including retired rules, without reactivating it. Destinations are `AGENTS.md` or `CLAUDE.md`. Missing IDs and other destinations fail.
|
|
12
|
+
|
|
13
|
+
Use only local synthetic data. No installation, network access or external operations are needed. Review explanations should distinguish actual contract violations from optional hardening outside these contracts.
|