@event4u/agent-config 6.0.0 → 6.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/.claude-plugin/marketplace.json +5 -5
- package/CHANGELOG.md +167 -440
- package/README.md +3 -3
- package/dist/agent-src/commands/agent-handoff.md +5 -4
- package/dist/agent-src/commands/agent-status.md +1 -0
- package/dist/agent-src/commands/agents/audit.md +1 -0
- package/dist/agent-src/commands/agents/init.md +3 -0
- package/dist/agent-src/commands/agents/optimize.md +1 -0
- package/dist/agent-src/commands/agents/user/accept.md +1 -0
- package/dist/agent-src/commands/agents/user/init.md +1 -0
- package/dist/agent-src/commands/agents/user/review.md +1 -0
- package/dist/agent-src/commands/agents/user/show.md +1 -0
- package/dist/agent-src/commands/agents/user/update.md +1 -0
- package/dist/agent-src/commands/agents/user.md +1 -0
- package/dist/agent-src/commands/agents.md +1 -0
- package/dist/agent-src/commands/analytics/prune.md +3 -2
- package/dist/agent-src/commands/analytics/show.md +3 -2
- package/dist/agent-src/commands/analytics.md +3 -2
- package/dist/agent-src/commands/analyze-reference-repo.md +1 -0
- package/dist/agent-src/commands/bug-fix.md +1 -0
- package/dist/agent-src/commands/bug-investigate.md +1 -0
- package/dist/agent-src/commands/challenge-me/vision.md +3 -2
- package/dist/agent-src/commands/challenge-me/with-docs.md +3 -2
- package/dist/agent-src/commands/challenge-me.md +3 -2
- package/dist/agent-src/commands/chat-history/import.md +9 -9
- package/dist/agent-src/commands/chat-history.md +32 -30
- package/dist/agent-src/commands/check-current-md.md +1 -0
- package/dist/agent-src/commands/commit/in-chunks.md +1 -0
- package/dist/agent-src/commands/commit.md +1 -0
- package/dist/agent-src/commands/condense.md +1 -0
- package/dist/agent-src/commands/context/create.md +1 -0
- package/dist/agent-src/commands/context/refactor.md +1 -0
- package/dist/agent-src/commands/context.md +1 -0
- package/dist/agent-src/commands/cost-report.md +5 -4
- package/dist/agent-src/commands/council/analysis.md +3 -2
- package/dist/agent-src/commands/council/debate.md +5 -4
- package/dist/agent-src/commands/council/default.md +3 -2
- package/dist/agent-src/commands/council/design.md +3 -2
- package/dist/agent-src/commands/council/optimize.md +3 -2
- package/dist/agent-src/commands/council/pr.md +3 -2
- package/dist/agent-src/commands/council.md +4 -3
- package/dist/agent-src/commands/e2e-heal.md +1 -0
- package/dist/agent-src/commands/e2e-plan.md +1 -0
- package/dist/agent-src/commands/estimate-ticket.md +1 -0
- package/dist/agent-src/commands/feature/dev.md +1 -0
- package/dist/agent-src/commands/feature/explore.md +1 -0
- package/dist/agent-src/commands/feature/plan.md +6 -6
- package/dist/agent-src/commands/feature/refactor.md +1 -0
- package/dist/agent-src/commands/feature/roadmap.md +1 -0
- package/dist/agent-src/commands/feature.md +1 -0
- package/dist/agent-src/commands/fix/ci.md +1 -0
- package/dist/agent-src/commands/fix/portability.md +1 -0
- package/dist/agent-src/commands/fix/pr-comments.md +147 -15
- package/dist/agent-src/commands/fix/refs.md +1 -0
- package/dist/agent-src/commands/fix/seeder.md +1 -0
- package/dist/agent-src/commands/fix.md +8 -8
- package/dist/agent-src/commands/ghostwriter/delete.md +1 -0
- package/dist/agent-src/commands/ghostwriter/fetch.md +1 -0
- package/dist/agent-src/commands/ghostwriter/list.md +1 -0
- package/dist/agent-src/commands/ghostwriter/show.md +1 -0
- package/dist/agent-src/commands/ghostwriter/write.md +1 -0
- package/dist/agent-src/commands/ghostwriter.md +1 -0
- package/dist/agent-src/commands/grill-me.md +3 -2
- package/dist/agent-src/commands/image/analyse.md +1 -0
- package/dist/agent-src/commands/image/create.md +1 -0
- package/dist/agent-src/commands/image/verify.md +1 -0
- package/dist/agent-src/commands/image.md +1 -0
- package/dist/agent-src/commands/implement-ticket.md +1 -0
- package/dist/agent-src/commands/jira-ticket.md +1 -0
- package/dist/agent-src/commands/judge/on-diff.md +1 -0
- package/dist/agent-src/commands/judge/solo.md +1 -0
- package/dist/agent-src/commands/judge/steps.md +1 -0
- package/dist/agent-src/commands/judge.md +1 -0
- package/dist/agent-src/commands/knowledge/cross-repo.md +1 -0
- package/dist/agent-src/commands/knowledge/forget.md +1 -0
- package/dist/agent-src/commands/knowledge/ingest.md +1 -0
- package/dist/agent-src/commands/knowledge/list.md +1 -0
- package/dist/agent-src/commands/knowledge.md +1 -0
- package/dist/agent-src/commands/memory/add.md +8 -6
- package/dist/agent-src/commands/memory/learn-low-impact.md +3 -2
- package/dist/agent-src/commands/memory/load.md +7 -7
- package/dist/agent-src/commands/memory/mine-session.md +39 -12
- package/dist/agent-src/commands/memory/promote.md +3 -2
- package/dist/agent-src/commands/memory/propose.md +7 -6
- package/dist/agent-src/commands/memory.md +3 -2
- package/dist/agent-src/commands/mode.md +1 -0
- package/dist/agent-src/commands/module/create.md +1 -0
- package/dist/agent-src/commands/module/explore.md +1 -0
- package/dist/agent-src/commands/module.md +1 -0
- package/dist/agent-src/commands/optimize/agents-dir.md +1 -0
- package/dist/agent-src/commands/optimize/augmentignore.md +1 -0
- package/dist/agent-src/commands/optimize/rtk.md +1 -0
- package/dist/agent-src/commands/optimize/skills.md +1 -0
- package/dist/agent-src/commands/optimize-prompt.md +1 -0
- package/dist/agent-src/commands/optimize.md +1 -0
- package/dist/agent-src/commands/orchestrate.md +1 -0
- package/dist/agent-src/commands/override/create.md +1 -0
- package/dist/agent-src/commands/override/manage.md +1 -0
- package/dist/agent-src/commands/override.md +1 -0
- package/dist/agent-src/commands/package-reset.md +1 -0
- package/dist/agent-src/commands/package-test.md +1 -0
- package/dist/agent-src/commands/post-as/ghostwriter.md +1 -0
- package/dist/agent-src/commands/post-as/me.md +1 -0
- package/dist/agent-src/commands/post-as.md +1 -0
- package/dist/agent-src/commands/pr/create/description-only.md +1 -0
- package/dist/agent-src/commands/pr/create.md +25 -0
- package/dist/agent-src/commands/prediction-pool.md +1 -0
- package/dist/agent-src/commands/prepare-for-review.md +1 -0
- package/dist/agent-src/commands/profile/activate.md +1 -0
- package/dist/agent-src/commands/profile/deactivate.md +1 -0
- package/dist/agent-src/commands/profile/show.md +1 -0
- package/dist/agent-src/commands/profile.md +1 -0
- package/dist/agent-src/commands/project-analyze.md +1 -0
- package/dist/agent-src/commands/project-health.md +1 -0
- package/dist/agent-src/commands/quality-fix.md +1 -0
- package/dist/agent-src/commands/refine-ticket.md +1 -0
- package/dist/agent-src/commands/research/deep.md +1 -0
- package/dist/agent-src/commands/research/report.md +1 -0
- package/dist/agent-src/commands/research.md +1 -0
- package/dist/agent-src/commands/review-changes.md +1 -0
- package/dist/agent-src/commands/review-routing.md +1 -0
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -0
- package/dist/agent-src/commands/roadmap/create.md +1 -0
- package/dist/agent-src/commands/roadmap/process-full.md +1 -0
- package/dist/agent-src/commands/roadmap/process-phase.md +1 -0
- package/dist/agent-src/commands/roadmap/process-step.md +1 -0
- package/dist/agent-src/commands/roadmap.md +1 -0
- package/dist/agent-src/commands/rule-compliance-audit.md +1 -0
- package/dist/agent-src/commands/security-audit-config.md +84 -0
- package/dist/agent-src/commands/set-cost-profile.md +1 -0
- package/dist/agent-src/commands/skill/preview.md +1 -0
- package/dist/agent-src/commands/skill.md +1 -0
- package/dist/agent-src/commands/skills/discover.md +1 -0
- package/dist/agent-src/commands/skills.md +1 -0
- package/dist/agent-src/commands/sync-agent-settings.md +1 -0
- package/dist/agent-src/commands/sync-gitignore/fix.md +1 -0
- package/dist/agent-src/commands/sync-gitignore.md +1 -0
- package/dist/agent-src/commands/tests/create.md +1 -0
- package/dist/agent-src/commands/tests/execute.md +1 -0
- package/dist/agent-src/commands/tests.md +1 -0
- package/dist/agent-src/commands/threat-model.md +1 -0
- package/dist/agent-src/commands/update-form-request-messages.md +1 -0
- package/dist/agent-src/commands/upstream-contribute.md +1 -0
- package/dist/agent-src/commands/video/from-script.md +1 -0
- package/dist/agent-src/commands/video/from-song.md +1 -0
- package/dist/agent-src/commands/video/scene.md +1 -0
- package/dist/agent-src/commands/video/stitch.md +1 -0
- package/dist/agent-src/commands/video/storyboard.md +1 -0
- package/dist/agent-src/commands/video.md +1 -0
- package/dist/agent-src/commands/work.md +1 -0
- package/dist/agent-src/contexts/augment-infrastructure.md +1 -1
- 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/communication/rules-auto/think-before-action-mechanics.md +6 -6
- package/dist/agent-src/contexts/contracts/consumer-agents-md-guide.md +2 -2
- package/dist/agent-src/contexts/execution/rdp-gate.md +75 -0
- package/dist/agent-src/contexts/subagent-configuration.md +1 -0
- package/dist/agent-src/personas/advisors/contrarian.md +1 -1
- package/dist/agent-src/personas/advisors/executor.md +1 -1
- package/dist/agent-src/personas/advisors/expansionist.md +1 -1
- package/dist/agent-src/personas/advisors/first-principles.md +1 -1
- package/dist/agent-src/personas/advisors/outsider.md +1 -1
- package/dist/agent-src/rules/autonomous-execution.md +12 -0
- package/dist/agent-src/rules/external-reference-deep-dive.md +1 -1
- package/dist/agent-src/rules/git-history-discipline.md +47 -1
- package/dist/agent-src/rules/improve-before-implement.md +12 -0
- package/dist/agent-src/rules/lethal-trifecta-guard.md +80 -0
- package/dist/agent-src/rules/no-pr-progress-comments.md +3 -4
- package/dist/agent-src/rules/notes-first-reasoning.md +71 -0
- package/dist/agent-src/rules/roadmap-progress-sync.md +48 -31
- package/dist/agent-src/rules/security-sensitive-stop.md +14 -1
- package/dist/agent-src/rules/source-confidentiality.md +97 -0
- package/dist/agent-src/rules/think-before-action.md +9 -1
- package/dist/agent-src/rules/untrusted-input-defense.md +76 -0
- package/dist/agent-src/scripts/archive_completed_roadmaps.py +171 -0
- package/dist/agent-src/skills/adversarial-review/SKILL.md +14 -0
- package/dist/agent-src/skills/agent-security-review/SKILL.md +113 -0
- package/dist/agent-src/skills/agent-security-review/evals/triggers.json +51 -0
- package/dist/agent-src/skills/ai-council/SKILL.md +3 -3
- package/dist/agent-src/skills/async-python-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +12 -11
- package/dist/agent-src/skills/command-routing/SKILL.md +1 -1
- package/dist/agent-src/skills/complexity-first-planning/SKILL.md +96 -0
- package/dist/agent-src/skills/complexity-first-planning/evals/triggers.json +16 -0
- package/dist/agent-src/skills/copilot-config/SKILL.md +3 -4
- package/dist/agent-src/skills/defense-in-depth/SKILL.md +1 -1
- package/dist/agent-src/skills/developer-like-execution/SKILL.md +5 -4
- package/dist/agent-src/skills/error-handling-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +2 -2
- package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +63 -17
- package/dist/agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/readme-writing-package/SKILL.md +1 -1
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +119 -0
- package/dist/agent-src/skills/reasoning-orchestrator/evals/triggers.json +16 -0
- package/dist/agent-src/skills/receiving-code-review/SKILL.md +6 -6
- package/dist/agent-src/skills/refine-prompt/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
- package/dist/agent-src/skills/secrets-management/SKILL.md +1 -1
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +10 -3
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +1 -1
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/templates/agents/.gitattributes.fragment +0 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +4 -4
- package/dist/agent-src/templates/scripts/check_memory.py +1 -2
- package/dist/agent-src/templates/scripts/check_memory_proposal.py +1 -1
- package/dist/agent-src/templates/scripts/memory_lookup.py +148 -289
- package/dist/agent-src/templates/scripts/memory_report.py +132 -2
- package/dist/agent-src/templates/scripts/memory_signal.py +7 -9
- package/dist/agent-src/templates/scripts/memory_status.py +25 -206
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/memory.py +6 -6
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/_passthrough.py +3 -3
- package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.py +0 -1
- package/dist/cli/agent-config.js +31 -300
- package/dist/cli/agent-config.js.map +1 -1
- package/dist/cli/commands/commands.js +10 -5
- package/dist/cli/commands/commands.js.map +1 -1
- package/dist/cli/discovery/loadManifest.js.map +1 -1
- package/dist/cli/main.js +309 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +645 -342
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +8 -5
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +149 -37
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +61 -36
- package/dist/mcp/registry-manifest.json +4 -4
- package/dist/router.json +1 -1
- package/dist/server/routes/wizard.js +4 -3
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/schemas/settings.js +18 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/MIGRATION.md +1 -1
- package/docs/adrs/cost/0001-hard-stop-hook.md +5 -5
- package/docs/adrs/memory/0001-consumer-side-snapshot.md +15 -7
- package/docs/adrs/memory/README.md +6 -5
- package/docs/adrs/router/0001-three-tier-routing.md +2 -2
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +2 -2
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +5 -5
- package/docs/adrs/telegraph/0001-default-off-until-bench.md +3 -3
- package/docs/architecture.md +9 -9
- package/docs/archive/CHANGELOG-pre-2.2.0.md +30 -30
- package/docs/archive/CHANGELOG-pre-2.25.0.md +1 -1
- package/docs/archive/CHANGELOG-pre-4.5.0.md +1 -1
- package/docs/archive/CHANGELOG-pre-6.0.0.md +473 -0
- package/docs/benchmark.md +54 -53
- package/docs/benchmarks.md +2 -2
- package/docs/case-studies/{frontend-design-vs-ui-ux-pro-max.md → frontend-design-positioning.md} +4 -4
- package/docs/catalog.md +20 -13
- package/docs/command-flows.md +90 -92
- package/docs/contracts/adr-layout.md +2 -3
- package/docs/contracts/adr-level-6-productization.md +1 -1
- package/docs/contracts/ai-council-config.md +42 -7
- package/docs/contracts/command-clusters.md +1 -1
- package/docs/contracts/cost-enforcement.md +1 -1
- package/docs/contracts/cost-summary-schema.md +1 -1
- package/docs/contracts/daily-workspace.md +1 -0
- package/docs/contracts/discovery-manifest.schema.json +4 -2
- package/docs/contracts/explain-modes.md +1 -1
- package/docs/contracts/implement-ticket-flow.md +6 -7
- package/docs/contracts/mcp-tool-inventory.md +10 -10
- package/docs/contracts/measurement-baseline.md +1 -1
- package/docs/contracts/memory-visibility-v1.md +1 -5
- package/docs/contracts/namespace.md +1 -1
- package/docs/contracts/persona-schema.md +1 -1
- package/docs/contracts/rule-interactions.md +1 -1
- package/docs/contracts/smoke-contracts.md +1 -1
- package/docs/contracts/universal-skills.md +0 -1
- package/docs/contracts/workspace-boundary.md +84 -0
- package/docs/customization.md +3 -3
- package/docs/decisions/ADR-009-event4u-namespace.md +1 -1
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +1 -1
- package/docs/decisions/ADR-026-explain-mode-translation.md +1 -1
- package/docs/decisions/ADR-088-no-external-runtime-federation.md +26 -27
- package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +95 -0
- package/docs/decisions/ADR-091-split-meta-capability-packs.md +113 -0
- package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +93 -0
- package/docs/decisions/ADR-093-ai-council-config-user-global.md +111 -0
- package/docs/decisions/ADR-094-agent-memory-layer-removal.md +94 -0
- package/docs/decisions/ADR-095-workspace-boundary-contract.md +108 -0
- package/docs/decisions/INDEX.md +6 -0
- package/docs/development.md +5 -7
- package/docs/getting-started.md +4 -4
- package/docs/guidelines/agent-infra/5w2h-analysis.md +1 -1
- package/docs/guidelines/agent-infra/comparison-matrix.md +1 -1
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
- package/docs/guidelines/agent-infra/critical-thinking.md +1 -1
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +1 -5
- package/docs/guidelines/agent-infra/first-principles.md +1 -1
- package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +164 -0
- package/docs/guidelines/agent-infra/inversion-thinking.md +1 -1
- package/docs/guidelines/agent-infra/ios-simulator-guide.md +9 -14
- package/docs/guidelines/agent-infra/mcp-request-signing.md +19 -22
- package/docs/guidelines/agent-infra/memory-access.md +25 -31
- package/docs/guidelines/agent-infra/mental-models.md +1 -1
- package/docs/guidelines/agent-infra/model-recommendation.md +29 -0
- package/docs/guidelines/agent-infra/scqa-framework.md +3 -3
- package/docs/guidelines/agent-infra/security-lint-containment.md +81 -0
- package/docs/guidelines/agent-infra/six-hats.md +1 -1
- package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
- package/docs/guidelines/agent-infra/untrusted-input-spotlighting.md +72 -0
- package/docs/installation.md +1 -1
- package/docs/mcp.md +2 -2
- package/docs/parity/{bench-ruflo.json → bench-external.json} +10 -10
- package/docs/parity/{ruflo.md → external-runtime.md} +9 -9
- package/docs/quality.md +3 -3
- package/docs/safety.md +3 -3
- package/docs/skills-catalog.md +4 -1
- package/llms.txt +3 -0
- package/package.json +1 -1
- package/src/config/agent-settings.template.yml +65 -3
- package/src/config/discovery/packs.yml +29 -0
- package/src/config/discovery/workspaces.yml +3 -1
- package/src/config/gitignore-block.txt +6 -0
- package/src/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
- package/src/scripts/_cli/cmd_doctor.py +99 -13
- package/src/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/src/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
- package/src/scripts/_lib/bench_ab_scoring_v2.py +227 -0
- package/src/scripts/_lib/global_deploy_inventory.py +39 -9
- package/src/scripts/_lib/link_crypto.py +206 -0
- package/src/scripts/_lib/security_lint.py +228 -0
- package/src/scripts/ai_council/clients.py +2 -2
- package/src/scripts/ai_council/config.py +55 -0
- package/src/scripts/audit_adr_coverage.py +0 -2
- package/src/scripts/audit_command_surface.py +18 -5
- package/src/scripts/audit_mcp_tools.py +2 -2
- package/src/scripts/audit_skill_descriptions.py +2 -2
- package/src/scripts/bench_ab_clone.py +62 -12
- package/src/scripts/bench_ab_task_runner.py +475 -30
- package/src/scripts/bench_ab_v2_run.py +247 -0
- package/src/scripts/bench_ab_v2_stats.py +347 -0
- package/src/scripts/bench_run.py +1 -1
- package/src/scripts/build_discovery_manifest.py +10 -0
- package/src/scripts/check_bite_sized_granularity.py +1 -2
- package/src/scripts/check_memory.py +49 -63
- package/src/scripts/check_memory_proposal.py +1 -1
- package/src/scripts/check_no_external_sources.py +101 -0
- package/src/scripts/check_references.py +2 -0
- package/src/scripts/cost_by_conversation.py +1 -1
- package/src/scripts/council_cli.py +28 -14
- package/src/scripts/external_sources_denylist.json +91 -0
- package/src/scripts/hook_manifest.yaml +14 -6
- package/src/scripts/injection_scan_hook.py +145 -0
- package/src/scripts/install-hooks.sh +11 -0
- package/src/scripts/install.py +88 -13
- package/src/scripts/lint_agent_security.py +112 -0
- package/src/scripts/lint_bench_ab.py +5 -4
- package/src/scripts/lint_command_tiers.py +63 -22
- package/src/scripts/lint_discovery_vocabulary.py +2 -0
- package/src/scripts/lint_empty_roadmaps.py +80 -0
- package/src/scripts/lint_hidden_unicode.py +132 -0
- package/src/scripts/lint_instruction_smuggling.py +107 -0
- package/src/scripts/lint_marketplace.py +1 -1
- package/src/scripts/lint_mcp_config_security.py +124 -0
- package/src/scripts/lint_skill_frontmatter_safety.py +144 -0
- package/src/scripts/lint_workspace_boundary.py +122 -0
- package/src/scripts/mcp_server/consumer_tool_catalog.json +2 -3
- package/src/scripts/mcp_server/tools.py +8 -32
- package/src/scripts/memory_lookup.py +27 -296
- package/src/scripts/memory_report.py +1 -23
- package/src/scripts/memory_signal.py +6 -53
- package/src/scripts/memory_status.py +25 -206
- package/src/scripts/mine_session.py +118 -41
- package/src/scripts/pack_dependency_allowlist.json +2 -2
- package/src/scripts/render_benchmark_md.py +141 -52
- package/src/scripts/schemas/command.schema.json +6 -1
- package/src/scripts/security_audit_config.py +153 -0
- package/dist/agent-src/commands/chat-history/learn.md +0 -184
- package/dist/agent-src/commands/chat-history/show.md +0 -113
- package/dist/agent-src/commands/fix/pr-bot-comments.md +0 -157
- package/dist/agent-src/commands/fix/pr-developer-comments.md +0 -163
- package/dist/agent-src/templates/agents/memory/architecture-decisions.example.yml +0 -95
- package/docs/contracts/agent-memory-contract.md +0 -159
package/dist/cli/main.js
ADDED
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `agent-config` — TS shell entry point.
|
|
3
|
+
*
|
|
4
|
+
* Phase 2 behaviour:
|
|
5
|
+
* - Parses `--version`, `--help`, `versions`, `doctor-shell` natively.
|
|
6
|
+
* - Forwards every other registered subcommand to the Bash dispatcher
|
|
7
|
+
* via `delegateToBash` (preserves all existing dispatch logic).
|
|
8
|
+
* - Unknown subcommands also forward (the Bash dispatcher prints
|
|
9
|
+
* the canonical "unknown command" error) so the TS shell never
|
|
10
|
+
* drifts from the Bash subcommand surface.
|
|
11
|
+
*
|
|
12
|
+
* Phase 5 will reverse the delegation direction.
|
|
13
|
+
*/
|
|
14
|
+
import { readFileSync } from 'node:fs';
|
|
15
|
+
import { Command } from 'commander';
|
|
16
|
+
import { PACKAGE_JSON } from './paths.js';
|
|
17
|
+
import { delegateToBash } from './bash/runBash.js';
|
|
18
|
+
import { runVersions } from './commands/versions.js';
|
|
19
|
+
import { runDoctorShell } from './commands/doctorShell.js';
|
|
20
|
+
import { runUiServe } from './commands/uiServe.js';
|
|
21
|
+
import { shouldInitLaunchGui, buildInitGuiOptions } from './initRouting.js';
|
|
22
|
+
import { runSettings } from './commands/settings.js';
|
|
23
|
+
import { runMcpServer } from './commands/mcpServer.js';
|
|
24
|
+
import { runWorkspacesLs } from './commands/workspaces.js';
|
|
25
|
+
import { runPacksLs } from './commands/packs.js';
|
|
26
|
+
import { runCommandsLs, runCommandsExplain, looksLikeCommandTarget } from './commands/commands.js';
|
|
27
|
+
import { logger } from './log/logger.js';
|
|
28
|
+
import { REGISTRY } from './registry.js';
|
|
29
|
+
function readVersion() {
|
|
30
|
+
const pkg = JSON.parse(readFileSync(PACKAGE_JSON, 'utf8'));
|
|
31
|
+
return typeof pkg.version === 'string' ? pkg.version : '0.0.0';
|
|
32
|
+
}
|
|
33
|
+
function buildHelp() {
|
|
34
|
+
const lines = [
|
|
35
|
+
'agent-config — event4u/agent-config CLI (TS shell)',
|
|
36
|
+
'',
|
|
37
|
+
'Usage:',
|
|
38
|
+
' agent-config <command> [options]',
|
|
39
|
+
' agent-config --help',
|
|
40
|
+
' agent-config --version',
|
|
41
|
+
'',
|
|
42
|
+
'Native commands (TS shell):',
|
|
43
|
+
];
|
|
44
|
+
for (const entry of REGISTRY) {
|
|
45
|
+
if (entry.disposition !== 'native')
|
|
46
|
+
continue;
|
|
47
|
+
const synopsis = entry.synopsis ?? '';
|
|
48
|
+
lines.push(` ${entry.name.padEnd(22)} ${synopsis}`);
|
|
49
|
+
}
|
|
50
|
+
lines.push('');
|
|
51
|
+
lines.push('All other subcommands delegate to the Bash dispatcher.');
|
|
52
|
+
lines.push('Run `agent-config help --tier=all` for the full Bash-side surface.');
|
|
53
|
+
return lines.join('\n');
|
|
54
|
+
}
|
|
55
|
+
async function main(argv) {
|
|
56
|
+
const program = new Command();
|
|
57
|
+
program
|
|
58
|
+
.name('agent-config')
|
|
59
|
+
.description('event4u/agent-config CLI shell')
|
|
60
|
+
.version(readVersion(), '-V, --version', 'Print package version')
|
|
61
|
+
.helpOption('-h, --help', 'Show this help')
|
|
62
|
+
.allowUnknownOption(true)
|
|
63
|
+
.allowExcessArguments(true);
|
|
64
|
+
program
|
|
65
|
+
.command('versions')
|
|
66
|
+
.description('List @event4u/agent-config versions')
|
|
67
|
+
.option('--offline', 'Skip npm registry probe')
|
|
68
|
+
.option('--json', 'Emit machine-readable JSON')
|
|
69
|
+
.option('--limit <n>', 'Show at most N recent versions', (v) => Number.parseInt(v, 10), 10)
|
|
70
|
+
.action(async (opts) => {
|
|
71
|
+
const code = await runVersions(opts);
|
|
72
|
+
process.exit(code);
|
|
73
|
+
});
|
|
74
|
+
program
|
|
75
|
+
.command('doctor-shell')
|
|
76
|
+
.description('Probe the TS-shell environment')
|
|
77
|
+
.action(() => {
|
|
78
|
+
const code = runDoctorShell();
|
|
79
|
+
process.exit(code);
|
|
80
|
+
});
|
|
81
|
+
program
|
|
82
|
+
.command('mcp-server')
|
|
83
|
+
.description('Run the turnkey read-only stdio MCP server (no repo clone; ADR-085)')
|
|
84
|
+
.action(async () => {
|
|
85
|
+
// No hard process.exit() — that truncates buffered stdout writes
|
|
86
|
+
// (the JSON-RPC responses) on a pipe. Set the code and let the
|
|
87
|
+
// process exit naturally once stdin is at EOF and stdout drained.
|
|
88
|
+
process.exitCode = await runMcpServer();
|
|
89
|
+
});
|
|
90
|
+
program
|
|
91
|
+
.command('ui:serve')
|
|
92
|
+
.description('Start the local UI server (127.0.0.1, auto-picked port)')
|
|
93
|
+
.option('--port <n>', 'Override the auto-picked port', (v) => Number.parseInt(v, 10))
|
|
94
|
+
.option('--no-open', 'Do not launch the browser')
|
|
95
|
+
.option('--ui-dist <path>', 'Override the dist/ui directory')
|
|
96
|
+
.option('--allow-headless', 'Start even when SSH/no-DISPLAY is detected')
|
|
97
|
+
.option('--project-root <path>', 'Override the project root used to resolve .agent-config/')
|
|
98
|
+
.option('--dry-run', 'Boot with all writes suppressed (preview-only — no .agent-settings.yml / .agent-user.md / wizard-state.json mutations)')
|
|
99
|
+
.action(async (opts) => {
|
|
100
|
+
const code = await runUiServe(opts);
|
|
101
|
+
process.exit(code);
|
|
102
|
+
});
|
|
103
|
+
program
|
|
104
|
+
.command('settings')
|
|
105
|
+
.description('Open the local Settings GUI (boots the UI server and lands on #/settings)')
|
|
106
|
+
.option('--port <n>', 'Override the auto-picked port', (v) => Number.parseInt(v, 10))
|
|
107
|
+
.option('--no-open', 'Do not launch the browser')
|
|
108
|
+
.option('--ui-dist <path>', 'Override the dist/ui directory')
|
|
109
|
+
.option('--allow-headless', 'Start even when SSH/no-DISPLAY is detected')
|
|
110
|
+
.option('--project-root <path>', 'Override the project root used to resolve .agent-config/')
|
|
111
|
+
.option('--dry-run', 'Boot with all writes suppressed (preview-only)')
|
|
112
|
+
.action(async (opts) => {
|
|
113
|
+
const code = await runSettings(opts);
|
|
114
|
+
process.exit(code);
|
|
115
|
+
});
|
|
116
|
+
// `install` — install-flow alias for `ui:serve` that lands on Step 1
|
|
117
|
+
// (AI tools, index 0) of the extended 13-step wizard. road-to-unified-setup
|
|
118
|
+
// § B0 — same Fastify server, same bundle, only the initial step
|
|
119
|
+
// differs from `setup`.
|
|
120
|
+
program
|
|
121
|
+
.command('install')
|
|
122
|
+
.description('Open the install wizard (boots the UI server and lands on Step 1 / AI tools)')
|
|
123
|
+
.option('--port <n>', 'Override the auto-picked port', (v) => Number.parseInt(v, 10))
|
|
124
|
+
.option('--no-open', 'Do not launch the browser')
|
|
125
|
+
.option('--ui-dist <path>', 'Override the dist/ui directory')
|
|
126
|
+
.option('--allow-headless', 'Start even when SSH/no-DISPLAY is detected')
|
|
127
|
+
.option('--project-root <path>', 'Override the project root used to resolve .agent-config/')
|
|
128
|
+
.option('--dry-run', 'Boot with all writes suppressed (preview-only)')
|
|
129
|
+
.action(async (opts) => {
|
|
130
|
+
const forwarded = {
|
|
131
|
+
initialRoute: '/wizard',
|
|
132
|
+
extendedSteps: true,
|
|
133
|
+
initialStep: 0,
|
|
134
|
+
wizardMode: 'install',
|
|
135
|
+
};
|
|
136
|
+
if (opts.port !== undefined)
|
|
137
|
+
forwarded.port = opts.port;
|
|
138
|
+
if (opts.open !== undefined)
|
|
139
|
+
forwarded.open = opts.open;
|
|
140
|
+
if (opts.uiDist !== undefined)
|
|
141
|
+
forwarded.uiDist = opts.uiDist;
|
|
142
|
+
if (opts.allowHeadless !== undefined)
|
|
143
|
+
forwarded.allowHeadless = opts.allowHeadless;
|
|
144
|
+
if (opts.projectRoot !== undefined)
|
|
145
|
+
forwarded.projectRoot = opts.projectRoot;
|
|
146
|
+
if (opts.dryRun !== undefined)
|
|
147
|
+
forwarded.dryRun = opts.dryRun;
|
|
148
|
+
const code = await runUiServe(forwarded);
|
|
149
|
+
process.exit(code);
|
|
150
|
+
});
|
|
151
|
+
// `setup` — onboarding-only alias for `ui:serve` that lands on the
|
|
152
|
+
// `#/wizard` route. Replaces the deprecated `/onboard` chat skill.
|
|
153
|
+
// road-to-unified-setup § B0: `setup` defaults to the extended
|
|
154
|
+
// 13-step flow and lands on Identity (index 4) so the install-only lead
|
|
155
|
+
// (ai-tools + roles + packs) is skipped. The project `modules` step is
|
|
156
|
+
// NOT skipped — it sits at the end of the flow, so setup still walks it
|
|
157
|
+
// (before review). Pass `--no-extended` to fall back to the
|
|
158
|
+
// settings-only wizard.
|
|
159
|
+
program
|
|
160
|
+
.command('setup')
|
|
161
|
+
.description('Open the onboarding wizard (boots the UI server and lands on Identity)')
|
|
162
|
+
.option('--port <n>', 'Override the auto-picked port', (v) => Number.parseInt(v, 10))
|
|
163
|
+
.option('--no-open', 'Do not launch the browser')
|
|
164
|
+
.option('--ui-dist <path>', 'Override the dist/ui directory')
|
|
165
|
+
.option('--allow-headless', 'Start even when SSH/no-DISPLAY is detected')
|
|
166
|
+
.option('--project-root <path>', 'Override the project root used to resolve .agent-config/')
|
|
167
|
+
.option('--dry-run', 'Boot with all writes suppressed (preview-only)')
|
|
168
|
+
.option('--no-extended', 'Use the settings-only wizard (skip ai-tools, roles, packs, modules)')
|
|
169
|
+
.action(async (opts) => {
|
|
170
|
+
const extended = opts.extended !== false;
|
|
171
|
+
const forwarded = {
|
|
172
|
+
initialRoute: '/wizard',
|
|
173
|
+
extendedSteps: extended,
|
|
174
|
+
// Setup skips the welcome step (it keeps name/language in the
|
|
175
|
+
// user-md form) and the install-only lead (ai-tools/roles/
|
|
176
|
+
// packs). Extended → jump to Identity/editor (index 4);
|
|
177
|
+
// non-extended → skip welcome to the first settings step (1).
|
|
178
|
+
// The project `modules` step is reached later (end of the
|
|
179
|
+
// flow), not skipped.
|
|
180
|
+
initialStep: extended ? 4 : 1,
|
|
181
|
+
wizardMode: 'setup',
|
|
182
|
+
};
|
|
183
|
+
if (opts.port !== undefined)
|
|
184
|
+
forwarded.port = opts.port;
|
|
185
|
+
if (opts.open !== undefined)
|
|
186
|
+
forwarded.open = opts.open;
|
|
187
|
+
if (opts.uiDist !== undefined)
|
|
188
|
+
forwarded.uiDist = opts.uiDist;
|
|
189
|
+
if (opts.allowHeadless !== undefined)
|
|
190
|
+
forwarded.allowHeadless = opts.allowHeadless;
|
|
191
|
+
if (opts.projectRoot !== undefined)
|
|
192
|
+
forwarded.projectRoot = opts.projectRoot;
|
|
193
|
+
if (opts.dryRun !== undefined)
|
|
194
|
+
forwarded.dryRun = opts.dryRun;
|
|
195
|
+
const code = await runUiServe(forwarded);
|
|
196
|
+
process.exit(code);
|
|
197
|
+
});
|
|
198
|
+
const workspaces = program
|
|
199
|
+
.command('workspaces')
|
|
200
|
+
.description('Inspect workspaces from the discovery manifest');
|
|
201
|
+
workspaces
|
|
202
|
+
.command('ls')
|
|
203
|
+
.description('List workspaces (id, label, default_packs)')
|
|
204
|
+
.option('--json', 'Emit machine-readable JSON')
|
|
205
|
+
.action((opts) => {
|
|
206
|
+
const code = runWorkspacesLs(opts);
|
|
207
|
+
process.exit(code);
|
|
208
|
+
});
|
|
209
|
+
const packs = program
|
|
210
|
+
.command('packs')
|
|
211
|
+
.description('Inspect packs from the discovery manifest');
|
|
212
|
+
packs
|
|
213
|
+
.command('ls')
|
|
214
|
+
.description('List packs (id, label, workspaces, artefact_count)')
|
|
215
|
+
.option('--json', 'Emit machine-readable JSON')
|
|
216
|
+
.action((opts) => {
|
|
217
|
+
const code = runPacksLs(opts);
|
|
218
|
+
process.exit(code);
|
|
219
|
+
});
|
|
220
|
+
const commands = program
|
|
221
|
+
.command('commands')
|
|
222
|
+
.description('Inspect the command surface from the discovery manifest');
|
|
223
|
+
commands
|
|
224
|
+
.command('ls', { isDefault: true })
|
|
225
|
+
.description('List commands (command, pack, tier, visibility, intent)')
|
|
226
|
+
.option('--pack <id>', 'Restrict to one owning pack')
|
|
227
|
+
.option('--visible', 'Restrict to visible commands (tier 0/1)')
|
|
228
|
+
.option('--profile <id>', 'Render a profile\'s curated command view (developer, founder, …)')
|
|
229
|
+
.option('--expanded', 'With --profile: add the active packs\' full command set')
|
|
230
|
+
.option('--json', 'Emit machine-readable JSON')
|
|
231
|
+
.action((opts) => {
|
|
232
|
+
// exitCode (not process.exit) — the JSON payload exceeds the
|
|
233
|
+
// 8 KiB pipe buffer; a hard exit truncates async stdout on macOS.
|
|
234
|
+
process.exitCode = runCommandsLs(opts);
|
|
235
|
+
});
|
|
236
|
+
commands
|
|
237
|
+
.command('explain <name>')
|
|
238
|
+
.description("Print a command's intent, routes_to, owning pack, and tier")
|
|
239
|
+
.option('--json', 'Emit machine-readable JSON')
|
|
240
|
+
.action((name, opts) => {
|
|
241
|
+
process.exitCode = runCommandsExplain(name, opts);
|
|
242
|
+
});
|
|
243
|
+
program
|
|
244
|
+
.command('help')
|
|
245
|
+
.description('Show help (delegates to Bash for --tier=1|all)')
|
|
246
|
+
.allowUnknownOption(true)
|
|
247
|
+
.allowExcessArguments(true)
|
|
248
|
+
.action(async () => {
|
|
249
|
+
const rest = argv.slice(argv.indexOf('help') + 1);
|
|
250
|
+
if (rest.length === 0) {
|
|
251
|
+
process.stdout.write(`${buildHelp()}\n`);
|
|
252
|
+
process.exit(0);
|
|
253
|
+
}
|
|
254
|
+
const code = await delegateToBash({ args: ['help', ...rest] });
|
|
255
|
+
process.exit(code);
|
|
256
|
+
});
|
|
257
|
+
// Bare invocation → print TS-shell help.
|
|
258
|
+
if (argv.length === 0) {
|
|
259
|
+
process.stdout.write(`${buildHelp()}\n`);
|
|
260
|
+
return 0;
|
|
261
|
+
}
|
|
262
|
+
const head = argv[0];
|
|
263
|
+
if (head === '--help' || head === '-h') {
|
|
264
|
+
process.stdout.write(`${buildHelp()}\n`);
|
|
265
|
+
return 0;
|
|
266
|
+
}
|
|
267
|
+
if (head === '--version' || head === '-V') {
|
|
268
|
+
process.stdout.write(`${readVersion()}\n`);
|
|
269
|
+
return 0;
|
|
270
|
+
}
|
|
271
|
+
// Native subcommand → commander handles it (exits inside action).
|
|
272
|
+
const native = ['versions', 'doctor-shell', 'mcp-server', 'ui:serve', 'settings', 'install', 'setup', 'workspaces', 'packs', 'commands', 'help'];
|
|
273
|
+
if (head !== undefined && native.includes(head)) {
|
|
274
|
+
await program.parseAsync(['node', 'agent-config', ...argv]);
|
|
275
|
+
// Actions that don't hard-exit signal failure via process.exitCode.
|
|
276
|
+
return typeof process.exitCode === 'number' ? process.exitCode : 0;
|
|
277
|
+
}
|
|
278
|
+
// `explain <command-name>` / `explain <cluster:sub>` → native command
|
|
279
|
+
// explanation (6.0.0-C Step 5b). The legacy decision-trace explain
|
|
280
|
+
// (`explain config|rule|route`) still delegates to Bash below.
|
|
281
|
+
if (head === 'explain' && looksLikeCommandTarget(argv[1])) {
|
|
282
|
+
return runCommandsExplain(argv[1], { json: argv.includes('--json') });
|
|
283
|
+
}
|
|
284
|
+
// `init` is the install front-end: when the browser wizard can actually be
|
|
285
|
+
// used (interactive TTY, display, no CLI-mode flags), open it and let it
|
|
286
|
+
// drive the install via /api/v1/wizard/apply → install.py --apply-payload —
|
|
287
|
+
// no CLI tool-picker, one installer. Otherwise fall through to the bash CLI
|
|
288
|
+
// install (road-to-single-install-source-of-truth § Phase 4 follow-up).
|
|
289
|
+
if (head === 'init' && shouldInitLaunchGui(argv.slice(1))) {
|
|
290
|
+
return runUiServe(buildInitGuiOptions(argv.slice(1)));
|
|
291
|
+
}
|
|
292
|
+
// Everything else forwards to the Bash dispatcher verbatim.
|
|
293
|
+
return delegateToBash({ args: argv });
|
|
294
|
+
}
|
|
295
|
+
main(process.argv.slice(2))
|
|
296
|
+
.then((code) => {
|
|
297
|
+
// Flush queued async stdout before the hard exit — on macOS a pipe'd
|
|
298
|
+
// stdout is async and process.exit() truncates anything past the
|
|
299
|
+
// 8 KiB pipe buffer (e.g. `commands ls --json`). The empty write's
|
|
300
|
+
// callback fires only after every prior chunk reached the OS.
|
|
301
|
+
process.exitCode = code;
|
|
302
|
+
process.stdout.write('', () => process.exit(code));
|
|
303
|
+
})
|
|
304
|
+
.catch((err) => {
|
|
305
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
306
|
+
logger.error(message);
|
|
307
|
+
process.exit(1);
|
|
308
|
+
});
|
|
309
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|