@event4u/agent-config 2.25.0 → 3.0.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/.agent-src/commands/agent-handoff.md +15 -3
- package/.agent-src/commands/agent-status.md +12 -0
- package/.agent-src/commands/agents/audit.md +12 -0
- package/.agent-src/commands/agents/init.md +12 -0
- package/.agent-src/commands/agents/optimize.md +12 -0
- package/.agent-src/commands/agents/user/accept.md +12 -0
- package/.agent-src/commands/agents/user/init.md +12 -0
- package/.agent-src/commands/agents/user/review.md +12 -0
- package/.agent-src/commands/agents/user/show.md +12 -0
- package/.agent-src/commands/agents/user/update.md +12 -0
- package/.agent-src/commands/agents/user.md +12 -0
- package/.agent-src/commands/agents.md +12 -0
- package/.agent-src/commands/analyze-reference-repo.md +15 -3
- package/.agent-src/commands/bug-fix.md +13 -0
- package/.agent-src/commands/bug-investigate.md +13 -1
- package/.agent-src/commands/challenge-me/vision.md +12 -0
- package/.agent-src/commands/challenge-me/with-docs.md +12 -0
- package/.agent-src/commands/challenge-me.md +12 -0
- package/.agent-src/commands/chat-history/import.md +16 -4
- package/.agent-src/commands/chat-history/learn.md +15 -3
- package/.agent-src/commands/chat-history/show.md +17 -5
- package/.agent-src/commands/chat-history.md +14 -2
- package/.agent-src/commands/check-current-md.md +12 -0
- package/.agent-src/commands/commit/in-chunks.md +12 -0
- package/.agent-src/commands/commit.md +12 -0
- package/.agent-src/commands/compress.md +12 -0
- package/.agent-src/commands/context/create.md +17 -5
- package/.agent-src/commands/context/refactor.md +15 -3
- package/.agent-src/commands/context.md +12 -0
- package/.agent-src/commands/cost-report.md +12 -0
- package/.agent-src/commands/council/analysis.md +15 -3
- package/.agent-src/commands/council/debate.md +17 -5
- package/.agent-src/commands/council/default.md +17 -5
- package/.agent-src/commands/council/design.md +12 -0
- package/.agent-src/commands/council/optimize.md +12 -0
- package/.agent-src/commands/council/pr.md +12 -0
- package/.agent-src/commands/council.md +13 -1
- package/.agent-src/commands/create-pr/description-only.md +12 -0
- package/.agent-src/commands/create-pr.md +39 -0
- package/.agent-src/commands/e2e-heal.md +12 -0
- package/.agent-src/commands/e2e-plan.md +12 -0
- package/.agent-src/commands/estimate-ticket.md +12 -0
- package/.agent-src/commands/feature/dev.md +13 -1
- package/.agent-src/commands/feature/explore.md +12 -0
- package/.agent-src/commands/feature/plan.md +14 -2
- package/.agent-src/commands/feature/refactor.md +12 -0
- package/.agent-src/commands/feature/roadmap.md +14 -2
- package/.agent-src/commands/feature.md +12 -0
- package/.agent-src/commands/fix/ci.md +12 -0
- package/.agent-src/commands/fix/portability.md +12 -0
- package/.agent-src/commands/fix/pr-bot-comments.md +12 -0
- package/.agent-src/commands/fix/pr-comments.md +12 -0
- package/.agent-src/commands/fix/pr-developer-comments.md +12 -0
- package/.agent-src/commands/fix/refs.md +12 -0
- package/.agent-src/commands/fix/seeder.md +15 -2
- package/.agent-src/commands/fix.md +12 -0
- package/.agent-src/commands/ghostwriter/delete.md +20 -8
- package/.agent-src/commands/ghostwriter/fetch.md +19 -7
- package/.agent-src/commands/ghostwriter/list.md +19 -7
- package/.agent-src/commands/ghostwriter/show.md +14 -2
- package/.agent-src/commands/ghostwriter/write.md +15 -3
- package/.agent-src/commands/ghostwriter.md +14 -2
- package/.agent-src/commands/grill-me.md +12 -0
- package/.agent-src/commands/implement-ticket.md +12 -0
- package/.agent-src/commands/jira-ticket.md +12 -0
- package/.agent-src/commands/judge/on-diff.md +12 -0
- package/.agent-src/commands/judge/solo.md +12 -0
- package/.agent-src/commands/judge/steps.md +12 -0
- package/.agent-src/commands/judge.md +12 -0
- package/.agent-src/commands/memory/add.md +15 -3
- package/.agent-src/commands/memory/learn-low-impact.md +18 -6
- package/.agent-src/commands/memory/load.md +12 -0
- package/.agent-src/commands/memory/mine-session.md +12 -0
- package/.agent-src/commands/memory/promote.md +12 -0
- package/.agent-src/commands/memory/propose.md +12 -0
- package/.agent-src/commands/memory.md +12 -0
- package/.agent-src/commands/mode.md +12 -0
- package/.agent-src/commands/module/create.md +13 -0
- package/.agent-src/commands/module/explore.md +23 -7
- package/.agent-src/commands/module.md +12 -0
- package/.agent-src/commands/optimize/agents-dir.md +14 -2
- package/.agent-src/commands/optimize/augmentignore.md +64 -20
- package/.agent-src/commands/optimize/rtk.md +68 -30
- package/.agent-src/commands/optimize/skills.md +12 -0
- package/.agent-src/commands/optimize-prompt.md +12 -0
- package/.agent-src/commands/optimize.md +12 -0
- package/.agent-src/commands/orchestrate.md +13 -1
- package/.agent-src/commands/override/create.md +12 -0
- package/.agent-src/commands/override/manage.md +12 -0
- package/.agent-src/commands/override.md +12 -0
- package/.agent-src/commands/package-reset.md +12 -0
- package/.agent-src/commands/package-test.md +98 -10
- package/.agent-src/commands/post-as/ghostwriter.md +12 -0
- package/.agent-src/commands/post-as/me.md +13 -1
- package/.agent-src/commands/post-as.md +12 -0
- package/.agent-src/commands/prepare-for-review.md +12 -0
- package/.agent-src/commands/project-analyze.md +27 -15
- package/.agent-src/commands/project-health.md +13 -1
- package/.agent-src/commands/quality-fix.md +61 -27
- package/.agent-src/commands/refine-ticket.md +12 -0
- package/.agent-src/commands/research/deep.md +12 -0
- package/.agent-src/commands/research/report.md +12 -0
- package/.agent-src/commands/research.md +12 -0
- package/.agent-src/commands/review-changes.md +12 -0
- package/.agent-src/commands/review-routing.md +12 -0
- package/.agent-src/commands/roadmap/ai-council.md +15 -3
- package/.agent-src/commands/roadmap/create.md +13 -1
- package/.agent-src/commands/roadmap/process-full.md +12 -0
- package/.agent-src/commands/roadmap/process-phase.md +12 -0
- package/.agent-src/commands/roadmap/process-step.md +12 -0
- package/.agent-src/commands/roadmap.md +12 -0
- package/.agent-src/commands/rule-compliance-audit.md +12 -0
- package/.agent-src/commands/set-cost-profile.md +12 -0
- package/.agent-src/commands/sync-agent-settings.md +12 -0
- package/.agent-src/commands/sync-gitignore/fix.md +32 -13
- package/.agent-src/commands/sync-gitignore.md +13 -1
- package/.agent-src/commands/tests/create.md +12 -0
- package/.agent-src/commands/tests/execute.md +12 -0
- package/.agent-src/commands/tests.md +12 -0
- package/.agent-src/commands/threat-model.md +12 -0
- package/.agent-src/commands/update-form-request-messages.md +14 -1
- package/.agent-src/commands/upstream-contribute.md +12 -0
- package/.agent-src/commands/video/from-script.md +12 -0
- package/.agent-src/commands/video/scene.md +12 -0
- package/.agent-src/commands/video/stitch.md +13 -1
- package/.agent-src/commands/video/storyboard.md +12 -0
- package/.agent-src/commands/video.md +12 -0
- package/.agent-src/commands/work.md +12 -0
- package/.agent-src/contexts/augment-infrastructure.md +6 -9
- package/.agent-src/contexts/authority/scope-mechanics.md +11 -0
- package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +1 -1
- package/.agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
- package/.agent-src/contexts/contracts/research-schema.md +1 -1
- package/.agent-src/contexts/documentation-hierarchy.md +2 -2
- package/.agent-src/contexts/execution/interrupt-examples.md +34 -0
- package/.agent-src/contexts/execution/roadmap-process-loop.md +19 -0
- package/.agent-src/contexts/skills-and-commands.md +2 -2
- package/.agent-src/ghostwriter/README.md +2 -2
- package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
- package/.agent-src/personas/README.md +1 -1
- package/.agent-src/personas/advisors/contrarian.md +1 -1
- package/.agent-src/personas/advisors/executor.md +1 -1
- package/.agent-src/personas/advisors/expansionist.md +1 -1
- package/.agent-src/personas/advisors/first-principles.md +1 -1
- package/.agent-src/personas/advisors/outsider.md +1 -1
- package/.agent-src/rules/agent-authority.md +12 -0
- package/.agent-src/rules/analysis-skill-routing.md +12 -0
- package/.agent-src/rules/architecture.md +37 -11
- package/.agent-src/rules/artifact-drafting-protocol.md +19 -1
- package/.agent-src/rules/artifact-engagement-recording.md +13 -1
- package/.agent-src/rules/ask-when-uncertain.md +12 -0
- package/.agent-src/rules/augment-edit-discipline.md +40 -0
- package/.agent-src/rules/augment-source-of-truth.md +15 -3
- package/.agent-src/rules/autonomous-execution.md +44 -1
- package/.agent-src/rules/caveman-speak.md +13 -1
- package/.agent-src/rules/cli-output-handling.md +13 -1
- package/.agent-src/rules/command-suggestion-policy.md +13 -1
- package/.agent-src/rules/commit-conventions.md +13 -1
- package/.agent-src/rules/commit-policy.md +12 -0
- package/.agent-src/rules/context-hygiene.md +16 -4
- package/.agent-src/rules/copilot-routing.md +13 -1
- package/.agent-src/rules/devcontainer-routing.md +13 -1
- package/.agent-src/rules/direct-answers.md +12 -0
- package/.agent-src/rules/docker-commands.md +13 -1
- package/.agent-src/rules/domain-adoption-policy.md +21 -10
- package/.agent-src/rules/domain-safety-disclaimer.md +126 -0
- package/.agent-src/rules/domain-safety-pii.md +154 -0
- package/.agent-src/rules/domain-safety-retention.md +98 -0
- package/.agent-src/rules/downstream-changes.md +17 -5
- package/.agent-src/rules/external-reference-deep-dive.md +13 -1
- package/.agent-src/rules/fast-path-marker-visibility.md +21 -1
- package/.agent-src/rules/framework-neutrality-in-generic-skills.md +142 -0
- package/.agent-src/rules/git-history-discipline.md +111 -0
- package/.agent-src/rules/guidelines.md +12 -0
- package/.agent-src/rules/improve-before-implement.md +13 -1
- package/.agent-src/rules/invite-challenge.md +13 -1
- package/.agent-src/rules/language-and-tone.md +12 -0
- package/.agent-src/rules/laravel-routing.md +13 -1
- package/.agent-src/rules/laravel-translations.md +13 -1
- package/.agent-src/rules/low-impact-corpus-privacy-floor.md +17 -5
- package/.agent-src/rules/markdown-safe-codeblocks.md +13 -1
- package/.agent-src/rules/media-governance-routing.md +27 -15
- package/.agent-src/rules/minimal-safe-diff.md +19 -1
- package/.agent-src/rules/missing-tool-handling.md +13 -1
- package/.agent-src/rules/model-recommendation.md +13 -1
- package/.agent-src/rules/no-attribution-footers.md +13 -1
- package/.agent-src/rules/no-cheap-questions.md +12 -0
- package/.agent-src/rules/no-roadmap-references.md +32 -18
- package/.agent-src/rules/non-destructive-by-default.md +12 -0
- package/.agent-src/rules/onboarding-gate.md +19 -6
- package/.agent-src/rules/package-ci-checks.md +12 -0
- package/.agent-src/rules/persona-governance.md +13 -1
- package/.agent-src/rules/php-coding.md +13 -1
- package/.agent-src/rules/preservation-guard.md +13 -1
- package/.agent-src/rules/provider-lifecycle-discipline.md +14 -2
- package/.agent-src/rules/reviewer-awareness.md +13 -1
- package/.agent-src/rules/roadmap-ci-steps-policy.md +13 -1
- package/.agent-src/rules/roadmap-progress-sync.md +18 -1
- package/.agent-src/rules/role-mode-adherence.md +13 -1
- package/.agent-src/rules/rule-type-governance.md +13 -1
- package/.agent-src/rules/runtime-safety.md +13 -1
- package/.agent-src/rules/scope-control.md +12 -0
- package/.agent-src/rules/security-sensitive-stop.md +13 -1
- package/.agent-src/rules/size-enforcement.md +12 -0
- package/.agent-src/rules/skill-improvement-trigger.md +13 -1
- package/.agent-src/rules/skill-quality.md +13 -1
- package/.agent-src/rules/slash-command-routing-policy.md +13 -1
- package/.agent-src/rules/symfony-routing.md +13 -1
- package/.agent-src/rules/think-before-action.md +13 -1
- package/.agent-src/rules/token-efficiency.md +13 -1
- package/.agent-src/rules/token-optimizer-maintenance.md +12 -0
- package/.agent-src/rules/tool-safety.md +13 -1
- package/.agent-src/rules/ui-audit-gate.md +13 -1
- package/.agent-src/rules/upstream-proposal.md +13 -1
- package/.agent-src/rules/user-interaction.md +13 -1
- package/.agent-src/rules/user-interrupt-priority.md +58 -0
- package/.agent-src/rules/verify-before-complete.md +23 -2
- package/.agent-src/skills/accessibility-auditor/SKILL.md +12 -0
- package/.agent-src/skills/activation-design/SKILL.md +12 -0
- package/.agent-src/skills/adr-create/SKILL.md +12 -0
- package/.agent-src/skills/adversarial-review/SKILL.md +13 -1
- package/.agent-src/skills/agent-docs-writing/SKILL.md +16 -4
- package/.agent-src/skills/agents-md-thin-root/SKILL.md +14 -2
- package/.agent-src/skills/ai-council/SKILL.md +29 -15
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +12 -0
- package/.agent-src/skills/analysis-skill-router/SKILL.md +12 -0
- package/.agent-src/skills/api-design/SKILL.md +13 -3
- package/.agent-src/skills/api-endpoint/SKILL.md +70 -154
- package/.agent-src/skills/api-testing/SKILL.md +23 -0
- package/.agent-src/skills/architecture-review-lens/SKILL.md +12 -0
- package/.agent-src/skills/artisan-commands/SKILL.md +12 -0
- package/.agent-src/skills/async-python-patterns/SKILL.md +13 -1
- package/.agent-src/skills/authz-review/SKILL.md +12 -2
- package/.agent-src/skills/aws-infrastructure/SKILL.md +12 -0
- package/.agent-src/skills/blade-ui/SKILL.md +12 -0
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +12 -0
- package/.agent-src/skills/bug-analyzer/SKILL.md +14 -2
- package/.agent-src/skills/build-buy-partner/SKILL.md +12 -0
- package/.agent-src/skills/canvas-design/SKILL.md +12 -0
- package/.agent-src/skills/character-consistency/SKILL.md +23 -11
- package/.agent-src/skills/check-refs/SKILL.md +12 -0
- package/.agent-src/skills/churn-prevention/SKILL.md +12 -0
- package/.agent-src/skills/code-refactoring/SKILL.md +52 -34
- package/.agent-src/skills/code-review/SKILL.md +53 -36
- package/.agent-src/skills/command-routing/SKILL.md +12 -0
- package/.agent-src/skills/command-writing/SKILL.md +14 -2
- package/.agent-src/skills/comp-banding/SKILL.md +12 -0
- package/.agent-src/skills/competitive-moat-analysis/SKILL.md +12 -2
- package/.agent-src/skills/competitive-positioning/SKILL.md +12 -2
- package/.agent-src/skills/composer-packages/SKILL.md +12 -0
- package/.agent-src/skills/compress-memory/SKILL.md +12 -0
- package/.agent-src/skills/content-funnel-design/SKILL.md +12 -2
- package/.agent-src/skills/context-authoring/SKILL.md +19 -7
- package/.agent-src/skills/context-document/SKILL.md +17 -5
- package/.agent-src/skills/contracts-cognition/SKILL.md +12 -2
- package/.agent-src/skills/conventional-commits-writing/SKILL.md +12 -0
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +13 -1
- package/.agent-src/skills/copilot-config/SKILL.md +12 -0
- package/.agent-src/skills/customer-research/SKILL.md +12 -0
- package/.agent-src/skills/dashboard-design/SKILL.md +13 -2
- package/.agent-src/skills/data-flow-mapper/SKILL.md +12 -0
- package/.agent-src/skills/data-handling-judgment/SKILL.md +12 -2
- package/.agent-src/skills/database/SKILL.md +22 -5
- package/.agent-src/skills/dcf-modeling/SKILL.md +12 -2
- package/.agent-src/skills/deal-qualification-meddic/SKILL.md +12 -2
- package/.agent-src/skills/decision-record/SKILL.md +12 -0
- package/.agent-src/skills/deep-reading-analyst/SKILL.md +12 -0
- package/.agent-src/skills/defense-in-depth/SKILL.md +13 -1
- package/.agent-src/skills/dependency-upgrade/SKILL.md +77 -19
- package/.agent-src/skills/description-assist/SKILL.md +12 -0
- package/.agent-src/skills/design-review/SKILL.md +12 -0
- package/.agent-src/skills/devcontainer/SKILL.md +12 -0
- package/.agent-src/skills/developer-like-execution/SKILL.md +37 -14
- package/.agent-src/skills/discovery-interview/SKILL.md +12 -2
- package/.agent-src/skills/doc-coauthoring/SKILL.md +12 -0
- package/.agent-src/skills/docker/SKILL.md +12 -0
- package/.agent-src/skills/editorial-calendar/SKILL.md +12 -2
- package/.agent-src/skills/eloquent/SKILL.md +13 -1
- package/.agent-src/skills/eloquent/evals/triggers.json +1 -1
- package/.agent-src/skills/error-handling-patterns/SKILL.md +13 -1
- package/.agent-src/skills/estimate-ticket/SKILL.md +12 -0
- package/.agent-src/skills/existing-ui-audit/SKILL.md +12 -0
- package/.agent-src/skills/expansion-playbook/SKILL.md +12 -0
- package/.agent-src/skills/fe-design/SKILL.md +12 -0
- package/.agent-src/skills/feature-planning/SKILL.md +13 -1
- package/.agent-src/skills/file-editor/SKILL.md +57 -19
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +14 -2
- package/.agent-src/skills/flux/SKILL.md +12 -0
- package/.agent-src/skills/forecast-accuracy/SKILL.md +12 -2
- package/.agent-src/skills/forecasting/SKILL.md +12 -2
- package/.agent-src/skills/form-handler/SKILL.md +12 -0
- package/.agent-src/skills/fundraising-narrative/SKILL.md +12 -2
- package/.agent-src/skills/funnel-analysis/SKILL.md +12 -0
- package/.agent-src/skills/git-workflow/SKILL.md +16 -4
- package/.agent-src/skills/github-ci/SKILL.md +12 -0
- package/.agent-src/skills/grafana/SKILL.md +12 -0
- package/.agent-src/skills/gtm-launch/SKILL.md +12 -2
- package/.agent-src/skills/guideline-writing/SKILL.md +12 -0
- package/.agent-src/skills/hiring-loop-design/SKILL.md +12 -0
- package/.agent-src/skills/incident-commander/SKILL.md +12 -2
- package/.agent-src/skills/jira-integration/SKILL.md +12 -0
- package/.agent-src/skills/jobs-events/SKILL.md +12 -0
- package/.agent-src/skills/judge-bug-hunter/SKILL.md +12 -0
- package/.agent-src/skills/judge-code-quality/SKILL.md +12 -0
- package/.agent-src/skills/judge-security-auditor/SKILL.md +12 -0
- package/.agent-src/skills/judge-test-coverage/SKILL.md +12 -0
- package/.agent-src/skills/laravel/SKILL.md +12 -0
- package/.agent-src/skills/laravel-api-endpoint/SKILL.md +199 -0
- package/.agent-src/skills/{dto-creator → laravel-dto}/SKILL.md +19 -6
- package/.agent-src/skills/laravel-horizon/SKILL.md +12 -0
- package/.agent-src/skills/laravel-mail/SKILL.md +12 -0
- package/.agent-src/skills/laravel-middleware/SKILL.md +12 -0
- package/.agent-src/skills/{migration-creator → laravel-migration}/SKILL.md +23 -10
- package/.agent-src/skills/laravel-notifications/SKILL.md +12 -0
- package/.agent-src/skills/laravel-pennant/SKILL.md +12 -0
- package/.agent-src/skills/laravel-pulse/SKILL.md +12 -0
- package/.agent-src/skills/laravel-reverb/SKILL.md +15 -3
- package/.agent-src/skills/laravel-scheduling/SKILL.md +12 -0
- package/.agent-src/skills/laravel-validation/SKILL.md +12 -0
- package/.agent-src/skills/{websocket → laravel-websocket}/SKILL.md +16 -3
- package/.agent-src/skills/launch-readiness/SKILL.md +12 -2
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +16 -4
- package/.agent-src/skills/lint-skills/SKILL.md +12 -0
- package/.agent-src/skills/livewire/SKILL.md +12 -0
- package/.agent-src/skills/livewire-architect/SKILL.md +12 -0
- package/.agent-src/skills/logging-monitoring/SKILL.md +12 -0
- package/.agent-src/skills/market-entry-analysis/SKILL.md +12 -0
- package/.agent-src/skills/markitdown/SKILL.md +14 -2
- package/.agent-src/skills/mcp/SKILL.md +12 -0
- package/.agent-src/skills/mcp-builder/SKILL.md +14 -2
- package/.agent-src/skills/md-language-check/SKILL.md +13 -1
- package/.agent-src/skills/memory-consolidation/SKILL.md +12 -0
- package/.agent-src/skills/merge-conflicts/SKILL.md +61 -17
- package/.agent-src/skills/messaging-architecture/SKILL.md +12 -2
- package/.agent-src/skills/migration-architect/SKILL.md +18 -6
- package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +12 -0
- package/.agent-src/skills/module-management/SKILL.md +13 -0
- package/.agent-src/skills/motion-choreographer/SKILL.md +16 -4
- package/.agent-src/skills/multi-tenancy/SKILL.md +29 -10
- package/.agent-src/skills/nextjs-patterns/SKILL.md +12 -0
- package/.agent-src/skills/okr-tree-modeling/SKILL.md +12 -2
- package/.agent-src/skills/onboarding-design/SKILL.md +12 -0
- package/.agent-src/skills/onboarding-program/SKILL.md +12 -0
- package/.agent-src/skills/one-on-one-cadence/SKILL.md +12 -0
- package/.agent-src/skills/openapi/SKILL.md +13 -1
- package/.agent-src/skills/org-design/SKILL.md +12 -0
- package/.agent-src/skills/override-management/SKILL.md +12 -0
- package/.agent-src/skills/perf-feedback-craft/SKILL.md +12 -0
- package/.agent-src/skills/performance/SKILL.md +12 -0
- package/.agent-src/skills/performance-analysis/SKILL.md +12 -0
- package/.agent-src/skills/persona-writing/SKILL.md +12 -0
- package/.agent-src/skills/pest-testing/SKILL.md +30 -0
- package/.agent-src/skills/php-coder/SKILL.md +12 -0
- package/.agent-src/skills/php-debugging/SKILL.md +40 -0
- package/.agent-src/skills/php-service/SKILL.md +15 -3
- package/.agent-src/skills/pipeline-strategy/SKILL.md +12 -2
- package/.agent-src/skills/pixar-storyteller/SKILL.md +17 -5
- package/.agent-src/skills/playwright-architect/SKILL.md +12 -2
- package/.agent-src/skills/playwright-testing/SKILL.md +28 -1
- package/.agent-src/skills/po-discovery/SKILL.md +12 -0
- package/.agent-src/skills/positioning-strategy/SKILL.md +12 -0
- package/.agent-src/skills/privacy-review/SKILL.md +12 -2
- package/.agent-src/skills/project-analysis-core/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-laravel/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-nextjs/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-node-express/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-react/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +12 -0
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +12 -0
- package/.agent-src/skills/project-analyzer/SKILL.md +98 -60
- package/.agent-src/skills/project-docs/SKILL.md +25 -13
- package/.agent-src/skills/prompt-engineering-patterns/SKILL.md +13 -1
- package/.agent-src/skills/prompt-optimizer/SKILL.md +13 -1
- package/.agent-src/skills/quality-tools/SKILL.md +12 -2
- package/.agent-src/skills/react-native-setup/SKILL.md +12 -0
- package/.agent-src/skills/react-shadcn-ui/SKILL.md +12 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +12 -0
- package/.agent-src/skills/readme-writing/SKILL.md +12 -0
- package/.agent-src/skills/readme-writing-package/SKILL.md +106 -23
- package/.agent-src/skills/receiving-code-review/SKILL.md +12 -0
- package/.agent-src/skills/refine-prompt/SKILL.md +13 -1
- package/.agent-src/skills/refine-ticket/SKILL.md +14 -2
- package/.agent-src/skills/refine-ticket/detection-map.yml +2 -2
- package/.agent-src/skills/release-comms/SKILL.md +12 -2
- package/.agent-src/skills/repomix-packer/SKILL.md +13 -1
- package/.agent-src/skills/requesting-code-review/SKILL.md +12 -0
- package/.agent-src/skills/retention-loops/SKILL.md +12 -0
- package/.agent-src/skills/review-routing/SKILL.md +12 -0
- package/.agent-src/skills/rice-prioritization/SKILL.md +12 -0
- package/.agent-src/skills/risk-officer/SKILL.md +12 -0
- package/.agent-src/skills/roadmap-management/SKILL.md +13 -1
- package/.agent-src/skills/roadmap-writing/SKILL.md +12 -0
- package/.agent-src/skills/rtk-output-filtering/SKILL.md +35 -8
- package/.agent-src/skills/rule-refactor/SKILL.md +157 -0
- package/.agent-src/skills/rule-writing/SKILL.md +46 -8
- package/.agent-src/skills/runway-cognition/SKILL.md +12 -2
- package/.agent-src/skills/scenario-modeling/SKILL.md +12 -2
- package/.agent-src/skills/scene-expander/SKILL.md +18 -6
- package/.agent-src/skills/script-writing/SKILL.md +13 -1
- package/.agent-src/skills/secrets-management/SKILL.md +13 -3
- package/.agent-src/skills/security/SKILL.md +50 -29
- package/.agent-src/skills/security-audit/SKILL.md +12 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +12 -0
- package/.agent-src/skills/sequential-thinking/SKILL.md +12 -0
- package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +12 -0
- package/.agent-src/skills/skill-management/SKILL.md +12 -0
- package/.agent-src/skills/skill-reviewer/SKILL.md +13 -1
- package/.agent-src/skills/skill-writing/SKILL.md +12 -0
- package/.agent-src/skills/sql-writing/SKILL.md +12 -0
- package/.agent-src/skills/stakeholder-tradeoff/SKILL.md +12 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +13 -1
- package/.agent-src/skills/symfony-workflow/SKILL.md +12 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +12 -0
- package/.agent-src/skills/tailwind-engineer/SKILL.md +12 -0
- package/.agent-src/skills/tech-debt-tracker/SKILL.md +12 -2
- package/.agent-src/skills/technical-specification/SKILL.md +12 -0
- package/.agent-src/skills/terraform/SKILL.md +12 -0
- package/.agent-src/skills/terragrunt/SKILL.md +12 -0
- package/.agent-src/skills/test-driven-development/SKILL.md +16 -4
- package/.agent-src/skills/test-performance/SKILL.md +19 -6
- package/.agent-src/skills/testing-anti-patterns/SKILL.md +13 -1
- package/.agent-src/skills/threat-modeling/SKILL.md +12 -0
- package/.agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +12 -0
- package/.agent-src/skills/token-optimizer/SKILL.md +12 -0
- package/.agent-src/skills/traefik/SKILL.md +12 -0
- package/.agent-src/skills/ui-component-architect/SKILL.md +12 -0
- package/.agent-src/skills/unit-economics-modeling/SKILL.md +12 -2
- package/.agent-src/skills/universal-project-analysis/SKILL.md +12 -0
- package/.agent-src/skills/upstream-contribute/SKILL.md +12 -0
- package/.agent-src/skills/using-git-worktrees/SKILL.md +12 -0
- package/.agent-src/skills/validate-feature-fit/SKILL.md +12 -0
- package/.agent-src/skills/verify-completion-evidence/SKILL.md +36 -27
- package/.agent-src/skills/video-director/SKILL.md +18 -6
- package/.agent-src/skills/vision-articulation/SKILL.md +12 -0
- package/.agent-src/skills/voc-extract/SKILL.md +12 -2
- package/.agent-src/skills/voice-and-tone-design/SKILL.md +12 -2
- package/.agent-src/templates/agent-settings.md +5 -5
- package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/.agent-src/templates/agents/memory/ownership.example.yml +1 -1
- package/.agent-src/templates/agents/proposal.example.md +12 -0
- package/.agent-src/templates/command.md +1 -1
- package/.agent-src/templates/contexts/auth-model.md +2 -2
- package/.agent-src/templates/contexts/data-sensitivity.md +3 -3
- package/.agent-src/templates/contexts/deployment-order.md +2 -2
- package/.agent-src/templates/contexts/observability.md +3 -3
- package/.agent-src/templates/contexts/tenant-boundaries.md +3 -3
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/copilot-instructions.md +2 -2
- package/.agent-src/templates/rule.md +3 -3
- package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +3 -3
- package/.agent-src/templates/scripts/work_engine/cli.py +6 -6
- package/.agent-src/templates/scripts/work_engine/emitters.py +29 -4
- package/.agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.py +3 -3
- package/.agent-src/templates/scripts/work_engine/state.py +53 -0
- package/.agent-src/templates/skill-archive-note.md +4 -4
- package/.claude-plugin/marketplace.json +6 -5
- package/AGENTS.md +5 -4
- package/CHANGELOG.md +178 -194
- package/CONTRIBUTING.md +61 -0
- package/README.md +23 -20
- package/config/agent-settings.template.yml +11 -1
- package/config/discovery/packs.yml +142 -0
- package/config/discovery/unassigned-artefacts.yml +66 -0
- package/config/discovery/workspaces.yml +59 -0
- package/config/gitignore-block.txt +17 -20
- package/dist/cli/agent-config.js +199 -0
- package/dist/cli/agent-config.js.map +1 -0
- package/dist/cli/bash/runBash.js +40 -0
- package/dist/cli/bash/runBash.js.map +1 -0
- package/dist/cli/commands/doctorShell.js +91 -0
- package/dist/cli/commands/doctorShell.js.map +1 -0
- package/dist/cli/commands/packs.js +59 -0
- package/dist/cli/commands/packs.js.map +1 -0
- package/dist/cli/commands/settings.js +35 -0
- package/dist/cli/commands/settings.js.map +1 -0
- package/dist/cli/commands/uiServe.js +110 -0
- package/dist/cli/commands/uiServe.js.map +1 -0
- package/dist/cli/commands/versions.js +64 -0
- package/dist/cli/commands/versions.js.map +1 -0
- package/dist/cli/commands/workspaces.js +58 -0
- package/dist/cli/commands/workspaces.js.map +1 -0
- package/dist/cli/discovery/loadManifest.js +62 -0
- package/dist/cli/discovery/loadManifest.js.map +1 -0
- package/dist/cli/log/logger.js +41 -0
- package/dist/cli/log/logger.js.map +1 -0
- package/dist/cli/paths.js +60 -0
- package/dist/cli/paths.js.map +1 -0
- package/dist/cli/python/resolvePython.js +38 -0
- package/dist/cli/python/resolvePython.js.map +1 -0
- package/dist/cli/registry.js +75 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/discovery/discovery-manifest.json +9195 -0
- package/dist/discovery/discovery-manifest.json.sha256 +1 -0
- package/dist/discovery/discovery-manifest.summary.md +93 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -0
- package/dist/mcp/mcp-cloudflare-catalogue.json +27 -0
- package/dist/mcp/registry-manifest.json +63 -0
- package/dist/server/app.js +117 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/io/atomicMultiWrite.js +202 -0
- package/dist/server/io/atomicMultiWrite.js.map +1 -0
- package/dist/server/io/atomicWrite.js +79 -0
- package/dist/server/io/atomicWrite.js.map +1 -0
- package/dist/server/io/substituteTemplate.js +87 -0
- package/dist/server/io/substituteTemplate.js.map +1 -0
- package/dist/server/io/yamlIO.js +140 -0
- package/dist/server/io/yamlIO.js.map +1 -0
- package/dist/server/port.js +97 -0
- package/dist/server/port.js.map +1 -0
- package/dist/server/routes/discovery.js +72 -0
- package/dist/server/routes/discovery.js.map +1 -0
- package/dist/server/routes/ping.js +49 -0
- package/dist/server/routes/ping.js.map +1 -0
- package/dist/server/routes/schema.js +41 -0
- package/dist/server/routes/schema.js.map +1 -0
- package/dist/server/routes/settings.js +155 -0
- package/dist/server/routes/settings.js.map +1 -0
- package/dist/server/routes/userMd.js +117 -0
- package/dist/server/routes/userMd.js.map +1 -0
- package/dist/server/routes/wizard.js +138 -0
- package/dist/server/routes/wizard.js.map +1 -0
- package/dist/server/schemas/settings.js +138 -0
- package/dist/server/schemas/settings.js.map +1 -0
- package/dist/server/token.js +68 -0
- package/dist/server/token.js.map +1 -0
- package/dist/server/writeRoot.js +67 -0
- package/dist/server/writeRoot.js.map +1 -0
- package/dist/server/writeRoot.test.js +73 -0
- package/dist/server/writeRoot.test.js.map +1 -0
- package/dist/shared/userMd/formAdapter.js +105 -0
- package/dist/shared/userMd/formAdapter.js.map +1 -0
- package/dist/shared/userMd/schema.js +118 -0
- package/dist/shared/userMd/schema.js.map +1 -0
- package/dist/shared/userMd/utils.js +74 -0
- package/dist/shared/userMd/utils.js.map +1 -0
- package/dist/ui/assets/index-BTRcKDlB.js +39 -0
- package/dist/ui/assets/index-BTRcKDlB.js.map +1 -0
- package/dist/ui/assets/index-Dqfhmg-d.css +1 -0
- package/dist/ui/index.html +14 -0
- package/docs/adrs/caveman/0001-default-off-until-bench.md +2 -2
- package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +4 -4
- package/docs/adrs/schema/README.md +1 -1
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +2 -2
- package/docs/architecture/setup-vs-settings-shared-surface.md +114 -0
- package/docs/architecture.md +4 -3
- package/docs/archive/CHANGELOG-pre-2.2.0.md +7 -7
- package/docs/archive/CHANGELOG-pre-2.25.0.md +191 -0
- package/docs/archive/CHANGELOG-pre-3.0.0.md +130 -0
- package/docs/catalog.md +77 -84
- package/docs/contracts/STABILITY.md +1 -1
- package/docs/contracts/adr-architectural-consensus-mechanism.md +5 -5
- package/docs/contracts/adr-chat-history-split.md +1 -1
- package/docs/contracts/adr-implement-ticket-runtime.md +1 -1
- package/docs/contracts/adr-install-user-type-axis.md +1 -1
- package/docs/contracts/adr-mcp-runtime.md +2 -2
- package/docs/contracts/agent-user-schema.md +11 -2
- package/docs/contracts/ai-council-config.md +13 -13
- package/docs/contracts/audit-log-v1.md +2 -2
- package/docs/contracts/command-clusters.md +2 -2
- package/docs/contracts/compression-default-kill-criterion.md +3 -3
- package/docs/contracts/decision-trace-v1.md +5 -5
- package/docs/contracts/discovery-manifest.schema.json +146 -0
- package/docs/contracts/explain-trace.schema.json +144 -0
- package/docs/contracts/file-ownership-matrix.json +515 -309
- package/docs/contracts/file-ownership-matrix.md +1 -1
- package/docs/contracts/ghostwriter-schema.md +3 -3
- package/docs/contracts/hook-architecture-v1.md +10 -10
- package/docs/contracts/kernel-membership.md +21 -4
- package/docs/contracts/linter-structural-model.md +3 -3
- package/docs/contracts/load-context-schema.md +5 -5
- package/docs/contracts/local-server-api.md +134 -0
- package/docs/contracts/low-impact-corpus-format.md +1 -1
- package/docs/contracts/mcp-cloud-scope.md +2 -2
- package/docs/contracts/mcp-discovery-phase-notice.md +1 -1
- package/docs/contracts/mcp-phase-1-scope.md +5 -4
- package/docs/contracts/mcp-registry-manifest.schema.json +129 -0
- package/docs/contracts/mcp-tool-stub-envelope.md +1 -1
- package/docs/contracts/memory-visibility-v1.md +2 -2
- package/docs/contracts/multi-tool-projection-fidelity.md +3 -3
- package/docs/contracts/namespace.md +1 -1
- package/docs/contracts/one-off-script-lifecycle.md +1 -1
- package/docs/contracts/package-self-orientation.md +1 -1
- package/docs/contracts/provider-lifecycle.md +2 -2
- package/docs/contracts/router-blending.md +1 -1
- package/docs/contracts/rule-classification.md +2 -2
- package/docs/contracts/settings-api.md +160 -0
- package/docs/contracts/settings-gui-agent-mode.schema.json +128 -0
- package/docs/contracts/smoke-contracts.md +8 -8
- package/docs/contracts/tier-3-contrib-plugin.md +1 -1
- package/docs/contracts/universal-skills.md +1 -1
- package/docs/contracts/write-engine.md +1 -1
- package/docs/customization.md +137 -11
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +1 -1
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +1 -1
- package/docs/decisions/ADR-004-rule-governance-pruning.md +8 -8
- package/docs/decisions/ADR-006-skill-tools-python-pilot.md +5 -5
- package/docs/decisions/ADR-007-agent-discovery-scopes.md +4 -4
- package/docs/decisions/ADR-008-installed-tools-manifest.md +2 -2
- package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +2 -2
- package/docs/decisions/ADR-011-domain-pack-readiness.md +4 -4
- package/docs/decisions/ADR-012-typescript-cli-shell.md +162 -0
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +210 -0
- package/docs/decisions/ADR-014-gui-framework-choice.md +136 -0
- package/docs/decisions/ADR-rule-kernel-and-router.md +2 -2
- package/docs/decisions/INDEX.md +3 -0
- package/docs/distribution/mcp-submission-checklist.md +95 -0
- package/docs/distribution/topics-equivalents-decay-policy.md +51 -0
- package/docs/examples/agent-user.example.md +3 -1
- package/docs/getting-started.md +6 -5
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +10 -1
- package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
- package/docs/guidelines/agent-infra/tool-integration.md +1 -1
- package/docs/guidelines/php/api-design.md +2 -2
- package/docs/guidelines/php/controllers.md +1 -1
- package/docs/guidelines/php/resources.md +1 -1
- package/docs/guidelines/php/validations.md +1 -1
- package/docs/guidelines/prompt-templates.md +2 -2
- package/docs/hook-payload-capture.md +3 -3
- package/docs/installation.md +12 -4
- package/docs/migrations/commands-1.15.0.md +3 -3
- package/docs/parity/bench-ruflo.json +1 -1
- package/docs/parity/ruflo.md +3 -3
- package/docs/profiles.md +1 -1
- package/docs/quality.md +2 -2
- package/docs/recruits/_template.md +3 -3
- package/docs/setup/enterprise-and-offline.md +3 -3
- package/docs/setup/mcp-server-docker.md +5 -3
- package/docs/skills-catalog.md +62 -18
- package/docs/wizard.md +121 -0
- package/llms.txt +61 -17
- package/package.json +46 -3
- package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
- package/scripts/_archive/README.md +2 -2
- package/scripts/_archive/_p4_migrate.py +1 -1
- package/scripts/_cli/cmd_doctor.py +5 -5
- package/scripts/_cli/cmd_explain.py +106 -2
- package/scripts/_cli/cmd_migrate.py +2 -2
- package/scripts/_cli/explain_last/__init__.py +122 -0
- package/scripts/_cli/explain_last/assumptions.py +59 -0
- package/scripts/_cli/explain_last/council.py +105 -0
- package/scripts/_cli/explain_last/halt.py +44 -0
- package/scripts/_cli/explain_last/inputs.py +125 -0
- package/scripts/_cli/explain_last/memory.py +94 -0
- package/scripts/_cli/explain_last/provider.py +52 -0
- package/scripts/_cli/explain_last/render.py +52 -0
- package/scripts/_cli/explain_last/route.py +58 -0
- package/scripts/_cli/explain_last/scrubber.py +105 -0
- package/scripts/_cli/explain_last/sections/__init__.py +35 -0
- package/scripts/_cli/explain_last/sections/assumptions.py +21 -0
- package/scripts/_cli/explain_last/sections/council.py +27 -0
- package/scripts/_cli/explain_last/sections/halt.py +31 -0
- package/scripts/_cli/explain_last/sections/header.py +24 -0
- package/scripts/_cli/explain_last/sections/inputs.py +27 -0
- package/scripts/_cli/explain_last/sections/memory.py +21 -0
- package/scripts/_cli/explain_last/sections/pack.py +16 -0
- package/scripts/_cli/explain_last/sections/provider.py +26 -0
- package/scripts/_cli/explain_last/sections/route.py +22 -0
- package/scripts/_cli/explain_last/state_loader.py +76 -0
- package/scripts/_dispatch.bash +954 -0
- package/scripts/_lib/agent_settings.py +3 -3
- package/scripts/_lib/agents_overlay.py +3 -3
- package/scripts/_phase4_bucket.py +210 -0
- package/scripts/agent-config +35 -943
- package/scripts/ai-video/adapters/higgsfield.sh +1 -1
- package/scripts/ai-video/adapters/sora.sh +1 -1
- package/scripts/ai-video/test-pipeline.sh +2 -2
- package/scripts/ai_council/_default_prices.py +5 -5
- package/scripts/ai_council/advisors.py +1 -1
- package/scripts/ai_council/clients.py +2 -2
- package/scripts/ai_council/compile_corpus.py +9 -8
- package/scripts/ai_council/config.py +3 -3
- package/scripts/ai_council/events_log.py +8 -4
- package/scripts/ai_council/low_impact_corpus.py +1 -1
- package/scripts/ai_council/low_impact_intake.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +2 -2
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_structural_optimization.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +3 -3
- package/scripts/ai_council/pricing.py +8 -7
- package/scripts/ai_council/probation_gate.py +1 -1
- package/scripts/ai_council/redact_low_impact_entry.py +1 -1
- package/scripts/ai_council/session.py +13 -13
- package/scripts/ai_council/shadow_dispatch.py +2 -2
- package/scripts/annotate_discovery.py +149 -0
- package/scripts/audit_adr_coverage.py +1 -1
- package/scripts/audit_auto_rules.py +2 -2
- package/scripts/audit_cloud_compatibility.py +1 -1
- package/scripts/audit_command_surface.py +2 -2
- package/scripts/audit_likelihood.py +4 -4
- package/scripts/audit_overlap.py +3 -3
- package/scripts/audit_user_type_axis.py +1 -1
- package/scripts/build_discovery_manifest.py +302 -0
- package/scripts/build_linear_digest.py +0 -1
- package/scripts/build_mcp_registry_manifest.py +181 -0
- package/scripts/build_rule_trigger_matrix.py +2 -2
- package/scripts/capture_showcase_session.py +1 -1
- package/scripts/chat_history.py +5 -5
- package/scripts/check_always_budget.py +7 -2
- package/scripts/check_council_layout.py +26 -20
- package/scripts/check_council_references.py +10 -10
- package/scripts/check_discovery_determinism.py +70 -0
- package/scripts/check_kernel_rule_bundle.py +2 -2
- package/scripts/check_no_roadmap_refs.py +2 -2
- package/scripts/check_one_off_location.py +1 -1
- package/scripts/check_public_links.py +2 -2
- package/scripts/check_references.py +14 -21
- package/scripts/check_release_includes_discovery.py +61 -0
- package/scripts/ci_summary.py +2 -2
- package/scripts/ci_time_ratio.py +1 -1
- package/scripts/command_suggester/__init__.py +1 -1
- package/scripts/context_hygiene_hook.py +2 -2
- package/scripts/council_cli.py +22 -22
- package/scripts/council_prune.py +3 -3
- package/scripts/extract_audit_patterns.py +2 -2
- package/scripts/gen_discovery_baseline.py +127 -0
- package/scripts/generate_ownership_matrix.py +1 -1
- package/scripts/hook_manifest.yaml +5 -5
- package/scripts/hooks/cline-dispatcher.sh +1 -1
- package/scripts/hooks/cowork-dispatcher.sh +1 -1
- package/scripts/hooks/dispatch_hook.py +3 -3
- package/scripts/hooks/gemini-dispatcher.sh +1 -1
- package/scripts/hooks/replay_hook.py +1 -1
- package/scripts/hooks/state_io.py +5 -5
- package/scripts/hooks_doctor.py +4 -4
- package/scripts/install-hooks.sh +2 -2
- package/scripts/install.py +3 -3
- package/scripts/install.sh +120 -18
- package/scripts/inventory_frontmatter.py +1 -1
- package/scripts/lint_agents_layout.py +103 -0
- package/scripts/lint_archived_skills.py +3 -3
- package/scripts/lint_artefact_frontmatter.py +180 -0
- package/scripts/lint_discovery_manifest.py +136 -0
- package/scripts/lint_discovery_vocabulary.py +148 -0
- package/scripts/lint_explain_trace.py +80 -0
- package/scripts/lint_framework_leakage.py +348 -0
- package/scripts/lint_framework_leakage_allowlist.json +477 -0
- package/scripts/lint_ghostwriter_source.py +1 -1
- package/scripts/lint_load_context.py +3 -3
- package/scripts/lint_mcp_registry_manifest.py +69 -0
- package/scripts/lint_media_policy_linkage.py +6 -6
- package/scripts/lint_positioning.py +143 -0
- package/scripts/lint_rule_tiers.py +2 -2
- package/scripts/lint_skill_tools.py +1 -1
- package/scripts/lint_topics_yaml.py +89 -0
- package/scripts/mcp_server/consumer_tool_catalog.json +3 -3
- package/scripts/mcp_server/telemetry.py +2 -2
- package/scripts/mcp_server/tools.py +27 -11
- package/scripts/mcp_telemetry_health.py +2 -2
- package/scripts/mcp_telemetry_store.py +1 -1
- package/scripts/measure_augment_budget.py +9 -3
- package/scripts/measure_density.py +2 -2
- package/scripts/measure_frugality_savings.py +3 -3
- package/scripts/measure_roadmap_trajectory.py +1 -1
- package/scripts/measure_rule_budget.py +3 -3
- package/scripts/memory_report.py +1 -1
- package/scripts/migrate_command_suggestions.py +3 -3
- package/scripts/minimal_safe_diff_hook.py +1 -1
- package/scripts/onboarding_gate_hook.py +4 -4
- package/scripts/prepack-check.mjs +62 -0
- package/scripts/probe_projection_fidelity.py +2 -2
- package/scripts/refine_ticket_detect.py +1 -1
- package/scripts/schemas/command.schema.json +46 -1
- package/scripts/schemas/persona.schema.json +1 -1
- package/scripts/schemas/rule.schema.json +44 -4
- package/scripts/schemas/skill.schema.json +46 -1
- package/scripts/score_skill_selection.py +1 -1
- package/scripts/skill_collision_clusters.py +1 -1
- package/scripts/skill_linter.py +62 -9
- package/scripts/skill_overlap.py +1 -1
- package/scripts/skill_tools/run_block_d_eval.py +1 -1
- package/scripts/skill_usage_collect.py +3 -3
- package/scripts/skill_usage_report.py +3 -3
- package/scripts/smoke/kernel.sh +4 -4
- package/scripts/smoke/router.sh +2 -2
- package/scripts/smoke_quickstart.py +1 -1
- package/scripts/spotcheck_thin_root.py +1 -1
- package/scripts/sync_github_metadata.py +147 -0
- package/scripts/sync_gitignore.py +15 -5
- package/scripts/update_prices.py +4 -3
- package/scripts/verify_before_complete_hook.py +1 -1
- package/scripts/verify_roadmap_closure.py +1 -1
- package/templates/agent-user.md +35 -0
- package/.agent-src/commands/onboard.md +0 -459
- package/.agent-src/rules/agent-docs.md +0 -20
- package/.agent-src/rules/augment-portability.md +0 -23
- package/.agent-src/rules/capture-learnings.md +0 -19
- package/.agent-src/rules/docs-sync.md +0 -20
- package/.agent-src/rules/domain-safety-disclaimer-consulting.md +0 -52
- package/.agent-src/rules/domain-safety-disclaimer-financial.md +0 -54
- package/.agent-src/rules/domain-safety-disclaimer-legal.md +0 -49
- package/.agent-src/rules/domain-safety-disclaimer-medical.md +0 -56
- package/.agent-src/rules/domain-safety-export-redact.md +0 -65
- package/.agent-src/rules/domain-safety-logging-pii-floor.md +0 -55
- package/.agent-src/rules/domain-safety-pii-finance.md +0 -57
- package/.agent-src/rules/domain-safety-pii-marketing.md +0 -60
- package/.agent-src/rules/domain-safety-pii-recruiting.md +0 -56
- package/.agent-src/rules/domain-safety-pii-support.md +0 -57
- package/.agent-src/rules/domain-safety-retention-finance.md +0 -48
- package/.agent-src/rules/domain-safety-retention-support.md +0 -55
- package/.agent-src/rules/e2e-testing.md +0 -19
- package/.agent-src/rules/no-unsolicited-rebase.md +0 -107
- package/.agent-src/rules/post-push-rewrite-discipline.md +0 -70
|
@@ -18,7 +18,7 @@ keep-beta-until: 2026-08-12
|
|
|
18
18
|
This contract defines the **schema** of the file-ownership matrix: the
|
|
19
19
|
machine-readable JSON at `docs/contracts/file-ownership-matrix.json` and
|
|
20
20
|
the human-readable mirror at
|
|
21
|
-
`agents/contexts/structural/file-ownership-matrix.md`. Both are
|
|
21
|
+
`agents/settings/contexts/structural/file-ownership-matrix.md`. Both are
|
|
22
22
|
regenerated from `.agent-src.uncompressed/` by the generator and locked
|
|
23
23
|
by CI.
|
|
24
24
|
|
|
@@ -21,7 +21,7 @@ explicit `accept` step on `/ghostwriter:fetch` re-runs.
|
|
|
21
21
|
|
|
22
22
|
## Storage model (dual)
|
|
23
23
|
|
|
24
|
-
- **Consumer projects** — `agents/ghostwriter/<slug>.md`. Real-person
|
|
24
|
+
- **Consumer projects** — `agents/reference/ghostwriter/<slug>.md`. Real-person
|
|
25
25
|
profiles live here. **Gitignored by default** via the package-managed
|
|
26
26
|
`.gitignore` block. A `--shared` opt-in to commit profiles is
|
|
27
27
|
deferred to v2; only the doc note lands in v1.
|
|
@@ -298,7 +298,7 @@ The lint runs in `task ci` and fails on:
|
|
|
298
298
|
2. Any allowlisted file missing `fictional: true` in frontmatter.
|
|
299
299
|
3. Any package-source file (`fictional: true`) carrying an `aliases:`
|
|
300
300
|
field (aliases are a consumer-only feature; see [§ Aliases](#aliases)).
|
|
301
|
-
4. Any consumer-side file under `agents/ghostwriter/` with `fictional: true`
|
|
301
|
+
4. Any consumer-side file under `agents/reference/ghostwriter/` with `fictional: true`
|
|
302
302
|
(fictional profiles belong in the package source, not consumer trees).
|
|
303
303
|
5. Any consumer-side `aliases:` entry that violates the storage rules:
|
|
304
304
|
shorter than 2 characters, non-Latin scripts (homoglyph protection),
|
|
@@ -325,7 +325,7 @@ cluster registration.
|
|
|
325
325
|
|
|
326
326
|
## Gitignore
|
|
327
327
|
|
|
328
|
-
`agents/ghostwriter/*.md` (except `README.md`) is added to the
|
|
328
|
+
`agents/reference/ghostwriter/*.md` (except `README.md`) is added to the
|
|
329
329
|
package-managed `.gitignore` block ([`config/gitignore-block.txt`](../../config/gitignore-block.txt))
|
|
330
330
|
and ignored by default. A `--shared` opt-in to commit profiles is
|
|
331
331
|
deferred to v2.
|
|
@@ -11,9 +11,9 @@ written, tested, and refactored against a stable surface.
|
|
|
11
11
|
|
|
12
12
|
**Scope.** Defines the dispatcher's stdin/stdout shape, exit-code
|
|
13
13
|
semantics, the `hook_manifest.yaml` schema, the concurrency contract
|
|
14
|
-
for `agents/state/` writes, and the Copilot fallback pattern. Does
|
|
14
|
+
for `agents/runtime/state/` writes, and the Copilot fallback pattern. Does
|
|
15
15
|
**not** specify per-platform install paths — those live in
|
|
16
|
-
[`chat-history-platform-hooks.md`](../../agents/contexts/chat-history-platform-hooks.md).
|
|
16
|
+
[`chat-history-platform-hooks.md`](../../agents/settings/contexts/chat-history-platform-hooks.md).
|
|
17
17
|
|
|
18
18
|
Last refreshed: 2026-05-04.
|
|
19
19
|
|
|
@@ -74,7 +74,7 @@ inferred from exit code only).
|
|
|
74
74
|
"decision": "allow" | "block" | "warn",
|
|
75
75
|
"reason": "human-readable, ≤ 200 chars",
|
|
76
76
|
"additional_context": "optional — surfaces back to the model on platforms that support it",
|
|
77
|
-
"state_writes": ["agents/state/chat-history.json", "…"]
|
|
77
|
+
"state_writes": ["agents/runtime/state/chat-history.json", "…"]
|
|
78
78
|
}
|
|
79
79
|
```
|
|
80
80
|
|
|
@@ -103,7 +103,7 @@ runs them **sequentially** in manifest order and reduces:
|
|
|
103
103
|
in manifest order. Concerns are never run in parallel — concurrency
|
|
104
104
|
guarantees rely on serial state writes.
|
|
105
105
|
|
|
106
|
-
## Feedback channel — `agents/state/.dispatcher/<session_id>/`
|
|
106
|
+
## Feedback channel — `agents/runtime/state/.dispatcher/<session_id>/`
|
|
107
107
|
|
|
108
108
|
Exit-code reduction collapses the severity ladder to a single
|
|
109
109
|
platform-native code, which can hide a `warn` behind a `block` or
|
|
@@ -112,7 +112,7 @@ without re-routing control flow, the dispatcher writes a feedback
|
|
|
112
112
|
directory per invocation:
|
|
113
113
|
|
|
114
114
|
```
|
|
115
|
-
agents/state/.dispatcher/<session_id>/
|
|
115
|
+
agents/runtime/state/.dispatcher/<session_id>/
|
|
116
116
|
<concern>.json — one file per concern that ran
|
|
117
117
|
summary.json — rollup written after the last concern
|
|
118
118
|
```
|
|
@@ -176,9 +176,9 @@ platform, every event key must be in the agent-config event vocabulary.
|
|
|
176
176
|
|
|
177
177
|
## Concurrency — atomic state writes
|
|
178
178
|
|
|
179
|
-
Concerns that write under `agents/state/` MUST use the pattern:
|
|
179
|
+
Concerns that write under `agents/runtime/state/` MUST use the pattern:
|
|
180
180
|
|
|
181
|
-
1. Acquire `fcntl.flock(LOCK_EX)` on `agents/state/.dispatcher.lock`.
|
|
181
|
+
1. Acquire `fcntl.flock(LOCK_EX)` on `agents/runtime/state/.dispatcher.lock`.
|
|
182
182
|
2. Write to a sibling `<dest>.tmp.<pid>` file in the same directory.
|
|
183
183
|
3. `os.replace(tmp, dest)` — POSIX-atomic on the same filesystem.
|
|
184
184
|
4. Release the lock.
|
|
@@ -195,7 +195,7 @@ writes (file ends with valid JSON, last-writer-wins).
|
|
|
195
195
|
## Copilot fallback pattern
|
|
196
196
|
|
|
197
197
|
Copilot has no hook surface. Concerns whose source rule cites
|
|
198
|
-
`agents/state/<concern>.json` MUST gain a "Copilot fallback" section
|
|
198
|
+
`agents/runtime/state/<concern>.json` MUST gain a "Copilot fallback" section
|
|
199
199
|
that:
|
|
200
200
|
|
|
201
201
|
- Names the state file the concern would have written.
|
|
@@ -242,12 +242,12 @@ The corpus is platform-shape-representative, not platform-exhaustive
|
|
|
242
242
|
|
|
243
243
|
## Replay mode — `AGENT_CONFIG_REPLAY=1`
|
|
244
244
|
|
|
245
|
-
Concerns that write under `agents/state/` MUST honor the
|
|
245
|
+
Concerns that write under `agents/runtime/state/` MUST honor the
|
|
246
246
|
`AGENT_CONFIG_REPLAY` env var: when set to `1`, skip all state
|
|
247
247
|
mutations and run as read-only. The dispatcher passes the env var
|
|
248
248
|
through to subprocess concerns unchanged. Concerns that do not honor
|
|
249
249
|
the flag are listed by `./agent-config hooks:doctor` as not
|
|
250
|
-
replay-safe; replay tests assert no `agents/state/` mutation
|
|
250
|
+
replay-safe; replay tests assert no `agents/runtime/state/` mutation
|
|
251
251
|
post-invocation.
|
|
252
252
|
|
|
253
253
|
## Stability
|
|
@@ -47,7 +47,7 @@ skill / guideline per `rule-classification.md`.
|
|
|
47
47
|
> the ask-policy floor that the original four-gate test left as an
|
|
48
48
|
> implicit consequence of #1+#4. Both amendments preserve the
|
|
49
49
|
> existing 9-rule kernel set. See
|
|
50
|
-
> `agents/council
|
|
50
|
+
> `agents/runtime/council/sessions/20260506T044941Z-phase1-cross-check-r2.json`. <!-- council-ref-allowed: contract decision trace -->
|
|
51
51
|
|
|
52
52
|
## § 2 — Empirical compression rate (pilot)
|
|
53
53
|
|
|
@@ -76,7 +76,7 @@ outlier and sits inside the roadmap-stated 0.6–0.75 band. Risk
|
|
|
76
76
|
asymmetry confirms the choice: under-estimating compressed size
|
|
77
77
|
blows the 25k cap mid-P2.2 (no abort path); over-estimating just
|
|
78
78
|
yields headroom. GPT-4o concurred. Source:
|
|
79
|
-
`agents/council
|
|
79
|
+
`agents/runtime/council/sessions/20260506T044941Z-phase1-cross-check-r2.json`. <!-- council-ref-allowed: contract decision trace -->
|
|
80
80
|
|
|
81
81
|
**Pilot caveat — already-lean floor.** `agent-authority` (1217 chars
|
|
82
82
|
pre-pilot) yielded only `r = 0.838`. Pre-compressed rules give less
|
|
@@ -145,6 +145,23 @@ Future edits to any kernel rule must keep the Iron-Law SHA stable
|
|
|
145
145
|
(or land a deliberate ADR-tracked SHA update). Cap re-raise requires
|
|
146
146
|
a new ADR.
|
|
147
147
|
|
|
148
|
+
### § 4.2 — Post-P2.2 kernel addition (`user-interrupt-priority`)
|
|
149
|
+
|
|
150
|
+
After the P2.2 lock, `user-interrupt-priority` was admitted as the
|
|
151
|
+
10th kernel rule. It satisfies criterion (1) (Iron Law: stop → ask
|
|
152
|
+
→ resume on user-interrupt signals) and criterion (3a) (pre-send
|
|
153
|
+
gate — must fire before continuing the current task). The smoke
|
|
154
|
+
baseline is bumped accordingly:
|
|
155
|
+
|
|
156
|
+
- `scripts/smoke/kernel.sh` — `EXPECTED_KERNEL_COUNT=10`,
|
|
157
|
+
`EXPECTED_FENCE_CARRIERS=9`.
|
|
158
|
+
- `docs/contracts/smoke-contracts.md` § 3.1 — `10 kernel rules · 9
|
|
159
|
+
carry Iron-Law fences · 1 dispatch index · ≤ 2 budget breaches`.
|
|
160
|
+
|
|
161
|
+
The § 4 / § 4.1 tables remain the locked P2.2 baseline (9-rule
|
|
162
|
+
snapshot, 2026-05-06); the 10th rule is tracked separately here
|
|
163
|
+
until the next kernel re-measurement.
|
|
164
|
+
|
|
148
165
|
† **agent-authority swap candidate (P1.4 ADR).** Sonnet 4.5 argues
|
|
149
166
|
this is a routing index (zero Iron Law fences, dispatches to other
|
|
150
167
|
kernel rules) and should be `compress-and-keep` (auto-tier-3),
|
|
@@ -268,7 +285,7 @@ with the trigger-relaxed parameter, lock new value, re-attempt.
|
|
|
268
285
|
|---|---|---|
|
|
269
286
|
| 2026-05-06 | `scripts/measure_rule_budget.py` | baseline (32 403 chars across 9 always-rules) |
|
|
270
287
|
| 2026-05-06 | `docs/contracts/pilot/*.md` + `scripts/_pilot_measure.py` | empirical r distribution (3 pilots) |
|
|
271
|
-
| 2026-05-06 | `agents/council
|
|
272
|
-
| 2026-05-06 | `agents/council
|
|
288
|
+
| 2026-05-06 | `agents/runtime/council/sessions/20260506T044821Z-phase1-cross-check.json` | Council R1 (truncated at 1024 tokens) | <!-- council-ref-allowed: contract decision trace -->
|
|
289
|
+
| 2026-05-06 | `agents/runtime/council/sessions/20260506T044941Z-phase1-cross-check-r2.json` | Council R2 (3500 tokens) — locks median r, splits criterion #3, adds criterion #5, raises per-rule cap to 2.5k, defines abort criteria | <!-- council-ref-allowed: contract decision trace -->
|
|
273
290
|
| 2026-05-06 | this file | kernel set locked: 9 rules, projected 23 071 chars (median r = 0.712) |
|
|
274
291
|
| 2026-05-06 | P2.2 compression + `scripts/iron_law_sha.py --all-kernel` | empirical: 25 590 chars (r_actual = 0.795 across kernel; longer rules compress less than the pilot median) — see `docs/decisions/ADR-002-kernel-bucket-overrides.md` (KERNEL_HARD raised 25k → 26k, 6 per-rule overrides ≤ 4k ceiling, all Iron-Law SHAs preserved) |
|
|
@@ -65,9 +65,9 @@ imperatives (`NEVER COMMIT.`).
|
|
|
65
65
|
|
|
66
66
|
Sweep covered all 310 lintable artifacts via
|
|
67
67
|
[`scripts/measure_density.py`](../../scripts/measure_density.py); raw
|
|
68
|
-
data lives at `agents
|
|
68
|
+
data lives at `agents/runtime/density/snapshot.jsonl` (local-only — re-run
|
|
69
69
|
`python3 scripts/measure_density.py --root .agent-src --jsonl
|
|
70
|
-
agents
|
|
70
|
+
agents/runtime/density/snapshot.jsonl` to regenerate).
|
|
71
71
|
|
|
72
72
|
| Type | Count | Avg density | Median | Bucket [0.4-0.6] | Bucket [0.6-1.0] |
|
|
73
73
|
|---|---|---|---|---|---|
|
|
@@ -172,7 +172,7 @@ keys** — the structural primitives are the contract.
|
|
|
172
172
|
## References
|
|
173
173
|
|
|
174
174
|
- `scripts/measure_density.py` — Phase 1.1 measurement tool.
|
|
175
|
-
- `agents
|
|
175
|
+
- `agents/runtime/density/snapshot.jsonl` — full per-artifact metrics
|
|
176
176
|
(gitignored, re-run the measurement script to regenerate).
|
|
177
177
|
- `scripts/skill_linter.py` — structural-model implementation
|
|
178
178
|
(`_density_score`, `_count_procedure_sections`,
|
|
@@ -27,7 +27,7 @@ type: "always"
|
|
|
27
27
|
description: "..."
|
|
28
28
|
load_context: # lazy — on-demand reference list
|
|
29
29
|
- contexts/<area>/<file>.md # logical name (canonical)
|
|
30
|
-
- agents/contexts/<file>.md # project-local
|
|
30
|
+
- agents/settings/contexts/<file>.md # project-local
|
|
31
31
|
load_context_eager: # opt-in eager — auto-loaded on rule fire
|
|
32
32
|
- contexts/<area>/<file>.md
|
|
33
33
|
---
|
|
@@ -58,7 +58,7 @@ opt-in and budget-gated.
|
|
|
58
58
|
- Allowed roots:
|
|
59
59
|
- `contexts/<area>/<file>.md` — canonical logical name (resolves
|
|
60
60
|
against `.agent-src.uncompressed/`).
|
|
61
|
-
- `agents/contexts/<file>.md` — project-local material (consumer
|
|
61
|
+
- `agents/settings/contexts/<file>.md` — project-local material (consumer
|
|
62
62
|
repo only).
|
|
63
63
|
- `.agent-src/contexts/<file>.md` — compressed mirror; tolerated
|
|
64
64
|
defensively, not authored.
|
|
@@ -66,7 +66,7 @@ opt-in and budget-gated.
|
|
|
66
66
|
regex and by `lint_load_context.py` with a remediation hint pointing
|
|
67
67
|
at the canonical logical name.
|
|
68
68
|
- A rule MAY reference contexts under either tree, but a package-shipped
|
|
69
|
-
rule SHOULD NOT eager-load an `agents/contexts/` file (project-local
|
|
69
|
+
rule SHOULD NOT eager-load an `agents/settings/contexts/` file (project-local
|
|
70
70
|
leak into shared package). Linter warns on this combination.
|
|
71
71
|
- A context file may itself declare `load_context:` (chain reasoning).
|
|
72
72
|
The linter rejects cycles.
|
|
@@ -148,7 +148,7 @@ A rule shipped to consumers (`.agent-src.uncompressed/rules/`) may
|
|
|
148
148
|
declare `load_context:` entries pointing at:
|
|
149
149
|
|
|
150
150
|
- `.agent-src.uncompressed/contexts/` — public, OK.
|
|
151
|
-
- `agents/contexts/` — package-internal, **lint warning** (the entry
|
|
151
|
+
- `agents/settings/contexts/` — package-internal, **lint warning** (the entry
|
|
152
152
|
will not exist in consumer projects).
|
|
153
153
|
|
|
154
154
|
Project-local rules may reference either. The linter classifies by
|
|
@@ -194,7 +194,7 @@ Pattern proven by this consumer:
|
|
|
194
194
|
- **Cite, don't duplicate** — the slim rule contains zero
|
|
195
195
|
algorithm/mechanics/example prose; everything moved was physically
|
|
196
196
|
removed (verified by Phase 2.5 obligation diff:
|
|
197
|
-
[`agents/reports/pr-34-phase-2-5-autonomous-execution-obligation-check.md`](../../agents/reports/pr-34-phase-2-5-autonomous-execution-obligation-check.md)).
|
|
197
|
+
[`agents/runtime/reports/pr-34-phase-2-5-autonomous-execution-obligation-check.md`](../../agents/runtime/reports/pr-34-phase-2-5-autonomous-execution-obligation-check.md)).
|
|
198
198
|
- **Lazy by default** — no eager-load is declared; the budget guard
|
|
199
199
|
is therefore a no-op for this rule.
|
|
200
200
|
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
stability: beta
|
|
3
|
+
keep-beta-until: 2026-08-17
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Local server API — `agent-config ui:serve`
|
|
7
|
+
|
|
8
|
+
> **Status:** active · **Stability:** beta · **Owner:** ADR-012 (TypeScript CLI shell)
|
|
9
|
+
> · **Surface:** `src/server/**` · **Tests:** `tests/server/**`
|
|
10
|
+
|
|
11
|
+
Locks the wire shape, security stance, and lifecycle of the embedded
|
|
12
|
+
HTTP server that `agent-config ui:serve` boots. Phase 5 of
|
|
13
|
+
`typescript-cli-and-local-gui-foundation` ships this contract behind
|
|
14
|
+
the flipped TS binary; downstream Roadmap-2 (in-browser wizard) builds
|
|
15
|
+
against it.
|
|
16
|
+
|
|
17
|
+
## § 1 — Bind and port
|
|
18
|
+
|
|
19
|
+
- **Bind address.** `127.0.0.1` only. The server **never** binds to
|
|
20
|
+
`0.0.0.0` or a routable interface. Enforced in
|
|
21
|
+
`src/cli/commands/uiServe.ts`.
|
|
22
|
+
- **Port range.** First free TCP port in `[41000, 41999]`, scanned
|
|
23
|
+
ascending. Picker: `src/server/port.ts#pickFreePort`. If the entire
|
|
24
|
+
range is occupied, the command exits non-zero with a guidance line
|
|
25
|
+
pointing at the range.
|
|
26
|
+
- **No remote access.** No published TLS, no reverse-proxy story.
|
|
27
|
+
Operators who need remote access tunnel via `ssh -L` or equivalent;
|
|
28
|
+
the package does not ship that path.
|
|
29
|
+
|
|
30
|
+
## § 2 — Authentication — per-process bearer token
|
|
31
|
+
|
|
32
|
+
- Minted at boot by `src/server/token.ts#mintToken` (URL-safe,
|
|
33
|
+
256 bits of entropy from `crypto.randomBytes`).
|
|
34
|
+
- Required on **every** `/api/*` route via either:
|
|
35
|
+
- `Authorization: Bearer <token>`, **or**
|
|
36
|
+
- `?token=<token>` query parameter (the UI uses this so the
|
|
37
|
+
browser can bootstrap from the URL).
|
|
38
|
+
- Token comparison runs through `tokensMatch` — constant-time over
|
|
39
|
+
equal-length inputs.
|
|
40
|
+
- The token is printed to **stderr** by `ui:serve` once, prefixed
|
|
41
|
+
with `agent-config: token=` so log scrapers can redact it. Never
|
|
42
|
+
written to disk by the package.
|
|
43
|
+
- Static UI files under `/` are **not** gated — the browser must be
|
|
44
|
+
able to fetch the HTML before it can present the token.
|
|
45
|
+
|
|
46
|
+
## § 3 — Defence-in-depth headers
|
|
47
|
+
|
|
48
|
+
- **Host-header guard.** `Host` MUST be `127.0.0.1:<port>` or
|
|
49
|
+
`localhost:<port>`. Other values → `421 Misdirected Request`.
|
|
50
|
+
Blocks DNS-rebinding from a malicious page that resolves an
|
|
51
|
+
attacker-controlled hostname to `127.0.0.1`.
|
|
52
|
+
- **Origin allow-list.** When `Origin` is present, it MUST equal
|
|
53
|
+
`http://127.0.0.1:<port>` or `http://localhost:<port>`. Other
|
|
54
|
+
values → `403 Forbidden`. Absent header is allowed (server-to-server
|
|
55
|
+
callers, `curl` without `-H`).
|
|
56
|
+
- **CORS.** No `Access-Control-Allow-Origin` header. The server is
|
|
57
|
+
same-origin to the bundled UI by construction; browsers from any
|
|
58
|
+
other origin are blocked by the same-origin policy before
|
|
59
|
+
`Origin` is even checked.
|
|
60
|
+
|
|
61
|
+
## § 4 — Routes
|
|
62
|
+
|
|
63
|
+
### `GET /api/v1/ping`
|
|
64
|
+
|
|
65
|
+
Liveness probe. Used by:
|
|
66
|
+
- The bundled UI to confirm it reached the right process.
|
|
67
|
+
- `agent-config doctor-shell` (future — Phase 6).
|
|
68
|
+
- CI smoke tests (`tests/cli/cli-e2e.test.ts`).
|
|
69
|
+
|
|
70
|
+
**Request:** no body. Token via header or query.
|
|
71
|
+
|
|
72
|
+
**Response — `200 OK`:**
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"ok": true,
|
|
77
|
+
"version": "2.26.0",
|
|
78
|
+
"projectRoot": "/abs/path/to/project"
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- `ok` — literal `true`.
|
|
83
|
+
- `version` — value of `package.json#version` at boot time.
|
|
84
|
+
- `projectRoot` — absolute path the CLI resolved (see
|
|
85
|
+
`src/cli/paths.ts`).
|
|
86
|
+
|
|
87
|
+
Schema source of truth: `src/server/routes/ping.ts#PingResponseSchema`
|
|
88
|
+
(zod). Test gate: `tests/server/app.test.ts`.
|
|
89
|
+
|
|
90
|
+
### Future routes (Phase 6+)
|
|
91
|
+
|
|
92
|
+
Reserved namespace under `/api/v1/`. Adding a new route requires:
|
|
93
|
+
- A zod schema export co-located with the handler.
|
|
94
|
+
- A `tests/server/` integration test that exercises the auth gate
|
|
95
|
+
alongside the happy path.
|
|
96
|
+
- A CHANGELOG entry under the active Unreleased block.
|
|
97
|
+
|
|
98
|
+
## § 5 — Failure modes
|
|
99
|
+
|
|
100
|
+
| Condition | HTTP | Body shape |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| Missing/invalid token on `/api/*` | `401` | `{ "error": "Unauthorized: …" }` |
|
|
103
|
+
| Disallowed `Host` | `421` | `{ "error": "Misdirected Request: …" }` |
|
|
104
|
+
| Disallowed `Origin` | `403` | `{ "error": "Forbidden: …" }` |
|
|
105
|
+
| Port range exhausted | (no HTTP — CLI exit non-zero) | — |
|
|
106
|
+
|
|
107
|
+
## § 6 — Lifecycle
|
|
108
|
+
|
|
109
|
+
- **Boot.** `ui:serve` picks a free port, mints the token, builds
|
|
110
|
+
the Fastify app via `createApp`, and prints the URL + token to
|
|
111
|
+
stderr. By default it also opens the OS browser at `/` with the
|
|
112
|
+
token in the query string; `--no-open` suppresses that step.
|
|
113
|
+
- **Headless detection.** When `process.stdout.isTTY === false` AND
|
|
114
|
+
`--open` was not explicitly passed, the server boots but does not
|
|
115
|
+
attempt to spawn a browser. Useful for CI and SSH sessions.
|
|
116
|
+
- **Shutdown.** SIGINT / SIGTERM stops the server cleanly; the
|
|
117
|
+
per-process token is dropped from memory.
|
|
118
|
+
|
|
119
|
+
## § 7 — Stability commitments
|
|
120
|
+
|
|
121
|
+
- Wire shape (route paths, response keys, status codes) — covered
|
|
122
|
+
by the contract above. Breaking change requires SemVer-major.
|
|
123
|
+
- Security stance (§ 1–3) — strengthening is non-breaking;
|
|
124
|
+
weakening (e.g. removing the Host guard) is a breaking change.
|
|
125
|
+
- Port range — narrowing is breaking, widening is non-breaking.
|
|
126
|
+
- The token is **never** exfiltrated to logs, telemetry, or
|
|
127
|
+
observability backends by the package itself.
|
|
128
|
+
|
|
129
|
+
## Related contracts
|
|
130
|
+
|
|
131
|
+
- `docs/decisions/ADR-012-typescript-cli-shell.md` — the parent
|
|
132
|
+
decision (shell choice, source layout, dependency surface).
|
|
133
|
+
- `docs/contracts/STABILITY.md` — what `stability: beta` means and
|
|
134
|
+
the promotion path.
|
|
@@ -5,7 +5,7 @@ keep-beta-until: 2026-08-13
|
|
|
5
5
|
|
|
6
6
|
# `low-impact-decisions.md` — corpus format contract (step-9 P4)
|
|
7
7
|
|
|
8
|
-
Parser-visible invariants for `agents/low-impact-decisions.md` and any
|
|
8
|
+
Parser-visible invariants for `agents/decisions/low-impact-decisions.md` and any
|
|
9
9
|
upstream seed at the same path. The hardened parser lives in
|
|
10
10
|
[`scripts/ai_council/low_impact_corpus.py`](../../scripts/ai_council/low_impact_corpus.py)
|
|
11
11
|
and ships in two modes:
|
|
@@ -155,8 +155,8 @@ prose-only.
|
|
|
155
155
|
any layer.
|
|
156
156
|
- **Agent memory** — separate MCP server, different roadmap.
|
|
157
157
|
- **Chat history persistence** — the local kernel writes to
|
|
158
|
-
`agents/.agent-chat-history`; the Worker has no equivalent.
|
|
159
|
-
as a deprecated stub per above.
|
|
158
|
+
`agents/runtime/.agent-chat-history`; the Worker has no equivalent.
|
|
159
|
+
Listed as a deprecated stub per above.
|
|
160
160
|
- **HMAC request signing.** Deferred to MVP-2 alongside tool
|
|
161
161
|
restoration — see `## Auth surface` § `hmac-deferred`.
|
|
162
162
|
- **Cloudflare Access integration.** Deferred to MVP-2 — see
|
|
@@ -7,7 +7,7 @@ stability: experimental
|
|
|
7
7
|
**Audience:** MCP consumers integrating with `event4u/agent-config` — host
|
|
8
8
|
applications, CLIs, agents calling our stdio server or the Cloudflare Worker.
|
|
9
9
|
**Status:** active under the Discovery-First MCP coverage strategy
|
|
10
|
-
([`mcp-coverage-strategy.md`](../../agents/contexts/mcp-coverage-strategy.md)).
|
|
10
|
+
([`mcp-coverage-strategy.md`](../../agents/settings/contexts/mcp-coverage-strategy.md)).
|
|
11
11
|
|
|
12
12
|
## What you will see
|
|
13
13
|
|
|
@@ -50,9 +50,10 @@ phase with its own design-call gate.
|
|
|
50
50
|
- **`resources/*` beyond rules / guidelines / contexts** — no model
|
|
51
51
|
outputs, no roadmaps, no chat history surfaced as resources.
|
|
52
52
|
- **Filesystem writes outside the Phase 4 write allowlist** — the only
|
|
53
|
-
writable targets are `agents/.agent-chat-history`
|
|
54
|
-
`.agent-chat-history`
|
|
55
|
-
telemetry writes, no
|
|
53
|
+
writable targets are `agents/runtime/.agent-chat-history` (current
|
|
54
|
+
default), `agents/.agent-chat-history`, and `.agent-chat-history`
|
|
55
|
+
under `<consumer_root>`. No log files, no telemetry writes, no
|
|
56
|
+
`.work-state.json` mutation.
|
|
56
57
|
- **Direct shell execution from `mcp_server/*`** — modules under
|
|
57
58
|
`scripts/mcp_server/` do not `import subprocess`, `os.system`, or
|
|
58
59
|
`os.popen` directly. Project helpers that internally spawn shells
|
|
@@ -96,7 +97,7 @@ returns `isError=True`.
|
|
|
96
97
|
| Tool name | Mode | Side effects |
|
|
97
98
|
|---|---|---|
|
|
98
99
|
| `lint_skills` | read-only | Wraps `scripts.skill_linter.lint_file`. Never spawns `git` (no `--changed`). Returns the same JSON shape as `scripts/skill_linter.py --format json`. |
|
|
99
|
-
| `chat_history_append` | path-scoped write | Wraps `scripts.chat_history.append`. Writes are allowed only when the resolved target is `agents/.agent-chat-history` or `.agent-chat-history` under `<consumer_root>`. `dry_run=True` validates the payload without touching the filesystem. |
|
|
100
|
+
| `chat_history_append` | path-scoped write | Wraps `scripts.chat_history.append`. Writes are allowed only when the resolved target is `agents/runtime/.agent-chat-history` (current default), `agents/.agent-chat-history`, or `.agent-chat-history` under `<consumer_root>`. `dry_run=True` validates the payload without touching the filesystem. |
|
|
100
101
|
|
|
101
102
|
**Path-scoping invariant** — any tool that writes must resolve its
|
|
102
103
|
target through `_validate_in_tree_path` before the underlying writer
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://event4u.app/schemas/mcp-registry-manifest.json",
|
|
4
|
+
"title": "MCP Registry Manifest",
|
|
5
|
+
"description": "Source of truth for every external MCP-registry submission. R5 Phase 2.1. Lifecycle status per entry — handles 'they said no' without rewriting history.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"version",
|
|
10
|
+
"generated_at",
|
|
11
|
+
"package",
|
|
12
|
+
"server",
|
|
13
|
+
"registries"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"version": {
|
|
17
|
+
"const": 1
|
|
18
|
+
},
|
|
19
|
+
"generated_at": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "UTC date (YYYY-MM-DD). Day-precision keeps the manifest stable across same-day reruns."
|
|
22
|
+
},
|
|
23
|
+
"package": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"additionalProperties": false,
|
|
26
|
+
"required": ["name", "version", "description", "homepage", "repository"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"name": { "type": "string", "minLength": 1 },
|
|
29
|
+
"version": { "type": "string", "minLength": 1 },
|
|
30
|
+
"description": { "type": "string", "minLength": 1 },
|
|
31
|
+
"homepage": { "type": "string", "format": "uri" },
|
|
32
|
+
"repository": { "type": "string", "format": "uri" }
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"server": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"required": [
|
|
39
|
+
"name",
|
|
40
|
+
"transports",
|
|
41
|
+
"tools_count",
|
|
42
|
+
"install_hint_stdio"
|
|
43
|
+
],
|
|
44
|
+
"properties": {
|
|
45
|
+
"name": { "type": "string", "minLength": 1 },
|
|
46
|
+
"transports": {
|
|
47
|
+
"type": "array",
|
|
48
|
+
"minItems": 1,
|
|
49
|
+
"uniqueItems": true,
|
|
50
|
+
"items": { "enum": ["stdio", "worker"] }
|
|
51
|
+
},
|
|
52
|
+
"tools_count": {
|
|
53
|
+
"type": "integer",
|
|
54
|
+
"minimum": 0,
|
|
55
|
+
"description": "Sourced from workers/mcp/content.json#/tool_catalog/tools. Hard-sourced — no fallback. R3 (discovery roadmap) is a hard prerequisite per the AI-Council external review."
|
|
56
|
+
},
|
|
57
|
+
"install_hint_stdio": { "type": "string", "minLength": 1 }
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"topics": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"uniqueItems": true,
|
|
63
|
+
"items": { "type": "string", "minLength": 1 },
|
|
64
|
+
"description": "Mirror of `.github/topics.yml#/topics`. Lets registries that accept topic tags pick from one source."
|
|
65
|
+
},
|
|
66
|
+
"discovery": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"additionalProperties": false,
|
|
69
|
+
"required": ["artefact_count", "scanner_version"],
|
|
70
|
+
"properties": {
|
|
71
|
+
"artefact_count": { "type": "integer", "minimum": 0 },
|
|
72
|
+
"scanner_version": { "type": "string", "minLength": 1 }
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"registries": {
|
|
76
|
+
"type": "array",
|
|
77
|
+
"minItems": 2,
|
|
78
|
+
"maxItems": 2,
|
|
79
|
+
"items": { "$ref": "#/$defs/registry" }
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"$defs": {
|
|
83
|
+
"registry": {
|
|
84
|
+
"type": "object",
|
|
85
|
+
"additionalProperties": false,
|
|
86
|
+
"required": [
|
|
87
|
+
"id",
|
|
88
|
+
"label",
|
|
89
|
+
"listing_format",
|
|
90
|
+
"submission_url",
|
|
91
|
+
"status",
|
|
92
|
+
"submitted_at",
|
|
93
|
+
"pr_url",
|
|
94
|
+
"last_verified",
|
|
95
|
+
"rendered_payload"
|
|
96
|
+
],
|
|
97
|
+
"properties": {
|
|
98
|
+
"id": {
|
|
99
|
+
"enum": ["awesome-mcp-servers", "mcp-cloudflare-catalogue"],
|
|
100
|
+
"description": "Closed vocabulary. Adding a third registry requires a schema-version bump."
|
|
101
|
+
},
|
|
102
|
+
"label": { "type": "string", "minLength": 1 },
|
|
103
|
+
"listing_format": { "enum": ["markdown-row", "json-entry"] },
|
|
104
|
+
"submission_url": { "type": "string", "format": "uri" },
|
|
105
|
+
"status": {
|
|
106
|
+
"enum": ["pending", "listed", "rejected", "unlisted"],
|
|
107
|
+
"description": "Lifecycle. `pending` = not yet submitted. `listed` = upstream PR merged. `rejected` = upstream said no (don't auto-resubmit). `unlisted` = was listed, then removed."
|
|
108
|
+
},
|
|
109
|
+
"submitted_at": {
|
|
110
|
+
"type": ["string", "null"],
|
|
111
|
+
"description": "ISO date (YYYY-MM-DD) when the submission PR was opened. Null while status=pending."
|
|
112
|
+
},
|
|
113
|
+
"pr_url": {
|
|
114
|
+
"type": ["string", "null"],
|
|
115
|
+
"description": "URL of the submission PR. Null while status=pending."
|
|
116
|
+
},
|
|
117
|
+
"last_verified": {
|
|
118
|
+
"type": ["string", "null"],
|
|
119
|
+
"description": "ISO date (YYYY-MM-DD) the maintainer last opened the live listing and confirmed it still points at this package. Null while status=pending. SHOULD be refreshed every release."
|
|
120
|
+
},
|
|
121
|
+
"rendered_payload": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"minLength": 1,
|
|
124
|
+
"description": "Repo-relative path to the rendered payload (e.g. `dist/mcp/awesome-mcp-servers.row.md`)."
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -5,7 +5,7 @@ stability: experimental
|
|
|
5
5
|
# MCP Tool Stub Envelope — Phase 1 Discovery Contract
|
|
6
6
|
|
|
7
7
|
> **Status:** Active · governs the Discovery-First MCP coverage strategy
|
|
8
|
-
> ([`mcp-coverage-strategy.md`](../../agents/contexts/mcp-coverage-strategy.md)).
|
|
8
|
+
> ([`mcp-coverage-strategy.md`](../../agents/settings/contexts/mcp-coverage-strategy.md)).
|
|
9
9
|
> **Stability:** experimental — internal index reference only per
|
|
10
10
|
> `STABILITY.md`.
|
|
11
11
|
|
|
@@ -64,7 +64,7 @@ The visibility line and the JSON it derives from MUST NOT contain:
|
|
|
64
64
|
|
|
65
65
|
- Entry **bodies**, summaries, or quoted snippets.
|
|
66
66
|
- Secrets, tokens, environment values, or paths outside the
|
|
67
|
-
package's `agents/state/` and `tests/` allowlist.
|
|
67
|
+
package's `agents/runtime/state/` and `tests/` allowlist.
|
|
68
68
|
- User identifiers beyond what is already public in the working
|
|
69
69
|
directory's `.agent-settings.yml` (e.g. developer name).
|
|
70
70
|
|
|
@@ -130,7 +130,7 @@ adoption work). Concretely:
|
|
|
130
130
|
|
|
131
131
|
- The engine emits the line + the underlying counts to the
|
|
132
132
|
decision-trace JSON.
|
|
133
|
-
- A consumer hook reads `agents/state/work/<work-id>/decision-trace-*.json`,
|
|
133
|
+
- A consumer hook reads `agents/runtime/state/work/<work-id>/decision-trace-*.json`,
|
|
134
134
|
rolls counts up to the session level, and feeds the result back
|
|
135
135
|
into the agent-memory store as an audit entry.
|
|
136
136
|
|
|
@@ -86,7 +86,7 @@ Cursor, Windsurf, Cline, Gemini, Copilot have **no native skill surface**. Skill
|
|
|
86
86
|
| `skill:laravel` | skill | Augment + Claude only; rationale for absence on others |
|
|
87
87
|
| `command:commit` | command | per-tool command surface divergence |
|
|
88
88
|
|
|
89
|
-
Run: `python3 scripts/probe_projection_fidelity.py` — exits non-zero on any divergence. Report at `agents/reports/projection-fidelity.json`.
|
|
89
|
+
Run: `python3 scripts/probe_projection_fidelity.py` — exits non-zero on any divergence. Report at `agents/runtime/reports/projection-fidelity.json`.
|
|
90
90
|
|
|
91
91
|
## Known divergences (do not file as bugs)
|
|
92
92
|
|
|
@@ -102,7 +102,7 @@ These are **architectural facts**, not regressions. They are documented so insta
|
|
|
102
102
|
|
|
103
103
|
- [x] Fixture under `tests/fixtures/projection_fidelity/`
|
|
104
104
|
- [x] Probe script under `scripts/probe_projection_fidelity.py`
|
|
105
|
-
- [x] Report under `agents/reports/projection-fidelity.json`
|
|
105
|
+
- [x] Report under `agents/runtime/reports/projection-fidelity.json`
|
|
106
106
|
- [x] Per-tool guarantee table above
|
|
107
107
|
- [x] Known-divergence list above
|
|
108
108
|
|
|
@@ -112,4 +112,4 @@ These are **architectural facts**, not regressions. They are documented so insta
|
|
|
112
112
|
- [`augment-projection`](../architecture/augment-projection.md) — pipeline B (Augment-specific)
|
|
113
113
|
- [`multi-tool-projection`](../architecture/multi-tool-projection.md) — pipeline C (the per-tool emitters)
|
|
114
114
|
- [`rule-router`](rule-router.md) — the `triggers:` / `routes_to:` grammar this contract pins
|
|
115
|
-
- [`agents/council
|
|
115
|
+
- [`agents/runtime/council/sessions/2026-05-14-v2-analysis/feedback/09-cross-tool-projection-fidelity.md`](../../agents/runtime/council/sessions/2026-05-14-v2-analysis/feedback/09-cross-tool-projection-fidelity.md) — origin council feedback <!-- council-ref-allowed: contract origin trace -->
|
|
@@ -105,7 +105,7 @@ Pay the naming cost once, upfront.
|
|
|
105
105
|
|
|
106
106
|
The **shape** lives here. The **frontmatter keys** that carry the
|
|
107
107
|
name (`name:` in skills, `id:` in rules) live in
|
|
108
|
-
[`frontmatter-contract.md`](../../agents/docs/frontmatter-contract.md).
|
|
108
|
+
[`frontmatter-contract.md`](../../agents/reference/docs/frontmatter-contract.md).
|
|
109
109
|
Both contracts share the regex; this file is the source of truth for
|
|
110
110
|
the regex string.
|
|
111
111
|
|
|
@@ -100,7 +100,7 @@ rule.
|
|
|
100
100
|
archived as a one-off): the council CLI section of the package's
|
|
101
101
|
command catalog.
|
|
102
102
|
- The cleanup-mechanics context for housekeeping passes:
|
|
103
|
-
`agents/contexts/cleanup-mechanics.md`.
|
|
103
|
+
`agents/settings/contexts/cleanup-mechanics.md`.
|
|
104
104
|
- Linter implementation: `scripts/lint_one_off_age.py`.
|
|
105
105
|
|
|
106
106
|
## Stability
|
|
@@ -25,7 +25,7 @@ runtime. Installed via `scripts/install.sh` (Bash) and
|
|
|
25
25
|
## The four wings
|
|
26
26
|
|
|
27
27
|
Four wings compose via [`cross-wing-handoff.md`](cross-wing-handoff.md)
|
|
28
|
-
(beta). Per-wing plates live under `agents/roadmaps/` and `agents/contexts/`.
|
|
28
|
+
(beta). Per-wing plates live under `agents/roadmaps/` and `agents/settings/contexts/`.
|
|
29
29
|
|
|
30
30
|
| Wing | Cognition cluster |
|
|
31
31
|
|---|---|
|