@event4u/agent-config 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/.agent-src/commands/install-via-agent.md +129 -0
  2. package/.agent-src/commands/video/from-script.md +1 -1
  3. package/.agent-src/commands/video.md +1 -1
  4. package/.agent-src/contexts/execution/cheap-question-mechanics.md +81 -0
  5. package/.agent-src/rules/caveman-speak.md +2 -2
  6. package/.agent-src/rules/context-hygiene.md +36 -0
  7. package/.agent-src/rules/engineering-safety-floor.md +102 -0
  8. package/.agent-src/rules/finance-safety-floor.md +114 -0
  9. package/.agent-src/rules/git-history-discipline.md +1 -1
  10. package/.agent-src/rules/no-cheap-questions.md +34 -32
  11. package/.agent-src/rules/provider-lifecycle-discipline.md +4 -4
  12. package/.agent-src/rules/strategy-safety-floor.md +114 -0
  13. package/.agent-src/skills/agents-md-thin-root/SKILL.md +15 -9
  14. package/.agent-src/skills/async-python-patterns/SKILL.md +1 -1
  15. package/.agent-src/skills/project-analysis-node-express/SKILL.md +1 -1
  16. package/.agent-src/skills/readme-reviewer/SKILL.md +52 -3
  17. package/.agent-src/skills/readme-writing/SKILL.md +52 -4
  18. package/.agent-src/skills/readme-writing-package/SKILL.md +48 -5
  19. package/.agent-src/skills/systematic-debugging/SKILL.md +41 -0
  20. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  21. package/.agent-src/templates/hooks/pre-commit-frontmatter +66 -0
  22. package/.agent-src/templates/hooks/pre-commit-roadmap-progress +78 -39
  23. package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +4 -1
  24. package/.agent-src/templates/scripts/work_engine/orchestration.py +25 -11
  25. package/.claude-plugin/marketplace.json +2 -1
  26. package/AGENTS.md +10 -8
  27. package/CHANGELOG.md +223 -125
  28. package/README.md +165 -553
  29. package/config/agent-settings.template.yml +0 -7
  30. package/config/discovery/packs.yml +20 -0
  31. package/config/discovery/unassigned-artefacts.yml +2 -0
  32. package/config/gitignore-block.txt +19 -3
  33. package/dist/cli/commands/uiServe.js +13 -4
  34. package/dist/cli/commands/uiServe.js.map +1 -1
  35. package/dist/cli/registry.js +2 -0
  36. package/dist/cli/registry.js.map +1 -1
  37. package/dist/discovery/deprecation-report.md +7 -0
  38. package/dist/discovery/discovery-manifest.json +2107 -1409
  39. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  40. package/dist/discovery/discovery-manifest.summary.md +9 -9
  41. package/dist/discovery/orphan-report.md +10 -0
  42. package/dist/discovery/packs.json +1002 -0
  43. package/dist/discovery/trust-report.md +26 -0
  44. package/dist/discovery/workspaces.json +705 -0
  45. package/dist/mcp/registry-manifest.json +4 -4
  46. package/dist/router.json +1623 -0
  47. package/dist/server/app.js +11 -3
  48. package/dist/server/app.js.map +1 -1
  49. package/dist/server/io/atomicMultiWrite.js +3 -1
  50. package/dist/server/io/atomicMultiWrite.js.map +1 -1
  51. package/dist/server/io/yamlIO.js +22 -0
  52. package/dist/server/io/yamlIO.js.map +1 -1
  53. package/dist/server/routes/ping.js +8 -0
  54. package/dist/server/routes/ping.js.map +1 -1
  55. package/dist/server/routes/schema.js +2 -2
  56. package/dist/server/routes/schema.js.map +1 -1
  57. package/dist/server/routes/settings.js +104 -23
  58. package/dist/server/routes/settings.js.map +1 -1
  59. package/dist/server/routes/userMd.js +37 -27
  60. package/dist/server/routes/userMd.js.map +1 -1
  61. package/dist/server/routes/wizard.js +256 -20
  62. package/dist/server/routes/wizard.js.map +1 -1
  63. package/dist/server/schemas/settings.js +0 -1
  64. package/dist/server/schemas/settings.js.map +1 -1
  65. package/dist/server/token.js +10 -3
  66. package/dist/server/token.js.map +1 -1
  67. package/dist/server/writeRoot.js +28 -11
  68. package/dist/server/writeRoot.js.map +1 -1
  69. package/dist/server/writeRoot.test.js +22 -4
  70. package/dist/server/writeRoot.test.js.map +1 -1
  71. package/dist/shared/userMd/formAdapter.js +29 -51
  72. package/dist/shared/userMd/formAdapter.js.map +1 -1
  73. package/dist/shared/userMd/schema.js +32 -104
  74. package/dist/shared/userMd/schema.js.map +1 -1
  75. package/dist/shared/userMd/utils.js +64 -50
  76. package/dist/shared/userMd/utils.js.map +1 -1
  77. package/dist/ui/assets/index-D-DY1ywI.js +35 -0
  78. package/dist/ui/assets/index-D-DY1ywI.js.map +1 -0
  79. package/dist/ui/index.html +1 -1
  80. package/docs/adrs/router/0001-three-tier-routing.md +5 -5
  81. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +1 -1
  82. package/docs/architecture.md +3 -3
  83. package/docs/archive/CHANGELOG-pre-3.1.0.md +167 -0
  84. package/docs/catalog.md +30 -26
  85. package/docs/contracts/CHANGELOG-conventions.md +1 -1
  86. package/docs/contracts/agent-user-schema.md +6 -9
  87. package/docs/contracts/consumer-bridge.md +79 -0
  88. package/docs/contracts/discovery-manifest.md +209 -0
  89. package/docs/contracts/discovery-manifest.schema.json +77 -4
  90. package/docs/contracts/explain-trace.schema.json +1 -1
  91. package/docs/contracts/file-ownership-matrix.json +197 -13
  92. package/docs/contracts/frontmatter-contract.md +140 -0
  93. package/docs/contracts/gui-wizard.md +223 -0
  94. package/docs/contracts/installer-agent-mode.md +137 -0
  95. package/docs/contracts/kernel-membership.md +1 -1
  96. package/docs/contracts/mcp-tool-inventory.md +9 -9
  97. package/docs/contracts/namespace.md +6 -6
  98. package/docs/contracts/provider-lifecycle.md +5 -5
  99. package/docs/contracts/rule-router.md +4 -4
  100. package/docs/contracts/settings-api.md +53 -6
  101. package/docs/contracts/smoke-contracts.md +3 -3
  102. package/docs/contracts/trust-and-safety.md +144 -0
  103. package/docs/customization.md +2 -2
  104. package/docs/decisions/ADR-007-agent-discovery-scopes.md +12 -0
  105. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +24 -0
  106. package/docs/decisions/ADR-015-discovery-manifest-contract.md +146 -0
  107. package/docs/decisions/ADR-016-installer-architecture.md +189 -0
  108. package/docs/decisions/ADR-017-monorepo-physical-layout.md +261 -0
  109. package/docs/decisions/ADR-018-trust-and-safety-layer.md +159 -0
  110. package/docs/decisions/ADR-019-router-json-dist-location.md +124 -0
  111. package/docs/decisions/ADR-020-global-only-consumer-scope.md +123 -0
  112. package/docs/decisions/ADR-021-deployment-shape.md +153 -0
  113. package/docs/decisions/INDEX.md +7 -0
  114. package/docs/deploy/connector-setup.md +129 -0
  115. package/docs/deploy/env-vars.md +70 -0
  116. package/docs/deploy/policy-cookbook.md +130 -0
  117. package/docs/deploy/quickstart.md +112 -0
  118. package/docs/distribution/public-install-smoke.md +68 -0
  119. package/docs/distribution/registries.md +55 -0
  120. package/docs/distribution/telemetry-privacy.md +128 -0
  121. package/docs/distribution/telemetry-schema.md +174 -0
  122. package/docs/featured-skills.md +95 -0
  123. package/docs/getting-started-by-role.md +19 -1
  124. package/docs/getting-started.md +2 -2
  125. package/docs/guidelines/agent-infra/installed-tools-manifest.md +11 -8
  126. package/docs/guidelines/docs/readme-size-and-splitting.md +53 -1
  127. package/docs/installation.md +27 -14
  128. package/docs/maintainers/dev-mode.md +105 -0
  129. package/docs/setup/per-ide/claude-desktop.md +3 -2
  130. package/docs/wizard.md +39 -4
  131. package/package.json +18 -1
  132. package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  133. package/scripts/_cli/cmd_doctor.py +150 -2
  134. package/scripts/_cli/cmd_explain.py +2 -1
  135. package/scripts/_cli/cmd_migrate_to_global.py +415 -0
  136. package/scripts/_cli/cmd_settings_migrate.py +146 -0
  137. package/scripts/_cli/explain_last/route.py +2 -1
  138. package/scripts/_dispatch.bash +36 -3
  139. package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  140. package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  141. package/scripts/_lib/agent_settings.py +4 -1
  142. package/scripts/_lib/agent_src.py +157 -0
  143. package/scripts/agent-config +17 -6
  144. package/scripts/audit_skill_descriptions.py +18 -6
  145. package/scripts/build_discovery_manifest.py +373 -17
  146. package/scripts/check_artefact_checksums.py +104 -0
  147. package/scripts/check_cluster_patterns.py +20 -4
  148. package/scripts/check_command_count_messaging.py +33 -14
  149. package/scripts/check_council_references.py +43 -4
  150. package/scripts/check_overlay_cascade_subdirs.py +7 -3
  151. package/scripts/check_references.py +5 -2
  152. package/scripts/check_reply_consistency.py +32 -9
  153. package/scripts/check_template_pin_drift.py +24 -7
  154. package/scripts/check_token_optimizer_freshness.py +18 -3
  155. package/scripts/compile_router.py +34 -2
  156. package/scripts/compress.py +162 -44
  157. package/scripts/config/presets.py +19 -1
  158. package/scripts/config/profiles.py +16 -1
  159. package/scripts/discovery_stats.py +70 -0
  160. package/scripts/expected_perms.json +47 -0
  161. package/scripts/generate_index.py +78 -46
  162. package/scripts/generate_ownership_matrix.py +98 -43
  163. package/scripts/generate_pack_manifests.py +183 -0
  164. package/scripts/install +18 -1
  165. package/scripts/install.py +934 -59
  166. package/scripts/install.sh +27 -9
  167. package/scripts/lint_agents_layout.py +93 -13
  168. package/scripts/lint_agents_md.py +1 -1
  169. package/scripts/lint_archived_skills.py +32 -16
  170. package/scripts/lint_bench_corpus.py +14 -2
  171. package/scripts/lint_command_tiers.py +15 -2
  172. package/scripts/lint_featured_skills.py +139 -0
  173. package/scripts/lint_framework_leakage.py +33 -6
  174. package/scripts/lint_global_paths.py +147 -0
  175. package/scripts/lint_orchestration_dsl.py +6 -3
  176. package/scripts/lint_pack_boundaries.py +147 -0
  177. package/scripts/lint_pack_first_win.py +103 -0
  178. package/scripts/lint_readme_jargon.py +131 -0
  179. package/scripts/lint_readme_size.py +33 -0
  180. package/scripts/lint_rule_interactions.py +23 -5
  181. package/scripts/lint_rule_tiers.py +12 -3
  182. package/scripts/lint_trust_coherence.py +212 -0
  183. package/scripts/measure_rule_budget.py +22 -4
  184. package/scripts/move_artefact.py +143 -0
  185. package/scripts/new_skill.py +148 -0
  186. package/scripts/plan_physical_move.py +353 -0
  187. package/scripts/refine_ticket_detect.py +30 -7
  188. package/scripts/schemas/command.schema.json +4 -0
  189. package/scripts/skill_linter.py +248 -118
  190. package/scripts/skill_trigger_eval.py +28 -8
  191. package/scripts/smoke/kernel.sh +1 -1
  192. package/scripts/smoke/router.sh +24 -5
  193. package/scripts/smoke/skills.sh +15 -7
  194. package/scripts/smoke_quickstart.py +11 -2
  195. package/scripts/snapshot_agent_outputs.py +144 -0
  196. package/scripts/update_counts.py +45 -17
  197. package/scripts/validate_decision_engine.py +9 -1
  198. package/scripts/validate_discovery_manifest.py +94 -0
  199. package/scripts/validate_frontmatter.py +39 -20
  200. package/scripts/verify_physical_move.py +185 -0
  201. package/templates/agent-user.md +0 -1
  202. package/templates/agent-user.yml +21 -0
  203. package/templates/minimal/agents-overrides-readme.md +46 -0
  204. package/templates/minimal/overrides-gitkeep +2 -0
  205. package/dist/ui/assets/index-BTRcKDlB.js +0 -39
  206. package/dist/ui/assets/index-BTRcKDlB.js.map +0 -1
  207. package/templates/minimal/agents-gitkeep +0 -2
