@event4u/agent-config 9.0.0 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +67 -20
- package/MIGRATION.md +14 -0
- package/README.md +2 -2
- package/dist/agent-src/commands/explain-run.md +88 -0
- package/dist/agent-src/commands/pr/create/description-only.md +138 -8
- package/dist/agent-src/commands/pr/create.md +16 -5
- package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +146 -0
- package/dist/agent-src/skills/llm-provider-knowledge/evals/triggers.json +20 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
- package/dist/agent-src/skills/token-optimizer/SKILL.md +10 -4
- package/dist/agent-src/templates/agent-settings.md +28 -0
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +68 -14
- 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 +8 -6
- package/dist/discovery/trust-report.md +8 -8
- package/dist/discovery/workspaces.json +6 -4
- package/dist/install/install.mjs +38 -31
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/scripts/_lib/agent_settings.js +4 -1
- package/dist/scripts/_lib/agent_settings.js.map +1 -1
- package/dist/server/schemas/settings.js +5 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +2 -2
- package/docs/MIGRATION.md +20 -0
- package/docs/architecture.md +3 -3
- package/docs/command-flows.md +1 -1
- package/docs/contracts/agents-layout.md +1 -1
- package/docs/contracts/consumer-bridge.md +55 -63
- package/docs/contracts/install-layout.md +1 -1
- package/docs/contracts/migrate-command.md +1 -1
- package/docs/customization.md +22 -1
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +34 -0
- package/docs/featured-skills.md +2 -2
- package/docs/getting-started-by-role.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/governance-advantage.md +1 -1
- package/docs/guidelines/agent-infra/api-cost-levers.md +126 -0
- package/docs/installation.md +2 -1
- package/docs/maintainers/dev-mode.md +3 -2
- package/docs/proof.md +5 -5
- package/package.json +1 -1
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
- package/src/config/agent-settings.template.yml +39 -0
- package/src/config/gitignore-block.txt +16 -6
- package/src/scripts/_cli/cmd_conformance.ts +2 -2
- package/src/scripts/_cli/cmd_doctor.ts +162 -13
- package/src/scripts/_cli/cmd_refresh.ts +35 -118
- package/src/scripts/_lib/agent_settings.ts +4 -1
- package/src/scripts/ai_council/clients.ts +68 -6
- package/src/scripts/ai_council/pricing.ts +62 -0
- package/src/scripts/council_cli.ts +19 -3
- package/src/scripts/install.ts +44 -45
- package/src/scripts/lint_agents_layout.ts +10 -4
- package/src/scripts/lint_breaking_changes_index.ts +303 -0
- package/src/scripts/mcp_server/tools.ts +1 -3
- package/src/scripts/schemas/agent-settings.schema.json +17 -0
- package/src/scripts/self_review_gate.test.ts +11 -0
- package/src/scripts/self_review_gate.ts +7 -1
- package/src/scripts/skill_eval_coverage.ts +4 -1
- package/src/server/schemas/settings.ts +15 -0
|
@@ -64,10 +64,15 @@ INTENT
|
|
|
64
64
|
│ → cite [agent-handoff](../../../.claude/skills/agent-handoff/SKILL.md)
|
|
65
65
|
│ (structured handoff envelope; resume in fresh chat)
|
|
66
66
|
│
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
├── Cost-aware decision (model pick, budget, stop-criterion)
|
|
68
|
+
│ → cite /cost:report (when shipped) — until then, fall back to
|
|
69
|
+
│ [token-efficiency](../../rules/token-efficiency.md) and
|
|
70
|
+
│ [direct-answers § Brevity by Default](../../rules/direct-answers.md)
|
|
71
|
+
│
|
|
72
|
+
└── API-bill lever (stable prefix reused across calls · non-interactive
|
|
73
|
+
bulk cohort · model/effort pick against the paid Anthropic bill)
|
|
74
|
+
→ cite [api-cost-levers](../../../docs/guidelines/agent-infra/api-cost-levers.md)
|
|
75
|
+
(prompt caching ~0.1x reads · Batch -50% · model tiering · effort)
|
|
71
76
|
```
|
|
72
77
|
|
|
73
78
|
## Catalog
|
|
@@ -81,6 +86,7 @@ INTENT
|
|
|
81
86
|
| `direct-answers` | `.agent-src.uncondensed/rules/direct-answers.md` | `brevity`, `flattery`, `severity`, `tiered` | Iron-Law brevity floor (kernel) |
|
|
82
87
|
| `markitdown` | upstream: github.com/microsoft/markitdown | `PDF`, `DOCX`, `HTML`, `convert` | Document → markdown converter (authoritative-link only) |
|
|
83
88
|
| `/cost:report` | TBD — an internal roadmap (local-only) | `cost`, `model spend`, `budget` | Per-session cost telemetry (planned) |
|
|
89
|
+
| `api-cost-levers` | `docs/guidelines/agent-infra/api-cost-levers.md` | `cache`, `caching`, `batch`, `tiering`, `effort` | Anthropic billing levers: prompt caching, Batch API, model tiering, effort/output right-sizing |
|
|
84
90
|
|
|
85
91
|
## Output format
|
|
86
92
|
|
|
@@ -402,8 +402,31 @@ commands:
|
|
|
402
402
|
# When `true`: show title and body in copyable code blocks and ask
|
|
403
403
|
# for adjustments before creating the PR.
|
|
404
404
|
# `/create-pr:description-only` always previews — that is its sole purpose.
|
|
405
|
+
#
|
|
406
|
+
# detail_level: verbosity tier of the PR Description body.
|
|
407
|
+
# min (default) = title + 2-3 sentence what/why/impact + linked ticket;
|
|
408
|
+
# med = min + grouped changes + tests note;
|
|
409
|
+
# max = med + how-to-test + edge cases + reviewer guidance.
|
|
410
|
+
# Critical info (breaking changes, migrations, security, rollback) is
|
|
411
|
+
# ALWAYS included at every tier — the tier governs explanatory depth only.
|
|
412
|
+
#
|
|
413
|
+
# api_examples (default true): add a fenced JSON example for API-endpoint
|
|
414
|
+
# changes ONLY when grounded in a real source (DTO/resource, OpenAPI,
|
|
415
|
+
# fixture, probe); else a one-line pointer, never an invented example.
|
|
416
|
+
#
|
|
417
|
+
# screenshots (default false): capability-gated frontend screenshots.
|
|
418
|
+
# true attempts capture only when the host has browser/preview tooling;
|
|
419
|
+
# emits a note and leaves the placeholder when absent — never blocks the PR.
|
|
420
|
+
#
|
|
421
|
+
# ui_paths / api_paths: optional globs to make frontend / API detection
|
|
422
|
+
# explicit; empty = a light heuristic that fails open.
|
|
405
423
|
create_pr:
|
|
406
424
|
preview_description: false
|
|
425
|
+
detail_level: min
|
|
426
|
+
api_examples: true
|
|
427
|
+
screenshots: false
|
|
428
|
+
ui_paths: []
|
|
429
|
+
api_paths: []
|
|
407
430
|
|
|
408
431
|
# --- Telemetry (artefact engagement, default-off) ---
|
|
409
432
|
#
|
|
@@ -582,6 +605,11 @@ the canonical narrative lives in
|
|
|
582
605
|
| `commands.suggestion.max_options` | integer | `4` | Max number of command suggestions before the always-present "run as-is" option (total rendered = `max_options + 1`). |
|
|
583
606
|
| `commands.suggestion.blocklist` | list of command names | `[]` | Commands that never appear as a suggestion. They still work when typed explicitly. |
|
|
584
607
|
| `commands.create_pr.preview_description` | `true`, `false` | `false` | When `false`: `/create-pr` skips the title/body preview + adjust loop and uses the generated content directly. Saves agent tokens. When `true`: show title and body before creating and ask for adjustments. `/create-pr:description-only` always previews regardless of this setting. |
|
|
608
|
+
| `commands.create_pr.detail_level` | `min`, `med`, `max` | `min` | Verbosity tier of the PR Description body. `min` = title + 2-3 sentence what/why/impact + ticket; `med` = + grouped changes + tests note; `max` = + how-to-test + edge cases + reviewer guidance. Critical info (breaking / migration / security / rollback) is included at every tier. |
|
|
609
|
+
| `commands.create_pr.api_examples` | `true`, `false` | `true` | Add a grounded JSON example for API-endpoint changes; `true` includes one only from a real source (DTO/OpenAPI/fixture/probe), else a pointer, never invented; `false` = never. |
|
|
610
|
+
| `commands.create_pr.screenshots` | `true`, `false` | `false` | Capability-gated frontend screenshots. `true` attempts capture when browser/preview tooling is present; notes-and-skips otherwise, never blocks the PR. Before/after is best-effort. |
|
|
611
|
+
| `commands.create_pr.ui_paths` | glob list | `[]` | Optional globs pinning frontend detection; empty = light heuristic, fail-open. |
|
|
612
|
+
| `commands.create_pr.api_paths` | glob list | `[]` | Optional globs pinning API-endpoint detection; empty = light heuristic, fail-open. |
|
|
585
613
|
| `verbosity.preview_artifacts` | `true`, `false` | `false` | Show generated commit messages, PR titles/bodies, branch names before acting. `false` = use generated content directly. See the token-frugality plate under `agents/roadmaps/` (Phase 2/3). |
|
|
586
614
|
| `verbosity.routine_confirmations` | `true`, `false` | `false` | Confirmation prompts for routine workflow steps when there is one obvious answer ("looks good — commit?"). Iron-Law gates (`commit-policy`, `scope-control` git-ops, `non-destructive-by-default`) ALWAYS ask regardless. |
|
|
587
615
|
| `verbosity.offer_council_in_delivery` | `true`, `false` | `false` | Offer "run AI Council on this?" inside delivery commands (`/feature-plan`, `/review-changes`, `/roadmap-create`). Council commands themselves are unaffected. |
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.ts (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "9.
|
|
42
|
+
agent_config_version: "9.1.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -252,7 +252,10 @@ const _AGENTS_DIR_MARKERS: readonly string[] = [
|
|
|
252
252
|
'roadmaps',
|
|
253
253
|
'settings/.ai-council.yml',
|
|
254
254
|
'roadmaps-progress.md',
|
|
255
|
-
|
|
255
|
+
// `overrides/` is the guaranteed minimal-consumer surface (ADR-020).
|
|
256
|
+
// Replaced the retired `.event4u-bridge.yml` marker (ADR-020 amendment
|
|
257
|
+
// 2026-07-13) so a bare consumer `agents/` dir stays anchorable.
|
|
258
|
+
'overrides',
|
|
256
259
|
];
|
|
257
260
|
|
|
258
261
|
/**
|
|
@@ -2024,7 +2024,7 @@
|
|
|
2024
2024
|
},
|
|
2025
2025
|
{
|
|
2026
2026
|
"category": "command",
|
|
2027
|
-
"checksum": "sha256:
|
|
2027
|
+
"checksum": "sha256:5345a5d1bbe083a194fbeb8d6b24b84cfbccabfea01ddbb0e706fee65a52f352",
|
|
2028
2028
|
"install": {
|
|
2029
2029
|
"default": true,
|
|
2030
2030
|
"removable": false
|
|
@@ -2057,7 +2057,7 @@
|
|
|
2057
2057
|
},
|
|
2058
2058
|
{
|
|
2059
2059
|
"category": "command",
|
|
2060
|
-
"checksum": "sha256:
|
|
2060
|
+
"checksum": "sha256:aa8c4c8693b707d0c310dc813d520f8e07b2f7710591ed6e3e43065414f18f9a",
|
|
2061
2061
|
"install": {
|
|
2062
2062
|
"default": true,
|
|
2063
2063
|
"removable": false
|
|
@@ -3295,6 +3295,32 @@
|
|
|
3295
3295
|
"agent-config-maintainer"
|
|
3296
3296
|
]
|
|
3297
3297
|
},
|
|
3298
|
+
{
|
|
3299
|
+
"category": "command",
|
|
3300
|
+
"checksum": "sha256:42adcd4d33a67e05d9d2af36acff477e1c9e28de18ceac7b0b021942d154d42d",
|
|
3301
|
+
"install": {
|
|
3302
|
+
"default": true,
|
|
3303
|
+
"removable": false
|
|
3304
|
+
},
|
|
3305
|
+
"lifecycle": "active",
|
|
3306
|
+
"name": "explain-run",
|
|
3307
|
+
"pack": "meta",
|
|
3308
|
+
"packs": [
|
|
3309
|
+
"meta"
|
|
3310
|
+
],
|
|
3311
|
+
"path": "src/domains/meta/explain-run/command.md",
|
|
3312
|
+
"slug": "explain-run",
|
|
3313
|
+
"tier": 2,
|
|
3314
|
+
"trust": {
|
|
3315
|
+
"confidence": "high",
|
|
3316
|
+
"human_review_required": false,
|
|
3317
|
+
"level": "core"
|
|
3318
|
+
},
|
|
3319
|
+
"visibility": "internal",
|
|
3320
|
+
"workspaces": [
|
|
3321
|
+
"agent-config-maintainer"
|
|
3322
|
+
]
|
|
3323
|
+
},
|
|
3298
3324
|
{
|
|
3299
3325
|
"category": "command",
|
|
3300
3326
|
"checksum": "sha256:5ea87906367205616ee02acabd06cd14fc2b920bea1bb0986374b97ca8395ee7",
|
|
@@ -10536,6 +10562,34 @@
|
|
|
10536
10562
|
"engineering"
|
|
10537
10563
|
]
|
|
10538
10564
|
},
|
|
10565
|
+
{
|
|
10566
|
+
"category": "skill",
|
|
10567
|
+
"checksum": "sha256:6abf10a4cd93bf305637d403ad317d08d0256dd441858d7243322e482e13a1bb",
|
|
10568
|
+
"install": {
|
|
10569
|
+
"default": true,
|
|
10570
|
+
"removable": true
|
|
10571
|
+
},
|
|
10572
|
+
"lifecycle": "active",
|
|
10573
|
+
"name": "llm-provider-knowledge",
|
|
10574
|
+
"packs": [
|
|
10575
|
+
"meta"
|
|
10576
|
+
],
|
|
10577
|
+
"path": "src/skills/llm-provider-knowledge/SKILL.md",
|
|
10578
|
+
"trust": {
|
|
10579
|
+
"confidence": "high",
|
|
10580
|
+
"human_review_required": false,
|
|
10581
|
+
"level": "experimental"
|
|
10582
|
+
},
|
|
10583
|
+
"workspaces": [
|
|
10584
|
+
"agent-config-maintainer",
|
|
10585
|
+
"engineering",
|
|
10586
|
+
"product",
|
|
10587
|
+
"founder",
|
|
10588
|
+
"small-business",
|
|
10589
|
+
"gtm",
|
|
10590
|
+
"ops"
|
|
10591
|
+
]
|
|
10592
|
+
},
|
|
10539
10593
|
{
|
|
10540
10594
|
"category": "skill",
|
|
10541
10595
|
"checksum": "sha256:62d98b2e295e68ce7d57e09dc6dc57791435b422ede5460c1f5edb3f708494df",
|
|
@@ -13090,7 +13144,7 @@
|
|
|
13090
13144
|
},
|
|
13091
13145
|
{
|
|
13092
13146
|
"category": "skill",
|
|
13093
|
-
"checksum": "sha256:
|
|
13147
|
+
"checksum": "sha256:0fdbc771503a17f5e27eb5d9dc3d2325863cf4e67580421176f73c5c9c10bd01",
|
|
13094
13148
|
"install": {
|
|
13095
13149
|
"default": true,
|
|
13096
13150
|
"removable": false
|
|
@@ -13481,7 +13535,7 @@
|
|
|
13481
13535
|
"workspaces": []
|
|
13482
13536
|
}
|
|
13483
13537
|
],
|
|
13484
|
-
"checksum": "sha256:
|
|
13538
|
+
"checksum": "sha256:69fcb002e72524fe832ff2fc8dc5cfc7335f71d1b6c049c8e108c83665d97eb2",
|
|
13485
13539
|
"deprecations": [
|
|
13486
13540
|
{
|
|
13487
13541
|
"key": "tier",
|
|
@@ -13624,7 +13678,7 @@
|
|
|
13624
13678
|
"reason": "scaffold template for ticket-bundle tickets (ADR-101); carries no runtime frontmatter — emit-tickets fills it in per ticket"
|
|
13625
13679
|
}
|
|
13626
13680
|
],
|
|
13627
|
-
"generated_at": "2026-07-
|
|
13681
|
+
"generated_at": "2026-07-14T09:00:03Z",
|
|
13628
13682
|
"packs": [
|
|
13629
13683
|
{
|
|
13630
13684
|
"artefact_count": 106,
|
|
@@ -14289,7 +14343,7 @@
|
|
|
14289
14343
|
},
|
|
14290
14344
|
{
|
|
14291
14345
|
"always_on": true,
|
|
14292
|
-
"artefact_count":
|
|
14346
|
+
"artefact_count": 274,
|
|
14293
14347
|
"description": "Artefacts that maintain this package (agent-config itself).",
|
|
14294
14348
|
"domain": "meta",
|
|
14295
14349
|
"human_review_required": 0,
|
|
@@ -14305,8 +14359,8 @@
|
|
|
14305
14359
|
"trust_level_default": "core",
|
|
14306
14360
|
"trust_summary": {
|
|
14307
14361
|
"advisory": 0,
|
|
14308
|
-
"core":
|
|
14309
|
-
"experimental":
|
|
14362
|
+
"core": 272,
|
|
14363
|
+
"experimental": 2,
|
|
14310
14364
|
"professional": 0,
|
|
14311
14365
|
"restricted": 0
|
|
14312
14366
|
},
|
|
@@ -14396,27 +14450,27 @@
|
|
|
14396
14450
|
"scanner_version": "c24312e116f8",
|
|
14397
14451
|
"stats": {
|
|
14398
14452
|
"by_category": {
|
|
14399
|
-
"command":
|
|
14453
|
+
"command": 184,
|
|
14400
14454
|
"rule": 104,
|
|
14401
|
-
"skill":
|
|
14455
|
+
"skill": 275,
|
|
14402
14456
|
"subagent": 1,
|
|
14403
14457
|
"template": 1
|
|
14404
14458
|
},
|
|
14405
14459
|
"by_lifecycle": {
|
|
14406
|
-
"active":
|
|
14460
|
+
"active": 549,
|
|
14407
14461
|
"archived": 0,
|
|
14408
14462
|
"deprecated": 0,
|
|
14409
14463
|
"experimental": 16
|
|
14410
14464
|
},
|
|
14411
14465
|
"by_trust_level": {
|
|
14412
14466
|
"advisory": 8,
|
|
14413
|
-
"core":
|
|
14414
|
-
"experimental":
|
|
14467
|
+
"core": 438,
|
|
14468
|
+
"experimental": 21,
|
|
14415
14469
|
"professional": 98,
|
|
14416
14470
|
"restricted": 0
|
|
14417
14471
|
},
|
|
14418
14472
|
"documented_unassigned_count": 26,
|
|
14419
|
-
"total_artefacts":
|
|
14473
|
+
"total_artefacts": 565,
|
|
14420
14474
|
"unassigned_count": 0
|
|
14421
14475
|
},
|
|
14422
14476
|
"unassigned": [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
4edf44025858feda295b87664a0aa847b8b44794c21fa92fc6fd6ce0c976608a discovery-manifest.json
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Discovery Manifest — Summary
|
|
2
2
|
|
|
3
|
-
- Generated: `2026-07-
|
|
3
|
+
- Generated: `2026-07-14T09:00:03Z`
|
|
4
4
|
- Scanner: `c24312e116f8`
|
|
5
|
-
- Artefacts: **
|
|
5
|
+
- Artefacts: **565**
|
|
6
6
|
- Unassigned: **0**
|
|
7
7
|
|
|
8
8
|
## `engineering` — Engineering
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
|
|
104
104
|
| Pack | Artefacts |
|
|
105
105
|
|---|---|
|
|
106
|
-
| `meta` — Meta |
|
|
106
|
+
| `meta` — Meta | 274 |
|
|
107
107
|
| `memory` — Memory | 9 |
|
|
108
108
|
| `analytics` — Analytics | 4 |
|
|
109
109
|
| `product-reasoning` — Product Reasoning | 11 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"checksum": "sha256:
|
|
3
|
-
"generated_at": "2026-07-
|
|
2
|
+
"checksum": "sha256:69fcb002e72524fe832ff2fc8dc5cfc7335f71d1b6c049c8e108c83665d97eb2",
|
|
3
|
+
"generated_at": "2026-07-14T09:00:03Z",
|
|
4
4
|
"packs": [
|
|
5
5
|
{
|
|
6
6
|
"always_on": false,
|
|
@@ -1221,7 +1221,7 @@
|
|
|
1221
1221
|
},
|
|
1222
1222
|
{
|
|
1223
1223
|
"always_on": true,
|
|
1224
|
-
"artefact_count":
|
|
1224
|
+
"artefact_count": 274,
|
|
1225
1225
|
"artefacts": [
|
|
1226
1226
|
"src/agent-src/templates/agents/proposal.example.md",
|
|
1227
1227
|
"src/domains/ai-video/image/analyse/command.md",
|
|
@@ -1309,6 +1309,7 @@
|
|
|
1309
1309
|
"src/domains/meta/context/refactor/command.md",
|
|
1310
1310
|
"src/domains/meta/cost/command.md",
|
|
1311
1311
|
"src/domains/meta/cost/profile/command.md",
|
|
1312
|
+
"src/domains/meta/explain-run/command.md",
|
|
1312
1313
|
"src/domains/meta/mode/command.md",
|
|
1313
1314
|
"src/domains/meta/optimize/agents-dir/command.md",
|
|
1314
1315
|
"src/domains/meta/optimize/augmentignore/command.md",
|
|
@@ -1459,6 +1460,7 @@
|
|
|
1459
1460
|
"src/skills/judge-test-coverage/SKILL.md",
|
|
1460
1461
|
"src/skills/learning-to-rule-or-skill/SKILL.md",
|
|
1461
1462
|
"src/skills/lint-skills/SKILL.md",
|
|
1463
|
+
"src/skills/llm-provider-knowledge/SKILL.md",
|
|
1462
1464
|
"src/skills/markitdown/SKILL.md",
|
|
1463
1465
|
"src/skills/mcp-builder/SKILL.md",
|
|
1464
1466
|
"src/skills/mcp/SKILL.md",
|
|
@@ -1497,15 +1499,15 @@
|
|
|
1497
1499
|
"src/skills/verify-repair-loop/SKILL.md"
|
|
1498
1500
|
],
|
|
1499
1501
|
"by_lifecycle": {
|
|
1500
|
-
"active":
|
|
1502
|
+
"active": 273,
|
|
1501
1503
|
"archived": 0,
|
|
1502
1504
|
"deprecated": 0,
|
|
1503
1505
|
"experimental": 1
|
|
1504
1506
|
},
|
|
1505
1507
|
"by_trust_level": {
|
|
1506
1508
|
"advisory": 0,
|
|
1507
|
-
"core":
|
|
1508
|
-
"experimental":
|
|
1509
|
+
"core": 272,
|
|
1510
|
+
"experimental": 2,
|
|
1509
1511
|
"professional": 0,
|
|
1510
1512
|
"restricted": 0
|
|
1511
1513
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Discovery — Trust Report
|
|
2
2
|
|
|
3
|
-
- Generated: `2026-07-
|
|
3
|
+
- Generated: `2026-07-14T09:00:03Z`
|
|
4
4
|
- Workspaces tracked: **10**
|
|
5
5
|
- Human-review-required artefacts: **3**
|
|
6
6
|
|
|
@@ -8,16 +8,16 @@
|
|
|
8
8
|
|
|
9
9
|
| Workspace | core | professional | experimental | advisory | restricted |
|
|
10
10
|
|---|---|---|---|---|---|
|
|
11
|
-
| `agent-config-maintainer` |
|
|
11
|
+
| `agent-config-maintainer` | 304 | 0 | 3 | 0 | 0 |
|
|
12
12
|
| `construction` | 23 | 0 | 0 | 0 | 0 |
|
|
13
|
-
| `engineering` | 167 | 58 |
|
|
13
|
+
| `engineering` | 167 | 58 | 2 | 0 | 0 |
|
|
14
14
|
| `finance` | 26 | 4 | 0 | 1 | 0 |
|
|
15
|
-
| `founder` | 30 | 0 |
|
|
16
|
-
| `gtm` | 28 | 13 |
|
|
15
|
+
| `founder` | 30 | 0 | 1 | 1 | 0 |
|
|
16
|
+
| `gtm` | 28 | 13 | 1 | 0 | 0 |
|
|
17
17
|
| `legal-review-prep` | 23 | 0 | 0 | 6 | 0 |
|
|
18
|
-
| `ops` | 23 | 8 |
|
|
19
|
-
| `product` | 23 | 15 |
|
|
20
|
-
| `small-business` | 29 | 0 |
|
|
18
|
+
| `ops` | 23 | 8 | 1 | 0 | 0 |
|
|
19
|
+
| `product` | 23 | 15 | 1 | 0 | 0 |
|
|
20
|
+
| `small-business` | 29 | 0 | 19 | 0 | 0 |
|
|
21
21
|
|
|
22
22
|
## Human-review-required artefacts
|
|
23
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"checksum": "sha256:
|
|
3
|
-
"generated_at": "2026-07-
|
|
2
|
+
"checksum": "sha256:69fcb002e72524fe832ff2fc8dc5cfc7335f71d1b6c049c8e108c83665d97eb2",
|
|
3
|
+
"generated_at": "2026-07-14T09:00:03Z",
|
|
4
4
|
"scanner_version": "c24312e116f8",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
{
|
|
@@ -593,7 +593,7 @@
|
|
|
593
593
|
]
|
|
594
594
|
},
|
|
595
595
|
{
|
|
596
|
-
"artefact_count":
|
|
596
|
+
"artefact_count": 298,
|
|
597
597
|
"default_packs": [
|
|
598
598
|
"meta",
|
|
599
599
|
"memory",
|
|
@@ -606,7 +606,7 @@
|
|
|
606
606
|
"optional_packs": [],
|
|
607
607
|
"packs": [
|
|
608
608
|
{
|
|
609
|
-
"artefact_count":
|
|
609
|
+
"artefact_count": 274,
|
|
610
610
|
"artefacts": [
|
|
611
611
|
"src/agent-src/templates/agents/proposal.example.md",
|
|
612
612
|
"src/domains/ai-video/image/analyse/command.md",
|
|
@@ -694,6 +694,7 @@
|
|
|
694
694
|
"src/domains/meta/context/refactor/command.md",
|
|
695
695
|
"src/domains/meta/cost/command.md",
|
|
696
696
|
"src/domains/meta/cost/profile/command.md",
|
|
697
|
+
"src/domains/meta/explain-run/command.md",
|
|
697
698
|
"src/domains/meta/mode/command.md",
|
|
698
699
|
"src/domains/meta/optimize/agents-dir/command.md",
|
|
699
700
|
"src/domains/meta/optimize/augmentignore/command.md",
|
|
@@ -844,6 +845,7 @@
|
|
|
844
845
|
"src/skills/judge-test-coverage/SKILL.md",
|
|
845
846
|
"src/skills/learning-to-rule-or-skill/SKILL.md",
|
|
846
847
|
"src/skills/lint-skills/SKILL.md",
|
|
848
|
+
"src/skills/llm-provider-knowledge/SKILL.md",
|
|
847
849
|
"src/skills/markitdown/SKILL.md",
|
|
848
850
|
"src/skills/mcp-builder/SKILL.md",
|
|
849
851
|
"src/skills/mcp/SKILL.md",
|
package/dist/install/install.mjs
CHANGED
|
@@ -9536,7 +9536,10 @@ var _AGENTS_DIR_MARKERS = [
|
|
|
9536
9536
|
"roadmaps",
|
|
9537
9537
|
"settings/.ai-council.yml",
|
|
9538
9538
|
"roadmaps-progress.md",
|
|
9539
|
-
|
|
9539
|
+
// `overrides/` is the guaranteed minimal-consumer surface (ADR-020).
|
|
9540
|
+
// Replaced the retired `.event4u-bridge.yml` marker (ADR-020 amendment
|
|
9541
|
+
// 2026-07-13) so a bare consumer `agents/` dir stays anchorable.
|
|
9542
|
+
"overrides"
|
|
9540
9543
|
];
|
|
9541
9544
|
var _LEGACY_ANCHOR_ENV = "AGENT_CONFIG_LEGACY_ANCHOR";
|
|
9542
9545
|
function _exists(p) {
|
|
@@ -14287,6 +14290,21 @@ var settingsSchema = external_exports.object({
|
|
|
14287
14290
|
create_pr: external_exports.object({
|
|
14288
14291
|
preview_description: external_exports.boolean().default(false).describe(
|
|
14289
14292
|
"When /create-pr runs, show the generated title and body and wait for confirmation before opening the PR. Off by default (zero-friction PR creation); turn on if you want a last-look gate."
|
|
14293
|
+
),
|
|
14294
|
+
detail_level: external_exports.enum(["min", "med", "max"]).default("min").describe(
|
|
14295
|
+
"Verbosity tier for the generated PR description body. min (default) = title + 2-3 sentence what/why/impact + linked ticket (token-frugal); med = min + grouped changes + tests note; max = med + how-to-test + edge cases + reviewer guidance. Critical info (breaking changes, migrations, security, rollback) is ALWAYS included at every tier \u2014 the tier governs explanatory depth, never whether a critical callout appears."
|
|
14296
|
+
),
|
|
14297
|
+
api_examples: external_exports.boolean().default(true).describe(
|
|
14298
|
+
"JSON request/response examples for API-endpoint changes. true (default) = include a fenced example ONLY when grounded in a real source (response DTO/resource, OpenAPI/schema, test fixture, or an actual probe); no grounded source \u2192 a one-line pointer, never an invented example. false = never add API examples."
|
|
14299
|
+
),
|
|
14300
|
+
screenshots: external_exports.boolean().default(false).describe(
|
|
14301
|
+
"Screenshots for frontend changes. false (default) = never attempt. true = attempt when the host has browser/preview tooling and the diff touches a frontend surface; capability-gated (emits a one-line note and leaves the placeholder when tooling is absent, never fails or blocks the PR). Before/after + changed-region highlighting is best-effort."
|
|
14302
|
+
),
|
|
14303
|
+
ui_paths: external_exports.array(external_exports.string()).default([]).describe(
|
|
14304
|
+
'Optional glob list that makes frontend detection explicit instead of heuristic (e.g. ["resources/views/**", "src/pages/**"]). Empty (default) = a light path/extension heuristic that fails open (no false enrichment when the surface is ambiguous).'
|
|
14305
|
+
),
|
|
14306
|
+
api_paths: external_exports.array(external_exports.string()).default([]).describe(
|
|
14307
|
+
'Optional glob list that makes API-endpoint detection explicit instead of heuristic (e.g. ["app/Http/Controllers/Api/**", "src/pages/api/**"]). Empty (default) = a light path/extension heuristic that fails open.'
|
|
14290
14308
|
)
|
|
14291
14309
|
})
|
|
14292
14310
|
}),
|
|
@@ -18387,7 +18405,7 @@ function _detect_legacy_for_migration(project_root) {
|
|
|
18387
18405
|
}
|
|
18388
18406
|
return [];
|
|
18389
18407
|
}
|
|
18390
|
-
if (isFile(path11.join(project_root,
|
|
18408
|
+
if (isFile(path11.join(project_root, INSTALL_MODE_MARKER_REL))) return [];
|
|
18391
18409
|
const found = [];
|
|
18392
18410
|
for (const name of MIGRATE_LEGACY_YAML_FILES) {
|
|
18393
18411
|
if (isFile(path11.join(project_root, name))) {
|
|
@@ -18446,26 +18464,17 @@ function _format_global_root_for_marker(global_root) {
|
|
|
18446
18464
|
}
|
|
18447
18465
|
return `~/${rel.split(path11.sep).join("/")}`;
|
|
18448
18466
|
}
|
|
18449
|
-
function
|
|
18467
|
+
function _remove_legacy_consumer_bridge_marker(project_root, env = null) {
|
|
18450
18468
|
const env_map = env ?? process3.env;
|
|
18451
18469
|
if (env_map["AGENT_CONFIG_DEV_MODE"] === "1") return null;
|
|
18452
18470
|
if (isDir(path11.join(project_root, ".agent-src.uncondensed"))) return null;
|
|
18453
|
-
const global_root_str = _format_global_root_for_marker(
|
|
18454
|
-
event4u_root(env_map)
|
|
18455
|
-
);
|
|
18456
|
-
const stamp = utcStamp(now ?? void 0);
|
|
18457
|
-
const body = `# event4u/agent-config \u2014 consumer bridge marker (auto-written).
|
|
18458
|
-
# Spec: docs/contracts/consumer-bridge.md (event4u-bridge/v1).
|
|
18459
|
-
# Reader contract: expand ~ against the current $HOME; fail closed
|
|
18460
|
-
# when global_root is missing on disk; never write back through it.
|
|
18461
|
-
schema: event4u-bridge/v1
|
|
18462
|
-
global_root: ${global_root_str}
|
|
18463
|
-
installed_at: ${stamp}
|
|
18464
|
-
installer_version: ${installer_version}
|
|
18465
|
-
`;
|
|
18466
18471
|
const target = path11.join(project_root, CONSUMER_BRIDGE_MARKER_RELPATH);
|
|
18467
|
-
|
|
18468
|
-
|
|
18472
|
+
if (!isFile(target)) return null;
|
|
18473
|
+
try {
|
|
18474
|
+
fs13.rmSync(target);
|
|
18475
|
+
} catch {
|
|
18476
|
+
return null;
|
|
18477
|
+
}
|
|
18469
18478
|
return target;
|
|
18470
18479
|
}
|
|
18471
18480
|
var PROJECT_ANCHOR_TOOLS = {
|
|
@@ -18487,14 +18496,13 @@ function _write_per_tool_project_anchors(project_root, tools, env = null, now =
|
|
|
18487
18496
|
if (!tools.has(tool_id)) continue;
|
|
18488
18497
|
const target = path11.join(project_root, rel_path);
|
|
18489
18498
|
mkdirp(path11.dirname(target));
|
|
18490
|
-
const bridge_abs = path11.join(project_root, CONSUMER_BRIDGE_MARKER_RELPATH);
|
|
18491
|
-
const bridge_rel = path11.relative(path11.dirname(target), bridge_abs);
|
|
18492
18499
|
const body = `# event4u/agent-config \u2014 per-tool project anchor (auto-written).
|
|
18493
18500
|
# Spec: docs/contracts/consumer-bridge.md \xA7 Per-tool anchor strategy.
|
|
18494
|
-
# Tool: ${tool_id}.
|
|
18501
|
+
# Tool: ${tool_id}. Resolves the global install directly \u2014 no
|
|
18502
|
+
# project-local bridge marker (retired, ADR-020 amendment 2026-07-13).
|
|
18503
|
+
# This anchor is gitignored: each developer regenerates it on install.
|
|
18495
18504
|
schema: event4u-bridge/v1
|
|
18496
18505
|
tool: ${tool_id}
|
|
18497
|
-
bridge: ${bridge_rel}
|
|
18498
18506
|
global_root: ${global_root_str}
|
|
18499
18507
|
installed_at: ${stamp}
|
|
18500
18508
|
`;
|
|
@@ -19067,10 +19075,10 @@ function install_global(tools, force, project_root = null, core_only = false) {
|
|
|
19067
19075
|
const files_by_tool = _files_by_tool_from_deploy(deploy_results);
|
|
19068
19076
|
const rc = _update_installed_tools_manifest(project_root, tools, "global", force, files_by_tool);
|
|
19069
19077
|
if (rc !== 0) return rc;
|
|
19070
|
-
const
|
|
19071
|
-
if (
|
|
19072
|
-
const rel = isRelativeTo(
|
|
19073
|
-
info(`
|
|
19078
|
+
const removed_marker = _remove_legacy_consumer_bridge_marker(project_root);
|
|
19079
|
+
if (removed_marker !== null && !state.QUIET) {
|
|
19080
|
+
const rel = isRelativeTo(removed_marker, project_root) ? path11.relative(project_root, removed_marker) : removed_marker;
|
|
19081
|
+
info(`Removed legacy bridge marker: ${rel}`);
|
|
19074
19082
|
}
|
|
19075
19083
|
const anchor_paths = _write_per_tool_project_anchors(project_root, tools);
|
|
19076
19084
|
if (anchor_paths.length > 0 && !state.QUIET) {
|
|
@@ -19423,11 +19431,10 @@ personal:
|
|
|
19423
19431
|
success(`Wrote ${SETTINGS_FILE} (user_type=${user_type})`);
|
|
19424
19432
|
}
|
|
19425
19433
|
}
|
|
19426
|
-
const
|
|
19427
|
-
|
|
19428
|
-
|
|
19429
|
-
|
|
19430
|
-
success(`Wrote ${rel}`);
|
|
19434
|
+
const removed_marker = _remove_legacy_consumer_bridge_marker(target_root);
|
|
19435
|
+
if (removed_marker !== null) {
|
|
19436
|
+
const rel = isRelativeTo(removed_marker, target_root) ? path11.relative(target_root, removed_marker) : removed_marker;
|
|
19437
|
+
success(`Removed legacy bridge marker: ${rel}`);
|
|
19431
19438
|
}
|
|
19432
19439
|
_write_install_mode_marker(target_root, "minimal");
|
|
19433
19440
|
if (!state.QUIET) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"discovery": {
|
|
3
|
-
"artefact_count":
|
|
3
|
+
"artefact_count": 565,
|
|
4
4
|
"scanner_version": "c24312e116f8"
|
|
5
5
|
},
|
|
6
|
-
"generated_at": "2026-07-
|
|
6
|
+
"generated_at": "2026-07-14",
|
|
7
7
|
"package": {
|
|
8
8
|
"description": "Universal AI Agent OS \u2014 audited skills, governance rules, commands, and templates for AI coding tools (Claude Code, Cursor, Windsurf, Copilot).",
|
|
9
9
|
"homepage": "https://event4u-app.github.io/agent-config",
|
|
10
10
|
"name": "@event4u/agent-config",
|
|
11
11
|
"repository": "https://github.com/event4u-app/agent-config",
|
|
12
|
-
"version": "9.
|
|
12
|
+
"version": "9.1.0"
|
|
13
13
|
},
|
|
14
14
|
"registries": [
|
|
15
15
|
{
|
|
@@ -213,7 +213,10 @@ const _AGENTS_DIR_MARKERS = [
|
|
|
213
213
|
'roadmaps',
|
|
214
214
|
'settings/.ai-council.yml',
|
|
215
215
|
'roadmaps-progress.md',
|
|
216
|
-
|
|
216
|
+
// `overrides/` is the guaranteed minimal-consumer surface (ADR-020).
|
|
217
|
+
// Replaced the retired `.event4u-bridge.yml` marker (ADR-020 amendment
|
|
218
|
+
// 2026-07-13) so a bare consumer `agents/` dir stays anchorable.
|
|
219
|
+
'overrides',
|
|
217
220
|
];
|
|
218
221
|
/**
|
|
219
222
|
* Kill-switch (D5). When set to `"1"`, `find_project_root` /
|