@mrciphersmith/keryx 0.3.1 → 0.3.3
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/dist/cli.js +7310 -2471
- package/dist/core.js +116 -10
- package/package.json +1 -1
- package/src/gdskills/bundled/install-manifest.json +349 -2
- package/src/gdskills/bundled/rules/core/model-selection.mdc +18 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/review/review-jev-comments/SKILL.md +184 -0
- package/src/gdskills/bundled/skills/review/review-jev-contract/SKILL.md +193 -0
- package/src/gdskills/bundled/skills/review/review-jev-docs/SKILL.md +189 -0
- package/src/gdskills/bundled/skills/review/review-jev-risk/SKILL.md +190 -0
- package/src/gdskills/bundled/skills/review/review-jev-scenarios/SKILL.md +187 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.detail.md +88 -15
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +4 -4
- package/src/gdskills/bundled/stacks/c-cpp/agent-refs.json +4 -0
- package/src/gdskills/bundled/stacks/c-cpp/governance/eval.json +1777 -0
- package/src/gdskills/bundled/stacks/c-cpp/governance/scout.json +31 -0
- package/src/gdskills/bundled/stacks/c-cpp/pack.json +42 -0
- package/src/gdskills/bundled/stacks/c-cpp/rules/coding-style.mdc +80 -0
- package/src/gdskills/bundled/stacks/c-cpp/rules/patterns.mdc +87 -0
- package/src/gdskills/bundled/stacks/c-cpp/rules/security.mdc +90 -0
- package/src/gdskills/bundled/stacks/c-cpp/rules/testing.mdc +83 -0
- package/src/gdskills/bundled/stacks/c-cpp/skills/c-cpp-build-fix/SKILL.md +153 -0
- package/src/gdskills/bundled/stacks/c-cpp/skills/c-cpp-build-fix/evals.json +74 -0
- package/src/gdskills/bundled/stacks/c-cpp/skills/c-cpp-code-review/SKILL.md +132 -0
- package/src/gdskills/bundled/stacks/c-cpp/skills/c-cpp-code-review/evals.json +73 -0
- package/src/gdskills/bundled/stacks/c-cpp/skills/c-cpp-implementation/SKILL.md +151 -0
- package/src/gdskills/bundled/stacks/c-cpp/skills/c-cpp-implementation/evals.json +74 -0
- package/src/gdskills/bundled/stacks/c-cpp/skills/c-cpp-testing/SKILL.md +152 -0
- package/src/gdskills/bundled/stacks/c-cpp/skills/c-cpp-testing/evals.json +74 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/agent-refs.json +4 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/governance/eval.json +1295 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/governance/scout.json +26 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/pack.json +41 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/rules/patterns.mdc +77 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/rules/security.mdc +144 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/skills/ci-pipeline-build-fix/SKILL.md +121 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/skills/ci-pipeline-build-fix/evals.json +73 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/skills/ci-pipeline-code-review/SKILL.md +139 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/skills/ci-pipeline-code-review/evals.json +73 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/skills/ci-pipeline-implementation/SKILL.md +147 -0
- package/src/gdskills/bundled/stacks/ci-github-gitlab/skills/ci-pipeline-implementation/evals.json +74 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/agent-refs.json +4 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/governance/eval.json +865 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/governance/scout.json +16 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/pack.json +46 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/rules/coding-style.mdc +74 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/rules/patterns.mdc +81 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/rules/security.mdc +146 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/rules/testing.mdc +61 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/skills/docker-k8s-terraform-build-fix/SKILL.md +151 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/skills/docker-k8s-terraform-build-fix/evals.json +74 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/skills/docker-k8s-terraform-review/SKILL.md +135 -0
- package/src/gdskills/bundled/stacks/docker-k8s-terraform/skills/docker-k8s-terraform-review/evals.json +76 -0
- package/src/gdskills/bundled/stacks/php-laravel/agent-refs.json +4 -0
- package/src/gdskills/bundled/stacks/php-laravel/governance/eval.json +1829 -0
- package/src/gdskills/bundled/stacks/php-laravel/governance/scout.json +33 -0
- package/src/gdskills/bundled/stacks/php-laravel/pack.json +41 -0
- package/src/gdskills/bundled/stacks/php-laravel/rules/coding-style.mdc +82 -0
- package/src/gdskills/bundled/stacks/php-laravel/rules/patterns.mdc +80 -0
- package/src/gdskills/bundled/stacks/php-laravel/rules/security.mdc +80 -0
- package/src/gdskills/bundled/stacks/php-laravel/rules/testing.mdc +82 -0
- package/src/gdskills/bundled/stacks/php-laravel/skills/php-laravel-build-fix/SKILL.md +143 -0
- package/src/gdskills/bundled/stacks/php-laravel/skills/php-laravel-build-fix/evals.json +74 -0
- package/src/gdskills/bundled/stacks/php-laravel/skills/php-laravel-code-review/SKILL.md +126 -0
- package/src/gdskills/bundled/stacks/php-laravel/skills/php-laravel-code-review/evals.json +76 -0
- package/src/gdskills/bundled/stacks/php-laravel/skills/php-laravel-implementation/SKILL.md +140 -0
- package/src/gdskills/bundled/stacks/php-laravel/skills/php-laravel-implementation/evals.json +75 -0
- package/src/gdskills/bundled/stacks/php-laravel/skills/php-laravel-testing/SKILL.md +124 -0
- package/src/gdskills/bundled/stacks/php-laravel/skills/php-laravel-testing/evals.json +74 -0
- package/src/gdskills/bundled/stacks/ruby-rails/agent-refs.json +4 -0
- package/src/gdskills/bundled/stacks/ruby-rails/governance/eval.json +1673 -0
- package/src/gdskills/bundled/stacks/ruby-rails/governance/scout.json +33 -0
- package/src/gdskills/bundled/stacks/ruby-rails/pack.json +42 -0
- package/src/gdskills/bundled/stacks/ruby-rails/rules/coding-style.mdc +69 -0
- package/src/gdskills/bundled/stacks/ruby-rails/rules/patterns.mdc +93 -0
- package/src/gdskills/bundled/stacks/ruby-rails/rules/security.mdc +90 -0
- package/src/gdskills/bundled/stacks/ruby-rails/rules/testing.mdc +89 -0
- package/src/gdskills/bundled/stacks/ruby-rails/skills/ruby-rails-build-fix/SKILL.md +143 -0
- package/src/gdskills/bundled/stacks/ruby-rails/skills/ruby-rails-build-fix/evals.json +73 -0
- package/src/gdskills/bundled/stacks/ruby-rails/skills/ruby-rails-code-review/SKILL.md +134 -0
- package/src/gdskills/bundled/stacks/ruby-rails/skills/ruby-rails-code-review/evals.json +71 -0
- package/src/gdskills/bundled/stacks/ruby-rails/skills/ruby-rails-implementation/SKILL.md +141 -0
- package/src/gdskills/bundled/stacks/ruby-rails/skills/ruby-rails-implementation/evals.json +72 -0
- package/src/gdskills/bundled/stacks/ruby-rails/skills/ruby-rails-testing/SKILL.md +125 -0
- package/src/gdskills/bundled/stacks/ruby-rails/skills/ruby-rails-testing/evals.json +72 -0
- package/src/gdskills/bundled/stacks/sql-db/agent-refs.json +4 -0
- package/src/gdskills/bundled/stacks/sql-db/governance/eval.json +1829 -0
- package/src/gdskills/bundled/stacks/sql-db/governance/scout.json +30 -0
- package/src/gdskills/bundled/stacks/sql-db/pack.json +40 -0
- package/src/gdskills/bundled/stacks/sql-db/rules/coding-style.mdc +69 -0
- package/src/gdskills/bundled/stacks/sql-db/rules/patterns.mdc +134 -0
- package/src/gdskills/bundled/stacks/sql-db/rules/security.mdc +74 -0
- package/src/gdskills/bundled/stacks/sql-db/rules/testing.mdc +83 -0
- package/src/gdskills/bundled/stacks/sql-db/skills/sql-db-build-fix/SKILL.md +147 -0
- package/src/gdskills/bundled/stacks/sql-db/skills/sql-db-build-fix/evals.json +72 -0
- package/src/gdskills/bundled/stacks/sql-db/skills/sql-db-code-review/SKILL.md +132 -0
- package/src/gdskills/bundled/stacks/sql-db/skills/sql-db-code-review/evals.json +73 -0
- package/src/gdskills/bundled/stacks/sql-db/skills/sql-db-implementation/SKILL.md +153 -0
- package/src/gdskills/bundled/stacks/sql-db/skills/sql-db-implementation/evals.json +77 -0
- package/src/gdskills/bundled/stacks/sql-db/skills/sql-db-testing/SKILL.md +129 -0
- package/src/gdskills/bundled/stacks/sql-db/skills/sql-db-testing/evals.json +73 -0
package/dist/core.js
CHANGED
|
@@ -8179,6 +8179,24 @@ var init_catalog = __esm(() => {
|
|
|
8179
8179
|
"Dispatch specialized review passes conceptually or as separate skill loads.",
|
|
8180
8180
|
"Report findings first, ordered by severity, with concrete file references."
|
|
8181
8181
|
]),
|
|
8182
|
+
skill("review-jev-docs", "review", ["recommended", "full"], "Find documentation sections that went stale because of a diff, scored by Jev.", [
|
|
8183
|
+
"Split every discovered documentation source into sections by heading, deterministically.",
|
|
8184
|
+
"Link a section to changed code by an explicit path/symbol/verb it mentions.",
|
|
8185
|
+
"Ask Jev one noul question per linked section; keryx writes every word of the finding.",
|
|
8186
|
+
"Flag a removed/renamed CLI flag still mentioned in docs with no Jev call at all."
|
|
8187
|
+
]),
|
|
8188
|
+
skill("review-jev-comments", "review", ["recommended", "full"], "Check whether open PR review comments were addressed, scored by Jev.", [
|
|
8189
|
+
"Read open comments from the existing ledger, never re-collect from GitHub.",
|
|
8190
|
+
"Compute commits-after-comment, thread-resolved, and reply facts deterministically.",
|
|
8191
|
+
"Ask Jev one choice question per open comment; keryx writes every word of the finding.",
|
|
8192
|
+
"Never post a reply or resolve a thread \u2014 the label is advisory only."
|
|
8193
|
+
]),
|
|
8194
|
+
skill("review-jev-contract", "review", ["recommended", "full"], "Check a PR description's own claims, and a linked flow's frozen acceptance criteria, against the diff, scored by Jev.", [
|
|
8195
|
+
"Split the PR description into claims deterministically \u2014 bullets, and sentences carrying a verb cue.",
|
|
8196
|
+
"Compute deterministic facts per claim first: named files/symbols/flags in the diff, tests touched, exported-symbol changes.",
|
|
8197
|
+
'Ask Jev one noul per claim; a claim the facts CONTRADICT (e.g. "no API change" with an exported symbol touched) is major regardless of the answer.',
|
|
8198
|
+
"Reuse flow 328's check-ac.ts (via runCheckAc) for the linked flow's frozen acceptance criteria \u2014 never reimplemented here."
|
|
8199
|
+
]),
|
|
8182
8200
|
skill("review-logic", "review", ["recommended", "full"], "Review logic correctness, contracts, edge cases, nullability, and async behavior.", [
|
|
8183
8201
|
"Trace behavior through call sites and affected context.",
|
|
8184
8202
|
"Look for incorrect assumptions, missing branches, race conditions, and error paths.",
|
|
@@ -8263,6 +8281,16 @@ var init_catalog = __esm(() => {
|
|
|
8263
8281
|
"Fall back to confirming the class_scope sites exist; reasoning alone is capped at unverifiable.",
|
|
8264
8282
|
"Emit one verdict per finding checked; never add a finding, raise a severity, or edit a finding's text."
|
|
8265
8283
|
]),
|
|
8284
|
+
skill("review-jev-risk", "review", ["recommended", "full"], "Risk map of a diff's hunks \u2014 deterministic facts plus one Jev noul per risk dimension, ranked, with a routing hint for security/concurrency.", [
|
|
8285
|
+
"Score every retained hunk on security, data/migration, public-API, concurrency, and error-handling.",
|
|
8286
|
+
"Emit a finding only above threshold and with no nearby test; severity capped at info/minor.",
|
|
8287
|
+
"Feed a routing hint for review-security-code/review-highload when a hunk crosses threshold on that dimension."
|
|
8288
|
+
]),
|
|
8289
|
+
skill("review-jev-scenarios", "review", ["recommended", "full"], "Functional review \u2014 which user scenarios a diff likely changes, from gdwiki/PRD/README sources plus one Jev noul per touched scenario.", [
|
|
8290
|
+
"Discover scenarios from gdwiki user-scenario pages, PRD requirement sections, and README/docs how-to sections.",
|
|
8291
|
+
"Ask only scenarios whose linked code this diff touches.",
|
|
8292
|
+
"Emit the ranked manual-check list, and a minor finding for a likely-affected scenario with no covering test."
|
|
8293
|
+
]),
|
|
8266
8294
|
skill("review-frontend-conventions", "review", ["recommended", "full"], "Review frontend code against repository-local frontend conventions and agent entrypoints.", [
|
|
8267
8295
|
"Load local AGENTS.md/CLAUDE.md and matched frontend rules.",
|
|
8268
8296
|
"Check component, state, styling, i18n, error, and Storybook conventions.",
|
|
@@ -8632,7 +8660,12 @@ var init_skill_length_ceilings = __esm(() => {
|
|
|
8632
8660
|
"review/review-frontend": 634,
|
|
8633
8661
|
"review/review-frontend-conventions": 213,
|
|
8634
8662
|
"review/review-highload": 550,
|
|
8663
|
+
"review/review-jev-comments": 184,
|
|
8664
|
+
"review/review-jev-contract": 193,
|
|
8665
|
+
"review/review-jev-docs": 189,
|
|
8666
|
+
"review/review-jev-risk": 190,
|
|
8635
8667
|
"review/review-jev-rules": 267,
|
|
8668
|
+
"review/review-jev-scenarios": 187,
|
|
8636
8669
|
"review/review-layout": 238,
|
|
8637
8670
|
"review/review-logic": 377,
|
|
8638
8671
|
"review/review-orchestrator": 1723,
|
|
@@ -9823,16 +9856,17 @@ function stripMutationToolsForPolicy(tools, policyProfile) {
|
|
|
9823
9856
|
function mdSentinelLine(definition) {
|
|
9824
9857
|
return `<!-- ${agentManagedSentinelText(definition)} -->`;
|
|
9825
9858
|
}
|
|
9826
|
-
function renderClaudeExport(definition, header) {
|
|
9859
|
+
function renderClaudeExport(definition, header, options = {}) {
|
|
9827
9860
|
const { allowed, strippedForPolicy } = stripMutationToolsForPolicy(definition.tools, definition.policy_profile);
|
|
9828
9861
|
const { mappedTools, droppedTools } = mapToolsForTarget(allowed, "claude");
|
|
9829
9862
|
const claudeTools = mappedTools.length > 0 ? mappedTools : CLAUDE_READ_BASELINE;
|
|
9863
|
+
const modelLine = options.claudeSubagentAliases === false ? "model: inherit" : `model: ${CLAUDE_MODEL_ALIAS[definition.model_tier]}`;
|
|
9830
9864
|
const frontmatter = [
|
|
9831
9865
|
"---",
|
|
9832
9866
|
`name: ${yamlDoubleQuoted(definition.name)}`,
|
|
9833
9867
|
`description: ${yamlDoubleQuoted(definition.description)}`,
|
|
9834
9868
|
`tools: ${yamlDoubleQuoted(claudeTools.join(", "))}`,
|
|
9835
|
-
|
|
9869
|
+
modelLine,
|
|
9836
9870
|
"---"
|
|
9837
9871
|
].join(`
|
|
9838
9872
|
`);
|
|
@@ -9953,9 +9987,9 @@ ${header}
|
|
|
9953
9987
|
}
|
|
9954
9988
|
};
|
|
9955
9989
|
}
|
|
9956
|
-
function renderHostExport(definition, target, header) {
|
|
9990
|
+
function renderHostExport(definition, target, header, options = {}) {
|
|
9957
9991
|
if (target === "claude") {
|
|
9958
|
-
return { ok: true, result: renderClaudeExport(definition, header) };
|
|
9992
|
+
return { ok: true, result: renderClaudeExport(definition, header, options) };
|
|
9959
9993
|
}
|
|
9960
9994
|
if (target === "codex") {
|
|
9961
9995
|
return renderCodexExport(definition, header);
|
|
@@ -9997,7 +10031,7 @@ function compileAgentHeader(definition) {
|
|
|
9997
10031
|
}
|
|
9998
10032
|
return { ok: true, header: renderHeader(definition) };
|
|
9999
10033
|
}
|
|
10000
|
-
function compileAgentDefinition(definition, target) {
|
|
10034
|
+
function compileAgentDefinition(definition, target, options = {}) {
|
|
10001
10035
|
const headerResult = compileAgentHeader(definition);
|
|
10002
10036
|
if (!headerResult.ok) {
|
|
10003
10037
|
return { ok: false, error: headerResult.error };
|
|
@@ -10006,9 +10040,9 @@ function compileAgentDefinition(definition, target) {
|
|
|
10006
10040
|
if (target === "keryx-shell") {
|
|
10007
10041
|
return compileKeryxShell(definition, header);
|
|
10008
10042
|
}
|
|
10009
|
-
return renderHostExport(definition, target, header);
|
|
10043
|
+
return renderHostExport(definition, target, header, options);
|
|
10010
10044
|
}
|
|
10011
|
-
var KERYX_SHELL_ENFORCEMENT, BASELINE_NGRAM_WORDS = 10, BASELINE_WORDS, BASELINE_NGRAMS, AGENT_CONTENT_HASH_PLACEHOLDER, CONTENT_HASH_MARKER = "content-sha256:", MUTATION_TOOL_NAMES, CLAUDE_READ_BASELINE, KIRO_READ_BASELINE;
|
|
10045
|
+
var KERYX_SHELL_ENFORCEMENT, BASELINE_NGRAM_WORDS = 10, BASELINE_WORDS, BASELINE_NGRAMS, AGENT_CONTENT_HASH_PLACEHOLDER, CONTENT_HASH_MARKER = "content-sha256:", MUTATION_TOOL_NAMES, CLAUDE_READ_BASELINE, KIRO_READ_BASELINE, CLAUDE_MODEL_ALIAS;
|
|
10012
10046
|
var init_compile = __esm(() => {
|
|
10013
10047
|
init_baseline();
|
|
10014
10048
|
init_schema();
|
|
@@ -10026,6 +10060,11 @@ var init_compile = __esm(() => {
|
|
|
10026
10060
|
MUTATION_TOOL_NAMES = new Set(["apply_patch", "shell_exec"]);
|
|
10027
10061
|
CLAUDE_READ_BASELINE = ["Read", "Grep", "Glob"];
|
|
10028
10062
|
KIRO_READ_BASELINE = ["read"];
|
|
10063
|
+
CLAUDE_MODEL_ALIAS = {
|
|
10064
|
+
deep: "opus",
|
|
10065
|
+
standard: "sonnet",
|
|
10066
|
+
light: "haiku"
|
|
10067
|
+
};
|
|
10029
10068
|
});
|
|
10030
10069
|
|
|
10031
10070
|
// src/agents/export.ts
|
|
@@ -10102,6 +10141,28 @@ function decideAction(existing, generated, format, expectedName) {
|
|
|
10102
10141
|
}
|
|
10103
10142
|
return { action: "update" };
|
|
10104
10143
|
}
|
|
10144
|
+
async function readClaudeSubagentAliasesConfig(projectRoot) {
|
|
10145
|
+
const file = path36.join(projectRoot, CLAUDE_SUBAGENT_ALIASES_CONFIG_PATH);
|
|
10146
|
+
if (!await pathExists(file)) {
|
|
10147
|
+
return { enabled: true };
|
|
10148
|
+
}
|
|
10149
|
+
const read = await readJsonObjectFile(file);
|
|
10150
|
+
if (read.state !== "object") {
|
|
10151
|
+
return { enabled: true, note: `${CLAUDE_SUBAGENT_ALIASES_CONFIG_PATH} could not be read as a JSON object; claude subagent aliases stayed enabled` };
|
|
10152
|
+
}
|
|
10153
|
+
const modelGuidance = read.value["modelGuidance"];
|
|
10154
|
+
if (typeof modelGuidance !== "object" || modelGuidance === null || Array.isArray(modelGuidance)) {
|
|
10155
|
+
return { enabled: true };
|
|
10156
|
+
}
|
|
10157
|
+
const value = modelGuidance["claudeSubagentAliases"];
|
|
10158
|
+
if (value === false) {
|
|
10159
|
+
return { enabled: false };
|
|
10160
|
+
}
|
|
10161
|
+
if (value !== undefined && value !== true) {
|
|
10162
|
+
return { enabled: true, note: `${CLAUDE_SUBAGENT_ALIASES_CONFIG_PATH}: modelGuidance.claudeSubagentAliases is not a boolean; aliases stayed enabled` };
|
|
10163
|
+
}
|
|
10164
|
+
return { enabled: true };
|
|
10165
|
+
}
|
|
10105
10166
|
async function planAgentExport(projectRoot, definition, runtime, opts = {}) {
|
|
10106
10167
|
const supportLevel = agentExportSupport(runtime, opts.lookup);
|
|
10107
10168
|
if (runtime === "keryx-shell") {
|
|
@@ -10168,7 +10229,8 @@ ${headerResult.header}
|
|
|
10168
10229
|
...decided.reason !== undefined ? { reason: decided.reason } : {}
|
|
10169
10230
|
};
|
|
10170
10231
|
}
|
|
10171
|
-
const
|
|
10232
|
+
const compileOptions = runtime === "claude" ? { claudeSubagentAliases: (await readClaudeSubagentAliasesConfig(projectRoot)).enabled } : {};
|
|
10233
|
+
const compiled = compileAgentDefinition(definition, runtime, compileOptions);
|
|
10172
10234
|
if (!compiled.ok) {
|
|
10173
10235
|
return {
|
|
10174
10236
|
runtime,
|
|
@@ -10297,9 +10359,10 @@ var defaultAgentSupportLookup = (runtime) => {
|
|
|
10297
10359
|
if (!surface)
|
|
10298
10360
|
return;
|
|
10299
10361
|
return matrixStateToExportLevel(classifySurfaceState(adapter, surface));
|
|
10300
|
-
}, PROSE_EXPORT_ROOT = ".metaproject/agents-export", HOST_AGENTS_DIR;
|
|
10362
|
+
}, PROSE_EXPORT_ROOT = ".metaproject/agents-export", CLAUDE_SUBAGENT_ALIASES_CONFIG_PATH = ".metaproject/tasks.config.json", HOST_AGENTS_DIR;
|
|
10301
10363
|
var init_export2 = __esm(() => {
|
|
10302
10364
|
init_fs();
|
|
10365
|
+
init_json();
|
|
10303
10366
|
init_contained_write();
|
|
10304
10367
|
init_registry();
|
|
10305
10368
|
init_matrix();
|
|
@@ -23320,6 +23383,7 @@ __export(exports_service3, {
|
|
|
23320
23383
|
confirmPreconditionError: () => confirmPreconditionError,
|
|
23321
23384
|
createFlowService: () => createFlowService,
|
|
23322
23385
|
evaluatedVerdict: () => evaluatedVerdict,
|
|
23386
|
+
extractCriterionTokens: () => extractCriterionTokens,
|
|
23323
23387
|
factsOnlyVerdict: () => factsOnlyVerdict,
|
|
23324
23388
|
hashDiff: () => hashDiff,
|
|
23325
23389
|
isFrozen: () => isFrozen,
|
|
@@ -36960,7 +37024,7 @@ var HELP_GROUPS = [
|
|
|
36960
37024
|
kind: "cli",
|
|
36961
37025
|
name: "routing",
|
|
36962
37026
|
group: "Connect a model provider",
|
|
36963
|
-
summary: "Category -> model routing table (list, set, unset, trust)
|
|
37027
|
+
summary: "Category -> model routing table (list, set, unset, trust), the model-profile catalogue (profile list, profile set), and real measured task cost (stats)."
|
|
36964
37028
|
},
|
|
36965
37029
|
{ kind: "slash", name: "/connect", group: "Connect a model provider", summary: "Switch provider; row buttons test/disconnect it." },
|
|
36966
37030
|
{
|
|
@@ -37127,18 +37191,60 @@ var HELP_GROUPS = [
|
|
|
37127
37191
|
group: "Managed work",
|
|
37128
37192
|
summary: "Check a PR, a review report, or a diff against a reference document's clauses, with Jev."
|
|
37129
37193
|
},
|
|
37194
|
+
{
|
|
37195
|
+
kind: "slash",
|
|
37196
|
+
name: "/risk",
|
|
37197
|
+
group: "Managed work",
|
|
37198
|
+
summary: "Risk map of the working diff's hunks \u2014 deterministic facts plus Jev per risk dimension, ranked, highest risk first."
|
|
37199
|
+
},
|
|
37200
|
+
{
|
|
37201
|
+
kind: "slash",
|
|
37202
|
+
name: "/scenarios",
|
|
37203
|
+
group: "Managed work",
|
|
37204
|
+
summary: "Which user scenarios the working diff likely changes \u2014 deterministic scenario/code links plus Jev, ranked."
|
|
37205
|
+
},
|
|
37130
37206
|
{
|
|
37131
37207
|
kind: "slash",
|
|
37132
37208
|
name: "/jevrules",
|
|
37133
37209
|
group: "Managed work",
|
|
37134
37210
|
summary: "Check the working diff's hunks against every applicable project rule clause, with Jev, grouped by rule."
|
|
37135
37211
|
},
|
|
37212
|
+
{
|
|
37213
|
+
kind: "slash",
|
|
37214
|
+
name: "/staledocs",
|
|
37215
|
+
group: "Managed work",
|
|
37216
|
+
summary: "List doc sections that likely went stale because of the working diff, with Jev."
|
|
37217
|
+
},
|
|
37218
|
+
{
|
|
37219
|
+
kind: "slash",
|
|
37220
|
+
name: "/opencomments",
|
|
37221
|
+
group: "Managed work",
|
|
37222
|
+
summary: "List open PR review comments with a Jev resolved/still-open/escalation label \u2014 /opencomments <owner/repo> <pr>."
|
|
37223
|
+
},
|
|
37224
|
+
{
|
|
37225
|
+
kind: "slash",
|
|
37226
|
+
name: "/contract",
|
|
37227
|
+
group: "Managed work",
|
|
37228
|
+
summary: "Check PR-description claims and a linked flow's frozen acceptance criteria against the working diff, with Jev."
|
|
37229
|
+
},
|
|
37230
|
+
{
|
|
37231
|
+
kind: "slash",
|
|
37232
|
+
name: "/triage",
|
|
37233
|
+
group: "Managed work",
|
|
37234
|
+
summary: "Advisory annotations \u2014 severity calibration, duplicate-merge candidates, verifier queue order \u2014 over the latest review package, with Jev."
|
|
37235
|
+
},
|
|
37136
37236
|
{
|
|
37137
37237
|
kind: "slash",
|
|
37138
37238
|
name: "/guard",
|
|
37139
37239
|
group: "Managed work",
|
|
37140
37240
|
summary: "Opt-in turn guard: after a turn, checks whether the request was done and catches a reply that contradicts the tools \u2014 /guard [on|off]."
|
|
37141
37241
|
},
|
|
37242
|
+
{
|
|
37243
|
+
kind: "slash",
|
|
37244
|
+
name: "/route",
|
|
37245
|
+
group: "Managed work",
|
|
37246
|
+
summary: "Opt-in routing classifier: each request runs on its routing category's model \u2014 /route [on|off]."
|
|
37247
|
+
},
|
|
37142
37248
|
{ kind: "slash", name: "/plan", group: "Managed work", summary: "Toggle read-only mode \u2014 /plan [on|off]." },
|
|
37143
37249
|
{
|
|
37144
37250
|
kind: "slash",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrciphersmith/keryx",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "Version-controlled project context for AI coding agents: code graph, architecture wiki, project memory, relevant tests, quality signals, and task flows.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"publishConfig": {
|
|
@@ -116,6 +116,28 @@
|
|
|
116
116
|
],
|
|
117
117
|
"stackDetectionAware": true
|
|
118
118
|
},
|
|
119
|
+
"docker-k8s-terraform": {
|
|
120
|
+
"description": "Common rules plus the Docker/Kubernetes/Terraform tool pack component, installed when `keryx stack detect` finds a matching tag (docker, docker-compose, or terraform). Experimental: has not cleared the honest behavioral eval gate yet.",
|
|
121
|
+
"modules": [
|
|
122
|
+
"core-common-rules",
|
|
123
|
+
"skill-lifecycle"
|
|
124
|
+
],
|
|
125
|
+
"components": [
|
|
126
|
+
"tool:docker-k8s-terraform"
|
|
127
|
+
],
|
|
128
|
+
"stackDetectionAware": true
|
|
129
|
+
},
|
|
130
|
+
"ci-github-gitlab": {
|
|
131
|
+
"description": "Common rules plus the CI (GitHub Actions & GitLab CI) tool pack component, installed when `keryx stack detect` finds a matching tag (github-actions or gitlab-ci). Experimental: has not cleared the honest behavioral eval gate yet.",
|
|
132
|
+
"modules": [
|
|
133
|
+
"core-common-rules",
|
|
134
|
+
"skill-lifecycle"
|
|
135
|
+
],
|
|
136
|
+
"components": [
|
|
137
|
+
"tool:ci-github-gitlab"
|
|
138
|
+
],
|
|
139
|
+
"stackDetectionAware": true
|
|
140
|
+
},
|
|
119
141
|
"full": {
|
|
120
142
|
"description": "Every registered module and component, unconditionally.",
|
|
121
143
|
"modules": [
|
|
@@ -146,7 +168,19 @@
|
|
|
146
168
|
"angular-rules",
|
|
147
169
|
"angular-skills",
|
|
148
170
|
"nextjs-nuxt-rules",
|
|
149
|
-
"nextjs-nuxt-skills"
|
|
171
|
+
"nextjs-nuxt-skills",
|
|
172
|
+
"docker-k8s-terraform-rules",
|
|
173
|
+
"docker-k8s-terraform-skills",
|
|
174
|
+
"ci-github-gitlab-rules",
|
|
175
|
+
"ci-github-gitlab-skills",
|
|
176
|
+
"php-laravel-rules",
|
|
177
|
+
"php-laravel-skills",
|
|
178
|
+
"ruby-rails-rules",
|
|
179
|
+
"ruby-rails-skills",
|
|
180
|
+
"c-cpp-rules",
|
|
181
|
+
"c-cpp-skills",
|
|
182
|
+
"sql-db-rules",
|
|
183
|
+
"sql-db-skills"
|
|
150
184
|
],
|
|
151
185
|
"components": [
|
|
152
186
|
"lang:ts-js-node",
|
|
@@ -157,8 +191,58 @@
|
|
|
157
191
|
"lang:go",
|
|
158
192
|
"framework:vue",
|
|
159
193
|
"framework:angular",
|
|
160
|
-
"framework:nextjs-nuxt"
|
|
194
|
+
"framework:nextjs-nuxt",
|
|
195
|
+
"tool:docker-k8s-terraform",
|
|
196
|
+
"tool:ci-github-gitlab",
|
|
197
|
+
"framework:php-laravel",
|
|
198
|
+
"framework:ruby-rails",
|
|
199
|
+
"lang:c-cpp",
|
|
200
|
+
"capability:sql-db"
|
|
161
201
|
]
|
|
202
|
+
},
|
|
203
|
+
"php-laravel": {
|
|
204
|
+
"description": "Common rules plus the PHP/Laravel stack pack component (`php-laravel-rules` + `php-laravel-skills`, from src/gdskills/bundled/stacks/php-laravel/), installed when `keryx stack detect` finds a matching tag.",
|
|
205
|
+
"modules": [
|
|
206
|
+
"core-common-rules",
|
|
207
|
+
"skill-lifecycle"
|
|
208
|
+
],
|
|
209
|
+
"components": [
|
|
210
|
+
"framework:php-laravel"
|
|
211
|
+
],
|
|
212
|
+
"stackDetectionAware": true
|
|
213
|
+
},
|
|
214
|
+
"ruby-rails": {
|
|
215
|
+
"description": "Common rules plus the Ruby on Rails stack pack component (`ruby-rails-rules` + `ruby-rails-skills`, from src/gdskills/bundled/stacks/ruby-rails/), installed when `keryx stack detect` finds a matching tag.",
|
|
216
|
+
"modules": [
|
|
217
|
+
"core-common-rules",
|
|
218
|
+
"skill-lifecycle"
|
|
219
|
+
],
|
|
220
|
+
"components": [
|
|
221
|
+
"framework:ruby-rails"
|
|
222
|
+
],
|
|
223
|
+
"stackDetectionAware": true
|
|
224
|
+
},
|
|
225
|
+
"c-cpp": {
|
|
226
|
+
"description": "Common rules plus the C/C++ stack pack component (`c-cpp-rules` + `c-cpp-skills`, from src/gdskills/bundled/stacks/c-cpp/), installed when `keryx stack detect` finds a matching tag.",
|
|
227
|
+
"modules": [
|
|
228
|
+
"core-common-rules",
|
|
229
|
+
"skill-lifecycle"
|
|
230
|
+
],
|
|
231
|
+
"components": [
|
|
232
|
+
"lang:c-cpp"
|
|
233
|
+
],
|
|
234
|
+
"stackDetectionAware": true
|
|
235
|
+
},
|
|
236
|
+
"sql-db": {
|
|
237
|
+
"description": "Common rules plus the SQL/database stack pack component (`sql-db-rules` + `sql-db-skills`, from src/gdskills/bundled/stacks/sql-db/), installed when `keryx stack detect` finds a matching tag.",
|
|
238
|
+
"modules": [
|
|
239
|
+
"core-common-rules",
|
|
240
|
+
"skill-lifecycle"
|
|
241
|
+
],
|
|
242
|
+
"components": [
|
|
243
|
+
"capability:sql-db"
|
|
244
|
+
],
|
|
245
|
+
"stackDetectionAware": true
|
|
162
246
|
}
|
|
163
247
|
},
|
|
164
248
|
"modules": {
|
|
@@ -664,6 +748,186 @@
|
|
|
664
748
|
"defaultInstall": true,
|
|
665
749
|
"cost": "medium",
|
|
666
750
|
"stability": "experimental"
|
|
751
|
+
},
|
|
752
|
+
"docker-k8s-terraform-rules": {
|
|
753
|
+
"kind": "rule",
|
|
754
|
+
"description": "Docker/Kubernetes/Terraform stack pack rules (coding-style, patterns, security, testing; scoped to Dockerfiles, compose YAML, k8s/Helm YAML, *.tf/*.tfvars) from src/gdskills/bundled/stacks/docker-k8s-terraform/rules/.",
|
|
755
|
+
"paths": [
|
|
756
|
+
"src/gdskills/bundled/stacks/docker-k8s-terraform/rules/*.mdc"
|
|
757
|
+
],
|
|
758
|
+
"targets": [
|
|
759
|
+
"claude",
|
|
760
|
+
"keryx-shell"
|
|
761
|
+
],
|
|
762
|
+
"dependencies": [],
|
|
763
|
+
"defaultInstall": true,
|
|
764
|
+
"cost": "light",
|
|
765
|
+
"stability": "experimental"
|
|
766
|
+
},
|
|
767
|
+
"docker-k8s-terraform-skills": {
|
|
768
|
+
"kind": "skill",
|
|
769
|
+
"description": "Docker/Kubernetes/Terraform stack pack skills (no implement skill per W1-stack-catalog.md -- config authoring lives in the deploy quality skill; review, build-fix) from src/gdskills/bundled/stacks/docker-k8s-terraform/skills/.",
|
|
770
|
+
"paths": [
|
|
771
|
+
"src/gdskills/bundled/stacks/docker-k8s-terraform/skills/**"
|
|
772
|
+
],
|
|
773
|
+
"targets": [
|
|
774
|
+
"claude",
|
|
775
|
+
"keryx-shell"
|
|
776
|
+
],
|
|
777
|
+
"dependencies": [],
|
|
778
|
+
"defaultInstall": true,
|
|
779
|
+
"cost": "medium",
|
|
780
|
+
"stability": "experimental"
|
|
781
|
+
},
|
|
782
|
+
"ci-github-gitlab-rules": {
|
|
783
|
+
"kind": "rule",
|
|
784
|
+
"description": "CI (GitHub Actions & GitLab CI) stack pack rules (patterns, security; scoped to .github/workflows/*.yml and .gitlab-ci.yml only) from src/gdskills/bundled/stacks/ci-github-gitlab/rules/.",
|
|
785
|
+
"paths": [
|
|
786
|
+
"src/gdskills/bundled/stacks/ci-github-gitlab/rules/*.mdc"
|
|
787
|
+
],
|
|
788
|
+
"targets": [
|
|
789
|
+
"claude",
|
|
790
|
+
"keryx-shell"
|
|
791
|
+
],
|
|
792
|
+
"dependencies": [],
|
|
793
|
+
"defaultInstall": true,
|
|
794
|
+
"cost": "light",
|
|
795
|
+
"stability": "experimental"
|
|
796
|
+
},
|
|
797
|
+
"ci-github-gitlab-skills": {
|
|
798
|
+
"kind": "skill",
|
|
799
|
+
"description": "CI (GitHub Actions & GitLab CI) stack pack skills (implementation, code review, build-fix) from src/gdskills/bundled/stacks/ci-github-gitlab/skills/.",
|
|
800
|
+
"paths": [
|
|
801
|
+
"src/gdskills/bundled/stacks/ci-github-gitlab/skills/**"
|
|
802
|
+
],
|
|
803
|
+
"targets": [
|
|
804
|
+
"claude",
|
|
805
|
+
"keryx-shell"
|
|
806
|
+
],
|
|
807
|
+
"dependencies": [],
|
|
808
|
+
"defaultInstall": true,
|
|
809
|
+
"cost": "medium",
|
|
810
|
+
"stability": "experimental"
|
|
811
|
+
},
|
|
812
|
+
"php-laravel-rules": {
|
|
813
|
+
"kind": "rule",
|
|
814
|
+
"description": "PHP/Laravel stack pack rules (coding-style, patterns, security, testing) from src/gdskills/bundled/stacks/php-laravel/rules/.",
|
|
815
|
+
"paths": [
|
|
816
|
+
"src/gdskills/bundled/stacks/php-laravel/rules/*.mdc"
|
|
817
|
+
],
|
|
818
|
+
"targets": [
|
|
819
|
+
"claude",
|
|
820
|
+
"keryx-shell"
|
|
821
|
+
],
|
|
822
|
+
"dependencies": [],
|
|
823
|
+
"defaultInstall": true,
|
|
824
|
+
"cost": "light",
|
|
825
|
+
"stability": "experimental"
|
|
826
|
+
},
|
|
827
|
+
"php-laravel-skills": {
|
|
828
|
+
"kind": "skill",
|
|
829
|
+
"description": "PHP/Laravel stack pack skills (implementation, testing, code review, build-fix) from src/gdskills/bundled/stacks/php-laravel/skills/.",
|
|
830
|
+
"paths": [
|
|
831
|
+
"src/gdskills/bundled/stacks/php-laravel/skills/**"
|
|
832
|
+
],
|
|
833
|
+
"targets": [
|
|
834
|
+
"claude",
|
|
835
|
+
"keryx-shell"
|
|
836
|
+
],
|
|
837
|
+
"dependencies": [],
|
|
838
|
+
"defaultInstall": true,
|
|
839
|
+
"cost": "medium",
|
|
840
|
+
"stability": "experimental"
|
|
841
|
+
},
|
|
842
|
+
"ruby-rails-rules": {
|
|
843
|
+
"kind": "rule",
|
|
844
|
+
"description": "Ruby on Rails stack pack rules (coding-style, patterns, security, testing) from src/gdskills/bundled/stacks/ruby-rails/rules/.",
|
|
845
|
+
"paths": [
|
|
846
|
+
"src/gdskills/bundled/stacks/ruby-rails/rules/*.mdc"
|
|
847
|
+
],
|
|
848
|
+
"targets": [
|
|
849
|
+
"claude",
|
|
850
|
+
"keryx-shell"
|
|
851
|
+
],
|
|
852
|
+
"dependencies": [],
|
|
853
|
+
"defaultInstall": true,
|
|
854
|
+
"cost": "light",
|
|
855
|
+
"stability": "experimental"
|
|
856
|
+
},
|
|
857
|
+
"ruby-rails-skills": {
|
|
858
|
+
"kind": "skill",
|
|
859
|
+
"description": "Ruby on Rails stack pack skills (implementation, testing, code review, build-fix) from src/gdskills/bundled/stacks/ruby-rails/skills/.",
|
|
860
|
+
"paths": [
|
|
861
|
+
"src/gdskills/bundled/stacks/ruby-rails/skills/**"
|
|
862
|
+
],
|
|
863
|
+
"targets": [
|
|
864
|
+
"claude",
|
|
865
|
+
"keryx-shell"
|
|
866
|
+
],
|
|
867
|
+
"dependencies": [],
|
|
868
|
+
"defaultInstall": true,
|
|
869
|
+
"cost": "medium",
|
|
870
|
+
"stability": "experimental"
|
|
871
|
+
},
|
|
872
|
+
"c-cpp-rules": {
|
|
873
|
+
"kind": "rule",
|
|
874
|
+
"description": "C/C++ stack pack rules (coding-style, patterns, security, testing) from src/gdskills/bundled/stacks/c-cpp/rules/.",
|
|
875
|
+
"paths": [
|
|
876
|
+
"src/gdskills/bundled/stacks/c-cpp/rules/*.mdc"
|
|
877
|
+
],
|
|
878
|
+
"targets": [
|
|
879
|
+
"claude",
|
|
880
|
+
"keryx-shell"
|
|
881
|
+
],
|
|
882
|
+
"dependencies": [],
|
|
883
|
+
"defaultInstall": true,
|
|
884
|
+
"cost": "light",
|
|
885
|
+
"stability": "experimental"
|
|
886
|
+
},
|
|
887
|
+
"c-cpp-skills": {
|
|
888
|
+
"kind": "skill",
|
|
889
|
+
"description": "C/C++ stack pack skills (implementation, testing, code review, build-fix) from src/gdskills/bundled/stacks/c-cpp/skills/.",
|
|
890
|
+
"paths": [
|
|
891
|
+
"src/gdskills/bundled/stacks/c-cpp/skills/**"
|
|
892
|
+
],
|
|
893
|
+
"targets": [
|
|
894
|
+
"claude",
|
|
895
|
+
"keryx-shell"
|
|
896
|
+
],
|
|
897
|
+
"dependencies": [],
|
|
898
|
+
"defaultInstall": true,
|
|
899
|
+
"cost": "medium",
|
|
900
|
+
"stability": "experimental"
|
|
901
|
+
},
|
|
902
|
+
"sql-db-rules": {
|
|
903
|
+
"kind": "rule",
|
|
904
|
+
"description": "SQL/database stack pack rules (coding-style, patterns, security, testing) from src/gdskills/bundled/stacks/sql-db/rules/.",
|
|
905
|
+
"paths": [
|
|
906
|
+
"src/gdskills/bundled/stacks/sql-db/rules/*.mdc"
|
|
907
|
+
],
|
|
908
|
+
"targets": [
|
|
909
|
+
"claude",
|
|
910
|
+
"keryx-shell"
|
|
911
|
+
],
|
|
912
|
+
"dependencies": [],
|
|
913
|
+
"defaultInstall": true,
|
|
914
|
+
"cost": "light",
|
|
915
|
+
"stability": "experimental"
|
|
916
|
+
},
|
|
917
|
+
"sql-db-skills": {
|
|
918
|
+
"kind": "skill",
|
|
919
|
+
"description": "SQL/database stack pack skills (implementation, testing, code review, build-fix) from src/gdskills/bundled/stacks/sql-db/skills/.",
|
|
920
|
+
"paths": [
|
|
921
|
+
"src/gdskills/bundled/stacks/sql-db/skills/**"
|
|
922
|
+
],
|
|
923
|
+
"targets": [
|
|
924
|
+
"claude",
|
|
925
|
+
"keryx-shell"
|
|
926
|
+
],
|
|
927
|
+
"dependencies": [],
|
|
928
|
+
"defaultInstall": true,
|
|
929
|
+
"cost": "medium",
|
|
930
|
+
"stability": "experimental"
|
|
667
931
|
}
|
|
668
932
|
},
|
|
669
933
|
"components": {
|
|
@@ -792,6 +1056,89 @@
|
|
|
792
1056
|
"provenance": {
|
|
793
1057
|
"origin": "authored"
|
|
794
1058
|
}
|
|
1059
|
+
},
|
|
1060
|
+
"tool:docker-k8s-terraform": {
|
|
1061
|
+
"family": "tool",
|
|
1062
|
+
"modules": [
|
|
1063
|
+
"docker-k8s-terraform-rules",
|
|
1064
|
+
"docker-k8s-terraform-skills"
|
|
1065
|
+
],
|
|
1066
|
+
"detectionMarkers": [
|
|
1067
|
+
"docker",
|
|
1068
|
+
"docker-compose",
|
|
1069
|
+
"terraform"
|
|
1070
|
+
],
|
|
1071
|
+
"provenance": {
|
|
1072
|
+
"origin": "authored"
|
|
1073
|
+
}
|
|
1074
|
+
},
|
|
1075
|
+
"tool:ci-github-gitlab": {
|
|
1076
|
+
"family": "tool",
|
|
1077
|
+
"modules": [
|
|
1078
|
+
"ci-github-gitlab-rules",
|
|
1079
|
+
"ci-github-gitlab-skills"
|
|
1080
|
+
],
|
|
1081
|
+
"detectionMarkers": [
|
|
1082
|
+
"github-actions",
|
|
1083
|
+
"gitlab-ci"
|
|
1084
|
+
],
|
|
1085
|
+
"provenance": {
|
|
1086
|
+
"origin": "authored"
|
|
1087
|
+
}
|
|
1088
|
+
},
|
|
1089
|
+
"framework:php-laravel": {
|
|
1090
|
+
"family": "framework",
|
|
1091
|
+
"modules": [
|
|
1092
|
+
"php-laravel-rules",
|
|
1093
|
+
"php-laravel-skills"
|
|
1094
|
+
],
|
|
1095
|
+
"detectionMarkers": [
|
|
1096
|
+
"php",
|
|
1097
|
+
"laravel"
|
|
1098
|
+
],
|
|
1099
|
+
"provenance": {
|
|
1100
|
+
"origin": "authored"
|
|
1101
|
+
}
|
|
1102
|
+
},
|
|
1103
|
+
"framework:ruby-rails": {
|
|
1104
|
+
"family": "framework",
|
|
1105
|
+
"modules": [
|
|
1106
|
+
"ruby-rails-rules",
|
|
1107
|
+
"ruby-rails-skills"
|
|
1108
|
+
],
|
|
1109
|
+
"detectionMarkers": [
|
|
1110
|
+
"ruby",
|
|
1111
|
+
"rails"
|
|
1112
|
+
],
|
|
1113
|
+
"provenance": {
|
|
1114
|
+
"origin": "authored"
|
|
1115
|
+
}
|
|
1116
|
+
},
|
|
1117
|
+
"lang:c-cpp": {
|
|
1118
|
+
"family": "language",
|
|
1119
|
+
"modules": [
|
|
1120
|
+
"c-cpp-rules",
|
|
1121
|
+
"c-cpp-skills"
|
|
1122
|
+
],
|
|
1123
|
+
"detectionMarkers": [
|
|
1124
|
+
"c-cpp"
|
|
1125
|
+
],
|
|
1126
|
+
"provenance": {
|
|
1127
|
+
"origin": "authored"
|
|
1128
|
+
}
|
|
1129
|
+
},
|
|
1130
|
+
"capability:sql-db": {
|
|
1131
|
+
"family": "capability",
|
|
1132
|
+
"modules": [
|
|
1133
|
+
"sql-db-rules",
|
|
1134
|
+
"sql-db-skills"
|
|
1135
|
+
],
|
|
1136
|
+
"detectionMarkers": [
|
|
1137
|
+
"sql"
|
|
1138
|
+
],
|
|
1139
|
+
"provenance": {
|
|
1140
|
+
"origin": "authored"
|
|
1141
|
+
}
|
|
795
1142
|
}
|
|
796
1143
|
}
|
|
797
1144
|
}
|
|
@@ -177,6 +177,24 @@ entry point; `decideDispatchModel` is what it calls.
|
|
|
177
177
|
Nothing reads a recorded resolution back and checks it. These fields explain a
|
|
178
178
|
finished run; they do not gate one.
|
|
179
179
|
|
|
180
|
+
## A third place: compiling a Claude Code subagent file
|
|
181
|
+
|
|
182
|
+
`keryx agents export --runtime claude` (`src/agents/compile.ts`'s
|
|
183
|
+
`renderClaudeExport`) is neither of the two shapes above — it never asks
|
|
184
|
+
`spawn_subagent` or `keryx review tier` anything, and it runs at EXPORT time,
|
|
185
|
+
once, against a file written to disk, not at dispatch time. Claude Code's own
|
|
186
|
+
subagent frontmatter has no tier concept and no candidate discovery at all; it
|
|
187
|
+
accepts exactly four fixed, version-free words for `model` — `opus`, `sonnet`,
|
|
188
|
+
`haiku`, `inherit` — and nothing else. The compiler maps a definition's
|
|
189
|
+
declared `model_tier` onto that fixed vocabulary directly: `deep` to `opus`,
|
|
190
|
+
`standard` to `sonnet`, `light` to `haiku` (an undeclared tier defaults to
|
|
191
|
+
`standard`, so it lands on `sonnet`). This is not the discover/rank/fall-back
|
|
192
|
+
resolution described above, and it is not a model id — it is a static lookup
|
|
193
|
+
into the one enum a host's own docs define, so it can never go stale the way a
|
|
194
|
+
literal id would. A project that wants the pre-existing behavior sets
|
|
195
|
+
`.metaproject/tasks.config.json`'s `modelGuidance.claudeSubagentAliases:
|
|
196
|
+
false`, which restores `model: inherit` for every tier.
|
|
197
|
+
|
|
180
198
|
## Choosing the tier
|
|
181
199
|
|
|
182
200
|
The tier is **computed, not judged**. Run:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: job-orchestrator
|
|
3
|
-
description: "Use when a GitHub issue or complex intent needs to be analyzed, planned, and implemented end-to-end with sub-agents. NOT for: the same pipeline under Task Manager flow state (use flow-orchestrator)."
|
|
3
|
+
description: "Use when a GitHub issue or complex intent needs to be analyzed, planned, and implemented end-to-end with sub-agents — this skill orchestrates the whole task from issue to PR. NOT for: the same pipeline under Task Manager flow state (use flow-orchestrator)."
|
|
4
4
|
triggers:
|
|
5
5
|
- "implement issue"
|
|
6
6
|
- "full workflow"
|