@@ -1,60 +1,99 @@
1
1
  #!/usr/bin/env bash
2
- # Pre-commit hook: roadmap progress dashboard sync (event4u/agent-config)
2
+ # Pre-commit hook: roadmap progress + artefact frontmatter
3
+ # (event4u/agent-config — installed by `./agent-config hooks:install`).
3
4
  #
4
- # Installed by `./agent-config hooks:install`. Aborts the commit if
5
- # `agents/roadmaps-progress.md` is out of date relative to staged
6
- # changes under `agents/roadmaps/`. Exits silently when no roadmap
7
- # files are staged zero overhead on unrelated commits.
5
+ # Two opt-in checks run on relevant staged paths and short-circuit
6
+ # otherwise:
7
+ # 1. agents/roadmaps-progress.md sync (against agents/roadmaps/*.md)
8
+ # 2. ADR-013 per-artefact frontmatter contract (.agent-src.uncompressed/*.md)
8
9
  #
9
10
  # To run manually:
10
11
  # ./agent-config roadmap:progress-check
12
+ # python3 scripts/lint_artefact_frontmatter.py
11
13
  #
12
14
  # To uninstall:
13
15
  # rm .git/hooks/pre-commit
14
16
  set -e
15
17
 
16
- # Only act on commits that touch roadmap content.
17
18
  staged="$(git diff --cached --name-only --diff-filter=ACMR 2>/dev/null || true)"
