@event4u/agent-config 2.26.0 → 3.1.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 +12 -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 +12 -0
- 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 +12 -0
- 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/install-via-agent.md +129 -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 +12 -0
- 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 +12 -0
- package/.agent-src/commands/module/explore.md +13 -1
- 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 +12 -0
- package/.agent-src/commands/optimize/rtk.md +12 -0
- 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 +12 -0
- 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 +12 -0
- 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 +12 -0
- package/.agent-src/commands/upstream-contribute.md +12 -0
- package/.agent-src/commands/video/from-script.md +13 -1
- 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 +13 -1
- package/.agent-src/commands/work.md +12 -0
- package/.agent-src/contexts/augment-infrastructure.md +2 -2
- package/.agent-src/contexts/authority/scope-mechanics.md +11 -0
- package/.agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
- package/.agent-src/contexts/documentation-hierarchy.md +2 -2
- package/.agent-src/contexts/execution/cheap-question-mechanics.md +81 -0
- package/.agent-src/contexts/execution/roadmap-process-loop.md +19 -0
- 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 +13 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +13 -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 +13 -1
- package/.agent-src/rules/augment-source-of-truth.md +13 -1
- package/.agent-src/rules/autonomous-execution.md +13 -1
- package/.agent-src/rules/caveman-speak.md +15 -3
- 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 +51 -3
- 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 +17 -5
- package/.agent-src/rules/domain-safety-disclaimer.md +13 -1
- package/.agent-src/rules/domain-safety-pii.md +13 -1
- package/.agent-src/rules/domain-safety-retention.md +13 -1
- package/.agent-src/rules/downstream-changes.md +13 -1
- package/.agent-src/rules/engineering-safety-floor.md +102 -0
- 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/finance-safety-floor.md +114 -0
- package/.agent-src/rules/framework-neutrality-in-generic-skills.md +13 -1
- package/.agent-src/rules/git-history-discipline.md +14 -2
- 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 +13 -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 +46 -32
- package/.agent-src/rules/no-roadmap-references.md +28 -16
- 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 +18 -6
- 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/strategy-safety-floor.md +114 -0
- 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 +12 -0
- package/.agent-src/rules/verify-before-complete.md +12 -0
- 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 +12 -0
- package/.agent-src/skills/agent-docs-writing/SKILL.md +16 -4
- package/.agent-src/skills/agents-md-thin-root/SKILL.md +28 -10
- package/.agent-src/skills/ai-council/SKILL.md +28 -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 +12 -0
- package/.agent-src/skills/api-testing/SKILL.md +12 -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 +16 -4
- package/.agent-src/skills/code-review/SKILL.md +12 -0
- 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 +18 -6
- 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 +12 -0
- 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 +14 -2
- 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 +12 -0
- 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 +12 -0
- 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 +12 -0
- 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 +12 -0
- package/.agent-src/skills/file-editor/SKILL.md +12 -0
- package/.agent-src/skills/finishing-a-development-branch/SKILL.md +12 -0
- 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 +12 -0
- 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 +15 -3
- package/.agent-src/skills/laravel-dto/SKILL.md +14 -2
- 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/laravel-migration/SKILL.md +12 -0
- 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 +12 -0
- package/.agent-src/skills/laravel-scheduling/SKILL.md +12 -0
- package/.agent-src/skills/laravel-validation/SKILL.md +12 -0
- package/.agent-src/skills/laravel-websocket/SKILL.md +12 -0
- package/.agent-src/skills/launch-readiness/SKILL.md +12 -2
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +15 -3
- 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 +12 -0
- package/.agent-src/skills/messaging-architecture/SKILL.md +12 -2
- package/.agent-src/skills/migration-architect/SKILL.md +12 -0
- package/.agent-src/skills/mobile-e2e-strategy/SKILL.md +12 -0
- package/.agent-src/skills/module-management/SKILL.md +12 -0
- package/.agent-src/skills/motion-choreographer/SKILL.md +16 -4
- package/.agent-src/skills/multi-tenancy/SKILL.md +14 -2
- 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 +12 -0
- package/.agent-src/skills/php-coder/SKILL.md +12 -0
- package/.agent-src/skills/php-debugging/SKILL.md +12 -0
- package/.agent-src/skills/php-service/SKILL.md +12 -0
- 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 +12 -0
- 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 +30 -18
- 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 +64 -3
- package/.agent-src/skills/readme-writing/SKILL.md +64 -4
- package/.agent-src/skills/readme-writing-package/SKILL.md +60 -5
- 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 +12 -0
- package/.agent-src/skills/roadmap-writing/SKILL.md +12 -0
- package/.agent-src/skills/rtk-output-filtering/SKILL.md +12 -0
- package/.agent-src/skills/rule-refactor/SKILL.md +15 -3
- package/.agent-src/skills/rule-writing/SKILL.md +13 -1
- 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 +12 -0
- 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 +12 -0
- 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 +53 -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 +12 -0
- package/.agent-src/skills/test-performance/SKILL.md +13 -1
- 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 +12 -0
- 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/hooks/pre-commit-frontmatter +66 -0
- package/.agent-src/templates/hooks/pre-commit-roadmap-progress +78 -39
- package/.agent-src/templates/rule.md +1 -1
- package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +7 -4
- 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/orchestration.py +25 -11
- 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 +2 -2
- package/AGENTS.md +12 -9
- package/CHANGELOG.md +268 -90
- package/CONTRIBUTING.md +61 -0
- package/README.md +173 -558
- package/config/agent-settings.template.yml +11 -8
- package/config/discovery/packs.yml +162 -0
- package/config/discovery/unassigned-artefacts.yml +68 -0
- package/config/discovery/workspaces.yml +59 -0
- package/config/gitignore-block.txt +36 -23
- 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 +119 -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 +77 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/discovery/deprecation-report.md +7 -0
- package/dist/discovery/discovery-manifest.json +9893 -0
- package/dist/discovery/discovery-manifest.json.sha256 +1 -0
- package/dist/discovery/discovery-manifest.summary.md +93 -0
- package/dist/discovery/orphan-report.md +10 -0
- package/dist/discovery/packs.json +1002 -0
- package/dist/discovery/trust-report.md +26 -0
- package/dist/discovery/workspaces.json +705 -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/router.json +1623 -0
- package/dist/server/app.js +125 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/io/atomicMultiWrite.js +204 -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 +162 -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 +57 -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 +236 -0
- package/dist/server/routes/settings.js.map +1 -0
- package/dist/server/routes/userMd.js +127 -0
- package/dist/server/routes/userMd.js.map +1 -0
- package/dist/server/routes/wizard.js +374 -0
- package/dist/server/routes/wizard.js.map +1 -0
- package/dist/server/schemas/settings.js +137 -0
- package/dist/server/schemas/settings.js.map +1 -0
- package/dist/server/token.js +75 -0
- package/dist/server/token.js.map +1 -0
- package/dist/server/writeRoot.js +84 -0
- package/dist/server/writeRoot.js.map +1 -0
- package/dist/server/writeRoot.test.js +91 -0
- package/dist/server/writeRoot.test.js.map +1 -0
- package/dist/shared/userMd/formAdapter.js +83 -0
- package/dist/shared/userMd/formAdapter.js.map +1 -0
- package/dist/shared/userMd/schema.js +46 -0
- package/dist/shared/userMd/schema.js.map +1 -0
- package/dist/shared/userMd/utils.js +88 -0
- package/dist/shared/userMd/utils.js.map +1 -0
- package/dist/ui/assets/index-D-DY1ywI.js +35 -0
- package/dist/ui/assets/index-D-DY1ywI.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/router/0001-three-tier-routing.md +5 -5
- 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 +3 -3
- package/docs/architecture/setup-vs-settings-shared-surface.md +114 -0
- package/docs/architecture.md +3 -2
- package/docs/archive/CHANGELOG-pre-2.2.0.md +7 -7
- package/docs/archive/CHANGELOG-pre-3.0.0.md +130 -0
- package/docs/archive/CHANGELOG-pre-3.1.0.md +167 -0
- package/docs/catalog.md +92 -100
- package/docs/contracts/CHANGELOG-conventions.md +1 -1
- 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 +17 -11
- 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/consumer-bridge.md +79 -0
- package/docs/contracts/decision-trace-v1.md +5 -5
- package/docs/contracts/discovery-manifest.md +209 -0
- package/docs/contracts/discovery-manifest.schema.json +219 -0
- package/docs/contracts/explain-trace.schema.json +144 -0
- package/docs/contracts/file-ownership-matrix.json +288 -328
- package/docs/contracts/file-ownership-matrix.md +1 -1
- package/docs/contracts/frontmatter-contract.md +140 -0
- package/docs/contracts/ghostwriter-schema.md +3 -3
- package/docs/contracts/gui-wizard.md +223 -0
- package/docs/contracts/hook-architecture-v1.md +10 -10
- package/docs/contracts/installer-agent-mode.md +137 -0
- package/docs/contracts/kernel-membership.md +5 -5
- 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-inventory.md +9 -9
- 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 +7 -7
- 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 +7 -7
- package/docs/contracts/router-blending.md +1 -1
- package/docs/contracts/rule-classification.md +2 -2
- package/docs/contracts/rule-router.md +4 -4
- package/docs/contracts/settings-api.md +207 -0
- package/docs/contracts/settings-gui-agent-mode.schema.json +128 -0
- package/docs/contracts/smoke-contracts.md +3 -3
- package/docs/contracts/tier-3-contrib-plugin.md +1 -1
- package/docs/contracts/trust-and-safety.md +144 -0
- package/docs/contracts/universal-skills.md +1 -1
- package/docs/contracts/write-engine.md +1 -1
- package/docs/customization.md +139 -13
- 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 +16 -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 +234 -0
- package/docs/decisions/ADR-014-gui-framework-choice.md +136 -0
- package/docs/decisions/ADR-015-discovery-manifest-contract.md +146 -0
- package/docs/decisions/ADR-016-installer-architecture.md +189 -0
- package/docs/decisions/ADR-017-monorepo-physical-layout.md +261 -0
- package/docs/decisions/ADR-018-trust-and-safety-layer.md +159 -0
- package/docs/decisions/ADR-019-router-json-dist-location.md +124 -0
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +123 -0
- package/docs/decisions/ADR-021-deployment-shape.md +153 -0
- package/docs/decisions/ADR-rule-kernel-and-router.md +2 -2
- package/docs/decisions/INDEX.md +10 -0
- package/docs/deploy/connector-setup.md +129 -0
- package/docs/deploy/env-vars.md +70 -0
- package/docs/deploy/policy-cookbook.md +130 -0
- package/docs/deploy/quickstart.md +112 -0
- package/docs/distribution/mcp-submission-checklist.md +95 -0
- package/docs/distribution/public-install-smoke.md +68 -0
- package/docs/distribution/registries.md +55 -0
- package/docs/distribution/telemetry-privacy.md +128 -0
- package/docs/distribution/telemetry-schema.md +174 -0
- package/docs/distribution/topics-equivalents-decay-policy.md +51 -0
- package/docs/examples/agent-user.example.md +3 -1
- package/docs/featured-skills.md +95 -0
- package/docs/getting-started-by-role.md +19 -1
- package/docs/getting-started.md +5 -4
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +11 -8
- 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/docs/readme-size-and-splitting.md +53 -1
- package/docs/guidelines/php/api-design.md +1 -1
- package/docs/guidelines/prompt-templates.md +2 -2
- package/docs/hook-payload-capture.md +3 -3
- package/docs/installation.md +39 -18
- package/docs/maintainers/dev-mode.md +105 -0
- 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/setup/per-ide/claude-desktop.md +3 -2
- package/docs/skills-catalog.md +62 -18
- package/docs/wizard.md +156 -0
- package/llms.txt +61 -17
- package/package.json +63 -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 +155 -7
- package/scripts/_cli/cmd_explain.py +108 -3
- package/scripts/_cli/cmd_migrate.py +2 -2
- package/scripts/_cli/cmd_migrate_to_global.py +415 -0
- package/scripts/_cli/cmd_settings_migrate.py +146 -0
- 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 +59 -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 +987 -0
- package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
- package/scripts/_lib/agent_settings.py +7 -4
- package/scripts/_lib/agent_src.py +157 -0
- package/scripts/_lib/agents_overlay.py +3 -3
- package/scripts/_phase4_bucket.py +210 -0
- package/scripts/agent-config +50 -947
- 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_skill_descriptions.py +18 -6
- package/scripts/audit_user_type_axis.py +1 -1
- package/scripts/build_discovery_manifest.py +658 -0
- 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_artefact_checksums.py +104 -0
- package/scripts/check_cluster_patterns.py +20 -4
- package/scripts/check_command_count_messaging.py +33 -14
- package/scripts/check_council_layout.py +26 -20
- package/scripts/check_council_references.py +53 -14
- 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_overlay_cascade_subdirs.py +7 -3
- package/scripts/check_public_links.py +2 -2
- package/scripts/check_references.py +19 -23
- package/scripts/check_release_includes_discovery.py +61 -0
- package/scripts/check_reply_consistency.py +32 -9
- package/scripts/check_template_pin_drift.py +24 -7
- package/scripts/check_token_optimizer_freshness.py +18 -3
- 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/compile_router.py +34 -2
- package/scripts/compress.py +162 -44
- package/scripts/config/presets.py +19 -1
- package/scripts/config/profiles.py +16 -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/discovery_stats.py +70 -0
- package/scripts/expected_perms.json +47 -0
- package/scripts/extract_audit_patterns.py +2 -2
- package/scripts/gen_discovery_baseline.py +127 -0
- package/scripts/generate_index.py +78 -46
- package/scripts/generate_ownership_matrix.py +99 -44
- package/scripts/generate_pack_manifests.py +183 -0
- 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 +18 -1
- package/scripts/install-hooks.sh +2 -2
- package/scripts/install.py +937 -62
- package/scripts/install.sh +147 -27
- package/scripts/inventory_frontmatter.py +1 -1
- package/scripts/lint_agents_layout.py +183 -0
- package/scripts/lint_agents_md.py +1 -1
- package/scripts/lint_archived_skills.py +35 -19
- package/scripts/lint_artefact_frontmatter.py +180 -0
- package/scripts/lint_bench_corpus.py +14 -2
- package/scripts/lint_command_tiers.py +15 -2
- 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_featured_skills.py +139 -0
- package/scripts/lint_framework_leakage.py +33 -6
- package/scripts/lint_framework_leakage_allowlist.json +63 -62
- package/scripts/lint_ghostwriter_source.py +1 -1
- package/scripts/lint_global_paths.py +147 -0
- 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_orchestration_dsl.py +6 -3
- package/scripts/lint_pack_boundaries.py +147 -0
- package/scripts/lint_pack_first_win.py +103 -0
- package/scripts/lint_positioning.py +143 -0
- package/scripts/lint_readme_jargon.py +131 -0
- package/scripts/lint_readme_size.py +33 -0
- package/scripts/lint_rule_interactions.py +23 -5
- package/scripts/lint_rule_tiers.py +14 -5
- package/scripts/lint_skill_tools.py +1 -1
- package/scripts/lint_topics_yaml.py +89 -0
- package/scripts/lint_trust_coherence.py +212 -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 +3 -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 +25 -7
- 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/move_artefact.py +143 -0
- package/scripts/new_skill.py +148 -0
- package/scripts/onboarding_gate_hook.py +4 -4
- package/scripts/plan_physical_move.py +353 -0
- package/scripts/prepack-check.mjs +62 -0
- package/scripts/probe_projection_fidelity.py +2 -2
- package/scripts/refine_ticket_detect.py +31 -8
- package/scripts/schemas/command.schema.json +45 -1
- package/scripts/schemas/persona.schema.json +1 -1
- package/scripts/schemas/rule.schema.json +44 -4
- package/scripts/schemas/skill.schema.json +41 -1
- package/scripts/score_skill_selection.py +1 -1
- package/scripts/skill_collision_clusters.py +1 -1
- package/scripts/skill_linter.py +250 -120
- package/scripts/skill_overlap.py +1 -1
- package/scripts/skill_tools/run_block_d_eval.py +1 -1
- package/scripts/skill_trigger_eval.py +28 -8
- package/scripts/skill_usage_collect.py +3 -3
- package/scripts/skill_usage_report.py +3 -3
- package/scripts/smoke/kernel.sh +1 -1
- package/scripts/smoke/router.sh +24 -5
- package/scripts/smoke/skills.sh +15 -7
- package/scripts/smoke_quickstart.py +12 -3
- package/scripts/snapshot_agent_outputs.py +144 -0
- 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_counts.py +45 -17
- package/scripts/update_prices.py +4 -3
- package/scripts/validate_decision_engine.py +9 -1
- package/scripts/validate_discovery_manifest.py +94 -0
- package/scripts/validate_frontmatter.py +39 -20
- package/scripts/verify_before_complete_hook.py +1 -1
- package/scripts/verify_physical_move.py +185 -0
- package/scripts/verify_roadmap_closure.py +1 -1
- package/templates/agent-user.md +34 -0
- package/templates/agent-user.yml +21 -0
- package/templates/minimal/agents-overrides-readme.md +46 -0
- package/templates/minimal/overrides-gitkeep +2 -0
- package/.agent-src/commands/onboard.md +0 -467
- package/templates/minimal/agents-gitkeep +0 -2
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
# Contract: scripts/ai-video/lib/adapter-contract.md
|
|
10
10
|
# Provider: top-level <provider id="higgsfield" kind="video"> in
|
|
11
11
|
# agents/.ai-video.xml. Preset → motion-choreographer profile mapping
|
|
12
|
-
# is documented in agents/ai-video/prompts/motion-choreography.md
|
|
12
|
+
# is documented in agents/reference/ai-video/prompts/motion-choreography.md
|
|
13
13
|
# (Phase 6).
|
|
14
14
|
#
|
|
15
15
|
# Lifecycle: experimental — capability-discovery path conformant; no
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# Capability: audio=native. Sora-class models produce muxed MP4 with
|
|
5
5
|
# dialogue + ambient sound; we pass the audio block straight through.
|
|
6
6
|
# Structural-prompt path informed by upstream `awesome-sora-prompts`
|
|
7
|
-
# (attribution in agents/ai-video/prompts/cinematic-blueprint.md).
|
|
7
|
+
# (attribution in agents/reference/ai-video/prompts/cinematic-blueprint.md).
|
|
8
8
|
#
|
|
9
9
|
# Contract: scripts/ai-video/lib/adapter-contract.md
|
|
10
10
|
# Provider: top-level <provider id="sora" kind="video"> in
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
# test-pipeline.sh — offline smoke test for /video:* against
|
|
3
|
-
# agents/ai-video/examples/banana-arc/. Dry-run only; no network.
|
|
3
|
+
# agents/reference/ai-video/examples/banana-arc/. Dry-run only; no network.
|
|
4
4
|
#
|
|
5
5
|
# Asserts (per agents/roadmaps/ai-video-pipeline.md Phase 6 Step 3):
|
|
6
6
|
# 1. parse-blueprint.sh output matches the committed expected.json
|
|
@@ -27,7 +27,7 @@ set -uo pipefail
|
|
|
27
27
|
|
|
28
28
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
29
29
|
ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
30
|
-
PROJECT="$ROOT/agents/ai-video/examples/banana-arc"
|
|
30
|
+
PROJECT="$ROOT/agents/reference/ai-video/examples/banana-arc"
|
|
31
31
|
|
|
32
32
|
PASS=0
|
|
33
33
|
FAIL=0
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"""Shipped baseline prices for the AI Council.
|
|
2
2
|
|
|
3
|
-
This file is the bootstrap source for `agents/.agent-prices.md`
|
|
4
|
-
the runtime file is missing. It is also the network-fallback
|
|
5
|
-
`scripts/update_prices.py` when the upstream feed (LiteLLM)
|
|
6
|
-
unreachable.
|
|
3
|
+
This file is the bootstrap source for `agents/runtime/.agent-prices.md`
|
|
4
|
+
when the runtime file is missing. It is also the network-fallback
|
|
5
|
+
source for `scripts/update_prices.py` when the upstream feed (LiteLLM)
|
|
6
|
+
is unreachable.
|
|
7
7
|
|
|
8
8
|
Prices are USD per **1 000 000** tokens. Models are identified by the
|
|
9
9
|
exact `model:` string the user puts into `.agent-settings.yml`.
|
|
10
10
|
|
|
11
11
|
Numbers below are a hand-curated snapshot — they will drift. The
|
|
12
|
-
runtime never reads them directly once `agents/.agent-prices.md`
|
|
12
|
+
runtime never reads them directly once `agents/runtime/.agent-prices.md`
|
|
13
13
|
exists; the weekly refresh and user edits are the live source of truth.
|
|
14
14
|
"""
|
|
15
15
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Thinking-style advisors — replace-mode call planning (Phase 6).
|
|
2
2
|
|
|
3
|
-
When `agents/.ai-council.yml` enables an advisor (e.g. `contrarian`
|
|
3
|
+
When `agents/settings/.ai-council.yml` enables an advisor (e.g. `contrarian`
|
|
4
4
|
bound to `member: anthropic`), the orchestrator REPLACES the matching
|
|
5
5
|
plain-member call with an advisor-persona call on the same provider.
|
|
6
6
|
Same total call count as a plain run; bounded extra cost beyond the
|
|
@@ -324,7 +324,7 @@ class GeminiClient(ExternalAIClient):
|
|
|
324
324
|
if api_key is None:
|
|
325
325
|
raise RuntimeError(
|
|
326
326
|
"GeminiClient requires explicit api_key or injected client. "
|
|
327
|
-
"Use `api_key_ref: env:GEMINI_API_KEY` in agents/.ai-council.yml."
|
|
327
|
+
"Use `api_key_ref: env:GEMINI_API_KEY` in agents/settings/.ai-council.yml."
|
|
328
328
|
)
|
|
329
329
|
try:
|
|
330
330
|
from google import genai # type: ignore[import-not-found]
|
|
@@ -658,7 +658,7 @@ class CliClient(ExternalAIClient):
|
|
|
658
658
|
raise CliClientError(
|
|
659
659
|
f"{type(self).__name__}: binary {self.default_binary!r} "
|
|
660
660
|
f"not found on PATH. Install the provider CLI or set "
|
|
661
|
-
f"`members.{self.name}.binary:` in agents/.ai-council.yml."
|
|
661
|
+
f"`members.{self.name}.binary:` in agents/settings/.ai-council.yml."
|
|
662
662
|
)
|
|
663
663
|
self.binary = resolved
|
|
664
664
|
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Step-10 — see ``agents/roadmaps/step-10-corpus-yaml-lockfile.md``.
|
|
4
4
|
|
|
5
|
-
Markdown (`agents/low-impact-decisions.md`) stays the
|
|
6
|
-
source-of-truth for PR review. This script reads it
|
|
7
|
-
hardened
|
|
5
|
+
Markdown (`agents/decisions/low-impact-decisions.md`) stays the
|
|
6
|
+
human-authored source-of-truth for PR review. This script reads it
|
|
7
|
+
through the hardened
|
|
8
|
+
:func:`scripts.ai_council.low_impact_corpus.parse_corpus_strict`
|
|
8
9
|
parser and writes a YAML lockfile that becomes the **runtime**
|
|
9
10
|
source-of-truth. The pattern mirrors `.agent-src/` vs
|
|
10
11
|
`.agent-src.uncompressed/`: human edits Markdown, `task consistency`
|
|
@@ -14,7 +15,7 @@ YAML schema (`schema_version: 1`)::
|
|
|
14
15
|
|
|
15
16
|
schema_version: 1
|
|
16
17
|
provenance:
|
|
17
|
-
source_path: agents/low-impact-decisions.md
|
|
18
|
+
source_path: agents/decisions/low-impact-decisions.md
|
|
18
19
|
source_sha256: <hex> # SHA-256 of the parsed Markdown bytes
|
|
19
20
|
last_upstreamed: <40-hex sha> # mirrored from the Markdown footer
|
|
20
21
|
validated:
|
|
@@ -61,8 +62,8 @@ SCHEMA_VERSION = 1
|
|
|
61
62
|
|
|
62
63
|
_LAST_UPSTREAMED_RE = re.compile(r"^last-upstreamed:\s*([0-9a-f]{40})\s*$", re.MULTILINE)
|
|
63
64
|
|
|
64
|
-
_DEFAULT_SOURCE = Path("agents/low-impact-decisions.md")
|
|
65
|
-
_DEFAULT_OUT = Path("agents/low-impact-decisions.lock.yaml")
|
|
65
|
+
_DEFAULT_SOURCE = Path("agents/decisions/low-impact-decisions.md")
|
|
66
|
+
_DEFAULT_OUT = Path("agents/decisions/low-impact-decisions.lock.yaml")
|
|
66
67
|
|
|
67
68
|
|
|
68
69
|
def _entry_to_dict(entry: CorpusEntry) -> dict[str, Any]:
|
|
@@ -84,8 +85,8 @@ def _normalise_source_path(path: Path) -> str:
|
|
|
84
85
|
|
|
85
86
|
Absolute paths inside the current working directory are stripped to
|
|
86
87
|
their relative form so the committed lockfile carries
|
|
87
|
-
``agents/low-impact-decisions.md`` regardless of how the
|
|
88
|
-
was invoked (CLI default, absolute path from a test, etc.).
|
|
88
|
+
``agents/decisions/low-impact-decisions.md`` regardless of how the
|
|
89
|
+
compiler was invoked (CLI default, absolute path from a test, etc.).
|
|
89
90
|
"""
|
|
90
91
|
try:
|
|
91
92
|
rel = path.resolve().relative_to(Path.cwd().resolve())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Council configuration loader — single source of truth.
|
|
2
2
|
|
|
3
|
-
Reads ``agents/.ai-council.yml`` per the contract in
|
|
3
|
+
Reads ``agents/settings/.ai-council.yml`` per the contract in
|
|
4
4
|
``docs/contracts/ai-council-config.md``. Replaces the fragmented
|
|
5
5
|
``.agent-settings.yml`` ``ai_council`` block (Phase 0 migration).
|
|
6
6
|
|
|
@@ -49,7 +49,7 @@ _RAW_KEY_PREFIXES = ("sk-", "sk-ant-", "ya29.", "AIza", "xai-", "pplx-", "gsk_")
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
class CouncilConfigError(RuntimeError):
|
|
52
|
-
"""Raised when ``agents/.ai-council.yml`` violates the schema."""
|
|
52
|
+
"""Raised when ``agents/settings/.ai-council.yml`` violates the schema."""
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
@dataclass(frozen=True)
|
|
@@ -380,7 +380,7 @@ class LowImpactConfig:
|
|
|
380
380
|
for shadow-mode logging (Phase 10). At ``0.0`` shadow is off; at
|
|
381
381
|
``1.0`` every solo decision is also dispatched to the full
|
|
382
382
|
council and the verdicts are compared in
|
|
383
|
-
``agents/council
|
|
383
|
+
``agents/runtime/council/shadow-log.jsonl``. Must be in ``[0.0, 1.0]``.
|
|
384
384
|
|
|
385
385
|
``solo_confidence_floor`` is the auto-escalation threshold for
|
|
386
386
|
solo-member responses (step-9 P13). When the dispatcher extracts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Persistent council events log (step-8 phase 3).
|
|
2
2
|
|
|
3
3
|
Single-function module that appends one JSON line per council event to
|
|
4
|
-
``<project_root>/agents/council
|
|
4
|
+
``<project_root>/agents/runtime/council/events.log``. Schema v1 carries the
|
|
5
5
|
minimum needed to answer the "why did the council skip / block this?"
|
|
6
6
|
question at retro time without leaking prompt content.
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@ Privacy floor:
|
|
|
9
9
|
``original_ask`` is never written verbatim — the caller passes the
|
|
10
10
|
raw string, and :func:`append_event` writes ``sha256(value)[:12]``
|
|
11
11
|
as ``original_ask_hash``. Mirrors the privacy floor in
|
|
12
|
-
``agents/low-impact-decisions.md``.
|
|
12
|
+
``agents/decisions/low-impact-decisions.md``.
|
|
13
13
|
|
|
14
14
|
Kill-switch:
|
|
15
15
|
``AGENT_CONFIG_NO_EVENTS_LOG=1`` short-circuits :func:`append_event`
|
|
@@ -47,7 +47,11 @@ _KILL_SWITCH_ENV = "AGENT_CONFIG_NO_EVENTS_LOG"
|
|
|
47
47
|
#: above ``scripts/ai_council/``). Callers can override via
|
|
48
48
|
#: ``log_path=`` for tests.
|
|
49
49
|
_DEFAULT_LOG_PATH = (
|
|
50
|
-
Path(__file__).resolve().parents[2]
|
|
50
|
+
Path(__file__).resolve().parents[2]
|
|
51
|
+
/ "agents"
|
|
52
|
+
/ "runtime"
|
|
53
|
+
/ "council"
|
|
54
|
+
/ "events.log"
|
|
51
55
|
)
|
|
52
56
|
|
|
53
57
|
|
|
@@ -83,7 +87,7 @@ def append_event(
|
|
|
83
87
|
pass through verbatim — callers should not abuse this for
|
|
84
88
|
free-form payloads (privacy floor).
|
|
85
89
|
log_path: Override for tests. Defaults to
|
|
86
|
-
``<project_root>/agents/council
|
|
90
|
+
``<project_root>/agents/runtime/council/events.log``.
|
|
87
91
|
|
|
88
92
|
Returns:
|
|
89
93
|
``True`` when a line was written; ``False`` when the kill-switch
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Hardened parser for ``agents/low-impact-decisions.md`` (step-9 P4).
|
|
1
|
+
"""Hardened parser for ``agents/decisions/low-impact-decisions.md`` (step-9 P4).
|
|
2
2
|
|
|
3
3
|
Replaces the silent-skip behaviour of the inline regex in
|
|
4
4
|
``necessity.load_validated_phrases`` with a typed-error contract.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Intake trigger + dedup for `agents/low-impact-decisions.md` (Phase 12).
|
|
1
|
+
"""Intake trigger + dedup for `agents/decisions/low-impact-decisions.md` (Phase 12).
|
|
2
2
|
|
|
3
3
|
User signals "leichte Frage" / "low-impact question" / equivalents
|
|
4
4
|
(see :data:`TRIGGER_PHRASES`); the host agent collects the
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Phase 4 of road-to-context-layer-maturity selected two 4d-trim paths
|
|
4
4
|
(`direct-answers`, `no-cheap-questions`) from a fixed option set
|
|
5
|
-
documented in agents/contexts/budget-v2-matrix.md and shipped them.
|
|
5
|
+
documented in agents/settings/contexts/budget-v2-matrix.md and shipped them.
|
|
6
6
|
Exit-gate actuals (run 2026-05-04): total 44,928 / 49,000 chars
|
|
7
7
|
(91.7 %, 4,072 chars headroom) — ≥ 4,000 headroom goal hit. Top-3
|
|
8
8
|
sum unchanged. Safety-floor rules untouched.
|
|
@@ -39,7 +39,7 @@ from scripts.ai_council.session import SessionManifest, save as save_session
|
|
|
39
39
|
REPO_ROOT = Path(__file__).resolve().parents[4]
|
|
40
40
|
ARTEFACTS = [
|
|
41
41
|
REPO_ROOT / "docs/contracts/load-context-budget-model.md",
|
|
42
|
-
REPO_ROOT / "agents/contexts/budget-v2-matrix.md",
|
|
42
|
+
REPO_ROOT / "agents/settings/contexts/budget-v2-matrix.md",
|
|
43
43
|
REPO_ROOT / ".agent-src.uncompressed/rules/direct-answers.md",
|
|
44
44
|
REPO_ROOT / ".agent-src.uncompressed/rules/no-cheap-questions.md",
|
|
45
45
|
]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""One-off council run for road-to-structural-optimization.md.
|
|
2
2
|
|
|
3
3
|
Invokes the council in `design` mode with Anthropic + OpenAI members.
|
|
4
|
-
Saves the session under agents/contexts/ai-council-sessions/.
|
|
4
|
+
Saves the session under agents/settings/contexts/ai-council-sessions/.
|
|
5
5
|
|
|
6
6
|
Invocation:
|
|
7
7
|
.venv/bin/python -m scripts.ai_council._one_off_structural_optimization
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
"""One-off — tier-bulk-retrofit (Phase 2.1 + 2.2 of road-to-feedback-consolidation).
|
|
3
3
|
|
|
4
|
-
Parses agents/contexts/rule-trigger-matrix.md, emits tmp/tier-classification.md,
|
|
4
|
+
Parses agents/settings/contexts/rule-trigger-matrix.md, emits tmp/tier-classification.md,
|
|
5
5
|
and inserts a `tier:` frontmatter key into every rule under
|
|
6
6
|
.agent-src.uncompressed/rules/. Idempotent — re-runs are a no-op when a rule
|
|
7
7
|
already declares the same tier value.
|
|
@@ -62,11 +62,11 @@ def write_spreadsheet(classifications: dict[str, tuple[str, str]]) -> None:
|
|
|
62
62
|
lines = [
|
|
63
63
|
"# Tier classification — Phase 2.1 of road-to-feedback-consolidation",
|
|
64
64
|
"",
|
|
65
|
-
"Source: `agents/contexts/rule-trigger-matrix.md` (manual classifications",
|
|
65
|
+
"Source: `agents/settings/contexts/rule-trigger-matrix.md` (manual classifications",
|
|
66
66
|
"in `scripts/build_rule_trigger_matrix.py`'s `CLASSIFICATION` table).",
|
|
67
67
|
"Generated by `scripts/_one_off/2026-05/_one_off_tier-retrofit.py`.",
|
|
68
68
|
"",
|
|
69
|
-
"Tier rubric: see `agents/contexts/hardening-pattern.md`.",
|
|
69
|
+
"Tier rubric: see `agents/settings/contexts/hardening-pattern.md`.",
|
|
70
70
|
"",
|
|
71
71
|
f"Total: {len(classifications)} rules.",
|
|
72
72
|
"",
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"""Runtime pricing layer for the AI Council.
|
|
2
2
|
|
|
3
|
-
Reads `agents/.agent-prices.md` from the repo root, parses YAML
|
|
3
|
+
Reads `agents/runtime/.agent-prices.md` from the repo root, parses YAML
|
|
4
4
|
frontmatter and the Markdown table, and exposes:
|
|
5
5
|
|
|
6
|
-
- `load_prices()` — parse `agents/.agent-prices.md` (bootstraps if missing)
|
|
6
|
+
- `load_prices()` — parse `agents/runtime/.agent-prices.md` (bootstraps if missing)
|
|
7
7
|
- `estimate_input_tokens()` — chars / 4 heuristic
|
|
8
8
|
- `estimate_cost()` — input + output USD for a single member
|
|
9
9
|
- `is_stale()` — True if `last_updated` is older than the
|
|
10
10
|
most recent UTC Monday 00:00
|
|
11
|
-
- `bootstrap_from_defaults()` — write a fresh `agents/.agent-prices.md`
|
|
11
|
+
- `bootstrap_from_defaults()` — write a fresh `agents/runtime/.agent-prices.md`
|
|
12
12
|
from `_default_prices.DEFAULT_PRICES`
|
|
13
13
|
|
|
14
14
|
The orchestrator never reads `_default_prices` directly. It always
|
|
15
15
|
goes through `load_prices()` so user edits to
|
|
16
|
-
`agents/.agent-prices.md` win.
|
|
16
|
+
`agents/runtime/.agent-prices.md` win.
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
19
|
from __future__ import annotations
|
|
@@ -25,7 +25,7 @@ from pathlib import Path
|
|
|
25
25
|
from scripts.ai_council._default_prices import DEFAULT_PRICES, LAST_UPDATED, as_rows
|
|
26
26
|
|
|
27
27
|
REPO_ROOT = Path(__file__).resolve().parents[2]
|
|
28
|
-
PRICES_FILE = REPO_ROOT / "agents" / ".agent-prices.md"
|
|
28
|
+
PRICES_FILE = REPO_ROOT / "agents" / "runtime" / ".agent-prices.md"
|
|
29
29
|
|
|
30
30
|
# Heuristic: 1 token ≈ 4 characters of English text. OpenAI's tiktoken
|
|
31
31
|
# is more accurate but pulls in a heavy dep we explicitly avoid.
|
|
@@ -116,14 +116,15 @@ def is_stale(table: PriceTable, now: _dt.datetime | None = None) -> bool:
|
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
def load_prices(path: Path = PRICES_FILE) -> PriceTable:
|
|
119
|
-
"""Parse `agents/.agent-prices.md`; bootstrap from defaults if missing."""
|
|
119
|
+
"""Parse `agents/runtime/.agent-prices.md`; bootstrap from defaults if missing."""
|
|
120
120
|
if not path.exists():
|
|
121
121
|
bootstrap_from_defaults(path)
|
|
122
122
|
return _parse(path.read_text(encoding="utf-8"))
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
def bootstrap_from_defaults(path: Path = PRICES_FILE) -> None:
|
|
126
|
-
"""Write a fresh `agents/.agent-prices.md` from `_default_prices.py`."""
|
|
126
|
+
"""Write a fresh `agents/runtime/.agent-prices.md` from `_default_prices.py`."""
|
|
127
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
127
128
|
rows = as_rows()
|
|
128
129
|
body = _render_markdown(LAST_UPDATED, "shipped-default", rows)
|
|
129
130
|
path.write_text(body, encoding="utf-8")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Probation promote-and-prune for ``agents/low-impact-decisions.md``.
|
|
1
|
+
"""Probation promote-and-prune for ``agents/decisions/low-impact-decisions.md``.
|
|
2
2
|
|
|
3
3
|
Phase 12 § Step 3. Runs at council startup AND after every intake
|
|
4
4
|
append. Idempotent — a second run on an unchanged corpus is a no-op.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Privacy floor for `agents/low-impact-decisions.md` (Phase 12).
|
|
1
|
+
"""Privacy floor for `agents/decisions/low-impact-decisions.md` (Phase 12).
|
|
2
2
|
|
|
3
3
|
Non-bypassable redactor invoked on intake (write-side) AND on
|
|
4
4
|
upstream (`/learn-low-impact`, leave-the-repo side). Both gates call
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Session persistence for council consultations (D2).
|
|
2
2
|
|
|
3
3
|
Every `/council` call that completes (success or partial) writes an
|
|
4
|
-
audit artefact under `agents/council
|
|
4
|
+
audit artefact under `agents/runtime/council/sessions/<UTC-timestamp>/`:
|
|
5
5
|
|
|
6
6
|
- `manifest.json` — input mode, members, token + USD totals, original
|
|
7
7
|
ask, neutrality preamble fingerprint.
|
|
@@ -15,7 +15,7 @@ Hard rules:
|
|
|
15
15
|
swallowed; the council is text-only and the report is the contract.
|
|
16
16
|
- Never writes secrets. The bundle has already been redacted by
|
|
17
17
|
`bundler.py` before the orchestrator receives it.
|
|
18
|
-
- Never writes outside `agents/council
|
|
18
|
+
- Never writes outside `agents/runtime/council/sessions/`. Path traversal in
|
|
19
19
|
the timestamp is impossible (we generate it from `datetime.utcnow`).
|
|
20
20
|
"""
|
|
21
21
|
|
|
@@ -34,9 +34,9 @@ from scripts.ai_council.clients import CouncilResponse
|
|
|
34
34
|
from scripts.ai_council.orchestrator import render
|
|
35
35
|
|
|
36
36
|
REPO_ROOT = Path(__file__).resolve().parents[2]
|
|
37
|
-
SESSIONS_DIR = REPO_ROOT / "agents" / "council
|
|
38
|
-
QUESTIONS_DIR = REPO_ROOT / "agents" / "council
|
|
39
|
-
RESPONSES_DIR = REPO_ROOT / "agents" / "council
|
|
37
|
+
SESSIONS_DIR = REPO_ROOT / "agents" / "runtime" / "council" / "sessions"
|
|
38
|
+
QUESTIONS_DIR = REPO_ROOT / "agents" / "runtime" / "council" / "questions"
|
|
39
|
+
RESPONSES_DIR = REPO_ROOT / "agents" / "runtime" / "council" / "responses"
|
|
40
40
|
SETTINGS_FILE = REPO_ROOT / ".agent-settings.yml"
|
|
41
41
|
|
|
42
42
|
# Default retention for all council artefacts (questions, responses,
|
|
@@ -190,9 +190,9 @@ def prune_old_artifacts(
|
|
|
190
190
|
) -> list[Path]:
|
|
191
191
|
"""Delete files and timestamp-less directories older than `retention_days`.
|
|
192
192
|
|
|
193
|
-
mtime-based — used for `agents/council
|
|
194
|
-
`agents/council
|
|
195
|
-
`agents/council
|
|
193
|
+
mtime-based — used for `agents/runtime/council/questions/`,
|
|
194
|
+
`agents/runtime/council/responses/`, and root-level files in
|
|
195
|
+
`agents/runtime/council/sessions/` that don't match the
|
|
196
196
|
timestamp-subdir convention handled by `prune_old_sessions`.
|
|
197
197
|
|
|
198
198
|
Walks the directory non-recursively. For files: deletes when
|
|
@@ -255,9 +255,9 @@ def prune_all_council_artifacts(
|
|
|
255
255
|
"""
|
|
256
256
|
root = repo_root or REPO_ROOT
|
|
257
257
|
days = _load_retention_days() if retention_days is None else retention_days
|
|
258
|
-
sessions = root / "agents" / "council
|
|
259
|
-
questions = root / "agents" / "council
|
|
260
|
-
responses = root / "agents" / "council
|
|
258
|
+
sessions = root / "agents" / "runtime" / "council" / "sessions"
|
|
259
|
+
questions = root / "agents" / "runtime" / "council" / "questions"
|
|
260
|
+
responses = root / "agents" / "runtime" / "council" / "responses"
|
|
261
261
|
return {
|
|
262
262
|
"sessions": (
|
|
263
263
|
prune_old_sessions(sessions, days, now=now)
|
|
@@ -285,8 +285,8 @@ def save(
|
|
|
285
285
|
|
|
286
286
|
`retention_days` controls auto-pruning of older council artefacts
|
|
287
287
|
after the new one is written — sibling sessions plus, when
|
|
288
|
-
`sessions_dir` is not overridden, files in `council
|
|
289
|
-
and `council
|
|
288
|
+
`sessions_dir` is not overridden, files in `runtime/council/questions/`
|
|
289
|
+
and `runtime/council/responses/`. `None` reads the value
|
|
290
290
|
from `.agent-settings.yml` (`ai_council.session_retention_days`,
|
|
291
291
|
default `7`); `0` disables pruning.
|
|
292
292
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
When ``low_impact.dispatch: single`` is active, a Bernoulli-sampled subset
|
|
4
4
|
of decisions is shadowed through the full council so disagreement between
|
|
5
5
|
the solo verdict and the council verdict can be measured. The shadow log
|
|
6
|
-
lives at ``agents/council
|
|
6
|
+
lives at ``agents/runtime/council/shadow-log.jsonl`` and is subject to the same
|
|
7
7
|
privacy floor as the low-impact corpus: redactor-refused entries are
|
|
8
8
|
dropped, not softened.
|
|
9
9
|
|
|
@@ -23,7 +23,7 @@ from typing import Iterable
|
|
|
23
23
|
|
|
24
24
|
from scripts.ai_council.bundler import redact
|
|
25
25
|
|
|
26
|
-
SHADOW_LOG_PATH = Path("agents/council
|
|
26
|
+
SHADOW_LOG_PATH = Path("agents/runtime/council/shadow-log.jsonl")
|
|
27
27
|
|
|
28
28
|
SLO_THRESHOLD_WARN = 0.05
|
|
29
29
|
SLO_THRESHOLD_BREACH = 0.08
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""R3 Phase 4 mass-annotator — discovery frontmatter helper.
|
|
3
|
+
|
|
4
|
+
Walks a list of artefacts in `.agent-src.uncompressed/` and:
|
|
5
|
+
1. Inserts the 5 ADR-013 frontmatter keys (workspaces, packs, lifecycle,
|
|
6
|
+
trust, install) before the closing `---`, deterministically.
|
|
7
|
+
2. Mirrors the new keys into the matching `.agent-src/` counterpart so
|
|
8
|
+
the compressed projection stays consistent (body preserved).
|
|
9
|
+
3. Refreshes `.compression-hashes.json` for each touched source path so
|
|
10
|
+
`task check-compression` stays green.
|
|
11
|
+
|
|
12
|
+
Idempotent: re-runs leave already-annotated files untouched.
|
|
13
|
+
|
|
14
|
+
Mapping table (`PACK_MAP`) is the council-locked authority. See
|
|
15
|
+
`agents/runtime/council/responses/r3-phase-4-7-execution.md`.
|
|
16
|
+
"""
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
import argparse
|
|
20
|
+
import hashlib
|
|
21
|
+
import json
|
|
22
|
+
import re
|
|
23
|
+
import sys
|
|
24
|
+
from pathlib import Path
|
|
25
|
+
|
|
26
|
+
ROOT = Path(__file__).resolve().parents[1]
|
|
27
|
+
SRC = ROOT / ".agent-src.uncompressed"
|
|
28
|
+
DST = ROOT / ".agent-src"
|
|
29
|
+
HASH_FILE = ROOT / ".compression-hashes.json"
|
|
30
|
+
|
|
31
|
+
# Pack → (workspace_id, trust_level, default_install, removable, lifecycle).
|
|
32
|
+
PACK_DEFAULTS: dict[str, tuple[str, str, bool, bool, str]] = {
|
|
33
|
+
"engineering-base": ("engineering", "core", True, False, "active"),
|
|
34
|
+
"php": ("engineering", "professional", False, True, "active"),
|
|
35
|
+
"laravel": ("engineering", "professional", False, True, "active"),
|
|
36
|
+
"symfony": ("engineering", "professional", False, True, "active"),
|
|
37
|
+
"javascript": ("engineering", "professional", False, True, "active"),
|
|
38
|
+
"typescript": ("engineering", "professional", False, True, "active"),
|
|
39
|
+
"react": ("engineering", "professional", False, True, "active"),
|
|
40
|
+
"nextjs": ("engineering", "professional", False, True, "active"),
|
|
41
|
+
"python": ("engineering", "professional", False, True, "active"),
|
|
42
|
+
"product-basic": ("product", "professional", True, True, "active"),
|
|
43
|
+
"product-discovery": ("product", "professional", False, True, "active"),
|
|
44
|
+
"finance-basic": ("finance", "professional", True, True, "active"),
|
|
45
|
+
"finance-advanced": ("finance", "core", False, True, "active"),
|
|
46
|
+
"gtm-sales": ("gtm", "professional", True, True, "active"),
|
|
47
|
+
"gtm-marketing": ("gtm", "professional", True, True, "active"),
|
|
48
|
+
"ops-people": ("ops", "professional", True, True, "active"),
|
|
49
|
+
"founder-strategy": ("founder", "core", True, True, "active"),
|
|
50
|
+
"small-business": ("small-business", "professional", True, True, "active"),
|
|
51
|
+
"construction": ("construction", "professional", True, True, "active"),
|
|
52
|
+
"ai-video": ("small-business", "experimental", False, True, "experimental"),
|
|
53
|
+
"meta": ("agent-config-maintainer", "core", True, False, "active"),
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
_FM_RE = re.compile(r"^(---\n)(.*?)(\n---\n)", re.DOTALL)
|
|
57
|
+
# Detect any of the 5 new keys at top-level to make the writer idempotent.
|
|
58
|
+
_HAS_NEW_KEYS_RE = re.compile(r"^(workspaces|packs|lifecycle|trust|install):", re.MULTILINE)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def _render_block(pack: str) -> str:
|
|
62
|
+
ws, level, default, removable, lifecycle = PACK_DEFAULTS[pack]
|
|
63
|
+
return (
|
|
64
|
+
f"workspaces:\n"
|
|
65
|
+
f" - {ws}\n"
|
|
66
|
+
f"packs:\n"
|
|
67
|
+
f" - {pack}\n"
|
|
68
|
+
f"lifecycle: {lifecycle}\n"
|
|
69
|
+
f"trust:\n"
|
|
70
|
+
f" level: {level}\n"
|
|
71
|
+
f" confidence: high\n"
|
|
72
|
+
f" human_review_required: false\n"
|
|
73
|
+
f"install:\n"
|
|
74
|
+
f" default: {'true' if default else 'false'}\n"
|
|
75
|
+
f" removable: {'true' if removable else 'false'}"
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def _annotate(path: Path, pack: str) -> bool:
|
|
80
|
+
text = path.read_text(encoding="utf-8")
|
|
81
|
+
m = _FM_RE.match(text)
|
|
82
|
+
if not m:
|
|
83
|
+
print(f" skip (no frontmatter): {path.relative_to(ROOT)}", file=sys.stderr)
|
|
84
|
+
return False
|
|
85
|
+
body_fm = m.group(2)
|
|
86
|
+
if _HAS_NEW_KEYS_RE.search(body_fm):
|
|
87
|
+
return False # idempotent
|
|
88
|
+
block = _render_block(pack)
|
|
89
|
+
new_fm = body_fm.rstrip() + "\n" + block
|
|
90
|
+
new_text = m.group(1) + new_fm + m.group(3) + text[m.end():]
|
|
91
|
+
path.write_text(new_text, encoding="utf-8")
|
|
92
|
+
return True
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def _mirror_to_compressed(rel: Path, pack: str) -> None:
|
|
96
|
+
src = SRC / rel
|
|
97
|
+
dst = DST / rel
|
|
98
|
+
if not dst.exists():
|
|
99
|
+
return # no compressed counterpart yet (e.g. new file)
|
|
100
|
+
text = dst.read_text(encoding="utf-8")
|
|
101
|
+
m = _FM_RE.match(text)
|
|
102
|
+
if not m:
|
|
103
|
+
return
|
|
104
|
+
body_fm = m.group(2)
|
|
105
|
+
if _HAS_NEW_KEYS_RE.search(body_fm):
|
|
106
|
+
return
|
|
107
|
+
block = _render_block(pack)
|
|
108
|
+
new_fm = body_fm.rstrip() + "\n" + block
|
|
109
|
+
new_text = m.group(1) + new_fm + m.group(3) + text[m.end():]
|
|
110
|
+
dst.write_text(new_text, encoding="utf-8")
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def _refresh_hash(rel: Path, hashes: dict) -> None:
|
|
114
|
+
src = SRC / rel
|
|
115
|
+
key = rel.as_posix()
|
|
116
|
+
hashes[key] = hashlib.sha256(src.read_bytes()).hexdigest()
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def main(argv: list[str] | None = None) -> int:
|
|
120
|
+
ap = argparse.ArgumentParser(description=__doc__.splitlines()[0])
|
|
121
|
+
ap.add_argument("--pack", required=True, choices=sorted(PACK_DEFAULTS))
|
|
122
|
+
ap.add_argument("paths", nargs="+", help="repo-relative paths under .agent-src.uncompressed/")
|
|
123
|
+
args = ap.parse_args(argv)
|
|
124
|
+
|
|
125
|
+
hashes: dict = json.loads(HASH_FILE.read_text()) if HASH_FILE.exists() else {}
|
|
126
|
+
changed = 0
|
|
127
|
+
for raw in args.paths:
|
|
128
|
+
p = Path(raw)
|
|
129
|
+
if p.is_absolute():
|
|
130
|
+
p = p.relative_to(ROOT)
|
|
131
|
+
if not p.is_relative_to(Path(".agent-src.uncompressed")):
|
|
132
|
+
print(f" skip (not under .agent-src.uncompressed/): {p}", file=sys.stderr)
|
|
133
|
+
continue
|
|
134
|
+
rel = p.relative_to(".agent-src.uncompressed")
|
|
135
|
+
src_file = SRC / rel
|
|
136
|
+
if not src_file.is_file():
|
|
137
|
+
print(f" skip (missing): {p}", file=sys.stderr)
|
|
138
|
+
continue
|
|
139
|
+
if _annotate(src_file, args.pack):
|
|
140
|
+
changed += 1
|
|
141
|
+
_mirror_to_compressed(rel, args.pack)
|
|
142
|
+
_refresh_hash(rel, hashes)
|
|
143
|
+
HASH_FILE.write_text(json.dumps(hashes, indent=2, sort_keys=True) + "\n", encoding="utf-8")
|
|
144
|
+
print(f"annotated {changed} files with pack={args.pack}")
|
|
145
|
+
return 0
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
if __name__ == "__main__":
|
|
149
|
+
sys.exit(main())
|
|
@@ -27,7 +27,7 @@ AREAS: dict[str, dict[str, str]] = {
|
|
|
27
27
|
"scope": "Budget ladder, hard-stop hook, cost reporting and dashboards."},
|
|
28
28
|
"caveman": {"contract": "compression-default-kill-criterion.md",
|
|
29
29
|
"scope": "Caveman-speak compression, decompression, reversibility guards."},
|
|
30
|
-
"schema": {"contract": "agents/docs/frontmatter-contract.md",
|
|
30
|
+
"schema": {"contract": "agents/reference/docs/frontmatter-contract.md",
|
|
31
31
|
"scope": "Frontmatter schemas, v2 rigor, lint behaviour for skills / rules / commands."},
|
|
32
32
|
"router": {"contract": "rule-router.md",
|
|
33
33
|
"scope": "router.json shape, tier semantics, dispatch precedence."},
|
|
@@ -6,8 +6,8 @@ Walk `.agent-src.uncompressed/rules/*.md`, collect per-rule frontmatter
|
|
|
6
6
|
(`description`, `triggers`, `routes_to`, `tier`), measure body and
|
|
7
7
|
registry-stub costs, and emit:
|
|
8
8
|
|
|
9
|
-
- `agents/reports/auto-rules-audit.json` — deterministic, machine-readable.
|
|
10
|
-
- `agents/reports/auto-rules-audit.md` — ranked summary for review.
|
|
9
|
+
- `agents/runtime/reports/auto-rules-audit.json` — deterministic, machine-readable.
|
|
10
|
+
- `agents/runtime/reports/auto-rules-audit.md` — ranked summary for review.
|
|
11
11
|
|
|
12
12
|
The registry-stub cost mirrors `scripts/measure_augment_budget.py`'s
|
|
13
13
|
accounting model: only the stub line is injected into the Augment
|
|
@@ -208,7 +208,7 @@ def scan() -> list[dict]:
|
|
|
208
208
|
|
|
209
209
|
|
|
210
210
|
# step-9 P11 · U3 — Iron-Law bypass scan. Any Python module that loads
|
|
211
|
-
# `agents/.ai-council.yml` directly (yaml.safe_load / open + parse) instead
|
|
211
|
+
# `agents/settings/.ai-council.yml` directly (yaml.safe_load / open + parse) instead
|
|
212
212
|
# of going through `scripts.ai_council.config.load_council_config` skips the
|
|
213
213
|
# `_reject_top_level_locked_dispatch` gate and is a potential Iron-Law
|
|
214
214
|
# bypass. The scan is intentionally over-broad — false positives are
|
|
@@ -8,8 +8,8 @@ signal from git history (commands not touched in 90+ days are
|
|
|
8
8
|
candidates for retirement).
|
|
9
9
|
|
|
10
10
|
Output:
|
|
11
|
-
- ``agents/reports/command-surface.json`` (machine-readable)
|
|
12
|
-
- ``agents/reports/command-surface.md`` (human-readable)
|
|
11
|
+
- ``agents/runtime/reports/command-surface.json`` (machine-readable)
|
|
12
|
+
- ``agents/runtime/reports/command-surface.md`` (human-readable)
|
|
13
13
|
|
|
14
14
|
Context: ``agents/roadmaps/step-2-feedback-followup.md`` Phase 1 —
|
|
15
15
|
GPT's PR-#148 "108 commands" cognitive-load warning needs empirical
|