@event4u/agent-config 9.35.0 → 10.0.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 +95 -142
- package/agents/templates/.ai-council.yml.example +31 -51
- package/dist/agent-src/commands/analyze/conformance.md +15 -4
- package/dist/agent-src/commands/analyze/reference-repo.md +135 -42
- package/dist/agent-src/contexts/augment-infrastructure.md +1 -1
- package/dist/agent-src/rules/design-review-after-ui-write.md +53 -6
- package/dist/agent-src/rules/improve-before-implement.md +1 -1
- package/dist/agent-src/rules/session-canary.md +28 -0
- package/dist/agent-src/rules/ui-audit-gate.md +35 -0
- package/dist/agent-src/skills/design-system-capture/SKILL.md +2 -2
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +1 -1
- package/dist/agent-src/skills/fe-design/SKILL.md +84 -12
- package/dist/agent-src/skills/fe-design/evals/triggers.json +11 -3
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +5 -5
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-writing/SKILL.md +24 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +29 -0
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/cli-delegate/{chunk-2TGMGLBL.js → chunk-2H5SE7DU.js} +35 -5
- package/dist/cli-delegate/{chunk-DS6BLDMG.js → chunk-3JUTT26I.js} +8 -3
- package/dist/cli-delegate/{chunk-ZAXH3ZWU.js → chunk-HJSKTMIF.js} +14 -13
- package/dist/cli-delegate/{chunk-QEEB4LHO.js → chunk-LRXJK6GN.js} +1 -1
- package/dist/cli-delegate/{chunk-736JCWLM.js → chunk-M2DPGFZ4.js} +10 -0
- package/dist/cli-delegate/{chunk-H6F2CQFI.js → chunk-NX5AXSLD.js} +3 -3
- package/dist/cli-delegate/{chunk-AG47LAGQ.js → chunk-TVGXH7VA.js} +1 -1
- package/dist/cli-delegate/{chunk-55RI5UXK.js → chunk-XT2YTJCZ.js} +22 -18
- package/dist/cli-delegate/{chunk-JEJABGKB.js → chunk-XTC5ARB6.js} +16 -12
- package/dist/cli-delegate/cmd_analyze_session.js +1 -1
- package/dist/cli-delegate/cmd_brand_status.js +1 -1
- package/dist/cli-delegate/cmd_conformance.js +1038 -197
- package/dist/cli-delegate/cmd_doctor.js +4 -4
- package/dist/cli-delegate/cmd_explain.js +2 -2
- package/dist/cli-delegate/cmd_export.js +4 -4
- package/dist/cli-delegate/cmd_handoff.js +3 -3
- package/dist/cli-delegate/cmd_mcp_available.js +1 -1
- package/dist/cli-delegate/cmd_migrate.js +2 -2
- package/dist/cli-delegate/cmd_packs_active.js +2 -2
- package/dist/cli-delegate/cmd_prune.js +4 -4
- package/dist/cli-delegate/cmd_refresh.js +1 -1
- package/dist/cli-delegate/cmd_route_audit.js +2 -2
- package/dist/cli-delegate/cmd_route_explain.js +1 -1
- package/dist/cli-delegate/cmd_session_recycle.js +9 -2
- package/dist/cli-delegate/cmd_settings_get.js +1 -1
- package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
- package/dist/cli-delegate/cmd_settings_set.js +1 -1
- package/dist/cli-delegate/cmd_sync.js +4 -4
- package/dist/cli-delegate/cmd_uninstall.js +4 -4
- package/dist/cli-delegate/cmd_update.js +1 -1
- package/dist/cli-delegate/cmd_upgrade.js +2 -2
- package/dist/cli-delegate/cmd_validate.js +4 -4
- package/dist/cli-delegate/cmd_versions.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +14 -14
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +1 -1
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +2 -2
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +2 -2
- package/dist/hooks/dispatch.js +654 -411
- package/dist/install/install.mjs +39 -29
- package/dist/mcp/registry-manifest.json +1 -1
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +1580 -617
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +39 -25
- package/dist/scripts/_lib/agent_settings.js.map +1 -1
- package/dist/scripts/condense.js +15 -2
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/routes/wizard.js +23 -3
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/schemas/settings.js +11 -6
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/contracts/settings-classes.md +16 -9
- package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +46 -4
- package/package.json +2 -2
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/config/agent-settings.template.yml +38 -36
- package/src/config/ci-local-parity.yml +44 -0
- package/src/config/gate-coverage.yml +12 -0
- package/src/scripts/_cli/cmd_doctor.ts +32 -0
- package/src/scripts/_cli/cmd_migrate.ts +26 -3
- package/src/scripts/_cli/cmd_refresh.ts +29 -0
- package/src/scripts/_cli/cmd_session_recycle.ts +40 -2
- package/src/scripts/_lib/agent_settings.ts +39 -25
- package/src/scripts/_lib/environment_detector.ts +52 -1
- package/src/scripts/_lib/hook_settings.ts +79 -0
- package/src/scripts/_lib/ui_surface.ts +97 -0
- package/src/scripts/ai_council/config.ts +62 -24
- package/src/scripts/before_complete_hook.ts +39 -0
- package/src/scripts/capture_skill_catalogue.ts +483 -0
- package/src/scripts/check_bridge_derivation.ts +89 -3
- package/src/scripts/check_ci_local_parity.ts +74 -0
- package/src/scripts/check_references.ts +15 -1
- package/src/scripts/condense.ts +16 -2
- package/src/scripts/conformance_scan.ts +200 -9
- package/src/scripts/council_cli.ts +95 -3
- package/src/scripts/hook_manifest.yaml +30 -9
- package/src/scripts/hooks/block_no_verify.ts +82 -9
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/design_slop_hook.ts +1 -1
- package/src/scripts/hooks/turn_end_gate_hook.ts +138 -105
- package/src/scripts/hooks/ui_route_nudge_hook.ts +250 -0
- package/src/scripts/lint_roadmap_complexity.ts +60 -0
- package/src/scripts/lint_rule_skill_pack_reach.ts +263 -0
- package/src/scripts/probe_promissory_closing.ts +180 -0
- package/src/scripts/probe_session_canary.ts +180 -0
- package/src/scripts/report_consultation_rate.ts +358 -0
- package/src/scripts/report_skill_activation.ts +5 -1
- package/src/server/schemas/settings.ts +14 -13
- /package/dist/agent-src/skills/design-system-capture/{reference → references}/design-system-json.md +0 -0
- /package/dist/agent-src/skills/prediction-pool-optimizer/{reference → references}/ev-fixtures.md +0 -0
- /package/dist/agent-src/skills/prediction-pool-optimizer/{reference → references}/odds-and-bonus.md +0 -0
- /package/dist/agent-src/skills/react-shadcn-ui/{reference → references}/registry.md +0 -0
package/dist/install/install.mjs
CHANGED
|
@@ -10210,14 +10210,18 @@ function load_agent_settings(options = {}) {
|
|
|
10210
10210
|
_warn_removed_always_on_keys(merged);
|
|
10211
10211
|
return merged;
|
|
10212
10212
|
}
|
|
10213
|
-
var
|
|
10214
|
-
"subagents.enabled",
|
|
10215
|
-
"subagents.auto",
|
|
10216
|
-
"subagents.host_capabilities",
|
|
10217
|
-
"subagents.budget_routing",
|
|
10218
|
-
"ai_team.enabled"
|
|
10219
|
-
]
|
|
10220
|
-
|
|
10213
|
+
var REMOVED_KEYS = /* @__PURE__ */ new Map([
|
|
10214
|
+
["subagents.enabled", "always-on orchestration"],
|
|
10215
|
+
["subagents.auto", "always-on orchestration"],
|
|
10216
|
+
["subagents.host_capabilities", "always-on orchestration"],
|
|
10217
|
+
["subagents.budget_routing", "always-on orchestration"],
|
|
10218
|
+
["ai_team.enabled", "always-on orchestration"],
|
|
10219
|
+
["hooks.turn_end_gate.enabled", "the turn-end gate is always armed"],
|
|
10220
|
+
["hooks.turn_end_gate.promissory", "the turn-end gate is always armed"],
|
|
10221
|
+
["hooks.turn_end_gate.language", "the turn-end gate is always armed"],
|
|
10222
|
+
["hooks.turn_end_gate.verification", "the turn-end gate is always armed"]
|
|
10223
|
+
]);
|
|
10224
|
+
var _warnedRemovedKeys = /* @__PURE__ */ new Set();
|
|
10221
10225
|
function _readDottedSettingsPath(root, dotted) {
|
|
10222
10226
|
let node = root;
|
|
10223
10227
|
for (const part of dotted.split(".")) {
|
|
@@ -10229,15 +10233,15 @@ function _readDottedSettingsPath(root, dotted) {
|
|
|
10229
10233
|
return node;
|
|
10230
10234
|
}
|
|
10231
10235
|
function _warn_removed_always_on_keys(merged) {
|
|
10232
|
-
for (const key of
|
|
10233
|
-
if (
|
|
10236
|
+
for (const [key, reason] of REMOVED_KEYS) {
|
|
10237
|
+
if (_warnedRemovedKeys.has(key)) {
|
|
10234
10238
|
continue;
|
|
10235
10239
|
}
|
|
10236
10240
|
if (_readDottedSettingsPath(merged, key) === void 0) {
|
|
10237
10241
|
continue;
|
|
10238
10242
|
}
|
|
10239
|
-
|
|
10240
|
-
process.stderr.write(`${key} was removed (
|
|
10243
|
+
_warnedRemovedKeys.add(key);
|
|
10244
|
+
process.stderr.write(`${key} was removed (${reason}); ignored.
|
|
10241
10245
|
`);
|
|
10242
10246
|
}
|
|
10243
10247
|
}
|
|
@@ -10446,8 +10450,8 @@ function ruleFileArrives(sourcePath, scope) {
|
|
|
10446
10450
|
if (!sourcePath.endsWith(".md")) {
|
|
10447
10451
|
return true;
|
|
10448
10452
|
}
|
|
10449
|
-
const
|
|
10450
|
-
if (COMPAT_ALWAYS_EXCLUDED.includes(
|
|
10453
|
+
const basename6 = path12.basename(sourcePath);
|
|
10454
|
+
if (COMPAT_ALWAYS_EXCLUDED.includes(basename6)) {
|
|
10451
10455
|
return false;
|
|
10452
10456
|
}
|
|
10453
10457
|
return rule_in_scope(sourcePath, scope.workspaces, scope.packs, scope.roles ?? null);
|
|
@@ -14591,6 +14595,7 @@ var modelAutoSwitch = external_exports.enum(["auto", "suggest", "off"]);
|
|
|
14591
14595
|
var leanProjectionMode = external_exports.enum(["eager-all", "thin"]);
|
|
14592
14596
|
var projectionMode = external_exports.enum(["legacy-all", "scoped"]);
|
|
14593
14597
|
var memoryCadence = external_exports.enum(["auto", "always", "never"]);
|
|
14598
|
+
var projectAudience = external_exports.enum(["self", "internal", "client", "public"]);
|
|
14594
14599
|
var settingsSchema = external_exports.object({
|
|
14595
14600
|
agent_config_version: external_exports.string().default("").describe(
|
|
14596
14601
|
'Pin the package to an exact semver (e.g. "1.4.2") so all teammates load the same skill / rule set. Leave empty to track whatever is installed locally \u2014 useful for the maintainers of this package, risky for production projects.'
|
|
@@ -14695,6 +14700,9 @@ var settingsSchema = external_exports.object({
|
|
|
14695
14700
|
),
|
|
14696
14701
|
improvement_pr_branch_prefix: external_exports.string().default("improve/agent-").describe(
|
|
14697
14702
|
'Branch-name prefix for improvement PRs the agent opens against project.upstream_repo (e.g. "improve/agent-add-react-skill"). Pick a prefix your repo conventions allow.'
|
|
14703
|
+
),
|
|
14704
|
+
audience: projectAudience.default("public").describe(
|
|
14705
|
+
'Who this project is built for \u2014 read by the demand gate (\xA7 8-pre of docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md), whose L0-L4 ladder measures MARKET demand and is meaningless where no market is intended. self = a tool its maintainer builds for themselves; the gate is inert and work is classified L-self (build) instead of being deferred for lack of a user population nobody wants. internal = a team tool; only "what breaks without it?" survives. client = built for a named client, who is the requester rather than a market segment. public (default) = a product with an intended market; full three-question gate, behaviour unchanged from before this key existed.'
|
|
14698
14706
|
)
|
|
14699
14707
|
}),
|
|
14700
14708
|
github: external_exports.object({
|
|
@@ -15062,25 +15070,22 @@ var settingsSchema = external_exports.object({
|
|
|
15062
15070
|
"PreToolUse anti-slop nudge (road-to-anti-slop-detector Phase 3). Default off. When on, runs the lint_design_slop registry against about-to-be-written UI content and WARNS (never blocks) on P0/P1 aesthetic tells (side-stripe, gradient-text, magic z-index, \u2026). Flags are rebuttable via DESIGN.md / design-slop-disable. Anti-loop: a file::rule signature surfaced 3x goes silent. Host-limited convenience layer; the universal gate is the lint_design_slop linter/CI."
|
|
15063
15071
|
)
|
|
15064
15072
|
}).default({}),
|
|
15065
|
-
|
|
15073
|
+
ui_route_nudge: external_exports.object({
|
|
15066
15074
|
enabled: external_exports.boolean().default(false).describe(
|
|
15067
|
-
"PreToolUse
|
|
15075
|
+
"PreToolUse UI-route nudge (road-to-frontend-skill-application Phase 4). Default off. When on, a Write/Edit to a UI surface with no design consultation latched this session WARNS (never blocks) naming the route \u2014 run existing-ui-audit, then the fe-design loop. A read or search touching fe-design / existing-ui-audit / design-review / design-intelligence latches consultation and silences it for the session. Anti-loop: at most 2 nudges per session. It does not read the rules: the UI-surface decision comes from _lib/ui_surface.ts and no code parses rule frontmatter, so this runs parallel to the two UI rules rather than consuming their triggers, and a test keeps the sets from drifting. It is a nudge, so their enforced_by: none stays accurate."
|
|
15068
15076
|
)
|
|
15069
15077
|
}).default({}),
|
|
15070
|
-
|
|
15078
|
+
code_graph: external_exports.object({
|
|
15071
15079
|
enabled: external_exports.boolean().default(false).describe(
|
|
15072
|
-
"
|
|
15073
|
-
),
|
|
15074
|
-
promissory: external_exports.boolean().default(true).describe(
|
|
15075
|
-
"Detector A of the turn-end gate: refuse a turn whose closing paragraph promises work not yet performed while asking the user nothing (20 measured occurrences). No fire rate is quoted here on purpose: the measured rate moved twice while the instrument itself was being corrected, so a number in a shipped description would be a moving target. Re-derive it with `measure-turn-end-gate --store <transcript dir>` against your own corpus before arming the gate. Inert while hooks.turn_end_gate.enabled is false."
|
|
15076
|
-
),
|
|
15077
|
-
language: external_exports.boolean().default(true).describe(
|
|
15078
|
-
"Detector B of the turn-end gate: refuse a turn whose reply is not in the pinned language (19 measured occurrences). Fenced code, inline code, quoted tool output, tables, URLs and paths are stripped first, and the remainder is then scored LEAD-FIRST by the same classifier that sets the pin \u2014 so the verdict usually comes from the reply opening, not from all of it. Sharing that classifier is deliberate: it stops the pin and the detector disagreeing about a turn. Accepted opt-in spellings for the switches below include YAML true/false and yes/no/on/off. Inert while hooks.turn_end_gate.enabled is false."
|
|
15079
|
-
),
|
|
15080
|
-
verification: external_exports.boolean().default(true).describe(
|
|
15081
|
-
"Detector C of the turn-end gate: refuse a turn that changed a file and then ran nothing that could have checked it \u2014 no test, type-check, lint or build call follows the LAST edit. Ordering is the point: a run before the final edit did not exercise it, which is the freshness clause verify-before-complete states. Read off the turn tool calls, not the prose, because a reply cannot say whether an edit was verified. Deliberately narrow on what counts as verification \u2014 a missed detection costs one unguarded turn, a false refusal teaches you to switch the gate off. No fire rate is quoted: none has been measured yet. Inert while hooks.turn_end_gate.enabled is false."
|
|
15080
|
+
"PreToolUse code-graph nudge (ADR-124 Phase 4). Default off. When on AND a native code-graph cache or a consumer-shipped graph.json/SCIP index is present, warns once per session (never blocks) as the agent is about to Grep/Glob or Read a source file \u2014 query the graph first for who-calls/where-used/impact questions (or rebuild if stale, build if absent). Source G\u2019s strict block-first-read mode is deliberately un-ported."
|
|
15082
15081
|
)
|
|
15083
15082
|
}).default({})
|
|
15083
|
+
// `turn_end_gate` is deliberately ABSENT. The stop-slot turn-end gate is
|
|
15084
|
+
// always armed (2026-08-12) and has no settings surface: whether it
|
|
15085
|
+
// fires is decided by each detector's own trigger conditions, not by a
|
|
15086
|
+
// flag. A leftover `hooks.turn_end_gate.*` block from an older install
|
|
15087
|
+
// warns once on stderr and is ignored — see REMOVED_KEYS in
|
|
15088
|
+
// `src/scripts/_lib/agent_settings.ts`.
|
|
15084
15089
|
}),
|
|
15085
15090
|
decision_engine: external_exports.object({
|
|
15086
15091
|
surface_traces: external_exports.boolean().default(false).describe(
|
|
@@ -17245,12 +17250,17 @@ function main(argv = null, options = {}) {
|
|
|
17245
17250
|
}
|
|
17246
17251
|
return _apply(project, out, err);
|
|
17247
17252
|
}
|
|
17248
|
-
var
|
|
17253
|
+
var _inForeignBundle = !(typeof __AGENT_CONFIG_CLI_DELEGATE__ !== "undefined" && __AGENT_CONFIG_CLI_DELEGATE__);
|
|
17249
17254
|
var _HERE = fileURLToPath4(import.meta.url);
|
|
17250
17255
|
function _isCliEntry() {
|
|
17251
17256
|
if (process2.argv[1] === void 0) {
|
|
17252
17257
|
return false;
|
|
17253
17258
|
}
|
|
17259
|
+
if (typeof __AGENT_CONFIG_CLI_DELEGATE__ !== "undefined" && __AGENT_CONFIG_CLI_DELEGATE__) {
|
|
17260
|
+
if (path15.basename(process2.argv[1], ".js") === "cmd_migrate") {
|
|
17261
|
+
return true;
|
|
17262
|
+
}
|
|
17263
|
+
}
|
|
17254
17264
|
const argvUrl = pathToFileURL(path15.resolve(process2.argv[1])).href;
|
|
17255
17265
|
if (import.meta.url === argvUrl) {
|
|
17256
17266
|
return true;
|
|
@@ -17263,7 +17273,7 @@ function _isCliEntry() {
|
|
|
17263
17273
|
return false;
|
|
17264
17274
|
}
|
|
17265
17275
|
}
|
|
17266
|
-
if (!
|
|
17276
|
+
if (!_inForeignBundle && (_isCliEntry() || process2.argv[1] === _HERE)) {
|
|
17267
17277
|
try {
|
|
17268
17278
|
process2.exitCode = main(process2.argv.slice(2));
|
|
17269
17279
|
} catch (exc) {
|
package/dist/mcp/server.json
CHANGED
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
"transport": {
|
|
10
10
|
"type": "stdio"
|
|
11
11
|
},
|
|
12
|
-
"version": "
|
|
12
|
+
"version": "10.0.0"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"repository": {
|
|
16
16
|
"source": "github",
|
|
17
17
|
"url": "https://github.com/event4u-app/agent-config"
|
|
18
18
|
},
|
|
19
|
-
"version": "
|
|
19
|
+
"version": "10.0.0"
|
|
20
20
|
}
|