@event4u/agent-config 8.1.0 → 8.3.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/.claude-plugin/marketplace.json +3 -3
- package/CHANGELOG.md +83 -292
- package/MIGRATION.md +18 -0
- package/README.md +86 -3
- package/dist/agent-src/commands/agents/init.md +3 -3
- package/dist/agent-src/commands/chat-history/import.md +5 -5
- package/dist/agent-src/commands/chat-history.md +1 -1
- package/dist/agent-src/commands/condense.md +1 -1
- package/dist/agent-src/commands/context/create.md +1 -1
- package/dist/agent-src/commands/council/analysis.md +2 -2
- package/dist/agent-src/commands/council/default.md +3 -3
- package/dist/agent-src/commands/council/design.md +2 -2
- package/dist/agent-src/commands/council/optimize.md +1 -1
- package/dist/agent-src/commands/council/pr.md +2 -2
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +1 -1
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +1 -1
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/implement-ticket.md +2 -2
- package/dist/agent-src/commands/judge/on-diff.md +1 -1
- package/dist/agent-src/commands/judge/steps.md +3 -1
- package/dist/agent-src/commands/memory/add.md +2 -2
- package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
- package/dist/agent-src/commands/memory/load.md +1 -1
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +1 -1
- package/dist/agent-src/commands/memory/propose.md +1 -1
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/module/explore.md +3 -3
- package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +1 -1
- package/dist/agent-src/commands/optimize-project.md +1 -1
- package/dist/agent-src/commands/orchestrate.md +2 -2
- package/dist/agent-src/commands/project-analyze.md +1 -1
- package/dist/agent-src/commands/project-health.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +2 -2
- package/dist/agent-src/commands/roadmap/process-full.md +3 -1
- package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
- package/dist/agent-src/commands/roadmap/process-step.md +3 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync-agent-settings.md +7 -7
- package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
- package/dist/agent-src/commands/sync-gitignore.md +4 -4
- package/dist/agent-src/commands/work.md +3 -3
- package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
- package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
- package/dist/agent-src/packs/README.md +1 -1
- package/dist/agent-src/presets/README.md +1 -1
- package/dist/agent-src/profiles/README.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/context-hygiene.md +2 -2
- package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
- package/dist/agent-src/rules/media-governance-routing.md +1 -1
- package/dist/agent-src/rules/no-roadmap-references.md +3 -3
- package/dist/agent-src/rules/preservation-guard.md +2 -2
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
- package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
- package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/telegraph-speak.md +1 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
- package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
- package/dist/agent-src/skills/api-design/SKILL.md +1 -1
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
- package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
- package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
- package/dist/agent-src/skills/code-review/SKILL.md +3 -4
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
- package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/context-document/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
- package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
- package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
- package/dist/agent-src/skills/database/SKILL.md +2 -1
- package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
- package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
- package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
- package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
- package/dist/agent-src/skills/flux/SKILL.md +10 -9
- package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
- package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
- package/dist/agent-src/skills/livewire/SKILL.md +10 -9
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
- package/dist/agent-src/skills/module-management/SKILL.md +2 -2
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
- package/dist/agent-src/skills/premortem/SKILL.md +1 -1
- package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
- package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
- package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
- package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
- package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
- package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
- package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
- package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
- package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
- package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
- package/dist/agent-src/templates/agent-settings.md +34 -25
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
- package/dist/agent-src/templates/agents/proposal.example.md +4 -4
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
- package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
- package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
- package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
- package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
- package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
- package/dist/agent-src/templates/roadmaps.md +9 -4
- package/dist/agent-src/templates/rule.md +3 -3
- package/dist/agent-src/templates/scripts/README.md +6 -6
- package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
- package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
- package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
- package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
- package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
- package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
- package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
- package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
- package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
- package/dist/agent-src/templates/skill.md +2 -2
- package/dist/cli/python/knowledge_ingest.js +24 -3
- package/dist/cli/python/knowledge_ingest.js.map +1 -1
- package/dist/cli/python/workspace_analytics.js +23 -3
- package/dist/cli/python/workspace_analytics.js.map +1 -1
- package/dist/cli/python/workspace_crypto.js +23 -3
- package/dist/cli/python/workspace_crypto.js.map +1 -1
- package/dist/cli/python/workspace_documents.js +23 -3
- package/dist/cli/python/workspace_documents.js.map +1 -1
- package/dist/cli/python/workspace_drive.js +24 -3
- package/dist/cli/python/workspace_drive.js.map +1 -1
- package/dist/cli/python/workspace_drive_health.js +23 -3
- package/dist/cli/python/workspace_drive_health.js.map +1 -1
- package/dist/cli/python/workspace_explain.js +23 -3
- package/dist/cli/python/workspace_explain.js.map +1 -1
- package/dist/cli/python/workspace_hosts.js +23 -3
- package/dist/cli/python/workspace_hosts.js.map +1 -1
- package/dist/cli/python/workspace_inbox.js +23 -3
- package/dist/cli/python/workspace_inbox.js.map +1 -1
- package/dist/cli/python/workspace_render.js +23 -3
- package/dist/cli/python/workspace_render.js.map +1 -1
- package/dist/cli/python/workspace_roles.js +23 -3
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/cli/python/workspace_sessions.js +23 -3
- package/dist/cli/python/workspace_sessions.js.map +1 -1
- package/dist/cli/python/workspace_skills.js +23 -3
- package/dist/cli/python/workspace_skills.js.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +118 -118
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +2 -2
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +3 -3
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +3 -3
- package/dist/install/install.mjs +647 -408
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/server/routes/settings.js +4 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/schemas/settings.js +1 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +2 -2
- package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
- package/docs/benchmark.md +40 -0
- package/docs/contracts/CHANGELOG-conventions.md +8 -5
- package/docs/contracts/branch-protection-policy.md +14 -5
- package/docs/contracts/mcp-phase-1-scope.md +75 -0
- package/docs/contracts/mcp-tool-inventory.md +22 -15
- package/docs/contracts/release-pr-gating.md +22 -11
- package/docs/contracts/skill-bundled-assets.md +2 -2
- package/docs/customization.md +1 -1
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
- package/docs/decisions/ADR-111-canonical-glama-listing.md +97 -0
- package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +92 -0
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +201 -0
- package/docs/decisions/INDEX.md +3 -0
- package/docs/distribution/registry-submissions.md +1 -1
- package/docs/getting-started.md +8 -6
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
- package/docs/guidelines/agent-infra/layered-settings.md +4 -4
- package/docs/guidelines/agent-infra/memory-access.md +19 -18
- package/docs/guidelines/agent-infra/naming.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
- package/docs/guidelines/agent-infra/role-contracts.md +1 -1
- package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
- package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
- package/docs/guidelines/augment-portability-patterns.md +1 -1
- package/docs/installation.md +13 -14
- package/docs/mcp-server.md +32 -20
- package/docs/proof.md +1 -1
- package/docs/setup/mcp-cloud-endpoints.md +9 -2
- package/docs/setup/per-ide/claude-code.md +10 -4
- package/package.json +4 -3
- package/src/config/agent-settings.template.yml +31 -17
- package/src/config/host-capabilities.yml +25 -16
- package/src/config/profiles/balanced.ini +5 -3
- package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
- package/src/scripts/_cli/cmd_conformance.ts +23 -4
- package/src/scripts/_cli/cmd_doctor.ts +196 -8
- package/src/scripts/_cli/cmd_explain.ts +23 -4
- package/src/scripts/_cli/cmd_export.ts +23 -4
- package/src/scripts/_cli/cmd_fleet.ts +23 -4
- package/src/scripts/_cli/cmd_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_preflight.ts +24 -4
- package/src/scripts/_cli/cmd_prune.ts +23 -4
- package/src/scripts/_cli/cmd_refresh.ts +23 -4
- package/src/scripts/_cli/cmd_settings_check.ts +23 -4
- package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_sync.ts +23 -4
- package/src/scripts/_cli/cmd_uninstall.ts +45 -4
- package/src/scripts/_cli/cmd_update.ts +23 -4
- package/src/scripts/_cli/cmd_upgrade.ts +307 -17
- package/src/scripts/_cli/cmd_validate.ts +23 -4
- package/src/scripts/_cli/cmd_versions.ts +23 -4
- package/src/scripts/_dispatch.bash +62 -19
- package/src/scripts/_lib/claude_plugin.ts +83 -0
- package/src/scripts/_lib/claude_settings_hooks.ts +251 -0
- package/src/scripts/_lib/knowledge_global.ts +24 -2
- package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
- package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
- package/src/scripts/_lib/link_crypto.ts +24 -5
- package/src/scripts/_lib/pin_resolver.ts +24 -3
- package/src/scripts/adoption_report.ts +23 -4
- package/src/scripts/adoption_snapshot.ts +23 -1
- package/src/scripts/adoption_status.ts +23 -4
- package/src/scripts/adr/regenerate_index.ts +24 -3
- package/src/scripts/ai_council/airgap.ts +25 -2
- package/src/scripts/ai_council/compile_corpus.ts +24 -2
- package/src/scripts/ai_council/pricing.ts +11 -1
- package/src/scripts/analysis_freshness.ts +23 -4
- package/src/scripts/annotate_discovery.ts +23 -1
- package/src/scripts/apply_modules_config.ts +23 -4
- package/src/scripts/audit_adr_coverage.ts +23 -4
- package/src/scripts/audit_auto_rules.ts +23 -1
- package/src/scripts/audit_cloud_compatibility.ts +23 -4
- package/src/scripts/audit_command_surface.ts +23 -4
- package/src/scripts/audit_initial_context.ts +23 -3
- package/src/scripts/audit_likelihood.ts +23 -1
- package/src/scripts/audit_mcp_tools.ts +23 -3
- package/src/scripts/audit_overlap.ts +23 -1
- package/src/scripts/audit_skill_descriptions.ts +24 -2
- package/src/scripts/audit_skill_overlap.ts +23 -1
- package/src/scripts/audit_user_type_axis.ts +23 -4
- package/src/scripts/backfill_model_tier.ts +23 -4
- package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
- package/src/scripts/bench_ab_clone.ts +23 -1
- package/src/scripts/bench_ab_diff.ts +23 -1
- package/src/scripts/bench_ab_integrity.ts +23 -1
- package/src/scripts/bench_ab_run.ts +23 -2
- package/src/scripts/bench_ab_task_runner.ts +23 -1
- package/src/scripts/bench_ab_tracka_run.ts +23 -2
- package/src/scripts/bench_ab_v2_run.ts +23 -1
- package/src/scripts/bench_ab_v2_stats.ts +23 -1
- package/src/scripts/bench_baseline_ready.ts +23 -1
- package/src/scripts/bench_condense_memory.ts +23 -1
- package/src/scripts/bench_drift_check.ts +23 -2
- package/src/scripts/bench_matrix.ts +23 -4
- package/src/scripts/bench_per_tool.ts +23 -1
- package/src/scripts/bench_quality_run.ts +23 -2
- package/src/scripts/bench_rtk_savings.ts +23 -1
- package/src/scripts/bench_rule_load_latency.ts +23 -2
- package/src/scripts/bench_run.ts +23 -2
- package/src/scripts/bench_runner.ts +23 -1
- package/src/scripts/build_cloud_bundle.ts +23 -3
- package/src/scripts/build_discovery_manifest.ts +23 -4
- package/src/scripts/build_linear_digest.ts +23 -3
- package/src/scripts/build_mcp_registry_manifest.ts +23 -4
- package/src/scripts/build_rule_trigger_matrix.ts +23 -4
- package/src/scripts/capture_showcase_session.ts +23 -1
- package/src/scripts/chat_history.ts +24 -3
- package/src/scripts/check_always_budget.ts +23 -2
- package/src/scripts/check_artefact_checksums.ts +23 -4
- package/src/scripts/check_augment_description_cap.ts +23 -4
- package/src/scripts/check_augmentignore.ts +23 -4
- package/src/scripts/check_beta_review_markers.ts +23 -4
- package/src/scripts/check_cluster_patterns.ts +23 -4
- package/src/scripts/check_command_count_messaging.ts +23 -4
- package/src/scripts/check_comparison.ts +23 -1
- package/src/scripts/check_condensation.ts +24 -3
- package/src/scripts/check_condensed_paths.ts +23 -2
- package/src/scripts/check_context_paths.ts +23 -4
- package/src/scripts/check_council_config_location.ts +23 -4
- package/src/scripts/check_council_layout.ts +23 -4
- package/src/scripts/check_council_references.ts +23 -4
- package/src/scripts/check_discovery_determinism.ts +24 -4
- package/src/scripts/check_gate_paths.ts +23 -4
- package/src/scripts/check_generated_artefact_headers.ts +23 -4
- package/src/scripts/check_generator_output_coverage.ts +23 -4
- package/src/scripts/check_gitignore_freshness.ts +23 -4
- package/src/scripts/check_iron_law_prominence.ts +23 -4
- package/src/scripts/check_kernel_prefix_stability.ts +0 -0
- package/src/scripts/check_kernel_rule_bundle.ts +23 -4
- package/src/scripts/check_knowledge_cards.ts +23 -1
- package/src/scripts/check_md_language.ts +23 -4
- package/src/scripts/check_media_deps.ts +24 -1
- package/src/scripts/check_memory.ts +24 -2
- package/src/scripts/check_memory_proposal.ts +23 -4
- package/src/scripts/check_module_management_neutral.ts +23 -4
- package/src/scripts/check_no_conflict_markers.ts +23 -4
- package/src/scripts/check_no_external_sources.ts +23 -4
- package/src/scripts/check_no_local_settings_committed.ts +24 -4
- package/src/scripts/check_no_new_legacy_path.ts +23 -4
- package/src/scripts/check_no_roadmap_refs.ts +23 -4
- package/src/scripts/check_one_off_location.ts +23 -4
- package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
- package/src/scripts/check_portability.ts +24 -3
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_public_catalog_links.ts +23 -4
- package/src/scripts/check_public_links.ts +23 -4
- package/src/scripts/check_quality_regression.ts +23 -2
- package/src/scripts/check_references.ts +23 -4
- package/src/scripts/check_release_includes_discovery.ts +23 -4
- package/src/scripts/check_release_pr_shape.ts +23 -4
- package/src/scripts/check_release_published.ts +23 -4
- package/src/scripts/check_release_trunk_sync.ts +23 -4
- package/src/scripts/check_reply_consistency.ts +23 -4
- package/src/scripts/check_roadmap_trackable.ts +23 -4
- package/src/scripts/check_role_doc_links.ts +23 -4
- package/src/scripts/check_safety_floor_untouched.ts +24 -4
- package/src/scripts/check_site_links.ts +23 -1
- package/src/scripts/check_skill_gaps.ts +23 -1
- package/src/scripts/check_skill_requires.ts +23 -4
- package/src/scripts/check_structural_breaking.ts +24 -4
- package/src/scripts/check_surface_tiers.ts +23 -4
- package/src/scripts/check_template_pin_drift.ts +23 -4
- package/src/scripts/check_test_coverage_diff.ts +23 -4
- package/src/scripts/check_token_optimizer_freshness.ts +23 -4
- package/src/scripts/check_token_quality_golden.ts +23 -2
- package/src/scripts/check_token_regression.ts +23 -2
- package/src/scripts/check_tracked_but_ignored.ts +24 -4
- package/src/scripts/check_trigger_evals.ts +23 -4
- package/src/scripts/check_trunk_drift.ts +24 -1
- package/src/scripts/check_update_banner.ts +23 -4
- package/src/scripts/ci_summary.ts +23 -4
- package/src/scripts/ci_time_ratio.ts +23 -4
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/compile_router.ts +23 -4
- package/src/scripts/condense.ts +30 -31
- package/src/scripts/condense_memory.ts +24 -2
- package/src/scripts/config/packs.ts +24 -4
- package/src/scripts/config/session_profiles.ts +23 -4
- package/src/scripts/context_hygiene_hook.ts +24 -3
- package/src/scripts/cost_by_conversation.ts +23 -4
- package/src/scripts/cost_summary.ts +23 -4
- package/src/scripts/council_cli.ts +35 -7
- package/src/scripts/council_prune.ts +25 -2
- package/src/scripts/cross_repo_retrieve.ts +23 -4
- package/src/scripts/discovery_stats.ts +23 -4
- package/src/scripts/evidence_report.ts +23 -1
- package/src/scripts/export_replay_corpus.ts +23 -2
- package/src/scripts/extract_audit_patterns.ts +23 -1
- package/src/scripts/first_run_gate_hook.ts +24 -3
- package/src/scripts/gen_discovery_baseline.ts +23 -4
- package/src/scripts/generate_capabilities_index.ts +24 -5
- package/src/scripts/generate_capability_matrix.ts +23 -4
- package/src/scripts/generate_catalog.ts +23 -1
- package/src/scripts/generate_command_flows.ts +23 -4
- package/src/scripts/generate_cookbook.ts +23 -4
- package/src/scripts/generate_index.ts +23 -4
- package/src/scripts/generate_ownership_matrix.ts +23 -1
- package/src/scripts/generate_pack_manifests.ts +24 -5
- package/src/scripts/generate_role_experiences_catalog.ts +23 -4
- package/src/scripts/hooks/block_no_verify.ts +23 -4
- package/src/scripts/hooks/design_slop_hook.ts +24 -3
- package/src/scripts/hooks/dispatch_hook.ts +47 -14
- package/src/scripts/hooks/replay_hook.ts +23 -2
- package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
- package/src/scripts/hooks_doctor.ts +23 -2
- package/src/scripts/hooks_status.ts +23 -2
- package/src/scripts/injection_scan_hook.ts +24 -5
- package/src/scripts/install +23 -4
- package/src/scripts/install.ts +102 -44
- package/src/scripts/inventory_abstraction_budget.ts +23 -1
- package/src/scripts/inventory_frontmatter.ts +23 -1
- package/src/scripts/inventory_meta_layers.ts +23 -1
- package/src/scripts/iron_law_sha.ts +23 -4
- package/src/scripts/janitor.ts +23 -4
- package/src/scripts/knowledge_global_cli.ts +24 -2
- package/src/scripts/linked_projects_list.ts +23 -4
- package/src/scripts/lint_agent_security.ts +23 -4
- package/src/scripts/lint_agent_skill_names.ts +23 -4
- package/src/scripts/lint_agents_layout.ts +23 -4
- package/src/scripts/lint_agents_md.ts +23 -4
- package/src/scripts/lint_archived_skills.ts +23 -4
- package/src/scripts/lint_artefact_frontmatter.ts +23 -4
- package/src/scripts/lint_bench_ab.ts +23 -4
- package/src/scripts/lint_bench_corpus.ts +23 -2
- package/src/scripts/lint_command_flow_coverage.ts +23 -4
- package/src/scripts/lint_command_routing.ts +23 -4
- package/src/scripts/lint_command_tiers.ts +23 -2
- package/src/scripts/lint_command_verbs.ts +23 -4
- package/src/scripts/lint_commit_subjects.ts +24 -4
- package/src/scripts/lint_confusables.ts +25 -5
- package/src/scripts/lint_context_spine_usage.ts +23 -4
- package/src/scripts/lint_discovery_manifest.ts +23 -4
- package/src/scripts/lint_discovery_vocabulary.ts +23 -4
- package/src/scripts/lint_empty_roadmaps.ts +23 -4
- package/src/scripts/lint_eval_freshness.ts +23 -4
- package/src/scripts/lint_examples.ts +23 -4
- package/src/scripts/lint_explain_trace.ts +23 -4
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_flows.ts +23 -4
- package/src/scripts/lint_framework_leakage.ts +23 -4
- package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
- package/src/scripts/lint_ghostwriter_source.ts +23 -4
- package/src/scripts/lint_glama_drift.ts +75 -0
- package/src/scripts/lint_global_paths.ts +23 -2
- package/src/scripts/lint_handoffs.ts +23 -4
- package/src/scripts/lint_hidden_unicode.ts +24 -5
- package/src/scripts/lint_hook_concern_budget.ts +23 -4
- package/src/scripts/lint_hook_manifest.ts +23 -2
- package/src/scripts/lint_instruction_smuggling.ts +25 -5
- package/src/scripts/lint_legal_pack.ts +23 -1
- package/src/scripts/lint_load_context.ts +23 -4
- package/src/scripts/lint_marketplace.ts +24 -3
- package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
- package/src/scripts/lint_mcp_config_security.ts +25 -5
- package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
- package/src/scripts/lint_media_policy_linkage.ts +23 -4
- package/src/scripts/lint_missions.ts +23 -4
- package/src/scripts/lint_model_tier_coverage.ts +23 -4
- package/src/scripts/lint_namespace.ts +23 -4
- package/src/scripts/lint_namespace_collisions.ts +23 -4
- package/src/scripts/lint_new_skill_gate.ts +23 -4
- package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
- package/src/scripts/lint_one_off_age.ts +23 -4
- package/src/scripts/lint_orchestration_dsl.ts +23 -4
- package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
- package/src/scripts/lint_pack_boundaries.ts +23 -4
- package/src/scripts/lint_pack_dependencies.ts +23 -2
- package/src/scripts/lint_pack_first_win.ts +23 -4
- package/src/scripts/lint_pack_risk_class.ts +23 -1
- package/src/scripts/lint_persona_governance.ts +23 -4
- package/src/scripts/lint_positioning.ts +23 -4
- package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
- package/src/scripts/lint_readme_jargon.ts +23 -4
- package/src/scripts/lint_readme_size.ts +23 -4
- package/src/scripts/lint_regression.ts +23 -4
- package/src/scripts/lint_roadmap_blockers.ts +23 -4
- package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
- package/src/scripts/lint_roadmap_complexity.ts +23 -4
- package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
- package/src/scripts/lint_role_experiences.ts +23 -4
- package/src/scripts/lint_rule_interactions.ts +23 -4
- package/src/scripts/lint_rule_tiers.ts +24 -3
- package/src/scripts/lint_showcase_sessions.ts +23 -4
- package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
- package/src/scripts/lint_skill_originality.ts +23 -4
- package/src/scripts/lint_skill_tools.ts +23 -4
- package/src/scripts/lint_subagent_determinism.ts +23 -4
- package/src/scripts/lint_ticket_buildable.ts +23 -4
- package/src/scripts/lint_topics_yaml.ts +23 -4
- package/src/scripts/lint_trust_coherence.ts +23 -4
- package/src/scripts/lint_value_dashboard.ts +23 -4
- package/src/scripts/lint_workflow_security.ts +23 -4
- package/src/scripts/lint_workspace_boundary.ts +23 -4
- package/src/scripts/mcp_exec/safety_envelope.ts +105 -0
- package/src/scripts/mcp_parity_smoke.ts +23 -2
- package/src/scripts/mcp_registry_submit.sh +14 -3
- package/src/scripts/mcp_render.ts +23 -4
- package/src/scripts/mcp_server/__main__.ts +6 -8
- package/src/scripts/mcp_server/consumer_tool_catalog.json +78 -3
- package/src/scripts/mcp_server/tools.ts +731 -0
- package/src/scripts/mcp_telemetry_health.ts +23 -4
- package/src/scripts/mcp_telemetry_query.ts +23 -4
- package/src/scripts/mcp_telemetry_store.ts +23 -4
- package/src/scripts/measure_augment_budget.ts +23 -1
- package/src/scripts/measure_density.ts +23 -1
- package/src/scripts/measure_frugality_savings.ts +23 -1
- package/src/scripts/measure_markitdown_lift.ts +23 -1
- package/src/scripts/measure_patterns.ts +23 -1
- package/src/scripts/measure_projection_bytes.ts +23 -1
- package/src/scripts/measure_rule_budget.ts +23 -4
- package/src/scripts/measure_skill_reduction.ts +23 -1
- package/src/scripts/memory_hash.ts +24 -2
- package/src/scripts/memory_lookup.ts +24 -2
- package/src/scripts/memory_report.ts +24 -2
- package/src/scripts/memory_signal.ts +24 -2
- package/src/scripts/memory_status.ts +26 -2
- package/src/scripts/migrate_command_suggestions.ts +23 -4
- package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
- package/src/scripts/migration_status.ts +25 -4
- package/src/scripts/mine_missing_guardrails.ts +23 -1
- package/src/scripts/mine_session.ts +23 -1
- package/src/scripts/minimal_safe_diff_hook.ts +24 -3
- package/src/scripts/new_skill.ts +23 -3
- package/src/scripts/onboarding_gate_hook.ts +24 -3
- package/src/scripts/parity/coverage_diff.ts +25 -3
- package/src/scripts/parity/phase_gate.ts +25 -4
- package/src/scripts/parity/replay.ts +25 -3
- package/src/scripts/pattern_share.ts +23 -4
- package/src/scripts/plan_physical_move.ts +23 -4
- package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
- package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
- package/src/scripts/prediction-pool/score_ev.ts +24 -3
- package/src/scripts/print_required_checks.ts +24 -4
- package/src/scripts/probe_host_compliance.ts +23 -2
- package/src/scripts/probe_projection_fidelity.ts +23 -1
- package/src/scripts/probe_skill_registration.ts +24 -2
- package/src/scripts/profile_staleness_hook.ts +24 -3
- package/src/scripts/profile_use.ts +23 -4
- package/src/scripts/project_thin_rules.ts +23 -3
- package/src/scripts/propose_modules_config.ts +23 -4
- package/src/scripts/prototype_lint_contradictions.ts +23 -1
- package/src/scripts/prove_pack_extractable.ts +23 -4
- package/src/scripts/readme_linter.ts +23 -3
- package/src/scripts/redact_hook_capture.ts +23 -4
- package/src/scripts/refine_ticket_detect.ts +23 -4
- package/src/scripts/release.ts +226 -43
- package/src/scripts/render_benchmark_composite.ts +23 -4
- package/src/scripts/render_benchmark_md.ts +23 -4
- package/src/scripts/roadmap_progress_hook.ts +46 -16
- package/src/scripts/run_skill_evals.ts +23 -4
- package/src/scripts/runtime_dispatcher.ts +23 -4
- package/src/scripts/runtime_registry.ts +23 -4
- package/src/scripts/score_skill_selection.ts +23 -1
- package/src/scripts/security_audit_config.ts +24 -5
- package/src/scripts/skill_collision_clusters.ts +23 -4
- package/src/scripts/skill_discovery.ts +23 -4
- package/src/scripts/skill_linter.ts +23 -2
- package/src/scripts/skill_preview.ts +23 -4
- package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
- package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
- package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
- package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
- package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
- package/src/scripts/skill_usage_collect.ts +23 -4
- package/src/scripts/smoke_path_resolution.ts +23 -4
- package/src/scripts/smoke_quickstart.ts +23 -4
- package/src/scripts/snapshot_agent_outputs.ts +23 -4
- package/src/scripts/spotcheck_thin_root.ts +23 -4
- package/src/scripts/sync_agent_settings.ts +23 -4
- package/src/scripts/sync_github_metadata.ts +23 -4
- package/src/scripts/sync_gitignore.ts +23 -4
- package/src/scripts/telegraph_stats.ts +23 -4
- package/src/scripts/tool_registry.ts +24 -4
- package/src/scripts/trigger_coverage.ts +23 -4
- package/src/scripts/update_counts.ts +23 -4
- package/src/scripts/update_prices.ts +23 -1
- package/src/scripts/validate_agent_settings.ts +23 -4
- package/src/scripts/validate_decision_engine.ts +23 -4
- package/src/scripts/validate_discovery_manifest.ts +23 -4
- package/src/scripts/validate_frontmatter.ts +23 -2
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/scripts/validate_safe_paths.ts +24 -4
- package/src/scripts/validate_telegraph_carveouts.ts +23 -4
- package/src/scripts/verify_before_complete_hook.ts +24 -3
- package/src/scripts/verify_physical_move.ts +23 -4
- package/src/scripts/wrapper_freshness_hook.ts +107 -8
- package/tests/fixtures/hooks/README.md +92 -0
- package/tests/fixtures/hooks/agent_error.json +7 -0
- package/tests/fixtures/hooks/post_tool_use.json +13 -0
- package/tests/fixtures/hooks/pre_compact.json +7 -0
- package/tests/fixtures/hooks/pre_tool_use.json +9 -0
- package/tests/fixtures/hooks/session_end.json +6 -0
- package/tests/fixtures/hooks/session_start.json +6 -0
- package/tests/fixtures/hooks/stop.json +6 -0
- package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
*/
|
|
56
56
|
|
|
57
57
|
import { createRequire } from 'node:module';
|
|
58
|
+
import { spawnSync } from 'node:child_process';
|
|
58
59
|
import * as fs from 'node:fs';
|
|
59
60
|
import * as path from 'node:path';
|
|
60
61
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
@@ -891,9 +892,36 @@ function _parseArgs(argv: readonly string[]): Args {
|
|
|
891
892
|
return { check, repo_root };
|
|
892
893
|
}
|
|
893
894
|
|
|
895
|
+
/**
|
|
896
|
+
* When the default cwd carries no `agents/roadmaps/`, fall back to the git
|
|
897
|
+
* toplevel — hook and IDE invocations often run from a subdirectory, and a
|
|
898
|
+
* cwd-only resolution silently skipped the dashboard there. An explicit
|
|
899
|
+
* `--repo-root` always wins; a cwd that has the directory is used as-is
|
|
900
|
+
* (monorepo sub-project support).
|
|
901
|
+
*/
|
|
902
|
+
function _fallback_git_toplevel(repo_root: string): string {
|
|
903
|
+
try {
|
|
904
|
+
const r = spawnSync('git', ['rev-parse', '--show-toplevel'], {
|
|
905
|
+
cwd: repo_root,
|
|
906
|
+
encoding: 'utf-8',
|
|
907
|
+
timeout: 10_000,
|
|
908
|
+
});
|
|
909
|
+
const top = (r.stdout || '').trim();
|
|
910
|
+
if (r.status === 0 && top !== '' && _isDir(path.join(top, 'agents', 'roadmaps'))) {
|
|
911
|
+
return top;
|
|
912
|
+
}
|
|
913
|
+
} catch {
|
|
914
|
+
/* not a git repo / git missing — keep the cwd default */
|
|
915
|
+
}
|
|
916
|
+
return repo_root;
|
|
917
|
+
}
|
|
918
|
+
|
|
894
919
|
function main(argv?: readonly string[]): number {
|
|
895
920
|
const args = _parseArgs(argv ?? process.argv.slice(2));
|
|
896
|
-
|
|
921
|
+
let repo_root = args.repo_root;
|
|
922
|
+
if (repo_root === process.cwd() && !_isDir(path.join(repo_root, 'agents', 'roadmaps'))) {
|
|
923
|
+
repo_root = _fallback_git_toplevel(repo_root);
|
|
924
|
+
}
|
|
897
925
|
const roadmap_root = path.join(repo_root, 'agents', 'roadmaps');
|
|
898
926
|
const target = path.join(repo_root, 'agents', 'roadmaps-progress.md');
|
|
899
927
|
if (!_isDir(roadmap_root)) {
|
|
@@ -62,8 +62,9 @@ colorblind fallbacks (`--domain chart`), and mobile touch/a11y rules
|
|
|
62
62
|
corpus row; the WCAG 2.2 AA *method* stays this skill's own checklists.
|
|
63
63
|
Widget-pattern selection (dialog, combobox, tabs, toast, table, form
|
|
64
64
|
errors, drag-reorder …) grounds in the ARIA-APG corpus:
|
|
65
|
-
|
|
66
|
-
<skills-root>/accessibility-auditor/data/manifest.json
|
|
65
|
+
`./scripts-run <skills-root>/corpus-grounding/scripts/ground search
|
|
66
|
+
--manifest <skills-root>/accessibility-auditor/data/manifest.json
|
|
67
|
+
"<component>"` →
|
|
67
68
|
pattern, implementation, WCAG refs, anti-patterns
|
|
68
69
|
([`data/aria-patterns.csv`](data/aria-patterns.csv)).
|
|
69
70
|
|
|
@@ -44,7 +44,7 @@ Do NOT use when:
|
|
|
44
44
|
- Standard template: Status, Context, Decision, Consequences,
|
|
45
45
|
Alternatives, References.
|
|
46
46
|
- Regenerated index so readers find the ADR by topic, not by ls.
|
|
47
|
-
- Zero MCP-tool dependency — pure filesystem +
|
|
47
|
+
- Zero MCP-tool dependency — pure filesystem + TypeScript tooling (run via ./scripts-run).
|
|
48
48
|
|
|
49
49
|
## Preconditions
|
|
50
50
|
|
|
@@ -54,7 +54,7 @@ Do NOT use when:
|
|
|
54
54
|
governance ADRs, 3-digit numbering (`ADR-NNN-<slug>.md`).
|
|
55
55
|
- **Per-area** — `docs/adrs/<area>/`: sub-area ADRs, 4-digit
|
|
56
56
|
numbering (`NNNN-<slug>.md`); `<area>` must match the canonical
|
|
57
|
-
inventory in [`scripts/audit_adr_coverage.
|
|
57
|
+
inventory in [`scripts/audit_adr_coverage.ts`](../../../scripts/audit_adr_coverage.ts).
|
|
58
58
|
- The decision is **already made** — ADRs record outcomes, they do
|
|
59
59
|
not run the decision process. For unresolved trade-offs, run the
|
|
60
60
|
council or consult `adversarial-review` first.
|
|
@@ -75,7 +75,7 @@ Ask one question only if both are plausible:
|
|
|
75
75
|
`NNNN-<slug>.md` (4-digit, no `ADR-` prefix).
|
|
76
76
|
3. **Unknown area** — `<area>` not in the inventory: refuse with a
|
|
77
77
|
hint to add the area to `AREAS` in
|
|
78
|
-
`scripts/audit_adr_coverage.
|
|
78
|
+
`scripts/audit_adr_coverage.ts` in the same PR. Do not invent.
|
|
79
79
|
4. **In doubt** → per-area (cheaper to surface, easier to relocate).
|
|
80
80
|
|
|
81
81
|
### 2. Pick the next ADR number
|
|
@@ -139,7 +139,7 @@ phase: <roadmap> · <phase-id>
|
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
Per-area ADRs use a quote-style header (no YAML frontmatter) so
|
|
142
|
-
`audit_adr_coverage.
|
|
142
|
+
`audit_adr_coverage.ts`'s permissive parser can index them. Cite
|
|
143
143
|
the area's contract from the README in
|
|
144
144
|
[`docs/adrs/<area>/README.md`](../../../docs/adrs/).
|
|
145
145
|
|
|
@@ -156,7 +156,9 @@ the area's contract from the README in
|
|
|
156
156
|
|
|
157
157
|
- Flat: `./scripts-run src/scripts/adr/regenerate_index --check` exits 0.
|
|
158
158
|
- Per-area: `./scripts-run src/scripts/audit_adr_coverage --check` exits 0.
|
|
159
|
-
- The project's CI / quality pipeline passes locally
|
|
159
|
+
- The project's CI / quality pipeline passes — locally only when
|
|
160
|
+
`quality.local_auto_run: true`; under the default (`false` / missing)
|
|
161
|
+
remote CI is the gate, no local pipeline run.
|
|
160
162
|
|
|
161
163
|
## Rubric pass (optional, surfacing-only)
|
|
162
164
|
|
|
@@ -181,7 +183,7 @@ completeness check — not on every ADR by default.
|
|
|
181
183
|
- **Per-area numbering is 4-digit** (`NNNN-<slug>.md`); the flat
|
|
182
184
|
surface stays 3-digit (`ADR-NNN-<slug>.md`). Do not mix.
|
|
183
185
|
- **Area inventory is closed** — `<area>` must already exist in
|
|
184
|
-
`AREAS` in `scripts/audit_adr_coverage.
|
|
186
|
+
`AREAS` in `scripts/audit_adr_coverage.ts`. Adding a new area is
|
|
185
187
|
a separate PR with explicit reviewer sign-off.
|
|
186
188
|
- Frontmatter `adr:` (flat) is the canonical number; the filename
|
|
187
189
|
prefix must match. The flat regenerator fails on mismatch.
|
|
@@ -111,7 +111,7 @@ agents/
|
|
|
111
111
|
|
|
112
112
|
`{module_root}` comes from `modules.root_paths` and `{agent_folder}` from
|
|
113
113
|
`modules.agent_folder` in `.agent-project-settings.yml`. Discover via
|
|
114
|
-
`scripts/_lib/agent_settings.
|
|
114
|
+
`scripts/_lib/agent_settings.ts::enumerate_modules()`. Common shapes:
|
|
115
115
|
Laravel `app/Modules/{Module}/agents/`, Symfony `src/Bundle/{Bundle}/agents/`,
|
|
116
116
|
monorepo `packages/{Pkg}/agents/`.
|
|
117
117
|
|
|
@@ -24,7 +24,7 @@ Use when:
|
|
|
24
24
|
- Editing `packages/core/.agent-src.uncondensed/templates/AGENTS.md` (consumer-shipped template).
|
|
25
25
|
- Reviewing a PR that changes either file.
|
|
26
26
|
- Running `/optimize/agents`.
|
|
27
|
-
- A budget meter (`scripts/measure_augment_budget.
|
|
27
|
+
- A budget meter (`scripts/measure_augment_budget.ts`) flags the package-root AGENTS.md as the dominant cost.
|
|
28
28
|
|
|
29
29
|
## Do NOT
|
|
30
30
|
|
|
@@ -49,7 +49,7 @@ Every entry describes **what** the project does or **where** to learn more — n
|
|
|
49
49
|
| `AGENTS.md` (package root) | 3,000 chars | 2,800 chars | ≤ 2,800 |
|
|
50
50
|
| `packages/core/.agent-src.uncondensed/templates/AGENTS.md` (consumer) | 2,500 chars | 2,300 chars | ≤ 2,300 |
|
|
51
51
|
|
|
52
|
-
Char-count is raw file size (`wc -c`), frontmatter included. Enforcement: `scripts/lint_agents_md.
|
|
52
|
+
Char-count is raw file size (`wc -c`), frontmatter included. Enforcement: `scripts/lint_agents_md.ts` (Phase 7), wired into the package's CI pipeline via the `lint-agents-md` task. WARN is a soft signal in CI; FAIL blocks merge.
|
|
53
53
|
|
|
54
54
|
The R2 council originally proposed 2,500 / 2,000 caps. Phase 6.4 empirical refactor demonstrated that the mandatory emergency-triage block (≈ 700 chars) plus operational must-haves (source-of-truth disclaimer, `task` quickstart, six substantive pointers) raise the achievable floor by ≈ 500 chars. The caps above are the post-refactor baseline; the previous numbers stayed unattainable without dropping mandatory content.
|
|
55
55
|
|
|
@@ -123,7 +123,7 @@ THE HOST AGENT IS THE CONVENER, NEVER A REVIEWER.
|
|
|
123
123
|
|
|
124
124
|
If you find yourself wanting to "frame" the artefact for the council,
|
|
125
125
|
stop. Framing is exactly what kills the second-opinion value. Use the
|
|
126
|
-
unbiased system prompts in `scripts/ai_council/prompts.
|
|
126
|
+
unbiased system prompts in `scripts/ai_council/prompts.ts`; do not
|
|
127
127
|
roll your own.
|
|
128
128
|
|
|
129
129
|
The host runs the council and synthesises convergence — it is the
|
|
@@ -148,7 +148,7 @@ in front of every member's system prompt, assembled by
|
|
|
148
148
|
| One paragraph of repo purpose from `README.md` (max 400 chars) | Host-agent framing language ("I think this looks weak", "the user probably wants…") |
|
|
149
149
|
| The user's **original ask** verbatim (the free-form sentence that triggered `/council`) | Anything the host agent generated about the artefact |
|
|
150
150
|
|
|
151
|
-
`detect_project_context()` in `scripts/ai_council/project_context.
|
|
151
|
+
`detect_project_context()` in `scripts/ai_council/project_context.ts`
|
|
152
152
|
reads only the manifest files + root README; missing fields collapse
|
|
153
153
|
to `None` and the preamble silently omits the line. With both
|
|
154
154
|
`project=None` and `original_ask=""`, the preamble degrades to the
|
|
@@ -167,7 +167,7 @@ travel changes.
|
|
|
167
167
|
| `manual` | `ManualClient` | no | `stdout` (prompt block) + `stdin` (user pastes the web-UI reply, terminated by a line containing only `END`) | shipped (Phase 2b) |
|
|
168
168
|
| `cli` | `AnthropicCliClient` / `OpenAICliClient` / `GeminiCliClient` | no (subscription-authed) | local subprocess against the vendor CLI (`claude`, `codex`, `gemini`); auth delegated to the CLI's own session, no API key in this process | shipped (anthropic/openai/gemini · Phase 3) |
|
|
169
169
|
|
|
170
|
-
Resolution lives in `scripts/ai_council/modes.
|
|
170
|
+
Resolution lives in `scripts/ai_council/modes.ts`:
|
|
171
171
|
`resolve_mode(name, invocation_mode, member_settings, global_mode)`
|
|
172
172
|
with precedence **invocation flag > per-member setting > global
|
|
173
173
|
setting > default (`manual`)**. Whitespace-and-case insensitive; empty
|
|
@@ -293,15 +293,15 @@ not a default.
|
|
|
293
293
|
1. **Resolve target.** Identify the artefact mode (`prompt`, `roadmap`,
|
|
294
294
|
`diff`, `files`) and locate the source. Refuse to proceed if the
|
|
295
295
|
target is ambiguous.
|
|
296
|
-
2. **Bundle + redact.** Call `scripts/ai_council/bundler.
|
|
296
|
+
2. **Bundle + redact.** Call `scripts/ai_council/bundler.ts` to produce
|
|
297
297
|
a redacted artefact bundle. If `BundleTooLarge` fires, surface the
|
|
298
298
|
size and ask the user to narrow scope — do NOT truncate silently.
|
|
299
299
|
3. **Confirm spend.** Before any network call, surface members + cost
|
|
300
300
|
ceiling and require an explicit user `1` to proceed. Autonomy
|
|
301
301
|
settings do not override this gate.
|
|
302
302
|
4. **Fan out.** Dispatch the bundle to each enabled council member via
|
|
303
|
-
`scripts/ai_council/orchestrator.
|
|
304
|
-
neutrality preamble from `prompts.
|
|
303
|
+
`scripts/ai_council/orchestrator.ts`. Each member receives the
|
|
304
|
+
neutrality preamble from `prompts.ts` plus the artefact — nothing
|
|
305
305
|
from the host agent's prior reasoning.
|
|
306
306
|
5. **Render results.** Stack each member's response under its own
|
|
307
307
|
provider-attributed heading. Never merge or paraphrase responses
|
|
@@ -412,10 +412,10 @@ matching `road-to-<topic-slug>` roadmap under `agents/roadmaps/`).
|
|
|
412
412
|
that may include council artefacts as part of their evidence trail
|
|
413
413
|
(e.g. `audit-2026-05-14-north-star/` bundles its triggering
|
|
414
414
|
question, raw responses, and synthesis alongside the audit's
|
|
415
|
-
findings). The layout linter (`scripts/check_council_layout.
|
|
415
|
+
findings). The layout linter (`scripts/check_council_layout.ts`)
|
|
416
416
|
skips these directories.
|
|
417
417
|
|
|
418
|
-
`scripts/check_council_layout.
|
|
418
|
+
`scripts/check_council_layout.ts` is the mechanical check for the
|
|
419
419
|
output path convention — wire it into the package's CI pipeline so
|
|
420
420
|
violations break the build.
|
|
421
421
|
|
|
@@ -458,7 +458,7 @@ attributed to the host.
|
|
|
458
458
|
The **Convergence / Divergence** slot in `council:render` output is
|
|
459
459
|
populated with a lens-specific synthesis prompt. The host agent reads
|
|
460
460
|
this prompt and writes the summary in the shape it dictates. The five
|
|
461
|
-
templates live in `scripts/ai_council/prompts.
|
|
461
|
+
templates live in `scripts/ai_council/prompts.ts::_SYNTHESIS_TABLE`
|
|
462
462
|
and are exposed via `synthesis_template(mode)`.
|
|
463
463
|
|
|
464
464
|
**R4 Q4 split** — decision lenses get a structured Karpathy-style
|
|
@@ -546,7 +546,7 @@ Real failure modes seen in the wild:
|
|
|
546
546
|
| Anti-pattern | Why it's wrong | Correct approach |
|
|
547
547
|
|---|---|---|
|
|
548
548
|
| "Pre-warm" the council with the agent's own analysis. | Bias attack — collapses the reviewer to a yes-man. | Send the artefact text only. |
|
|
549
|
-
| Paste the host-agent identity ("I am Augment / Claude Code…") | Identity primes the reviewer's model. | Neutrality preamble in `prompts.
|
|
549
|
+
| Paste the host-agent identity ("I am Augment / Claude Code…") | Identity primes the reviewer's model. | Neutrality preamble in `prompts.ts` already handles this. |
|
|
550
550
|
| Silently truncate a too-large bundle. | Misleads the reviewer into thinking they saw the whole thing. | Bundler raises `BundleTooLarge`; surface and ask for narrower scope. |
|
|
551
551
|
| Reuse the same SDK client across calls without re-loading the key. | Leaks the key in long-lived process state. | Each invocation builds fresh clients from `load_*_key()`. |
|
|
552
552
|
| Auto-spend tokens under `personal.autonomy: on`. | Autonomy ≠ permission to spend money. | Always ask before consultation, even under autonomy. |
|
|
@@ -586,7 +586,7 @@ per-invocation caps from `ai_council.cost_budget`:
|
|
|
586
586
|
`daily_budget_exceeded` instead of `cost_budget_exceeded`.
|
|
587
587
|
|
|
588
588
|
Prices come from `agents/runtime/.agent-prices.md` (gitignored, refreshed weekly).
|
|
589
|
-
The pricing module bootstraps it from `_default_prices.
|
|
589
|
+
The pricing module bootstraps it from `_default_prices.ts` on first
|
|
590
590
|
use and flags it stale when older than the most recent Monday 00:00
|
|
591
591
|
UTC.
|
|
592
592
|
|
|
@@ -937,16 +937,16 @@ fast-path entries (clean session is not an error).
|
|
|
937
937
|
- `/council` command — the user-facing entry point.
|
|
938
938
|
- `subagent-orchestration` skill — internal multi-agent variant (no
|
|
939
939
|
network, no spend, but no diversity of weights either).
|
|
940
|
-
- `scripts/ai_council/prompts.
|
|
940
|
+
- `scripts/ai_council/prompts.ts` — neutrality preamble + per-mode
|
|
941
941
|
system prompts.
|
|
942
|
-
- `scripts/ai_council/advisors.
|
|
942
|
+
- `scripts/ai_council/advisors.ts` — replace-mode planning + persona
|
|
943
943
|
resolution.
|
|
944
|
-
- `scripts/ai_council/bundler.
|
|
944
|
+
- `scripts/ai_council/bundler.ts` — redaction pattern set + size
|
|
945
945
|
guard.
|
|
946
946
|
- `docs/customization.md` § `ai_council.*` — settings reference.
|
|
947
947
|
- `docs/contracts/ai-council-config.md` § advisors — schema + precedence
|
|
948
948
|
contract.
|
|
949
949
|
- `docs/contracts/ai-council-config.md` § Decision-replay artefact —
|
|
950
950
|
Phase 9 audit trail contract + redaction modes.
|
|
951
|
-
- `scripts/ai_council/replay.
|
|
951
|
+
- `scripts/ai_council/replay.ts` — pure projection renderer (no model
|
|
952
952
|
calls).
|
|
@@ -17,7 +17,7 @@ packs:
|
|
|
17
17
|
|
|
18
18
|
> **Grounded corpus (Tier-1 consultation):** pagination, versioning,
|
|
19
19
|
> error shape (RFC 9457), idempotency, async ops, rate limiting, bulk,
|
|
20
|
-
> naming, expansion, webhooks —
|
|
20
|
+
> naming, expansion, webhooks — `./scripts-run <skills-root>/corpus-grounding/scripts/ground search --manifest
|
|
21
21
|
> <skills-root>/api-design/data/manifest.json "<concern>"` proposes the
|
|
22
22
|
> grounded pattern (+ hardening + anti-patterns + RFC link) before
|
|
23
23
|
> designing from memory. Corpus: [`data/api-patterns.csv`](data/api-patterns.csv).
|
|
@@ -14,7 +14,8 @@ packs:
|
|
|
14
14
|
|
|
15
15
|
> **Grounded corpus:** endpoint-shape decisions (pagination, error shape,
|
|
16
16
|
> idempotency, rate limits) ground via the
|
|
17
|
-
> [`api-design`](../api-design/SKILL.md) corpus —
|
|
17
|
+
> [`api-design`](../api-design/SKILL.md) corpus — `./scripts-run
|
|
18
|
+
> <skills-root>/corpus-grounding/scripts/ground search
|
|
18
19
|
> --manifest <skills-root>/api-design/data/manifest.json "<concern>"`.
|
|
19
20
|
|
|
20
21
|
## When to use
|
|
@@ -19,7 +19,7 @@ packs:
|
|
|
19
19
|
> **Grounded corpus (Tier-1 consultation):** the threat corpus's
|
|
20
20
|
> `authorization` + `tenancy` rows (IDOR, mass-assignment escalation,
|
|
21
21
|
> unscoped queries, sealed job context — each with negative tests) come
|
|
22
|
-
> from
|
|
22
|
+
> from `./scripts-run <skills-root>/corpus-grounding/scripts/ground ground --manifest
|
|
23
23
|
> <skills-root>/threat-modeling/data/manifest.json "<check under review>"`.
|
|
24
24
|
> Cite corpus rows in findings; surface the evidence gap when no row.
|
|
25
25
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
model_tier: medium
|
|
3
3
|
name: blade-ui
|
|
4
|
-
description: "Use when the project's frontend stack is Blade — dispatched by `directives/ui/{apply,review,polish}.
|
|
4
|
+
description: "Use when the project's frontend stack is Blade — dispatched by `directives/ui/{apply,review,polish}.ts`. Covers views, components, partials, layouts, and view logic."
|
|
5
5
|
domain: engineering
|
|
6
6
|
workspaces:
|
|
7
7
|
- engineering
|
|
@@ -17,7 +17,8 @@ install:
|
|
|
17
17
|
# blade-ui
|
|
18
18
|
|
|
19
19
|
> **Grounded stack guidance:** pull idiomatic Do/Don't + docs URLs from the
|
|
20
|
-
> adopted stack corpus before improvising —
|
|
20
|
+
> adopted stack corpus before improvising — `./scripts-run
|
|
21
|
+
> <skills-root>/corpus-grounding/scripts/ground search --manifest
|
|
21
22
|
> <skills-root>/design-intelligence/data/manifest.json --stack laravel "<topic>"`
|
|
22
23
|
> (the `laravel` stack file is Blade/UI-scoped, not general Laravel). See
|
|
23
24
|
> [`design-intelligence`](../design-intelligence/SKILL.md).
|
|
@@ -25,23 +26,23 @@ install:
|
|
|
25
26
|
## Positioning — dispatched, not standalone
|
|
26
27
|
|
|
27
28
|
`blade-ui` is the **apply-step executor** for the Blade stack. It is
|
|
28
|
-
invoked by [`directives/ui/apply.
|
|
29
|
-
once the design brief is locked, and revisited by `review.
|
|
30
|
-
`polish.
|
|
29
|
+
invoked by [`directives/ui/apply.ts`](../../templates/scripts/work_engine/directives/ui/apply.ts)
|
|
30
|
+
once the design brief is locked, and revisited by `review.ts` /
|
|
31
|
+
`polish.ts` during the design-review loop. It does **not** own the
|
|
31
32
|
flow, does **not** drive the audit, and does **not** lock the design.
|
|
32
33
|
|
|
33
34
|
| Concern | Owner |
|
|
34
35
|
|---|---|
|
|
35
36
|
| Audit + token inventory (mandatory pre-step) | [`existing-ui-audit`](../existing-ui-audit/SKILL.md) |
|
|
36
|
-
| Design brief (layout / states / microcopy) | [`directives/ui/design.
|
|
37
|
+
| Design brief (layout / states / microcopy) | [`directives/ui/design.ts`](../../templates/scripts/work_engine/directives/ui/design.ts) |
|
|
37
38
|
| Universal design heuristics | [`fe-design`](../fe-design/SKILL.md) |
|
|
38
|
-
| Review + polish loop | [`directives/ui/review.
|
|
39
|
+
| Review + polish loop | [`directives/ui/review.ts`](../../templates/scripts/work_engine/directives/ui/review.ts) + [`polish.ts`](../../templates/scripts/work_engine/directives/ui/polish.ts) |
|
|
39
40
|
|
|
40
41
|
## When to use
|
|
41
42
|
|
|
42
43
|
Cite this skill when:
|
|
43
44
|
|
|
44
|
-
- `state.stack.frontend == "blade"` (or the project is clearly Blade-only without Livewire / Flux) and `directives/ui/apply.
|
|
45
|
+
- `state.stack.frontend == "blade"` (or the project is clearly Blade-only without Livewire / Flux) and `directives/ui/apply.ts` dispatches to this skill
|
|
45
46
|
- Editing or creating Blade views, components, partials, layouts, or forms
|
|
46
47
|
|
|
47
48
|
Do NOT use when:
|
|
@@ -92,8 +93,8 @@ Do NOT use when:
|
|
|
92
93
|
|
|
93
94
|
### Review pass — a11y findings + preview envelope
|
|
94
95
|
|
|
95
|
-
When this skill is dispatched by `directives/ui/review.
|
|
96
|
-
or `directives/ui/polish.
|
|
96
|
+
When this skill is dispatched by `directives/ui/review.ts` (test slot)
|
|
97
|
+
or `directives/ui/polish.ts` (verify slot) — i.e. a review/polish run,
|
|
97
98
|
not the initial apply — it also emits:
|
|
98
99
|
|
|
99
100
|
- `state.ui_review.a11y` — `{violations: [{rule, selector, severity}, ...],
|
|
@@ -124,9 +124,10 @@ An action without a closure criterion is a wish, not a plan.
|
|
|
124
124
|
|
|
125
125
|
Per [`docs/contracts/analysis-memory-loop.md § 2`](../../docs/contracts/analysis-memory-loop.md):
|
|
126
126
|
|
|
127
|
-
1. Run the dedup pre-check —
|
|
128
|
-
`scripts.
|
|
129
|
-
affected paths, decision area)
|
|
127
|
+
1. Run the dedup pre-check — `find_duplicate(...)` from
|
|
128
|
+
`scripts/memory_lookup.ts` over the same key-space (incident type,
|
|
129
|
+
affected paths, decision area); a `memory:lookup` query over the
|
|
130
|
+
same keys is the CLI equivalent.
|
|
130
131
|
2. **Match found** — propose a `frequency` / `supersedes` update to
|
|
131
132
|
the existing entry; do NOT create a new candidate.
|
|
132
133
|
3. **No match** — draft a REDACTED `incident-learnings` candidate to
|
|
@@ -143,10 +144,10 @@ Per [`docs/contracts/analysis-memory-loop.md § 2`](../../docs/contracts/analysi
|
|
|
143
144
|
|
|
144
145
|
4. NEVER auto-promote. The human drives promotion via `/memory
|
|
145
146
|
promote`. If the candidate fails the admission gate
|
|
146
|
-
(`check_memory_proposal.
|
|
147
|
+
(`check_memory_proposal.ts`), surface the gap to the user.
|
|
147
148
|
|
|
148
|
-
If
|
|
149
|
-
explicitly — never silently use stale data.
|
|
149
|
+
If the lookup surfaces stale entries (past `review_after_days`),
|
|
150
|
+
surface them explicitly — never silently use stale data.
|
|
150
151
|
|
|
151
152
|
## Output
|
|
152
153
|
|
|
@@ -181,8 +182,8 @@ The post-mortem produces, in order:
|
|
|
181
182
|
Severity is `near-miss`; the extra two questions apply.
|
|
182
183
|
- **Corrective actions without closure criteria** are non-actionable.
|
|
183
184
|
Always require a specific, testable done condition.
|
|
184
|
-
- **Stale memory entries**
|
|
185
|
-
silently reuse stale data.
|
|
185
|
+
- **Stale memory entries** must be surfaced as stale, never merged
|
|
186
|
+
into the findings. Never silently reuse stale data.
|
|
186
187
|
|
|
187
188
|
## See also
|
|
188
189
|
|
|
@@ -105,10 +105,9 @@ The checks below are stack-agnostic. For framework-specific conventions (PSR-12
|
|
|
105
105
|
|
|
106
106
|
## Before creating a PR
|
|
107
107
|
|
|
108
|
-
1.
|
|
109
|
-
2.
|
|
110
|
-
3.
|
|
111
|
-
4. Self-review the diff: `git diff origin/main..HEAD`.
|
|
108
|
+
1. When `quality.local_auto_run: true`: run the project's quality pipeline (see the stack carve-out for the exact commands — PHP: `quality-tools`) and tests via the project's runner (`make test`, `npm test`, `pytest`, `go test ./...`, or the project's wrapper script). Under the default (`false` / missing): skip both — remote CI on the PR is the gate.
|
|
109
|
+
2. Ensure CI passes on the branch (remote CI is authoritative).
|
|
110
|
+
3. Self-review the diff: `git diff origin/main..HEAD`.
|
|
112
111
|
|
|
113
112
|
## Receiving feedback
|
|
114
113
|
|
|
@@ -45,11 +45,11 @@ Only ask the user if inference fails and the command cannot proceed without the
|
|
|
45
45
|
| `.augment/commands/` | Shared commands (work across projects) |
|
|
46
46
|
| `agents/overrides/commands/` | Project-specific overrides (used instead of original) |
|
|
47
47
|
|
|
48
|
-
## Commands that dispatch to
|
|
48
|
+
## Commands that dispatch to the work engine
|
|
49
49
|
|
|
50
50
|
Most commands are pure markdown procedures — the agent reads the steps
|
|
51
|
-
and executes them. Two commands delegate to the `work_engine`
|
|
52
|
-
|
|
51
|
+
and executes them. Two commands delegate to the `work_engine` engine
|
|
52
|
+
(TypeScript, run via tsx) via the `./agent-config` dispatcher; both share the same
|
|
53
53
|
Option-A loop (read state → run engine → handle exit code → repeat),
|
|
54
54
|
they only differ in the input envelope they build:
|
|
55
55
|
|
|
@@ -59,7 +59,7 @@ Why optional + not yet blocking, + the upgrade trigger:
|
|
|
59
59
|
## Commands ARE Claude skills (projection reality)
|
|
60
60
|
|
|
61
61
|
Every `src/agent-src/commands/{name}.md` projects to
|
|
62
|
-
`.claude/skills/{slug}/SKILL.md` via `scripts/condense.
|
|
62
|
+
`.claude/skills/{slug}/SKILL.md` via `scripts/condense.ts`
|
|
63
63
|
(`generate_claude_commands`). Nested commands flatten with `-`
|
|
64
64
|
(`council/default.md` → `council-default`). Skills + commands share the
|
|
65
65
|
**same `.claude/skills/` namespace** — Claude does not distinguish them.
|
|
@@ -205,7 +205,7 @@ multi-paragraph explanation, extract it into a skill and call it.
|
|
|
205
205
|
### 6. Governance baseline (when introducing a new linter check)
|
|
206
206
|
|
|
207
207
|
**Advisory, reviewer-checked — no CI gate.** When the same PR adds a
|
|
208
|
-
new check to `scripts/skill_linter.
|
|
208
|
+
new check to `scripts/skill_linter.ts` (or strengthens an existing one)
|
|
209
209
|
such that previously-clean commands now warn, the PR body MUST record
|
|
210
210
|
the pre-existing violations on `main` in a Markdown table:
|
|
211
211
|
|
|
@@ -273,7 +273,7 @@ to every command you author.
|
|
|
273
273
|
## Cloud Behavior
|
|
274
274
|
|
|
275
275
|
On cloud surfaces (Claude.ai Web, Skills API) the package's
|
|
276
|
-
`scripts/skill_linter.
|
|
276
|
+
`scripts/skill_linter.ts`, `scripts/condense.ts`, and the `task`
|
|
277
277
|
runner are not available. This skill still applies — but with
|
|
278
278
|
prose-only validation:
|
|
279
279
|
|
|
@@ -29,7 +29,7 @@ Use when:
|
|
|
29
29
|
|
|
30
30
|
- Condense reply, commit message, PR body, ticket summary, or any deliverable written *for* human reader — those are carve-outs in [`telegraph-speak § Carve-outs`](../../rules/telegraph-speak.md) and stay verbatim.
|
|
31
31
|
- Condense path matching sensitive-file denylist (`.env*`, `.netrc`, `credentials*`, `secrets*`, `id_rsa*`, `*.pem|key|p12|pfx|crt|cer|jks`, `.ssh/*`) — script refuses with `SensitivePathError` and so should you.
|
|
32
|
-
- Condense generated file (`dist/agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`) — edit source in `.agent-src.uncondensed/` and regenerate via package's sync + generate-tools scripts (`scripts/condense.sh --sync` + `scripts/condense.
|
|
32
|
+
- Condense generated file (`dist/agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`) — edit source in `.agent-src.uncondensed/` and regenerate via package's sync + generate-tools scripts (`scripts/condense.sh --sync` + `scripts/condense.ts --generate-tools`).
|
|
33
33
|
- Hand-edit condensed memory file in place — run `--decondense` first; next condense pass refuses on body-hash drift (`CondensationRefused`).
|
|
34
34
|
- Commit condensed file without committing matching `.original.md` backup — round-trip breaks otherwise.
|
|
35
35
|
|
|
@@ -99,7 +99,7 @@ CLI exit codes:
|
|
|
99
99
|
- **Denylist false positive** — sensitive-looking filename outside denylist surface (project-specific naming) will still pass `assert_safe()`. Denylist necessary but not sufficient; maintainer responsible for never feeding secrets to condenseor.
|
|
100
100
|
- **Frontmatter ordering with existing keys** — if target already has frontmatter, condenseor preserves existing keys, drops any prior `original_sha256:` / `condensed_at:` entries, and appends new pair. Other agents reading file should treat SHA + timestamp pair as canonical condensation marker, not file size.
|
|
101
101
|
- **Negative savings on pointer-heavy files** — `templates/AGENTS.md` already following Thin-Root (≥ 40 % pointers, ≥ 60-char *why*-clauses) has little prose left to drop; condensation may net near-zero or even add bytes via frontmatter. Run [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) first to maximise pointer share, then measure whether this skill still pays.
|
|
102
|
-
- **Generated-tree drift** — condensing `.agent-src.uncondensed/templates/AGENTS.md` does NOT propagate to `.augment/`, `.claude/`, etc. until package's sync + generate-tools scripts run (`scripts/condense.sh --sync` + `scripts/condense.
|
|
102
|
+
- **Generated-tree drift** — condensing `.agent-src.uncondensed/templates/AGENTS.md` does NOT propagate to `.augment/`, `.claude/`, etc. until package's sync + generate-tools scripts run (`scripts/condense.sh --sync` + `scripts/condense.ts --generate-tools`). Always regenerate after condensing templated file.
|
|
103
103
|
|
|
104
104
|
## Measurement — when to condense
|
|
105
105
|
|
|
@@ -156,7 +156,7 @@ If the context file declares its own `load_context:` (chain reasoning),
|
|
|
156
156
|
use logical names rooted at the source — `contexts/<area>/<file>.md`
|
|
157
157
|
for package material or `agents/settings/contexts/<file>.md` for project-local
|
|
158
158
|
material. The `.agent-src.uncondensed/` prefix is rejected by the
|
|
159
|
-
schema regex and by `scripts/lint_load_context.
|
|
159
|
+
schema regex and by `scripts/lint_load_context.ts`. Body links to
|
|
160
160
|
`docs/guidelines/...` use the verbatim `../../docs/...` relative form.
|
|
161
161
|
Canonical reference: `rule-writing` § 3b and
|
|
162
162
|
`docs/contracts/load-context-schema.md`.
|
|
@@ -108,7 +108,7 @@ human curates), a card is governed: it is a cache of *expensive* remote evidence
|
|
|
108
108
|
**negative facts + pointers** (`trust: durable`); its positive structure is a
|
|
109
109
|
per-line, last-verified **hypothesis** that loads as "Assumed (from card)" and
|
|
110
110
|
must be re-confirmed against the live source before use. Cards pass the
|
|
111
|
-
`check_knowledge_cards.
|
|
111
|
+
`check_knowledge_cards.ts` pointer-CI (size ≤ 150, mandatory authoritative
|
|
112
112
|
pointer, trust tagging, multi-evidence consistency). See
|
|
113
113
|
[`source-discovery`](../source-discovery/SKILL.md) for when a structure is
|
|
114
114
|
card-worthy and [`evidence-discipline`](../../agent-src/contexts/execution/evidence-discipline.md)
|
|
@@ -156,7 +156,7 @@ about the project** over time:
|
|
|
156
156
|
Before deduplicating, run three scans:
|
|
157
157
|
|
|
158
158
|
1. **Legacy identifier scan** — compare both files against the package's
|
|
159
|
-
`FORBIDDEN_IDENTIFIERS` blocklist (see `scripts/check_portability.
|
|
159
|
+
`FORBIDDEN_IDENTIFIERS` blocklist (see `scripts/check_portability.ts`)
|
|
160
160
|
plus any project names from `agents/` module docs that don't match
|
|
161
161
|
the current project.
|
|
162
162
|
2. **Stack coherence scan** — auto-detect the actual stack from
|
|
@@ -36,7 +36,8 @@ frontend-hardcoded axis moved into the manifest. Full license obligations:
|
|
|
36
36
|
- A skill needs **pre-action selection** grounded in curated knowledge
|
|
37
37
|
("which layout pattern / threat class / index strategy applies here").
|
|
38
38
|
- You are authoring a **new domain corpus** — write a manifest + CSVs,
|
|
39
|
-
validate with `ground
|
|
39
|
+
validate with the grounding CLI (`ground validate` via ./scripts-run),
|
|
40
|
+
never fork the engine.
|
|
40
41
|
- You need stack-scoped Do/Don't guidance (`--stack react …`).
|
|
41
42
|
|
|
42
43
|
## Do NOT
|
|
@@ -92,7 +93,8 @@ Stable v1 surface:
|
|
|
92
93
|
search_stack, evaluate_rules, ground, persist_grounding}`,
|
|
93
94
|
`schema_validator.{load_manifest, validate_manifest, resolve_data_path,
|
|
94
95
|
ManifestError, MANIFEST_VERSION, TIERS}`.
|
|
95
|
-
2. **CLI** — `ground
|
|
96
|
+
2. **CLI** — the grounding CLI (`ground {search|ground|validate}` via
|
|
97
|
+
./scripts-run) with the flags shown above.
|
|
96
98
|
3. **Result shape** — search: `{domain|stack, query, file, count, results,
|
|
97
99
|
scores, filtered_from, confidence{label,score}, evidence_gap[]}`;
|
|
98
100
|
ground: `{domain, query, category, rule, rules_evaluation{matched,
|
|
@@ -138,7 +140,7 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
138
140
|
"priority_domain": "style",
|
|
139
141
|
"name_columns": { "style": "Style Category" },
|
|
140
142
|
"plan": { "style": 3, "color": 2 },
|
|
141
|
-
"rules_module": "rules.
|
|
143
|
+
"rules_module": "rules.ts"
|
|
142
144
|
},
|
|
143
145
|
"owner": "package-maintainer",
|
|
144
146
|
"refresh_cadence": "quarterly",
|
|
@@ -151,8 +153,10 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
151
153
|
- `owner`, `refresh_cadence`, `upstream{repo,sha,last_checked}` are
|
|
152
154
|
**required** — provenance discipline per ADR-061 §6; an unowned corpus
|
|
153
155
|
is not merged.
|
|
154
|
-
- `rules_module` (optional
|
|
155
|
-
|
|
156
|
+
- `rules_module` (optional TypeScript escape hatch where JSON rules cap
|
|
157
|
+
out — a module exposing `evaluate(rules, query, context)`; a legacy
|
|
158
|
+
`.py` name in a manifest is remapped to its `.ts`/`.js` twin) must live
|
|
159
|
+
beside the manifest — absolute paths and `..` are refused.
|
|
156
160
|
- Decision rules are surfaced as `matched` **and** `unmatched` — the full
|
|
157
161
|
rule space stays auditable, never a hidden gate.
|
|
158
162
|
|
|
@@ -162,7 +166,7 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
162
166
|
row count; grounding must happen **before** action; "fits in 5 lines →
|
|
163
167
|
it's a rule, not a corpus".
|
|
164
168
|
2. Write `data/manifest.json` + CSVs in your domain skill; run
|
|
165
|
-
`ground
|
|
169
|
+
the grounding CLI (`ground validate` via ./scripts-run).
|
|
166
170
|
3. Name an owner + refresh cadence in the manifest, pin the upstream SHA.
|
|
167
171
|
4. Cite this skill from your domain skill; consult via the CLI (Tier-1
|
|
168
172
|
consultation default — propose grounded options, human confirms).
|
|
@@ -189,9 +193,9 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
189
193
|
under the caller-chosen `DIR`; nothing else writes.
|
|
190
194
|
- **No network, no subprocess, no secrets** — pure stdlib; embeddings /
|
|
191
195
|
remote retrievers are intentionally not implemented (ADR-061 §2).
|
|
192
|
-
- `rules_module` executes manifest-adjacent
|
|
193
|
-
the skill that ships the manifest;
|
|
194
|
-
`resolve_data_path`.
|
|
196
|
+
- `rules_module` executes a manifest-adjacent TypeScript module (dynamic
|
|
197
|
+
`import()`) — same trust domain as the skill that ships the manifest;
|
|
198
|
+
containment enforced by `resolve_data_path`.
|
|
195
199
|
|
|
196
200
|
## See also
|
|
197
201
|
|
|
@@ -201,5 +205,6 @@ Each domain ships `data/manifest.json` beside its CSVs — declaring its
|
|
|
201
205
|
architecture, qualification rubric, fork resolutions.
|
|
202
206
|
- [`docs/contracts/skill-bundled-assets.md`](../../../docs/contracts/skill-bundled-assets.md)
|
|
203
207
|
— how bundled `scripts/` + `data/` reach consumer runtime.
|
|
204
|
-
- Tests: `tests/
|
|
205
|
-
`tests/
|
|
208
|
+
- Tests: `tests/scripts/skills_corpus_grounding_ground.test.ts`,
|
|
209
|
+
`tests/scripts/skills_corpus_grounding_bm25_search.test.ts`,
|
|
210
|
+
`tests/scripts/skills_corpus_grounding_schema_validator.test.ts`.
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
import * as fs from 'node:fs';
|
|
24
24
|
import * as path from 'node:path';
|
|
25
|
-
import { pathToFileURL } from 'node:url';
|
|
25
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
26
26
|
|
|
27
27
|
import {
|
|
28
28
|
PyFloat,
|
|
@@ -524,9 +524,30 @@ function _jsonStr(s: string): string {
|
|
|
524
524
|
return `${out}"`;
|
|
525
525
|
}
|
|
526
526
|
|
|
527
|
+
function _isCliEntry(): boolean {
|
|
528
|
+
if (process.argv[1] === undefined) {
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
531
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
532
|
+
if (import.meta.url === argvUrl) {
|
|
533
|
+
return true;
|
|
534
|
+
}
|
|
535
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
536
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
537
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
538
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
539
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
540
|
+
try {
|
|
541
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
542
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
543
|
+
return here === argv;
|
|
544
|
+
} catch {
|
|
545
|
+
return false;
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
|
|
527
549
|
const _isMain =
|
|
528
|
-
|
|
529
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
550
|
+
_isCliEntry();
|
|
530
551
|
if (_isMain) {
|
|
531
552
|
main()
|
|
532
553
|
.then((code) => {
|
|
@@ -27,7 +27,8 @@ Do NOT use when:
|
|
|
27
27
|
2. **Pick the surface** — Use the decision tables below to choose Grafana, app dashboard, or embed; document audience and refresh cadence.
|
|
28
28
|
3. **Draft the layout** — Sketch panels, choose visualization per signal (RED / USE / Golden Signals), define filters and thresholds.
|
|
29
29
|
**Ground the chart-type choice** in the adopted data-viz corpus instead
|
|
30
|
-
of memory:
|
|
30
|
+
of memory: `./scripts-run <skills-root>/corpus-grounding/scripts/ground
|
|
31
|
+
search --manifest
|
|
31
32
|
<skills-root>/design-intelligence/data/manifest.json --domain chart
|
|
32
33
|
"<data shape>"` returns the best chart type, when-NOT-to-use, data-volume
|
|
33
34
|
threshold, a11y grade + colorblind fallback, and a library
|
|
@@ -15,7 +15,8 @@ packs:
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
> **Grounded corpus (Tier-1 consultation):** symptom → index/strategy
|
|
18
|
-
> decisions come grounded —
|
|
18
|
+
> decisions come grounded — `./scripts-run
|
|
19
|
+
> <skills-root>/corpus-grounding/scripts/ground search --manifest
|
|
19
20
|
> <skills-root>/database/data/manifest.json "<symptom>"` returns root
|
|
20
21
|
> cause, strategy, good-code sketch, anti-pattern, and the verification
|
|
21
22
|
> probe (EXPLAIN expectation). Corpus:
|