@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
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr: 093
|
|
3
|
+
status: accepted
|
|
4
|
+
date: 2026-06-13
|
|
5
|
+
decision: ai-council-config-user-global
|
|
6
|
+
supersedes: —
|
|
7
|
+
superseded_by: —
|
|
8
|
+
phase: ai-council-config-relocation
|
|
9
|
+
type: structural
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-093 — Relocate the AI-council config to the user-global namespace
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
**Accepted** · 2026-06-13. Maintainer directive (standing, restated): the
|
|
17
|
+
council is a per-developer facility and must be configured once, globally,
|
|
18
|
+
not re-declared per project.
|
|
19
|
+
|
|
20
|
+
## Context
|
|
21
|
+
|
|
22
|
+
The council config (`.ai-council.yml`) was a **project-tracked** file at
|
|
23
|
+
`agents/settings/.ai-council.yml`, checked into this repository (it held the
|
|
24
|
+
maintainer's enabled members + `file:`/`env:` key references). Resolution was
|
|
25
|
+
anchored on the project root (`council_cli.py:AI_COUNCIL_FILE = REPO_ROOT /
|
|
26
|
+
"agents" / "settings" / ".ai-council.yml"`; `cmd_doctor.py` recomputed the
|
|
27
|
+
same path).
|
|
28
|
+
|
|
29
|
+
Three defects followed from the project-tracked layout:
|
|
30
|
+
|
|
31
|
+
1. **Per-project, not per-developer.** A single developer who wants the
|
|
32
|
+
council everywhere had to drop the file into every project — exactly the
|
|
33
|
+
opposite of "configure once".
|
|
34
|
+
2. **Commit / leak risk.** The config sat in the tracked tree of a public
|
|
35
|
+
package; only the `file:`/`env:` indirection (raw keys are refused by
|
|
36
|
+
`_validate_api_key_ref`) kept secrets out.
|
|
37
|
+
3. **Silent unavailability.** On any surface without a project copy — cloud /
|
|
38
|
+
headless / a fresh checkout / a different worktree — resolution found
|
|
39
|
+
nothing and the council refused with "ai_council.enabled is false", even
|
|
40
|
+
when the developer had set it up. The raw API keys already lived in the
|
|
41
|
+
user-global namespace (`~/.event4u/agent-config/<provider>.key`, resolved
|
|
42
|
+
by `resolve_api_key`); only the config that points at them did not.
|
|
43
|
+
|
|
44
|
+
The user-global namespace helper (`scripts/_lib/user_global_paths.py`,
|
|
45
|
+
`event4u_root()` → `~/.event4u/agent-config/`, with the legacy
|
|
46
|
+
`~/.config/agent-config/` read-fallback) already underpinned key resolution,
|
|
47
|
+
so the config had a natural home there.
|
|
48
|
+
|
|
49
|
+
## Decision
|
|
50
|
+
|
|
51
|
+
**The council config is user-global by default.** A single
|
|
52
|
+
`resolve_config_path(project_root)` in `scripts/ai_council/config.py` is the
|
|
53
|
+
one place that decides which file is read, with this precedence
|
|
54
|
+
(first match wins):
|
|
55
|
+
|
|
56
|
+
1. `$AI_COUNCIL_CONFIG` — explicit absolute path (tests / power users);
|
|
57
|
+
honoured even when absent, so typos surface as "create it here".
|
|
58
|
+
2. Project-local `<project_root>/agents/settings/.ai-council.yml` — a
|
|
59
|
+
consumer project that deliberately checks in its own config; overrides
|
|
60
|
+
the user-global file for that project only.
|
|
61
|
+
3. User-global `~/.event4u/agent-config/settings/.ai-council.yml` (legacy
|
|
62
|
+
`~/.config/agent-config/` read-fallback) — the canonical default.
|
|
63
|
+
|
|
64
|
+
When none exists, the resolver returns the user-global write target so
|
|
65
|
+
callers' `.exists()` gate and "create it at …" messaging both point at the
|
|
66
|
+
global location.
|
|
67
|
+
|
|
68
|
+
`council_cli.py` and `cmd_doctor.py` both route through this resolver. The
|
|
69
|
+
tracked `agents/settings/.ai-council.yml` is removed from the repository; the
|
|
70
|
+
documented shape ships as `agents/templates/.ai-council.yml.example` to copy
|
|
71
|
+
from. The maintainer's live config now lives at
|
|
72
|
+
`~/.event4u/agent-config/settings/.ai-council.yml`.
|
|
73
|
+
|
|
74
|
+
Project-local override is **kept** (not removed) so a consumer team can still
|
|
75
|
+
pin a shared council config in their own repo — but it is no longer the
|
|
76
|
+
default, and this package no longer ships one in its tracked tree.
|
|
77
|
+
|
|
78
|
+
## Consequences
|
|
79
|
+
|
|
80
|
+
- The council now resolves from the user-global file in every project,
|
|
81
|
+
worktree, and CWD — verified: a worktree with no project copy resolves
|
|
82
|
+
`~/.event4u/agent-config/settings/.ai-council.yml` and reports `members=2`.
|
|
83
|
+
- No council config can be silently committed to this (or any consumer)
|
|
84
|
+
public repo by default.
|
|
85
|
+
- `doctor council-cli` now names the user-global path in its
|
|
86
|
+
"no council config" / "config invalid" messaging.
|
|
87
|
+
- The test suite is made hermetic via `EVENT4U_CONFIG_HOME` sandboxing so
|
|
88
|
+
it never reads the developer's real global config (it otherwise would,
|
|
89
|
+
now that "no project file" falls through to global).
|
|
90
|
+
- **Not done here (follow-up):** auto-scaffolding the global file from the
|
|
91
|
+
example template during `agent-config` install/setup. Resolution +
|
|
92
|
+
manual/templated placement satisfy "the package always uses it"; an
|
|
93
|
+
installer step that writes the example to the global path when absent is
|
|
94
|
+
a nice-to-have tracked separately to keep `install.py` out of this diff.
|
|
95
|
+
|
|
96
|
+
## Alternatives
|
|
97
|
+
|
|
98
|
+
- **Global always wins, ignore project files.** Rejected — it would break a
|
|
99
|
+
consumer team's legitimately checked-in shared council config. Removing
|
|
100
|
+
this package's tracked copy already gives the maintainer global-everywhere
|
|
101
|
+
behaviour without taking the override away.
|
|
102
|
+
- **Keep the file project-tracked, just gitignore it.** Rejected — still
|
|
103
|
+
per-project, still absent on fresh/cloud surfaces; does not deliver
|
|
104
|
+
"configure once per user".
|
|
105
|
+
|
|
106
|
+
## References
|
|
107
|
+
|
|
108
|
+
- Contract: [`docs/contracts/ai-council-config.md`](../contracts/ai-council-config.md) § File location.
|
|
109
|
+
- `scripts/ai_council/config.py:resolve_config_path` — the resolver.
|
|
110
|
+
- `scripts/_lib/user_global_paths.py` — user-global namespace + legacy fallback.
|
|
111
|
+
- `agents/templates/.ai-council.yml.example` — the documented shape to copy.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr: 094
|
|
3
|
+
status: accepted
|
|
4
|
+
date: 2026-06-14
|
|
5
|
+
decision: agent-memory-layer-removal
|
|
6
|
+
supersedes: —
|
|
7
|
+
superseded_by: —
|
|
8
|
+
phase: memory-layer-cleanup
|
|
9
|
+
type: structural
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-094 — Remove the heavyweight agent-memory layer; keep file-first memory
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
**Accepted** · 2026-06-14. Resolved by three AI-council rounds
|
|
17
|
+
(claude-sonnet-4-5 + gpt-4o) on 2026-06-14; maintainer-directed package
|
|
18
|
+
optimization.
|
|
19
|
+
|
|
20
|
+
## Context
|
|
21
|
+
|
|
22
|
+
Engineering memory in this suite had **two layers**:
|
|
23
|
+
|
|
24
|
+
- **Layer 1 — file-first (in this repo).** Curated YAML under
|
|
25
|
+
`agents/memory/<type>/` + agent-written `agents/memory/intake/*.jsonl`,
|
|
26
|
+
read through `scripts/memory_lookup.retrieve()`. Git-tracked, lintable,
|
|
27
|
+
redactable, vendor-neutral. No external infrastructure.
|
|
28
|
+
- **Layer 2 — the `@event4u/agent-memory` companion package (separate repo).**
|
|
29
|
+
PostgreSQL + pgvector, an MCP server, Ebbinghaus decay, trust scoring, and
|
|
30
|
+
cross-project learning. Consumed optionally via a versioned cross-repo
|
|
31
|
+
contract; `scripts/memory_lookup.py` exposed an `operational_provider` seam,
|
|
32
|
+
`scripts/memory_status.py` probed for the package CLI, and the MCP tools
|
|
33
|
+
routed through it when "present".
|
|
34
|
+
|
|
35
|
+
The package was unused, its integration roadmaps were already archived, and
|
|
36
|
+
its external repository is being deleted. Native agent memory (Claude, Cursor)
|
|
37
|
+
is improving on the exact axis — semantic cross-session recall — where the
|
|
38
|
+
package competed, and its PostgreSQL + MCP runtime contradicted the suite's
|
|
39
|
+
"no app runtime" positioning.
|
|
40
|
+
|
|
41
|
+
## Decision
|
|
42
|
+
|
|
43
|
+
1. **Remove Layer 2 entirely** from `agent-config` — the package binding and
|
|
44
|
+
the now-dead generic operational machinery it alone served:
|
|
45
|
+
`package_operational_provider` / `_cli_operational_provider`, the
|
|
46
|
+
`operational_provider` parameter, the `OperationalProvider` type, the
|
|
47
|
+
repo-vs-operational conflict rule, `Shadow` / `with_shadows` /
|
|
48
|
+
`shadowed_by`, the package-detection in `memory_status.py`, the MCP
|
|
49
|
+
`with_package` routing, and the `agent-memory-contract.md` contract doc.
|
|
50
|
+
2. **Keep Layer 1** — file-first `retrieve()`, the `check_memory.py` redaction
|
|
51
|
+
gate, and the typed curated/intake store. This is *governance* (auditable,
|
|
52
|
+
portable, reviewable), a different job from native memory.
|
|
53
|
+
3. **Simplify contract artefacts in-place, do not loudly break.** The internal
|
|
54
|
+
`retrieval-v1` schema + conformance suite were reduced to repo-only
|
|
55
|
+
(`source: "repo"`; no `operational` / `trust` / `shadowed_by`) rather than
|
|
56
|
+
version-bumped, because the only consumer (the package) is deleted.
|
|
57
|
+
4. **Adopt MemSkill's write-time curation discipline** (Apache-2.0,
|
|
58
|
+
github.com/ViktorAxelsen/MemSkill) into the `memory-consolidation` skill —
|
|
59
|
+
dedupe before insert, split distinct facts, merge-and-preserve on update,
|
|
60
|
+
delete only on explicit contradiction, prefer no-op under uncertainty, skip
|
|
61
|
+
trivial/fleeting/speculative. The ML training/eval pipeline is **not**
|
|
62
|
+
adopted; MemSkill's own thesis (quality comes from write-time skills, not a
|
|
63
|
+
heavy storage substrate) reinforces the removal.
|
|
64
|
+
|
|
65
|
+
## Consequences
|
|
66
|
+
|
|
67
|
+
- One memory layer, file-backed, smaller surface, no infra prerequisite.
|
|
68
|
+
- `memory_status.status()` is now a constant file-backend report; `health()`
|
|
69
|
+
still emits the v1 envelope shape so the MCP `memory_status` tool is stable.
|
|
70
|
+
- No decay engine → committed memory is bounded manually (intake gitignored,
|
|
71
|
+
type narrowing, entry caps, archived-entry deletion — see
|
|
72
|
+
`road-to-memory-pipeline-consolidation.md`).
|
|
73
|
+
- The memory ADR area (`docs/adrs/memory/`) is retired from
|
|
74
|
+
`audit_adr_coverage.py`; ADR 0001 there is marked superseded by this ADR.
|
|
75
|
+
|
|
76
|
+
## Alternatives considered
|
|
77
|
+
|
|
78
|
+
- **Freeze Layer 2 (leave inert).** Rejected — a dormant integration surface
|
|
79
|
+
advertising a capability the suite no longer has is misleading residue.
|
|
80
|
+
- **Markdown-only (drop the YML layer too).** Rejected — the working
|
|
81
|
+
`retrieve()` machinery + the `check_memory.py` redaction gate are real
|
|
82
|
+
governance a schema-less markdown parser cannot cheaply replace; an 8-consumer
|
|
83
|
+
migration is untested risk for no gain (council, Option B).
|
|
84
|
+
- **Revive Layer 2 later.** Gated: requires ≥2 funded consumer projects with a
|
|
85
|
+
named maintainer each + explicit PostgreSQL adoption.
|
|
86
|
+
|
|
87
|
+
## References
|
|
88
|
+
|
|
89
|
+
- `agents/roadmaps/archive/road-to-agent-memory-removal.md` — the executing roadmap (archived).
|
|
90
|
+
- `agents/roadmaps/archive/road-to-memory-pipeline-consolidation.md` — follow-on
|
|
91
|
+
mining consolidation + size bounding.
|
|
92
|
+
- `docs/adrs/memory/0001-consumer-side-snapshot.md` — superseded by this ADR.
|
|
93
|
+
- `docs/guidelines/agent-infra/memory-access.md` — the surviving file-backed
|
|
94
|
+
retrieval contract.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr: 095
|
|
3
|
+
status: accepted
|
|
4
|
+
date: 2026-06-14
|
|
5
|
+
decision: workspace-boundary-contract
|
|
6
|
+
supersedes: —
|
|
7
|
+
superseded_by: —
|
|
8
|
+
phase: v6.0.0 · final-readiness · Phase 4
|
|
9
|
+
type: structural
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-095 — Workspace boundary contract + import-edge drift check
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
**Accepted** · 2026-06-14. Lands Phase 4 of
|
|
17
|
+
[`road-to-6.0.0-final-readiness`](../../agents/roadmaps/archive/road-to-6.0.0-final-readiness.md).
|
|
18
|
+
Routed through the AI council (anthropic/claude-sonnet-4-5 + openai/gpt-4o,
|
|
19
|
+
design mode, 2026-06-14; converged 2-round on "import-boundary linter as MVP
|
|
20
|
+
with explicit semantic-drift disclaimer + escape-hatch").
|
|
21
|
+
|
|
22
|
+
## Context
|
|
23
|
+
|
|
24
|
+
The PR #489 / 6.0.0 review flagged that **"workspace" risks becoming the new
|
|
25
|
+
"meta"** — a catch-all that absorbs every nearby concern until it owns
|
|
26
|
+
everything and means nothing. The workspace is real and load-bearing (13
|
|
27
|
+
`src/cli/python/workspace_*.py` modules behind `/work` and the host-drive
|
|
28
|
+
loop), so the risk is concrete: a future change quietly teaches a workspace
|
|
29
|
+
module to design skills, decide profile semantics, or pick video providers,
|
|
30
|
+
and the boundary erodes one import at a time.
|
|
31
|
+
|
|
32
|
+
The prior council finding (#3 on the parent roadmap) accepted a boundary
|
|
33
|
+
contract **with modification**: this repo has no dependency-cruiser /
|
|
34
|
+
TS-import-boundary tooling, so any drift mechanism must *fit the real surface*
|
|
35
|
+
or *explicitly justify doc-governance-only*.
|
|
36
|
+
|
|
37
|
+
## Decision
|
|
38
|
+
|
|
39
|
+
1. **Author a boundary contract** at
|
|
40
|
+
[`docs/contracts/workspace-boundary.md`](../contracts/workspace-boundary.md)
|
|
41
|
+
enumerating what the workspace **owns** and **does not own**.
|
|
42
|
+
2. **Drift mechanism = an import-edge linter** (`scripts/lint_workspace_boundary.py`),
|
|
43
|
+
AST-static, over `src/cli/python/workspace_*.py`. It fails if a workspace
|
|
44
|
+
module imports an owner-module of a *not-owned* domain. It is wired into CI.
|
|
45
|
+
3. **Explicit scope disclaimer.** The linter enforces **import edges only**.
|
|
46
|
+
Semantic drift — a workspace module encoding profile semantics or analytics
|
|
47
|
+
*product strategy* without importing anything forbidden — is **not**
|
|
48
|
+
catchable by an import check and stays **doc-governance**, enforced in
|
|
49
|
+
review against the contract. The contract states this limit plainly so the
|
|
50
|
+
green check is never mistaken for "the boundary is fully enforced" (the
|
|
51
|
+
council's named false-confidence risk).
|
|
52
|
+
4. **Escape hatch.** A `# boundary-exception: <reason>` pragma on the import
|
|
53
|
+
line lets a justified, reviewed exception through; the contract records that
|
|
54
|
+
such pragmas are reviewed like any boundary change.
|
|
55
|
+
|
|
56
|
+
### Owns / does-not-own (locked by the parent roadmap's council)
|
|
57
|
+
|
|
58
|
+
| Workspace **owns** | Workspace **does NOT own** |
|
|
59
|
+
|---|---|
|
|
60
|
+
| task orchestration | skill design |
|
|
61
|
+
| host-session lifecycle | profile semantics |
|
|
62
|
+
| continuation (multi-turn) | video-provider logic |
|
|
63
|
+
| drive health | MCP-registry policy |
|
|
64
|
+
| | analytics **product strategy** |
|
|
65
|
+
|
|
66
|
+
## Consequences
|
|
67
|
+
|
|
68
|
+
- The boundary becomes a CI gate, not a wish-list. Day-one state: **zero
|
|
69
|
+
violations** (survey below), so the check locks the current-correct boundary
|
|
70
|
+
rather than papering over drift.
|
|
71
|
+
- The import check is cheap and precise here because workspace modules live in
|
|
72
|
+
`src/cli/python/` and the not-owned owner-modules live in `src/scripts/` —
|
|
73
|
+
separate namespaces, no false-positive surface (workspace modules import only
|
|
74
|
+
stdlib, third-party `keyring`/`cryptography`/`yaml`, and intra-workspace
|
|
75
|
+
`workspace_*`).
|
|
76
|
+
- Semantic drift remains a review responsibility; the contract names it so
|
|
77
|
+
reviewers know the linter is a supplement, not a substitute.
|
|
78
|
+
|
|
79
|
+
## Survey — existing violations
|
|
80
|
+
|
|
81
|
+
AST import survey of all 13 `workspace_*.py` modules (2026-06-14):
|
|
82
|
+
|
|
83
|
+
- The only cross-module import is `workspace_inbox → workspace_skills`
|
|
84
|
+
(intra-workspace; allowed).
|
|
85
|
+
- **Zero** imports of any skill-design / profile / pack / video / MCP /
|
|
86
|
+
condense / router / persona owner-module.
|
|
87
|
+
- `workspace_skills.py` *resolves* skill bodies for host hand-off (consumes,
|
|
88
|
+
does not design) → within bounds.
|
|
89
|
+
- `workspace_analytics.py` records task completion/abandonment telemetry
|
|
90
|
+
(drive-health domain, not analytics product strategy) → within bounds.
|
|
91
|
+
|
|
92
|
+
**Result: zero boundary violations recorded.**
|
|
93
|
+
|
|
94
|
+
## Alternatives
|
|
95
|
+
|
|
96
|
+
- **Doc-governance-only (no check).** Rejected as the sole mechanism: the
|
|
97
|
+
surface is concrete Python with clean namespaces, so the cheapest lock (an
|
|
98
|
+
import check) earns its keep against the most common drift vector. Kept as
|
|
99
|
+
the mechanism for *semantic* drift, which an import check cannot see.
|
|
100
|
+
- **dependency-cruiser / TS import-boundary tooling.** N/A — the workspace
|
|
101
|
+
surface is Python, not TS; importing JS tooling for it is wrong-stack.
|
|
102
|
+
|
|
103
|
+
## References
|
|
104
|
+
|
|
105
|
+
- [`docs/contracts/workspace-boundary.md`](../contracts/workspace-boundary.md) — the contract.
|
|
106
|
+
- [`scripts/lint_workspace_boundary.py`](../../src/scripts/lint_workspace_boundary.py) — the drift check.
|
|
107
|
+
- [`ADR-050`](ADR-050-workspace-vs-package-root-boundary.md) — the workspace-vs-package-root trust boundary this refines at the module level.
|
|
108
|
+
- [`docs/contracts/daily-workspace.md`](../contracts/daily-workspace.md) — cross-links this contract.
|
package/docs/decisions/INDEX.md
CHANGED
|
@@ -93,6 +93,12 @@ _Auto-generated by `scripts/adr/regenerate_index.py`. Do not edit._
|
|
|
93
93
|
| [ADR-087](ADR-087-installer-e2e-test-strategy.md) | Installer E2E Test Strategy | accepted | 2026-06-11 | — |
|
|
94
94
|
| [ADR-088](ADR-088-no-external-runtime-federation.md) | No External Runtime Federation | accepted | 2026-06-11 | — |
|
|
95
95
|
| [ADR-089](ADR-089-lean-local-plugin-install.md) | Lean Local Plugin Install | accepted | 2026-06-12 | — |
|
|
96
|
+
| [ADR-090](ADR-090-visibility-command-frontmatter-field.md) | Visibility Command Frontmatter Field | accepted | 2026-06-13 | — |
|
|
97
|
+
| [ADR-091](ADR-091-split-meta-capability-packs.md) | Split Meta Capability Packs | accepted | 2026-06-13 | — |
|
|
98
|
+
| [ADR-092](ADR-092-defer-command-tier-alias-removal.md) | Defer Command Tier Alias Removal | accepted | 2026-06-13 | — |
|
|
99
|
+
| [ADR-093](ADR-093-ai-council-config-user-global.md) | Ai Council Config User Global | accepted | 2026-06-13 | — |
|
|
100
|
+
| [ADR-094](ADR-094-agent-memory-layer-removal.md) | Agent Memory Layer Removal | accepted | 2026-06-14 | — |
|
|
101
|
+
| [ADR-095](ADR-095-workspace-boundary-contract.md) | Workspace Boundary Contract | accepted | 2026-06-14 | — |
|
|
96
102
|
|
|
97
103
|
## Unnumbered (legacy)
|
|
98
104
|
|
package/docs/development.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
## Editing content
|
|
10
10
|
|
|
11
|
-
1. **Always edit in
|
|
11
|
+
1. **Always edit in `src/`** — never in `dist/agent-src/` or `.augment/` directly
|
|
12
12
|
2. Run `task sync` to copy non-`.md` files
|
|
13
13
|
3. Use the `/condense` command to condense changed `.md` files
|
|
14
14
|
4. Run `task ci` to verify everything passes before pushing
|
|
@@ -33,7 +33,7 @@ task consistency-fix # Regenerate all derived outputs from source
|
|
|
33
33
|
### Sync & Condensation
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
task sync #
|
|
36
|
+
task sync # src/ → dist/agent-src/, then project → .augment/
|
|
37
37
|
task sync-changed # List .md files changed since last condensation
|
|
38
38
|
task sync-check # Check if dist/agent-src/ is in sync (for CI)
|
|
39
39
|
task sync-check-hashes # Verify condensed .md hashes match source
|
|
@@ -202,13 +202,11 @@ tests/
|
|
|
202
202
|
└── consistency.yml ← Sync + hash + tool verification
|
|
203
203
|
src/templates/consumer-settings/ ← Settings templates for consumer projects
|
|
204
204
|
|
|
205
|
-
|
|
205
|
+
src/ ← Source of truth (human-readable, verbose)
|
|
206
206
|
├── rules/ ← Behavior rules
|
|
207
207
|
├── skills/ ← Skill definitions (SKILL.md per skill)
|
|
208
|
-
├──
|
|
209
|
-
|
|
210
|
-
├── templates/ ← Document scaffolds
|
|
211
|
-
└── contexts/ ← System knowledge documents
|
|
208
|
+
├── domains/ ← Slash command definitions (per pack)
|
|
209
|
+
└── agent-src/ ← Contexts, templates, profiles, personas, …
|
|
212
210
|
|
|
213
211
|
dist/agent-src/ ← Condensed output (token-efficient, shipped)
|
|
214
212
|
├── (same structure) ← Condensed .md + copied non-.md files
|
package/docs/getting-started.md
CHANGED
|
@@ -129,7 +129,7 @@ Your agent is now:
|
|
|
129
129
|
- **Respecting your codebase** — no conflicting patterns
|
|
130
130
|
- **Following standards** — consistent code quality
|
|
131
131
|
|
|
132
|
-
This is enforced automatically by
|
|
132
|
+
This is enforced automatically by 83 rules. No configuration needed.
|
|
133
133
|
|
|
134
134
|
---
|
|
135
135
|
|
|
@@ -167,9 +167,9 @@ Your agent now understands slash commands:
|
|
|
167
167
|
| `/optimize skills` | Audit skills, find duplicates, run linter |
|
|
168
168
|
| `/feature plan` | Interactively plan a feature |
|
|
169
169
|
| `/quality-fix` | Run and fix all quality checks |
|
|
170
|
-
| `/chat-history` |
|
|
170
|
+
| `/chat-history import` | Pull a prior session into the current chat (resume) |
|
|
171
171
|
|
|
172
|
-
→ [Browse all
|
|
172
|
+
→ [Browse all 147 active commands](../dist/agent-src/commands/)
|
|
173
173
|
|
|
174
174
|
---
|
|
175
175
|
|
|
@@ -188,7 +188,7 @@ Logging is **hook-only**: a structural Augment hook fires on
|
|
|
188
188
|
transparently if the fingerprint does not match (fresh chat) and
|
|
189
189
|
otherwise appended to.
|
|
190
190
|
|
|
191
|
-
|
|
191
|
+
Use your host's native transcript / session view any time to inspect
|
|
192
192
|
the log size, last entries, and current fingerprint. For the rare case
|
|
193
193
|
where auto-adopt misfires (corrupted file, hook misconfiguration), run
|
|
194
194
|
`./agent-config chat-history:adopt` as the manual recovery lever.
|
|
@@ -257,4 +257,4 @@ Inversion → For each W / H, ask "what if it's missing?"
|
|
|
257
257
|
|
|
258
258
|
## ADOPT citation
|
|
259
259
|
|
|
260
|
-
|
|
260
|
+
Adapted from an external reference.
|
|
@@ -176,4 +176,4 @@ unresolved and needs more evidence.
|
|
|
176
176
|
|
|
177
177
|
## ADOPT citation
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
Adapted from an external reference.
|
|
@@ -84,7 +84,7 @@ selection*, architecture-pattern selection. Watch note:
|
|
|
84
84
|
|
|
85
85
|
| Domain | Skill / manifest | Tier | Source pin |
|
|
86
86
|
|---|---|---|---|
|
|
87
|
-
| Frontend design | `design-intelligence/data/manifest.json` | conditional-grounding |
|
|
87
|
+
| Frontend design | `design-intelligence/data/manifest.json` | conditional-grounding | external reference @ b7e3af80 |
|
|
88
88
|
| Security / threat-modeling | `threat-modeling/data/manifest.json` | conditional-grounding | MITRE ATT&CK v16 + OWASP ASVS 4.0 (derived) |
|
|
89
89
|
| API design | `api-design/data/manifest.json` | lookup-only | RFC 9110/9457 + field-standard practice (derived) |
|
|
90
90
|
| DB-query tuning | `database/data/manifest.json` | lookup-only | PostgreSQL 16 / MySQL 8 docs (derived) |
|
|
@@ -152,5 +152,5 @@ This prevents attacking strawmen and ensures fair evaluation.
|
|
|
152
152
|
|
|
153
153
|
## ADOPT citation
|
|
154
154
|
|
|
155
|
-
|
|
155
|
+
Adapted from an external reference.
|
|
156
156
|
|
|
@@ -22,7 +22,6 @@ that prefer one file per type.
|
|
|
22
22
|
| Type | Single-file path | Sharded path |
|
|
23
23
|
|---|---|---|
|
|
24
24
|
| Domain invariants | `agents/memory/domain-invariants.yml` | `agents/memory/domain-invariants/<hash>.yml` |
|
|
25
|
-
| Architecture decisions | `agents/memory/architecture-decisions.yml` | `agents/memory/architecture-decisions/<hash>.yml` |
|
|
26
25
|
| Incident learnings | `agents/memory/incident-learnings.yml` | `agents/memory/incident-learnings/<hash>.yml` |
|
|
27
26
|
| Product rules | `agents/memory/product-rules.yml` | `agents/memory/product-rules/<hash>.yml` |
|
|
28
27
|
|
|
@@ -50,7 +49,7 @@ rejects entries missing any required field.
|
|
|
50
49
|
|
|
51
50
|
The `priority` field controls how aggressively `/memory:load` surfaces
|
|
52
51
|
an entry. The three-tier enum is intentional — see
|
|
53
|
-
|
|
52
|
+
an internal roadmap (local-only) § B2 and the Phase 2 council brief
|
|
54
53
|
for why a fourth `high` tier was rejected.
|
|
55
54
|
|
|
56
55
|
| Value | Meaning | Reader behaviour |
|
|
@@ -103,9 +102,6 @@ templates for the full shape:
|
|
|
103
102
|
|
|
104
103
|
- [`domain-invariants.example.yml`](../../templates/agents/memory/domain-invariants.example.yml)
|
|
105
104
|
adds `rule`, `boundary`, `scope.paths`, `violation_contract`.
|
|
106
|
-
- [`architecture-decisions.example.yml`](../../templates/agents/memory/architecture-decisions.example.yml)
|
|
107
|
-
adds `title`, `context`, `decision`, `alternatives_rejected`,
|
|
108
|
-
`trade_offs`, `paths`, `superseded_by`.
|
|
109
105
|
- [`incident-learnings.example.yml`](../../templates/agents/memory/incident-learnings.example.yml)
|
|
110
106
|
adds `pattern`, `trigger_conditions`, `consequence`, `guardrail`,
|
|
111
107
|
`enforcement`, `severity`.
|
|
@@ -189,4 +189,4 @@ This exposes weak arguments and strengthens valid ones.
|
|
|
189
189
|
|
|
190
190
|
## ADOPT citation
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
Adapted from an external reference.
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Frontier-Grade Reasoning — Operating Profile
|
|
2
|
+
|
|
3
|
+
> Source dossier for the **Reasoning Discipline Protocol (RDP)** — the durable,
|
|
4
|
+
> sourced rationale behind the RDP gate context, rule, and skills. It documents what a
|
|
5
|
+
> frontier reasoning model (Anthropic's Fable 5 / Mythos 5, June 2026) does that
|
|
6
|
+
> weaker models skip — the **transferable operating discipline** — and the
|
|
7
|
+
> boundary of what is *not* transferable.
|
|
8
|
+
>
|
|
9
|
+
> Citation discipline: every catalog row names its source **and its dignity**
|
|
10
|
+
> (Anthropic primary doc · third-party review · customer testimonial · our own
|
|
11
|
+
> derivation). Two independent external model analyses (Claude + GPT) corroborate
|
|
12
|
+
> but are never the primary evidence for a transferable-behavior line. A
|
|
13
|
+
> line-by-line audit (2026-06-13) corrected five rows; the load-bearing claims
|
|
14
|
+
> (over-prescription degrades, reasoning-in-response → refusal) are verbatim in
|
|
15
|
+
> Anthropic's prompting doc and stand.
|
|
16
|
+
|
|
17
|
+
## The one boundary that frames everything
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
CAPABILITY DOES NOT TRANSFER. DISCIPLINE DOES.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
A frontier model's edge lives in its **weights** — gains spread across the whole
|
|
24
|
+
training stack, with no single copyable prompt (the explicit framing is Nathan
|
|
25
|
+
Lambert / Interconnects [lam]; Anthropic's docs support only the weaker "needs
|
|
26
|
+
less scaffolding" [pf]). No skill, rule, or workflow makes Sonnet/Opus/GPT
|
|
27
|
+
*equal* Fable 5, and anyone promising that is selling the hallucinated analysis
|
|
28
|
+
this suite refuses to produce.
|
|
29
|
+
|
|
30
|
+
What *does* transfer is the **operating discipline**: the steps a frontier model
|
|
31
|
+
takes on its own that weaker models skip unless forced. On under-specified and
|
|
32
|
+
long-horizon tasks, that discipline gap is the largest part of the *visible*
|
|
33
|
+
quality difference. RDP transplants the discipline; it never claims the
|
|
34
|
+
capability.
|
|
35
|
+
|
|
36
|
+
> **Background (dates, precise):** Anthropic's own banner dates the **access
|
|
37
|
+
> suspension of Fable 5 / Mythos 5 to 2026-06-12** [an]; the related US
|
|
38
|
+
> export-control directive / Reuters report is **2026-06-13** [re]. Either way
|
|
39
|
+
> the model is currently inaccessible, so we cannot A/B against it — our own
|
|
40
|
+
> falsifiable eval is the only ground truth, which makes the discipline-transplant
|
|
41
|
+
> approach *more* relevant, not less.
|
|
42
|
+
|
|
43
|
+
## Sources (with dignity)
|
|
44
|
+
|
|
45
|
+
- **[an]** Anthropic — *Claude Fable 5 and Mythos 5* announcement. Primary, but
|
|
46
|
+
several quotes on the page are **customer testimonials** (labeled per-row), not
|
|
47
|
+
Anthropic capability statements.
|
|
48
|
+
- **[pf]** Anthropic docs — *Prompting Claude Fable 5*. Primary; the transferable
|
|
49
|
+
prompting playbook. Load-bearing claims live here.
|
|
50
|
+
- **[in]** Anthropic docs — *Introducing Fable 5 / Mythos 5*. Primary; adaptive
|
|
51
|
+
thinking + effort parameter + memory tool + refusals.
|
|
52
|
+
- **[ve]** Vellum — benchmark breakdown. **Third-party**; benchmark numbers are
|
|
53
|
+
not verifiable in Anthropic prose and must be labeled third-party or pulled to
|
|
54
|
+
the system card.
|
|
55
|
+
- **[cr]** CodeRabbit model review. **Third-party**; source of the
|
|
56
|
+
"explore-environment-first" observation (not Anthropic-documented).
|
|
57
|
+
- **[lam]** Nathan Lambert / Interconnects. **Third-party analysis**; "whole
|
|
58
|
+
training stack, no copyable prompt".
|
|
59
|
+
- **[re]** Reuters — export-control report (2026-06-13).
|
|
60
|
+
- Two external model analyses (Claude + GPT), provenance untracked in
|
|
61
|
+
`agents/.harvest-local/` — **corroboration only**, never primary.
|
|
62
|
+
|
|
63
|
+
## Transferable-behavior catalog
|
|
64
|
+
|
|
65
|
+
Each row: behavior → **source + dignity** → transplant mechanism → carrier.
|
|
66
|
+
|
|
67
|
+
| Behavior | Source (dignity) | Transplant | Carrier |
|
|
68
|
+
|---|---|---|---|
|
|
69
|
+
| Audit progress against real tool results | **[pf] ✓ primary** | every claim cites a tool result | shipped: `verify-before-complete` |
|
|
70
|
+
| Act when you have enough; no overplanning; outcome-first | **[pf] ✓ primary** | shipped | `direct-answers`, `autonomous-execution` |
|
|
71
|
+
| Pause only when genuinely needed | **[pf] ✓ primary** | shipped | `no-cheap-questions` |
|
|
72
|
+
| No over-refactor / minimal diff (at higher effort) | **[pf] ✓ primary** | shipped | `minimal-safe-diff` |
|
|
73
|
+
| Parallel async subagents, dispatched readily | **[pf] ✓ primary** | default async dispatch | extend `subagent-orchestration` |
|
|
74
|
+
| Fresh-context verifier beats self-critique (for **long-running** tasks) | **[pf] ✓ primary** | verifier subagent on a **structural-complexity** gate (not blanket) | extend `adversarial-review` |
|
|
75
|
+
| Persistent **cross-run** notes (file memory = 3× vs Opus 4.8 on Slay the Spire) | **[an] ✓ primary (direct)** | lessons across runs, one per file | extend memory / `memory-consolidation` |
|
|
76
|
+
| Infer the underlying goal (standard host only) | **[an] testimonial (Lovable); direction note** | infer goal, give **one** recommendation — NO "2–3 framings"; standard host only (a strong-reasoning host self-infers) | extend `improve-before-implement` |
|
|
77
|
+
| Multi-hypothesis / "killing incorrect beliefs" | **[an] testimonial (Sean Ward); "multi-hypothesis" is our framing** | hypotheses + killed-beliefs in the notes file | `notes-first-reasoning` |
|
|
78
|
+
| Adaptive effort (depth scales with hardness) | **[in],[pf] = API knob, not a scaffold** | strong-reasoning host: set `effort: high`; standard host w/o the knob: scaffold the effort/stop discipline | extend `autonomous-execution` (standard-host-only) |
|
|
79
|
+
| Explore the environment first, then build | **[cr] third-party (NOT Anthropic-documented)** | enumerate constraints/tools/info-gaps, close by query/test before designing | extend `think-before-action` |
|
|
80
|
+
| Risk-first decomposition (hardest/load-bearing unknown first) | **OUR DERIVATION — general engineering discipline, NOT Fable-documented** ([pf]'s "top of difficulty range" means **task selection**, not intra-task order) | resolve load-bearing uncertainties before dependent work | new skill `complexity-first-planning` |
|
|
81
|
+
|
|
82
|
+
Adopted from GPT review (frontier-implicit behaviors; our adoption, corroboration
|
|
83
|
+
only — all cost-gateable notes components):
|
|
84
|
+
|
|
85
|
+
| Behavior | Source | Transplant | Carrier |
|
|
86
|
+
|---|---|---|---|
|
|
87
|
+
| Prediction tracking (calibration) | GPT review | prediction + confidence + result + lesson in notes | `notes-first` component `prediction_tracking` |
|
|
88
|
+
| Uncertainty budget | GPT review | per-dimension uncertainty score → feeds adaptive effort | `notes-first` component `uncertainty_budget` |
|
|
89
|
+
| Decision ledger | GPT review | decision + alternatives + reason + revisit-if in notes; **escalates to `decision-record`/ADR** when cross-task or structural | `notes-first` component `decision_ledger` |
|
|
90
|
+
|
|
91
|
+
The ordered chain the orchestrator enforces:
|
|
92
|
+
`ground → intent → notes → gather → audit → verify`.
|
|
93
|
+
|
|
94
|
+
## Deferred to the Phase-8 audit (likely already covered)
|
|
95
|
+
|
|
96
|
+
Two transferable [pf] behaviors are **not** given new artifacts up front — the
|
|
97
|
+
Phase-8 de-prescriptivize audit checks existing coverage first and adds only
|
|
98
|
+
verified gaps (HIGH priority):
|
|
99
|
+
|
|
100
|
+
- **Re-ground the final summary** — write the closing summary for a reader who
|
|
101
|
+
saw none of the working thread; outcome first; drop working shorthand. Likely
|
|
102
|
+
covered by `language-and-tone` + `direct-answers`.
|
|
103
|
+
- **Report findings and stop** — when the user is thinking out loud, don't apply
|
|
104
|
+
a fix. Likely covered by `scope-control`.
|
|
105
|
+
|
|
106
|
+
## What does NOT transfer (and must not be faked)
|
|
107
|
+
|
|
108
|
+
- **Raw capability** — vision SOTA, document/chart reasoning, codebase-scale
|
|
109
|
+
migrations. Benchmark deltas (e.g. SWE-Bench Pro 80.3 vs 69.2) are **[ve]
|
|
110
|
+
third-party**, not verifiable in Anthropic prose — label third-party or pull to
|
|
111
|
+
the system card; note "SWE-Bench Pro" is not named in [an] (which cites
|
|
112
|
+
FrontierCode/Cognition + Hebbia-Finance). These are weights, not prompts.
|
|
113
|
+
- **"Show your work" in the response.** [pf] warns that reasoning-in-response can
|
|
114
|
+
trigger a `reasoning_extraction` refusal, and that over-prescriptive skills
|
|
115
|
+
*degrade* strong models. **Both verbatim in [pf] — the gating foundation.** RDP
|
|
116
|
+
keeps reasoning in notes + verifier subagents, never in the response, and
|
|
117
|
+
tier-gates prescription.
|
|
118
|
+
- **Pokémon FireRed vision-only harness** — **[an] only** ([pf] does not mention
|
|
119
|
+
it).
|
|
120
|
+
|
|
121
|
+
## Cost / benefit by host reasoning strength (the gating lens)
|
|
122
|
+
|
|
123
|
+
RDP is **not** free — scaffolding costs tokens and, on strong-reasoning hosts,
|
|
124
|
+
*degrades* output. So it engages only where it pays, via **table-free** signals.
|
|
125
|
+
Per **ADR-035** the suite maintains no runtime model→band table, and `model_tier`
|
|
126
|
+
is the *skill's* needed band (lite/medium/high), **not** the host's. Host strength
|
|
127
|
+
is therefore **agent self-assessed**, never looked up (roadmap L10/L17):
|
|
128
|
+
|
|
129
|
+
| Host / task | Self-coordination | RDP engagement | Why |
|
|
130
|
+
|---|---|---|---|
|
|
131
|
+
| standard host | low | **full** scaffolding | biggest discipline gap → biggest lift |
|
|
132
|
+
| strong-reasoning host | high | **light / off** (use native `effort: high`) | over-scaffolding degrades + wastes tokens |
|
|
133
|
+
| trivial / short task (any host) | n/a | **off** | no discipline gap to close; pure overhead |
|
|
134
|
+
| verifier subagent (any host) | — | **only** on the structural-complexity gate (≥2 of: branching, ≥3 constraints, stateful, irreversibility) + token floor ≥1k | a full extra inference pass — the most expensive primitive |
|
|
135
|
+
|
|
136
|
+
**One** constraint-light scaffold ships — no heavy/light content variants, since
|
|
137
|
+
two variants would be a hidden model→band table. A standard host **expands it on
|
|
138
|
+
request**. Two gates, both default-on: automatic (task signal + agent
|
|
139
|
+
self-assessment) + the user `reasoning:` settings toggle (global + per-component
|
|
140
|
+
+ hard off).
|
|
141
|
+
|
|
142
|
+
## Notes template grounding
|
|
143
|
+
|
|
144
|
+
The session-notes template is grounded in Anthropic's **documented cross-run
|
|
145
|
+
lessons memory** [pf] (one lesson per file; corrections + confirmed approaches;
|
|
146
|
+
why they mattered). The in-task sections (`## In-Task Hypothesis Log`,
|
|
147
|
+
`## Predictions`, `## Decisions`, `## Uncertainty`) are a clearly-marked **local
|
|
148
|
+
derivation** for within-task scope — useful, but not claimed as Anthropic-
|
|
149
|
+
documented, and kept on the notes side of the `reasoning_extraction` line.
|
|
150
|
+
|
|
151
|
+
## Naming
|
|
152
|
+
|
|
153
|
+
Neutral, no brand/capability claim. Umbrella: **Reasoning Discipline Protocol
|
|
154
|
+
(RDP)**. Artifacts: `reasoning-orchestrator`, `notes-first-reasoning`,
|
|
155
|
+
`complexity-first-planning`, `environment-grounding`. "Fable" / "Mythos" never
|
|
156
|
+
appear in an artifact identifier.
|
|
157
|
+
|
|
158
|
+
[an]: https://www.anthropic.com/news/claude-fable-5-mythos-5
|
|
159
|
+
[pf]: https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5
|
|
160
|
+
[in]: https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5
|
|
161
|
+
[ve]: https://www.vellum.ai/blog/claude-fable-5-and-mythos-5-benchmarks-explained
|
|
162
|
+
[re]: https://www.reuters.com/technology/us-blocks-foreign-access-anthropics-most-advanced-ai-models-axios-reports-2026-06-13/
|
|
163
|
+
[cr]: https://www.coderabbit.ai/blog/fable-5-model-review
|
|
164
|
+
[lam]: https://www.interconnects.ai/p/claude-fable-5-and-new-ai-safety
|
|
@@ -385,4 +385,4 @@ Before any plan, do 15-minute pre-mortem:
|
|
|
385
385
|
|
|
386
386
|
## ADOPT citation
|
|
387
387
|
|
|
388
|
-
|
|
388
|
+
Adapted from an external reference.
|