@event4u/agent-config 9.26.0 → 9.28.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/AGENTS.md +12 -11
- package/CHANGELOG.md +134 -207
- package/README.md +1 -1
- package/dist/agent-src/commands/analyze/conformance.md +43 -0
- package/dist/agent-src/commands/roadmap/next.md +65 -3
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -3
- package/dist/agent-src/rules/active-remediation.md +2 -0
- package/dist/agent-src/rules/analysis-skill-routing.md +2 -0
- package/dist/agent-src/rules/architecture.md +2 -0
- package/dist/agent-src/rules/artifact-drafting-protocol.md +2 -0
- package/dist/agent-src/rules/artifact-engagement-recording.md +6 -1
- package/dist/agent-src/rules/augment-edit-discipline.md +2 -0
- package/dist/agent-src/rules/autonomous-execution.md +3 -1
- package/dist/agent-src/rules/brand-consistency.md +2 -0
- package/dist/agent-src/rules/brand-source-of-truth.md +35 -6
- package/dist/agent-src/rules/broken-access-control.md +2 -0
- package/dist/agent-src/rules/cli-output-handling.md +2 -0
- package/dist/agent-src/rules/code-comment-discipline.md +2 -0
- package/dist/agent-src/rules/code-provenance.md +2 -0
- package/dist/agent-src/rules/command-suggestion-policy.md +2 -0
- package/dist/agent-src/rules/commit-conventions.md +2 -0
- package/dist/agent-src/rules/communication-through-line.md +2 -0
- package/dist/agent-src/rules/content-quoting-floor.md +2 -0
- package/dist/agent-src/rules/context-hygiene.md +13 -1
- package/dist/agent-src/rules/copilot-routing.md +2 -0
- package/dist/agent-src/rules/council-availability.md +93 -0
- package/dist/agent-src/rules/cross-source-consistency.md +5 -0
- package/dist/agent-src/rules/decision-revisit-gate.md +2 -0
- package/dist/agent-src/rules/delegation-policy.md +31 -5
- package/dist/agent-src/rules/design-fidelity.md +5 -0
- package/dist/agent-src/rules/design-review-after-ui-write.md +4 -0
- package/dist/agent-src/rules/devcontainer-routing.md +2 -0
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +2 -0
- package/dist/agent-src/rules/docker-commands.md +2 -0
- package/dist/agent-src/rules/domain-adoption-policy.md +2 -0
- package/dist/agent-src/rules/domain-safety-disclaimer.md +2 -0
- package/dist/agent-src/rules/domain-safety-pii.md +2 -0
- package/dist/agent-src/rules/domain-safety-retention.md +2 -0
- package/dist/agent-src/rules/downstream-changes.md +2 -0
- package/dist/agent-src/rules/engineering-safety-floor.md +2 -0
- package/dist/agent-src/rules/evaluator-independence.md +14 -3
- package/dist/agent-src/rules/external-code-graph-interop.md +4 -1
- package/dist/agent-src/rules/external-reference-deep-dive.md +2 -0
- package/dist/agent-src/rules/fast-path-marker-visibility.md +2 -0
- package/dist/agent-src/rules/finance-safety-floor.md +3 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +2 -0
- package/dist/agent-src/rules/git-history-discipline.md +3 -1
- package/dist/agent-src/rules/guidelines.md +2 -0
- package/dist/agent-src/rules/history-discipline.md +5 -1
- package/dist/agent-src/rules/icon-consistency.md +2 -0
- package/dist/agent-src/rules/image-likeness-and-rights.md +2 -0
- package/dist/agent-src/rules/improve-before-implement.md +2 -0
- package/dist/agent-src/rules/invite-challenge.md +2 -0
- package/dist/agent-src/rules/laravel-routing.md +2 -0
- package/dist/agent-src/rules/laravel-translations.md +2 -0
- package/dist/agent-src/rules/legal-safety-floor.md +3 -1
- package/dist/agent-src/rules/lethal-trifecta-guard.md +2 -0
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +2 -0
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +2 -0
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -0
- package/dist/agent-src/rules/media-governance-routing.md +2 -0
- package/dist/agent-src/rules/media-sync-ground-truth.md +2 -0
- package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
- package/dist/agent-src/rules/missing-tool-handling.md +2 -0
- package/dist/agent-src/rules/model-recommendation.md +2 -0
- package/dist/agent-src/rules/no-attribution-footers.md +2 -0
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +2 -0
- package/dist/agent-src/rules/no-pr-progress-comments.md +5 -1
- package/dist/agent-src/rules/no-roadmap-references.md +2 -0
- package/dist/agent-src/rules/notes-first-reasoning.md +2 -0
- package/dist/agent-src/rules/onboarding-gate.md +5 -1
- package/dist/agent-src/rules/output-discipline.md +2 -0
- package/dist/agent-src/rules/package-ci-checks.md +2 -0
- package/dist/agent-src/rules/persona-governance.md +2 -0
- package/dist/agent-src/rules/php-coding.md +2 -0
- package/dist/agent-src/rules/prefer-enums-over-literals.md +2 -0
- package/dist/agent-src/rules/preservation-guard.md +2 -0
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +2 -0
- package/dist/agent-src/rules/question-not-instruction.md +2 -0
- package/dist/agent-src/rules/reviewer-awareness.md +2 -0
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +2 -0
- package/dist/agent-src/rules/role-mode-adherence.md +3 -1
- package/dist/agent-src/rules/rule-type-governance.md +2 -0
- package/dist/agent-src/rules/runtime-safety.md +2 -0
- package/dist/agent-src/rules/scale-discipline.md +5 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +2 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +2 -0
- package/dist/agent-src/rules/self-repair-loop.md +103 -0
- package/dist/agent-src/rules/senior-engineering-discipline.md +2 -0
- package/dist/agent-src/rules/session-canary.md +62 -19
- package/dist/agent-src/rules/settings-ask-protocol.md +4 -0
- package/dist/agent-src/rules/size-enforcement.md +2 -0
- package/dist/agent-src/rules/skill-improvement-trigger.md +2 -0
- package/dist/agent-src/rules/skill-quality.md +2 -0
- package/dist/agent-src/rules/slash-command-routing-policy.md +2 -0
- package/dist/agent-src/rules/source-confidentiality.md +2 -0
- package/dist/agent-src/rules/source-discovery-gate.md +2 -0
- package/dist/agent-src/rules/source-of-truth.md +2 -0
- package/dist/agent-src/rules/spreadsheet-source-quality.md +2 -0
- package/dist/agent-src/rules/strategy-safety-floor.md +3 -1
- package/dist/agent-src/rules/symfony-routing.md +2 -0
- package/dist/agent-src/rules/think-before-action.md +2 -0
- package/dist/agent-src/rules/token-budget-discipline.md +5 -1
- package/dist/agent-src/rules/token-efficiency.md +2 -0
- package/dist/agent-src/rules/token-optimizer-maintenance.md +2 -0
- package/dist/agent-src/rules/tool-safety.md +7 -1
- package/dist/agent-src/rules/ui-audit-gate.md +4 -0
- package/dist/agent-src/rules/untrusted-input-defense.md +2 -0
- package/dist/agent-src/rules/upstream-proposal.md +2 -0
- package/dist/agent-src/rules/user-interaction.md +2 -0
- package/dist/agent-src/rules/user-interrupt-priority.md +2 -0
- package/dist/agent-src/skills/adversarial-review/SKILL.md +1 -1
- package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/dist/agent-src/skills/performance-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/persona-improvement/SKILL.md +1 -1
- package/dist/agent-src/skills/project-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
- package/dist/agent-src/skills/sequential-thinking/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +1 -1
- package/dist/agent-src/skills/universal-project-analysis/SKILL.md +1 -1
- package/dist/agent-src/templates/AGENTS.md +6 -10
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/cli/registry.js +9 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli-delegate/chunk-22GCIJ2O.js +270 -0
- package/dist/cli-delegate/{chunk-BSLUHV2F.js → chunk-2BE5I2MN.js} +156 -141
- package/dist/cli-delegate/{chunk-AIIUU73N.js → chunk-7OMQCH4V.js} +1 -1
- package/dist/cli-delegate/{chunk-HJ6DAJHR.js → chunk-GB2FSUEE.js} +57 -7
- package/dist/cli-delegate/{chunk-WR6GTRHJ.js → chunk-JXARCGVN.js} +3 -3
- package/dist/cli-delegate/{chunk-SJQMJI7M.js → chunk-PQSAQKHW.js} +467 -305
- package/dist/cli-delegate/chunk-REKCMYOU.js +2991 -0
- package/dist/cli-delegate/cmd_analyze_session.js +1 -1
- package/dist/cli-delegate/cmd_brand_status.js +134 -0
- package/dist/cli-delegate/cmd_conformance.js +7 -7
- package/dist/cli-delegate/cmd_converge.js +3 -3
- package/dist/cli-delegate/cmd_doctor.js +4 -4
- package/dist/cli-delegate/cmd_explain.js +80 -330
- package/dist/cli-delegate/cmd_export.js +5 -5
- package/dist/cli-delegate/cmd_fleet.js +3 -3
- package/dist/cli-delegate/cmd_handoff.js +2 -2
- package/dist/cli-delegate/cmd_mcp_available.js +433 -0
- package/dist/cli-delegate/cmd_migrate.js +3 -3
- package/dist/cli-delegate/cmd_packs_active.js +153 -0
- package/dist/cli-delegate/cmd_preflight.js +1 -1
- package/dist/cli-delegate/cmd_prune.js +5 -5
- package/dist/cli-delegate/cmd_route_audit.js +8 -8
- package/dist/cli-delegate/cmd_route_explain.js +4 -4
- package/dist/cli-delegate/cmd_settings_get.js +272 -0
- package/dist/cli-delegate/cmd_settings_migrate.js +5 -5
- package/dist/cli-delegate/cmd_settings_set.js +7 -2967
- package/dist/cli-delegate/cmd_sync.js +5 -5
- package/dist/cli-delegate/cmd_uninstall.js +5 -5
- package/dist/cli-delegate/cmd_update.js +4 -4
- package/dist/cli-delegate/cmd_upgrade.js +4 -4
- package/dist/cli-delegate/cmd_validate.js +5 -5
- package/dist/cli-delegate/cmd_versions.js +4 -4
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +184 -124
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +7 -5
- package/dist/discovery/trust-report.md +11 -11
- package/dist/discovery/workspaces.json +6 -4
- package/dist/hooks/dispatch.js +9080 -5701
- package/dist/install/install.mjs +698 -508
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +698 -437
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +80 -15
- package/dist/scripts/_lib/agent_settings.js.map +1 -1
- package/dist/scripts/condense.js +33 -2
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/io/yamlIO.js +85 -0
- package/dist/server/io/yamlIO.js.map +1 -1
- package/dist/server/routes/settings.js +1 -12
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/routes/wizard.js +52 -2
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/shared/settingsCarveOut.js +118 -0
- package/dist/shared/settingsCarveOut.js.map +1 -0
- package/dist/shared/settingsSurface.js +7 -1
- package/dist/shared/settingsSurface.js.map +1 -1
- package/dist/ui/assets/index-DmR0mbk4.js.map +1 -1
- package/docs/contracts/settings-classes.md +29 -8
- package/docs/guidelines/agent-infra/memory-access.md +14 -3
- package/package.json +1 -1
- package/src/agent-src/templates/AGENTS.md +6 -10
- package/src/config/budgets.yml +29 -0
- package/src/config/evaluator-budgets.json +4 -4
- package/src/config/gate-coverage.yml +26 -0
- package/src/scripts/_cli/cmd_brand_status.ts +174 -0
- package/src/scripts/_cli/cmd_doctor.ts +6 -21
- package/src/scripts/_cli/cmd_mcp_available.ts +266 -0
- package/src/scripts/_cli/cmd_packs_active.ts +225 -0
- package/src/scripts/_cli/cmd_settings_get.ts +324 -0
- package/src/scripts/_dispatch.bash +75 -0
- package/src/scripts/_lib/agent_settings.ts +82 -16
- package/src/scripts/_lib/carrier_divergence.ts +135 -0
- package/src/scripts/_lib/git_common_dir.ts +128 -0
- package/src/scripts/_lib/host_capability.ts +84 -1
- package/src/scripts/_lib/obligation_frequency.ts +391 -0
- package/src/scripts/_lib/prompt_shape.ts +88 -0
- package/src/scripts/_lib/review_skipped_record.ts +102 -0
- package/src/scripts/_lib/rule_layer_overlap.ts +254 -0
- package/src/scripts/_lib/self_repair.ts +342 -0
- package/src/scripts/_lib/self_repair_store.ts +100 -0
- package/src/scripts/_lib/session_register.ts +361 -0
- package/src/scripts/_lib/transcript_entry.ts +80 -0
- package/src/scripts/check_branch_freshness.ts +255 -0
- package/src/scripts/check_council_config_location.ts +125 -1
- package/src/scripts/check_enforcement_coverage.ts +192 -7
- package/src/scripts/check_rule_projection_integrity.ts +364 -0
- package/src/scripts/check_standing_rule_delivery.ts +314 -0
- package/src/scripts/condense.ts +36 -2
- package/src/scripts/config/profiles.ts +13 -3
- package/src/scripts/conformance_scan.ts +307 -24
- package/src/scripts/council_availability_hook.ts +188 -0
- package/src/scripts/council_cli.ts +126 -7
- package/src/scripts/generate_settings_reference.ts +232 -0
- package/src/scripts/hook_manifest.yaml +155 -33
- package/src/scripts/hooks/block_no_verify.ts +95 -3
- package/src/scripts/hooks/block_unauthorized_git.ts +217 -2
- package/src/scripts/hooks/concern_registry.ts +12 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +450 -0
- package/src/scripts/hooks/end_review_nudge_hook.ts +726 -0
- package/src/scripts/hooks/orchestration_record_hook.ts +342 -0
- package/src/scripts/install.ts +151 -0
- package/src/scripts/language_mirror_hook.ts +49 -6
- package/src/scripts/measure_scope_dedup.ts +19 -13
- package/src/scripts/onboarding_gate_hook.ts +40 -1
- package/src/scripts/orchestration_backfill.ts +354 -0
- package/src/scripts/orchestration_record.ts +4 -1
- package/src/scripts/preamble_byte_census.ts +9 -20
- package/src/scripts/release.ts +142 -36
- package/src/scripts/report_carrier_divergence.ts +364 -0
- package/src/scripts/report_skill_activation.ts +257 -0
- package/src/scripts/report_skill_obligation_violations.ts +579 -0
- package/src/scripts/routing_doctor.ts +77 -6
- package/src/scripts/schemas/rule.schema.json +5 -0
- package/src/scripts/self_repair_cli.ts +240 -0
- package/src/scripts/self_repair_hook.ts +241 -0
- package/src/scripts/session_canary_hook.ts +35 -3
- package/src/scripts/session_register_hook.ts +288 -0
- package/src/scripts/sessions_cli.ts +140 -0
- package/src/scripts/validate_frontmatter.ts +68 -0
- package/src/server/io/yamlIO.ts +87 -0
- package/src/shared/settingsCarveOut.ts +143 -0
- package/src/shared/settingsSurface.ts +7 -1
|
@@ -27,6 +27,8 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
27
27
|
packs: [meta]
|
|
28
28
|
collision_ok:
|
|
29
29
|
"screenshot": "a screenshot shipping into docs is the PII/anonymization gate"
|
|
30
|
+
# obligation: line 49
|
|
31
|
+
obligation_frequency: "per-event"
|
|
30
32
|
---
|
|
31
33
|
|
|
32
34
|
# Doc-Screenshot Hygiene
|
|
@@ -15,6 +15,8 @@ collision_ok:
|
|
|
15
15
|
"artisan": "artisan runs inside the project container, never on the host"
|
|
16
16
|
"composer": "composer runs inside the project container"
|
|
17
17
|
"docker": "its own core subject"
|
|
18
|
+
# obligation: line 22
|
|
19
|
+
obligation_frequency: "per-edit"
|
|
18
20
|
---
|
|
19
21
|
|
|
20
22
|
# Docker Commands
|
|
@@ -42,6 +42,8 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
42
42
|
packs: [meta]
|
|
43
43
|
collision_ok:
|
|
44
44
|
"review this contract": "contract review is advisory-shaped — the not-legal-advice footer floor"
|
|
45
|
+
# obligation: line 52
|
|
46
|
+
obligation_frequency: "per-task"
|
|
45
47
|
---
|
|
46
48
|
|
|
47
49
|
# Domain Safety — Advisory Disclaimer
|
|
@@ -42,6 +42,8 @@ applies_to_user_types:
|
|
|
42
42
|
- "all"
|
|
43
43
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
44
44
|
packs: [meta]
|
|
45
|
+
# obligation: line 52
|
|
46
|
+
obligation_frequency: "per-task"
|
|
45
47
|
---
|
|
46
48
|
|
|
47
49
|
# Domain Safety — PII Redaction
|
|
@@ -27,6 +27,8 @@ applies_to_user_types:
|
|
|
27
27
|
- "gtm"
|
|
28
28
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
29
29
|
packs: [meta]
|
|
30
|
+
# obligation: line 47
|
|
31
|
+
obligation_frequency: "per-turn"
|
|
30
32
|
---
|
|
31
33
|
|
|
32
34
|
# Domain Safety — Data Retention
|
|
@@ -28,6 +28,8 @@ workspaces: [engineering]
|
|
|
28
28
|
packs: [engineering-base]
|
|
29
29
|
collision_ok:
|
|
30
30
|
"migration": "a prod migration is a hard-floor evidence surface (rollback path, blast radius)"
|
|
31
|
+
# obligation: line 49
|
|
32
|
+
obligation_frequency: "per-commit"
|
|
31
33
|
---
|
|
32
34
|
|
|
33
35
|
# Engineering Safety Floor
|
|
@@ -20,6 +20,12 @@ enforced_by:
|
|
|
20
20
|
- "hook:evidence-independence"
|
|
21
21
|
collision_ok:
|
|
22
22
|
"honest null": "this rule asks how a recorded null was PRODUCED; decision-revisit-gate asks whether it may be REVISITED — different decision points on the same artefact"
|
|
23
|
+
# obligation: dispatching an evaluator is a tool call, and the guard is a pre_tool_use
|
|
24
|
+
# concern that reads that prompt — src/rules/evaluator-independence.md:81
|
|
25
|
+
obligation_frequency: "per-edit"
|
|
26
|
+
# frequency-override: line 70 states a per-turn clause ("one evaluation per turn"),
|
|
27
|
+
# but the guard counts it AT the dispatch, which is a tool call — a per-edit point
|
|
28
|
+
# carrier sees every dispatch, so it carries the per-turn cap too.
|
|
23
29
|
---
|
|
24
30
|
|
|
25
31
|
# Evaluator Independence
|
|
@@ -85,11 +91,16 @@ pre-loaded verdict, and **blocks** a second *self-scoped* evaluation dispatch in
|
|
|
85
91
|
the same turn; it **warns** on the first. It reads the prompt the agent is about
|
|
86
92
|
to send, so items 1 and 4 above are mechanically enforced.
|
|
87
93
|
|
|
88
|
-
|
|
94
|
+
Three limits, stated because they were measured. The pre-loaded-verdict list is
|
|
89
95
|
a **phrase list**, so a paraphrase evades it — it catches recurrences of known
|
|
90
|
-
steering wording, not steering as such.
|
|
96
|
+
steering wording, not steering as such. The turn boundary is the
|
|
91
97
|
authorization ledger's `detected_at` stamp, because the envelope carries no turn
|
|
92
|
-
id; with no ledger yet, the counter falls back to session scope.
|
|
98
|
+
id; with no ledger yet, the counter falls back to session scope. And the slot
|
|
99
|
+
itself is not universal: `pre_tool_use` exists on **three** hosts — augment,
|
|
100
|
+
claude, cowork. On cursor, cline, windsurf, gemini and copilot this guard has
|
|
101
|
+
nowhere to bind, so items 1 and 4 join 2 and 3 as model-carried there. The
|
|
102
|
+
frequency join in `check_enforcement_coverage.ts` reports exactly that set, and
|
|
103
|
+
`agent-config hooks:status` answers it for the host you are on right now.
|
|
93
104
|
|
|
94
105
|
Items 2 and 3 — an honestly chosen scope, and recording the prompt with the
|
|
95
106
|
verdict — are **not** enforced by anything. A narrowed scope is not decidable
|
|
@@ -17,6 +17,8 @@ applies_to_user_types:
|
|
|
17
17
|
self_contained: true
|
|
18
18
|
workspaces: [engineering]
|
|
19
19
|
packs: [meta]
|
|
20
|
+
# obligation: line 37
|
|
21
|
+
obligation_frequency: "per-turn"
|
|
20
22
|
---
|
|
21
23
|
|
|
22
24
|
# External Code-Graph Interop
|
|
@@ -68,7 +70,8 @@ AND the repo contains a detectable index:
|
|
|
68
70
|
routing skill: `agent-config code-graph detect|query|affected|path` over the
|
|
69
71
|
native engine or a consumer-shipped index, grep as the stated fallback. On
|
|
70
72
|
hook-capable hosts the PreToolUse `code-graph` nudge surfaces this once per
|
|
71
|
-
session; on instruction-file hosts this rule is the surface.
|
|
73
|
+
session; on instruction-file hosts this rule is the surface. Which of the two
|
|
74
|
+
you are on is `agent-config hooks:status`, not a guess from the host name.
|
|
72
75
|
- [`discovery_graph`](../scripts/discovery_graph.ts) — this suite's OWN artefact
|
|
73
76
|
relation-graph (`affected`/`explain`); the external code-graph is the
|
|
74
77
|
*source-code* analogue this rule defers to for code questions.
|
|
@@ -33,13 +33,15 @@ packs: [finance-basic, finance-advanced]
|
|
|
33
33
|
trust:
|
|
34
34
|
level: advisory
|
|
35
35
|
human_review_required: true
|
|
36
|
+
# obligation: line 53
|
|
37
|
+
obligation_frequency: "per-task"
|
|
36
38
|
---
|
|
37
39
|
<!-- agent-config:human-review-banner -->
|
|
38
40
|
> HUMAN REVIEW REQUIRED · trust: advisory · owner: unknown
|
|
39
41
|
|
|
40
42
|
# Finance Safety Floor
|
|
41
43
|
|
|
42
|
-
Domain safety floor for finance-pack artefacts (cash, runway, valuation, scenario, unit economics, forecasting). Auto-activates when `pack-finance-basic` or `pack-finance-advanced` is installed.
|
|
44
|
+
Domain safety floor for finance-pack artefacts (cash, runway, valuation, scenario, unit economics, forecasting). Auto-activates when `pack-finance-basic` or `pack-finance-advanced` is installed — `agent-config packs:active` says whether it is, and names the degraded case where zero packs load and this floor cannot activate at all.
|
|
43
45
|
|
|
44
46
|
## Iron Law — no final investment recommendation
|
|
45
47
|
|
|
@@ -43,6 +43,8 @@ collision_ok:
|
|
|
43
43
|
"formrequest": "FormRequest named in a generic artifact is leakage — the lint surface"
|
|
44
44
|
"phpstan": "phpstan named in a generic artifact is leakage — the lint surface"
|
|
45
45
|
"rector": "rector named in a generic artifact is leakage — the lint surface"
|
|
46
|
+
# obligation: line 65
|
|
47
|
+
obligation_frequency: "per-edit"
|
|
46
48
|
---
|
|
47
49
|
|
|
48
50
|
# framework-neutrality-in-generic-skills
|
|
@@ -23,6 +23,8 @@ workspaces: [engineering]
|
|
|
23
23
|
packs: [engineering-base]
|
|
24
24
|
enforced_by:
|
|
25
25
|
- "hook:block-no-verify"
|
|
26
|
+
# obligation: line 35
|
|
27
|
+
obligation_frequency: "per-commit"
|
|
26
28
|
---
|
|
27
29
|
|
|
28
30
|
# Git History Discipline
|
|
@@ -82,4 +84,4 @@ Trigger-set above activates this routing on demand, independent of the disciplin
|
|
|
82
84
|
- [`commit-policy`](commit-policy.md) — commits are the user's call; rewriting them is a stronger version of the same restriction.
|
|
83
85
|
- [`token-efficiency`](token-efficiency.md) — Iron Law on burning the user's tokens for cosmetic gain.
|
|
84
86
|
- [`skill:git-workflow`](../skills/git-workflow/SKILL.md) — Safe Squash-After-Push protocol and Divergent-State Recovery decision tree.
|
|
85
|
-
- `git … --no-verify` / `core.hooksPath` overrides — deterministically blocked by the `block-no-verify` PreToolUse guard (`src/scripts/hooks/block_no_verify.ts`, registered in `hook_manifest.yaml`).
|
|
87
|
+
- `git … --no-verify` / `core.hooksPath` overrides — deterministically blocked by the `block-no-verify` PreToolUse guard (`src/scripts/hooks/block_no_verify.ts`, registered in `hook_manifest.yaml`) **on the three hosts that have a `pre_tool_use` slot at all** — augment, claude, cowork. On cursor, cline, windsurf, gemini and copilot the guard has nowhere to bind, so on those hosts the Iron Laws above are model-carried and "deterministically blocked" is not a claim this rule can make. Surfaced by the frequency join in `check_enforcement_coverage.ts`, which reports the per-commit obligation as uncovered on exactly those platforms. To check the host you are on rather than trusting this sentence, run `agent-config hooks:status`.
|
|
@@ -19,12 +19,16 @@ workspaces: [engineering]
|
|
|
19
19
|
packs: [history-discipline]
|
|
20
20
|
trust:
|
|
21
21
|
level: professional
|
|
22
|
+
# obligation: line 35
|
|
23
|
+
obligation_frequency: "per-edit"
|
|
22
24
|
---
|
|
23
25
|
|
|
24
26
|
# History Discipline
|
|
25
27
|
|
|
26
28
|
Pack floor for the `history-discipline` pack (default-off; auto-activates
|
|
27
|
-
when the pack is installed
|
|
29
|
+
when the pack is installed — `agent-config packs:active` says whether it is,
|
|
30
|
+
and names the degraded case where zero packs load and this floor cannot
|
|
31
|
+
activate at all). Agents get history wrong in both directions:
|
|
28
32
|
missing entirely on data that needs it, or over-built as event sourcing
|
|
29
33
|
where a row-level log suffices — and audit tables that themselves grow
|
|
30
34
|
without bound.
|
|
@@ -22,6 +22,8 @@ collision_ok:
|
|
|
22
22
|
"/image:": "rights/likeness gate on the image-generation surface"
|
|
23
23
|
"likeness": "its own core subject — the rights gate"
|
|
24
24
|
"scripts/ai-image/adapters/": "adapter edits touch the likeness-gated generation path"
|
|
25
|
+
# obligation: line 32
|
|
26
|
+
obligation_frequency: "per-event"
|
|
25
27
|
---
|
|
26
28
|
|
|
27
29
|
# Image Likeness and Rights
|
|
@@ -20,6 +20,8 @@ collision_ok:
|
|
|
20
20
|
"migration": "a migration is a significant behavioural change — the pre-implementation checks apply"
|
|
21
21
|
"refactor": "refactor = significant change; the demand gate + three checks apply"
|
|
22
22
|
"implement": "its own core trigger — pre-implementation validation"
|
|
23
|
+
# obligation: line 45
|
|
24
|
+
obligation_frequency: "per-task"
|
|
23
25
|
---
|
|
24
26
|
|
|
25
27
|
# Improve Before Implement
|
|
@@ -20,6 +20,8 @@ collision_ok:
|
|
|
20
20
|
"artisan": "artisan is a Laravel-flavoured PHP routing cue — load the laravel skill"
|
|
21
21
|
"eloquent": "eloquent is a Laravel routing cue"
|
|
22
22
|
"formrequest": "FormRequest is a Laravel routing cue"
|
|
23
|
+
# obligation: line 29
|
|
24
|
+
obligation_frequency: "none"
|
|
23
25
|
---
|
|
24
26
|
|
|
25
27
|
# Laravel Routing
|
|
@@ -31,13 +31,15 @@ trust:
|
|
|
31
31
|
collision_ok:
|
|
32
32
|
"controller": "'controller' is a GDPR role term (controller/processor) in the legal pack"
|
|
33
33
|
"review this contract": "the legal-pack contract-review gate — both floors must fire"
|
|
34
|
+
# obligation: line 103
|
|
35
|
+
obligation_frequency: "per-task"
|
|
34
36
|
---
|
|
35
37
|
<!-- agent-config:human-review-banner -->
|
|
36
38
|
> HUMAN REVIEW REQUIRED · trust: advisory · owner: unknown
|
|
37
39
|
|
|
38
40
|
# Legal Safety Floor
|
|
39
41
|
|
|
40
|
-
Domain safety floor for the `legal-review-prep` pack (contract/NDA/DPA review, legal triage). Auto-activates when `pack-legal-review-prep` is installed. Sibling to `finance-safety-floor` / `strategy-safety-floor`. Every output is a **draft to PREPARE for attorney review**, never legal advice. Operating mechanics migrated to [`legal-practice-profile § Legal safety floor`](../skills/legal-practice-profile/SKILL.md) (per P4 of `road-to-kernel-and-router`) — the Iron Laws below stay here.
|
|
42
|
+
Domain safety floor for the `legal-review-prep` pack (contract/NDA/DPA review, legal triage). Auto-activates when `pack-legal-review-prep` is installed — `agent-config packs:active` says whether it is, and names the degraded case where zero packs load and this floor cannot activate at all. Sibling to `finance-safety-floor` / `strategy-safety-floor`. Every output is a **draft to PREPARE for attorney review**, never legal advice. Operating mechanics migrated to [`legal-practice-profile § Legal safety floor`](../skills/legal-practice-profile/SKILL.md) (per P4 of `road-to-kernel-and-router`) — the Iron Laws below stay here.
|
|
41
43
|
|
|
42
44
|
## Iron Law — no final legal call
|
|
43
45
|
|
|
@@ -20,6 +20,8 @@ enforced_by:
|
|
|
20
20
|
collision_ok:
|
|
21
21
|
"src/skills/": "skill authoring reviews tool grants and the egress leg"
|
|
22
22
|
"src/agent-src/commands/": "command authoring reviews the three trifecta legs"
|
|
23
|
+
# obligation: line 60
|
|
24
|
+
obligation_frequency: "per-edit"
|
|
23
25
|
---
|
|
24
26
|
|
|
25
27
|
# Lethal-Trifecta Guard
|
|
@@ -9,6 +9,8 @@ triggers:
|
|
|
9
9
|
self_contained: true
|
|
10
10
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
11
11
|
packs: [meta]
|
|
12
|
+
# obligation: line 23
|
|
13
|
+
obligation_frequency: "per-turn"
|
|
12
14
|
---
|
|
13
15
|
|
|
14
16
|
# Markdown Safe Codeblocks
|
|
@@ -36,6 +36,8 @@ collision_ok:
|
|
|
36
36
|
"/audio:": "routes the media policy layer for audio surfaces"
|
|
37
37
|
"/video:": "routes the media policy layer for video surfaces"
|
|
38
38
|
"likeness": "likeness prompts must load the policy layer before generation"
|
|
39
|
+
# obligation: line 46
|
|
40
|
+
obligation_frequency: "per-event"
|
|
39
41
|
---
|
|
40
42
|
|
|
41
43
|
# Media Governance Routing
|
|
@@ -9,6 +9,8 @@ routes_to:
|
|
|
9
9
|
- "guideline:agent-infra/missing-tool-handling"
|
|
10
10
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
11
11
|
packs: [meta]
|
|
12
|
+
# obligation: line 16
|
|
13
|
+
obligation_frequency: "per-event"
|
|
12
14
|
---
|
|
13
15
|
|
|
14
16
|
# Missing Tool Handling
|
|
@@ -13,6 +13,8 @@ routes_to:
|
|
|
13
13
|
- "guideline:agent-infra/model-recommendation"
|
|
14
14
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
15
15
|
packs: [meta]
|
|
16
|
+
# obligation: line 4
|
|
17
|
+
obligation_frequency: "per-task"
|
|
16
18
|
---
|
|
17
19
|
|
|
18
20
|
# Model Recommendation
|
|
@@ -8,6 +8,8 @@ triggers:
|
|
|
8
8
|
self_contained: true
|
|
9
9
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
10
10
|
packs: [meta]
|
|
11
|
+
# obligation: line 18
|
|
12
|
+
obligation_frequency: "per-commit"
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
# No Attribution Footers
|
|
@@ -10,6 +10,8 @@ triggers:
|
|
|
10
10
|
self_contained: true
|
|
11
11
|
workspaces: [agent-config-maintainer, engineering]
|
|
12
12
|
packs: [meta]
|
|
13
|
+
# obligation: line 20
|
|
14
|
+
obligation_frequency: "per-commit"
|
|
13
15
|
---
|
|
14
16
|
|
|
15
17
|
# No Unsolicited PR Progress Comments
|
|
@@ -23,7 +25,9 @@ EXCEPTION: USER-INVOKED FLOWS ALWAYS RUN.
|
|
|
23
25
|
EXCEPTION: USER EXPLICITLY ASKED FOR IT THIS TURN.
|
|
24
26
|
```
|
|
25
27
|
|
|
26
|
-
Reading `.agent-settings.yml
|
|
28
|
+
Reading `.agent-settings.yml` — the project layer of a cascade that starts
|
|
29
|
+
user-global, so "not set" means not set on any layer; `agent-config settings:get
|
|
30
|
+
personal.pr_progress_comments` reports the value and the file it came from:
|
|
27
31
|
|
|
28
32
|
- Missing key / not set → treat as `false`.
|
|
29
33
|
- `personal.pr_progress_comments: false` (default) → gate fires.
|
|
@@ -22,6 +22,8 @@ enforced_by:
|
|
|
22
22
|
- "validator:src/scripts/check_council_references.ts"
|
|
23
23
|
collision_ok:
|
|
24
24
|
"agents/roadmaps/": "roadmap edits are where transient-ref links get written"
|
|
25
|
+
# obligation: line 47
|
|
26
|
+
obligation_frequency: "per-edit"
|
|
25
27
|
---
|
|
26
28
|
|
|
27
29
|
# No Transient References from Stable Artifacts
|
|
@@ -11,12 +11,16 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
11
11
|
packs: [meta]
|
|
12
12
|
enforced_by:
|
|
13
13
|
- "hook:onboarding-gate"
|
|
14
|
+
# obligation: line 18
|
|
15
|
+
obligation_frequency: "per-session"
|
|
14
16
|
---
|
|
15
17
|
|
|
16
18
|
# Onboarding Gate
|
|
17
19
|
|
|
18
20
|
**Iron Law.** First turn of a project: if `onboarding.onboarded` is
|
|
19
|
-
false in `.agent-settings.yml
|
|
21
|
+
false in `.agent-settings.yml` — the project layer of a cascade that starts
|
|
22
|
+
user-global, so check it with `agent-config settings:get onboarding.onboarded`
|
|
23
|
+
rather than by opening one file — instruct the developer to run
|
|
20
24
|
`agent-config setup` in their terminal before executing any other
|
|
21
25
|
request. The wizard writes `onboarding.onboarded: true` on `Finish`,
|
|
22
26
|
which silences this rule for subsequent turns.
|
|
@@ -15,6 +15,8 @@ packs: [engineering-base]
|
|
|
15
15
|
collision_ok:
|
|
16
16
|
"migration": "migrations add columns — multi-state fields should land as enums from the start"
|
|
17
17
|
"category": "a category field is the canonical enum candidate"
|
|
18
|
+
# obligation: line 27
|
|
19
|
+
obligation_frequency: "per-edit"
|
|
18
20
|
---
|
|
19
21
|
|
|
20
22
|
# Prefer Enums Over Literal Values
|
|
@@ -30,6 +30,8 @@ collision_ok:
|
|
|
30
30
|
"/audio:": "provider-tier gate for audio providers"
|
|
31
31
|
"/video:": "provider-tier gate for video providers"
|
|
32
32
|
"scripts/ai-image/adapters/": "adapter edits are the lifecycle contract's surface"
|
|
33
|
+
# obligation: line 41
|
|
34
|
+
obligation_frequency: "per-event"
|
|
33
35
|
---
|
|
34
36
|
|
|
35
37
|
# Provider Lifecycle Discipline
|
|
@@ -30,6 +30,8 @@ packs: [meta]
|
|
|
30
30
|
roles: [planner]
|
|
31
31
|
collision_ok:
|
|
32
32
|
"agents/roadmaps/": "roadmap steps must not schedule CI-shaped gates"
|
|
33
|
+
# obligation: line 41
|
|
34
|
+
obligation_frequency: "per-edit"
|
|
33
35
|
---
|
|
34
36
|
|
|
35
37
|
# Roadmap CI-Steps Policy
|
|
@@ -43,7 +45,10 @@ AND EXECUTION MUST SKIP THEM INLINE WITH [-] AND A REASON.
|
|
|
43
45
|
```
|
|
44
46
|
|
|
45
47
|
When autonomous local-CI runs are disabled in `.agent-settings.yml`
|
|
46
|
-
(`quality.local_auto_run: false` — the shipped template default
|
|
48
|
+
(`quality.local_auto_run: false` — the shipped template default; that file is the
|
|
49
|
+
project layer of a cascade that starts user-global, and this key is one where an
|
|
50
|
+
ABSENT value resolves to `true` at its reader and therefore DISABLES this gate —
|
|
51
|
+
`agent-config settings:get quality.local_auto_run` reports both facts), every
|
|
47
52
|
full-pipeline gate run during roadmap work is wasted wall-clock and
|
|
48
53
|
tokens — the remote CI on the PR is the authoritative gate. Roadmaps must
|
|
49
54
|
neither schedule nor execute those gates locally. New CI gates and
|
|
@@ -9,6 +9,8 @@ triggers:
|
|
|
9
9
|
self_contained: true
|
|
10
10
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
11
11
|
packs: [meta]
|
|
12
|
+
# obligation: line 23
|
|
13
|
+
obligation_frequency: "per-turn"
|
|
12
14
|
---
|
|
13
15
|
|
|
14
16
|
# Role Mode Adherence
|
|
@@ -18,7 +20,7 @@ one of the six modes defined in
|
|
|
18
20
|
[`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md):
|
|
19
21
|
`developer`, `reviewer`, `tester`, `po`, `incident`, `planner`.
|
|
20
22
|
|
|
21
|
-
Read `roles.active_role` from `.agent-settings.yml` at session start. Empty / missing → rule is inert; do NOT guess a mode.
|
|
23
|
+
Read `roles.active_role` from `.agent-settings.yml` at session start — the project layer of a cascade that starts user-global, so use `agent-config settings:get roles.active_role`, which reports the value and the file it came from, rather than opening one file. Empty / missing → rule is inert; do NOT guess a mode.
|
|
22
24
|
|
|
23
25
|
When active, every closing output MUST:
|
|
24
26
|
|