@event4u/agent-config 1.20.0 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent-src/commands/agents.md +1 -1
- package/.agent-src/commands/bug-fix.md +2 -1
- package/.agent-src/commands/bug-investigate.md +3 -2
- package/.agent-src/commands/challenge-me/vision.md +348 -0
- package/.agent-src/commands/challenge-me/with-docs.md +333 -0
- package/.agent-src/commands/challenge-me.md +61 -0
- package/.agent-src/commands/chat-history/import.md +60 -64
- package/.agent-src/commands/compress.md +12 -0
- package/.agent-src/commands/context/create.md +2 -2
- package/.agent-src/commands/context.md +1 -1
- package/.agent-src/commands/copilot-agents.md +1 -1
- package/.agent-src/commands/council/default.md +69 -10
- package/.agent-src/commands/council.md +1 -1
- package/.agent-src/commands/create-pr.md +7 -3
- package/.agent-src/commands/e2e-heal.md +1 -1
- package/.agent-src/commands/e2e-plan.md +1 -1
- package/.agent-src/commands/feature/dev.md +3 -3
- package/.agent-src/commands/feature.md +1 -1
- package/.agent-src/commands/fix/seeder.md +2 -2
- package/.agent-src/commands/fix.md +1 -1
- package/.agent-src/commands/grill-me.md +38 -0
- package/.agent-src/commands/jira-ticket.md +1 -1
- package/.agent-src/commands/judge/steps.md +1 -1
- package/.agent-src/commands/judge.md +2 -2
- package/.agent-src/commands/memory.md +1 -1
- package/.agent-src/commands/mode.md +5 -5
- package/.agent-src/commands/module.md +1 -1
- package/.agent-src/commands/onboard.md +4 -4
- package/.agent-src/commands/optimize/augmentignore.md +1 -1
- package/.agent-src/commands/optimize-prompt.md +61 -0
- package/.agent-src/commands/optimize.md +1 -1
- package/.agent-src/commands/override.md +1 -1
- package/.agent-src/commands/review-changes.md +1 -1
- package/.agent-src/commands/review-routing.md +1 -1
- package/.agent-src/commands/roadmap/ai-council.md +183 -0
- package/.agent-src/commands/roadmap/create.md +6 -1
- package/.agent-src/commands/roadmap/process-full.md +58 -0
- package/.agent-src/commands/roadmap/process-phase.md +69 -0
- package/.agent-src/commands/roadmap/process-step.md +57 -0
- package/.agent-src/commands/roadmap.md +45 -17
- package/.agent-src/commands/set-cost-profile.md +3 -3
- package/.agent-src/commands/sync-agent-settings.md +2 -2
- package/.agent-src/commands/tests/create.md +2 -2
- package/.agent-src/commands/tests.md +1 -1
- package/.agent-src/commands/threat-model.md +5 -4
- package/.agent-src/contexts/augment-infrastructure.md +1 -1
- package/.agent-src/contexts/authority/commit-mechanics.md +14 -1
- package/.agent-src/contexts/authority/destructive-mechanics.md +14 -1
- package/.agent-src/contexts/authority/scope-mechanics.md +5 -0
- package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +76 -0
- package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +54 -19
- package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +98 -0
- package/.agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +93 -0
- package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +128 -5
- package/.agent-src/contexts/execution/autonomy-mechanics.md +44 -0
- package/.agent-src/contexts/execution/roadmap-process-loop.md +125 -0
- package/.agent-src/contexts/model-recommendations.md +2 -2
- package/.agent-src/contexts/override-system.md +1 -1
- package/.agent-src/contexts/skills-and-commands.md +1 -1
- package/.agent-src/personas/product-owner.md +2 -2
- package/.agent-src/personas/qa.md +1 -1
- package/.agent-src/rules/agent-authority.md +5 -6
- package/.agent-src/rules/agent-docs.md +11 -53
- package/.agent-src/rules/analysis-skill-routing.md +10 -40
- package/.agent-src/rules/architecture.md +6 -1
- package/.agent-src/rules/artifact-drafting-protocol.md +5 -0
- package/.agent-src/rules/artifact-engagement-recording.md +23 -59
- package/.agent-src/rules/ask-when-uncertain.md +24 -47
- package/.agent-src/rules/augment-portability.md +14 -62
- package/.agent-src/rules/augment-source-of-truth.md +10 -1
- package/.agent-src/rules/autonomous-execution.md +17 -98
- package/.agent-src/rules/capture-learnings.md +9 -80
- package/.agent-src/rules/cli-output-handling.md +12 -42
- package/.agent-src/rules/command-suggestion-policy.md +25 -73
- package/.agent-src/rules/commit-conventions.md +9 -58
- package/.agent-src/rules/commit-policy.md +16 -47
- package/.agent-src/rules/context-hygiene.md +5 -0
- package/.agent-src/rules/direct-answers.md +21 -50
- package/.agent-src/rules/docker-commands.md +11 -45
- package/.agent-src/rules/docs-sync.md +10 -56
- package/.agent-src/rules/downstream-changes.md +5 -0
- package/.agent-src/rules/e2e-testing.md +9 -44
- package/.agent-src/rules/guidelines.md +13 -75
- package/.agent-src/rules/improve-before-implement.md +11 -2
- package/.agent-src/rules/invite-challenge.md +71 -0
- package/.agent-src/rules/language-and-tone.md +41 -106
- package/.agent-src/rules/laravel-translations.md +11 -40
- package/.agent-src/rules/markdown-safe-codeblocks.md +4 -0
- package/.agent-src/rules/minimal-safe-diff.md +4 -0
- package/.agent-src/rules/missing-tool-handling.md +4 -0
- package/.agent-src/rules/model-recommendation.md +9 -61
- package/.agent-src/rules/no-attribution-footers.md +5 -0
- package/.agent-src/rules/no-cheap-questions.md +11 -27
- package/.agent-src/rules/no-council-references.md +76 -0
- package/.agent-src/rules/no-roadmap-references.md +7 -0
- package/.agent-src/rules/non-destructive-by-default.md +13 -43
- package/.agent-src/rules/onboarding-gate.md +9 -117
- package/.agent-src/rules/package-ci-checks.md +10 -37
- package/.agent-src/rules/php-coding.md +10 -55
- package/.agent-src/rules/preservation-guard.md +9 -0
- package/.agent-src/rules/review-routing-awareness.md +9 -97
- package/.agent-src/rules/reviewer-awareness.md +8 -83
- package/.agent-src/rules/roadmap-progress-sync.md +7 -170
- package/.agent-src/rules/role-mode-adherence.md +6 -2
- package/.agent-src/rules/rule-type-governance.md +8 -66
- package/.agent-src/rules/runtime-safety.md +5 -0
- package/.agent-src/rules/scope-control.md +17 -62
- package/.agent-src/rules/security-sensitive-stop.md +7 -1
- package/.agent-src/rules/size-enforcement.md +6 -1
- package/.agent-src/rules/skill-improvement-trigger.md +9 -49
- package/.agent-src/rules/skill-quality.md +7 -113
- package/.agent-src/rules/slash-command-routing-policy.md +11 -63
- package/.agent-src/rules/think-before-action.md +22 -87
- package/.agent-src/rules/token-efficiency.md +10 -74
- package/.agent-src/rules/token-optimizer-maintenance.md +68 -0
- package/.agent-src/rules/tool-safety.md +4 -0
- package/.agent-src/rules/ui-audit-gate.md +25 -61
- package/.agent-src/rules/upstream-proposal.md +9 -67
- package/.agent-src/rules/user-interaction.md +22 -108
- package/.agent-src/rules/verify-before-complete.md +1 -1
- package/.agent-src/skills/adversarial-review/SKILL.md +1 -0
- package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/.agent-src/skills/ai-council/SKILL.md +197 -8
- package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/.agent-src/skills/analysis-skill-router/SKILL.md +3 -3
- package/.agent-src/skills/artisan-commands/SKILL.md +2 -2
- package/.agent-src/skills/authz-review/SKILL.md +1 -1
- package/.agent-src/skills/aws-infrastructure/SKILL.md +5 -5
- package/.agent-src/skills/blast-radius-analyzer/SKILL.md +8 -8
- package/.agent-src/skills/bug-analyzer/SKILL.md +6 -5
- package/.agent-src/skills/code-refactoring/SKILL.md +4 -4
- package/.agent-src/skills/code-review/SKILL.md +2 -2
- package/.agent-src/skills/command-writing/SKILL.md +11 -0
- package/.agent-src/skills/composer-packages/SKILL.md +2 -2
- package/.agent-src/skills/context-authoring/SKILL.md +11 -0
- package/.agent-src/skills/context-document/SKILL.md +1 -1
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +23 -0
- package/.agent-src/skills/copilot-config/SKILL.md +1 -1
- package/.agent-src/skills/dependency-upgrade/SKILL.md +2 -2
- package/.agent-src/skills/devcontainer/SKILL.md +2 -2
- package/.agent-src/skills/developer-like-execution/SKILL.md +1 -1
- package/.agent-src/skills/docker/SKILL.md +1 -1
- package/.agent-src/skills/dto-creator/SKILL.md +1 -1
- package/.agent-src/skills/estimate-ticket/SKILL.md +2 -2
- package/.agent-src/skills/fe-design/SKILL.md +4 -4
- package/.agent-src/skills/feature-planning/SKILL.md +5 -5
- package/.agent-src/skills/funnel-analysis/SKILL.md +1 -1
- package/.agent-src/skills/laravel/SKILL.md +1 -1
- package/.agent-src/skills/laravel-notifications/SKILL.md +5 -5
- package/.agent-src/skills/laravel-pennant/SKILL.md +1 -1
- package/.agent-src/skills/laravel-pulse/SKILL.md +4 -4
- package/.agent-src/skills/laravel-reverb/SKILL.md +2 -2
- package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -1
- package/.agent-src/skills/migration-creator/SKILL.md +7 -7
- package/.agent-src/skills/multi-tenancy/SKILL.md +8 -8
- package/.agent-src/skills/performance-analysis/SKILL.md +3 -3
- package/.agent-src/skills/pest-testing/SKILL.md +6 -6
- package/.agent-src/skills/php-service/SKILL.md +2 -2
- package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
- package/.agent-src/skills/project-analysis-react/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
- package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
- package/.agent-src/skills/project-analyzer/SKILL.md +4 -4
- package/.agent-src/skills/prompt-optimizer/SKILL.md +108 -0
- package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
- package/.agent-src/skills/roadmap-management/SKILL.md +7 -7
- package/.agent-src/skills/rule-writing/SKILL.md +33 -0
- package/.agent-src/skills/sentry-integration/SKILL.md +1 -1
- package/.agent-src/skills/skill-writing/SKILL.md +14 -0
- package/.agent-src/skills/systematic-debugging/SKILL.md +22 -2
- package/.agent-src/skills/technical-specification/SKILL.md +58 -1
- package/.agent-src/skills/terraform/SKILL.md +2 -2
- package/.agent-src/skills/terragrunt/SKILL.md +8 -8
- package/.agent-src/skills/test-performance/SKILL.md +5 -5
- package/.agent-src/skills/threat-modeling/SKILL.md +3 -2
- package/.agent-src/skills/token-optimizer/SKILL.md +110 -0
- package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/.agent-src/templates/AGENTS.md +1 -1
- package/.agent-src/templates/agent-settings.md +35 -19
- package/.agent-src/templates/command.md +17 -1
- package/.agent-src/templates/contexts/tenant-boundaries.md +2 -2
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/copilot-instructions.md +21 -0
- package/.agent-src/templates/copilot-review-instructions.md +76 -0
- package/.agent-src/templates/features.md +1 -1
- package/.agent-src/templates/roadmaps.md +10 -2
- package/.agent-src/templates/rule.md +129 -0
- package/.agent-src/templates/skill.md +17 -0
- package/.claude-plugin/marketplace.json +12 -2
- package/AGENTS.md +32 -5
- package/CHANGELOG.md +107 -3
- package/README.md +22 -21
- package/config/agent-settings.template.yml +66 -10
- package/config/gitignore-block.txt +7 -0
- package/docs/architecture.md +86 -5
- package/docs/catalog.md +16 -6
- package/docs/contracts/agent-memory-contract.md +1 -1
- package/docs/contracts/command-clusters.md +45 -1
- package/docs/contracts/context-paths.md +2 -1
- package/docs/contracts/file-ownership-matrix.json +354 -500
- package/docs/contracts/iron-law-overrides.txt +25 -0
- package/docs/contracts/kernel-membership.md +273 -0
- package/docs/contracts/load-context-schema.md +26 -11
- package/docs/contracts/pilot/agent-authority.md +24 -0
- package/docs/contracts/pilot/direct-answers.md +70 -0
- package/docs/contracts/pilot/language-and-tone.md +63 -0
- package/docs/contracts/rule-classification.md +170 -0
- package/docs/contracts/rule-router.md +153 -0
- package/docs/customization.md +17 -6
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +109 -0
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +124 -0
- package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +126 -0
- package/docs/decisions/ADR-rule-kernel-and-router.md +122 -0
- package/docs/getting-started.md +2 -2
- package/docs/guidelines/agent-infra/naming.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +176 -0
- package/docs/guidelines/agent-infra/rule-type-governance.md +73 -0
- package/docs/guidelines/agent-infra/size-and-scope.md +13 -2
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +119 -0
- package/docs/guidelines/augment-portability-patterns.md +68 -0
- package/docs/guidelines/php/php-coding-patterns.md +62 -0
- package/package.json +1 -1
- package/scripts/_p43_bodies.py +235 -0
- package/scripts/_p43_compress.py +118 -0
- package/scripts/_p4_migrate.py +199 -0
- package/scripts/_phase2_shim_helper.py +1 -1
- package/scripts/_pilot_council_question.py +57 -0
- package/scripts/_pilot_measure.py +53 -0
- package/scripts/ai_council/session.py +107 -5
- package/scripts/build_linear_digest.py +3 -5
- package/scripts/check_always_budget.py +39 -6
- package/scripts/check_compressed_paths.py +213 -0
- package/scripts/check_compression.py +15 -0
- package/scripts/check_context_paths.py +1 -0
- package/scripts/check_council_layout.py +105 -0
- package/scripts/check_council_references.py +145 -0
- package/scripts/check_portability.py +2 -0
- package/scripts/check_references.py +2 -0
- package/scripts/check_token_optimizer_freshness.py +131 -0
- package/scripts/compile_router.py +148 -0
- package/scripts/compress.py +219 -11
- package/scripts/council_cli.py +132 -11
- package/scripts/council_prune.py +81 -0
- package/scripts/count_token_optimizer_usage.sh +54 -0
- package/scripts/install.sh +44 -2
- package/scripts/iron_law_sha.py +98 -0
- package/scripts/lint_load_context.py +35 -5
- package/scripts/measure_rule_budget.py +314 -0
- package/scripts/migrate_command_suggestions.py +2 -2
- package/scripts/prototype_lint_contradictions.py +150 -0
- package/scripts/schemas/command.schema.json +5 -0
- package/scripts/schemas/rule.schema.json +60 -6
- package/scripts/schemas/skill.schema.json +5 -0
- package/scripts/skill_linter.py +197 -7
- package/scripts/smoke_path_resolution.py +93 -0
- package/scripts/validate_frontmatter.py +41 -1
- package/.agent-src/commands/roadmap/execute.md +0 -109
- package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +0 -72
- package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +0 -79
- package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +0 -87
- package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +0 -62
- package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +0 -78
- package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +0 -85
- package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +0 -65
- package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +0 -78
- package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +0 -53
- /package/{docs → .agent-src/contexts}/contracts/artifact-engagement-flow.md +0 -0
- /package/{docs → .agent-src/contexts}/contracts/command-suggestion-flow.md +0 -0
|
@@ -3,69 +3,21 @@ type: "auto"
|
|
|
3
3
|
tier: "mechanical-already"
|
|
4
4
|
description: "Editing or creating files inside .augment/ directory — skills, rules, commands, templates, contexts must be project-agnostic"
|
|
5
5
|
source: package
|
|
6
|
-
|
|
7
|
-
- .
|
|
6
|
+
triggers:
|
|
7
|
+
- path_prefix: ".augment/"
|
|
8
|
+
- path_prefix: ".agent-src.uncompressed/"
|
|
9
|
+
- keyword: "portable"
|
|
10
|
+
routes_to:
|
|
11
|
+
- "guideline:augment-portability-patterns"
|
|
12
|
+
validator_ignore:
|
|
13
|
+
- type: "substring"
|
|
14
|
+
pattern: ".agent-src.uncompressed/"
|
|
15
|
+
reason: "Rule scopes the portability gate to the uncompressed authoring tree."
|
|
8
16
|
---
|
|
9
17
|
|
|
10
|
-
#
|
|
18
|
+
# Augment Portability
|
|
11
19
|
|
|
12
|
-
|
|
13
|
-
**project-agnostic**. That includes:
|
|
20
|
+
**Iron Law.** Files inside `.augment/` and `.agent-src.uncompressed/` MUST stay project-agnostic — no project names, domains, stacks.
|
|
14
21
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- The package repo's own root `AGENTS.md`
|
|
18
|
-
- The package repo's own `.github/copilot-instructions.md`
|
|
19
|
-
|
|
20
|
-
All three are either installed into consumer projects (`.augment/` via
|
|
21
|
-
`install.sh`) or read by AI tools when working on the package itself
|
|
22
|
-
(`AGENTS.md`, `copilot-instructions.md`). Leaking consumer-specific
|
|
23
|
-
content into any of them pollutes downstream projects or misleads agents.
|
|
24
|
-
|
|
25
|
-
## Rules
|
|
26
|
-
|
|
27
|
-
- NEVER reference a specific consumer project, repo name, domain, or tech
|
|
28
|
-
stack directly. The package repo itself (`event4u/agent-config`) MAY be
|
|
29
|
-
named inside its own root `AGENTS.md` and `copilot-instructions.md` —
|
|
30
|
-
that is meta about the package, not a leak.
|
|
31
|
-
- NEVER hardcode consumer-project paths, class names, or conventions.
|
|
32
|
-
- Write content so it works as a **reusable package** across any project.
|
|
33
|
-
- Project-specific behavior belongs in the **consumer's** `.agent-settings.yml`,
|
|
34
|
-
`AGENTS.md`, or `agents/` — never in files shipped by this package.
|
|
35
|
-
- If a skill or rule needs project-specific input, read it from
|
|
36
|
-
`.agent-settings.yml` or accept it as a parameter.
|
|
37
|
-
- When reviewing or editing package files, always ask: "Would this still
|
|
38
|
-
make sense in a completely different project?"
|
|
39
|
-
|
|
40
|
-
## Runtime invocations — no `task` commands
|
|
41
|
-
|
|
42
|
-
Skills, rules, commands, guidelines, personas, and context docs run in
|
|
43
|
-
**consumer projects**, which may not have Task installed. **Never**
|
|
44
|
-
reference a `task <something>` invocation inside any artefact file
|
|
45
|
-
under `.agent-src.uncompressed/{skills,rules,commands,guidelines,personas,contexts}/`
|
|
46
|
-
(and therefore also not in the compressed mirror under `.agent-src/`).
|
|
47
|
-
Use direct script invocations instead.
|
|
48
|
-
|
|
49
|
-
## Consumer CLI — `./agent-config`
|
|
50
|
-
|
|
51
|
-
A subset of package scripts is exposed through a project-local CLI
|
|
52
|
-
wrapper `./agent-config` (written into the project root by the
|
|
53
|
-
installer, gitignored). Artefacts MUST prefer the CLI over raw
|
|
54
|
-
`python3 scripts/…` paths for every command the CLI already covers.
|
|
55
|
-
|
|
56
|
-
## Translation tables — see mechanics
|
|
57
|
-
|
|
58
|
-
The full `task`-to-script translation table, the `./agent-config`
|
|
59
|
-
CLI mapping, and the rationale (Task absence on consumers,
|
|
60
|
-
maintainer-vs-artefact split) all live in
|
|
61
|
-
[`contexts/communication/rules-auto/augment-portability-mechanics.md`](../contexts/communication/rules-auto/augment-portability-mechanics.md).
|
|
62
|
-
Pull it whenever an artefact is about to mention a runtime
|
|
63
|
-
invocation.
|
|
64
|
-
|
|
65
|
-
## Enforcement
|
|
66
|
-
|
|
67
|
-
`scripts/check_portability.py` scans `.augment/`, `.agent-src.uncompressed/`,
|
|
68
|
-
and the package repo's root `AGENTS.md` + `.github/copilot-instructions.md`
|
|
69
|
-
for forbidden identifiers, for any `task <name>` invocation inside
|
|
70
|
-
artefact files, and for direct script invocations that bypass the
|
|
71
|
-
`./agent-config` CLI. It runs in CI and must pass before any PR.
|
|
22
|
+
Body migrated to `guideline:augment-portability-patterns` (per P4 of `road-to-kernel-and-router.md`).
|
|
23
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -4,7 +4,16 @@ tier: "1"
|
|
|
4
4
|
description: "Creating, editing, or modifying files inside .agent-src/ or .augment/ — the source of truth is .agent-src.uncompressed/, never edit the generated directories directly"
|
|
5
5
|
source: package
|
|
6
6
|
load_context:
|
|
7
|
-
-
|
|
7
|
+
- ../contexts/communication/rules-auto/augment-source-of-truth-mechanics.md
|
|
8
|
+
triggers:
|
|
9
|
+
- path_prefix: ".agent-src/"
|
|
10
|
+
- path_prefix: ".augment/"
|
|
11
|
+
- path_prefix: ".claude/"
|
|
12
|
+
- path_prefix: ".cursor/"
|
|
13
|
+
validator_ignore:
|
|
14
|
+
- type: "substring"
|
|
15
|
+
pattern: ".agent-src.uncompressed/"
|
|
16
|
+
reason: "Rule documents the source-of-truth boundary; mentioning the path is its purpose."
|
|
8
17
|
---
|
|
9
18
|
|
|
10
19
|
# Source of Truth
|
|
@@ -5,119 +5,38 @@ description: "Deciding whether to ask the user or just act on a workflow step
|
|
|
5
5
|
alwaysApply: false
|
|
6
6
|
source: package
|
|
7
7
|
load_context:
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
8
|
+
- ../contexts/execution/autonomy-detection.md
|
|
9
|
+
- ../contexts/execution/autonomy-mechanics.md
|
|
10
|
+
- ../contexts/execution/autonomy-examples.md
|
|
11
|
+
triggers:
|
|
12
|
+
- intent: "trivial workflow question"
|
|
13
|
+
- intent: "autonomy mode"
|
|
14
|
+
- keyword: "personal.autonomy"
|
|
11
15
|
---
|
|
12
16
|
|
|
13
17
|
# Autonomous Execution
|
|
14
18
|
|
|
15
|
-
User's time is the scarce resource. Trivial workflow questions are
|
|
16
|
-
noise. This rule defines **trivial** (just act), **blocking** (still
|
|
17
|
-
ask), the **hard floor** (always ask, no override), and the **commit
|
|
18
|
-
default** (never commit, never ask — review-first by design).
|
|
19
|
+
User's time is the scarce resource. Trivial workflow questions are noise. This rule defines **trivial** (just act), **blocking** (still ask), the **hard floor** (always ask, no override), and the **commit default** (never commit, never ask — review-first by design).
|
|
19
20
|
|
|
20
21
|
## Hard Floor — see [`non-destructive-by-default`](non-destructive-by-default.md)
|
|
21
22
|
|
|
22
|
-
The universal safety floor (production-branch merges, deploys, pushes,
|
|
23
|
-
prod data/infra, whimsical bulk deletions, and commits containing
|
|
24
|
-
bulk deletions or infra changes) is governed by the canonical
|
|
25
|
-
[`non-destructive-by-default`](non-destructive-by-default.md) rule.
|
|
26
|
-
It applies regardless of `personal.autonomy`, a standing autonomy
|
|
27
|
-
directive, or any roadmap authorization. Nothing in **this** rule
|
|
28
|
-
lifts it. If a trigger fires, stop and ask — every other section
|
|
29
|
-
below assumes the floor has already been cleared.
|
|
23
|
+
The universal safety floor (production-branch merges, deploys, pushes, prod data/infra, whimsical bulk deletions, and commits containing bulk deletions or infra changes) is governed by the canonical [`non-destructive-by-default`](non-destructive-by-default.md) rule. It applies regardless of `personal.autonomy`, a standing autonomy directive, or any roadmap authorization. Nothing in **this** rule lifts it. If a trigger fires, stop and ask — every other section below assumes the floor has already been cleared.
|
|
30
24
|
|
|
31
25
|
## Setting — `personal.autonomy`
|
|
32
26
|
|
|
33
|
-
Three values: `on` (suppress trivial questions), `off` (ask trivial
|
|
34
|
-
questions too), `auto` (default — same as `off` until the user opts
|
|
35
|
-
in via a standing autonomy directive). Read once on the first turn
|
|
36
|
-
(per [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules))
|
|
37
|
-
and cache. Missing key → treat as `on`. Full table, semantics, and
|
|
38
|
-
cloud behavior:
|
|
39
|
-
[`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
|
|
27
|
+
Three values: `on` (suppress trivial questions), `off` (ask trivial questions too), `auto` (default — same as `off` until the user opts in via a standing autonomy directive). Read once on the first turn and cache. Missing key → treat as `on`. Full table, semantics, and cloud behavior: [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
|
|
40
28
|
|
|
41
29
|
## Opt-in detection — match by intent, not exact string
|
|
42
30
|
|
|
43
|
-
In `auto` mode, flip to `on` for the rest of the conversation when
|
|
44
|
-
the user expresses **"stop asking on trivial steps, just work"**.
|
|
45
|
-
Recognize **intent**, not the literal substring. Opt-out (same intent,
|
|
46
|
-
reversed) flips back to `off`. Both directions are
|
|
47
|
-
**speech-act-checked**: the phrase must be a meta-instruction to the
|
|
48
|
-
agent, not content / quote / subject / code / third-party reference /
|
|
49
|
-
hypothetical. In doubt → keep current mode, no speculative flips.
|
|
31
|
+
In `auto` mode, flip to `on` for the rest of the conversation when the user expresses **"stop asking on trivial steps, just work"**. Recognize **intent**, not the literal substring. Opt-out (same intent, reversed) flips back to `off`. Both directions are **speech-act-checked**: the phrase must be a meta-instruction to the agent, not content / quote / subject / code / third-party reference / hypothetical. In doubt → keep current mode, no speculative flips.
|
|
50
32
|
|
|
51
|
-
Algorithm and speech-act heuristic:
|
|
52
|
-
[`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md).
|
|
53
|
-
Anchor phrases (DE+EN), no-flip patterns, counter-examples:
|
|
54
|
-
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
55
|
-
|
|
56
|
-
## Trivial — JUST ACT, do not ask
|
|
57
|
-
|
|
58
|
-
In `personal.autonomy: on` or `auto`-after-opt-in, do not ask
|
|
59
|
-
trivial workflow questions — pick the obvious next step and proceed.
|
|
60
|
-
In `personal.autonomy: off`, ask them. Worked cases:
|
|
61
|
-
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
62
|
-
|
|
63
|
-
## Blocking — STILL ASK regardless of `personal.autonomy`
|
|
64
|
-
|
|
65
|
-
Beyond the Hard Floor above, the autonomy setting also never
|
|
66
|
-
overrides:
|
|
67
|
-
|
|
68
|
-
- **Vague-request triggers** in [`ask-when-uncertain`](ask-when-uncertain.md)
|
|
69
|
-
— ambiguous requirements stay ambiguous; pick-one-and-pray is wrong.
|
|
70
|
-
- **Architectural / structural choices** that the codebase doesn't
|
|
71
|
-
already settle (multi-stack picks, library introductions).
|
|
72
|
-
- **Security-sensitive paths** — see [`security-sensitive-stop`](security-sensitive-stop.md).
|
|
73
|
-
- **Scope expansion** beyond the stated task — see [`scope-control`](scope-control.md).
|
|
74
|
-
- **Remote-state operations** — push, merge, rebase, force-push,
|
|
75
|
-
branch create/delete/switch, PR create/close/retarget, tag/release.
|
|
76
|
-
Permission-gated by [`scope-control`](scope-control.md); the
|
|
77
|
-
prod-trunk and deploy-tied subset is governed by
|
|
78
|
-
[`non-destructive-by-default`](non-destructive-by-default.md).
|
|
79
|
-
- **Destructive ops** — see [`non-destructive-by-default`](non-destructive-by-default.md)
|
|
80
|
-
for the full taxonomy (whimsical bulk deletions, content
|
|
81
|
-
destruction, commits containing bulk deletions or infra changes).
|
|
82
|
-
|
|
83
|
-
When in doubt whether something is trivial or blocking → it is
|
|
84
|
-
blocking. Ask.
|
|
85
|
-
|
|
86
|
-
## Commit policy — see [`commit-policy`](commit-policy.md)
|
|
87
|
-
|
|
88
|
-
Committing is governed by the canonical [`commit-policy`](commit-policy.md)
|
|
89
|
-
rule, which applies regardless of `personal.autonomy`. Summary:
|
|
90
|
-
|
|
91
|
-
- NEVER commit unless user said so this turn, a commit command was
|
|
92
|
-
invoked, a standing instruction is active, or the roadmap authorizes it.
|
|
93
|
-
- NEVER ask about committing. The user invokes a command or says so.
|
|
94
|
-
- In autonomous mode, the **only** permitted commit-related question is
|
|
95
|
-
the one-shot pre-scan ask at the start of roadmap execution.
|
|
96
|
-
|
|
97
|
-
Push, merge, rebase, branch creation, PR operations, and tags remain
|
|
98
|
-
permission-gated by [`scope-control`](scope-control.md#git-operations--permission-gated).
|
|
99
|
-
|
|
100
|
-
## Failure modes
|
|
101
|
-
|
|
102
|
-
Autonomy-side wrong-behavior patterns (sequencing-only asks, CI-run
|
|
103
|
-
asks, commit asks, no-trade-off option blocks, re-asking after a
|
|
104
|
-
standing opt-in):
|
|
105
|
-
[`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
106
|
-
For Hard-Floor failure modes see
|
|
107
|
-
[`non-destructive-by-default`](non-destructive-by-default.md#failure-modes).
|
|
33
|
+
Algorithm and speech-act heuristic: [`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md). Anchor phrases (DE+EN), no-flip patterns, counter-examples, trivial-vs-blocking taxonomy, commit-policy summary, and named failure modes: [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md) + [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
|
|
108
34
|
|
|
109
35
|
## See also
|
|
110
36
|
|
|
111
|
-
- [`non-destructive-by-default`](non-destructive-by-default.md) —
|
|
112
|
-
universal safety floor; never overridden by autonomy
|
|
37
|
+
- [`non-destructive-by-default`](non-destructive-by-default.md) — universal safety floor; never overridden by autonomy
|
|
113
38
|
- [`scope-control`](scope-control.md) — git-ops permission gate
|
|
114
|
-
|
|
115
|
-
- [`
|
|
116
|
-
|
|
117
|
-
- [
|
|
118
|
-
floor against context-derived, sequencing-only, and
|
|
119
|
-
Iron-Law-violating asks (applies in `off` and pre-opt-in `auto` too)
|
|
120
|
-
- [`direct-answers`](direct-answers.md) — Iron Laws on brevity and
|
|
121
|
-
no-flattery (this rule extends to no-trivial-questions)
|
|
122
|
-
- [`/commit-in-chunks`](../commands/commit-in-chunks.md) — auto-split and commit without confirmation
|
|
123
|
-
- [`/commit`](../commands/commit.md) — split and commit with confirmation
|
|
39
|
+
- [`ask-when-uncertain`](ask-when-uncertain.md) — vague-request triggers that always require asking
|
|
40
|
+
- [`no-cheap-questions`](no-cheap-questions.md) — mode-independent floor against context-derived asks
|
|
41
|
+
- [`commit-policy`](commit-policy.md) — never-commit / never-ask Iron Law
|
|
42
|
+
- [`/commit:in-chunks`](../commands/commit/in-chunks.md), [`/commit`](../commands/commit.md)
|
|
@@ -2,89 +2,18 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
4
|
description: "After completing a task where a repeated mistake or successful pattern appeared — capture as rule or skill"
|
|
5
|
-
alwaysApply: false
|
|
6
5
|
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- phrase: "after completing a task"
|
|
8
|
+
- keyword: "learning"
|
|
9
|
+
- keyword: "lesson"
|
|
10
|
+
routes_to:
|
|
11
|
+
- "skill:learning-to-rule-or-skill"
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
# Capture Learnings
|
|
10
15
|
|
|
11
|
-
|
|
12
|
-
evaluate whether to capture as **rule** or **skill**.
|
|
16
|
+
**Iron Law.** After a task, capture repeated mistakes / successful patterns as a rule or skill — never lose the learning.
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
A learning may be promoted to rule/skill ONLY if ALL gates pass:
|
|
17
|
-
|
|
18
|
-
| Gate | Question | Must be YES |
|
|
19
|
-
|---|---|---|
|
|
20
|
-
| Repetition | Occurred at least twice OR clearly generalizable? | ✅ |
|
|
21
|
-
| Impact | Improves correctness, reliability, or consistency? | ✅ |
|
|
22
|
-
| Failure pattern | Prevents a real, observed failure? | ✅ |
|
|
23
|
-
| Non-duplication | No existing rule/skill/guideline covers this? | ✅ |
|
|
24
|
-
| Scope fit | Fits rule (constraint), skill (workflow), or guideline (convention)? | ✅ |
|
|
25
|
-
| Minimal | Update existing preferred over creation? | Checked |
|
|
26
|
-
|
|
27
|
-
**Reject immediately if:**
|
|
28
|
-
- Occurred only once and is not clearly generalizable
|
|
29
|
-
- Similar guidance already exists (update instead)
|
|
30
|
-
- Baseline model knowledge or standard tool usage
|
|
31
|
-
- Vague frustration without concrete failure pattern
|
|
32
|
-
|
|
33
|
-
## Triggers
|
|
34
|
-
|
|
35
|
-
- Mistake that happened 2+ times
|
|
36
|
-
- Pattern that improved outcome and should be reused
|
|
37
|
-
- Missing constraint that caused issues
|
|
38
|
-
- **User frustration or complaint** — extract the underlying failure pattern, don't ignore or defend
|
|
39
|
-
- **New skill/rule/guideline created** — evaluate if it should be contributed upstream (→ `upstream-proposal` rule)
|
|
40
|
-
- **Significant improvement to existing skill/rule** — consider upstream contribution
|
|
41
|
-
|
|
42
|
-
## Do NOT capture
|
|
43
|
-
|
|
44
|
-
- One-off problems
|
|
45
|
-
- Vague frustrations without concrete consequence
|
|
46
|
-
- Content already covered by existing guidance
|
|
47
|
-
|
|
48
|
-
## Rule vs Skill
|
|
49
|
-
|
|
50
|
-
- **Rule** → always-apply constraint ("never X", "always Y")
|
|
51
|
-
- **Skill** → repeatable workflow with steps ("when X, do 1-5")
|
|
52
|
-
- **Update** → existing guidance covers topic → extend, don't duplicate
|
|
53
|
-
|
|
54
|
-
## How
|
|
55
|
-
|
|
56
|
-
- Smallest effective change
|
|
57
|
-
- Update existing over creating duplicates
|
|
58
|
-
- Full workflow: `learning-to-rule-or-skill` skill
|
|
59
|
-
|
|
60
|
-
## Where learnings are written
|
|
61
|
-
|
|
62
|
-
Captured learnings live in the **consumer project's** `agents/learnings/`
|
|
63
|
-
directory, one file per learning:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
agents/learnings/<YYYY-MM-DD>-<kebab-slug>.md
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Minimum fields (markdown with a small YAML frontmatter):
|
|
70
|
-
|
|
71
|
-
```yaml
|
|
72
|
-
---
|
|
73
|
-
slug: <same as filename>
|
|
74
|
-
captured: <ISO date>
|
|
75
|
-
occurrences: <integer, ≥2 or note "one-off, clearly generalizable">
|
|
76
|
-
type_hint: rule | skill | guideline | update
|
|
77
|
-
scope_hint: project | package
|
|
78
|
-
---
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Body: 1-paragraph **pattern** (not anecdote) + 1 concrete example.
|
|
82
|
-
|
|
83
|
-
A learning file is the input to `learning-to-rule-or-skill`, which
|
|
84
|
-
produces a proposal draft under `agents/proposals/`. The proposal is
|
|
85
|
-
then gated by `scripts/check_proposal.py`; see
|
|
86
|
-
[`self-improvement-pipeline`](../../docs/guidelines/agent-infra/self-improvement-pipeline.md).
|
|
87
|
-
|
|
88
|
-
The `agents/learnings/` and `agents/proposals/` directories are
|
|
89
|
-
consumer-owned — the package ships templates and schemas, never the
|
|
90
|
-
data.
|
|
18
|
+
Body migrated to `skill:learning-to-rule-or-skill` (per P4 of `road-to-kernel-and-router.md`).
|
|
19
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -1,51 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
-
alwaysApply: false
|
|
5
4
|
description: "Running CLI commands that produce verbose output — git, tests, linters, docker, build tools, artisan, npm, composer. Wrap with rtk when installed; tail/grep is fallback."
|
|
6
5
|
source: package
|
|
7
|
-
|
|
8
|
-
-
|
|
6
|
+
triggers:
|
|
7
|
+
- keyword: "git"
|
|
8
|
+
- keyword: "phpstan"
|
|
9
|
+
- keyword: "rector"
|
|
10
|
+
- keyword: "phpunit"
|
|
11
|
+
- keyword: "composer"
|
|
12
|
+
routes_to:
|
|
13
|
+
- "skill:rtk-output-filtering"
|
|
9
14
|
---
|
|
10
15
|
|
|
11
|
-
#
|
|
16
|
+
# Cli Output Handling
|
|
12
17
|
|
|
13
|
-
|
|
18
|
+
**Iron Law.** Wrap verbose CLI output with `rtk` when installed; fall back to `tail`/`grep` only when missing.
|
|
14
19
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
IF `rtk` IS INSTALLED, WRAP VERBOSE COMMANDS WITH rtk.
|
|
19
|
-
USE tail / grep / cat ONLY AS FALLBACK WHEN rtk HAS NO MATCHING SUBCOMMAND.
|
|
20
|
-
NEVER PIPE A STILL-RUNNING LONG COMMAND THROUGH tail — IT BUFFERS TO EOF.
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Detection: `rtk_installed: true` in `.agent-settings.yml`, or `which rtk`
|
|
24
|
-
exits 0. Caching the result for the session is fine.
|
|
25
|
-
|
|
26
|
-
| Verbose command | Use | Fallback (no rtk) |
|
|
27
|
-
|---|---|---|
|
|
28
|
-
| CI-style suites, full test runs | `rtk err <cmd>` — only errors/warnings | redirect → tail → grep |
|
|
29
|
-
| Unit tests | `rtk test <cmd>` — only failures | redirect → tail → grep |
|
|
30
|
-
| `git status`/`log`/`diff` | `rtk git <subcmd>` | plain |
|
|
31
|
-
| `gh pr list`, `gh run view` | `rtk gh <subcmd>` | plain |
|
|
32
|
-
| Generic noisy command | `rtk summary <cmd>` or `rtk err <cmd>` | redirect → tail |
|
|
33
|
-
|
|
34
|
-
For the full rtk subcommand catalog and project-local filter setup → see
|
|
35
|
-
the `rtk-output-filtering` skill.
|
|
36
|
-
|
|
37
|
-
## Lookup material — see mechanics
|
|
38
|
-
|
|
39
|
-
Codebase-navigation tips, the redirect-summarize-target fallback
|
|
40
|
-
pattern (with the three-step `tail`/`grep` recipe), the general rules
|
|
41
|
-
(exit code first, summary line, targeted `grep`, read-once-act-move-on,
|
|
42
|
-
iterative fixing), and the CLI-over-MCP catalog all live in
|
|
43
|
-
[`contexts/communication/rules-auto/cli-output-handling-mechanics.md`](../contexts/communication/rules-auto/cli-output-handling-mechanics.md).
|
|
44
|
-
Pull it whenever a verbose command is about to run without an `rtk`
|
|
45
|
-
match.
|
|
46
|
-
|
|
47
|
-
## Exceptions
|
|
48
|
-
|
|
49
|
-
- **Small output** (< 30 lines): Read directly, no redirect needed.
|
|
50
|
-
- **Debugging**: OK to read more context around the specific error.
|
|
51
|
-
- **User asks** for full output: Show it.
|
|
20
|
+
Body migrated to `skill:rtk-output-filtering` (per P4 of `road-to-kernel-and-router.md`).
|
|
21
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|
|
@@ -2,28 +2,22 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "mechanical-already"
|
|
4
4
|
description: "User prompt without /command but matching an eligible slash command — surface matches as numbered options with as-is escape hatch; never auto-executes, user always picks"
|
|
5
|
-
alwaysApply: false
|
|
6
5
|
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- phrase: "free-form prompt"
|
|
8
|
+
- phrase: "command suggestion"
|
|
9
|
+
routes_to:
|
|
10
|
+
- "contract:command-suggestion-flow"
|
|
7
11
|
load_context:
|
|
8
|
-
-
|
|
12
|
+
- "../contexts/contracts/command-suggestion-flow.md"
|
|
9
13
|
---
|
|
10
14
|
|
|
11
|
-
# Command Suggestion
|
|
15
|
+
# Command Suggestion Policy
|
|
12
16
|
|
|
13
|
-
When the user's prompt matches an eligible slash command, surface it
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
suggestion layer is a read-only shortcut *finder*, not an invocation
|
|
18
|
-
path.
|
|
19
|
-
|
|
20
|
-
The deterministic engine lives in `scripts/command_suggester/`. The
|
|
21
|
-
locked eligibility table lives in
|
|
22
|
-
[`agents/contexts/command-suggestion-eligibility.md`](../../agents/contexts/command-suggestion-eligibility.md).
|
|
23
|
-
The scoring contract and hardening list live in
|
|
24
|
-
[`docs/contracts/adr-command-suggestion.md`](../../docs/contracts/adr-command-suggestion.md)
|
|
25
|
-
and
|
|
26
|
-
[`docs/contracts/command-suggestion-flow.md`](../../docs/contracts/command-suggestion-flow.md).
|
|
17
|
+
When the user's prompt matches an eligible slash command, surface it as a
|
|
18
|
+
**numbered option** alongside an "as-is" escape hatch. The user always
|
|
19
|
+
picks. **Nothing auto-executes.** Flow contract + senior-gate map:
|
|
20
|
+
[`contexts/contracts/command-suggestion-flow.md`](../contexts/contracts/command-suggestion-flow.md).
|
|
27
21
|
|
|
28
22
|
## Iron Law — never auto-execute
|
|
29
23
|
|
|
@@ -31,64 +25,22 @@ and
|
|
|
31
25
|
SUGGEST. NEVER INVOKE. THE USER PICKS, ALWAYS.
|
|
32
26
|
```
|
|
33
27
|
|
|
34
|
-
A suggestion block emits options. It does **not** start a command
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
## When to fire
|
|
39
|
-
|
|
40
|
-
On a user turn that matches **all** of the following:
|
|
41
|
-
|
|
42
|
-
1. The message does **not** start with an explicit `/command` (those
|
|
43
|
-
bypass suggestion entirely — see `slash-command-routing-policy`).
|
|
44
|
-
2. `commands.suggestion.enabled` is `true` (default).
|
|
45
|
-
3. The user has not issued `/command-suggestion-off` in this conversation.
|
|
46
|
-
4. No clarification is owed for the same turn (per
|
|
47
|
-
`ask-when-uncertain` — clarification wins; suggestion can fire next turn).
|
|
48
|
-
5. No active engine flow is mid-halt (e.g. an `/implement-ticket`
|
|
49
|
-
step waiting on the user — the active flow has the floor).
|
|
50
|
-
6. The matcher returns at least one match above the effective
|
|
51
|
-
`confidence_floor` after rank + cooldown + anti-noise.
|
|
52
|
-
|
|
53
|
-
When all six hold, the suggestion block is the **first and only**
|
|
54
|
-
thing the agent emits that turn. No tools, no edits, no other prose.
|
|
28
|
+
A suggestion block emits options. It does **not** start a command flow.
|
|
29
|
+
The "run as-is" option is **always present**, **always last**, never
|
|
30
|
+
removed.
|
|
55
31
|
|
|
56
32
|
## Subordination — when to stay silent
|
|
57
33
|
|
|
58
34
|
The suggestion rule is **junior** to:
|
|
59
35
|
|
|
60
|
-
- `scope-control` — never surfaces a git-op command
|
|
61
|
-
permission gate the user already declined
|
|
62
|
-
- `ask-when-uncertain` —
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- Any active engine halt (`/implement-ticket`, `/work
|
|
69
|
-
|
|
70
|
-
On any conflict → suggestion stays silent.
|
|
71
|
-
prompt is processed as it would be without this rule.
|
|
72
|
-
|
|
73
|
-
## Cloud Behavior
|
|
74
|
-
|
|
75
|
-
On cloud surfaces (Claude.ai Web, Skills API) the rule is **inert**
|
|
76
|
-
unless the suggester package is shipped in the bundle. Treat
|
|
77
|
-
`commands.suggestion.enabled` as `false` when the engine is not
|
|
78
|
-
available — degrade silently, never crash the turn.
|
|
79
|
-
|
|
80
|
-
## Mechanics — output format, anti-noise, what this rule does NOT do
|
|
81
|
-
|
|
82
|
-
The exact rendered options block, the `Recommendation:` rules, the
|
|
83
|
-
`max_options` cap, the `rank.py` anti-noise filters, and the
|
|
84
|
-
"what this rule does NOT do" catalog live in
|
|
85
|
-
[`contexts/communication/rules-auto/command-suggestion-policy-mechanics.md`](../contexts/communication/rules-auto/command-suggestion-policy-mechanics.md).
|
|
86
|
-
|
|
87
|
-
## Interactions
|
|
88
|
-
|
|
89
|
-
- [`slash-command-routing-policy`](slash-command-routing-policy.md) — explicit `/command` skips suggestion entirely.
|
|
90
|
-
- [`user-interaction`](user-interaction.md) — numbered-options Iron Law and single-source recommendation.
|
|
91
|
-
- [`ask-when-uncertain`](ask-when-uncertain.md) — clarification wins on conflict.
|
|
92
|
-
- [`scope-control`](scope-control.md) — git-op gates outrank suggestion.
|
|
93
|
-
- [`role-mode-adherence`](role-mode-adherence.md) — active mode contract outranks suggestion.
|
|
94
|
-
- [`agents/contexts/command-suggestion-eligibility.md`](../../agents/contexts/command-suggestion-eligibility.md) — locked eligibility table.
|
|
36
|
+
- [`scope-control`](scope-control.md) — never surfaces a git-op command
|
|
37
|
+
behind a permission gate the user already declined.
|
|
38
|
+
- [`ask-when-uncertain`](ask-when-uncertain.md) — clarification wins on
|
|
39
|
+
conflict; suggestion suppresses for that turn.
|
|
40
|
+
- [`verify-before-complete`](verify-before-complete.md) — suggestion does
|
|
41
|
+
not interrupt an evidence-gate verification.
|
|
42
|
+
- [`role-mode-adherence`](role-mode-adherence.md) — active role-mode
|
|
43
|
+
contract outranks suggestion.
|
|
44
|
+
- Any active engine halt (`/implement-ticket`, `/work`).
|
|
45
|
+
|
|
46
|
+
On any conflict → suggestion stays silent.
|
|
@@ -1,68 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
-
alwaysApply: false
|
|
5
4
|
description: "Git commit message format, branch naming, conventional commits, committing, pushing, or creating pull requests"
|
|
6
5
|
source: package
|
|
6
|
+
triggers:
|
|
7
|
+
- keyword: "commit"
|
|
8
|
+
- keyword: "branch"
|
|
9
|
+
- phrase: "conventional commits"
|
|
10
|
+
routes_to:
|
|
11
|
+
- "skill:conventional-commits-writing"
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
# Commit Conventions
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
**Iron Law.** Use Conventional Commits (`feat:`, `fix:`, `chore:` …); branches `<type>/<short-slug>`; never invent your own format.
|
|
12
17
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- With scope: `<type>(<scope>): <description>`
|
|
16
|
-
- Without scope: `<type>: <description>` (omit parentheses when no scope)
|
|
17
|
-
- **Always English** — regardless of user's language.
|
|
18
|
-
- **Imperative mood** ("add feature", not "added feature").
|
|
19
|
-
- **First line max 72 characters.**
|
|
20
|
-
|
|
21
|
-
## Types
|
|
22
|
-
|
|
23
|
-
| Type | When |
|
|
24
|
-
|---|---|
|
|
25
|
-
| `feat` | New user-facing functionality |
|
|
26
|
-
| `fix` | Bug fix |
|
|
27
|
-
| `refactor` | Code/structure change, no behavior change |
|
|
28
|
-
| `docs` | Documentation only |
|
|
29
|
-
| `test` | Tests only |
|
|
30
|
-
| `chore` | Maintenance (deps, configs, tooling, cleanup) |
|
|
31
|
-
| `ci` | CI/CD and workflow changes |
|
|
32
|
-
| `style` | Code style (formatting, no logic change) |
|
|
33
|
-
| `perf` | Performance improvement |
|
|
34
|
-
| `build` | Build tooling / packaging changes |
|
|
35
|
-
|
|
36
|
-
## Scope
|
|
37
|
-
|
|
38
|
-
- Use the **Jira ticket ID** as scope when the branch contains one (e.g. `DEV-1234`).
|
|
39
|
-
- Otherwise use a short module or area name (e.g. `api`, `auth`, `skills`).
|
|
40
|
-
- Scope is optional — only add when it improves clarity.
|
|
41
|
-
|
|
42
|
-
## Breaking changes
|
|
43
|
-
|
|
44
|
-
Mark explicitly with `!` after type/scope or `BREAKING CHANGE:` in footer:
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
feat(api)!: rename invoice status values
|
|
48
|
-
refactor(auth)!: remove legacy session flow
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Commit splitting
|
|
52
|
-
|
|
53
|
-
If a change mixes unrelated concerns, split into multiple commits.
|
|
54
|
-
Do NOT hide bug fixes, CI work, docs, and refactors in one commit.
|
|
55
|
-
|
|
56
|
-
## Examples
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
feat(DEV-1234): add absence type filter to working time report
|
|
60
|
-
fix(DEV-1234): handle null value in equipment import
|
|
61
|
-
test(DEV-1234): add component test for working time controller
|
|
62
|
-
refactor: extract user sync logic into dedicated service
|
|
63
|
-
chore: update PHP quality package to 2.1.0
|
|
64
|
-
ci(lint): add skill-lint workflow
|
|
65
|
-
docs(roadmap): add phase 3 implementation plan
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
→ Full type selection rules and anti-patterns: see guideline `docs/guidelines/php/git.md`.
|
|
18
|
+
Body migrated to `skill:conventional-commits-writing` (per P4 of `road-to-kernel-and-router.md`).
|
|
19
|
+
Trigger-set above activates this routing under the `balanced` and `full` profiles.
|