19
+
20
+ roadmap_relevant=false
21
+ frontmatter_relevant=false
18
22
  case "$staged" in
19
23
  *agents/roadmaps/*.md*|*agents/roadmaps-progress.md*|*.augment/scripts/update_roadmap_progress.py*)
20
- : ;;
21
- *)
22
- exit 0 ;;
24
+ roadmap_relevant=true ;;
25
+ esac
26
+ case "$staged" in
27
+ *.agent-src.uncompressed/*.md*|*config/discovery/*.yml*|*scripts/lint_artefact_frontmatter.py*)
28
+ frontmatter_relevant=true ;;
23
29
  esac
24
30
 
25
- # Resolve the script prefer the consumer-shipped path, fall back to
26
- # the source-of-truth copy when run from inside the package itself.
27
- script=""
28
- for cand in \
29
- ".augment/scripts/update_roadmap_progress.py" \
30
- ".agent-src/scripts/update_roadmap_progress.py" \
31
- ".agent-src.uncompressed/scripts/update_roadmap_progress.py"; do
32
- if [ -f "$cand" ]; then
33
- script="$cand"
34
- break
35
- fi
36
- done
37
-
38
- if [ -z "$script" ]; then
39
- echo "⚠️ pre-commit-roadmap-progress: update_roadmap_progress.py not found." >&2
40
- echo " Run \`task install\` (or \`./agent-config install\`) and retry." >&2
41
- echo " Skipping check — letting commit through." >&2
31
+ if ! $roadmap_relevant && ! $frontmatter_relevant; then
42
32
  exit 0
43
33
  fi
44
34
 
45
- if ! python3 "$script" --check >/dev/null 2>&1; then
46
- echo "❌ agents/roadmaps-progress.md is stale relative to your staged changes." >&2
47
- echo "" >&2
48
- echo " Regenerate the dashboard with one of:" >&2
49
- echo " ./agent-config roadmap:progress" >&2
50
- echo " task roadmap-progress" >&2
51
- echo " python3 $script" >&2
52
- echo "" >&2
53
- echo " Then \`git add agents/roadmaps-progress.md\` and retry the commit." >&2
54
- echo "" >&2
55
- echo " To bypass once (NOT recommended):" >&2
56
- echo " git commit --no-verify" >&2
57
- exit 1
35
+ resolve() {
36
+ local cand
37
+ for cand in "$@"; do
38
+ if [ -f "$cand" ]; then
39
+ printf '%s\n' "$cand"
40
+ return 0
41
+ fi
42
+ done
43
+ return 1
44
+ }
45
+
46
+ # --- Check 1: roadmap progress dashboard sync --------------------------
47
+ if $roadmap_relevant; then
48
+ rp_script="$(resolve \
49
+ ".augment/scripts/update_roadmap_progress.py" \
50
+ ".agent-src/scripts/update_roadmap_progress.py" \
51
+ ".agent-src.uncompressed/scripts/update_roadmap_progress.py" || true)"
52
+
53
+ if [ -z "$rp_script" ]; then
54
+ echo "⚠️ pre-commit: update_roadmap_progress.py not found — skipping roadmap check." >&2
55
+ elif ! python3 "$rp_script" --check >/dev/null 2>&1; then
56
+ echo "❌ agents/roadmaps-progress.md is stale relative to your staged changes." >&2
57
+ echo "" >&2
58
+ echo " Regenerate the dashboard with one of:" >&2
59
+ echo " ./agent-config roadmap:progress" >&2
60
+ echo " task roadmap-progress" >&2
61
+ echo " python3 $rp_script" >&2
62
+ echo "" >&2
63
+ echo " Then \`git add agents/roadmaps-progress.md\` and retry the commit." >&2
64
+ echo "" >&2
65
+ echo " To bypass once (NOT recommended):" >&2
66
+ echo " git commit --no-verify" >&2
67
+ exit 1
68
+ fi
69
+ fi
70
+
71
+ # --- Check 2: ADR-013 artefact frontmatter contract --------------------
72
+ if $frontmatter_relevant; then
73
+ fm_script="$(resolve \
74
+ ".augment/scripts/lint_artefact_frontmatter.py" \
75
+ ".agent-src/scripts/lint_artefact_frontmatter.py" \
76
+ "scripts/lint_artefact_frontmatter.py" || true)"
77
+
78
+ if [ -z "$fm_script" ]; then
79
+ echo "⚠️ pre-commit: lint_artefact_frontmatter.py not found — skipping frontmatter check." >&2
80
+ elif ! python3 "$fm_script" --quiet >/dev/null 2>&1; then
81
+ echo "❌ Artefact frontmatter lint failed (ADR-013 contract violation)." >&2
82
+ echo "" >&2
83
+ echo " Re-run for details:" >&2
84
+ echo " python3 $fm_script" >&2
85
+ echo " task lint-artefact-frontmatter" >&2
86
+ echo "" >&2
87
+ echo " Common fixes:" >&2
88
+ echo " • Add missing workspaces/packs/lifecycle/trust/install keys." >&2
89
+ echo " • Pick values from config/discovery/{workspaces,packs}.yml." >&2
90
+ echo " • For scaffolds, add the path to" >&2
91
+ echo " config/discovery/unassigned-artefacts.yml with a reason." >&2
92
+ echo "" >&2
93
+ echo " To bypass once (NOT recommended):" >&2
94
+ echo " git commit --no-verify" >&2
95
+ exit 1
96
+ fi
58
97
  fi
59
98
 
60
99
  exit 0
@@ -99,11 +99,14 @@ ANCHOR_GIT = "git"
99
99
 
100
100
  #: Marker subpaths that qualify a bare ``agents/`` directory as a project
101
101
  #: anchor (D1). Any one is sufficient. Bare ``agents/`` without a marker
102
- #: is **not** an anchor.
102
+ #: is **not** an anchor. ``.event4u-bridge.yml`` is the global-only
103
+ #: consumer anchor (ADR-020 § Phase 4.2) — a clean consumer repo only
104
+ #: ever ships ``agents/overrides/`` plus this marker.
103
105
  _AGENTS_DIR_MARKERS: tuple[str, ...] = (
104
106
  "roadmaps",
105
107
  "settings/.ai-council.yml",
106
108
  "roadmaps-progress.md",
109
+ ".event4u-bridge.yml",
107
110
  )
108
111
 
109
112
  #: Kill-switch (D5). When set to ``"1"``, :func:`find_project_root` and
@@ -57,21 +57,35 @@ class PipelineState:
57
57
  def _load_pipeline(path: Path) -> dict[str, Any]:
58
58
  """Reuse the linter's loader so the runtime accepts the same shape.
59
59
 
60
- Walks parents to find a directory containing ``scripts/hooks/``
61
- so the loader is reachable both when this module runs from the
62
- consumer projection (``.agent-src/templates/scripts/work_engine/``)
63
- and from the source-of-truth tree
64
- (``.agent-src.uncompressed/templates/scripts/work_engine/``).
60
+ Walks parents to find ``scripts/hooks/dispatch_hook.py`` so the
61
+ loader is reachable both when this module runs from the consumer
62
+ projection (``.agent-src/templates/scripts/work_engine/``) and
63
+ from the source-of-truth tree
64
+ (``packages/<pack>/.agent-src.uncompressed/templates/scripts/work_engine/``).
65
+ Loaded via ``importlib.util`` by file path to avoid namespace
66
+ collisions with test packages named ``hooks``.
65
67
  """
66
- import sys
68
+ import importlib.util
67
69
  here = Path(__file__).resolve()
70
+ candidate: Path | None = None
68
71
  for parent in here.parents:
69
- candidate = parent / "scripts" / "hooks" / "dispatch_hook.py"
70
- if candidate.is_file():
71
- sys.path.insert(0, str(parent / "scripts"))
72
+ probe = parent / "scripts" / "hooks" / "dispatch_hook.py"
73
+ if probe.is_file():
74
+ candidate = probe
72
75
  break
73
- from hooks.dispatch_hook import _load_yaml # noqa: E402
74
- doc = _load_yaml(path)
76
+ if candidate is None:
77
+ raise RuntimeError(
78
+ "could not locate scripts/hooks/dispatch_hook.py from "
79
+ f"{here}"
80
+ )
81
+ spec = importlib.util.spec_from_file_location(
82
+ "_work_engine_dispatch_hook", candidate
83
+ )
84
+ if spec is None or spec.loader is None:
85
+ raise RuntimeError(f"cannot load spec for {candidate}")
86
+ module = importlib.util.module_from_spec(spec)
87
+ spec.loader.exec_module(module)
88
+ doc = module._load_yaml(path)
75
89
  if not isinstance(doc, dict):
76
90
  raise ValueError(f"{path}: top-level must be a mapping")
77
91
  return doc
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Shared agent configuration \u2014 skills for AI coding tools (Claude Code, Augment, Cursor, Cline, Windsurf, Gemini CLI).",
9
- "version": "3.0.0",
9
+ "version": "3.1.0",
10
10
  "keywords": [
11
11
  "agent-config",
12
12
  "skills",
@@ -186,6 +186,7 @@
186
186
  "./.claude/skills/hiring-loop-design",
187
187
  "./.claude/skills/implement-ticket",
188
188
  "./.claude/skills/incident-commander",
189
+ "./.claude/skills/install-via-agent",
189
190
  "./.claude/skills/jira-integration",
190
191
  "./.claude/skills/jira-ticket",
191
192
  "./.claude/skills/jobs-events",
package/AGENTS.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## Source of truth
6
6
 
7
- Edit `.agent-src.uncompressed/` only. Generated trees (`.agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`) regenerate from `task sync` + `task generate-tools`; never hand-edit.
7
+ Edit `packages/<pack>/.agent-src.uncompressed/` only. Generated trees (`.agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`) regenerate from `task sync` + `task generate-tools`; never hand-edit.
8
8
 
9
9
  ## Working on this repo
10
10
 
@@ -12,24 +12,26 @@ Edit `.agent-src.uncompressed/` only. Generated trees (`.agent-src/`, `.augment/
12
12
  task sync # regenerate .agent-src/, .augment/
13
13
  task generate-tools # regenerate .claude/, .cursor/, .clinerules/, .windsurfrules
14
14
  task ci # full pipeline — green before PR
15
+ # maintainer: AGENT_CONFIG_DEV_MODE=1 opens --scope=project (docs/maintainers/dev-mode.md)
15
16
  ```
16
17
 
17
18
  ## Pointers
18
19
 
19
- - **Package self-orientation** (beta) — identity, four-wing cognition map, repo layout, tech stack, key-rules table, telemetry, command-suggester: [`docs/contracts/package-self-orientation.md`](docs/contracts/package-self-orientation.md).
20
- - **Kernel + Router** (beta) — 9 always-loaded Iron-Law rules, tier-1 / tier-2 routing, cost profiles, per-rule char caps enforced by `task lint-rule-budget`: [`kernel-membership`](docs/contracts/kernel-membership.md) + [`rule-router`](docs/contracts/rule-router.md).
20
+ - **Package self-orientation** — identity, cognition map, layout, stack, key rules, telemetry: [`package-self-orientation`](docs/contracts/package-self-orientation.md).
21
+ - **Kernel + Router** — 9 Iron-Law rules, tier-1/2 routing, cost profiles, per-rule caps: [`kernel-membership`](docs/contracts/kernel-membership.md) + [`rule-router`](docs/contracts/rule-router.md).
22
+ - **Trust & Safety** — trust-level enum, HRR banner, safety floors, installer confirm: [`trust-and-safety`](docs/contracts/trust-and-safety.md) + [`ADR-018`](docs/decisions/ADR-018-trust-and-safety-layer.md).
21
23
  - **Content pipelines** — A→D source / Augment / multi-tool / Claude.ai-bundle projections, indexed at [`docs/architecture.md`](docs/architecture.md); sub-pipelines under [`docs/architecture/`](docs/architecture/).
22
- - **Editing this repo** — Iron-Law rules (edit-discipline, source-of-truth, skill-quality) + Thin-Root contract govern every change here: [`augment-source-of-truth`](.agent-src/rules/augment-source-of-truth.md) + [`agents-md-thin-root`](.agent-src/skills/agents-md-thin-root/SKILL.md).
24
+ - **Editing this repo** — Iron-Law rules + Thin-Root contract govern every change: [`augment-source-of-truth`](.agent-src/rules/augment-source-of-truth.md) + [`agents-md-thin-root`](.agent-src/skills/agents-md-thin-root/SKILL.md).
23
25
  - **Consumer story** — `npx` + `scripts/install.sh` opt-in flags, sandbox / offline install paths, verified-offline manifest: [`README.md`](README.md).
24
- - **Personas** — 11 review-lens cast (6 core · 5 specialist), `personas:` vs `/mode` axes, override pattern: [`docs/personas.md`](docs/personas.md) (beta).
25
- - **Discovery** (workspaces / packs / `dist/discovery/discovery-manifest.json`) contract [`ADR-013`](docs/decisions/ADR-013-discovery-frontmatter-contract.md), how-to [`customization § Workspaces & packs`](docs/customization.md#workspaces--packs-discovery).
26
+ - **Personas** — 11 review-lens cast (6 core · 5 specialist), `personas:` vs `/mode`: [`docs/personas.md`](docs/personas.md).
27
+ - **Discovery** workspaces / packs / dist manifest; contract [`ADR-013`](docs/decisions/ADR-013-discovery-frontmatter-contract.md), how-to [`customization § Workspaces & packs`](docs/customization.md#workspaces--packs-discovery).
26
28
 
27
29
  ## Emergency triage — read this when nothing else is reachable
28
30
 
29
31
  1. **What is this repo?** — `event4u/agent-config`, a governed skill / rule / command suite for AI coding tools (no application runtime).
30
32
  2. **What language?** — All `.md` content is English; agents mirror the user's language at runtime.
31
- 3. **Where do I edit?** — `.agent-src.uncompressed/` only. Never the generated trees.
33
+ 3. **Where do I edit?** — `packages/<pack>/.agent-src.uncompressed/` only. Never the generated trees.
32
34
  4. **Lint / test / sync entry point?** — `task ci` (full pipeline). Subsets: `task sync`, `task generate-tools`, `task lint-skills`, `task test`.
33
- 5. **Where do the always-active rules live?** — `.agent-src/rules/` (kernel = 9 Iron-Law rules; tier-1 / tier-2 routed via `.agent-src/router.json`).
35
+ 5. **Where do the always-active rules live?** — `.agent-src/rules/` (kernel = 9 Iron-Law rules; tier-1 / tier-2 routed via `dist/router.json`).
34
36
 
35
37