@event4u/agent-config 9.9.0 → 9.11.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 +1 -1
- package/CHANGELOG.md +212 -194
- package/README.md +13 -16
- package/agents/templates/.ai-council.yml.example +481 -0
- package/agents/templates/.ai-video.xml.example +247 -0
- package/dist/agent-src/commands/agent-status.md +12 -11
- package/dist/agent-src/commands/agents/user/accept.md +115 -30
- package/dist/agent-src/commands/agents/user/delete.md +147 -0
- package/dist/agent-src/commands/agents/user/review.md +65 -28
- package/dist/agent-src/commands/agents/user/show.md +82 -29
- package/dist/agent-src/commands/agents/user/update.md +2 -2
- package/dist/agent-src/commands/agents/user.md +16 -3
- package/dist/agent-src/commands/check-current-md.md +0 -10
- package/dist/agent-src/commands/condense.md +28 -97
- package/dist/agent-src/commands/cost/report.md +7 -0
- package/dist/agent-src/commands/fix/portability.md +0 -8
- package/dist/agent-src/commands/fix/refs.md +0 -8
- package/dist/agent-src/commands/humanize.md +2 -2
- package/dist/agent-src/commands/jira-ticket.md +1 -1
- package/dist/agent-src/commands/memory/load.md +11 -0
- package/dist/agent-src/commands/optimize/skills.md +1 -1
- package/dist/agent-src/commands/pr/create.md +4 -4
- package/dist/agent-src/commands/profile/show.md +3 -3
- package/dist/agent-src/commands/rule-compliance-audit.md +5 -4
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
- package/dist/agent-src/commands/tdd.md +21 -0
- package/dist/agent-src/commands/team/delegate.md +2 -2
- package/dist/agent-src/commands/team-knowledge/bootstrap.md +9 -8
- package/dist/agent-src/commands/team-knowledge/consolidate.md +8 -7
- package/dist/agent-src/commands/team.md +4 -1
- package/dist/agent-src/commands/upstream-contribute.md +0 -1
- package/dist/agent-src/contexts/authority/commit-mechanics.md +7 -0
- package/dist/agent-src/contexts/authority/destructive-mechanics.md +16 -0
- package/dist/agent-src/contexts/authority/scope-mechanics.md +61 -0
- package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +20 -18
- 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 +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/source-of-truth-mechanics.md +9 -10
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +11 -0
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +26 -15
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +3 -0
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +67 -37
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +1 -1
- package/dist/agent-src/contexts/execution/autonomy-examples.md +1 -1
- package/dist/agent-src/contexts/execution/autonomy-mechanics.md +7 -6
- package/dist/agent-src/contexts/execution/evidence-discipline.md +92 -77
- package/dist/agent-src/contexts/execution/orchestration-benchmark-gate.md +22 -21
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +24 -0
- package/dist/agent-src/contexts/execution/project-intelligence.md +122 -103
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +23 -21
- package/dist/agent-src/contexts/execution/subagent-response-contract.md +5 -5
- package/dist/agent-src/contexts/execution/subagent-routing.md +11 -0
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +13 -13
- package/dist/agent-src/contexts/execution/subagent-steering.md +36 -34
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
- package/dist/agent-src/contexts/execution/user-memory-channels.md +189 -0
- package/dist/agent-src/contexts/execution/verification-mechanics.md +9 -0
- package/dist/agent-src/contexts/model-recommendations.md +3 -2
- package/dist/agent-src/contexts/subagent-configuration.md +3 -3
- package/dist/agent-src/ghostwriter/README.md +2 -2
- package/dist/agent-src/packs/README.md +1 -1
- package/dist/agent-src/personas/README.md +5 -5
- package/dist/agent-src/personas/_template-specialist/persona.md +3 -3
- package/dist/agent-src/personas/backend-architect.md +24 -23
- package/dist/agent-src/personas/eloquent-tamer.md +30 -30
- package/dist/agent-src/personas/frontend-engineer.md +30 -30
- package/dist/agent-src/personas/product-owner.md +41 -38
- package/dist/agent-src/personas/qa.md +13 -13
- package/dist/agent-src/personas/security-engineer.md +22 -22
- package/dist/agent-src/presets/README.md +3 -3
- package/dist/agent-src/profiles/README.md +3 -3
- package/dist/agent-src/rules/active-remediation.md +2 -2
- package/dist/agent-src/rules/artifact-engagement-recording.md +4 -4
- package/dist/agent-src/rules/ask-when-uncertain.md +0 -4
- package/dist/agent-src/rules/augment-edit-discipline.md +1 -1
- package/dist/agent-src/rules/broken-access-control.md +4 -4
- package/dist/agent-src/rules/code-comment-discipline.md +1 -1
- package/dist/agent-src/rules/code-provenance.md +2 -2
- package/dist/agent-src/rules/commit-policy.md +4 -9
- package/dist/agent-src/rules/communication-through-line.md +5 -5
- package/dist/agent-src/rules/decision-revisit-gate.md +1 -1
- package/dist/agent-src/rules/design-fidelity.md +1 -1
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
- package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
- package/dist/agent-src/rules/domain-safety-pii.md +1 -1
- package/dist/agent-src/rules/external-code-graph-interop.md +1 -1
- package/dist/agent-src/rules/fast-path-marker-visibility.md +43 -7
- package/dist/agent-src/rules/finance-safety-floor.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -3
- package/dist/agent-src/rules/history-discipline.md +1 -1
- package/dist/agent-src/rules/legal-safety-floor.md +1 -1
- package/dist/agent-src/rules/lethal-trifecta-guard.md +5 -5
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +10 -8
- package/dist/agent-src/rules/media-governance-routing.md +13 -13
- package/dist/agent-src/rules/media-sync-ground-truth.md +29 -11
- package/dist/agent-src/rules/no-cheap-questions.md +7 -7
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +29 -18
- package/dist/agent-src/rules/non-destructive-by-default.md +5 -23
- package/dist/agent-src/rules/onboarding-gate.md +14 -4
- package/dist/agent-src/rules/persona-governance.md +2 -2
- package/dist/agent-src/rules/prefer-enums-over-literals.md +9 -9
- package/dist/agent-src/rules/preservation-guard.md +10 -2
- package/dist/agent-src/rules/question-not-instruction.md +1 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +6 -6
- package/dist/agent-src/rules/rule-type-governance.md +1 -1
- package/dist/agent-src/rules/scale-discipline.md +1 -1
- package/dist/agent-src/rules/scope-control.md +1 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
- package/dist/agent-src/rules/security-sensitive-stop.md +17 -11
- package/dist/agent-src/rules/senior-engineering-discipline.md +17 -17
- package/dist/agent-src/rules/session-canary.md +1 -1
- package/dist/agent-src/rules/skill-quality.md +1 -1
- package/dist/agent-src/rules/source-confidentiality.md +21 -19
- package/dist/agent-src/rules/source-of-truth.md +6 -5
- package/dist/agent-src/rules/spreadsheet-source-quality.md +2 -2
- package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
- package/dist/agent-src/rules/think-before-action.md +5 -5
- package/dist/agent-src/rules/token-budget-discipline.md +5 -3
- package/dist/agent-src/rules/token-efficiency.md +2 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +4 -4
- package/dist/agent-src/rules/user-interaction.md +12 -0
- package/dist/agent-src/rules/verify-before-complete.md +4 -24
- package/dist/agent-src/skills/adversarial-review/SKILL.md +2 -2
- package/dist/agent-src/skills/agent-security-review/SKILL.md +52 -45
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
- package/dist/agent-src/skills/ai-code-blindspots/SKILL.md +20 -20
- package/dist/agent-src/skills/ai-council/SKILL.md +185 -128
- package/dist/agent-src/skills/analysis-skill-router/SKILL.md +3 -3
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -2
- package/dist/agent-src/skills/artisan-commands/SKILL.md +2 -2
- package/dist/agent-src/skills/async-python-patterns/SKILL.md +8 -7
- package/dist/agent-src/skills/authz-review/SKILL.md +16 -15
- package/dist/agent-src/skills/aws-infrastructure/SKILL.md +5 -5
- package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +30 -12
- package/dist/agent-src/skills/code-intelligence/SKILL.md +0 -1
- package/dist/agent-src/skills/code-intelligence/evals/triggers.json +52 -0
- package/dist/agent-src/skills/code-review/SKILL.md +6 -6
- package/dist/agent-src/skills/command-routing/SKILL.md +5 -4
- package/dist/agent-src/skills/composer-packages/SKILL.md +2 -2
- package/dist/agent-src/skills/condense-memory/SKILL.md +43 -41
- package/dist/agent-src/skills/context-document/SKILL.md +23 -21
- package/dist/agent-src/skills/copilot-config/SKILL.md +6 -1
- package/dist/agent-src/skills/decision-record/SKILL.md +20 -18
- package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
- package/dist/agent-src/skills/design-review/SKILL.md +15 -14
- package/dist/agent-src/skills/design-system-capture/reference/design-system-json.md +28 -25
- package/dist/agent-src/skills/devcontainer/SKILL.md +2 -2
- package/dist/agent-src/skills/docker/SKILL.md +1 -1
- package/dist/agent-src/skills/docx-authoring/evals/triggers.json +52 -0
- package/dist/agent-src/skills/emit-tickets/SKILL.md +2 -2
- package/dist/agent-src/skills/error-handling-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +2 -2
- package/dist/agent-src/skills/evaluate-llm-feature/SKILL.md +0 -1
- package/dist/agent-src/skills/evaluate-llm-feature/evals/triggers.json +52 -0
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +21 -7
- package/dist/agent-src/skills/fe-design/SKILL.md +10 -0
- package/dist/agent-src/skills/feature-planning/SKILL.md +2 -2
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +3 -3
- package/dist/agent-src/skills/flux/SKILL.md +1 -1
- package/dist/agent-src/skills/frontend-render-security/SKILL.md +13 -13
- package/dist/agent-src/skills/git-workflow/SKILL.md +33 -33
- package/dist/agent-src/skills/grafana/SKILL.md +5 -0
- package/dist/agent-src/skills/humanizer/SKILL.md +83 -66
- package/dist/agent-src/skills/humanizer/data/patterns.md +14 -14
- package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +4 -4
- package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +82 -37
- package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +17 -5
- package/dist/agent-src/skills/judge-injection-defense/SKILL.md +63 -25
- package/dist/agent-src/skills/judge-security-auditor/SKILL.md +2 -0
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +72 -28
- package/dist/agent-src/skills/laravel-horizon/SKILL.md +5 -0
- package/dist/agent-src/skills/laravel-mail/SKILL.md +5 -4
- package/dist/agent-src/skills/laravel-middleware/SKILL.md +5 -4
- package/dist/agent-src/skills/laravel-notifications/SKILL.md +10 -9
- package/dist/agent-src/skills/laravel-pennant/SKILL.md +1 -1
- package/dist/agent-src/skills/laravel-pulse/SKILL.md +9 -8
- package/dist/agent-src/skills/laravel-reverb/SKILL.md +6 -5
- package/dist/agent-src/skills/laravel-scheduling/SKILL.md +6 -1
- package/dist/agent-src/skills/laravel-validation/SKILL.md +12 -0
- package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +7 -7
- package/dist/agent-src/skills/learning-tutor/SKILL.md +44 -43
- package/dist/agent-src/skills/learning-tutor/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-audit/SKILL.md +7 -7
- package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +3 -3
- package/dist/agent-src/skills/license-compliance-credits/SKILL.md +4 -4
- package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +0 -1
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +69 -64
- package/dist/agent-src/skills/motion-choreographer/SKILL.md +6 -6
- package/dist/agent-src/skills/pdf-tools/evals/triggers.json +52 -0
- package/dist/agent-src/skills/performance-analysis/SKILL.md +7 -3
- package/dist/agent-src/skills/persona-improvement/SKILL.md +0 -2
- package/dist/agent-src/skills/persona-improvement/evals/triggers.json +52 -0
- package/dist/agent-src/skills/php-coder/SKILL.md +10 -0
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +129 -120
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +36 -35
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +45 -41
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +4 -4
- package/dist/agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
- package/dist/agent-src/skills/project-analysis-react/SKILL.md +1 -1
- package/dist/agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
- package/dist/agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
- package/dist/agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-validator/SKILL.md +39 -39
- package/dist/agent-src/skills/quality-tools/SKILL.md +15 -15
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +55 -19
- package/dist/agent-src/skills/react-shadcn-ui/reference/registry.md +29 -27
- package/dist/agent-src/skills/readme-writing-package/SKILL.md +2 -2
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +25 -25
- package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -5
- package/dist/agent-src/skills/refine-prompt/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +20 -2
- package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
- package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
- package/dist/agent-src/skills/roadmap-management/SKILL.md +80 -66
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +84 -77
- package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
- package/dist/agent-src/skills/screenshot-hygiene/evals/triggers.json +52 -0
- package/dist/agent-src/skills/security-audit/SKILL.md +26 -9
- package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +38 -16
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +14 -11
- package/dist/agent-src/skills/skill-writing/SKILL.md +9 -8
- package/dist/agent-src/skills/song-to-script/SKILL.md +93 -85
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +4 -3
- package/dist/agent-src/skills/standards-from-config/SKILL.md +61 -43
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +22 -8
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +28 -2
- package/dist/agent-src/skills/supply-chain-intake/SKILL.md +13 -13
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +22 -21
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +1 -1
- package/dist/agent-src/skills/technical-specification/SKILL.md +5 -0
- package/dist/agent-src/skills/terraform/SKILL.md +2 -2
- package/dist/agent-src/skills/terragrunt/SKILL.md +8 -8
- package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +1 -1
- package/dist/agent-src/skills/threat-modeling/SKILL.md +19 -13
- package/dist/agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/upstream-contribute/SKILL.md +0 -1
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +9 -9
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +3 -1
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +4 -6
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +67 -61
- package/dist/agent-src/skills/video-director/SKILL.md +7 -7
- package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +3 -3
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/contexts/knowledge-pages.md +47 -45
- package/dist/agent-src/templates/contexts/lesson-card.md +2 -2
- package/dist/agent-src/templates/contexts/tenant-boundaries.md +2 -2
- package/dist/agent-src/templates/contexts.md +1 -1
- package/dist/agent-src/templates/features.md +1 -1
- package/dist/agent-src/templates/roadmaps.md +125 -116
- package/dist/agent-src/templates/rule.md +2 -1
- package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
- package/dist/agent-src/templates/scripts/tier_usage_report.ts +2 -2
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +30 -30
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +88 -33
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +22 -2
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/review.ts +21 -2
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +179 -0
- package/dist/agent-src/templates/scripts/work_engine/stack/detect.ts +155 -4
- package/dist/agent-src/templates/scripts/work_engine/state.ts +21 -4
- package/dist/agent-src/user-types/README.md +8 -8
- package/dist/agent-src/user-types/galabau-field-crew.md +34 -33
- package/dist/agent-src/user-types/metalworking-shop.md +35 -34
- package/dist/agent-src/user-types/truck-driver.md +22 -20
- package/dist/cli/initRouting.js +74 -11
- package/dist/cli/initRouting.js.map +1 -1
- package/dist/cli/main.js +14 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/python/workspace_roles.js +2 -2
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/cli-delegate/chunk-4SV3XGFA.js +6910 -0
- package/dist/cli-delegate/chunk-736JCWLM.js +1104 -0
- package/dist/cli-delegate/chunk-7DSAMZFU.js +356 -0
- package/dist/cli-delegate/chunk-7HQ52DHU.js +74 -0
- package/dist/cli-delegate/chunk-BJGXZNPM.js +266 -0
- package/dist/cli-delegate/chunk-FTAISGDQ.js +117 -0
- package/dist/cli-delegate/chunk-GME3Q44L.js +82 -0
- package/dist/cli-delegate/chunk-GRRPEPRN.js +336 -0
- package/dist/cli-delegate/chunk-HJ6DAJHR.js +502 -0
- package/dist/cli-delegate/chunk-IR7P7JWA.js +872 -0
- package/dist/cli-delegate/chunk-J55WI3RR.js +47 -0
- package/dist/cli-delegate/chunk-MCJYCQPF.js +35 -0
- package/dist/cli-delegate/chunk-NDJLNC6Q.js +169 -0
- package/dist/cli-delegate/chunk-OMIVVCG2.js +26 -0
- package/dist/cli-delegate/chunk-OY53J6II.js +7336 -0
- package/dist/cli-delegate/chunk-RDGRHAAB.js +259 -0
- package/dist/cli-delegate/chunk-TFG57JJM.js +1969 -0
- package/dist/cli-delegate/chunk-XX6TOPD7.js +715 -0
- package/dist/cli-delegate/chunk-YMFO6FDN.js +10603 -0
- package/dist/cli-delegate/cmd_analyze_session.js +294 -0
- package/dist/cli-delegate/cmd_conformance.js +646 -0
- package/dist/cli-delegate/cmd_converge.js +326 -0
- package/dist/cli-delegate/cmd_doctor.js +144 -0
- package/dist/cli-delegate/cmd_explain.js +2508 -0
- package/dist/cli-delegate/cmd_export.js +296 -0
- package/dist/cli-delegate/cmd_fleet.js +332 -0
- package/dist/cli-delegate/cmd_memory_get.js +3878 -0
- package/dist/cli-delegate/cmd_migrate.js +11 -0
- package/dist/cli-delegate/cmd_preflight.js +270 -0
- package/dist/cli-delegate/cmd_prune.js +444 -0
- package/dist/cli-delegate/cmd_refresh.js +28 -0
- package/dist/cli-delegate/cmd_settings_check.js +574 -0
- package/dist/cli-delegate/cmd_settings_migrate.js +223 -0
- package/dist/cli-delegate/cmd_sync.js +264 -0
- package/dist/cli-delegate/cmd_uninstall.js +656 -0
- package/dist/cli-delegate/cmd_update.js +425 -0
- package/dist/cli-delegate/cmd_upgrade.js +444 -0
- package/dist/cli-delegate/cmd_validate.js +305 -0
- package/dist/cli-delegate/cmd_versions.js +370 -0
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +100 -67
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +4 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +16 -10
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +7 -5
- package/dist/hooks/dispatch.js +186 -12
- package/dist/install/emit_host_rules_cli.js +2 -1
- package/dist/install/emit_host_rules_cli.js.map +1 -1
- package/dist/install/install.mjs +418 -378
- package/dist/install/rule_scope.js +5 -1
- package/dist/install/rule_scope.js.map +1 -1
- package/dist/install/toolDetection.js +40 -12
- package/dist/install/toolDetection.js.map +1 -1
- package/dist/install/wizard-plan.js +2 -2
- package/dist/install/wizard-plan.js.map +1 -1
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +2194 -1003
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/compile_time_toggles.js +48 -0
- package/dist/scripts/_lib/compile_time_toggles.js.map +1 -0
- package/dist/scripts/condense.js +234 -217
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/schemas/settings.js +4 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/shared/userMd/utils.js +30 -0
- package/dist/shared/userMd/utils.js.map +1 -1
- package/dist/ui/assets/index-BpSQt5vm.js.map +1 -1
- package/docs/guidelines/agent-infra/api-cost-levers.md +56 -5
- package/docs/guidelines/agent-infra/simplicity-and-goal-demos.md +93 -33
- package/package.json +4 -2
- package/src/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/src/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
- package/src/agent-src/templates/scripts/tier_usage_report.ts +2 -2
- package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +30 -30
- package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +88 -33
- package/src/agent-src/templates/scripts/work_engine/directives/ui/polish.ts +22 -2
- package/src/agent-src/templates/scripts/work_engine/directives/ui/review.ts +21 -2
- package/src/agent-src/templates/scripts/work_engine/directives/ui/stack_bundles.ts +179 -0
- package/src/agent-src/templates/scripts/work_engine/stack/detect.ts +155 -4
- package/src/agent-src/templates/scripts/work_engine/state.ts +21 -4
- package/src/config/agent-settings.template.yml +32 -2
- package/src/config/ci-local-parity.yml +142 -0
- package/src/config/discovery/packs.yml +7 -0
- package/src/config/evaluator-budgets.json +1 -1
- package/src/config/gate-coverage.yml +127 -0
- package/src/config/pack-size-budget.json +27 -0
- package/src/config/preamble-payload-budget.json +44 -0
- package/src/install/emit_host_rules_cli.ts +2 -1
- package/src/install/rule_scope.ts +5 -1
- package/src/install/toolDetection.ts +39 -8
- package/src/install/wizard-plan.ts +2 -2
- package/src/scripts/_cli/cmd_conformance.ts +2 -1
- package/src/scripts/_cli/cmd_converge.ts +2 -1
- package/src/scripts/_cli/cmd_doctor.ts +292 -15
- package/src/scripts/_cli/cmd_export.ts +2 -1
- package/src/scripts/_cli/cmd_fleet.ts +2 -1
- package/src/scripts/_cli/cmd_migrate.ts +2 -1
- package/src/scripts/_cli/cmd_preflight.ts +2 -1
- package/src/scripts/_cli/cmd_refresh.ts +2 -1
- package/src/scripts/_cli/cmd_update.ts +2 -1
- package/src/scripts/_cli/cmd_upgrade.ts +2 -1
- package/src/scripts/_cli/cmd_versions.ts +2 -1
- package/src/scripts/_cli/detection_report.ts +480 -0
- package/src/scripts/_dispatch.bash +52 -14
- package/src/scripts/_lib/agent_user_profile.ts +381 -0
- package/src/scripts/_lib/agents_overlay.ts +9 -0
- package/src/scripts/_lib/anchor_eval.ts +311 -0
- package/src/scripts/_lib/cc_transcript.ts +316 -0
- package/src/scripts/_lib/changelog_eras.ts +103 -9
- package/src/scripts/_lib/compile_time_toggles.ts +79 -0
- package/src/scripts/_lib/confusables.ts +101 -0
- package/src/scripts/_lib/duplicate_scope_census.ts +77 -0
- package/src/scripts/_lib/environment_detector.ts +441 -0
- package/src/scripts/_lib/managed_agents_folder.ts +181 -0
- package/src/scripts/_lib/package_root.ts +72 -0
- package/src/scripts/_lib/payload_hash_drift.ts +126 -0
- package/src/scripts/_lib/preservation_migration.ts +291 -0
- package/src/scripts/_lib/retrieval_sanitize.ts +166 -2
- package/src/scripts/_lib/scan_scope.ts +115 -0
- package/src/scripts/_lib/user_global_memory_audit.ts +187 -0
- package/src/scripts/_lib/user_global_observations.ts +830 -0
- package/src/scripts/_lib/user_global_revocations.ts +110 -0
- package/src/scripts/_lib/user_memory_gate_counters.ts +291 -0
- package/src/scripts/ai_council/blind_review.ts +0 -0
- package/src/scripts/ai_council/budget_guard.ts +90 -11
- package/src/scripts/ai_council/bundler.ts +2 -2
- package/src/scripts/ai_council/clients.ts +59 -3
- package/src/scripts/ai_council/config.ts +53 -7
- package/src/scripts/ai_council/modes.ts +68 -2
- package/src/scripts/ai_council/orchestrator.ts +54 -9
- package/src/scripts/ai_council/transport_resolver.ts +331 -0
- package/src/scripts/ai_team/team_dispatch.ts +17 -6
- package/src/scripts/anchor_eval_falsify.ts +198 -0
- package/src/scripts/anchor_scoring_run.ts +239 -0
- package/src/scripts/annotate_discovery.ts +1 -65
- package/src/scripts/bench_quality_run.ts +168 -4
- package/src/scripts/cache_realization_report.ts +782 -0
- package/src/scripts/check_artefact_count_messaging.ts +5 -1
- package/src/scripts/check_augment_description_cap.ts +15 -4
- package/src/scripts/check_bundle_path_leakage.ts +10 -4
- package/src/scripts/check_ci_local_parity.ts +317 -0
- package/src/scripts/check_condensation.ts +96 -191
- package/src/scripts/check_context_paths.ts +38 -9
- package/src/scripts/check_dependency_floors.ts +153 -0
- package/src/scripts/check_gate_coverage.ts +299 -0
- package/src/scripts/check_iron_law_prominence.ts +22 -1
- package/src/scripts/check_kernel_prefix_stability.ts +0 -0
- package/src/scripts/check_no_new_legacy_path.ts +16 -6
- package/src/scripts/check_no_roadmap_refs.ts +22 -9
- package/src/scripts/check_originality_freshness.ts +167 -0
- package/src/scripts/check_pack_size.ts +188 -0
- package/src/scripts/check_preamble_payload_budget.ts +130 -0
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_references.ts +0 -1
- package/src/scripts/check_safety_floor_untouched.ts +171 -24
- package/src/scripts/check_site_links.ts +62 -3
- package/src/scripts/ci_status.ts +0 -0
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/code_graph/build.ts +0 -0
- package/src/scripts/command_suggester/types.ts +0 -0
- package/src/scripts/compile_router.ts +10 -14
- package/src/scripts/condense.sh +3 -4
- package/src/scripts/condense.ts +247 -228
- package/src/scripts/cost/track.mjs +168 -33
- package/src/scripts/cost_summary.ts +33 -1
- package/src/scripts/council_cli.ts +51 -5
- package/src/scripts/discovery_graph.ts +0 -0
- package/src/scripts/encoding_corpus.ts +500 -0
- package/src/scripts/encoding_corpus_report.ts +216 -0
- package/src/scripts/evaluator_umbrella.sh +34 -1
- package/src/scripts/generate_index.ts +19 -2
- package/src/scripts/install-hooks.sh +2 -2
- package/src/scripts/learning_sidecar.ts +0 -0
- package/src/scripts/lint_confusables.ts +10 -72
- package/src/scripts/lint_eval_fixture_citations.ts +113 -0
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_hidden_unicode.ts +208 -0
- package/src/scripts/lint_load_context.ts +17 -5
- package/src/scripts/lint_new_skill_gate.ts +9 -3
- package/src/scripts/lint_no_python_twin_rationale.ts +17 -2
- package/src/scripts/lint_originality.ts +1 -1
- package/src/scripts/lint_skill_originality.ts +1 -1
- package/src/scripts/lint_ticket_buildable.ts +1 -1
- package/src/scripts/lint_ui_stack_bundles.ts +170 -0
- package/src/scripts/mcp_server/tools.ts +4 -4
- package/src/scripts/measure_scope_dedup.ts +224 -0
- package/src/scripts/memory_lookup.ts +0 -0
- package/src/scripts/mine_session.ts +98 -0
- package/src/scripts/orchestration_payload_hash_drift.ts +145 -0
- package/src/scripts/preamble_byte_census.ts +574 -0
- package/src/scripts/probe_skill_registration.ts +2 -2
- package/src/scripts/redact_hook_capture.ts +13 -0
- package/src/scripts/release.ts +65 -10
- package/src/scripts/router_telemetry.ts +1 -1
- package/src/scripts/second_brain_retrieval.ts +14 -4
- package/src/scripts/skill_linter.ts +5 -0
- package/src/scripts/surface-tiers.yml +2 -0
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/server/schemas/settings.ts +8 -0
- package/src/shared/userMd/utils.ts +31 -0
- package/dist/agent-src/rules/telegraph-speak.md +0 -87
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
agents/.ai-video.xml.example
|
|
4
|
+
============================
|
|
5
|
+
|
|
6
|
+
Operator-facing provider configuration for the /video:* command cluster.
|
|
7
|
+
|
|
8
|
+
Copy this file to `agents/.ai-video.xml` and fill in the API keys for the
|
|
9
|
+
providers you actually use. The real file is gitignored and MUST NEVER be
|
|
10
|
+
committed.
|
|
11
|
+
|
|
12
|
+
Loader: scripts/media/lib/load-config.sh
|
|
13
|
+
Redaction: scripts/media/lib/redact.sh
|
|
14
|
+
Docs: agents/reference/ai-video/README.md
|
|
15
|
+
-->
|
|
16
|
+
<ai-video version="1">
|
|
17
|
+
|
|
18
|
+
<!--
|
|
19
|
+
Defaults: pick which provider a /video:* run uses when the command
|
|
20
|
+
does not pass the image-provider / video-provider flags. Must match
|
|
21
|
+
a provider id="..." declared below.
|
|
22
|
+
|
|
23
|
+
Each provider carries a <lifecycle> tag — experimental | stable |
|
|
24
|
+
deprecated | community — per docs/contracts/provider-lifecycle.md.
|
|
25
|
+
Day-one shipped tiers are conservative: every adapter is
|
|
26
|
+
`experimental` until a maintainer captures a real-API smoke trace.
|
|
27
|
+
The agent refuses to *default* to a non-stable provider silently;
|
|
28
|
+
it surfaces the tier and asks before running.
|
|
29
|
+
-->
|
|
30
|
+
<default-image-provider>openai-images</default-image-provider>
|
|
31
|
+
<default-video-provider>gemini-veo</default-video-provider>
|
|
32
|
+
|
|
33
|
+
<!-- ============================================================ -->
|
|
34
|
+
<!-- Image providers -->
|
|
35
|
+
<!-- ============================================================ -->
|
|
36
|
+
|
|
37
|
+
<provider id="openai-images" kind="image">
|
|
38
|
+
<lifecycle>stable</lifecycle>
|
|
39
|
+
<api-key>sk-REPLACE-ME</api-key>
|
|
40
|
+
<endpoint>https://api.openai.com/v1</endpoint>
|
|
41
|
+
<default-model>gpt-image-1</default-model>
|
|
42
|
+
<dry-run>true</dry-run>
|
|
43
|
+
<tuning>
|
|
44
|
+
<aspect>16:9</aspect>
|
|
45
|
+
<quality>high</quality>
|
|
46
|
+
<best-of-n>4</best-of-n>
|
|
47
|
+
</tuning>
|
|
48
|
+
</provider>
|
|
49
|
+
|
|
50
|
+
<!-- ============================================================ -->
|
|
51
|
+
<!-- Video providers -->
|
|
52
|
+
<!-- ============================================================ -->
|
|
53
|
+
|
|
54
|
+
<provider id="higgsfield" kind="image+video">
|
|
55
|
+
<lifecycle>stable</lifecycle>
|
|
56
|
+
<api-key>hf-REPLACE-ME</api-key>
|
|
57
|
+
<endpoint>https://api.higgsfield.ai/v1</endpoint>
|
|
58
|
+
<default-model>higgsfield-soul</default-model>
|
|
59
|
+
<dry-run>true</dry-run>
|
|
60
|
+
<tuning>
|
|
61
|
+
<aspect>16:9</aspect>
|
|
62
|
+
<preset>cinematic</preset>
|
|
63
|
+
<max-duration>5</max-duration>
|
|
64
|
+
<best-of-n>2</best-of-n>
|
|
65
|
+
</tuning>
|
|
66
|
+
</provider>
|
|
67
|
+
|
|
68
|
+
<provider id="gemini-veo" kind="video">
|
|
69
|
+
<lifecycle>stable</lifecycle>
|
|
70
|
+
<api-key>AIza-REPLACE-ME</api-key>
|
|
71
|
+
<endpoint>https://generativelanguage.googleapis.com/v1beta</endpoint>
|
|
72
|
+
<default-model>veo-3.0-generate-001</default-model>
|
|
73
|
+
<dry-run>true</dry-run>
|
|
74
|
+
<tuning>
|
|
75
|
+
<aspect>16:9</aspect>
|
|
76
|
+
<fps>24</fps>
|
|
77
|
+
<max-duration>8</max-duration>
|
|
78
|
+
<audio-native>true</audio-native>
|
|
79
|
+
</tuning>
|
|
80
|
+
</provider>
|
|
81
|
+
|
|
82
|
+
<provider id="kling" kind="video">
|
|
83
|
+
<lifecycle>stable</lifecycle>
|
|
84
|
+
<access-key>kling-access-REPLACE-ME</access-key>
|
|
85
|
+
<secret-key>kling-secret-REPLACE-ME</secret-key>
|
|
86
|
+
<endpoint>https://api.klingai.com/v1</endpoint>
|
|
87
|
+
<default-model>kling-v2-master</default-model>
|
|
88
|
+
<dry-run>true</dry-run>
|
|
89
|
+
<tuning>
|
|
90
|
+
<aspect>16:9</aspect>
|
|
91
|
+
<fps>30</fps>
|
|
92
|
+
<max-duration>10</max-duration>
|
|
93
|
+
<audio-native>false</audio-native>
|
|
94
|
+
</tuning>
|
|
95
|
+
</provider>
|
|
96
|
+
|
|
97
|
+
<provider id="sora" kind="video">
|
|
98
|
+
<lifecycle>stable</lifecycle>
|
|
99
|
+
<api-key>sora-REPLACE-ME</api-key>
|
|
100
|
+
<endpoint>https://api.openai.com/v1</endpoint>
|
|
101
|
+
<default-model>sora-2</default-model>
|
|
102
|
+
<dry-run>true</dry-run>
|
|
103
|
+
<tuning>
|
|
104
|
+
<aspect>16:9</aspect>
|
|
105
|
+
<fps>30</fps>
|
|
106
|
+
<max-duration>20</max-duration>
|
|
107
|
+
<audio-native>true</audio-native>
|
|
108
|
+
</tuning>
|
|
109
|
+
</provider>
|
|
110
|
+
|
|
111
|
+
<!-- ============================================================ -->
|
|
112
|
+
<!-- Multiplexer providers — one adapter, many models -->
|
|
113
|
+
<!-- Model selection: top-level `model_id` stdin key overrides -->
|
|
114
|
+
<!-- <default-model>. Per-model capabilities: -->
|
|
115
|
+
<!-- scripts/ai-video/lib/model-capabilities/<id>.json -->
|
|
116
|
+
<!-- Kill-switch: <enabled>false</enabled> refuses every network -->
|
|
117
|
+
<!-- subcommand without editing procedures that name the provider.-->
|
|
118
|
+
<!-- ============================================================ -->
|
|
119
|
+
|
|
120
|
+
<provider id="fal" kind="video">
|
|
121
|
+
<lifecycle>stable</lifecycle>
|
|
122
|
+
<enabled>true</enabled>
|
|
123
|
+
<api-key>fal-REPLACE-ME</api-key>
|
|
124
|
+
<endpoint>https://queue.fal.run</endpoint>
|
|
125
|
+
<default-model>fal-ai/ltx-2/text-to-video</default-model>
|
|
126
|
+
<dry-run>true</dry-run>
|
|
127
|
+
<tuning>
|
|
128
|
+
<aspect>16:9</aspect>
|
|
129
|
+
<max-duration>10</max-duration>
|
|
130
|
+
<audio-native>false</audio-native>
|
|
131
|
+
</tuning>
|
|
132
|
+
</provider>
|
|
133
|
+
|
|
134
|
+
<provider id="replicate" kind="video">
|
|
135
|
+
<lifecycle>stable</lifecycle>
|
|
136
|
+
<enabled>true</enabled>
|
|
137
|
+
<api-key>r8_REPLACE-ME</api-key>
|
|
138
|
+
<endpoint>https://api.replicate.com/v1</endpoint>
|
|
139
|
+
<default-model>kwaivgi/kling-v2.1-master</default-model>
|
|
140
|
+
<dry-run>true</dry-run>
|
|
141
|
+
<tuning>
|
|
142
|
+
<aspect>16:9</aspect>
|
|
143
|
+
<max-duration>10</max-duration>
|
|
144
|
+
<audio-native>false</audio-native>
|
|
145
|
+
</tuning>
|
|
146
|
+
</provider>
|
|
147
|
+
|
|
148
|
+
<!--
|
|
149
|
+
Local ComfyUI (ADR-060 — container-primary sandbox). No api-key:
|
|
150
|
+
the adapter talks to YOUR ComfyUI. A loopback endpoint is assumed
|
|
151
|
+
to be the shipped container posture (read-only image, cap-drop ALL,
|
|
152
|
+
network-none at generation time — run line in the adapter header).
|
|
153
|
+
A NON-loopback endpoint is the remote escape hatch: isolation is
|
|
154
|
+
the operator's responsibility and the block must carry
|
|
155
|
+
<unsandboxed>accepted</unsandboxed> or the adapter refuses (exit 6).
|
|
156
|
+
Models: wan22-ti2v-5b (default, Apache-2.0) | ltx-2 (audio-sync).
|
|
157
|
+
Shipped workflow templates only — operator workflow JSONs are
|
|
158
|
+
rejected by design. macOS: no CUDA — container path is
|
|
159
|
+
reference-only; use the remote escape hatch.
|
|
160
|
+
-->
|
|
161
|
+
<provider id="comfyui" kind="video">
|
|
162
|
+
<lifecycle>experimental</lifecycle>
|
|
163
|
+
<enabled>true</enabled>
|
|
164
|
+
<endpoint>http://127.0.0.1:8188</endpoint>
|
|
165
|
+
<default-model>wan22-ti2v-5b</default-model>
|
|
166
|
+
<dry-run>true</dry-run>
|
|
167
|
+
<tuning>
|
|
168
|
+
<aspect>16:9</aspect>
|
|
169
|
+
<max-duration>5</max-duration>
|
|
170
|
+
<audio-native>false</audio-native>
|
|
171
|
+
</tuning>
|
|
172
|
+
</provider>
|
|
173
|
+
|
|
174
|
+
<!-- ============================================================ -->
|
|
175
|
+
<!-- Audio adapters (music-video orchestration) -->
|
|
176
|
+
<!-- Contract: scripts/ai-video/lib/audio-adapter-contract.md -->
|
|
177
|
+
<!-- local-cli adapters wrap an OPERATOR-installed tool (pip) — -->
|
|
178
|
+
<!-- no api-key element needed; <enabled>false</enabled> opts a -->
|
|
179
|
+
<!-- configured-but-unwanted adapter out (otherwise a missing CLI -->
|
|
180
|
+
<!-- is a loud config failure, never a silent probe fallback). -->
|
|
181
|
+
<!-- ============================================================ -->
|
|
182
|
+
|
|
183
|
+
<provider id="allin1" kind="audio-analysis">
|
|
184
|
+
<lifecycle>experimental</lifecycle>
|
|
185
|
+
<enabled>true</enabled>
|
|
186
|
+
<dry-run>true</dry-run>
|
|
187
|
+
</provider>
|
|
188
|
+
|
|
189
|
+
<provider id="whisperx" kind="lyrics">
|
|
190
|
+
<lifecycle>experimental</lifecycle>
|
|
191
|
+
<enabled>true</enabled>
|
|
192
|
+
<dry-run>true</dry-run>
|
|
193
|
+
</provider>
|
|
194
|
+
|
|
195
|
+
<!-- ============================================================ -->
|
|
196
|
+
<!-- Lip-sync post-process (v2 contract, kind="lipsync") -->
|
|
197
|
+
<!-- Sparse budget: lib/model-capabilities/syncso.json -->
|
|
198
|
+
<!-- ============================================================ -->
|
|
199
|
+
|
|
200
|
+
<!--
|
|
201
|
+
Local (MIT) lip-sync — offline alternative to syncso. Wraps an
|
|
202
|
+
OPERATOR-installed MuseTalk (github.com/TMElyralab/MuseTalk); the
|
|
203
|
+
wrapped entry point is configurable via the MUSETALK_CMD env var.
|
|
204
|
+
No api-key. Same sparse lipsync_budget discipline as syncso
|
|
205
|
+
(lib/model-capabilities/musetalk.json) — local renders are free but
|
|
206
|
+
the quality argument for sparseness is unchanged.
|
|
207
|
+
-->
|
|
208
|
+
<provider id="musetalk" kind="lipsync">
|
|
209
|
+
<lifecycle>experimental</lifecycle>
|
|
210
|
+
<enabled>true</enabled>
|
|
211
|
+
<dry-run>true</dry-run>
|
|
212
|
+
</provider>
|
|
213
|
+
|
|
214
|
+
<provider id="syncso" kind="lipsync">
|
|
215
|
+
<lifecycle>experimental</lifecycle>
|
|
216
|
+
<enabled>true</enabled>
|
|
217
|
+
<api-key>sk-REPLACE-ME</api-key>
|
|
218
|
+
<endpoint>https://api.sync.so</endpoint>
|
|
219
|
+
<default-model>lipsync-2</default-model>
|
|
220
|
+
<dry-run>true</dry-run>
|
|
221
|
+
</provider>
|
|
222
|
+
|
|
223
|
+
<!-- ============================================================ -->
|
|
224
|
+
<!-- Extra slot — future providers without schema bump -->
|
|
225
|
+
<!-- Use kind="image" | "video" | "image+video" | "audio-analysis"-->
|
|
226
|
+
<!-- | "lyrics" | "lipsync". -->
|
|
227
|
+
<!-- ============================================================ -->
|
|
228
|
+
|
|
229
|
+
<extra>
|
|
230
|
+
<!--
|
|
231
|
+
<provider id="my-future-backend" kind="video">
|
|
232
|
+
<lifecycle>experimental</lifecycle>
|
|
233
|
+
<api-key>REPLACE-ME</api-key>
|
|
234
|
+
<endpoint>https://example.invalid/v1</endpoint>
|
|
235
|
+
<default-model>example-1</default-model>
|
|
236
|
+
<dry-run>true</dry-run>
|
|
237
|
+
<tuning>
|
|
238
|
+
<aspect>16:9</aspect>
|
|
239
|
+
<fps>24</fps>
|
|
240
|
+
<max-duration>6</max-duration>
|
|
241
|
+
<audio-native>false</audio-native>
|
|
242
|
+
</tuning>
|
|
243
|
+
</provider>
|
|
244
|
+
-->
|
|
245
|
+
</extra>
|
|
246
|
+
|
|
247
|
+
</ai-video>
|
|
@@ -57,9 +57,9 @@ the last record from `agents/cost-tracking/sessions.jsonl`. If the file
|
|
|
57
57
|
does not exist (tracker never run for this project), skip this step and
|
|
58
58
|
note `cost ledger: not initialised` in the dashboard.
|
|
59
59
|
|
|
60
|
-
Extract from latest record:
|
|
60
|
+
Extract from the latest record:
|
|
61
61
|
|
|
62
|
-
- `total_usd` — dollars spent in current session
|
|
62
|
+
- `total_usd` — dollars spent in the current session
|
|
63
63
|
- `by_model[]` — per-tier (haiku / sonnet / opus) input / output / cache split
|
|
64
64
|
- `budget.tier` — `under` / `50` / `75` / `90` / `100` (from `node scripts/cost/budget.mjs check`)
|
|
65
65
|
|
|
@@ -68,19 +68,20 @@ implementation: [`scripts/cost/track.mjs`](../../scripts/cost/track.mjs).
|
|
|
68
68
|
|
|
69
69
|
### 3b. Read telegraph delta + per-conversation cost lens
|
|
70
70
|
|
|
71
|
-
Run two read-only Python helpers (stdlib-only, no-op safe if
|
|
71
|
+
Run two read-only Python helpers (both stdlib-only, both no-op safe if the
|
|
72
|
+
JSONL is missing):
|
|
72
73
|
|
|
73
74
|
- `./scripts-run src/scripts/telegraph_stats --format json` — per-session +
|
|
74
|
-
per-conversation + lifetime telegraph delta. Honors suspended
|
|
75
|
-
multiplier (see [`docs/contracts/telegraph-telemetry.md`](../docs/contracts/telegraph-telemetry.md)) — delta reads `0` while suspended; display version + ACTIVE/SUSPENDED state regardless.
|
|
75
|
+
per-conversation + lifetime telegraph delta. Honors the suspended
|
|
76
|
+
multiplier (see [`docs/contracts/telegraph-telemetry.md`](../docs/contracts/telegraph-telemetry.md)) — delta reads `0` while suspended; display the version + ACTIVE/SUSPENDED state regardless.
|
|
76
77
|
- `./scripts-run src/scripts/cost_by_conversation --format json` — per-conversation
|
|
77
|
-
total cost + model breakdown for current conversation, sourced
|
|
78
|
-
from same `agents/cost-tracking/sessions.jsonl` ledger.
|
|
78
|
+
total cost + model breakdown for the current conversation, sourced
|
|
79
|
+
from the same `agents/cost-tracking/sessions.jsonl` ledger.
|
|
79
80
|
|
|
80
|
-
Surface in dashboard as one line:
|
|
81
|
+
Surface in the dashboard as one line:
|
|
81
82
|
`[telegraph: {lifetime.delta_tokens:+,} tok lifetime · {current_conv.delta_tokens:+,} this conv · multiplier v{multiplier_version} {ACTIVE|SUSPENDED}] · [conv cost: ${current_conv.total_cost_usd:.4f}]`.
|
|
82
83
|
|
|
83
|
-
If both JSONLs missing or empty, omit line silently.
|
|
84
|
+
If both JSONLs are missing or empty, omit the line silently.
|
|
84
85
|
|
|
85
86
|
### 4. Calculate freshness thresholds
|
|
86
87
|
|
|
@@ -113,7 +114,7 @@ Use Markdown tables and headings — NOT ASCII box art (breaks in non-monospace
|
|
|
113
114
|
|
|
114
115
|
**💵 Session cost (measured)**
|
|
115
116
|
|
|
116
|
-
If ledger exists, render:
|
|
117
|
+
If the ledger exists, render:
|
|
117
118
|
|
|
118
119
|
| | |
|
|
119
120
|
|---|---|
|
|
@@ -122,7 +123,7 @@ If ledger exists, render:
|
|
|
122
123
|
| 🎯 Budget tier | {emoji} {tier} ({utilization_pct}% of cap) |
|
|
123
124
|
|
|
124
125
|
Tier-emoji map: `under` / `50` → ✅ · `75` → ⚠️ · `90` → ⚠️⚠️ · `100` → ❌.
|
|
125
|
-
If ledger does not exist, render `Session cost: not initialised — run \`task cost:track\` to start measuring`.
|
|
126
|
+
If the ledger does not exist, render `Session cost: not initialised — run \`task cost:track\` to start measuring`.
|
|
126
127
|
|
|
127
128
|
**⚡ Freshness**
|
|
128
129
|
|
|
@@ -7,7 +7,7 @@ visibility: internal
|
|
|
7
7
|
cluster: agents
|
|
8
8
|
sub: user
|
|
9
9
|
skills: [agents]
|
|
10
|
-
description: Apply a buffered observation to .agent-user.md after explicit user confirmation; bumps last_updated and drops the applied observations from the buffer.
|
|
10
|
+
description: Apply a buffered observation to .agent-user.md or the global profile.md after explicit user confirmation; bumps last_updated and drops the applied observations from the buffer.
|
|
11
11
|
argument-hint: "[field]"
|
|
12
12
|
suggestion:
|
|
13
13
|
eligible: false
|
|
@@ -20,9 +20,16 @@ packs:
|
|
|
20
20
|
|
|
21
21
|
# /agents user accept
|
|
22
22
|
|
|
23
|
-
Apply a buffered observation from
|
|
24
|
-
[
|
|
25
|
-
to `.agent-user.md`
|
|
23
|
+
Apply a buffered observation from either
|
|
24
|
+
[the project-local or the global observation buffer](../../../../../docs/contracts/agent-user-schema.md#observation-buffer)
|
|
25
|
+
to the matching profile file — `.agent-user.md` for a project-local
|
|
26
|
+
observation, the global `~/.event4u/agent-config/user/profile.md` for a
|
|
27
|
+
global one (ADR-138, road-to-global-user-memory Phase 2) — after
|
|
28
|
+
explicit confirmation.
|
|
29
|
+
|
|
30
|
+
This is the **only** step in the learning channel that writes a profile
|
|
31
|
+
file. Everything upstream (the miner, the buffers, `/agents user review`)
|
|
32
|
+
only ever proposes.
|
|
26
33
|
|
|
27
34
|
Use when:
|
|
28
35
|
|
|
@@ -40,34 +47,77 @@ ls .agent-user.md 2>/dev/null
|
|
|
40
47
|
ls .agent-user.observations.jsonl 2>/dev/null
|
|
41
48
|
```
|
|
42
49
|
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
Resolve the global buffer/profile paths via
|
|
51
|
+
`user_global_observations.resolveGlobalObservationsPath()` /
|
|
52
|
+
`agent_user_profile.resolveGlobalProfilePath()`.
|
|
53
|
+
|
|
54
|
+
Both the project-local file/buffer AND the global profile/buffer
|
|
55
|
+
missing → print "Run `/agents user init` and accumulate observations
|
|
56
|
+
first." and stop. Otherwise proceed with whichever layer(s) have a
|
|
57
|
+
buffered observation.
|
|
45
58
|
|
|
46
|
-
### 2. Resolve target field
|
|
59
|
+
### 2. Resolve target field + layer
|
|
47
60
|
|
|
48
|
-
| Invocation | Resolved field |
|
|
61
|
+
| Invocation | Resolved field + layer |
|
|
49
62
|
|---|---|
|
|
50
|
-
| Handed off from `/agents user review` option 1 | The most-frequent field |
|
|
51
|
-
| `/agents user
|
|
52
|
-
| `/agents user accept
|
|
63
|
+
| Handed off from `/agents user review` option 1 | The most-frequent field, with the layer `review` reported it under |
|
|
64
|
+
| Handed off from `/agents user review` option 4 (a promotion candidate) | The candidate's `suggest` text, layer `global` — see § 2b below, skip straight to step 4 with the promotion framing |
|
|
65
|
+
| `/agents user accept <field>` | `<field>` (must match the schema enum); if both layers have an observation for it, ask which layer |
|
|
66
|
+
| `/agents user accept` with no arg | Print the field list (both layers), ask which |
|
|
53
67
|
|
|
54
68
|
Invalid field → print the schema enum and stop.
|
|
55
69
|
|
|
56
|
-
###
|
|
70
|
+
### 2b. Promotion candidates need a `promotion_reason` (road-to-global-user-memory Phase 3)
|
|
71
|
+
|
|
72
|
+
A candidate handed off from review option 4 has `seen_count ≥ 3` and a
|
|
73
|
+
`seen_in[]` project list — human-confirmed recurrence across that many
|
|
74
|
+
DIFFERENT projects (per
|
|
75
|
+
[`findPromotionCandidates`](../../../../../src/scripts/_lib/user_global_observations.ts)).
|
|
76
|
+
Crossing that threshold is candidacy only; it never auto-promotes
|
|
77
|
+
(mirroring ADR-121's rule that a knowledge card has no auto-`shareable`
|
|
78
|
+
path). Before step 4's confirmation, collect one additional line from the
|
|
79
|
+
user:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
This observation recurred in {seen_count} projects: {seen_in joined by ", "}.
|
|
83
|
+
|
|
84
|
+
Why should this generalise to your global profile?
|
|
85
|
+
> {free-text promotion_reason — required, no default}
|
|
86
|
+
```
|
|
57
87
|
|
|
58
|
-
|
|
88
|
+
An empty answer is not accepted — re-ask once, then fall back to
|
|
89
|
+
"Cancel" if the user still declines to give a reason. The
|
|
90
|
+
`promotion_reason` is shown in step 4's confirmation block (below) but is
|
|
91
|
+
**never written to `profile.md`** — see § 3 write below; it exists to make
|
|
92
|
+
the human's judgment call visible in this transcript, not to persist
|
|
93
|
+
alongside the fact.
|
|
59
94
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
95
|
+
### 3. Compute proposed change
|
|
96
|
+
|
|
97
|
+
For the resolved field + layer — or, for a promotion candidate (§ 2b),
|
|
98
|
+
the single matched buffer entry:
|
|
99
|
+
|
|
100
|
+
1. Read every matching observation from that layer's buffer only —
|
|
101
|
+
`.agent-user.observations.jsonl` for `project`,
|
|
102
|
+
`user_global_observations.readGlobalObservations()` for `global`.
|
|
103
|
+
2. Pick the **latest** `suggest` value (most recent `ts` wins). For a
|
|
104
|
+
promotion candidate, the proposed value is
|
|
105
|
+
[`promotionValueFor(candidate)`](../../../../../src/scripts/_lib/user_global_observations.ts) —
|
|
106
|
+
the fact text ONLY, never the `context` or `seen_in` metadata attached
|
|
107
|
+
to it.
|
|
108
|
+
3. Read the current value from that layer's profile file
|
|
109
|
+
(`.agent-user.md` or the global `profile.md`) — NOT the merged
|
|
110
|
+
effective value, so the confirmation shows exactly what this layer
|
|
111
|
+
will change.
|
|
63
112
|
4. If they match, print "No change — current value already matches
|
|
64
113
|
the latest observation." and skip to step 6.
|
|
65
114
|
|
|
66
115
|
### 4. Confirm
|
|
67
116
|
|
|
68
117
|
```
|
|
69
|
-
Apply this change to .agent-user.md?
|
|
118
|
+
Apply this change to {.agent-user.md | the global profile}?
|
|
70
119
|
|
|
120
|
+
layer : {project | global}
|
|
71
121
|
field : {field}
|
|
72
122
|
current : "{current_value}"
|
|
73
123
|
proposed: "{proposed_value}"
|
|
@@ -76,7 +126,15 @@ Apply this change to .agent-user.md?
|
|
|
76
126
|
|
|
77
127
|
> 1. Apply
|
|
78
128
|
> 2. Skip — keep current value, drop these observations from the buffer
|
|
79
|
-
> 3. Cancel — leave
|
|
129
|
+
> 3. Cancel — leave the profile and buffer untouched
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
For a promotion candidate, append two lines above `> 1. Apply` instead of
|
|
133
|
+
`source`/`evidence`:
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
seen in : {seen_count} projects ({seen_in joined by ", "})
|
|
137
|
+
reason : "{promotion_reason from § 2b}"
|
|
80
138
|
```
|
|
81
139
|
|
|
82
140
|
One question per turn. Wait for the user's number.
|
|
@@ -85,24 +143,40 @@ One question per turn. Wait for the user's number.
|
|
|
85
143
|
|
|
86
144
|
On `1. Apply`:
|
|
87
145
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
146
|
+
- **`project` layer:** rewrite the targeted field in `.agent-user.md`
|
|
147
|
+
frontmatter, preserving every other field (a YAML round-trip loader
|
|
148
|
+
that keeps formatting), bump `last_updated` to today (ISO
|
|
149
|
+
`YYYY-MM-DD`), validate ≤100 lines + privacy floor clean — any
|
|
150
|
+
violation rolls back and prints the error.
|
|
151
|
+
- **`global` layer:** call
|
|
152
|
+
[`applyObservationToGlobalProfile(field, value, { today })`](../../../../src/scripts/_lib/agent_user_profile.ts) —
|
|
153
|
+
it round-trips the existing `profile.md` (or starts from empty),
|
|
154
|
+
sets the field, bumps `last_updated`, and throws (never partially
|
|
155
|
+
writes) if the result would exceed the global layer's own 100-line
|
|
156
|
+
cap. A thrown error is the roll-back signal — print it and stop. For a
|
|
157
|
+
promotion candidate, `value` is `promotionValueFor(candidate)` — the
|
|
158
|
+
`promotion_reason` collected in § 2b is shown in step 4's confirmation
|
|
159
|
+
only; it is **never** passed to `applyObservationToGlobalProfile` and
|
|
160
|
+
never appears in `profile.md`, alongside `context`/`seen_in`, which are
|
|
161
|
+
likewise never written. This is the only generalisation path, and it
|
|
162
|
+
leaves the durable profile with zero project references (see
|
|
163
|
+
[`agent-user-schema.md § Project attribution`](../../../../../docs/contracts/agent-user-schema.md#project-attribution-road-to-global-user-memory-phase-3)).
|
|
164
|
+
|
|
165
|
+
Either layer: drop **all** applied observations for that field from
|
|
166
|
+
**that layer's own buffer only** (rewrite the JSONL minus matching
|
|
167
|
+
lines) — never touch the other layer's buffer. For a promoted candidate,
|
|
168
|
+
this drops only the ONE matched buffer entry (identified in § 2b), not
|
|
169
|
+
every `notes`-field entry in the buffer.
|
|
170
|
+
|
|
171
|
+
On `2. Skip`: leave the profile untouched but still drop the
|
|
172
|
+
observations for that field from that layer's buffer.
|
|
99
173
|
|
|
100
174
|
On `3. Cancel`: stop without any write.
|
|
101
175
|
|
|
102
176
|
### 6. Confirm
|
|
103
177
|
|
|
104
178
|
```
|
|
105
|
-
✅
|
|
179
|
+
✅ {layer} profile updated ({field}: "{old}" → "{new}", last_updated: YYYY-MM-DD).
|
|
106
180
|
Buffer: {n} observations removed, {m} remaining.
|
|
107
181
|
```
|
|
108
182
|
|
|
@@ -115,11 +189,22 @@ Do NOT commit. Do NOT auto-chain to a second field.
|
|
|
115
189
|
- Never write without explicit confirmation in step 4.
|
|
116
190
|
- Never bypass the privacy-floor scan, even if the buffer writer
|
|
117
191
|
already redacted.
|
|
192
|
+
- Never write to the layer the observation did NOT come from — an
|
|
193
|
+
observation buffered as `global` writes `profile.md`, never
|
|
194
|
+
`.agent-user.md`, and vice versa.
|
|
195
|
+
- Never accept a promotion candidate without a non-empty
|
|
196
|
+
`promotion_reason` (§ 2b) — a `seen_count ≥ 3` tally is candidacy, not
|
|
197
|
+
authorization.
|
|
198
|
+
- Never write `context` or `seen_in` to `profile.md` — a promotion writes
|
|
199
|
+
`promotionValueFor(candidate)`, the fact text only.
|
|
118
200
|
- Mirror the user's language for prompts per
|
|
119
201
|
[`language-and-tone`](../../../../dist/agent-src/rules/language-and-tone.md).
|
|
120
202
|
|
|
121
203
|
## See also
|
|
122
204
|
|
|
123
205
|
- Schema + buffer contract: [`agent-user-schema § Observation buffer`](../../../../../docs/contracts/agent-user-schema.md#observation-buffer).
|
|
206
|
+
- Project attribution + promotion: [`agent-user-schema § Project attribution`](../../../../../docs/contracts/agent-user-schema.md#project-attribution-road-to-global-user-memory-phase-3).
|
|
207
|
+
- Global write primitive: [`agent_user_profile.applyObservationToGlobalProfile`](../../../../src/scripts/_lib/agent_user_profile.ts).
|
|
208
|
+
- Promotion primitives: [`findPromotionCandidates`, `promotionValueFor`](../../../../../src/scripts/_lib/user_global_observations.ts).
|
|
124
209
|
- Parent: [`/agents user`](../user.md).
|
|
125
210
|
- Sibling: [`/agents user review`](review.md), [`/agents user update`](update.md).
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
model_tier: medium
|
|
3
|
+
name: agents-user-delete
|
|
4
|
+
pack: meta
|
|
5
|
+
tier: 2
|
|
6
|
+
visibility: internal
|
|
7
|
+
cluster: agents
|
|
8
|
+
sub: user
|
|
9
|
+
skills: [agents]
|
|
10
|
+
description: Delete one buffered global observation, purge every observation attributed to a project, or revoke a field from the global profile.md — each writes an append-only tombstone before deleting.
|
|
11
|
+
argument-hint: "[observation <id> | project <path> | profile-field <field>]"
|
|
12
|
+
suggestion:
|
|
13
|
+
eligible: false
|
|
14
|
+
rationale: "Mutates the global observation buffer or profile.md — only run from /agents user review, /agents user show --audit, or explicit user invocation."
|
|
15
|
+
workspaces:
|
|
16
|
+
- agent-config-maintainer
|
|
17
|
+
packs:
|
|
18
|
+
- meta
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# /agents user delete
|
|
22
|
+
|
|
23
|
+
Delete something the learning channel wrote to the **global** layer —
|
|
24
|
+
road-to-global-user-memory Phase 4, the delete counterpart of
|
|
25
|
+
[`/agents user accept`](accept.md). Every deletion writes an
|
|
26
|
+
append-only tombstone to the revocation ledger BEFORE the underlying
|
|
27
|
+
file is rewritten without it — see
|
|
28
|
+
[`agent-user-schema § Delete, revoke, and audit`](../../../../../docs/contracts/agent-user-schema.md#delete-revoke-and-audit-road-to-global-user-memory-phase-4).
|
|
29
|
+
|
|
30
|
+
Three targets, one per invocation:
|
|
31
|
+
|
|
32
|
+
| Target | Removes | Backing function |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `observation <id>` | ONE buffered line from `observations.jsonl` | [`deleteGlobalObservation`](../../../../../src/scripts/_lib/user_global_observations.ts) |
|
|
35
|
+
| `project <path>` | EVERY observation attributed (`context.project_path`) to that project | [`purgeProjectContext`](../../../../../src/scripts/_lib/user_global_observations.ts) |
|
|
36
|
+
| `profile-field <field>` | A field's value from the global `profile.md` | [`revokeGlobalProfileField`](../../../../../src/scripts/_lib/agent_user_profile.ts) |
|
|
37
|
+
|
|
38
|
+
Use when:
|
|
39
|
+
|
|
40
|
+
- [`/agents user show --audit`](show.md) or
|
|
41
|
+
[`/agents user review`](review.md) surfaced something the user wants
|
|
42
|
+
gone.
|
|
43
|
+
- A project was deleted and its buffered facts should not linger
|
|
44
|
+
forever (`project <path>`).
|
|
45
|
+
- A promoted or accepted profile field turned out to be wrong
|
|
46
|
+
(`profile-field <field>`).
|
|
47
|
+
|
|
48
|
+
Never runs autonomously — always asks before writing, exactly like
|
|
49
|
+
`accept`.
|
|
50
|
+
|
|
51
|
+
## Steps
|
|
52
|
+
|
|
53
|
+
### 1. Resolve the target
|
|
54
|
+
|
|
55
|
+
| Invocation | Target |
|
|
56
|
+
|---|---|
|
|
57
|
+
| `/agents user delete observation <id>` | The buffered observation whose `observationId` equals `<id>` (shown by `/agents user show --audit` or `/agents user review`) |
|
|
58
|
+
| `/agents user delete project <path>` | Every observation whose `context.project_path` equals `<path>` |
|
|
59
|
+
| `/agents user delete profile-field <field>` | `<field>` in the global `profile.md` (must match the schema enum) |
|
|
60
|
+
| No argument | Print the target-kind table above and ask which; then ask for the id/path/field |
|
|
61
|
+
|
|
62
|
+
Invalid `<field>` → print the schema enum and stop. No observation
|
|
63
|
+
matches `<id>` → print "No buffered observation with that id." and
|
|
64
|
+
stop (no tombstone is written for a no-op — see the backing functions'
|
|
65
|
+
`deleted: false` / `purgedCount: 0` contract).
|
|
66
|
+
|
|
67
|
+
### 2. Confirm
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Delete this from the global user-memory layer?
|
|
71
|
+
|
|
72
|
+
target : {observation <id> | project <path> | profile-field <field>}
|
|
73
|
+
current: {for profile-field — the current value; for observation/project — the suggest text(s) that will be removed}
|
|
74
|
+
|
|
75
|
+
> 1. Delete — write a tombstone, then remove
|
|
76
|
+
> 2. Cancel — leave everything untouched
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
For `project <path>`, list every matched observation's `suggest` text
|
|
80
|
+
before asking, so the user confirms the actual scope, not just a count.
|
|
81
|
+
|
|
82
|
+
One question per turn. Wait for the user's number.
|
|
83
|
+
|
|
84
|
+
### 3. Ask for a reason
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
Why is this being deleted? (one line, becomes the tombstone's `reason`)
|
|
88
|
+
> {free-text reason}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
An empty answer is not accepted — re-ask once, then default to `"no
|
|
92
|
+
reason given"` if the user still declines (mirrors
|
|
93
|
+
[`user_global_revocations.appendTombstone`](../../../../../src/scripts/_lib/user_global_revocations.ts)'s
|
|
94
|
+
own fallback, so a user who truly has nothing to say is never blocked).
|
|
95
|
+
|
|
96
|
+
### 4. Write
|
|
97
|
+
|
|
98
|
+
On `1. Delete`, call the matching function with today's date and the
|
|
99
|
+
step-3 reason:
|
|
100
|
+
|
|
101
|
+
- `observation <id>` →
|
|
102
|
+
[`deleteGlobalObservation(id, reason, { today })`](../../../../../src/scripts/_lib/user_global_observations.ts).
|
|
103
|
+
- `project <path>` →
|
|
104
|
+
[`purgeProjectContext(path, reason, { today })`](../../../../../src/scripts/_lib/user_global_observations.ts).
|
|
105
|
+
- `profile-field <field>` →
|
|
106
|
+
[`revokeGlobalProfileField(field, reason, { today })`](../../../../../src/scripts/_lib/agent_user_profile.ts).
|
|
107
|
+
|
|
108
|
+
Each function writes its tombstone(s) BEFORE the buffer/profile
|
|
109
|
+
rewrite — never call `fs`/the file directly from this command; always
|
|
110
|
+
go through the function so the tombstone-before-delete order holds.
|
|
111
|
+
|
|
112
|
+
On `2. Cancel`: stop without any write, without any tombstone.
|
|
113
|
+
|
|
114
|
+
### 5. Confirm
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
✅ Deleted ({target}). Tombstone recorded: {entity_id}, {revoked_at}.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
For `project <path>`, report the count: `✅ Purged {n} observation(s) from {path}. {n} tombstone(s) recorded.`
|
|
121
|
+
|
|
122
|
+
Do NOT commit. Do NOT auto-chain to a second deletion.
|
|
123
|
+
|
|
124
|
+
## Rules
|
|
125
|
+
|
|
126
|
+
- One target per invocation. Run the command again for the next
|
|
127
|
+
deletion.
|
|
128
|
+
- Never delete without explicit confirmation in step 2 and a reason
|
|
129
|
+
from step 3.
|
|
130
|
+
- Never write to a file directly — every deletion goes through
|
|
131
|
+
`deleteGlobalObservation`, `purgeProjectContext`, or
|
|
132
|
+
`revokeGlobalProfileField` so the tombstone always precedes the
|
|
133
|
+
delete.
|
|
134
|
+
- Never touch project-local `.agent-user.md` or its buffer from this
|
|
135
|
+
command — this leaf covers the global layer only. A project-local
|
|
136
|
+
fact is deleted by editing `.agent-user.md` directly (it never left
|
|
137
|
+
the project) or via [`/agents user review`](review.md)'s existing
|
|
138
|
+
"clear a buffer" option.
|
|
139
|
+
- Mirror the user's language for prompts per
|
|
140
|
+
[`language-and-tone`](../../../../dist/agent-src/rules/language-and-tone.md).
|
|
141
|
+
|
|
142
|
+
## See also
|
|
143
|
+
|
|
144
|
+
- Schema: [`agent-user-schema § Delete, revoke, and audit`](../../../../../docs/contracts/agent-user-schema.md#delete-revoke-and-audit-road-to-global-user-memory-phase-4) — the write→delete mapping and the ADR-121 reuse this command exposes.
|
|
145
|
+
- Audit source: [`/agents user show --audit`](show.md) — the read surface that surfaces what there is to delete.
|
|
146
|
+
- Parent: [`/agents user`](../user.md).
|
|
147
|
+
- Sibling: [`/agents user review`](review.md), [`/agents user accept`](accept.md) — the write side this command undoes.
|