@event4u/agent-config 9.0.0 → 9.2.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 +22 -204
- 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/implement-ticket.md +2 -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/commands/review/changes.md +22 -0
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +41 -6
- package/dist/agent-src/contexts/execution/verify-budget.md +15 -0
- package/dist/agent-src/rules/cross-source-consistency.md +92 -0
- package/dist/agent-src/rules/delegation-policy.md +1 -1
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +2 -0
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- 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/po-discovery/SKILL.md +2 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +7 -0
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +14 -0
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +26 -5
- package/dist/agent-src/skills/subagent-orchestration/evals/evals.json +18 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +14 -2
- package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +79 -0
- package/dist/agent-src/skills/subagent-orchestration/schemas/adversarial-findings.json +56 -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 +105 -28
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +5 -5
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +16 -12
- package/dist/discovery/trust-report.md +8 -8
- package/dist/discovery/workspaces.json +12 -8
- package/dist/install/install.mjs +47 -31
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/router.json +1 -1
- 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 +10 -0
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +10 -3
- package/docs/MIGRATION.md +20 -0
- package/docs/architecture.md +4 -4
- package/docs/archive/CHANGELOG-pre-9.2.0.md +276 -0
- package/docs/benchmark.md +24 -0
- 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/decisions/ADR-122-adversarial-verification-council.md +136 -0
- package/docs/decisions/INDEX.md +1 -0
- package/docs/design/adversarial-council-eval.md +106 -0
- package/docs/featured-skills.md +2 -2
- package/docs/getting-started-by-role.md +1 -1
- package/docs/getting-started.md +2 -2
- package/docs/governance-advantage.md +1 -1
- package/docs/guidelines/agent-infra/api-cost-levers.md +126 -0
- package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +109 -0
- package/docs/installation.md +2 -1
- package/docs/maintainers/dev-mode.md +3 -2
- package/docs/proof.md +7 -7
- 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 +81 -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/adversarial_council_gate.test.ts +112 -0
- package/src/scripts/_lib/adversarial_council_gate.ts +98 -0
- package/src/scripts/_lib/adversarial_reconcile.test.ts +197 -0
- package/src/scripts/_lib/adversarial_reconcile.ts +187 -0
- package/src/scripts/_lib/agent_settings.ts +4 -1
- package/src/scripts/_lib/verify_budget.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 +28 -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 +24 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"checksum": "sha256:
|
|
3
|
-
"generated_at": "2026-07-
|
|
2
|
+
"checksum": "sha256:c2e1ad4673f3bf59c601bfdf51040b155bbcc511f0af3622004ca1917bad10e9",
|
|
3
|
+
"generated_at": "2026-07-14T13:40:54Z",
|
|
4
4
|
"packs": [
|
|
5
5
|
{
|
|
6
6
|
"always_on": false,
|
|
7
|
-
"artefact_count":
|
|
7
|
+
"artefact_count": 107,
|
|
8
8
|
"artefacts": [
|
|
9
9
|
"src/domains/engineering-base/mission/upgrade/command.md",
|
|
10
10
|
"src/rules/active-remediation.md",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"src/rules/code-comment-discipline.md",
|
|
13
13
|
"src/rules/commit-conventions.md",
|
|
14
14
|
"src/rules/commit-policy.md",
|
|
15
|
+
"src/rules/cross-source-consistency.md",
|
|
15
16
|
"src/rules/delegation-policy.md",
|
|
16
17
|
"src/rules/docker-commands.md",
|
|
17
18
|
"src/rules/downstream-changes.md",
|
|
@@ -114,14 +115,14 @@
|
|
|
114
115
|
"src/skills/worktree-lifecycle/SKILL.md"
|
|
115
116
|
],
|
|
116
117
|
"by_lifecycle": {
|
|
117
|
-
"active":
|
|
118
|
+
"active": 106,
|
|
118
119
|
"archived": 0,
|
|
119
120
|
"deprecated": 0,
|
|
120
121
|
"experimental": 1
|
|
121
122
|
},
|
|
122
123
|
"by_trust_level": {
|
|
123
124
|
"advisory": 0,
|
|
124
|
-
"core":
|
|
125
|
+
"core": 105,
|
|
125
126
|
"experimental": 1,
|
|
126
127
|
"professional": 1,
|
|
127
128
|
"restricted": 0
|
|
@@ -669,8 +670,9 @@
|
|
|
669
670
|
},
|
|
670
671
|
{
|
|
671
672
|
"always_on": false,
|
|
672
|
-
"artefact_count":
|
|
673
|
+
"artefact_count": 12,
|
|
673
674
|
"artefacts": [
|
|
675
|
+
"src/rules/cross-source-consistency.md",
|
|
674
676
|
"src/skills/churn-prevention/SKILL.md",
|
|
675
677
|
"src/skills/estimate-ticket/SKILL.md",
|
|
676
678
|
"src/skills/feature-planning/SKILL.md",
|
|
@@ -684,14 +686,14 @@
|
|
|
684
686
|
"src/skills/technical-specification/SKILL.md"
|
|
685
687
|
],
|
|
686
688
|
"by_lifecycle": {
|
|
687
|
-
"active":
|
|
689
|
+
"active": 12,
|
|
688
690
|
"archived": 0,
|
|
689
691
|
"deprecated": 0,
|
|
690
692
|
"experimental": 0
|
|
691
693
|
},
|
|
692
694
|
"by_trust_level": {
|
|
693
695
|
"advisory": 0,
|
|
694
|
-
"core":
|
|
696
|
+
"core": 1,
|
|
695
697
|
"experimental": 0,
|
|
696
698
|
"professional": 11,
|
|
697
699
|
"restricted": 0
|
|
@@ -1221,7 +1223,7 @@
|
|
|
1221
1223
|
},
|
|
1222
1224
|
{
|
|
1223
1225
|
"always_on": true,
|
|
1224
|
-
"artefact_count":
|
|
1226
|
+
"artefact_count": 274,
|
|
1225
1227
|
"artefacts": [
|
|
1226
1228
|
"src/agent-src/templates/agents/proposal.example.md",
|
|
1227
1229
|
"src/domains/ai-video/image/analyse/command.md",
|
|
@@ -1309,6 +1311,7 @@
|
|
|
1309
1311
|
"src/domains/meta/context/refactor/command.md",
|
|
1310
1312
|
"src/domains/meta/cost/command.md",
|
|
1311
1313
|
"src/domains/meta/cost/profile/command.md",
|
|
1314
|
+
"src/domains/meta/explain-run/command.md",
|
|
1312
1315
|
"src/domains/meta/mode/command.md",
|
|
1313
1316
|
"src/domains/meta/optimize/agents-dir/command.md",
|
|
1314
1317
|
"src/domains/meta/optimize/augmentignore/command.md",
|
|
@@ -1459,6 +1462,7 @@
|
|
|
1459
1462
|
"src/skills/judge-test-coverage/SKILL.md",
|
|
1460
1463
|
"src/skills/learning-to-rule-or-skill/SKILL.md",
|
|
1461
1464
|
"src/skills/lint-skills/SKILL.md",
|
|
1465
|
+
"src/skills/llm-provider-knowledge/SKILL.md",
|
|
1462
1466
|
"src/skills/markitdown/SKILL.md",
|
|
1463
1467
|
"src/skills/mcp-builder/SKILL.md",
|
|
1464
1468
|
"src/skills/mcp/SKILL.md",
|
|
@@ -1497,15 +1501,15 @@
|
|
|
1497
1501
|
"src/skills/verify-repair-loop/SKILL.md"
|
|
1498
1502
|
],
|
|
1499
1503
|
"by_lifecycle": {
|
|
1500
|
-
"active":
|
|
1504
|
+
"active": 273,
|
|
1501
1505
|
"archived": 0,
|
|
1502
1506
|
"deprecated": 0,
|
|
1503
1507
|
"experimental": 1
|
|
1504
1508
|
},
|
|
1505
1509
|
"by_trust_level": {
|
|
1506
1510
|
"advisory": 0,
|
|
1507
|
-
"core":
|
|
1508
|
-
"experimental":
|
|
1511
|
+
"core": 272,
|
|
1512
|
+
"experimental": 2,
|
|
1509
1513
|
"professional": 0,
|
|
1510
1514
|
"restricted": 0
|
|
1511
1515
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Discovery — Trust Report
|
|
2
2
|
|
|
3
|
-
- Generated: `2026-07-
|
|
3
|
+
- Generated: `2026-07-14T13:40:54Z`
|
|
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` |
|
|
13
|
+
| `engineering` | 168 | 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` |
|
|
20
|
-
| `small-business` | 29 | 0 |
|
|
18
|
+
| `ops` | 23 | 8 | 1 | 0 | 0 |
|
|
19
|
+
| `product` | 24 | 15 | 1 | 0 | 0 |
|
|
20
|
+
| `small-business` | 29 | 0 | 19 | 0 | 0 |
|
|
21
21
|
|
|
22
22
|
## Human-review-required artefacts
|
|
23
23
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"checksum": "sha256:
|
|
3
|
-
"generated_at": "2026-07-
|
|
2
|
+
"checksum": "sha256:c2e1ad4673f3bf59c601bfdf51040b155bbcc511f0af3622004ca1917bad10e9",
|
|
3
|
+
"generated_at": "2026-07-14T13:40:54Z",
|
|
4
4
|
"scanner_version": "c24312e116f8",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
{
|
|
7
|
-
"artefact_count":
|
|
7
|
+
"artefact_count": 186,
|
|
8
8
|
"default_packs": [
|
|
9
9
|
"engineering-base",
|
|
10
10
|
"git"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
],
|
|
28
28
|
"packs": [
|
|
29
29
|
{
|
|
30
|
-
"artefact_count":
|
|
30
|
+
"artefact_count": 107,
|
|
31
31
|
"artefacts": [
|
|
32
32
|
"src/domains/engineering-base/mission/upgrade/command.md",
|
|
33
33
|
"src/rules/active-remediation.md",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"src/rules/code-comment-discipline.md",
|
|
36
36
|
"src/rules/commit-conventions.md",
|
|
37
37
|
"src/rules/commit-policy.md",
|
|
38
|
+
"src/rules/cross-source-consistency.md",
|
|
38
39
|
"src/rules/delegation-policy.md",
|
|
39
40
|
"src/rules/docker-commands.md",
|
|
40
41
|
"src/rules/downstream-changes.md",
|
|
@@ -291,7 +292,7 @@
|
|
|
291
292
|
]
|
|
292
293
|
},
|
|
293
294
|
{
|
|
294
|
-
"artefact_count":
|
|
295
|
+
"artefact_count": 16,
|
|
295
296
|
"default_packs": [
|
|
296
297
|
"product-basic"
|
|
297
298
|
],
|
|
@@ -303,8 +304,9 @@
|
|
|
303
304
|
],
|
|
304
305
|
"packs": [
|
|
305
306
|
{
|
|
306
|
-
"artefact_count":
|
|
307
|
+
"artefact_count": 12,
|
|
307
308
|
"artefacts": [
|
|
309
|
+
"src/rules/cross-source-consistency.md",
|
|
308
310
|
"src/skills/churn-prevention/SKILL.md",
|
|
309
311
|
"src/skills/estimate-ticket/SKILL.md",
|
|
310
312
|
"src/skills/feature-planning/SKILL.md",
|
|
@@ -593,7 +595,7 @@
|
|
|
593
595
|
]
|
|
594
596
|
},
|
|
595
597
|
{
|
|
596
|
-
"artefact_count":
|
|
598
|
+
"artefact_count": 298,
|
|
597
599
|
"default_packs": [
|
|
598
600
|
"meta",
|
|
599
601
|
"memory",
|
|
@@ -606,7 +608,7 @@
|
|
|
606
608
|
"optional_packs": [],
|
|
607
609
|
"packs": [
|
|
608
610
|
{
|
|
609
|
-
"artefact_count":
|
|
611
|
+
"artefact_count": 274,
|
|
610
612
|
"artefacts": [
|
|
611
613
|
"src/agent-src/templates/agents/proposal.example.md",
|
|
612
614
|
"src/domains/ai-video/image/analyse/command.md",
|
|
@@ -694,6 +696,7 @@
|
|
|
694
696
|
"src/domains/meta/context/refactor/command.md",
|
|
695
697
|
"src/domains/meta/cost/command.md",
|
|
696
698
|
"src/domains/meta/cost/profile/command.md",
|
|
699
|
+
"src/domains/meta/explain-run/command.md",
|
|
697
700
|
"src/domains/meta/mode/command.md",
|
|
698
701
|
"src/domains/meta/optimize/agents-dir/command.md",
|
|
699
702
|
"src/domains/meta/optimize/augmentignore/command.md",
|
|
@@ -844,6 +847,7 @@
|
|
|
844
847
|
"src/skills/judge-test-coverage/SKILL.md",
|
|
845
848
|
"src/skills/learning-to-rule-or-skill/SKILL.md",
|
|
846
849
|
"src/skills/lint-skills/SKILL.md",
|
|
850
|
+
"src/skills/llm-provider-knowledge/SKILL.md",
|
|
847
851
|
"src/skills/markitdown/SKILL.md",
|
|
848
852
|
"src/skills/mcp-builder/SKILL.md",
|
|
849
853
|
"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) {
|
|
@@ -13972,6 +13975,7 @@ var qualityCadence = external_exports.enum(["end_of_roadmap", "per_phase", "per_
|
|
|
13972
13975
|
var regenCadence = external_exports.enum(["per_step", "every_5_steps", "phase_boundary"]);
|
|
13973
13976
|
var worktreeMode = external_exports.enum(["off", "on", "ask"]);
|
|
13974
13977
|
var fidelityMode = external_exports.enum(["strict", "structural", "hard-floor"]);
|
|
13978
|
+
var crossSourceMode = external_exports.enum(["on", "auto", "off"]);
|
|
13975
13979
|
var richSkillsMode = external_exports.enum(["on", "ask", "off"]);
|
|
13976
13980
|
var replyMethod = external_exports.enum(["replies_endpoint", "create_review_comment", "auto"]);
|
|
13977
13981
|
var confidenceBand = external_exports.enum(["off", "low", "medium", "high"]);
|
|
@@ -14148,6 +14152,11 @@ var settingsSchema = external_exports.object({
|
|
|
14148
14152
|
"How strictly the agent must follow a user-provided prototype / mockup / design system (consumed by the design-fidelity rule). strict = build 1:1, every visible deviation needs confirmation; structural = structure locked, silent gaps fillable with a stated assumption; hard-floor = any deviation is never autonomous."
|
|
14149
14153
|
)
|
|
14150
14154
|
}).default({ fidelity_mode: "strict" }),
|
|
14155
|
+
consistency: external_exports.object({
|
|
14156
|
+
cross_source: crossSourceMode.default("on").describe(
|
|
14157
|
+
"Consumed by the cross-source-consistency rule. When the agent works from multiple sources (ticket text, an attached image/mockup, the spec, the codebase) it checks them against each other and asks before proceeding on a discrepancy \u2014 instead of silently guessing. on (default) = surface every real cross-source contradiction / silent-scope-expansion as one question; auto = surface only high-confidence contradictions, state low-confidence as an assumption; off = no cross-source checking."
|
|
14158
|
+
)
|
|
14159
|
+
}).default({ cross_source: "on" }),
|
|
14151
14160
|
tokens: external_exports.object({
|
|
14152
14161
|
rich_skills: richSkillsMode.default("on").describe(
|
|
14153
14162
|
"Whether skills marked token_budget_class: rich may load in full (exempt from telegraph-speak + thin-projector trimming), consumed by the token-budget-discipline rule. on = allowed (default); off = fall back to standard condensed behavior; ask = surface an estimated token delta (tokens, not dollars) and ask once per session before loading."
|
|
@@ -14226,6 +14235,9 @@ var settingsSchema = external_exports.object({
|
|
|
14226
14235
|
),
|
|
14227
14236
|
max_parallel: external_exports.number().int().min(1).default(3).describe(
|
|
14228
14237
|
"Hard cap on subagents running in parallel during /do-in-parallel, /do-competitively, and /judge runs. Raise for faster fan-out, lower if you hit rate limits or want lower token spend."
|
|
14238
|
+
),
|
|
14239
|
+
adversarial_council: external_exports.enum(["off", "ask", "on"]).default("off").describe(
|
|
14240
|
+
"Opt-in adversarial-verification-council mode (subagent-orchestration Mode 9, ADR-122). off (default) = never runs; ask = offer it on an explicit high-risk change; on = auto-run on high-risk changes. Advisory only \u2014 a panel of distinct-model skeptics red-teams a real change for defect FINDING coverage and NEVER auto-gates it (Hard Floor). Stays default-off until the adversarial-council-finding-coverage claim is backed."
|
|
14229
14241
|
)
|
|
14230
14242
|
}),
|
|
14231
14243
|
worktrees: external_exports.object({
|
|
@@ -14287,6 +14299,21 @@ var settingsSchema = external_exports.object({
|
|
|
14287
14299
|
create_pr: external_exports.object({
|
|
14288
14300
|
preview_description: external_exports.boolean().default(false).describe(
|
|
14289
14301
|
"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."
|
|
14302
|
+
),
|
|
14303
|
+
detail_level: external_exports.enum(["min", "med", "max"]).default("min").describe(
|
|
14304
|
+
"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."
|
|
14305
|
+
),
|
|
14306
|
+
api_examples: external_exports.boolean().default(true).describe(
|
|
14307
|
+
"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."
|
|
14308
|
+
),
|
|
14309
|
+
screenshots: external_exports.boolean().default(false).describe(
|
|
14310
|
+
"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."
|
|
14311
|
+
),
|
|
14312
|
+
ui_paths: external_exports.array(external_exports.string()).default([]).describe(
|
|
14313
|
+
'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).'
|
|
14314
|
+
),
|
|
14315
|
+
api_paths: external_exports.array(external_exports.string()).default([]).describe(
|
|
14316
|
+
'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
14317
|
)
|
|
14291
14318
|
})
|
|
14292
14319
|
}),
|
|
@@ -18387,7 +18414,7 @@ function _detect_legacy_for_migration(project_root) {
|
|
|
18387
18414
|
}
|
|
18388
18415
|
return [];
|
|
18389
18416
|
}
|
|
18390
|
-
if (isFile(path11.join(project_root,
|
|
18417
|
+
if (isFile(path11.join(project_root, INSTALL_MODE_MARKER_REL))) return [];
|
|
18391
18418
|
const found = [];
|
|
18392
18419
|
for (const name of MIGRATE_LEGACY_YAML_FILES) {
|
|
18393
18420
|
if (isFile(path11.join(project_root, name))) {
|
|
@@ -18446,26 +18473,17 @@ function _format_global_root_for_marker(global_root) {
|
|
|
18446
18473
|
}
|
|
18447
18474
|
return `~/${rel.split(path11.sep).join("/")}`;
|
|
18448
18475
|
}
|
|
18449
|
-
function
|
|
18476
|
+
function _remove_legacy_consumer_bridge_marker(project_root, env = null) {
|
|
18450
18477
|
const env_map = env ?? process3.env;
|
|
18451
18478
|
if (env_map["AGENT_CONFIG_DEV_MODE"] === "1") return null;
|
|
18452
18479
|
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
18480
|
const target = path11.join(project_root, CONSUMER_BRIDGE_MARKER_RELPATH);
|
|
18467
|
-
|
|
18468
|
-
|
|
18481
|
+
if (!isFile(target)) return null;
|
|
18482
|
+
try {
|
|
18483
|
+
fs13.rmSync(target);
|
|
18484
|
+
} catch {
|
|
18485
|
+
return null;
|
|
18486
|
+
}
|
|
18469
18487
|
return target;
|
|
18470
18488
|
}
|
|
18471
18489
|
var PROJECT_ANCHOR_TOOLS = {
|
|
@@ -18487,14 +18505,13 @@ function _write_per_tool_project_anchors(project_root, tools, env = null, now =
|
|
|
18487
18505
|
if (!tools.has(tool_id)) continue;
|
|
18488
18506
|
const target = path11.join(project_root, rel_path);
|
|
18489
18507
|
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
18508
|
const body = `# event4u/agent-config \u2014 per-tool project anchor (auto-written).
|
|
18493
18509
|
# Spec: docs/contracts/consumer-bridge.md \xA7 Per-tool anchor strategy.
|
|
18494
|
-
# Tool: ${tool_id}.
|
|
18510
|
+
# Tool: ${tool_id}. Resolves the global install directly \u2014 no
|
|
18511
|
+
# project-local bridge marker (retired, ADR-020 amendment 2026-07-13).
|
|
18512
|
+
# This anchor is gitignored: each developer regenerates it on install.
|
|
18495
18513
|
schema: event4u-bridge/v1
|
|
18496
18514
|
tool: ${tool_id}
|
|
18497
|
-
bridge: ${bridge_rel}
|
|
18498
18515
|
global_root: ${global_root_str}
|
|
18499
18516
|
installed_at: ${stamp}
|
|
18500
18517
|
`;
|
|
@@ -19067,10 +19084,10 @@ function install_global(tools, force, project_root = null, core_only = false) {
|
|
|
19067
19084
|
const files_by_tool = _files_by_tool_from_deploy(deploy_results);
|
|
19068
19085
|
const rc = _update_installed_tools_manifest(project_root, tools, "global", force, files_by_tool);
|
|
19069
19086
|
if (rc !== 0) return rc;
|
|
19070
|
-
const
|
|
19071
|
-
if (
|
|
19072
|
-
const rel = isRelativeTo(
|
|
19073
|
-
info(`
|
|
19087
|
+
const removed_marker = _remove_legacy_consumer_bridge_marker(project_root);
|
|
19088
|
+
if (removed_marker !== null && !state.QUIET) {
|
|
19089
|
+
const rel = isRelativeTo(removed_marker, project_root) ? path11.relative(project_root, removed_marker) : removed_marker;
|
|
19090
|
+
info(`Removed legacy bridge marker: ${rel}`);
|
|
19074
19091
|
}
|
|
19075
19092
|
const anchor_paths = _write_per_tool_project_anchors(project_root, tools);
|
|
19076
19093
|
if (anchor_paths.length > 0 && !state.QUIET) {
|
|
@@ -19423,11 +19440,10 @@ personal:
|
|
|
19423
19440
|
success(`Wrote ${SETTINGS_FILE} (user_type=${user_type})`);
|
|
19424
19441
|
}
|
|
19425
19442
|
}
|
|
19426
|
-
const
|
|
19427
|
-
|
|
19428
|
-
|
|
19429
|
-
|
|
19430
|
-
success(`Wrote ${rel}`);
|
|
19443
|
+
const removed_marker = _remove_legacy_consumer_bridge_marker(target_root);
|
|
19444
|
+
if (removed_marker !== null) {
|
|
19445
|
+
const rel = isRelativeTo(removed_marker, target_root) ? path11.relative(target_root, removed_marker) : removed_marker;
|
|
19446
|
+
success(`Removed legacy bridge marker: ${rel}`);
|
|
19431
19447
|
}
|
|
19432
19448
|
_write_install_mode_marker(target_root, "minimal");
|
|
19433
19449
|
if (!state.QUIET) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"discovery": {
|
|
3
|
-
"artefact_count":
|
|
3
|
+
"artefact_count": 566,
|
|
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.2.0"
|
|
13
13
|
},
|
|
14
14
|
"registries": [
|
|
15
15
|
{
|