@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
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr: 013
|
|
3
|
+
status: accepted
|
|
4
|
+
date: 2026-05-19
|
|
5
|
+
decision: discovery-frontmatter-contract
|
|
6
|
+
supersedes: —
|
|
7
|
+
superseded_by: —
|
|
8
|
+
phase: v2.x · automated-pack-workspace-and-skill-discovery Phase 0
|
|
9
|
+
type: prospective
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-013 — Discovery Frontmatter Contract
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
**Accepted** · 2026-05-19 · in-session + external AI Council pass complete
|
|
17
|
+
(`agents/runtime/council/responses/2026-05-18T*-r3-automated-discovery/`). Cost: $0.19.
|
|
18
|
+
The 5 external CRITICAL/HIGH items have been folded into Phases 1, 2, 3, 5
|
|
19
|
+
of `agents/roadmaps/archive/automated-pack-workspace-and-skill-discovery.md`
|
|
20
|
+
(archived 2026-05-19, status: completed).
|
|
21
|
+
|
|
22
|
+
## Context
|
|
23
|
+
|
|
24
|
+
`event4u/agent-config` ships 218 skills, 72 rules, 129 commands, and 141
|
|
25
|
+
templates as of `2.26.0`. Three downstream surfaces — the setup wizard
|
|
26
|
+
(`unified-setup-and-settings-gui`), the agent-mode installer (`--agent`),
|
|
27
|
+
and the strategic-visibility positioning lint
|
|
28
|
+
(`strategic-visibility-mcp-topics-positioning`) — need to know **which
|
|
29
|
+
workspaces and packs each artefact belongs to** without anyone manually
|
|
30
|
+
maintaining the list.
|
|
31
|
+
|
|
32
|
+
A release-time scan over artefact frontmatter is the cheapest source of
|
|
33
|
+
truth. The scan emits a single `dist/discovery/discovery-manifest.json`
|
|
34
|
+
shipped inside the npm tarball; every downstream surface reads from that
|
|
35
|
+
file and from nothing else. This ADR locks the **frontmatter shape**, the
|
|
36
|
+
**closed vocabularies**, and the **non-overlap rule** that keeps the new
|
|
37
|
+
keys from colliding with the existing `cost_profile` / `profile.id` axes
|
|
38
|
+
(ADR-010).
|
|
39
|
+
|
|
40
|
+
### Why a closed vocabulary
|
|
41
|
+
|
|
42
|
+
Free-form `domain:` (existing today) has 6 distinct values across 218
|
|
43
|
+
skills — usable, but unenforced. Free-form `workspaces:` / `packs:`
|
|
44
|
+
would degenerate into 30+ near-duplicate strings within one release
|
|
45
|
+
cycle. The vocabulary is closed; amendments require an ADR-013
|
|
46
|
+
amendment and a `lint_discovery_vocabulary.py` update in the same PR.
|
|
47
|
+
|
|
48
|
+
### Why additive, not renaming
|
|
49
|
+
|
|
50
|
+
`domain:` and `recommended_for_user_types:` exist on every annotated
|
|
51
|
+
skill today. Renaming would force every consumer (router, skill linter,
|
|
52
|
+
analysis pipeline) to retag at the same time. The new keys are
|
|
53
|
+
**additive**: `workspaces:` and `packs:` live alongside `domain:`,
|
|
54
|
+
the migration is mechanical (Phase 4 of the implementing roadmap), and
|
|
55
|
+
no existing reader breaks.
|
|
56
|
+
|
|
57
|
+
## Decision
|
|
58
|
+
|
|
59
|
+
### Frontmatter shape — additive block
|
|
60
|
+
|
|
61
|
+
```yaml
|
|
62
|
+
# ── existing keys stay ──
|
|
63
|
+
name: <slug>
|
|
64
|
+
description: <one-liner>
|
|
65
|
+
source: package
|
|
66
|
+
domain: <existing free-form> # untouched
|
|
67
|
+
|
|
68
|
+
# ── new keys (additive; optional Phases 1–3, required Phase 4+) ──
|
|
69
|
+
workspaces:
|
|
70
|
+
- engineering
|
|
71
|
+
- product
|
|
72
|
+
packs:
|
|
73
|
+
- engineering-base
|
|
74
|
+
lifecycle: active # active | deprecated | experimental | archived
|
|
75
|
+
trust:
|
|
76
|
+
level: core # core | professional | experimental | advisory | restricted
|
|
77
|
+
confidence: high # high | medium | low
|
|
78
|
+
human_review_required: false
|
|
79
|
+
install:
|
|
80
|
+
default: true
|
|
81
|
+
removable: true
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Closed vocabulary — `workspaces:`
|
|
85
|
+
|
|
86
|
+
| id | label | one-line definition |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| `engineering` | Engineering | Code, tests, CI, reviews, architecture. |
|
|
89
|
+
| `product` | Product | Discovery, roadmaps, prioritisation, AC tightening. |
|
|
90
|
+
| `finance` | Finance / CFO | Cashflow, forecasting, DCF, board reporting. |
|
|
91
|
+
| `founder` | Founder | Strategy, fundraising, vision, board narrative. |
|
|
92
|
+
| `gtm` | Go-to-Market | Sales pipeline, marketing, positioning, launch. |
|
|
93
|
+
| `ops` | Operations | Hiring, comp, perf, org design, runbooks. |
|
|
94
|
+
| `small-business` | Small Business | Self-employed / SMB-shaped owner workflows. |
|
|
95
|
+
| `construction` | Construction | Trade-business workflows (planning, quotes). |
|
|
96
|
+
| `agent-config-maintainer` | Maintainer | Skills/rules/commands that maintain *this* package. |
|
|
97
|
+
|
|
98
|
+
Amendments to the workspace list require an ADR-013 amendment.
|
|
99
|
+
|
|
100
|
+
### Closed vocabulary — `packs:`
|
|
101
|
+
|
|
102
|
+
| id | description |
|
|
103
|
+
|---|---|
|
|
104
|
+
| `engineering-base` | Framework-neutral engineering hygiene (git, tests, reviews). |
|
|
105
|
+
| `php` | PHP-language patterns (framework-free). |
|
|
106
|
+
| `laravel` | Laravel framework; advisory hint depends on `php`, `engineering-base`. |
|
|
107
|
+
| `symfony` | Symfony framework; advisory hint depends on `php`, `engineering-base`. |
|
|
108
|
+
| `javascript` | JavaScript-language patterns. |
|
|
109
|
+
| `typescript` | TypeScript-language patterns. |
|
|
110
|
+
| `react` | React framework patterns. |
|
|
111
|
+
| `nextjs` | Next.js framework patterns. |
|
|
112
|
+
| `python` | Python-language patterns. |
|
|
113
|
+
| `product-basic` | Core PO/PM artefacts (ticket refinement, AC, estimation). |
|
|
114
|
+
| `product-discovery` | JTBD, interviews, VoC, hypothesis testing. |
|
|
115
|
+
| `finance-basic` | Cashflow, runway, basic forecasting. |
|
|
116
|
+
| `finance-advanced` | DCF, scenario modelling, comp banding. |
|
|
117
|
+
| `gtm-sales` | Pipeline, MEDDIC, forecast accuracy. |
|
|
118
|
+
| `gtm-marketing` | Positioning, messaging, editorial, content funnel. |
|
|
119
|
+
| `ops-people` | Hiring loops, onboarding programs, comp banding. (Renamed from `ops` to honour the non-overlap rule against `profile.id: ops`.) |
|
|
120
|
+
| `founder-strategy` | Vision, fundraising narrative, competitive moat. (Renamed from `founder` to honour the non-overlap rule against `profile.id: founder`.) |
|
|
121
|
+
| `small-business` | SMB-shaped owner workflows. |
|
|
122
|
+
| `construction` | Trade-business workflows. |
|
|
123
|
+
| `ai-video` | AI video pipeline (per ADR-011, the only heavyweight domain). |
|
|
124
|
+
| `meta` | Artefacts that maintain *this* package (`agent-config` itself). |
|
|
125
|
+
|
|
126
|
+
Amendments to the pack list require an ADR-013 amendment and the
|
|
127
|
+
matching `config/discovery/packs.yml` row in the same PR.
|
|
128
|
+
|
|
129
|
+
### Non-overlap rule (ADR-010 alignment)
|
|
130
|
+
|
|
131
|
+
- `cost_profile` values (`minimal`, `balanced`, `full`, `custom`) are
|
|
132
|
+
**not** pack ids. The scanner hard-fails on overlap.
|
|
133
|
+
- `profile.id` values (`founder`, `developer`, `content_creator`,
|
|
134
|
+
`agency`, `finance`, `ops`) are **not** pack ids. The scanner
|
|
135
|
+
hard-fails on overlap. (Note: `founder`, `finance`, `ops` are
|
|
136
|
+
**workspace ids**; the collision check is against pack ids.)
|
|
137
|
+
- `lint_discovery_vocabulary.py` enforces both checks at PR time.
|
|
138
|
+
|
|
139
|
+
### Migration rule
|
|
140
|
+
|
|
141
|
+
- **Phases 1–3** (implementing roadmap): artefacts without the new keys
|
|
142
|
+
are accepted; the scanner emits `unassigned[]` warnings; CI logs but
|
|
143
|
+
does not fail.
|
|
144
|
+
- **Phase 4**: every artefact under
|
|
145
|
+
`.agent-src.uncompressed/{skills,rules,commands,templates}` either
|
|
146
|
+
declares the new keys, or sits in `config/discovery/unassigned-artefacts.yml`
|
|
147
|
+
with a one-line reason.
|
|
148
|
+
- **Phase 4+**: CI flips strict; missing annotation is a fail.
|
|
149
|
+
|
|
150
|
+
### Trust-root allow-list (security-engineer council fold-in)
|
|
151
|
+
|
|
152
|
+
The scanner honours frontmatter only on files under the trusted roots:
|
|
153
|
+
`.augment/`, `.claude/`, `.agent-src.uncompressed/`, `.agent-src/`.
|
|
154
|
+
Files under `agents/`, `tmp/`, or any consumer-writable path **cannot**
|
|
155
|
+
claim ownership of a workspace or pack. Phase 2 enforces.
|
|
156
|
+
|
|
157
|
+
### Release-only manifest (external council CRITICAL fold-in)
|
|
158
|
+
|
|
159
|
+
The manifest is built on `main` post-merge, never in PR CI. PR CI
|
|
160
|
+
asserts the manifest is **absent** from the working tree, preventing a
|
|
161
|
+
contributor from smuggling a pre-built manifest claiming
|
|
162
|
+
`trust.level: core`. Phase 5 enforces.
|
|
163
|
+
|
|
164
|
+
### Signing (security-engineer council fold-in)
|
|
165
|
+
|
|
166
|
+
Phase 6 emits `discovery-manifest.json.sha256` alongside the manifest.
|
|
167
|
+
The CLI verifies on first read; verification failure aborts before any
|
|
168
|
+
discovery-driven action.
|
|
169
|
+
|
|
170
|
+
## Consequences
|
|
171
|
+
|
|
172
|
+
### Positive
|
|
173
|
+
|
|
174
|
+
- One source of truth for workspaces/packs across wizard, agent-mode,
|
|
175
|
+
CLI, server route, and positioning lint.
|
|
176
|
+
- Manifest extraction is mechanical when ADR-011's trigger flips; no
|
|
177
|
+
refactor of artefact bodies needed at that time.
|
|
178
|
+
- Vocabulary drift is caught by lint, not by review-by-eye.
|
|
179
|
+
|
|
180
|
+
### Negative
|
|
181
|
+
|
|
182
|
+
- Every artefact author must learn 4 new keys (`workspaces`, `packs`,
|
|
183
|
+
`lifecycle`, `trust`, `install`). Mitigation: defaults documented in
|
|
184
|
+
Phase 4 mapping rules; one ADR amendment per new vocabulary entry.
|
|
185
|
+
- A future "extract video into its own npm package" decision (ADR-011
|
|
186
|
+
trigger flip) inherits the manifest as scaffolding. Mitigation: the
|
|
187
|
+
manifest declares *labels*, not directory boundaries; extraction is
|
|
188
|
+
still a separate roadmap.
|
|
189
|
+
|
|
190
|
+
### Risks accepted
|
|
191
|
+
|
|
192
|
+
- **Free-form `domain:` stays alongside `workspaces:`.** Duplication
|
|
193
|
+
is intentional during the additive migration; a follow-up roadmap
|
|
194
|
+
may collapse them.
|
|
195
|
+
- **`requires_hint:` on packs is advisory only.** The runtime does
|
|
196
|
+
not act on it. Acceptable for v1 per the council's "MEDIUM" note.
|
|
197
|
+
|
|
198
|
+
## Amendments
|
|
199
|
+
|
|
200
|
+
### 2026-05-21 — Monorepo Phase 1 closure (enforcement live)
|
|
201
|
+
|
|
202
|
+
The five required keys (`workspaces`, `packs`, `lifecycle`, `trust`,
|
|
203
|
+
`install`) are now **strictly enforced** across every artefact under
|
|
204
|
+
`.agent-src.uncompressed/{skills,rules,commands,templates}` by
|
|
205
|
+
[`scripts/lint_artefact_frontmatter.py`](../../scripts/lint_artefact_frontmatter.py),
|
|
206
|
+
wired into `task lint-artefact-frontmatter`, `task ci`, and the opt-in
|
|
207
|
+
combined pre-commit hook (`./agent-config hooks:install`). The migration
|
|
208
|
+
rule's "Phase 4+" strict flip described above is therefore in effect.
|
|
209
|
+
|
|
210
|
+
Worked examples per artefact type live in
|
|
211
|
+
[`docs/contracts/frontmatter-contract.md`](../contracts/frontmatter-contract.md);
|
|
212
|
+
roundtrip stability across the `task sync` pipeline is guarded by
|
|
213
|
+
`tests/test_frontmatter_roundtrip.py`.
|
|
214
|
+
|
|
215
|
+
The Phase-1 roadmap initially proposed splitting the contract into a
|
|
216
|
+
separate `ADR-014-frontmatter-v2-contract.md`. That split was dropped —
|
|
217
|
+
this ADR remains the single source of truth and absorbed the worked
|
|
218
|
+
examples instead. No ADR-014 issued.
|
|
219
|
+
|
|
220
|
+
Driven by [`agents/roadmaps/monorepo-phase-1-frontmatter-metadata.md`](../../agents/roadmaps/monorepo-phase-1-frontmatter-metadata.md).
|
|
221
|
+
|
|
222
|
+
## Cross-references
|
|
223
|
+
|
|
224
|
+
- [ADR-007 — Agent Discovery Scopes](ADR-007-agent-discovery-scopes.md):
|
|
225
|
+
the manifest path resolves against the **active scope** (project vs.
|
|
226
|
+
global), not against `cwd` alone.
|
|
227
|
+
- [ADR-010 — Profile / Pack / Preset Boundary](ADR-010-profile-pack-preset-boundary.md):
|
|
228
|
+
this ADR touches the **pack axis only**; the non-overlap rule keeps
|
|
229
|
+
the other three axes intact.
|
|
230
|
+
- [ADR-011 — Domain-Pack Readiness](ADR-011-domain-pack-readiness.md):
|
|
231
|
+
packs are **labels on in-repo artefacts**, not separately-installable
|
|
232
|
+
npm packages. Extraction stays blocked until ADR-011's trigger flips.
|
|
233
|
+
- [Implementing roadmap (archived, status: completed)](../../agents/roadmaps/archive/automated-pack-workspace-and-skill-discovery.md).
|
|
234
|
+
- Schema artefact: [`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json).
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr: 014
|
|
3
|
+
status: accepted
|
|
4
|
+
date: 2026-05-20
|
|
5
|
+
decision: gui-framework-choice
|
|
6
|
+
supersedes: —
|
|
7
|
+
superseded_by: —
|
|
8
|
+
phase: v2.x · unified-setup-and-settings-gui Phase 0
|
|
9
|
+
type: prospective
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-014 — GUI Framework Choice (Preact + Signals)
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
**Accepted** · 2026-05-20 · in-session council recommendation folded.
|
|
17
|
+
External AI Council pass on the implementing roadmap
|
|
18
|
+
(`agents/roadmaps/unified-setup-and-settings-gui.md`) did not contest
|
|
19
|
+
the framework choice; it focused on data integrity (atomic writes,
|
|
20
|
+
optimistic locking) which is orthogonal to the rendering layer.
|
|
21
|
+
|
|
22
|
+
## Context
|
|
23
|
+
|
|
24
|
+
`unified-setup-and-settings-gui.md` introduces the first browser-facing
|
|
25
|
+
surface of `@event4u/agent-config` — a local UI that doubles as a
|
|
26
|
+
first-run wizard and a settings editor. The package is distributed via
|
|
27
|
+
`npx`, so every byte of UI ships in the npm tarball and re-downloads on
|
|
28
|
+
every fresh install. The wizard has **at most 8 screens**; the settings
|
|
29
|
+
editor renders **one zod-derived form tree**. There is no router-driven
|
|
30
|
+
deep navigation, no SSR, no SEO surface, no offline-first concern.
|
|
31
|
+
|
|
32
|
+
Picking a heavyweight framework here would inflate the tarball with no
|
|
33
|
+
proportional benefit and would make hand-off audits (a maintainer
|
|
34
|
+
opening `src/ui/` cold) substantially harder. The choice is locked
|
|
35
|
+
**now**, in this ADR, because Phase 2 onwards depends on the form
|
|
36
|
+
primitives being written against a stable rendering API.
|
|
37
|
+
|
|
38
|
+
## Decision
|
|
39
|
+
|
|
40
|
+
**Preact 10 + `@preact/signals` for state.** Vite as the build tool
|
|
41
|
+
(already in `package.json`). No router beyond a 1 KB hash-route
|
|
42
|
+
helper. Plain CSS files with design tokens, no CSS-in-JS, no UI kit.
|
|
43
|
+
|
|
44
|
+
### Decision matrix
|
|
45
|
+
|
|
46
|
+
| Framework | Hello-world + 5 fields + wizard (gzip) | Forms ecosystem | TS support | Mental model | Verdict |
|
|
47
|
+
|---|---|---|---|---|---|
|
|
48
|
+
| **Preact + signals** | **~6 KB** | Manual primitives, ergonomic | Excellent | React-compatible | **Chosen** |
|
|
49
|
+
| Svelte 5 (runes) | ~10 KB | Built-in form bindings | Good | Single-file components | Rejected: compiler magic harder to audit; smaller community for form libs vs Preact |
|
|
50
|
+
| lit-html / Lit | ~7 KB | None — manual | Good | Web Components, shadow DOM | Rejected: shadow DOM complicates token-driven styling and a11y |
|
|
51
|
+
| Vanilla + uhtml + mfsv | ~3 KB | None — bring your own | Manual | Tagged-template HTML | Rejected: 8 screens + multi-step form is the threshold where "bring your own" costs more than the saved KB |
|
|
52
|
+
| React 18 + RSC-disabled | ~45 KB | Best-in-class | Excellent | Industry default | Rejected: 7× the bundle for the same JSX surface; over-spec for an `npx`-shipped UI |
|
|
53
|
+
|
|
54
|
+
### Forbidden adds
|
|
55
|
+
|
|
56
|
+
- **Routers heavier than `wouter-preact` / `preact-router`** (≤ 1 KB
|
|
57
|
+
gzipped). The UI has ≤ 8 screens; a 40 KB router is over-spec.
|
|
58
|
+
- **CSS frameworks** — Tailwind, MUI, Chakra, Mantine, shadcn-ui.
|
|
59
|
+
Shipping 50 KB+ of CSS into an `npx`-installed binary is poor
|
|
60
|
+
stewardship. We ship hand-written CSS using design tokens (see
|
|
61
|
+
`src/ui/tokens.css`).
|
|
62
|
+
- **State libraries beyond signals** — no Redux, no Zustand, no Jotai.
|
|
63
|
+
Signals are a built-in reactive primitive; the wizard's partial
|
|
64
|
+
state lives server-side in `wizard-state.json` anyway.
|
|
65
|
+
- **SSR / streaming frameworks** — Next.js, Remix, SolidStart, Astro.
|
|
66
|
+
The server is local Fastify; the UI is a static bundle mounted
|
|
67
|
+
under `/`. No SSR concern exists.
|
|
68
|
+
|
|
69
|
+
### Reactive state pattern
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
import { signal, computed } from '@preact/signals';
|
|
73
|
+
|
|
74
|
+
const settings = signal<SettingsValues | null>(null);
|
|
75
|
+
const isDirty = computed(() => /* compare against load-time snapshot */ false);
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- **`signal`** holds the editable form values; component subtrees
|
|
79
|
+
re-render only on the signals they read.
|
|
80
|
+
- **`computed`** derives the dirty flag, the diff preview, and the
|
|
81
|
+
per-field error map without prop-drilling.
|
|
82
|
+
- No `useState` for cross-component shared state; only for local
|
|
83
|
+
ephemera (open/closed of a single modal, focus rings).
|
|
84
|
+
|
|
85
|
+
### Build target
|
|
86
|
+
|
|
87
|
+
- **ES2022**, native modules, no transpilation to ES5. The UI runs
|
|
88
|
+
in the developer's browser, which is always evergreen.
|
|
89
|
+
- Vite builds emit `dist/ui/assets/*.js` + `*.css`; the Fastify
|
|
90
|
+
static handler serves them under `/`.
|
|
91
|
+
- Bundle budget: **≤ 35 KB gzip** total (the wizard + the settings
|
|
92
|
+
editor combined). Enforced by `tests/ui/bundle-budget.test.ts` in
|
|
93
|
+
Phase 2. Breach is a CI fail, not a warning.
|
|
94
|
+
|
|
95
|
+
### Testing stack
|
|
96
|
+
|
|
97
|
+
- **Vitest 2.x** (already in `package.json`) + **happy-dom** for UI
|
|
98
|
+
unit tests. No Jest. No React Testing Library (Preact has
|
|
99
|
+
`@testing-library/preact` but we keep the primitives small enough
|
|
100
|
+
that direct DOM assertions suffice).
|
|
101
|
+
|
|
102
|
+
## Consequences
|
|
103
|
+
|
|
104
|
+
### Positive
|
|
105
|
+
|
|
106
|
+
- Tarball stays under control: the entire GUI ships in < 50 KB gzip
|
|
107
|
+
of `dist/ui/` regardless of how many screens accumulate.
|
|
108
|
+
- React-shaped JSX means contributors familiar with React onboard in
|
|
109
|
+
hours, not weeks.
|
|
110
|
+
- Signals eliminate the prop-drilling overhead Form state would
|
|
111
|
+
otherwise require.
|
|
112
|
+
- Zero CSS-in-JS keeps Vite's output predictable and lets a maintainer
|
|
113
|
+
grep `.css` files for token usage at audit time.
|
|
114
|
+
|
|
115
|
+
### Negative
|
|
116
|
+
|
|
117
|
+
- Preact's smaller ecosystem means **some** React-only libraries
|
|
118
|
+
(e.g. `react-hook-form`) cannot be reused without a shim. Mitigation:
|
|
119
|
+
we hand-write form primitives anyway per the "no UI kit" rule, so
|
|
120
|
+
the gap is theoretical for this scope.
|
|
121
|
+
- Contributors who only know Vue or Svelte must learn Preact's
|
|
122
|
+
JSX-flavoured API. Mitigation: documented in `docs/architecture.md`
|
|
123
|
+
alongside the existing TS-CLI onboarding notes.
|
|
124
|
+
|
|
125
|
+
### Risks accepted
|
|
126
|
+
|
|
127
|
+
- **No React migration path is preserved**. If a future roadmap needs
|
|
128
|
+
RSC, streaming, or React-only libraries, the UI is rewritten end-to-
|
|
129
|
+
end. Acceptable because the UI is feature-bounded (wizard + settings)
|
|
130
|
+
and any RSC-shaped future is a different product.
|
|
131
|
+
|
|
132
|
+
## Cross-references
|
|
133
|
+
|
|
134
|
+
- [Implementing roadmap](../../agents/roadmaps/unified-setup-and-settings-gui.md).
|
|
135
|
+
- [ADR-012 — TypeScript CLI Shell](ADR-012-typescript-cli-shell.md): the host server that mounts this UI.
|
|
136
|
+
- [ADR-013 — Discovery Frontmatter Contract](ADR-013-discovery-frontmatter-contract.md): the discovery manifest the GUI reads to render workspace / pack pickers in a future phase.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr: 015
|
|
3
|
+
status: accepted
|
|
4
|
+
date: 2026-05-21
|
|
5
|
+
decision: discovery-manifest-contract
|
|
6
|
+
supersedes: —
|
|
7
|
+
superseded_by: —
|
|
8
|
+
phase: v2.x · monorepo-phase-2-virtual-packs-discovery Phase 1
|
|
9
|
+
type: prospective
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-015 — Discovery Manifest Contract
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
**Accepted** · 2026-05-21 · in-session AI Council pass. Folds the Phase-2
|
|
17
|
+
intake invariant (`agents/tmp/refactor-package.txt`, last paragraph) and
|
|
18
|
+
the additive-vs-rewrite call into the schema. Phase-1 prerequisite for
|
|
19
|
+
[`monorepo-phase-2-virtual-packs-discovery`](../../agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md).
|
|
20
|
+
|
|
21
|
+
## Context
|
|
22
|
+
|
|
23
|
+
[ADR-013](ADR-013-discovery-frontmatter-contract.md) locked the five
|
|
24
|
+
per-artefact frontmatter keys. The release pipeline now needs a single
|
|
25
|
+
JSON contract — `dist/discovery/discovery-manifest.json` — that the
|
|
26
|
+
TypeScript installer (Phase 3), the browser wizard (Phase 6), the docs
|
|
27
|
+
site, and any third-party consumer read instead of walking the source
|
|
28
|
+
tree. The invariant from the founder intake:
|
|
29
|
+
|
|
30
|
+
> Beim Erstellen eines Releases müssen alle Skills, etc. nach Workspace
|
|
31
|
+
> und Pack untersucht werden, so dass das für den Installer gespeichert
|
|
32
|
+
> wird und zur Verfügung steht. Es soll keine manuelle Package &
|
|
33
|
+
> Workspace Liste gepflegt werden.
|
|
34
|
+
|
|
35
|
+
**No manual list. Ever.** The pack and workspace shape grows by stamping
|
|
36
|
+
frontmatter, not by editing a list.
|
|
37
|
+
|
|
38
|
+
A v1 manifest schema already lives at
|
|
39
|
+
[`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json)
|
|
40
|
+
(carried over from the archived R3 discovery roadmap). The Phase-2
|
|
41
|
+
roadmap §"Manifest shape" sketched an *ideal* shape that differs from
|
|
42
|
+
the on-disk schema in several places (per-artefact `checksum`,
|
|
43
|
+
optional `requires`, a `stats` block). The decision is whether to
|
|
44
|
+
rewrite the schema or extend it additively.
|
|
45
|
+
|
|
46
|
+
## Decision
|
|
47
|
+
|
|
48
|
+
**Extend the v1 schema additively.** Three changes, no removals, no
|
|
49
|
+
field renames, version stays `1`:
|
|
50
|
+
|
|
51
|
+
1. **`artefact.checksum`** — `sha256:<hex>`, REQUIRED. Computed over the
|
|
52
|
+
on-disk file bytes after frontmatter normalization (sorted keys,
|
|
53
|
+
trailing newline). Drift detector for the Phase-3 installer.
|
|
54
|
+
2. **`artefact.requires`** — `array<pack_id>`, OPTIONAL. Pack-level
|
|
55
|
+
dependency edges resolved by the installer; empty/absent means the
|
|
56
|
+
artefact has no extra pack requirements beyond its own `packs[]`.
|
|
57
|
+
3. **`stats`** — REQUIRED top-level object. `total_artefacts`,
|
|
58
|
+
`by_category`, `by_lifecycle`, `by_trust_level`. Cheap sanity surface
|
|
59
|
+
for `task discovery-stats` + downstream dashboards.
|
|
60
|
+
|
|
61
|
+
The Phase-2 roadmap's example also mentioned `id`, `owner`, and
|
|
62
|
+
`install.managed`. **Not adopted.** The path is the canonical artefact
|
|
63
|
+
identity (matches ADR-013), ownership is already encoded in
|
|
64
|
+
`workspaces[]` + `packs[]`, and `install.managed` adds a third
|
|
65
|
+
install-axis without a current consumer. Re-evaluate in Phase 5.
|
|
66
|
+
|
|
67
|
+
### Source-of-truth tree
|
|
68
|
+
|
|
69
|
+
The generator walks `.agent-src.uncompressed/`, **not** `.agent-src/`.
|
|
70
|
+
The Phase-2 roadmap text §Phase 2 says "the compressed canonical tree"
|
|
71
|
+
— that is a documentation slip. `augment-source-of-truth` rule states
|
|
72
|
+
that uncompressed is canonical; the compressed tree is a build output
|
|
73
|
+
and may be regenerated. Manifest pipelines that read build outputs are
|
|
74
|
+
fragile to bootstrap order.
|
|
75
|
+
|
|
76
|
+
### No git in the manifest
|
|
77
|
+
|
|
78
|
+
The roadmap example included `source_commit`. **Not adopted.** The
|
|
79
|
+
existing `scanner_version` (first 12 hex of `sha256(build_discovery_manifest.py)`)
|
|
80
|
+
already pins generator identity. Embedding `git rev-parse HEAD` breaks
|
|
81
|
+
hermetic determinism tests in environments without a git checkout
|
|
82
|
+
(CI shallow clones, vendor tarballs). A consumer that needs the commit
|
|
83
|
+
can pin from the surrounding release artefact (changelog, tag).
|
|
84
|
+
|
|
85
|
+
## Consequences
|
|
86
|
+
|
|
87
|
+
### Positive
|
|
88
|
+
|
|
89
|
+
- Existing consumers (the Phase-1 linter, the round-trip test, the
|
|
90
|
+
`lint_discovery_manifest.py` validator) keep working — top-level
|
|
91
|
+
`version` stays `1`, all v1 fields stay required.
|
|
92
|
+
- Per-artefact `checksum` makes the Phase-3 installer drift-detection
|
|
93
|
+
trivial — one hash compare per file.
|
|
94
|
+
- `requires` is opt-in: artefacts that don't need cross-pack deps cost
|
|
95
|
+
zero extra bytes.
|
|
96
|
+
- Stats are computed from the artefact list — no second walk of the
|
|
97
|
+
tree, no risk of stats/list desync.
|
|
98
|
+
|
|
99
|
+
### Negative
|
|
100
|
+
|
|
101
|
+
- Every artefact entry grows by ~80 bytes (the checksum). For ~420
|
|
102
|
+
artefacts, the manifest grows ~33 KB. Acceptable.
|
|
103
|
+
- The first build after this ADR rewrites every artefact entry; the
|
|
104
|
+
diff is large. Reviewed once and committed.
|
|
105
|
+
|
|
106
|
+
### Neutral
|
|
107
|
+
|
|
108
|
+
- `version` stays `1`. A future breaking change (rename `packs` to
|
|
109
|
+
`pack_ids`, drop `unassigned`, etc.) bumps to `2`. This ADR sets the
|
|
110
|
+
precedent that **additive** changes do not bump.
|
|
111
|
+
|
|
112
|
+
## Determinism contract
|
|
113
|
+
|
|
114
|
+
Two builds of the same source tree MUST produce byte-identical JSON
|
|
115
|
+
when `generated_at` is normalized. Specifically:
|
|
116
|
+
|
|
117
|
+
- All arrays sorted (`artefacts` by `path`, `workspaces`/`packs` in
|
|
118
|
+
vocabulary order, `requires`/`workspaces[]`/`packs[]` per-entry sorted).
|
|
119
|
+
- JSON serialized with `sort_keys=True`, `indent=2`, trailing newline.
|
|
120
|
+
- The global `checksum` covers the manifest minus `generated_at` and
|
|
121
|
+
itself (zeroed during hash input).
|
|
122
|
+
- Per-artefact `checksum` covers the file content with frontmatter
|
|
123
|
+
normalized (sorted keys, trailing newline, no trailing whitespace).
|
|
124
|
+
|
|
125
|
+
## Failure modes guarded against
|
|
126
|
+
|
|
127
|
+
- **Manual drift** — no pack list to hand-edit; new packs/workspaces
|
|
128
|
+
enter via frontmatter stamps on artefacts.
|
|
129
|
+
- **Stale manifest in release** — Phase 3 ships `task validate-discovery-manifest`
|
|
130
|
+
which re-builds to a tempdir and `diff`s against the committed file.
|
|
131
|
+
- **Checksum collision with content edits** — per-artefact `checksum`
|
|
132
|
+
surfaces any file mutation; the installer can refuse to overwrite a
|
|
133
|
+
user-modified artefact (Phase 3).
|
|
134
|
+
- **`version: 1` reused for breaking changes** — this ADR explicitly
|
|
135
|
+
scopes `version: 1` to additive evolutions; breaking → bump + new ADR.
|
|
136
|
+
|
|
137
|
+
## References
|
|
138
|
+
|
|
139
|
+
- [ADR-013](ADR-013-discovery-frontmatter-contract.md) — frontmatter
|
|
140
|
+
contract (the input side of this manifest).
|
|
141
|
+
- [`docs/contracts/discovery-manifest.schema.json`](../contracts/discovery-manifest.schema.json)
|
|
142
|
+
— the locked schema.
|
|
143
|
+
- [`docs/contracts/discovery-manifest.md`](../contracts/discovery-manifest.md)
|
|
144
|
+
— worked examples + consumer guide.
|
|
145
|
+
- [`agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md`](../../agents/roadmaps/monorepo-phase-2-virtual-packs-discovery.md)
|
|
146
|
+
— the implementing roadmap.
|